1
0
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:
Volker Lendecke 2008-04-20 00:01:52 +02:00
parent 2e4c1ba389
commit 3f6c5b9966
3 changed files with 21 additions and 6 deletions

View File

@ -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)));

View File

@ -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);

View File

@ -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;