- Security: All file, directory, user, and group settings are now stored
in a separate cups-files.conf configuration file that cannot be set
through the CUPS web interface or APIs (STR #4223)
+ - The IPP backend now stops queues when the server configuration
+ prevents successful job submission (STR #4125)
- The XML output of ipptool contained empty dictionaries (STR #4136)
- The scheduler did not delete job control backup files (STR #4244)
- cupsGetPPD3 could return a local PPD instead of the correct remote
/*
* If the printer only claims to support IPP/1.0, or if the user specifically
* included version=1.0 in the URI, then do not try to use Create-Job or
- * Send-Document. This is another dreaded compatibility hack, but unfortunately
- * there are enough broken printers out there that we need this for now...
+ * Send-Document. This is another dreaded compatibility hack, but
+ * unfortunately there are enough broken printers out there that we need
+ * this for now...
*/
if (version == 10)
goto cleanup;
}
+ else if (ipp_status == IPP_STATUS_ERROR_CUPS_UPGRADE_REQUIRED)
+ {
+ /*
+ * Server is configured incorrectly; the policy for Create-Job and
+ * Send-Document has to be the same (auth or no auth, encryption or
+ * no encryption). Force the queue to stop since printing will never
+ * work.
+ */
+
+ fputs("DEBUG: The server or printer is configured incorrectly.\n",
+ stderr);
+ fputs("DEBUG: The policy for Create-Job and Send-Document must have the "
+ "same authentication and encryption requirements.\n", stderr);
+
+ ipp_status = IPP_STATUS_ERROR_INTERNAL;
+
+ if (job_id > 0)
+ cancel_job(http, uri, job_id, resource, argv[2], version);
+
+ goto cleanup;
+ }
else if (ipp_status == IPP_NOT_FOUND)
{
/*