s3-printing: fix bug 9123 lprng job tracking errors
authorDavid Disseldorp <ddiss@samba.org>
Tue, 28 Aug 2012 16:58:24 +0000 (18:58 +0200)
committerDavid Disseldorp <ddiss@samba.org>
Wed, 29 Aug 2012 12:25:12 +0000 (14:25 +0200)
The lprng printing back-end is truncating the print job filename in the
lpq output, which means that Samba is not able to determine the back-end
job ID for a newly submitted print job.
Remove the unneeded spoolss job ID from the print job file name to
ensure the job filename is not truncated. Also log these warnings at a
higher log level.

Autobuild-User(master): David Disseldorp <ddiss@samba.org>
Autobuild-Date(master): Wed Aug 29 14:25:13 CEST 2012 on sn-devel-104

source3/printing/print_generic.c
source3/printing/printing.c

index efe910d7b44b80b1b4aa6c107210b04cddc3baca..1560a035a1265ab53c6e6fc253d7fc1b96001a9d 100644 (file)
@@ -288,7 +288,7 @@ static int generic_job_submit(int snum, struct printjob *pjob,
                ret = 0;
        }
        if (pjob->sysjob == -1) {
-               DEBUG(0, ("failed to get sysjob for job %u (%s), tracking as "
+               DEBUG(2, ("failed to get sysjob for job %u (%s), tracking as "
                          "Unix job\n", pjob->jobid, jobname));
        }
 
index 9a7b1109258ff6a9f9b18a283fe4299193c6e015..23b143b4c62ba14b64d3da83a2ca8153bafb0deb 100644 (file)
@@ -2739,8 +2739,8 @@ static WERROR print_job_spool_file(int snum, uint32_t jobid,
        }
 
        slprintf(pjob->filename, sizeof(pjob->filename)-1,
-                "%s/%s%.8u.XXXXXX", lp_pathname(talloc_tos(), snum),
-                PRINT_SPOOL_PREFIX, (unsigned int)jobid);
+                "%s/%sXXXXXX", lp_pathname(talloc_tos(), snum),
+                PRINT_SPOOL_PREFIX);
        pjob->fd = mkstemp(pjob->filename);
 
        if (pjob->fd == -1) {