svn commit: samba r6219 - in branches/SAMBA_4_0/source: librpc/rpc ntvfs/posix

sharpe at samba.org sharpe at samba.org
Tue Apr 5 19:53:08 GMT 2005


Author: sharpe
Date: 2005-04-05 19:53:07 +0000 (Tue, 05 Apr 2005)
New Revision: 6219

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

Log:

This change allows us to fall back to authenticating without 
DCERPC_SCHANNEL_128 if we fail. Thus, it allows us to work with Windows
NT DCs ...


Modified:
   branches/SAMBA_4_0/source/librpc/rpc/dcerpc_schannel.c
   branches/SAMBA_4_0/source/ntvfs/posix/pvfs_search.c


Changeset:
Modified: branches/SAMBA_4_0/source/librpc/rpc/dcerpc_schannel.c
===================================================================
--- branches/SAMBA_4_0/source/librpc/rpc/dcerpc_schannel.c	2005-04-05 17:49:16 UTC (rev 6218)
+++ branches/SAMBA_4_0/source/librpc/rpc/dcerpc_schannel.c	2005-04-05 19:53:07 UTC (rev 6219)
@@ -162,7 +162,21 @@
 		DEBUG(1, ("Failed to setup credentials for account %s: %s\n",
 			  cli_credentials_get_username(credentials), 
 			  nt_errstr(status)));
-		return status;
+		/*
+		 * If we get back NT_STATUS_ACCESS_DENIED and we asked for
+		 * DCERPC_SCHANNEL_128, then try again without
+		 */
+		if (NT_STATUS_EQUAL(status, NT_STATUS_ACCESS_DENIED) &&
+		    p->conn->flags & DCERPC_SCHANNEL_128) {
+			DEBUG(1, ("Retrying to setup credentials without DCERPC_SCHANNEL_128\n"));
+			p->conn->flags &= ~DCERPC_SCHANNEL_128;
+			status = dcerpc_schannel_key(tmp_ctx, 
+					             p, credentials,
+					             chan_type);
+		}
+		if (!NT_STATUS_IS_OK(status)) {
+			return status;
+		}
 	}
 
 	return dcerpc_bind_auth_password(p, uuid, version, 

Modified: branches/SAMBA_4_0/source/ntvfs/posix/pvfs_search.c
===================================================================
--- branches/SAMBA_4_0/source/ntvfs/posix/pvfs_search.c	2005-04-05 17:49:16 UTC (rev 6218)
+++ branches/SAMBA_4_0/source/ntvfs/posix/pvfs_search.c	2005-04-05 19:53:07 UTC (rev 6219)
@@ -266,7 +266,7 @@
 		talloc_free(file);
 	}
 
-	pvfs_list_hibernate(dir);
+	/*pvfs_list_hibernate(dir);*/
 
 	return NT_STATUS_OK;
 }



More information about the samba-cvs mailing list