]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
spoolss: Fix caching of printername->sharename
authorVolker Lendecke <vl@samba.org>
Wed, 12 Oct 2016 09:06:51 +0000 (11:06 +0200)
committerKarolin Seeger <kseeger@samba.org>
Thu, 20 Oct 2016 08:43:28 +0000 (10:43 +0200)
time_mono() gives seconds since boot, gencache expects seconds since epoch.
With time_mono(), the values are always expired immediately.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=12374

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
Autobuild-User(master): Günther Deschner <gd@samba.org>
Autobuild-Date(master): Thu Oct 13 13:48:52 CEST 2016 on sn-devel-144

source3/rpc_server/spoolss/srv_spoolss_nt.c

index 0639b87a559bfd91616b5cccbf95826f66122cd1..5172db0df224394469d7cab4ae200eac8be7371f 100644 (file)
@@ -704,13 +704,13 @@ static WERROR set_printer_hnd_name(TALLOC_CTX *mem_ctx,
 
        if (!found) {
                gencache_set(cache_key, printer_not_found,
-                            time_mono(NULL) + 300);
+                            time(NULL) + 300);
                TALLOC_FREE(cache_key);
                DEBUGADD(4,("Printer not found\n"));
                return WERR_INVALID_PRINTER_NAME;
        }
 
-       gencache_set(cache_key, sname, time_mono(NULL) + 300);
+       gencache_set(cache_key, sname, time(NULL) + 300);
        TALLOC_FREE(cache_key);
 
        DEBUGADD(4,("set_printer_hnd_name: Printer found: %s -> %s\n", aprinter, sname));