mirror of
https://github.com/samba-team/samba.git
synced 2025-02-26 21:57:41 +03:00
s3:rpc_client: pass object and table to rpccli_bh_create()
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
parent
d052528974
commit
872486bbd0
@ -2048,15 +2048,17 @@ static const struct dcerpc_binding_handle_ops rpccli_bh_ops = {
|
||||
};
|
||||
|
||||
/* initialise a rpc_pipe_client binding handle */
|
||||
struct dcerpc_binding_handle *rpccli_bh_create(struct rpc_pipe_client *c)
|
||||
struct dcerpc_binding_handle *rpccli_bh_create(struct rpc_pipe_client *c,
|
||||
const struct GUID *object,
|
||||
const struct ndr_interface_table *table)
|
||||
{
|
||||
struct dcerpc_binding_handle *h;
|
||||
struct rpccli_bh_state *hs;
|
||||
|
||||
h = dcerpc_binding_handle_create(c,
|
||||
&rpccli_bh_ops,
|
||||
NULL,
|
||||
NULL, /* TODO */
|
||||
object,
|
||||
table,
|
||||
&hs,
|
||||
struct rpccli_bh_state,
|
||||
__location__);
|
||||
@ -2252,7 +2254,7 @@ static NTSTATUS rpc_pipe_open_tcp_port(TALLOC_CTX *mem_ctx, const char *host,
|
||||
|
||||
result->transport->transport = NCACN_IP_TCP;
|
||||
|
||||
result->binding_handle = rpccli_bh_create(result);
|
||||
result->binding_handle = rpccli_bh_create(result, NULL, table);
|
||||
if (result->binding_handle == NULL) {
|
||||
TALLOC_FREE(result);
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
@ -2491,7 +2493,7 @@ NTSTATUS rpc_pipe_open_ncalrpc(TALLOC_CTX *mem_ctx, const char *socket_path,
|
||||
|
||||
result->transport->transport = NCALRPC;
|
||||
|
||||
result->binding_handle = rpccli_bh_create(result);
|
||||
result->binding_handle = rpccli_bh_create(result, NULL, table);
|
||||
if (result->binding_handle == NULL) {
|
||||
TALLOC_FREE(result);
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
@ -2582,7 +2584,7 @@ static NTSTATUS rpc_pipe_open_np(struct cli_state *cli,
|
||||
DLIST_ADD(np_ref->cli->pipe_list, np_ref->pipe);
|
||||
talloc_set_destructor(np_ref, rpc_pipe_client_np_ref_destructor);
|
||||
|
||||
result->binding_handle = rpccli_bh_create(result);
|
||||
result->binding_handle = rpccli_bh_create(result, NULL, table);
|
||||
if (result->binding_handle == NULL) {
|
||||
TALLOC_FREE(result);
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
|
@ -68,7 +68,9 @@ NTSTATUS rpc_pipe_open_ncalrpc(TALLOC_CTX *mem_ctx, const char *socket_path,
|
||||
const struct ndr_interface_table *table,
|
||||
struct rpc_pipe_client **presult);
|
||||
|
||||
struct dcerpc_binding_handle *rpccli_bh_create(struct rpc_pipe_client *c);
|
||||
struct dcerpc_binding_handle *rpccli_bh_create(struct rpc_pipe_client *c,
|
||||
const struct GUID *object,
|
||||
const struct ndr_interface_table *table);
|
||||
|
||||
NTSTATUS cli_rpc_pipe_open_noauth(struct cli_state *cli,
|
||||
const struct ndr_interface_table *table,
|
||||
|
@ -640,7 +640,7 @@ struct np_proxy_state *make_external_rpc_pipe_p(TALLOC_CTX *mem_ctx,
|
||||
|
||||
static NTSTATUS rpc_pipe_open_external(TALLOC_CTX *mem_ctx,
|
||||
const char *pipe_name,
|
||||
const struct ndr_syntax_id *abstract_syntax,
|
||||
const struct ndr_interface_table *table,
|
||||
const struct auth_session_info *session_info,
|
||||
struct rpc_pipe_client **_result)
|
||||
{
|
||||
@ -675,7 +675,7 @@ static NTSTATUS rpc_pipe_open_external(TALLOC_CTX *mem_ctx,
|
||||
goto done;
|
||||
}
|
||||
|
||||
result->abstract_syntax = *abstract_syntax;
|
||||
result->abstract_syntax = table->syntax_id;
|
||||
result->transfer_syntax = ndr_transfer_syntax_ndr;
|
||||
|
||||
result->desthost = get_myname(result);
|
||||
@ -696,7 +696,7 @@ static NTSTATUS rpc_pipe_open_external(TALLOC_CTX *mem_ctx,
|
||||
goto done;
|
||||
}
|
||||
|
||||
result->binding_handle = rpccli_bh_create(result);
|
||||
result->binding_handle = rpccli_bh_create(result, NULL, table);
|
||||
if (result->binding_handle == NULL) {
|
||||
status = NT_STATUS_NO_MEMORY;
|
||||
DEBUG(0, ("Failed to create binding handle.\n"));
|
||||
@ -821,7 +821,7 @@ NTSTATUS rpc_pipe_open_interface(TALLOC_CTX *mem_ctx,
|
||||
* to spoolssd. */
|
||||
|
||||
status = rpc_pipe_open_external(tmp_ctx,
|
||||
pipe_name, &table->syntax_id,
|
||||
pipe_name, table,
|
||||
session_info,
|
||||
&cli);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user