diff options
author | Anatoliy Atanasov <anatoliy.atanasov@postpath.com> | 2010-09-26 17:05:13 -0700 |
---|---|---|
committer | Anatoliy Atanasov <anatoliy.atanasov@postpath.com> | 2010-09-27 09:59:21 -0700 |
commit | 2cf0525b2382d22b3497f49eb58b9fd8f0c837e1 (patch) | |
tree | bc61485352e34403dbc60fefea32592b90a41848 | |
parent | ed7bbc993d4fd080303611a64fefc2b47d786176 (diff) | |
download | samba-2cf0525b2382d22b3497f49eb58b9fd8f0c837e1.tar.gz samba-2cf0525b2382d22b3497f49eb58b9fd8f0c837e1.tar.bz2 samba-2cf0525b2382d22b3497f49eb58b9fd8f0c837e1.zip |
s4/irpc: Add security token to the binding handle when doing irp call forwarding
-rw-r--r-- | source4/rpc_server/common/forward.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source4/rpc_server/common/forward.c b/source4/rpc_server/common/forward.c index c983ac361e..113ac5f6c4 100644 --- a/source4/rpc_server/common/forward.c +++ b/source4/rpc_server/common/forward.c @@ -24,6 +24,8 @@ #include "rpc_server/dcerpc_server.h" #include "rpc_server/common/common.h" #include "messaging/irpc.h" +#include "auth/auth.h" + struct dcesrv_forward_state { const char *opname; @@ -69,6 +71,7 @@ void dcesrv_irpc_forward_rpc_call(struct dcesrv_call_state *dce_call, TALLOC_CTX struct dcesrv_forward_state *st; struct dcerpc_binding_handle *binding_handle; struct tevent_req *subreq; + struct security_token *token; st = talloc(mem_ctx, struct dcesrv_forward_state); if (st == NULL) { @@ -100,6 +103,10 @@ void dcesrv_irpc_forward_rpc_call(struct dcesrv_call_state *dce_call, TALLOC_CTX /* reset timeout for the handle */ dcerpc_binding_handle_set_timeout(binding_handle, timeout); + /* add security token to the handle*/ + token = dce_call->conn->auth_state.session_info->security_token; + irpc_binding_handle_add_security_token(binding_handle, token); + /* forward the call */ subreq = dcerpc_binding_handle_call_send(st, dce_call->event_ctx, binding_handle, |