summaryrefslogtreecommitdiff
path: root/source3/rpcclient
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2000-08-10 04:10:29 +0000
committerGerald Carter <jerry@samba.org>2000-08-10 04:10:29 +0000
commit8e0e3196743c3d6aa9cd0cc9f5cece49b2e2323c (patch)
tree2a48161055e7f5fa5a03218a15b3b0048f707a82 /source3/rpcclient
parent92a54ac60c6416e3454ebb495adb4b89f1d0a3f1 (diff)
downloadsamba-8e0e3196743c3d6aa9cd0cc9f5cece49b2e2323c.tar.gz
samba-8e0e3196743c3d6aa9cd0cc9f5cece49b2e2323c.tar.bz2
samba-8e0e3196743c3d6aa9cd0cc9f5cece49b2e2323c.zip
Needed to add the SHARED attribute bit when creating a printer
on a Samba host. Also needed to add an option to pass the share name (printer name) on the command line. And fixed the checking of the return code for spoolss_r_addprinterex() jerry (This used to be commit 880e81161640cd38540b06d982c592cbada51d40)
Diffstat (limited to 'source3/rpcclient')
-rw-r--r--source3/rpcclient/cmd_spoolss.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/source3/rpcclient/cmd_spoolss.c b/source3/rpcclient/cmd_spoolss.c
index 2844df8dd8..6cec9ae1cd 100644
--- a/source3/rpcclient/cmd_spoolss.c
+++ b/source3/rpcclient/cmd_spoolss.c
@@ -543,7 +543,8 @@ uint32 cmd_spoolss_addprinterex(struct client_info *info, int argc, char *argv[]
fstring srv_name,
printer_name,
driver_name,
- port_name;
+ port_name,
+ share_name;
POLICY_HND hnd;
PRINTER_INFO_2 print_info_2;
PORT_INFO_1 *port_info_1 = NULL;
@@ -561,15 +562,16 @@ uint32 cmd_spoolss_addprinterex(struct client_info *info, int argc, char *argv[]
strupper(srv_name);
/* check (and copy) the command line arguments */
- if (argc < 3) {
- report(out_hnd, "spooladdprinterex <name> <driver> <port>\n");
+ if (argc < 4) {
+ report(out_hnd, "spooladdprinterex <name> <shared name> <driver> <port>\n");
return NT_STATUS_INVALID_PARAMETER;
}
else
{
fstrcpy(printer_name, argv[1]);
- fstrcpy(driver_name, argv[2]);
- fstrcpy(port_name, argv[3]);
+ fstrcpy(share_name, argv[2]);
+ fstrcpy(driver_name, argv[3]);
+ fstrcpy(port_name, argv[4]);
}
/* Verify that the specified port is ok; spoolss_enum_ports() should
@@ -637,7 +639,7 @@ uint32 cmd_spoolss_addprinterex(struct client_info *info, int argc, char *argv[]
ZERO_STRUCTP(&print_info_2);
/* init_unistr( &print_info_2.servername, srv_name); */
init_unistr( &print_info_2.printername, printer_name);
- /* init_unistr( &print_info_2.sharename, share_name); */
+ init_unistr( &print_info_2.sharename, share_name);
init_unistr( &print_info_2.portname, port_name);
init_unistr( &print_info_2.drivername, driver_name);
init_unistr( &print_info_2.comment, "Created by rpcclient");
@@ -648,7 +650,7 @@ uint32 cmd_spoolss_addprinterex(struct client_info *info, int argc, char *argv[]
/* init_unistr( &print_info_2.parameters, ""); */
print_info_2.devmode = NULL;
print_info_2.secdesc = NULL;
- print_info_2.attributes = 0;
+ print_info_2.attributes = PRINTER_ATTRIBUTE_SHARED;
print_info_2.priority = 0;
print_info_2.defaultpriority = 0;
print_info_2.starttime = 0;