summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2002-11-11 22:05:32 +0000
committerGerald Carter <jerry@samba.org>2002-11-11 22:05:32 +0000
commit9b62172031ed16221821ad7a975e48c140e4ff26 (patch)
treedaa24a3cc69914d807f08ddca822a191b02290af
parent375da9787e66cb23a2f03780521fbae9ab8c278f (diff)
downloadsamba-9b62172031ed16221821ad7a975e48c140e4ff26.tar.gz
samba-9b62172031ed16221821ad7a975e48c140e4ff26.tar.bz2
samba-9b62172031ed16221821ad7a975e48c140e4ff26.zip
fix for CR 601. Only call addprinter command when the port, driver, comment, or location field changed
(This used to be commit 62a19247d31b1e5b81767880182b40ba396b261a)
-rw-r--r--source3/rpc_server/srv_spoolss_nt.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c
index 2227d39f44..871aac8e68 100644
--- a/source3/rpc_server/srv_spoolss_nt.c
+++ b/source3/rpc_server/srv_spoolss_nt.c
@@ -5780,8 +5780,14 @@ static WERROR update_printer(pipes_struct *p, POLICY_HND *handle, uint32 level,
}
/* Call addprinter hook */
-
- if (*lp_addprinter_cmd()) {
+ /* Check changes to see if this is really needed */
+
+ if ( *lp_addprinter_cmd()
+ && (!strequal(printer->info_2->drivername, old_printer->info_2->drivername)
+ || !strequal(printer->info_2->comment, old_printer->info_2->comment)
+ || !strequal(printer->info_2->portname, old_printer->info_2->portname)
+ || !strequal(printer->info_2->location, old_printer->info_2->location)) )
+ {
if ( !add_printer_hook(printer) ) {
result = WERR_ACCESS_DENIED;
goto done;