svn commit: samba r9080 - in branches/SAMBA_3_0/source/rpc_server: .

jra at samba.org jra at samba.org
Fri Aug 5 00:25:52 GMT 2005


Author: jra
Date: 2005-08-05 00:25:52 +0000 (Fri, 05 Aug 2005)
New Revision: 9080

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

Log:
If we don't understand the auth, bind nak not pdu fault.
Should fix usermgr on W2K3 SP1.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/rpc_server/srv_pipe.c


Changeset:
Modified: branches/SAMBA_3_0/source/rpc_server/srv_pipe.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_server/srv_pipe.c	2005-08-05 00:07:08 UTC (rev 9079)
+++ branches/SAMBA_3_0/source/rpc_server/srv_pipe.c	2005-08-05 00:25:52 UTC (rev 9080)
@@ -666,7 +666,7 @@
 
 	if(!prs_uint16("reject code", &outgoing_rpc, 0, &zero)) {
 		prs_mem_free(&outgoing_rpc);
-        return False;
+		return False;
 	}
 
 	p->out_data.data_sent_length = 0;
@@ -896,11 +896,9 @@
 
 	if (i == rpc_lookup_size) {
 		if (NT_STATUS_IS_ERR(smb_probe_module("rpc", p->name))) {
-                       DEBUG(3,("api_pipe_bind_req: Unknown pipe name %s in bind request.\n",
-                                p->name ));
-                       if(!setup_bind_nak(p))
-                               return False;
-                       return True;
+			DEBUG(3,("api_pipe_bind_req: Unknown pipe name %s in bind request.\n",
+				p->name ));
+			return setup_bind_nak(p);
                 }
 
                 for (i = 0; i < rpc_lookup_size; i++) {
@@ -921,7 +919,7 @@
 	/* decode the bind request */
 	if(!smb_io_rpc_hdr_rb("", &hdr_rb, rpc_in_p, 0))  {
 		DEBUG(0,("api_pipe_bind_req: unable to unmarshall RPC_HDR_RB struct.\n"));
-		return False;
+		return setup_bind_nak(p);
 	}
 
 	/*
@@ -938,7 +936,7 @@
 
 		if(!smb_io_rpc_hdr_auth("", &auth_info, rpc_in_p, 0)) {
 			DEBUG(0,("api_pipe_bind_req: unable to unmarshall RPC_HDR_AUTH struct.\n"));
-			return False;
+			return setup_bind_nak(p);
 		}
 
 		switch(auth_info.auth_type) {
@@ -947,26 +945,26 @@
 				if(!smb_io_rpc_auth_verifier("", &auth_verifier, rpc_in_p, 0)) {
 					DEBUG(0,("api_pipe_bind_req: unable to "
 						 "unmarshall RPC_HDR_AUTH struct.\n"));
-					return False;
+					return setup_bind_nak(p);
 				}
 
 				if(!strequal(auth_verifier.signature, "NTLMSSP")) {
 					DEBUG(0,("api_pipe_bind_req: "
 						 "auth_verifier.signature != NTLMSSP\n"));
-					return False;
+					return setup_bind_nak(p);
 				}
 
 				if(auth_verifier.msg_type != NTLMSSP_NEGOTIATE) {
 					DEBUG(0,("api_pipe_bind_req: "
 						 "auth_verifier.msg_type (%d) != NTLMSSP_NEGOTIATE\n",
 						 auth_verifier.msg_type));
-					return False;
+					return setup_bind_nak(p);
 				}
 
 				if(!smb_io_rpc_auth_ntlmssp_neg("", &ntlmssp_neg, rpc_in_p, 0)) {
 					DEBUG(0,("api_pipe_bind_req: "
 						 "Failed to unmarshall RPC_AUTH_NTLMSSP_NEG.\n"));
-					return False;
+					return setup_bind_nak(p);
 				}
 
 				p->ntlmssp_chal_flags = SMBD_NTLMSSP_NEG_FLAGS;
@@ -981,13 +979,13 @@
 				if (!server_auth2_negotiated) {
 					DEBUG(0, ("Attempt to bind using schannel "
 						  "without successful serverauth2\n"));
-					return False;
+					return setup_bind_nak(p);
 				}
 
 				if (!smb_io_rpc_auth_netsec_neg("", &neg, rpc_in_p, 0)) {
 					DEBUG(0,("api_pipe_bind_req: "
 						 "Could not unmarshal SCHANNEL auth neg\n"));
-					return False;
+					return setup_bind_nak(p);
 				}
 
 				p->netsec_auth_validated = True;
@@ -1006,7 +1004,7 @@
 			default:
 				DEBUG(0,("api_pipe_bind_req: unknown auth type %x requested.\n",
 					 auth_info.auth_type ));
-				return False;
+				return setup_bind_nak(p);
 		}
 	}
 



More information about the samba-cvs mailing list