From: Volker Lendecke Date: Fri, 25 Apr 2008 14:31:25 +0000 (+0200) Subject: Revert "Move user/domain from rpc_pipe_client to cli_pipe_auth_data" X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=72b279a630d41f217095b373e07633e7cf92567e;p=thirdparty%2Fsamba.git Revert "Move user/domain from rpc_pipe_client to cli_pipe_auth_data" This reverts commit 42de50d2cd43e760d776694f7b5f003ba51d7f84. --- diff --git a/source/include/client.h b/source/include/client.h index 3459ae20d04..d866c09cce7 100644 --- a/source/include/client.h +++ b/source/include/client.h @@ -49,10 +49,6 @@ struct print_job_info { struct cli_pipe_auth_data { enum pipe_auth_type auth_type; /* switch for the union below. Defined in ntdomain.h */ enum pipe_auth_level auth_level; /* defined in ntdomain.h */ - - char *domain; - char *user_name; - union { struct schannel_auth_struct *schannel_auth; NTLMSSP_STATE *ntlmssp_state; @@ -75,6 +71,9 @@ struct rpc_pipe_client { char *desthost; char *srv_name_slash; + char *domain; + char *user_name; + uint16 max_xmit_frag; uint16 max_recv_frag; diff --git a/source/libads/ldap_printer.c b/source/libads/ldap_printer.c index 41f23b06a74..6682ec24d08 100644 --- a/source/libads/ldap_printer.c +++ b/source/libads/ldap_printer.c @@ -296,8 +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->auth->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))); diff --git a/source/rpc_client/cli_pipe.c b/source/rpc_client/cli_pipe.c index 14ee78202a5..8c540ee6fd2 100644 --- a/source/rpc_client/cli_pipe.c +++ b/source/rpc_client/cli_pipe.c @@ -1067,15 +1067,14 @@ static NTSTATUS create_schannel_auth_rpc_bind_req( struct rpc_pipe_client *cli, /* Use lp_workgroup() if domain not specified */ - if (!cli->auth->domain || !cli->auth->domain[0]) { - cli->auth->domain = talloc_strdup(cli, lp_workgroup()); - if (cli->auth->domain == NULL) { + if (!cli->domain || !cli->domain[0]) { + cli->domain = talloc_strdup(cli, lp_workgroup()); + if (cli->domain == NULL) { return NT_STATUS_NO_MEMORY; } } - init_rpc_auth_schannel_neg(&schannel_neg, cli->auth->domain, - global_myname()); + init_rpc_auth_schannel_neg(&schannel_neg, cli->domain, global_myname()); /* * Now marshall the data into the auth parse_struct. @@ -2236,14 +2235,14 @@ static struct rpc_pipe_client *cli_rpc_pipe_open(struct cli_state *cli, int pipe result->auth->auth_type = PIPE_AUTH_TYPE_NONE; result->auth->auth_level = PIPE_AUTH_LEVEL_NONE; - result->auth->domain = talloc_strdup(result, cli->domain); - result->auth->user_name = talloc_strdup(result, cli->user_name); + result->domain = talloc_strdup(result, cli->domain); + result->user_name = talloc_strdup(result, cli->user_name); result->desthost = talloc_strdup(result, cli->desthost); result->srv_name_slash = talloc_asprintf_strupper_m( result, "\\\\%s", result->desthost); - if ((result->auth->domain == NULL) - || (result->auth->user_name == NULL) + if ((result->domain == NULL) + || (result->user_name == NULL) || (result->desthost == NULL) || (result->srv_name_slash == NULL)) { *perr = NT_STATUS_NO_MEMORY; @@ -2350,14 +2349,13 @@ 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; - TALLOC_FREE(result->auth->domain); - TALLOC_FREE(result->auth->user_name); + TALLOC_FREE(result->domain); + TALLOC_FREE(result->user_name); - result->auth->domain = talloc_strdup(result, domain); - result->auth->user_name = talloc_strdup(result, username); + result->domain = talloc_strdup(result, domain); + result->user_name = talloc_strdup(result, username); - if ((result->auth->domain == NULL) - || (result->auth->user_name == NULL)) { + if ((result->domain == NULL) || (result->user_name == NULL)) { *perr = NT_STATUS_NO_MEMORY; goto err; } @@ -2572,9 +2570,9 @@ struct rpc_pipe_client *cli_rpc_pipe_open_schannel_with_key(struct cli_state *cl return NULL; } - TALLOC_FREE(result->auth->domain); - result->auth->domain = talloc_strdup(result, domain); - if (result->auth->domain == NULL) { + TALLOC_FREE(result->domain); + result->domain = talloc_strdup(result, domain); + if (result->domain == NULL) { TALLOC_FREE(result); *perr = NT_STATUS_NO_MEMORY; return NULL; diff --git a/source/rpc_client/cli_spoolss.c b/source/rpc_client/cli_spoolss.c index 223a277d4a5..823af6fb4f5 100644 --- a/source/rpc_client/cli_spoolss.c +++ b/source/rpc_client/cli_spoolss.c @@ -1031,7 +1031,7 @@ WERROR rpccli_spoolss_addprinterex (struct rpc_pipe_client *cli, TALLOC_CTX *mem strupper_m(client); strupper_m(server); - fstrcpy (user, cli->auth->user_name); + fstrcpy (user, cli->user_name); make_spoolss_q_addprinterex( mem_ctx, &in, server, client, user, level, ctr); diff --git a/source/rpcclient/cmd_spoolss.c b/source/rpcclient/cmd_spoolss.c index 5368a0ff4ee..c89f9874467 100644 --- a/source/rpcclient/cmd_spoolss.c +++ b/source/rpcclient/cmd_spoolss.c @@ -111,7 +111,7 @@ static WERROR cmd_spoolss_open_printer_ex(struct rpc_pipe_client *cli, slprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); - fstrcpy(user, cli->auth->user_name); + fstrcpy(user, cli->user_name); fstrcpy(printername, argv[1]); /* Open the printer handle */ @@ -491,7 +491,7 @@ static WERROR cmd_spoolss_setprinter(struct rpc_pipe_client *cli, slprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); slprintf(printername, sizeof(servername)-1, "%s\\%s", servername, argv[1]); - fstrcpy(user, cli->auth->user_name); + fstrcpy(user, cli->user_name); /* get a printer handle */ result = rpccli_spoolss_open_printer_ex(cli, mem_ctx, printername, "", @@ -557,7 +557,7 @@ static WERROR cmd_spoolss_setprintername(struct rpc_pipe_client *cli, slprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); slprintf(printername, sizeof(printername)-1, "%s\\%s", servername, argv[1]); - fstrcpy(user, cli->auth->user_name); + fstrcpy(user, cli->user_name); /* get a printer handle */ result = rpccli_spoolss_open_printer_ex(cli, mem_ctx, printername, "", @@ -620,7 +620,7 @@ static WERROR cmd_spoolss_getprinter(struct rpc_pipe_client *cli, slprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); slprintf(printername, sizeof(printername)-1, "%s\\%s", servername, argv[1]); - fstrcpy(user, cli->auth->user_name); + fstrcpy(user, cli->user_name); /* get a printer handle */ @@ -763,7 +763,7 @@ static WERROR cmd_spoolss_getprinterdata(struct rpc_pipe_client *cli, else slprintf(printername, sizeof(servername)-1, "%s\\%s", servername, argv[1]); - fstrcpy(user, cli->auth->user_name); + fstrcpy(user, cli->user_name); /* get a printer handle */ @@ -830,7 +830,7 @@ static WERROR cmd_spoolss_getprinterdataex(struct rpc_pipe_client *cli, else slprintf(printername, sizeof(printername)-1, "%s\\%s", servername, argv[1]); - fstrcpy(user, cli->auth->user_name); + fstrcpy(user, cli->user_name); /* get a printer handle */ @@ -1001,7 +1001,7 @@ static WERROR cmd_spoolss_getdriver(struct rpc_pipe_client *cli, /* get the arguments need to open the printer handle */ slprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); - fstrcpy(user, cli->auth->user_name); + fstrcpy(user, cli->user_name); slprintf(printername, sizeof(servername)-1, "%s\\%s", servername, argv[1]); if (argc == 3) info_level = atoi(argv[2]); @@ -1447,7 +1447,7 @@ static WERROR cmd_spoolss_setdriver(struct rpc_pipe_client *cli, slprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); slprintf(printername, sizeof(printername)-1, "%s\\%s", servername, argv[1]); - fstrcpy(user, cli->auth->user_name); + fstrcpy(user, cli->user_name); /* Get a printer handle */ @@ -1660,8 +1660,7 @@ static WERROR cmd_spoolss_addform(struct rpc_pipe_client *cli, TALLOC_CTX *mem_c werror = rpccli_spoolss_open_printer_ex(cli, mem_ctx, printername, "", PRINTER_ALL_ACCESS, - servername, cli->auth->user_name, - &handle); + servername, cli->user_name, &handle); if (!W_ERROR_IS_OK(werror)) goto done; @@ -1721,7 +1720,7 @@ static WERROR cmd_spoolss_setform(struct rpc_pipe_client *cli, TALLOC_CTX *mem_c werror = rpccli_spoolss_open_printer_ex( cli, mem_ctx, printername, "", MAXIMUM_ALLOWED_ACCESS, - servername, cli->auth->user_name, &handle); + servername, cli->user_name, &handle); if (!W_ERROR_IS_OK(werror)) goto done; @@ -1818,7 +1817,7 @@ static WERROR cmd_spoolss_getform(struct rpc_pipe_client *cli, TALLOC_CTX *mem_c werror = rpccli_spoolss_open_printer_ex( cli, mem_ctx, printername, "", MAXIMUM_ALLOWED_ACCESS, - servername, cli->auth->user_name, &handle); + servername, cli->user_name, &handle); if (!W_ERROR_IS_OK(werror)) goto done; @@ -1871,7 +1870,7 @@ static WERROR cmd_spoolss_deleteform(struct rpc_pipe_client *cli, werror = rpccli_spoolss_open_printer_ex( cli, mem_ctx, printername, "", MAXIMUM_ALLOWED_ACCESS, - servername, cli->auth->user_name, &handle); + servername, cli->user_name, &handle); if (!W_ERROR_IS_OK(werror)) goto done; @@ -1921,7 +1920,7 @@ static WERROR cmd_spoolss_enum_forms(struct rpc_pipe_client *cli, werror = rpccli_spoolss_open_printer_ex( cli, mem_ctx, printername, "", MAXIMUM_ALLOWED_ACCESS, - servername, cli->auth->user_name, &handle); + servername, cli->user_name, &handle); if (!W_ERROR_IS_OK(werror)) goto done; @@ -1981,7 +1980,7 @@ static WERROR cmd_spoolss_setprinterdata(struct rpc_pipe_client *cli, slprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); slprintf(printername, sizeof(servername)-1, "%s\\%s", servername, argv[1]); - fstrcpy(user, cli->auth->user_name); + fstrcpy(user, cli->user_name); value.type = REG_NONE; @@ -2190,7 +2189,7 @@ static WERROR cmd_spoolss_enum_jobs(struct rpc_pipe_client *cli, slprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); - fstrcpy(user, cli->auth->user_name); + fstrcpy(user, cli->user_name); printername = talloc_asprintf(mem_ctx, "\\\\%s\\", cli->desthost); if (!printername) { return WERR_NOMEM; @@ -2262,7 +2261,7 @@ static WERROR cmd_spoolss_enum_data( struct rpc_pipe_client *cli, slprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); - fstrcpy(user, cli->auth->user_name); + fstrcpy(user, cli->user_name); printername = talloc_asprintf(mem_ctx, "\\\\%s\\", cli->desthost); if (!printername) { return WERR_NOMEM; @@ -2332,7 +2331,7 @@ static WERROR cmd_spoolss_enum_data_ex( struct rpc_pipe_client *cli, slprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); - fstrcpy(user, cli->auth->user_name); + fstrcpy(user, cli->user_name); printername = talloc_asprintf(mem_ctx, "\\\\%s\\", cli->desthost); if (!printername) { @@ -2405,7 +2404,7 @@ static WERROR cmd_spoolss_enum_printerkey( struct rpc_pipe_client *cli, slprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); - fstrcpy(user, cli->auth->user_name); + fstrcpy(user, cli->user_name); printername = talloc_asprintf(mem_ctx, "\\\\%s\\", cli->desthost); if (!printername) { @@ -2486,7 +2485,7 @@ static WERROR cmd_spoolss_rffpcnex(struct rpc_pipe_client *cli, result = rpccli_spoolss_open_printer_ex( cli, mem_ctx, printername, "", MAXIMUM_ALLOWED_ACCESS, - servername, cli->auth->user_name, &hnd); + servername, cli->user_name, &hnd); if (!W_ERROR_IS_OK(result)) { printf("Error opening %s\n", argv[1]); diff --git a/source/utils/net_rpc_printer.c b/source/utils/net_rpc_printer.c index bdf5b09205e..9dc409123e7 100644 --- a/source/utils/net_rpc_printer.c +++ b/source/utils/net_rpc_printer.c @@ -994,9 +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->auth->user_name, - &hnd)) + MAXIMUM_ALLOWED_ACCESS, pipe_hnd->user_name, &hnd)) return False; if (!net_spoolss_getprinter(pipe_hnd, mem_ctx, &hnd, level, ctr)) { @@ -1192,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->auth->user_name, &hnd)) + PRINTER_ALL_ACCESS, pipe_hnd->user_name, &hnd)) goto done; got_hnd = True; @@ -1840,9 +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->auth->user_name, - &hnd_src)) + MAXIMUM_ALLOWED_ACCESS, pipe_hnd->user_name, &hnd_src)) goto done; got_hnd_src = True;