Index: samba-3.2.5/source/printing/print_cups.c =================================================================== --- samba-3.2.5.orig/source/printing/print_cups.c 2010-03-21 12:54:17.000000000 +0100 +++ samba-3.2.5/source/printing/print_cups.c 2010-03-21 12:54:34.000000000 +0100 @@ -561,6 +561,7 @@ 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 */ @@ -569,7 +570,7 @@ cups_option_t *options = NULL; 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... @@ -658,6 +659,11 @@ 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; + else + DEBUG(0,("Missing job-id attribute in IPP response")); } } else { DEBUG(0,("Unable to print file to `%s' - %s\n", PRINTERNAME(snum),