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;