diff options
author | Günther Deschner <gd@samba.org> | 2018-08-31 18:22:04 +0200 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2018-09-08 01:43:27 +0200 |
commit | b8279f6525b806d8f91aa8ce016bd528fff917f4 (patch) | |
tree | 655d9d66dad916a67930bdbbcaf9ebd72cc7e4d4 /source3/rpcclient | |
parent | 1da770848753c172d0c790911b97dbe9c3ccee06 (diff) | |
download | samba-b8279f6525b806d8f91aa8ce016bd528fff917f4.tar.gz |
s3-rpcclient: Use spoolss_init_spoolss_UserLevel1 in winspool cmds
Use spoolss initialization function to set client version information for
iremotewinspool printer operations
Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'source3/rpcclient')
-rw-r--r-- | source3/rpcclient/cmd_iremotewinspool.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/source3/rpcclient/cmd_iremotewinspool.c b/source3/rpcclient/cmd_iremotewinspool.c index c6148ec02c7..7f0cecfaf01 100644 --- a/source3/rpcclient/cmd_iremotewinspool.c +++ b/source3/rpcclient/cmd_iremotewinspool.c @@ -24,6 +24,7 @@ #include "libsmb/libsmb.h" #include "auth/gensec/gensec.h" #include "auth/credentials/credentials.h" +#include "rpc_client/init_spoolss.h" /**************************************************************************** ****************************************************************************/ @@ -33,6 +34,7 @@ static WERROR cmd_iremotewinspool_async_open_printer(struct rpc_pipe_client *cli int argc, const char **argv) { NTSTATUS status; + WERROR werror; struct policy_handle hnd; struct spoolss_DevmodeContainer devmode_ctr; struct spoolss_UserLevelCtr client_info_ctr; @@ -59,13 +61,13 @@ static WERROR cmd_iremotewinspool_async_open_printer(struct rpc_pipe_client *cli ZERO_STRUCT(devmode_ctr); - level1.size = 40; - level1.client = talloc_asprintf(mem_ctx, "\\\\%s", lp_netbios_name()); - W_ERROR_HAVE_NO_MEMORY(level1.client); - level1.user = cli_credentials_get_username(creds); - level1.build = 1381; - level1.major = 3; - level1.minor = 0; + werror = spoolss_init_spoolss_UserLevel1(mem_ctx, + cli_credentials_get_username(creds), + &level1); + if (!W_ERROR_IS_OK(werror)) { + return werror; + } + level1.processor = PROCESSOR_ARCHITECTURE_AMD64; client_info_ctr.level = 1; |