Author: gd
Date: 2006-12-18 15:29:05 +0000 (Mon, 18 Dec 2006)
New Revision: 20239

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=20239

Log:
Parse the configfile for pam_sm_setcred as well 
(e.g. to get the debug flag)

Guenther

Modified:
   branches/SAMBA_3_0/source/nsswitch/pam_winbind.c
   branches/SAMBA_3_0_24/source/nsswitch/pam_winbind.c


Changeset:
Modified: branches/SAMBA_3_0/source/nsswitch/pam_winbind.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/pam_winbind.c    2006-12-18 04:35:55 UTC 
(rev 20238)
+++ branches/SAMBA_3_0/source/nsswitch/pam_winbind.c    2006-12-18 15:29:05 UTC 
(rev 20239)
@@ -1054,14 +1054,20 @@
 int pam_sm_setcred(pam_handle_t *pamh, int flags,
                   int argc, const char **argv)
 {
+       dictionary *d = NULL;
+
        /* parse arguments */
-       int ctrl = _pam_parse(pamh, flags, argc, argv, NULL);
+       int ctrl = _pam_parse(pamh, flags, argc, argv, &d);
        if (ctrl == -1) {
                return PAM_SYSTEM_ERR;
        }
 
        _pam_log_debug(pamh, ctrl, LOG_DEBUG, "pam_winbind: pam_sm_setcred 
(flags: 0x%04x)", flags);
 
+       if (d) {
+               iniparser_freedict(d);
+       }
+
        if (flags & PAM_DELETE_CRED) {
                return pam_sm_close_session(pamh, flags, argc, argv);
        }

Modified: branches/SAMBA_3_0_24/source/nsswitch/pam_winbind.c
===================================================================
--- branches/SAMBA_3_0_24/source/nsswitch/pam_winbind.c 2006-12-18 04:35:55 UTC 
(rev 20238)
+++ branches/SAMBA_3_0_24/source/nsswitch/pam_winbind.c 2006-12-18 15:29:05 UTC 
(rev 20239)
@@ -1054,14 +1054,20 @@
 int pam_sm_setcred(pam_handle_t *pamh, int flags,
                   int argc, const char **argv)
 {
+       dictionary *d = NULL;
+
        /* parse arguments */
-       int ctrl = _pam_parse(pamh, flags, argc, argv, NULL);
+       int ctrl = _pam_parse(pamh, flags, argc, argv, &d);
        if (ctrl == -1) {
                return PAM_SYSTEM_ERR;
        }
 
        _pam_log_debug(pamh, ctrl, LOG_DEBUG, "pam_winbind: pam_sm_setcred 
(flags: 0x%04x)", flags);
 
+       if (d) {
+               iniparser_freedict(d);
+       }
+
        if (flags & PAM_DELETE_CRED) {
                return pam_sm_close_session(pamh, flags, argc, argv);
        }

Reply via email to