]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
scheduler/ipp.c: Ignore some more IPP defaults (fixes #484) 486/head
authorZdenek Dohnal <zdohnal@redhat.com>
Tue, 20 Sep 2022 16:01:39 +0000 (18:01 +0200)
committerZdenek Dohnal <zdohnal@redhat.com>
Tue, 20 Sep 2022 16:01:39 +0000 (18:01 +0200)
If the application sends PPD option, don't override it via IPP default
option.

scheduler/ipp.c

index bea2ad958400b6ec5a5c928089f6221f0a4c9b1c..60aa5544a5133b0028ccdcf181a3032943f98070 100644 (file)
@@ -2946,12 +2946,21 @@ apply_printer_defaults(
        i --, option ++)
     if (!ippFindAttribute(job->attrs, option->name, IPP_TAG_ZERO))
     {
+      if (!strcmp(option->name, "media") && ippFindAttribute(job->attrs, "PageSize", IPP_TAG_NAME))
+        continue;                     /* Don't override PageSize */
+
+      if (!strcmp(option->name, "output-bin") && ippFindAttribute(job->attrs, "OutputBin", IPP_TAG_NAME))
+        continue;                     /* Don't override OutputBin */
+
       if (!strcmp(option->name, "print-quality") && ippFindAttribute(job->attrs, "cupsPrintQuality", IPP_TAG_NAME))
         continue;                     /* Don't override cupsPrintQuality */
 
       if (!strcmp(option->name, "print-color-mode") && ippFindAttribute(job->attrs, "ColorModel", IPP_TAG_NAME))
         continue;                     /* Don't override ColorModel */
 
+      if (!strcmp(option->name, "sides") && ippFindAttribute(job->attrs, "Duplex", IPP_TAG_NAME))
+        continue;                     /* Don't override Duplex */
+
       cupsdLogJob(job, CUPSD_LOG_DEBUG, "Adding default %s=%s", option->name, option->value);
 
       num_options = cupsAddOption(option->name, option->value, num_options, &options);