diff options
author | Stefan Metzmacher <metze@samba.org> | 2014-02-04 02:06:06 +0100 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2014-02-13 11:54:17 +0100 |
commit | f67a7cb6b7412bdb72e15ca04ce6cef449f5ae55 (patch) | |
tree | 0bcfe10ce5c04d06eb2670f9dfde2c78b1f1c087 | |
parent | 451ca21f6a7681e5324ff1f5bb7c64f963baf1dd (diff) | |
download | samba-f67a7cb6b7412bdb72e15ca04ce6cef449f5ae55.tar.gz samba-f67a7cb6b7412bdb72e15ca04ce6cef449f5ae55.tar.xz samba-f67a7cb6b7412bdb72e15ca04ce6cef449f5ae55.zip |
s4:rpc_server/remote: use dcerpc_binding_set_*() in remote_op_bind()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
-rw-r--r-- | source4/rpc_server/remote/dcesrv_remote.c | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/source4/rpc_server/remote/dcesrv_remote.c b/source4/rpc_server/remote/dcesrv_remote.c index 09bda8b358..be4bd1253e 100644 --- a/source4/rpc_server/remote/dcesrv_remote.c +++ b/source4/rpc_server/remote/dcesrv_remote.c @@ -115,15 +115,26 @@ static NTSTATUS remote_op_bind(struct dcesrv_call_state *dce_call, const struct DEBUG(0, ("Failed to parse dcerpc binding '%s'\n", binding)); return status; } - - DEBUG(3, ("Using binding %s\n", dcerpc_binding_string(dce_call->context, b))); - + /* If we already have a remote association group ID, then use that */ if (dce_call->context->assoc_group->proxied_id != 0) { - b->assoc_group_id = dce_call->context->assoc_group->proxied_id; + status = dcerpc_binding_set_assoc_group_id(b, + dce_call->context->assoc_group->proxied_id); + if (!NT_STATUS_IS_OK(status)) { + DEBUG(0, ("dcerpc_binding_set_assoc_group_id() - %s'\n", + nt_errstr(status))); + return status; + } + } + + status = dcerpc_binding_set_abstract_syntax(b, &iface->syntax_id); + if (!NT_STATUS_IS_OK(status)) { + DEBUG(0, ("dcerpc_binding_set_abstract_syntax() - %s'\n", + nt_errstr(status))); + return status; } - b->object.if_version = if_version; + DEBUG(3, ("Using binding %s\n", dcerpc_binding_string(dce_call->context, b))); pipe_conn_req = dcerpc_pipe_connect_b_send(dce_call->context, b, table, credentials, dce_call->event_ctx, dce_call->conn->dce_ctx->lp_ctx); |