[SSSD] [PATCH] UTIL: Function 2string for enum sss_cli_command
Lukas Slebodnik
lslebodn at redhat.com
Mon Jul 13 07:59:14 UTC 2015
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
>>sssd-devel at lists.fedorahosted.org
>>https://lists.fedorahosted.org/mailman/listinfo/sssd-devel
>
>From 8b3ae05fc97f548256dc8b72863183b9dc9a539a Mon Sep 17 00:00:00 2001
>From: Petr Cech <pcech at 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;
> }
>
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
More information about the sssd-devel
mailing list