mirror of
https://github.com/samba-team/samba.git
synced 2025-02-24 13:57:43 +03:00
RPC sessions on np connections need the real session key transferred
This commit is contained in:
parent
09bc3a2f9c
commit
3080fd6624
@ -251,7 +251,7 @@ _PUBLIC_ NTSTATUS dcesrv_interface_register(struct dcesrv_context *dce_ctx,
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
static NTSTATUS dcesrv_inherited_session_key(struct dcesrv_connection *p,
|
||||
NTSTATUS dcesrv_inherited_session_key(struct dcesrv_connection *p,
|
||||
DATA_BLOB *session_key)
|
||||
{
|
||||
if (p->auth_state.session_info->session_key.length) {
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include "auth/gensec/gensec.h"
|
||||
#include "../lib/util/dlinklist.h"
|
||||
#include "rpc_server/dcerpc_server.h"
|
||||
#include "rpc_server/dcerpc_server_proto.h"
|
||||
#include "lib/events/events.h"
|
||||
#include "smbd/service_task.h"
|
||||
#include "smbd/service_stream.h"
|
||||
@ -139,6 +140,10 @@ static void dcesrv_sock_accept(struct stream_connection *srv_conn)
|
||||
dcesrv_conn->transport.get_my_addr = dcesrv_sock_get_my_addr;
|
||||
dcesrv_conn->transport.get_peer_addr = dcesrv_sock_get_peer_addr;
|
||||
|
||||
if (dcesrv_sock->endpoint->ep_description->transport == NCACN_NP) {
|
||||
dcesrv_conn->auth_state.session_key = dcesrv_inherited_session_key;
|
||||
}
|
||||
|
||||
srv_conn->private = dcesrv_conn;
|
||||
|
||||
irpc_add_name(srv_conn->msg_ctx, "rpc_server");
|
||||
|
Loading…
x
Reference in New Issue
Block a user