From: mike Date: Fri, 8 Feb 2013 21:27:24 +0000 (+0000) Subject: Use job-authorization-uri from Validate-Job request, if present. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=971b2b6100142342c2571dc027ddc07eaa992274;p=thirdparty%2Fcups.git Use job-authorization-uri from Validate-Job request, if present. git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@10865 7a7537e8-13f0-0310-91df-b6672ffda945 --- diff --git a/backend/ipp.c b/backend/ipp.c index 73c1a33b35..e69ca15e85 100644 --- a/backend/ipp.c +++ b/backend/ipp.c @@ -262,6 +262,7 @@ main(int argc, /* I - Number of command-line args */ ipp_attribute_t *copies_sup; /* copies-supported */ ipp_attribute_t *cups_version; /* cups-version */ ipp_attribute_t *format_sup; /* document-format-supported */ + ipp_attribute_t *job_auth; /* job-authorization-uri */ ipp_attribute_t *media_col_sup; /* media-col-supported */ ipp_attribute_t *operations_sup; /* operations-supported */ ipp_attribute_t *doc_handling_sup; /* multiple-document-handling-supported */ @@ -1402,13 +1403,21 @@ main(int argc, /* I - Number of command-line args */ copies_sup ? copies : 1, document_format, pc, ppd, media_col_sup, doc_handling_sup, print_color_mode); - ippDelete(cupsDoRequest(http, request, resource)); + response = cupsDoRequest(http, request, resource); ipp_status = cupsLastError(); fprintf(stderr, "DEBUG: Validate-Job: %s (%s)\n", ippErrorString(ipp_status), cupsLastErrorString()); + if ((job_auth = ippFindAttribute(response, "job-authorization-uri", + IPP_TAG_URI)) != NULL) + num_options = cupsAddOption("job-authorization-uri", + ippGetString(job_auth, 0, NULL), num_options, + &options); + + ippDelete(response); + if (job_canceled) break;