diff options
Diffstat (limited to 'source4/libnet')
-rw-r--r-- | source4/libnet/libnet_join.c | 12 | ||||
-rw-r--r-- | source4/libnet/libnet_passwd.c | 8 | ||||
-rw-r--r-- | source4/libnet/libnet_rpc.c | 8 | ||||
-rw-r--r-- | source4/libnet/libnet_rpc.h | 4 | ||||
-rw-r--r-- | source4/libnet/libnet_share.c | 12 | ||||
-rw-r--r-- | source4/libnet/libnet_time.c | 4 | ||||
-rw-r--r-- | source4/libnet/libnet_user.c | 4 | ||||
-rw-r--r-- | source4/libnet/libnet_vampire.c | 3 |
8 files changed, 16 insertions, 39 deletions
diff --git a/source4/libnet/libnet_join.c b/source4/libnet/libnet_join.c index 28d12247c9..11e1dfc175 100644 --- a/source4/libnet/libnet_join.c +++ b/source4/libnet/libnet_join.c @@ -274,8 +274,7 @@ static NTSTATUS libnet_JoinADSDomain(struct libnet_context *ctx, struct libnet_J status = dcerpc_pipe_connect_b(tmp_ctx, &drsuapi_pipe, drsuapi_binding, - DCERPC_DRSUAPI_UUID, - DCERPC_DRSUAPI_VERSION, + &dcerpc_table_drsuapi, ctx->cred, ctx->event_ctx); if (!NT_STATUS_IS_OK(status)) { @@ -644,9 +643,7 @@ NTSTATUS libnet_JoinDomain(struct libnet_context *ctx, TALLOC_CTX *mem_ctx, stru c->level = LIBNET_RPC_CONNECT_BINDING; c->in.binding = r->in.binding; } - c->in.dcerpc_iface_name = DCERPC_LSARPC_NAME; - c->in.dcerpc_iface_uuid = DCERPC_LSARPC_UUID; - c->in.dcerpc_iface_version = DCERPC_LSARPC_VERSION; + c->in.dcerpc_iface = &dcerpc_table_lsarpc; /* connect to the LSA pipe of the PDC */ @@ -761,7 +758,7 @@ NTSTATUS libnet_JoinDomain(struct libnet_context *ctx, TALLOC_CTX *mem_ctx, stru /* Make binding string for samr, not the other pipe */ status = dcerpc_epm_map_binding(tmp_ctx, samr_binding, - DCERPC_SAMR_UUID, DCERPC_SAMR_VERSION, + &dcerpc_table_samr, lsa_pipe->conn->event_ctx); if (!NT_STATUS_IS_OK(status)) { r->out.error_string = talloc_asprintf(mem_ctx, @@ -782,8 +779,7 @@ NTSTATUS libnet_JoinDomain(struct libnet_context *ctx, TALLOC_CTX *mem_ctx, stru return status; } - status = dcerpc_pipe_auth(samr_pipe, samr_binding, DCERPC_SAMR_UUID, - DCERPC_SAMR_VERSION, ctx->cred); + status = dcerpc_pipe_auth(samr_pipe, samr_binding, &dcerpc_table_samr, ctx->cred); if (!NT_STATUS_IS_OK(status)) { r->out.error_string = talloc_asprintf(mem_ctx, "SAMR bind failed: %s", diff --git a/source4/libnet/libnet_passwd.c b/source4/libnet/libnet_passwd.c index cdd5043cb8..db54935a78 100644 --- a/source4/libnet/libnet_passwd.c +++ b/source4/libnet/libnet_passwd.c @@ -54,9 +54,7 @@ static NTSTATUS libnet_ChangePassword_samr(struct libnet_context *ctx, TALLOC_CT /* prepare connect to the SAMR pipe of the users domain PDC */ c.level = LIBNET_RPC_CONNECT_PDC; c.in.domain_name = r->samr.in.domain_name; - c.in.dcerpc_iface_name = DCERPC_SAMR_NAME; - c.in.dcerpc_iface_uuid = DCERPC_SAMR_UUID; - c.in.dcerpc_iface_version = DCERPC_SAMR_VERSION; + c.in.dcerpc_iface = &dcerpc_table_samr; /* 1. connect to the SAMR pipe of users domain PDC (maybe a standalone server or workstation) */ status = libnet_RpcConnect(ctx, mem_ctx, &c); @@ -517,9 +515,7 @@ static NTSTATUS libnet_SetPassword_samr(struct libnet_context *ctx, TALLOC_CTX * /* prepare connect to the SAMR pipe of users domain PDC */ c.level = LIBNET_RPC_CONNECT_PDC; c.in.domain_name = r->samr.in.domain_name; - c.in.dcerpc_iface_name = DCERPC_SAMR_NAME; - c.in.dcerpc_iface_uuid = DCERPC_SAMR_UUID; - c.in.dcerpc_iface_version = DCERPC_SAMR_VERSION; + c.in.dcerpc_iface = &dcerpc_table_samr; /* 1. connect to the SAMR pipe of users domain PDC (maybe a standalone server or workstation) */ status = libnet_RpcConnect(ctx, mem_ctx, &c); diff --git a/source4/libnet/libnet_rpc.c b/source4/libnet/libnet_rpc.c index e926fc3778..6b94734f9b 100644 --- a/source4/libnet/libnet_rpc.c +++ b/source4/libnet/libnet_rpc.c @@ -51,13 +51,13 @@ static NTSTATUS libnet_RpcConnectSrv(struct libnet_context *ctx, TALLOC_CTX *mem /* connect to remote dcerpc pipe */ status = dcerpc_pipe_connect(mem_ctx, &r->out.dcerpc_pipe, - binding, r->in.dcerpc_iface_uuid, r->in.dcerpc_iface_version, + binding, r->in.dcerpc_iface, ctx->cred, ctx->event_ctx); if (!NT_STATUS_IS_OK(status)) { r->out.error_string = talloc_asprintf(mem_ctx, "dcerpc_pipe_connect to pipe %s failed with %s\n", - r->in.dcerpc_iface_name, binding); + r->in.dcerpc_iface->name, binding); return status; } @@ -98,9 +98,7 @@ static NTSTATUS libnet_RpcConnectPdc(struct libnet_context *ctx, TALLOC_CTX *mem /* ok, pdc has been found so do attempt to rpc connect */ r2.level = LIBNET_RPC_CONNECT_SERVER; r2.in.domain_name = talloc_strdup(mem_ctx, f.out.address[0]); - r2.in.dcerpc_iface_name = r->in.dcerpc_iface_name; - r2.in.dcerpc_iface_uuid = r->in.dcerpc_iface_uuid; - r2.in.dcerpc_iface_version = r->in.dcerpc_iface_version; + r2.in.dcerpc_iface = r->in.dcerpc_iface; status = libnet_RpcConnect(ctx, mem_ctx, &r2); diff --git a/source4/libnet/libnet_rpc.h b/source4/libnet/libnet_rpc.h index 708084cf58..d2a83bf642 100644 --- a/source4/libnet/libnet_rpc.h +++ b/source4/libnet/libnet_rpc.h @@ -36,9 +36,7 @@ struct libnet_RpcConnect { struct { const char *domain_name; const char *binding; - const char *dcerpc_iface_name; - const char *dcerpc_iface_uuid; - uint32_t dcerpc_iface_version; + const struct dcerpc_interface_table *dcerpc_iface; } in; struct { struct dcerpc_pipe *dcerpc_pipe; diff --git a/source4/libnet/libnet_share.c b/source4/libnet/libnet_share.c index 4b473436e1..0473658da8 100644 --- a/source4/libnet/libnet_share.c +++ b/source4/libnet/libnet_share.c @@ -34,9 +34,7 @@ NTSTATUS libnet_ListShares(struct libnet_context *ctx, c.level = LIBNET_RPC_CONNECT_SERVER; c.in.domain_name = r->in.server_name; - c.in.dcerpc_iface_name = DCERPC_SRVSVC_NAME; - c.in.dcerpc_iface_uuid = DCERPC_SRVSVC_UUID; - c.in.dcerpc_iface_version = DCERPC_SRVSVC_VERSION; + c.in.dcerpc_iface = &dcerpc_table_srvsvc; status = libnet_RpcConnect(ctx, mem_ctx, &c); if (!NT_STATUS_IS_OK(status)) { @@ -87,9 +85,7 @@ NTSTATUS libnet_AddShare(struct libnet_context *ctx, c.level = LIBNET_RPC_CONNECT_SERVER; c.in.domain_name = r->in.server_name; - c.in.dcerpc_iface_name = DCERPC_SRVSVC_NAME; - c.in.dcerpc_iface_uuid = DCERPC_SRVSVC_UUID; - c.in.dcerpc_iface_version = DCERPC_SRVSVC_VERSION; + c.in.dcerpc_iface = &dcerpc_table_srvsvc; status = libnet_RpcConnect(ctx, mem_ctx, &c); if (!NT_STATUS_IS_OK(status)) { @@ -128,9 +124,7 @@ NTSTATUS libnet_DelShare(struct libnet_context *ctx, c.level = LIBNET_RPC_CONNECT_SERVER; c.in.domain_name = r->in.server_name; - c.in.dcerpc_iface_name = DCERPC_SRVSVC_NAME; - c.in.dcerpc_iface_uuid = DCERPC_SRVSVC_UUID; - c.in.dcerpc_iface_version = DCERPC_SRVSVC_VERSION; + c.in.dcerpc_iface = &dcerpc_table_srvsvc; status = libnet_RpcConnect(ctx, mem_ctx, &c); if (!NT_STATUS_IS_OK(status)) { diff --git a/source4/libnet/libnet_time.c b/source4/libnet/libnet_time.c index 63d63e104f..655a475503 100644 --- a/source4/libnet/libnet_time.c +++ b/source4/libnet/libnet_time.c @@ -36,9 +36,7 @@ static NTSTATUS libnet_RemoteTOD_srvsvc(struct libnet_context *ctx, TALLOC_CTX * /* prepare connect to the SRVSVC pipe of a timeserver */ c.level = LIBNET_RPC_CONNECT_SERVER; c.in.domain_name = r->srvsvc.in.server_name; - c.in.dcerpc_iface_name = DCERPC_SRVSVC_NAME; - c.in.dcerpc_iface_uuid = DCERPC_SRVSVC_UUID; - c.in.dcerpc_iface_version = DCERPC_SRVSVC_VERSION; + c.in.dcerpc_iface = &dcerpc_table_srvsvc; /* 1. connect to the SRVSVC pipe of a timeserver */ status = libnet_RpcConnect(ctx, mem_ctx, &c); diff --git a/source4/libnet/libnet_user.c b/source4/libnet/libnet_user.c index 379989dd2b..c8e497a08e 100644 --- a/source4/libnet/libnet_user.c +++ b/source4/libnet/libnet_user.c @@ -44,9 +44,7 @@ NTSTATUS libnet_CreateUser(struct libnet_context *ctx, TALLOC_CTX *mem_ctx, stru /* connect rpc service of remote server */ cn.level = LIBNET_RPC_CONNECT_SERVER; cn.in.domain_name = talloc_strdup(mem_ctx, *fp.out.address); - cn.in.dcerpc_iface_name = DCERPC_SAMR_NAME; - cn.in.dcerpc_iface_uuid = DCERPC_SAMR_UUID; - cn.in.dcerpc_iface_version = DCERPC_SAMR_VERSION; + cn.in.dcerpc_iface = &dcerpc_table_samr; status = libnet_RpcConnect(ctx, mem_ctx, &cn); if (!NT_STATUS_IS_OK(status)) { diff --git a/source4/libnet/libnet_vampire.c b/source4/libnet/libnet_vampire.c index 80da646200..d0b7722c08 100644 --- a/source4/libnet/libnet_vampire.c +++ b/source4/libnet/libnet_vampire.c @@ -212,8 +212,7 @@ NTSTATUS libnet_SamSync_netlogon(struct libnet_context *ctx, TALLOC_CTX *mem_ctx /* Setup schannel */ nt_status = dcerpc_pipe_connect_b(samsync_ctx, &p, b, - DCERPC_NETLOGON_UUID, - DCERPC_NETLOGON_VERSION, + &dcerpc_table_netlogon, machine_account, ctx->event_ctx); if (!NT_STATUS_IS_OK(nt_status)) { |