summaryrefslogtreecommitdiffstats
path: root/source/rpc_server
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2001-08-13 21:30:27 +0000
committerGerald Carter <jerry@samba.org>2001-08-13 21:30:27 +0000
commit7049217eb40dbe3de6c05fe43742d2f684501723 (patch)
tree5b706eebeabb6ba8871ceb64c7b1fadd5dbd1412 /source/rpc_server
parentbefbfea21035b0566fc6ba8674587fc44ad7bbdc (diff)
downloadsamba-7049217eb40dbe3de6c05fe43742d2f684501723.tar.gz
samba-7049217eb40dbe3de6c05fe43742d2f684501723.tar.xz
samba-7049217eb40dbe3de6c05fe43742d2f684501723.zip
merge from 2.2
Diffstat (limited to 'source/rpc_server')
-rw-r--r--source/rpc_server/srv_spoolss_nt.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/source/rpc_server/srv_spoolss_nt.c b/source/rpc_server/srv_spoolss_nt.c
index 023c9a1203a..0710f058700 100644
--- a/source/rpc_server/srv_spoolss_nt.c
+++ b/source/rpc_server/srv_spoolss_nt.c
@@ -811,6 +811,18 @@ uint32 _spoolss_open_printer_ex( pipes_struct *p, SPOOL_Q_OPEN_PRINTER_EX *q_u,
if (printer_default->access_required == 0x0)
printer_default->access_required = PRINTER_ACCESS_USE;
+ /*
+ * If we are not serving the printer driver for this printer,
+ * map PRINTER_ACCESS_ADMINISTER to PRINTER_ACCESS_USE. This
+ * will keep NT clients happy --jerry
+ */
+
+ if (lp_use_client_driver(snum)
+ && (printer_default->access_required & PRINTER_ACCESS_ADMINISTER))
+ {
+ printer_default->access_required = PRINTER_ACCESS_USE;
+ }
+
if (!print_access_check(&user, snum, printer_default->access_required)) {
DEBUG(3, ("access DENIED for printer open\n"));
close_printer_handle(p, handle);