svn commit: samba r4044 - in branches/SAMBA_4_0/source/libcli/auth: .

metze at samba.org metze at samba.org
Thu Dec 2 18:15:39 GMT 2004


Author: metze
Date: 2004-12-02 18:15:39 +0000 (Thu, 02 Dec 2004)
New Revision: 4044

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

Log:
only send supportedMech when we also send other data

metze

Modified:
   branches/SAMBA_4_0/source/libcli/auth/spnego.c


Changeset:
Modified: branches/SAMBA_4_0/source/libcli/auth/spnego.c
===================================================================
--- branches/SAMBA_4_0/source/libcli/auth/spnego.c	2004-12-02 17:11:18 UTC (rev 4043)
+++ branches/SAMBA_4_0/source/libcli/auth/spnego.c	2004-12-02 18:15:39 UTC (rev 4044)
@@ -375,23 +375,26 @@
 	spnego_out.type = SPNEGO_NEG_TOKEN_TARG;
 	spnego_out.negTokenTarg.responseToken = unwrapped_out;
 	spnego_out.negTokenTarg.mechListMIC = null_data_blob;
-	
+	spnego_out.negTokenTarg.supportedMech = NULL;
+
 	if (NT_STATUS_EQUAL(nt_status, NT_STATUS_MORE_PROCESSING_REQUIRED)) {
-		spnego_out.negTokenTarg.supportedMech 
+		spnego_out.negTokenTarg.supportedMech
 			= spnego_state->sub_sec_security->ops->oid;
 		spnego_out.negTokenTarg.negResult = SPNEGO_ACCEPT_INCOMPLETE;
 		spnego_state->state_position = SPNEGO_SERVER_TARG;
 	} else if (NT_STATUS_IS_OK(nt_status)) {
-		spnego_out.negTokenTarg.supportedMech = NULL;
+		if (unwrapped_out.data) {
+			spnego_out.negTokenTarg.supportedMech
+				= spnego_state->sub_sec_security->ops->oid;
+		}
 		spnego_out.negTokenTarg.negResult = SPNEGO_ACCEPT_COMPLETED;
 		spnego_state->state_position = SPNEGO_DONE;
 	} else {
-		spnego_out.negTokenTarg.supportedMech = NULL;
 		spnego_out.negTokenTarg.negResult = SPNEGO_REJECT;
 		DEBUG(1, ("SPNEGO login failed: %s\n", nt_errstr(nt_status)));
 		spnego_state->state_position = SPNEGO_DONE;
 	}
-	
+
 	if (spnego_write_data(out_mem_ctx, out, &spnego_out) == -1) {
 		DEBUG(1, ("Failed to write SPNEGO reply to NEG_TOKEN_TARG\n"));
 		return NT_STATUS_INVALID_PARAMETER;



More information about the samba-cvs mailing list