Blame SOURCES/cups-str4591.patch

87cf9a
diff -up cups-1.6.3/scheduler/conf.c.str4591 cups-1.6.3/scheduler/conf.c
87cf9a
--- cups-1.6.3/scheduler/conf.c.str4591	2015-06-23 14:05:39.874805401 +0100
87cf9a
+++ cups-1.6.3/scheduler/conf.c	2015-06-23 14:10:38.364395201 +0100
87cf9a
@@ -1245,6 +1245,19 @@ cupsdReadConfiguration(void)
87cf9a
 
87cf9a
   cupsdUpdateEnv();
87cf9a
 
87cf9a
+  /*
87cf9a
+   * Validate the default error policy...
87cf9a
+   */
87cf9a
+
87cf9a
+  if (strcmp(ErrorPolicy, "retry-current-job") &&
87cf9a
+      strcmp(ErrorPolicy, "abort-job") &&
87cf9a
+      strcmp(ErrorPolicy, "retry-job") &&
87cf9a
+      strcmp(ErrorPolicy, "stop-printer"))
87cf9a
+  {
87cf9a
+    cupsdLogMessage(CUPSD_LOG_ALERT, "Invalid ErrorPolicy \"%s\", resetting to \"stop-printer\".", ErrorPolicy);
87cf9a
+    cupsdSetString(&ErrorPolicy, "stop-printer");
87cf9a
+  }
87cf9a
+
87cf9a
  /*
87cf9a
   * Update default paper size setting as needed...
87cf9a
   */
87cf9a
diff -up cups-1.6.3/scheduler/printers.c.str4591 cups-1.6.3/scheduler/printers.c
87cf9a
--- cups-1.6.3/scheduler/printers.c.str4591	2015-06-23 14:04:45.301229731 +0100
87cf9a
+++ cups-1.6.3/scheduler/printers.c	2015-06-23 14:10:52.717276314 +0100
87cf9a
@@ -3,7 +3,7 @@
87cf9a
  *
87cf9a
  *   Printer routines for the CUPS scheduler.
87cf9a
  *
87cf9a
- *   Copyright 2007-2012 by Apple Inc.
87cf9a
+ *   Copyright 2007-2015 by Apple Inc.
87cf9a
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
87cf9a
  *
87cf9a
  *   These coded instructions, statements, and computer programs are the
87cf9a
@@ -1303,10 +1303,17 @@ cupsdLoadAllPrinters(void)
87cf9a
     else if (!_cups_strcasecmp(line, "ErrorPolicy"))
87cf9a
     {
87cf9a
       if (value)
87cf9a
-        cupsdSetString(&p->error_policy, value);
87cf9a
+      {
87cf9a
+	if (strcmp(value, "retry-current-job") &&
87cf9a
+	    strcmp(value, "abort-job") &&
87cf9a
+	    strcmp(value, "retry-job") &&
87cf9a
+	    strcmp(value, "stop-printer"))
87cf9a
+	  cupsdLogMessage(CUPSD_LOG_ALERT, "Invalid ErrorPolicy \"%s\" on line %d or printers.conf.", ErrorPolicy, linenum);
87cf9a
+	else
87cf9a
+	  cupsdSetString(&p->error_policy, value);
87cf9a
+      }
87cf9a
       else
87cf9a
-	cupsdLogMessage(CUPSD_LOG_ERROR,
87cf9a
-	                "Syntax error on line %d of printers.conf.", linenum);
87cf9a
+	cupsdLogMessage(CUPSD_LOG_ERROR, "Syntax error on line %d of printers.conf.", linenum);
87cf9a
     }
87cf9a
     else if (!_cups_strcasecmp(line, "Attribute") && value)
87cf9a
     {