The branch, v3-4-test has been updated
via dc83d03... Fix bug #7269 - Job management commands don't work for
CUPS queues.
from a99d9e7... s3-printing: Fix "printer admin" functionality.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-4-test
- Log -----------------------------------------------------------------
commit dc83d031398819c1b2c57aacf4f34c304cf09682
Author: Michael Karcher <[email protected]>
Date: Wed Mar 24 17:33:21 2010 -0700
Fix bug #7269 - Job management commands don't work for CUPS queues.
Samba needs to retrieve pjob->sysjob from the CUPS response (as
is done in the iprint backend).
(cherry picked from commit 1790e88f0f9c4fae90dcb53101f70c97ba6a6a5d)
-----------------------------------------------------------------------
Summary of changes:
source3/printing/print_cups.c | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/printing/print_cups.c b/source3/printing/print_cups.c
index d94c13f..8c75b7d 100644
--- a/source3/printing/print_cups.c
+++ b/source3/printing/print_cups.c
@@ -900,6 +900,7 @@ static int cups_job_submit(int snum, struct printjob *pjob)
http_t *http = NULL; /* HTTP connection to server */
ipp_t *request = NULL, /* IPP Request */
*response = NULL; /* IPP Response */
+ ipp_attribute_t *attr_job_id = NULL; /* IPP Attribute "job-id" */
cups_lang_t *language = NULL; /* Default language */
char uri[HTTP_MAX_URI]; /* printer-uri attribute */
const char *clientname = NULL; /* hostname of client for
job-originating-host attribute */
@@ -914,7 +915,7 @@ static int cups_job_submit(int snum, struct printjob *pjob)
size_t size;
char addr[INET6_ADDRSTRLEN];
- DEBUG(5,("cups_job_submit(%d, %p (%d))\n", snum, pjob, pjob->sysjob));
+ DEBUG(5,("cups_job_submit(%d, %p)\n", snum, pjob));
/*
* Make sure we don't ask for passwords...
@@ -1021,6 +1022,13 @@ static int cups_job_submit(int snum, struct printjob
*pjob)
ippErrorString(cupsLastError())));
} else {
ret = 0;
+ attr_job_id = ippFindAttribute(response, "job-id",
IPP_TAG_INTEGER);
+ if(attr_job_id) {
+ pjob->sysjob = attr_job_id->values[0].integer;
+ DEBUG(5,("cups_job_submit: job-id %d\n",
pjob->sysjob));
+ } else {
+ DEBUG(0,("Missing job-id attribute in IPP
response"));
+ }
}
} else {
DEBUG(0,("Unable to print file to `%s' - %s\n",
PRINTERNAME(snum),
--
Samba Shared Repository