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 <sa...@mkarcher.dialup.fu-berlin.de>
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

Reply via email to