mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
Use rpc_pipe_client->user_name instead of rpc_pipe_client->cli->user_name
Also make sure that rpc_pipe_client->user_name is always talloced.
This commit is contained in:
parent
2e4c1ba389
commit
3f6c5b9966
@ -296,7 +296,7 @@ WERROR get_remote_printer_publishing_data(struct rpc_pipe_client *cli,
|
||||
|
||||
result = rpccli_spoolss_open_printer_ex(cli, mem_ctx, printername,
|
||||
"", MAXIMUM_ALLOWED_ACCESS,
|
||||
servername, cli->cli->user_name, &pol);
|
||||
servername, cli->user_name, &pol);
|
||||
if (!W_ERROR_IS_OK(result)) {
|
||||
DEBUG(3, ("Unable to open printer %s, error is %s.\n",
|
||||
printername, dos_errstr(result)));
|
||||
|
@ -2275,6 +2275,15 @@ struct rpc_pipe_client *cli_rpc_pipe_open_noauth(struct cli_state *cli, int pipe
|
||||
return NULL;
|
||||
}
|
||||
|
||||
result->domain = talloc_strdup(result, cli->domain);
|
||||
result->user_name = talloc_strdup(result, cli->user_name);
|
||||
|
||||
if ((result->domain == NULL) || (result->user_name == NULL)) {
|
||||
*perr = NT_STATUS_NO_MEMORY;
|
||||
cli_rpc_pipe_close(result);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
*perr = rpc_pipe_bind(result, PIPE_AUTH_TYPE_NONE, PIPE_AUTH_LEVEL_NONE);
|
||||
if (!NT_STATUS_IS_OK(*perr)) {
|
||||
int lvl = 0;
|
||||
@ -2330,8 +2339,14 @@ static struct rpc_pipe_client *cli_rpc_pipe_open_ntlmssp_internal(struct cli_sta
|
||||
|
||||
result->auth.cli_auth_data_free_func = cli_ntlmssp_auth_free;
|
||||
|
||||
result->domain = domain;
|
||||
result->user_name = username;
|
||||
result->domain = talloc_strdup(result, domain);
|
||||
result->user_name = talloc_strdup(result, username);
|
||||
|
||||
if ((result->domain == NULL) || (result->user_name == NULL)) {
|
||||
*perr = NT_STATUS_NO_MEMORY;
|
||||
goto err;
|
||||
}
|
||||
|
||||
pwd_set_cleartext(&result->pwd, password);
|
||||
|
||||
*perr = ntlmssp_client_start(&ntlmssp_state);
|
||||
|
@ -994,7 +994,7 @@ static bool get_printer_info(struct rpc_pipe_client *pipe_hnd,
|
||||
|
||||
/* argument given, get a single printer by name */
|
||||
if (!net_spoolss_open_printer_ex(pipe_hnd, mem_ctx, argv[0],
|
||||
MAXIMUM_ALLOWED_ACCESS, pipe_hnd->cli->user_name, &hnd))
|
||||
MAXIMUM_ALLOWED_ACCESS, pipe_hnd->user_name, &hnd))
|
||||
return False;
|
||||
|
||||
if (!net_spoolss_getprinter(pipe_hnd, mem_ctx, &hnd, level, ctr)) {
|
||||
@ -1190,7 +1190,7 @@ static NTSTATUS rpc_printer_publish_internals_args(struct rpc_pipe_client *pipe_
|
||||
|
||||
/* open printer handle */
|
||||
if (!net_spoolss_open_printer_ex(pipe_hnd, mem_ctx, sharename,
|
||||
PRINTER_ALL_ACCESS, pipe_hnd->cli->user_name, &hnd))
|
||||
PRINTER_ALL_ACCESS, pipe_hnd->user_name, &hnd))
|
||||
goto done;
|
||||
|
||||
got_hnd = True;
|
||||
@ -1838,7 +1838,7 @@ NTSTATUS rpc_printer_migrate_drivers_internals(const DOM_SID *domain_sid,
|
||||
|
||||
/* open src printer handle */
|
||||
if (!net_spoolss_open_printer_ex(pipe_hnd, mem_ctx, sharename,
|
||||
MAXIMUM_ALLOWED_ACCESS, pipe_hnd->cli->user_name, &hnd_src))
|
||||
MAXIMUM_ALLOWED_ACCESS, pipe_hnd->user_name, &hnd_src))
|
||||
goto done;
|
||||
|
||||
got_hnd_src = True;
|
||||
|
Loading…
Reference in New Issue
Block a user