[SCM] Samba Shared Repository - branch master updated - 6a61580617b0bd2cf46d4857dd0e87b3e48288f6

Günther Deschner gd at samba.org
Thu Nov 13 16:34:01 GMT 2008


The branch, master has been updated
       via  6a61580617b0bd2cf46d4857dd0e87b3e48288f6 (commit)
       via  85dec6917184a024f9b76ea6f6654227e6457af3 (commit)
      from  540b2df874ff053bccd6ef6165476d5225f2ae16 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 6a61580617b0bd2cf46d4857dd0e87b3e48288f6
Author: Günther Deschner <gd at samba.org>
Date:   Thu Nov 13 17:19:11 2008 +0100

    s3-winbindd: workaround for samr_ChangePasswordUser3 to User2 fallback for w2k dcs.
    
    Guenther

commit 85dec6917184a024f9b76ea6f6654227e6457af3
Author: Günther Deschner <gd at samba.org>
Date:   Thu Nov 13 16:45:42 2008 +0100

    pam_winbind: do not add empty blob.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 source3/nsswitch/pam_winbind.c  |   18 ++++++++++--------
 source3/winbindd/winbindd_pam.c |    6 ++++++
 2 files changed, 16 insertions(+), 8 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/nsswitch/pam_winbind.c b/source3/nsswitch/pam_winbind.c
index 5ba4850..c164f8e 100644
--- a/source3/nsswitch/pam_winbind.c
+++ b/source3/nsswitch/pam_winbind.c
@@ -2369,14 +2369,16 @@ static int _pam_delete_cred(pam_handle_t *pamh, int flags,
 
 		logoff.username		= user;
 
-		wbc_status = wbcAddNamedBlob(&logoff.num_blobs,
-					     &logoff.blobs,
-					     "ccfilename",
-					     0,
-					     (uint8_t *)ccname,
-					     strlen(ccname)+1);
-		if (!WBC_ERROR_IS_OK(wbc_status)) {
-			goto out;
+		if (ccname) {
+			wbc_status = wbcAddNamedBlob(&logoff.num_blobs,
+						     &logoff.blobs,
+						     "ccfilename",
+						     0,
+						     (uint8_t *)ccname,
+						     strlen(ccname)+1);
+			if (!WBC_ERROR_IS_OK(wbc_status)) {
+				goto out;
+			}
 		}
 
 		wbc_status = wbcAddNamedBlob(&logoff.num_blobs,
diff --git a/source3/winbindd/winbindd_pam.c b/source3/winbindd/winbindd_pam.c
index 7de28b0..597d48a 100644
--- a/source3/winbindd/winbindd_pam.c
+++ b/source3/winbindd/winbindd_pam.c
@@ -2117,9 +2117,15 @@ enum winbindd_result winbindd_dual_pam_chauthtok(struct winbindd_domain *contact
 		got_info = true;
 	}
 
+	/* atm the pidl generated rpccli_samr_ChangePasswordUser3 function will
+	 * return with NT_STATUS_BUFFER_TOO_SMALL for w2k dcs as w2k just
+	 * returns with 4byte error code (NT_STATUS_NOT_SUPPORTED) which is too
+	 * short to comply with the samr_ChangePasswordUser3 idl - gd */
+
 	/* only fallback when the chgpasswd_user3 call is not supported */
 	if ((NT_STATUS_EQUAL(result, NT_STATUS(DCERPC_FAULT_OP_RNG_ERROR))) ||
 		   (NT_STATUS_EQUAL(result, NT_STATUS_NOT_SUPPORTED)) ||
+		   (NT_STATUS_EQUAL(result, NT_STATUS_BUFFER_TOO_SMALL)) ||
 		   (NT_STATUS_EQUAL(result, NT_STATUS_NOT_IMPLEMENTED))) {
 
 		DEBUG(10,("Password change with chgpasswd_user3 failed with: %s, retrying chgpasswd_user2\n",


-- 
Samba Shared Repository


More information about the samba-cvs mailing list