Hi!

There is my repaired patch. All of yours comments were helpful.

I renamed the function to sss_cmd2str(), but maybe it could be sss_cli_cmd2str(). I am not sure with it, but if it is better, I will rename it again.

Petr

On 07/08/2015 03:26 PM, Sumit Bose wrote:
On Wed, Jul 08, 2015 at 02:13:42PM +0200, Petr Cech wrote:
Hi!

https://fedorahosted.org/sssd/ticket/2703

It's my first patch to this ticket. It is simple transforming of number of
command to the string.
Hi Petr,

welcome and thank you for your first patch. Besides Pavel's suggestions
I have some general comments as well.

- There is pamcmd2str() which does a similar job for the backend code
   but I think it is becoming redundant with your patch. Can you remove
   this call and use your's where appropriate?

- I haven't tested it, but I'm pretty sure that the PAM module pam_sss
   which is build from pam_sss.c and some other files is broken in debug
   mode with your patch because sss_log.c is not used when building it and
   hence sss_cli_command_2string() will be undefined. You do not see this
   during compilation or even during 'make check' because the 'D' macro
   is only evaluate if PAM_DEBUG is defined during compilation. If you
   run something like 'make CFLAGS+="-DPAM_DEBUG" check' the dlopen test
   should fail with your patch.

   Since the PAM module pam_sss.so might be loaded by any kind of
   processes at runtime we try to keep it as simple as possible and try
   to add as few dependencies as possible. If you search the Makefile.am
   for pam_sss_la_SOURCES you will see that besides source files from the
   sss_client directory we only add atomic_io.c and authtok-utils.c which
   both contain only a single function with no special dependencies.

   I would suggest that you put sss_cli_command_2string() in a file on
   its own similar like atomic_io.c or authtok-utils.c. And add this file
   to pam_sss_la_SOURCES and libsss_debug_la_SOURCES in Makefile.am. I
   leave it up to you to decide what would be a good place for this file.
   The sss_client directory because the enum sss_cli_command is defined
   here as well or the util directory because the main usage for it is in
   the SSSD code and not in the pam_sss module.

bye,
Sumit
_______________________________________________
sssd-devel mailing list
sssd-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/sssd-devel

>From 8b3ae05fc97f548256dc8b72863183b9dc9a539a Mon Sep 17 00:00:00 2001
From: Petr Cech <pc...@redhat.com>
Date: Wed, 8 Jul 2015 07:17:28 -0400
Subject: [PATCH] UTIL: Function 2string for enum sss_cli_command

Improvement of debug messages.
Instead of:"(0x0400): Running command [17]..."
We could see:"(0x0400): Running command [17][SSS_NSS_GETPWNAM]..."

Resolves:
https://fedorahosted.org/sssd/ticket/2703
---
 Makefile.am                      |   4 +-
 src/providers/dp_pam_data_util.c |  27 +----
 src/responder/nss/nsssrv_cmd.c   |  30 +++---
 src/sss_client/pam_sss.c         |   6 +-
 src/tools/tools_mc_util.c        |   4 +-
 src/util/sss_cli_cmd.c           | 219 +++++++++++++++++++++++++++++++++++++++
 src/util/sss_cli_cmd.h           |   9 ++
 src/util/sss_log.c               |   2 -
 8 files changed, 256 insertions(+), 45 deletions(-)
 create mode 100644 src/util/sss_cli_cmd.c
 create mode 100644 src/util/sss_cli_cmd.h

diff --git a/Makefile.am b/Makefile.am
index b8cbc6df23ded1edb945a709b6dbe1c44eb54017..f16b8ebdb4dd66c2d193c19bd8355782f4de4c9a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -678,7 +678,8 @@ endif
 pkglib_LTLIBRARIES += libsss_debug.la
 libsss_debug_la_SOURCES = \
     src/util/debug.c \
-    src/util/sss_log.c
+    src/util/sss_log.c \
+    src/util/sss_cli_cmd.c
 libsss_debug_la_LIBADD = \
     $(SYSLOG_LIBS)
 libsss_debug_la_LDFLAGS = \
@@ -2654,6 +2655,7 @@ pam_sss_la_SOURCES = \
     src/sss_client/sss_cli.h \
     src/util/atomic_io.c \
     src/util/authtok-utils.c \
+    src/util/sss_cli_cmd.c \
     src/sss_client/sss_pam_macros.h \
     src/sss_client/sss_pam_compat.h
 
diff --git a/src/providers/dp_pam_data_util.c b/src/providers/dp_pam_data_util.c
index 8724bf936f3f46fb8393c8a3da57215a73b4191a..10e91f5f7286db5e76ad98b6c7519f2482d006db 100644
--- a/src/providers/dp_pam_data_util.c
+++ b/src/providers/dp_pam_data_util.c
@@ -23,33 +23,10 @@
 */
 
 #include "providers/data_provider.h"
-
+#include "util/sss_cli_cmd.h"
 
 #define PAM_SAFE_ITEM(item) item ? item : "not set"
 
-static const char *pamcmd2str(int cmd) {
-    switch (cmd) {
-    case SSS_PAM_AUTHENTICATE:
-        return "PAM_AUTHENTICATE";
-    case SSS_PAM_SETCRED:
-        return "PAM_SETCRED";
-    case SSS_PAM_ACCT_MGMT:
-        return "PAM_ACCT_MGMT";
-    case SSS_PAM_OPEN_SESSION:
-        return "PAM_OPEN_SESSION";
-    case SSS_PAM_CLOSE_SESSION:
-        return "PAM_CLOSE_SESSION";
-    case SSS_PAM_CHAUTHTOK:
-        return "PAM_CHAUTHTOK";
-    case SSS_PAM_CHAUTHTOK_PRELIM:
-        return "PAM_CHAUTHTOK_PRELIM";
-    case SSS_PAM_PREAUTH:
-        return "SSS_PAM_PREAUTH";
-    default:
-        return "UNKNOWN";
-    }
-}
-
 int pam_data_destructor(void *ptr)
 {
     struct pam_data *pd = talloc_get_type(ptr, struct pam_data);
@@ -183,7 +160,7 @@ failed:
 
 void pam_print_data(int l, struct pam_data *pd)
 {
-    DEBUG(l, "command: %s\n", pamcmd2str(pd->cmd));
+    DEBUG(l, "command: %s\n", sss_cmd2str(pd->cmd));
     DEBUG(l, "domain: %s\n", PAM_SAFE_ITEM(pd->domain));
     DEBUG(l, "user: %s\n", PAM_SAFE_ITEM(pd->user));
     DEBUG(l, "service: %s\n", PAM_SAFE_ITEM(pd->service));
diff --git a/src/responder/nss/nsssrv_cmd.c b/src/responder/nss/nsssrv_cmd.c
index 0129467302f16af318bbbb0a5be47ff2e235da65..d37a13820ef857fcf43efba3fb07535c4b6eb509 100644
--- a/src/responder/nss/nsssrv_cmd.c
+++ b/src/responder/nss/nsssrv_cmd.c
@@ -21,6 +21,7 @@
 
 #include "util/util.h"
 #include "util/sss_nss.h"
+#include "util/sss_cli_cmd.h"
 #include "responder/nss/nsssrv.h"
 #include "responder/nss/nsssrv_private.h"
 #include "responder/nss/nsssrv_netgroup.h"
@@ -1312,7 +1313,8 @@ static int nss_cmd_getbynam(enum sss_cli_command cmd, struct cli_ctx *cctx)
     case SSS_NSS_GETORIGBYNAME:
         break;
     default:
-        DEBUG(SSSDBG_CRIT_FAILURE, "Invalid command type [%d].\n", cmd);
+        DEBUG(SSSDBG_CRIT_FAILURE, "Invalid command type [%d][%s].\n",
+              cmd, sss_cmd2str(cmd));
         return EINVAL;
     }
 
@@ -1347,8 +1349,8 @@ static int nss_cmd_getbynam(enum sss_cli_command cmd, struct cli_ctx *cctx)
 
     rawname = (const char *)body;
 
-    DEBUG(SSSDBG_TRACE_FUNC, "Running command [%d] with input [%s].\n",
-                               dctx->cmdctx->cmd, rawname);
+    DEBUG(SSSDBG_TRACE_FUNC, "Running command [%d][%s] with input [%s].\n",
+          cmd, sss_cmd2str(dctx->cmdctx->cmd), rawname);
 
     if (dctx->cmdctx->cmd == SSS_NSS_GETSIDBYNAME) {
         ret = nss_check_name_of_well_known_sid(cmdctx, rawname);
@@ -1737,7 +1739,8 @@ static int nss_cmd_getbyid(enum sss_cli_command cmd, struct cli_ctx *cctx)
     case SSS_NSS_GETSIDBYID:
         break;
     default:
-        DEBUG(SSSDBG_CRIT_FAILURE, "Invalid command type [%d].\n", cmd);
+        DEBUG(SSSDBG_CRIT_FAILURE, "Invalid command type [%d][%s].\n",
+              cmd, sss_cmd2str(cmd));
         return EINVAL;
     }
 
@@ -1766,8 +1769,8 @@ static int nss_cmd_getbyid(enum sss_cli_command cmd, struct cli_ctx *cctx)
     }
     SAFEALIGN_COPY_UINT32(&cmdctx->id, body, NULL);
 
-    DEBUG(SSSDBG_TRACE_FUNC, "Running command [%d] with id [%"PRIu32"].\n",
-                              dctx->cmdctx->cmd, cmdctx->id);
+    DEBUG(SSSDBG_TRACE_FUNC, "Running command [%d][%s] with id [%"PRIu32"].\n",
+          cmd, sss_cmd2str(dctx->cmdctx->cmd), cmdctx->id);
 
     switch(dctx->cmdctx->cmd) {
     case SSS_NSS_GETPWUID:
@@ -1805,8 +1808,8 @@ static int nss_cmd_getbyid(enum sss_cli_command cmd, struct cli_ctx *cctx)
         }
         break;
     default:
-        DEBUG(SSSDBG_CRIT_FAILURE, "Invalid command [%d].\n",
-                                    dctx->cmdctx->cmd);
+        DEBUG(SSSDBG_CRIT_FAILURE, "Invalid command [%d][%s].\n",
+              cmd, sss_cmd2str(dctx->cmdctx->cmd));
         ret = EINVAL;
         goto done;
     }
@@ -1851,8 +1854,8 @@ static int nss_cmd_getbyid(enum sss_cli_command cmd, struct cli_ctx *cctx)
         }
         break;
     default:
-        DEBUG(SSSDBG_CRIT_FAILURE, "Invalid command [%d].\n",
-                                    dctx->cmdctx->cmd);
+        DEBUG(SSSDBG_CRIT_FAILURE, "Invalid command [%d][%s].\n",
+              cmd, sss_cmd2str(dctx->cmdctx->cmd));
         ret = EINVAL;
     }
 
@@ -5172,7 +5175,8 @@ static int nss_cmd_getbysid(enum sss_cli_command cmd, struct cli_ctx *cctx)
     size_t bin_sid_length;
 
     if (cmd != SSS_NSS_GETNAMEBYSID && cmd != SSS_NSS_GETIDBYSID) {
-        DEBUG(SSSDBG_CRIT_FAILURE, "Invalid command type [%d].\n", cmd);
+        DEBUG(SSSDBG_CRIT_FAILURE, "Invalid command type [%d][%s].\n",
+              cmd, sss_cmd2str(cmd));
         return EINVAL;
     }
 
@@ -5214,8 +5218,8 @@ static int nss_cmd_getbysid(enum sss_cli_command cmd, struct cli_ctx *cctx)
         goto done;
     }
 
-    DEBUG(SSSDBG_TRACE_FUNC, "Running command [%d] with SID [%s].\n",
-                               dctx->cmdctx->cmd, sid_str);
+    DEBUG(SSSDBG_TRACE_FUNC, "Running command [%d][%s] with SID [%s].\n",
+          cmd, sss_cmd2str(dctx->cmdctx->cmd), sid_str);
 
     cmdctx->secid = talloc_strdup(cmdctx, sid_str);
     if (cmdctx->secid == NULL) {
diff --git a/src/sss_client/pam_sss.c b/src/sss_client/pam_sss.c
index e4fa83e12c71bb05dd329686cf2d2df6323ff3bd..541b9240edc7616cc28d291c6117227e5a1e9133 100644
--- a/src/sss_client/pam_sss.c
+++ b/src/sss_client/pam_sss.c
@@ -1173,7 +1173,7 @@ static int send_and_receive(pam_handle_t *pamh, struct pam_items *pi,
         case SSS_PAM_PREAUTH:
             break;
         default:
-            D(("Illegal task [%d]", task));
+            D(("Illegal task [%d][%s]", task, sss_cmd2str(task)));
             return PAM_SYSTEM_ERR;
     }
 
@@ -1580,7 +1580,7 @@ static int pam_sss(enum sss_cli_command task, pam_handle_t *pamh,
 
     bindtextdomain(PACKAGE, LOCALEDIR);
 
-    D(("Hello pam_sssd: %d", task));
+    D(("Hello pam_sssd: %d %s", task, sss_cmd2str(task)));
 
     eval_argv(pamh, argc, argv, &flags, &retries, &quiet_mode, &domains);
 
@@ -1656,7 +1656,7 @@ static int pam_sss(enum sss_cli_command task, pam_handle_t *pamh,
             case SSS_PAM_CLOSE_SESSION:
                 break;
             default:
-                D(("Illegal task [%d]", task));
+                D(("Illegal task [%d][%s]",task, sss_cmd2str(task)));
                 return PAM_SYSTEM_ERR;
         }
 
diff --git a/src/tools/tools_mc_util.c b/src/tools/tools_mc_util.c
index c1b5c616d0e6d50147ecd81308aaa1e69304af92..38f9d42ce6a0759efa7e10932d0b655d6d366461 100644
--- a/src/tools/tools_mc_util.c
+++ b/src/tools/tools_mc_util.c
@@ -26,6 +26,7 @@
 #include "util/util.h"
 #include "tools/tools_util.h"
 #include "util/mmap_cache.h"
+#include "util/sss_cli_cmd.h"
 #include "sss_client/sss_cli.h"
 
 /* This is a copy of sss_mc_set_recycled present in
@@ -226,7 +227,8 @@ static errno_t sss_mc_refresh_ent(const char *name, enum sss_tools_ent ent)
     }
 
     if (cmd == SSS_CLI_NULL) {
-        DEBUG(SSSDBG_OP_FAILURE, "Unknown object %d to refresh\n", cmd);
+        DEBUG(SSSDBG_OP_FAILURE, "Unknown object [%d][%s] to refresh\n",
+              cmd, sss_cmd2str(cmd));
         return EINVAL;
     }
 
diff --git a/src/util/sss_cli_cmd.c b/src/util/sss_cli_cmd.c
new file mode 100644
index 0000000000000000000000000000000000000000..e160bb700744d7b56ee0a02c13cccffc3529f5dc
--- /dev/null
+++ b/src/util/sss_cli_cmd.c
@@ -0,0 +1,219 @@
+#include "sss_client/sss_cli.h"
+#include "util/sss_cli_cmd.h"
+#include "util/util.h"
+
+const char *sss_cmd2str(enum sss_cli_command cmd)
+{
+    switch (cmd) {
+    /* null */
+    case SSS_CLI_NULL:
+        return "SSS_CLI_NULL";
+
+    /* version */
+    case SSS_GET_VERSION:
+        return "SSS_GET_VERSION";
+
+    /* passwd */
+    case SSS_NSS_GETPWNAM:
+        return "SSS_NSS_GETPWNAM";
+    case SSS_NSS_GETPWUID:
+        return "SSS_NSS_GETPWUID";
+    case SSS_NSS_SETPWENT:
+        return "SSS_NSS_SETPWENT";
+    case SSS_NSS_GETPWENT:
+        return "SSS_NSS_GETPWENT";
+    case SSS_NSS_ENDPWENT:
+        return "SSS_NSS_ENDPWENT";
+
+    /* group */
+    case SSS_NSS_GETGRNAM:
+        return "SSS_NSS_GETGRNAM";
+    case SSS_NSS_GETGRGID:
+        return "SSS_NSS_GETGRGID";
+    case SSS_NSS_SETGRENT:
+        return "SSS_NSS_SETGRENT";
+    case SSS_NSS_GETGRENT:
+        return "SSS_NSS_GETGRENT";
+    case SSS_NSS_ENDGRENT:
+        return "SSS_NSS_ENDGRENT";
+    case SSS_NSS_INITGR:
+        return "SSS_NSS_INITGR";
+
+    #if 0
+    /* aliases */
+    case SSS_NSS_GETALIASBYNAME:
+        return "SSS_NSS_GETALIASBYNAME";
+    case SSS_NSS_GETALIASBYPORT:
+        return "SSS_NSS_GETALIASBYPORT";
+    case SSS_NSS_SETALIASENT:
+        return "SSS_NSS_SETALIASENT";
+    case SSS_NSS_GETALIASENT:
+        return "SSS_NSS_GETALIASENT";
+    case SSS_NSS_ENDALIASENT:
+        return "SSS_NSS_ENDALIASENT";
+
+    /* ethers */
+    case SSS_NSS_GETHOSTTON:
+        return "SSS_NSS_GETHOSTTON";
+    case SSS_NSS_GETNTOHOST:
+        return "SSS_NSS_GETNTOHOST";
+    case SSS_NSS_SETETHERENT:
+        return "SSS_NSS_SETETHERENT";
+    case SSS_NSS_GETETHERENT:
+        return "SSS_NSS_GETETHERENT";
+    case SSS_NSS_ENDETHERENT:
+        return "SSS_NSS_ENDETHERENT";
+
+    /* hosts */
+    case SSS_NSS_GETHOSTBYNAME:
+        return "SSS_NSS_GETHOSTBYNAME";
+    case SSS_NSS_GETHOSTBYNAME2:
+        return "SSS_NSS_GETHOSTBYNAME2";
+    case SSS_NSS_GETHOSTBYADDR:
+        return "SSS_NSS_GETHOSTBYADDR";
+    case SSS_NSS_SETHOSTENT:
+        return "SSS_NSS_SETHOSTENT";
+    case SSS_NSS_GETHOSTENT:
+        return "SSS_NSS_GETHOSTENT";
+    case SSS_NSS_ENDHOSTENT:
+        return "SSS_NSS_ENDHOSTENT";
+    #endif
+
+    /* netgroup */
+    case SSS_NSS_SETNETGRENT:
+        return "SSS_NSS_SETNETGRENT";
+    case SSS_NSS_GETNETGRENT:
+        return "SSS_NSS_GETNETGRENT";
+    case SSS_NSS_ENDNETGRENT:
+        return "SSS_NSS_ENDNETGRENT";
+    /* SSS_NSS_INNETGR:
+        return "SSS_NSS_INNETGR";
+        break; */
+
+    #if 0
+    /* networks */
+    case SSS_NSS_GETNETBYNAME:
+        return "SSS_NSS_GETNETBYNAME";
+    case SSS_NSS_GETNETBYADDR:
+        return "SSS_NSS_GETNETBYADDR";
+    case SSS_NSS_SETNETENT:
+        return "SSS_NSS_SETNETENT";
+    case SSS_NSS_GETNETENT:
+        return "SSS_NSS_GETNETENT";
+    case SSS_NSS_ENDNETENT:
+        return "SSS_NSS_ENDNETENT";
+
+    /* protocols */
+    case SSS_NSS_GETPROTOBYNAME:
+        return "SSS_NSS_GETPROTOBYNAME";
+    case SSS_NSS_GETPROTOBYNUM:
+        return "SSS_NSS_GETPROTOBYNUM";
+    case SSS_NSS_SETPROTOENT:
+        return "SSS_NSS_SETPROTOENT";
+    case SSS_NSS_GETPROTOENT:
+        return "SSS_NSS_GETPROTOENT";
+    case SSS_NSS_ENDPROTOENT:
+        return "SSS_NSS_ENDPROTOENT";
+
+    /* rpc */
+    case SSS_NSS_GETRPCBYNAME:
+        return "SSS_NSS_GETRPCBYNAME";
+    case SSS_NSS_GETRPCBYNUM:
+        return "SSS_NSS_GETRPCBYNUM";
+    case SSS_NSS_SETRPCENT:
+        return "SSS_NSS_SETRPCENT";
+    case SSS_NSS_GETRPCENT:
+        return "SSS_NSS_GETRPCENT";
+    case SSS_NSS_ENDRPCENT:
+        return "SSS_NSS_ENDRPCENT";
+    #endif
+
+    /* services */
+    case SSS_NSS_GETSERVBYNAME:
+        return "SSS_NSS_GETSERVBYNAME";
+    case SSS_NSS_GETSERVBYPORT:
+        return "SSS_NSS_GETSERVBYPORT";
+    case SSS_NSS_SETSERVENT:
+        return "SSS_NSS_SETSERVENT";
+    case SSS_NSS_GETSERVENT:
+        return "SSS_NSS_GETSERVENT";
+    case SSS_NSS_ENDSERVENT:
+        return "SSS_NSS_ENDSERVENT";
+
+    #if 0
+    /* shadow */
+    case SSS_NSS_GETSPNAM:
+        return "SSS_NSS_GETSPNAM";
+    case SSS_NSS_GETSPUID:
+        return "SSS_NSS_GETSPUID";
+    case SSS_NSS_SETSPENT:
+        return "SSS_NSS_SETSPENT";
+    case SSS_NSS_GETSPENT:
+        return "SSS_NSS_GETSPENT";
+    case SSS_NSS_ENDSPENT:
+        return "SSS_NSS_ENDSPENT";
+    #endif
+
+    /* SUDO */
+    case SSS_SUDO_GET_SUDORULES:
+        return "SSS_SUDO_GET_SUDORULES";
+    case SSS_SUDO_GET_DEFAULTS:
+        return "SSS_SUDO_GET_DEFAULTS";
+
+    /* autofs */
+    case SSS_AUTOFS_SETAUTOMNTENT:
+        return "SSS_AUTOFS_SETAUTOMNTENT";
+    case SSS_AUTOFS_GETAUTOMNTENT:
+        return "SSS_AUTOFS_GETAUTOMNTENT";
+    case SSS_AUTOFS_GETAUTOMNTBYNAME:
+        return "SSS_AUTOFS_GETAUTOMNTBYNAME";
+    case SSS_AUTOFS_ENDAUTOMNTENT:
+        return "SSS_AUTOFS_ENDAUTOMNTENT";
+
+    /* SSH */
+    case SSS_SSH_GET_USER_PUBKEYS:
+        return "SSS_SSH_GET_USER_PUBKEYS";
+    case SSS_SSH_GET_HOST_PUBKEYS:
+        return "SSS_SSH_GET_HOST_PUBKEYS";
+
+    /* PAM related calls */
+    case SSS_PAM_AUTHENTICATE:
+        return "SSS_PAM_AUTHENTICATE";
+    case SSS_PAM_SETCRED:
+        return "SSS_PAM_SETCRED";
+    case SSS_PAM_ACCT_MGMT:
+        return "SSS_PAM_ACCT_MGMT";
+    case SSS_PAM_OPEN_SESSION:
+        return "SSS_PAM_OPEN_SESSION";
+    case SSS_PAM_CLOSE_SESSION:
+        return "SSS_PAM_CLOSE_SESSION";
+    case SSS_PAM_CHAUTHTOK:
+        return "SSS_PAM_CHAUTHTOK";
+    case SSS_PAM_CHAUTHTOK_PRELIM:
+        return "SSS_PAM_CHAUTHTOK_PRELIM";
+    case SSS_CMD_RENEW:
+        return "SSS_CMD_RENEW";
+    case SSS_PAM_PREAUTH:
+        return "SSS_PAM_PREAUTH";
+
+    /* PAC responder calls */
+    case SSS_PAC_ADD_PAC_USER:
+        return "SSS_PAC_ADD_PAC_USER";
+
+    /* ID-SID mapping calls */
+    case SSS_NSS_GETSIDBYNAME:
+        return "SSS_NSS_GETSIDBYNAME";
+    case SSS_NSS_GETSIDBYID:
+        return "SSS_NSS_GETSIDBYID";
+    case SSS_NSS_GETNAMEBYSID:
+        return "SSS_NSS_GETNAMEBYSID";
+    case SSS_NSS_GETIDBYSID:
+        return "SSS_NSS_GETIDBYSID";
+    case SSS_NSS_GETORIGBYNAME:
+        return "SSS_NSS_GETORIGBYNAME";
+    default:
+        DEBUG(SSSDBG_MINOR_FAILURE,
+              "Translation's string is missing for command [%d].\n", cmd);
+        return "UNKNOWN COMMAND";
+   }
+}
diff --git a/src/util/sss_cli_cmd.h b/src/util/sss_cli_cmd.h
new file mode 100644
index 0000000000000000000000000000000000000000..4bd18af85fcca0bcfbcc28ddbcc99bfaaac2c7c4
--- /dev/null
+++ b/src/util/sss_cli_cmd.h
@@ -0,0 +1,9 @@
+#ifndef __SSS_CLI_CMD_H__
+#define __SSS_CLI_CMD_H__
+
+#include "sss_client/sss_cli.h"
+
+/* Translate sss_cli_command to human readable form. */                         
+const char *sss_cmd2str(enum sss_cli_command cmd);
+
+#endif /* __SSS_CLI_CMD_H__ */
diff --git a/src/util/sss_log.c b/src/util/sss_log.c
index 48e73dbea99b86c80d9016a4c5d646fc655fcdfb..250c1d6dc93569250e552b9e4cd2f2e3ebcc0745 100644
--- a/src/util/sss_log.c
+++ b/src/util/sss_log.c
@@ -78,8 +78,6 @@ void sss_log_ext(int priority, int facility, const char *format, ...)
     va_end(ap);
 }
 
-
-
 #ifdef WITH_JOURNALD
 
 static void sss_log_internal(int priority, int facility, const char *format,
-- 
2.4.3

_______________________________________________
sssd-devel mailing list
sssd-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/sssd-devel

Reply via email to