diff options
author | Stefan Metzmacher <metze@samba.org> | 2015-11-10 10:25:10 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2016-03-10 10:15:21 +0100 |
commit | 645e777b0aca7d997867e0b3f0b48bfb138cc25c (patch) | |
tree | 09dd021b1a243dd0c1d110296a0d1ac726ae20e5 /source4/rpc_server | |
parent | 58b33896b65c5b51486eaf01f5f935ace2369fd0 (diff) | |
download | samba-645e777b0aca7d997867e0b3f0b48bfb138cc25c.tar.gz |
s4:rpc_server: dcesrv_generic_session_key should only work on local transports
This matches modern Windows servers.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Günther Deschner <gd@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Thu Mar 10 10:15:21 CET 2016 on sn-devel-144
Diffstat (limited to 'source4/rpc_server')
-rw-r--r-- | source4/rpc_server/common/reply.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source4/rpc_server/common/reply.c b/source4/rpc_server/common/reply.c index 59c289cf797..93bce7af08a 100644 --- a/source4/rpc_server/common/reply.c +++ b/source4/rpc_server/common/reply.c @@ -259,5 +259,12 @@ _PUBLIC_ NTSTATUS dcesrv_reply(struct dcesrv_call_state *call) NTSTATUS dcesrv_generic_session_key(struct dcesrv_connection *c, DATA_BLOB *session_key) { + enum dcerpc_transport_t transport = + dcerpc_binding_get_transport(c->endpoint->ep_description); + + if (transport != NCALRPC && transport != NCACN_UNIX_STREAM) { + return NT_STATUS_NO_USER_SESSION_KEY; + } + return dcerpc_generic_session_key(NULL, session_key); } |