Author: gd
Date: 2006-05-03 15:19:31 +0000 (Wed, 03 May 2006)
New Revision: 15417

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

Log:
Don't use cached credentials when changing passwords.

Guenther

Modified:
   branches/SAMBA_3_0/source/nsswitch/pam_winbind.c
   trunk/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-05-03 14:59:55 UTC 
(rev 15416)
+++ branches/SAMBA_3_0/source/nsswitch/pam_winbind.c    2006-05-03 15:19:31 UTC 
(rev 15417)
@@ -242,8 +242,9 @@
        /* Copy reply data from socket */
        if (response->result != WINBINDD_OK) {
                if (response->data.auth.pam_error != PAM_SUCCESS) {
-                       _pam_log(LOG_ERR, "request failed: %s, PAM error was 
%d, NT error was %s", 
+                       _pam_log(LOG_ERR, "request failed: %s, PAM error was %s 
(%d), NT error was %s", 
                                 response->data.auth.error_string,
+                                pam_strerror(pamh, 
response->data.auth.pam_error),
                                 response->data.auth.pam_error,
                                 response->data.auth.nt_status_string);
                        return response->data.auth.pam_error;
@@ -1150,6 +1151,9 @@
 
        _pam_log_debug(ctrl, LOG_DEBUG,"pam_winbind: pam_sm_chauthtok");
 
+       /* clearing offline bit for the auth in the password change */
+       ctrl &= ~WINBIND_CACHED_LOGIN;
+
        /*
         * First get the name of a user
         */

Modified: trunk/source/nsswitch/pam_winbind.c
===================================================================
--- trunk/source/nsswitch/pam_winbind.c 2006-05-03 14:59:55 UTC (rev 15416)
+++ trunk/source/nsswitch/pam_winbind.c 2006-05-03 15:19:31 UTC (rev 15417)
@@ -242,8 +242,9 @@
        /* Copy reply data from socket */
        if (response->result != WINBINDD_OK) {
                if (response->data.auth.pam_error != PAM_SUCCESS) {
-                       _pam_log(LOG_ERR, "request failed: %s, PAM error was 
%d, NT error was %s", 
+                       _pam_log(LOG_ERR, "request failed: %s, PAM error was %s 
(%d), NT error was %s", 
                                 response->data.auth.error_string,
+                                pam_strerror(pamh, 
response->data.auth.pam_error),
                                 response->data.auth.pam_error,
                                 response->data.auth.nt_status_string);
                        return response->data.auth.pam_error;
@@ -1150,6 +1151,9 @@
 
        _pam_log_debug(ctrl, LOG_DEBUG,"pam_winbind: pam_sm_chauthtok");
 
+       /* clearing offline bit for the auth in the password change */
+       ctrl &= ~WINBIND_CACHED_LOGIN;
+
        /*
         * First get the name of a user
         */

Reply via email to