mirror of
https://github.com/samba-team/samba.git
synced 2025-07-30 19:42:05 +03:00
Introduce rpc_pipe_np_smb_conn()
This abstracts away all references to rpc_pipe_client->cli, the only reference is now in cli_pipe.c.
This commit is contained in:
@ -99,7 +99,7 @@ static struct rpc_pipe_client *pipe_cm_find(struct cli_state *cli,
|
||||
|
||||
for (p = pipe_connections; p; p = p->next) {
|
||||
|
||||
if (!p->pipe->cli) {
|
||||
if (!rpc_pipe_np_smb_conn(p->pipe)) {
|
||||
*status = NT_STATUS_PIPE_EMPTY;
|
||||
return NULL;
|
||||
}
|
||||
|
@ -2140,6 +2140,11 @@ bool rpccli_is_pipe_idx(struct rpc_pipe_client *cli, int pipe_idx)
|
||||
return (cli->abstract_syntax == pipe_names[pipe_idx].abstr_syntax);
|
||||
}
|
||||
|
||||
struct cli_state *rpc_pipe_np_smb_conn(struct rpc_pipe_client *p)
|
||||
{
|
||||
return p->cli;
|
||||
}
|
||||
|
||||
static int rpc_pipe_destructor(struct rpc_pipe_client *p)
|
||||
{
|
||||
bool ret;
|
||||
|
@ -164,7 +164,7 @@ static void srv_spoolss_replycloseprinter(int snum, POLICY_HND *handle)
|
||||
/* if it's the last connection, deconnect the IPC$ share */
|
||||
if (smb_connections==1) {
|
||||
|
||||
cli_shutdown( notify_cli_pipe->cli );
|
||||
cli_shutdown( rpc_pipe_np_smb_conn(notify_cli_pipe) );
|
||||
notify_cli_pipe = NULL; /* The above call shuts downn the pipe also. */
|
||||
|
||||
messaging_deregister(smbd_messaging_context(),
|
||||
|
@ -2645,7 +2645,7 @@ static WERROR cmd_spoolss_printercmp(struct rpc_pipe_client *cli,
|
||||
{
|
||||
fstring printername, servername1, servername2;
|
||||
char *printername_path = NULL;
|
||||
struct cli_state *cli_server1 = cli->cli;
|
||||
struct cli_state *cli_server1 = rpc_pipe_np_smb_conn(cli);
|
||||
struct cli_state *cli_server2 = NULL;
|
||||
struct rpc_pipe_client *cli2 = NULL;
|
||||
POLICY_HND hPrinter1, hPrinter2;
|
||||
|
@ -30,10 +30,12 @@ static NTSTATUS cmd_testme(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
|
||||
|
||||
d_printf("testme\n");
|
||||
|
||||
lsa_pipe = cli_rpc_pipe_open_noauth(cli->cli, PI_LSARPC, &status);
|
||||
lsa_pipe = cli_rpc_pipe_open_noauth(rpc_pipe_np_smb_conn(cli),
|
||||
PI_LSARPC, &status);
|
||||
if (lsa_pipe == NULL) goto done;
|
||||
|
||||
samr_pipe = cli_rpc_pipe_open_noauth(cli->cli, PI_SAMR, &status);
|
||||
samr_pipe = cli_rpc_pipe_open_noauth(rpc_pipe_np_smb_conn(cli),
|
||||
PI_SAMR, &status);
|
||||
if (samr_pipe == NULL) goto done;
|
||||
|
||||
status = rpccli_lsa_open_policy(lsa_pipe, mem_ctx, False,
|
||||
|
@ -1221,8 +1221,8 @@ static NTSTATUS rpc_sh_handle_user(TALLOC_CTX *mem_ctx,
|
||||
ZERO_STRUCT(domain_pol);
|
||||
ZERO_STRUCT(user_pol);
|
||||
|
||||
result = net_rpc_lookup_name(mem_ctx, pipe_hnd->cli, argv[0],
|
||||
NULL, NULL, &sid, &type);
|
||||
result = net_rpc_lookup_name(mem_ctx, rpc_pipe_np_smb_conn(pipe_hnd),
|
||||
argv[0], NULL, NULL, &sid, &type);
|
||||
if (!NT_STATUS_IS_OK(result)) {
|
||||
d_fprintf(stderr, "Could not lookup %s: %s\n", argv[0],
|
||||
nt_errstr(result));
|
||||
@ -2087,8 +2087,8 @@ static NTSTATUS rpc_add_aliasmem(struct rpc_pipe_client *pipe_hnd,
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
result = get_sid_from_name(pipe_hnd->cli, mem_ctx, member,
|
||||
&member_sid, &member_type);
|
||||
result = get_sid_from_name(rpc_pipe_np_smb_conn(pipe_hnd), mem_ctx,
|
||||
member, &member_sid, &member_type);
|
||||
|
||||
if (!NT_STATUS_IS_OK(result)) {
|
||||
d_fprintf(stderr, "Could not lookup up group member %s\n", member);
|
||||
@ -2282,8 +2282,8 @@ static NTSTATUS rpc_del_aliasmem(struct rpc_pipe_client *pipe_hnd,
|
||||
if (!sid_split_rid(&sid, &alias_rid))
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
|
||||
result = get_sid_from_name(pipe_hnd->cli, mem_ctx, member,
|
||||
&member_sid, &member_type);
|
||||
result = get_sid_from_name(rpc_pipe_np_smb_conn(pipe_hnd), mem_ctx,
|
||||
member, &member_sid, &member_type);
|
||||
|
||||
if (!NT_STATUS_IS_OK(result)) {
|
||||
d_fprintf(stderr, "Could not lookup up group member %s\n", member);
|
||||
@ -2736,7 +2736,8 @@ static NTSTATUS rpc_list_alias_members(struct rpc_pipe_client *pipe_hnd,
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
lsa_pipe = cli_rpc_pipe_open_noauth(pipe_hnd->cli, PI_LSARPC, &result);
|
||||
lsa_pipe = cli_rpc_pipe_open_noauth(rpc_pipe_np_smb_conn(pipe_hnd),
|
||||
PI_LSARPC, &result);
|
||||
if (!lsa_pipe) {
|
||||
d_fprintf(stderr, "Couldn't open LSA pipe. Error was %s\n",
|
||||
nt_errstr(result) );
|
||||
@ -4480,7 +4481,7 @@ static void show_userlist(struct rpc_pipe_client *pipe_hnd,
|
||||
int fnum;
|
||||
SEC_DESC *share_sd = NULL;
|
||||
SEC_DESC *root_sd = NULL;
|
||||
struct cli_state *cli = pipe_hnd->cli;
|
||||
struct cli_state *cli = rpc_pipe_np_smb_conn(pipe_hnd);
|
||||
int i;
|
||||
union srvsvc_NetShareInfo info;
|
||||
WERROR result;
|
||||
@ -5945,8 +5946,8 @@ static NTSTATUS vampire_trusted_domain(struct rpc_pipe_client *pipe_hnd,
|
||||
data = data_blob(info->password.password->data,
|
||||
info->password.password->length);
|
||||
|
||||
cleartextpwd = decrypt_trustdom_secret(pipe_hnd->cli->pwd.password,
|
||||
&data);
|
||||
cleartextpwd = decrypt_trustdom_secret(
|
||||
rpc_pipe_np_smb_conn(pipe_hnd)->pwd.password, &data);
|
||||
|
||||
if (cleartextpwd == NULL) {
|
||||
DEBUG(0,("retrieved NULL password\n"));
|
||||
|
Reference in New Issue
Block a user