summaryrefslogtreecommitdiff
path: root/source4/rpc_server/dcesrv_auth.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-01-10 12:39:42 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:08:38 -0500
commit34f6485dda4a48e7a70f11e7975c589981d27ca1 (patch)
tree04d07307381c6b123dbdbb3ec09fbe1691e91ff3 /source4/rpc_server/dcesrv_auth.c
parente8c06b9221d9818042ea8a08efccfc88f17a9e3e (diff)
downloadsamba-34f6485dda4a48e7a70f11e7975c589981d27ca1.tar.gz
samba-34f6485dda4a48e7a70f11e7975c589981d27ca1.tar.bz2
samba-34f6485dda4a48e7a70f11e7975c589981d27ca1.zip
r4642: added support for alter_context in the server for adding new interfaces to an existing pipe
(This used to be commit b6af57c86829aadc261cd7b79091cef17c15b967)
Diffstat (limited to 'source4/rpc_server/dcesrv_auth.c')
-rw-r--r--source4/rpc_server/dcesrv_auth.c15
1 files changed, 12 insertions, 3 deletions
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;
}