On (09/07/15 14:03), Petr Cech wrote: >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 >>[email protected] >>https://lists.fedorahosted.org/mailman/listinfo/sssd-devel >
>From 8b3ae05fc97f548256dc8b72863183b9dc9a539a Mon Sep 17 00:00:00 2001 >From: Petr Cech <[email protected]> >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; > } > I replied to the different mail in this thread that I think we needn't use string representation in client code. Hexadecimal should be sufficient. But let's wait for and agreement. >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 @@ There is missing header with licence. The same applies to the new implemetatation module. >+#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); > } > >- >- This change is unrelated to the ticket. It's fine to change it if you touch code nearby. > #ifdef WITH_JOURNALD > > static void sss_log_internal(int priority, int facility, const char *format, BTW It would be good to use new function also in backend code. src/providers/data_provider_be.c:1107: "Got request for [%#x][%d][%s]\n", type, attr_type, filter); I used to filter debug messages for be_get_account_info which print type as hexadecimal number. Maybe there are also other places. LS _______________________________________________ sssd-devel mailing list [email protected] https://lists.fedorahosted.org/mailman/listinfo/sssd-devel
