]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Use job-authorization-uri from Validate-Job request, if present.
authormike <mike@7a7537e8-13f0-0310-91df-b6672ffda945>
Fri, 8 Feb 2013 21:27:24 +0000 (21:27 +0000)
committermike <mike@7a7537e8-13f0-0310-91df-b6672ffda945>
Fri, 8 Feb 2013 21:27:24 +0000 (21:27 +0000)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@10865 7a7537e8-13f0-0310-91df-b6672ffda945

backend/ipp.c

index 73c1a33b35a8f4364f7d5e81a32f20239b1c4407..e69ca15e85c49a8250ab1cdc51bd00f03495704a 100644 (file)
@@ -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;