From 34f6485dda4a48e7a70f11e7975c589981d27ca1 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 10 Jan 2005 12:39:42 +0000 Subject: r4642: added support for alter_context in the server for adding new interfaces to an existing pipe (This used to be commit b6af57c86829aadc261cd7b79091cef17c15b967) --- source4/rpc_server/dcesrv_auth.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'source4/rpc_server/dcesrv_auth.c') diff --git a/source4/rpc_server/dcesrv_auth.c b/source4/rpc_server/dcesrv_auth.c index 71332b557d..91b579b9e4 100644 --- a/source4/rpc_server/dcesrv_auth.c +++ b/source4/rpc_server/dcesrv_auth.c @@ -204,9 +204,13 @@ BOOL dcesrv_auth_alter(struct dcesrv_call_state *call) struct dcesrv_connection *dce_conn = call->conn; NTSTATUS status; - /* We can't work without an existing gensec state, and an new blob to feed it */ - if (!dce_conn->auth_state.gensec_security || - pkt->u.alter.auth_info.length == 0) { + /* on a pure interface change there is no auth blob */ + if (pkt->u.alter.auth_info.length == 0) { + return True; + } + + /* We can't work without an existing gensec state */ + if (!dce_conn->auth_state.gensec_security) { return False; } @@ -235,6 +239,11 @@ BOOL dcesrv_auth_alter_ack(struct dcesrv_call_state *call, struct dcerpc_packet struct dcesrv_connection *dce_conn = call->conn; NTSTATUS status; + /* on a pure interface change there is no auth blob */ + if (pkt->u.alter.auth_info.length == 0) { + return True; + } + if (!call->conn->auth_state.gensec_security) { return False; } -- cgit