From 65c3205b9e1c1626e6ac8645676a54847ccf401c Mon Sep 17 00:00:00 2001 From: David Disseldorp Date: Wed, 1 Apr 2015 01:03:13 +0200 Subject: [PATCH] spoolss: purge the printer name cache on name change MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently the name cache is only cleared on printer deletion. This means that if a printer undergoes a name change, the old name remains in the cache and can be subsequently used incorrecly if another printer takes the same name as the old. Bug: https://bugzilla.samba.org/show_bug.cgi?id=11210 Reported-by: Franz Pförtsch Signed-off-by: David Disseldorp --- source3/rpc_server/spoolss/srv_spoolss_nt.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source3/rpc_server/spoolss/srv_spoolss_nt.c b/source3/rpc_server/spoolss/srv_spoolss_nt.c index 53fbf87..b1f666a 100644 --- a/source3/rpc_server/spoolss/srv_spoolss_nt.c +++ b/source3/rpc_server/spoolss/srv_spoolss_nt.c @@ -6475,6 +6475,9 @@ static WERROR update_dsspooler(TALLOC_CTX *mem_ctx, snum, printer->sharename ? printer->sharename : ""); } + + /* name change, purge any cache entries for the old */ + prune_printername_cache(); } if (printer->printername != NULL && @@ -6511,6 +6514,9 @@ static WERROR update_dsspooler(TALLOC_CTX *mem_ctx, notify_printer_printername(server_event_context(), msg_ctx, snum, p ? p : ""); } + + /* name change, purge any cache entries for the old */ + prune_printername_cache(); } if (printer->portname != NULL && -- 2.1.4