svn commit: samba r2615 - in branches/SAMBA_4_0/source/rpc_server: .

tridge at samba.org tridge at samba.org
Sat Sep 25 08:04:54 GMT 2004


Author: tridge
Date: 2004-09-25 08:04:54 +0000 (Sat, 25 Sep 2004)
New Revision: 2615

WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_4_0/source/rpc_server&rev=2615&nolog=1

Log:
fixed a bug in the server side support for CONNECT level security

Modified:
   branches/SAMBA_4_0/source/rpc_server/dcesrv_auth.c


Changeset:
Modified: branches/SAMBA_4_0/source/rpc_server/dcesrv_auth.c
===================================================================
--- branches/SAMBA_4_0/source/rpc_server/dcesrv_auth.c	2004-09-25 07:25:51 UTC (rev 2614)
+++ branches/SAMBA_4_0/source/rpc_server/dcesrv_auth.c	2004-09-25 08:04:54 UTC (rev 2615)
@@ -344,11 +344,19 @@
 	ndr_push_zero(ndr, dce_conn->auth_state.auth_info->auth_pad_length);
 
 	payload_length = ndr->offset - DCERPC_REQUEST_LENGTH;
-	
-	dce_conn->auth_state.auth_info->credentials
-		= data_blob_talloc(call->mem_ctx, NULL, 
-				   gensec_sig_size(dce_conn->auth_state.gensec_security));
 
+	if (dce_conn->auth_state.auth_info->auth_level == DCERPC_AUTH_LEVEL_CONNECT) {
+		status = dcesrv_connect_verifier(call->mem_ctx,
+						 &dce_conn->auth_state.auth_info->credentials);
+		if (!NT_STATUS_IS_OK(status)) {
+			return False;
+		}
+	} else {
+		dce_conn->auth_state.auth_info->credentials
+			= data_blob_talloc(call->mem_ctx, NULL, 
+					   gensec_sig_size(dce_conn->auth_state.gensec_security));
+	}
+
 	/* add the auth verifier */
 	status = ndr_push_dcerpc_auth(ndr, NDR_SCALARS|NDR_BUFFERS, dce_conn->auth_state.auth_info);
 	if (!NT_STATUS_IS_OK(status)) {
@@ -388,8 +396,6 @@
 		break;
 
 	case DCERPC_AUTH_LEVEL_CONNECT:
-		status = dcesrv_connect_verifier(call->mem_ctx,
-						 &dce_conn->auth_state.auth_info->credentials);
 		break;
 
 	default:



More information about the samba-cvs mailing list