From e2c71f0bf5c8555e902ee2660a47433f6199f45a Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Mon, 10 Jan 2005 11:09:31 +0000 Subject: r4636: Per tridge's wish (and probably correct behaviour), don't key off a specific GENSEC mech type, but on the behaviour of the mech. Andrew Bartlett (This used to be commit f2bd7a5a699b91d99d7dc2a0b3b6c7006274a59c) --- source4/librpc/rpc/dcerpc_auth.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'source4/librpc') diff --git a/source4/librpc/rpc/dcerpc_auth.c b/source4/librpc/rpc/dcerpc_auth.c index 1c73bde6e4..c506c8fd4c 100644 --- a/source4/librpc/rpc/dcerpc_auth.c +++ b/source4/librpc/rpc/dcerpc_auth.c @@ -100,12 +100,14 @@ NTSTATUS dcerpc_bind_auth(struct dcerpc_pipe *p, uint8_t auth_type, uint8_t auth p->conn->security_state.auth_info->credentials = credentials; - if (auth_type == DCERPC_AUTH_TYPE_SPNEGO) { + if (NT_STATUS_EQUAL(status, NT_STATUS_MORE_PROCESSING_REQUIRED)) { + /* We are demanding a reply, so use a request that will get us one */ status = dcerpc_alter_context(p, tmp_ctx, &p->syntax, &p->transfer_syntax); if (!NT_STATUS_IS_OK(status)) { break; } } else { + /* NO reply expected, so just send it */ status = dcerpc_auth3(p->conn, tmp_ctx); credentials = data_blob(NULL, 0); if (!NT_STATUS_IS_OK(status)) { -- cgit