]> git.pld-linux.org Git - packages/cups.git/commitdiff
- outdated
authorlisu <lisu@pld-linux.org>
Tue, 10 Nov 2009 10:10:11 +0000 (10:10 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    cups-branch.diff -> 1.5

cups-branch.diff [deleted file]

diff --git a/cups-branch.diff b/cups-branch.diff
deleted file mode 100644 (file)
index 065fc0c..0000000
+++ /dev/null
@@ -1,1593 +0,0 @@
-Index: conf/pam.irix
-===================================================================
---- conf/pam.irix      (.../tags/release-1.4.1)        (wersja 8857)
-+++ conf/pam.irix      (.../branches/branch-1.4)       (wersja 8857)
-@@ -1,3 +0,0 @@
--#%PAM-1.0
--auth  required        pam_unix.so shadow nodelay nullok
--account       required        pam_unix.so
-Index: conf/pam.std.in
-===================================================================
---- conf/pam.std.in    (.../tags/release-1.4.1)        (wersja 8857)
-+++ conf/pam.std.in    (.../branches/branch-1.4)       (wersja 8857)
-@@ -1,2 +1,2 @@
--auth  required        @PAMMOD@ nullok shadow
-+auth  required        @PAMMODAUTH@
- account       required        @PAMMOD@
-Index: conf/Makefile
-===================================================================
---- conf/Makefile      (.../tags/release-1.4.1)        (wersja 8857)
-+++ conf/Makefile      (.../branches/branch-1.4)       (wersja 8857)
-@@ -90,7 +90,7 @@
-       done
-       -if test x$(PAMDIR) != x; then \
-               $(INSTALL_DIR) -m 755 $(BUILDROOT)$(PAMDIR); \
--              if test -r $(BUILDROOT)$(PAMDIR)/cups/$(PAMFILE) ; then \
-+              if test -r $(BUILDROOT)$(PAMDIR)/cups ; then \
-                       $(INSTALL_DATA) $(PAMFILE) $(BUILDROOT)$(PAMDIR)/cups.N ; \
-               else \
-                       $(INSTALL_DATA) $(PAMFILE) $(BUILDROOT)$(PAMDIR)/cups ; \
-Index: backend/usb-unix.c
-===================================================================
---- backend/usb-unix.c (.../tags/release-1.4.1)        (wersja 8857)
-+++ backend/usb-unix.c (.../branches/branch-1.4)       (wersja 8857)
-@@ -560,7 +560,7 @@
-  * 'side_cb()' - Handle side-channel requests...
-  */
--static void
-+static int                            /* O - 0 on success, -1 on error */
- side_cb(int         print_fd,         /* I - Print file */
-         int         device_fd,                /* I - Device file */
-         int         snmp_fd,          /* I - SNMP socket (unused) */
-Index: backend/usb-darwin.c
-===================================================================
---- backend/usb-darwin.c       (.../tags/release-1.4.1)        (wersja 8857)
-+++ backend/usb-darwin.c       (.../branches/branch-1.4)       (wersja 8857)
-@@ -292,9 +292,8 @@
- #if defined(__i386__) || defined(__x86_64__)
- static pid_t  child_pid;              /* Child PID */
- static void run_legacy_backend(int argc, char *argv[], int fd);       /* Starts child backend process running as a ppc executable */
--#endif /* __i386__ || __x86_64__ */
--static int    job_canceled = 0;       /* Was the job canceled? */
- static void sigterm_handler(int sig); /* SIGTERM handler */
-+#endif /* __i386__ || __x86_64__ */
- #ifdef PARSE_PS_ERRORS
- static const char *next_line (const char *buffer);
-@@ -461,9 +460,9 @@
-   fputs("STATE: -connecting-to-device\n", stderr);
-   /*
--   * Now that we are "connected" to the port, catch SIGTERM so that we
-+   * Now that we are "connected" to the port, ignore SIGTERM so that we
-    * can finish out any page data the driver sends (e.g. to eject the
--   * current page...  Only catch SIGTERM if we are printing data from
-+   * current page...  Only ignore SIGTERM if we are printing data from
-    * stdin (otherwise you can't cancel raw jobs...)
-    */
-@@ -475,7 +474,7 @@
-     memset(&action, 0, sizeof(action));
-     sigemptyset(&action.sa_mask);
--    action.sa_handler = sigterm_handler;
-+    action.sa_handler = SIG_IGN;
-     sigaction(SIGTERM, &action, NULL);
-   }
-@@ -698,7 +697,7 @@
-       else if (iostatus == kIOReturnAborted)
-       {
--        fputs("DEBUG: Got return aborted during write!\n", stderr);
-+        fputs("DEBUG: Got USB return aborted during write!\n", stderr);
-         IOReturn err = (*g.classdriver)->Abort(g.classdriver);
-         fprintf(stderr, "DEBUG: USB class driver Abort returned %x\n", err);
-@@ -725,7 +724,7 @@
-         fprintf(stderr, "DEBUG: USB class driver Abort returned %x\n",
-                 err);
--        status = job_canceled ? CUPS_BACKEND_FAILED : CUPS_BACKEND_STOP;
-+        status = CUPS_BACKEND_FAILED;
-         break;
-       }
-       else if (bytes > 0)
-@@ -898,11 +897,11 @@
- #endif
-     }
-     else if (readstatus == kIOUSBTransactionTimeout)
--      fputs("DEBUG: Got USB transaction timeout during write!\n", stderr);
-+      fputs("DEBUG: Got USB transaction timeout during read!\n", stderr);
-     else if (readstatus == kIOUSBPipeStalled)
-       fputs("DEBUG: Got USB pipe stalled during read!\n", stderr);
-     else if (readstatus == kIOReturnAborted)
--      fputs("DEBUG: Got return aborted during read!\n", stderr);
-+      fputs("DEBUG: Got USB return aborted during read!\n", stderr);
-    /*
-     * Make sure this loop executes no more than once every 250 miliseconds...
-@@ -944,7 +943,7 @@
-     datalen = sizeof(data);
-     if (cupsSideChannelRead(&command, &status, data, &datalen, 1.0))
--      continue;
-+      break;
-     switch (command)
-     {
-@@ -2020,9 +2019,7 @@
-   exit(exitstatus);
- }
--#endif /* __i386__ || __x86_64__ */
--
- /*
-  * 'sigterm_handler()' - SIGTERM handler.
-  */
-@@ -2030,7 +2027,8 @@
- static void
- sigterm_handler(int sig)              /* I - Signal */
- {
--#if defined(__i386__) || defined(__x86_64__)
-+  /* If we started a child process pass the signal on to it...
-+   */
-   if (child_pid)
-   {
-    /*
-@@ -2052,16 +2050,11 @@
-       exit(CUPS_BACKEND_STOP);
-     }
-   }
--#endif /* __i386__ || __x86_64__ */
--
-- /*
--  * Otherwise just flag that the job has been canceled...
--  */
--
--  job_canceled = 1;
- }
-+#endif /* __i386__ || __x86_64__ */
-+
- #ifdef PARSE_PS_ERRORS
- /*
-  * 'next_line()' - Find the next line in a buffer.
-Index: config-scripts/cups-common.m4
-===================================================================
---- config-scripts/cups-common.m4      (.../tags/release-1.4.1)        (wersja 8857)
-+++ config-scripts/cups-common.m4      (.../branches/branch-1.4)       (wersja 8857)
-@@ -266,11 +266,6 @@
-                               dbus_message_iter_init_append,
-                               AC_DEFINE(HAVE_DBUS_MESSAGE_ITER_INIT_APPEND),,
-                               `$PKGCONFIG --libs dbus-1`)
--                      if $PKGCONFIG --exists glib-2.0 && $PKGCONFIG --exists dbus-glib-1; then
--                              DBUS_NOTIFIER="dbus"
--                              DBUS_NOTIFIERLIBS="`$PKGCONFIG --libs glib-2.0` `$PKGCONFIG --libs dbus-glib-1` `$PKGCONFIG --libs dbus-1`"
--                              CFLAGS="$CFLAGS `$PKGCONFIG --cflags glib-2.0`"
--                      fi
-               else
-                       AC_MSG_RESULT(no)
-               fi
-@@ -289,7 +284,6 @@
- case $uname in
-         Darwin*)
--#             FONTS=""
-               LEGACY_BACKENDS=""
-                 BACKLIBS="$BACKLIBS -framework IOKit"
-                 CUPSDLIBS="$CUPSDLIBS -sectorder __TEXT __text cupsd.order -e start -framework IOKit -framework SystemConfiguration -weak_framework ApplicationServices"
-Index: config-scripts/cups-defaults.m4
-===================================================================
---- config-scripts/cups-defaults.m4    (.../tags/release-1.4.1)        (wersja 8857)
-+++ config-scripts/cups-defaults.m4    (.../branches/branch-1.4)       (wersja 8857)
-@@ -325,8 +325,8 @@
-                               CUPS_DEFAULT_LPD_CONFIG_FILE="launchd:///System/Library/LaunchDaemons/org.cups.cups-lpd.plist"
-                               ;;
-                       *)
--                              if test -d /etc/xinetd.d; then
--                                      CUPS_DEFAULT_LPD_CONFIG_FILE="xinetd:///etc/xinetd.d/cups-lpd"
-+                              if test "x$XINETD" != x; then
-+                                      CUPS_DEFAULT_LPD_CONFIG_FILE="xinetd://$XINETD/cups-lpd"
-                               else
-                                       CUPS_DEFAULT_LPD_CONFIG_FILE=""
-                               fi
-Index: config-scripts/cups-pam.m4
-===================================================================
---- config-scripts/cups-pam.m4 (.../tags/release-1.4.1)        (wersja 8857)
-+++ config-scripts/cups-pam.m4 (.../branches/branch-1.4)       (wersja 8857)
-@@ -22,9 +22,10 @@
- fi
- PAMDIR=""
--PAMFILE=""
-+PAMFILE="pam.std"
- PAMLIBS=""
- PAMMOD="pam_unknown.so"
-+PAMMODAUTH="pam_unknown.so"
- if test x$enable_pam != xno; then
-       SAVELIBS="$LIBS"
-@@ -60,7 +61,7 @@
-       case "$uname" in
-               Darwin*)
--                      # Darwin, MacOS X
-+                      # Darwin/Mac OS X
-                       if test "x$with_pam_module" != x; then
-                               PAMFILE="pam.$with_pam_module"
-                       elif test -f /usr/lib/pam/pam_opendirectory.so.2; then
-@@ -70,26 +71,22 @@
-                       fi
-                       ;;
--              IRIX)
--                      # SGI IRIX
--                      PAMFILE="pam.irix"
--                      ;;
--
-               *)
-                       # All others; this test might need to be updated
-                       # as Linux distributors move things around...
-                       if test "x$with_pam_module" != x; then
-                               PAMMOD="pam_${with_pam_module}.so"
--                      else
--                              for mod in pam_unix2.so pam_unix.so pam_pwdb.so; do
--                                      if test -f /lib/security/$mod; then
--                                              PAMMOD="$mod"
--                                              break;
--                                      fi
--                              done
-+                      elif test -f /lib/security/pam_unix2.so; then
-+                              PAMMOD="pam_unix2.so"
-+                      elif test -f /lib/security/pam_unix.so; then
-+                              PAMMOD="pam_unix.so"
-                       fi
--                      PAMFILE="pam.std"
-+                      if test "x$PAMMOD" = xpam_unix.so; then
-+                              PAMMODAUTH="$PAMMOD shadow nodelay"
-+                      else
-+                              PAMMODAUTH="$PAMMOD nodelay"
-+                      fi
-                       ;;
-       esac
- fi
-@@ -98,6 +95,7 @@
- AC_SUBST(PAMFILE)
- AC_SUBST(PAMLIBS)
- AC_SUBST(PAMMOD)
-+AC_SUBST(PAMMODAUTH)
- dnl
- dnl End of "$Id$".
-Index: doc/de/index.html.in
-===================================================================
---- doc/de/index.html.in       (.../tags/release-1.4.1)        (wersja 8857)
-+++ doc/de/index.html.in       (.../branches/branch-1.4)       (wersja 8857)
-@@ -17,7 +17,7 @@
- <TD CLASS="unsel"><A HREF="/admin">&nbsp;&nbsp;Verwaltung&nbsp;&nbsp;</A></TD>
- <TD CLASS="unsel"><A HREF="/classes/">&nbsp;&nbsp;Klassen&nbsp;&nbsp;</A></TD>
- <TD CLASS="unsel"><A HREF="/help/">&nbsp;&nbsp;On-Line&nbsp;Hilfe&nbsp;&nbsp;</A></TD>
--<TD CLASS="unsel"><A HREF="/jobs/">&nbsp;&nbsp;Auftr&uuml;ge&nbsp;&nbsp;</A></TD>
-+<TD CLASS="unsel"><A HREF="/jobs/">&nbsp;&nbsp;Auftr&auml;ge&nbsp;&nbsp;</A></TD>
- <TD CLASS="unsel"><A HREF="/printers/">&nbsp;&nbsp;Drucker&nbsp;&nbsp;</A></TD>
- <TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
- TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Search Help"
-Index: doc/help/ref-ppdcfile.html
-===================================================================
---- doc/help/ref-ppdcfile.html (.../tags/release-1.4.1)        (wersja 8857)
-+++ doc/help/ref-ppdcfile.html (.../branches/branch-1.4)       (wersja 8857)
-@@ -380,10 +380,10 @@
- inclusion in a driver. The name with optional user text defines
- the name for the media size and is used with the <a
- href='#MediaSize'><code>MediaSize</code></a> directive to associate
--the media size with the driver. The name may only contain
--letters, numbers, and the underscore and may not exceed 40
--characters in length. The user text, if supplied, may not exceed
--80 characters in length.</p>
-+the media size with the driver. The name may contain up to 40 ASCII
-+characters within the range of decimal 33 to decimal 126 inclusive,
-+except for the characters comma (44), slash (47) and colon (58).
-+The user text, if supplied, may not exceed 80 bytes in length.</p>
- <p>The width and length define the dimensions of the media. Each
- number is optionally followed by one of the following unit
-@@ -459,17 +459,15 @@
- <h3>Description</h3>
- <p>The <code>Attribute</code> directive creates a PPD attribute. The
--name is any combination of letters, numbers, and the underscore
--and can be up to 40 characters in length.</p>
-+name may contain up to 40 ASCII characters within the range of decimal
-+33 to decimal 126 inclusive, except for the characters comma (44),
-+slash (47) and colon (58).</p>
--<p>The selector can be the empty string (<code>""</code>), a keyword
--consisting of up to 40 letters, numbers, and the underscore, or
--a string composed of a keyword and user text of up to 80
--characters.</p>
-+<p>The selector can be the empty string (<code>""</code>) or text of up
-+to 80 bytes.</p>
--<p>The value is any string or number; the string may contain
--multiple lines, however no one line may exceed 255
--characters.</p>
-+<p>The value is any string or number; the string may contain multiple
-+lines, however no one line may exceed 255 bytes.</p>
- <h3>See Also</h3>
-@@ -495,14 +493,15 @@
- <h3>Description</h3>
- <p>The <code>Choice</code> directive adds a single choice to the
--current option. The name is any combination of letters, numbers,
--and the underscore and can be up to 40 characters in length.</p>
-+current option. The name may contain up to 40 ASCII characters within
-+the range of decimal 33 to decimal 126 inclusive, except for the
-+characters comma (44), slash (47) and colon (58).</p>
--<p>If provided, the text can be any string up to 80 characters
-+<p>If provided, the text can be any string up to 80 bytes
- in length. If no text is provided, the name is used.</p>
- <p>The code is any string and may contain multiple lines,
--however no one line may exceed 255 characters.</p>
-+however no one line may exceed 255 bytes.</p>
- <h3>See Also</h3>
-@@ -568,11 +567,12 @@
- <p>The <code>ColorModel</code> directive is a convenience directive
- which creates a ColorModel option and choice for the current
--printer driver. The name is any combination of letters, numbers,
--and the underscore and can be up to 40 characters in length.</p>
-+printer driver. The name may contain up to 40 ASCII characters within
-+the range of decimal 33 to decimal 126 inclusive, except for the
-+characters comma (44), slash (47) and colon (58).</p>
--<p>If provided, the text can be any string up to 80 characters
--in length. If no text is provided, the name is used.</p>
-+<p>If provided, the text can be any string up to 80 bytes in length.
-+If no text is provided, the name is used.</p>
- <p>The colorspace argument is one of the standard colorspace
- keywords defined later in this appendix in the section titled,
-@@ -698,7 +698,7 @@
- <p>The <code>Copyright</code> directive adds text comments to the
- top of a PPD file, typically for use in copyright notices. The
- text argument can contain multiple lines of text, but no line
--may exceed 255 characters.</p>
-+may exceed 255 bytes.</p>
- <h2 class="title"><a name='CustomMedia'>CustomMedia</a></h2>
-@@ -730,11 +730,12 @@
- <h3>Description</h3>
- <p>The <code>CustomMedia</code> directive adds a custom media size to
--the driver. The name is any combination of letters, numbers,
--and the underscore and can be up to 40 characters in length.</p>
-+the driver. The name may contain up to 40 ASCII characters within the
-+range of decimal 33 to decimal 126 inclusive, except for the characters
-+comma (44), slash (47) and colon (58).</p>
--<p>If provided, the text can be any string up to 80 characters
--in length. If no text is provided, the name is used.</p>
-+<p>If provided, the text can be any string up to 80 bytes in length.
-+If no text is provided, the name is used.</p>
- <p>The width and length arguments specify the dimensions of the
- media as defined for the <a href="#_media"><code>#media</code></a>
-@@ -747,7 +748,7 @@
- PostScript commands to run for the <code>PageSize</code> and
- <code>PageRegion</code> options, respectively. The commands can
- contain multiple lines, however no line may be more than 255
--characters in length.</p>
-+bytes in length.</p>
- <h3>See Also</h3>
-@@ -823,11 +824,12 @@
- the Dymo driver from 0 (lowest) to 3 (highest), with 2
- representing the normal setting.</p>
--<p>The name is any combination of letters, numbers, and the
--underscore and can be up to 40 characters in length.</p>
-+<p>The name may contain up to 40 ASCII characters within the range of
-+decimal 33 to decimal 126 inclusive, except for the characters comma
-+(44), slash (47) and colon (58).</p>
--<p>If provided, the text can be any string up to 80 characters
--in length. If no text is provided, the name is used.</p>
-+<p>If provided, the text can be any string up to 80 bytes in length.
-+If no text is provided, the name is used.</p>
- <h3>See Also</h3>
-@@ -1044,15 +1046,16 @@
- <h3>Description</h3>
- <p>The <code>Finishing</code> directive adds a choice to the
--<code>cupsFinishing</code> option. The name is any combination of
--letters, numbers, and the underscore and can be up to 40
--characters in length. The name is stored in the
--<code>OutputType</code> attribute in the PostScript page device
--dictionary.</p>
-+<code>cupsFinishing</code> option. The name may contain up to 40 ASCII
-+characters within the range of decimal 33 to decimal 126 inclusive,
-+except for the characters comma (44), slash (47) and colon (58).</p>
--<p>If provided, the text can be any string up to 80 characters
--in length. If no text is provided, the name is used.</p>
-+<p>If provided, the text can be any string up to 80 bytes in length.
-+If no text is provided, the name is used.</p>
-+<p>The name is stored in the <code>OutputType</code> attribute in the
-+PostScript page device dictionary.</p>
-+
- <h3>See Also</h3>
- <p><a href='#Choice'><code>Choice</code></a>,
-@@ -1091,8 +1094,7 @@
- <h3>Description</h3>
- <p>The <code>Font</code> directive defines a "device font" for the
--current printer driver. The name is the PostScript font
--name.</p>
-+current printer driver. The name is the PostScript font name.</p>
- <p>The encoding is the default encoding of the font, usually
- <code>Standard</code>, <code>Expert</code>, or <code>Special</code>, as
-@@ -1139,23 +1141,25 @@
- <h3>Description</h3>
- <p>The <code>Group</code> directive specifies the group for new
--<code>Option</code> directives. The name is any combination of
--letters, numbers, and the underscore and can be up to 40
--characters in length. The names <code>General</code> and
--<code>InstallableOptions</code> are predefined for the standard
--Adobe UI keywords and for installable options, respectively.</p>
-+<code>Option</code> directives. The name may contain up to 40 ASCII
-+characters within the range of decimal 33 to decimal 126 inclusive,
-+except for the characters comma (44), slash (47) and colon (58).</p>
--<p>If provided, the text can be any string up to 40 characters
--in length. If no text is provided, the name is used.</p>
-+<p>If provided, the text can be any string up to 40 bytes in length.
-+If no text is provided, the name is used.</p>
-+<p>The names <code>General</code> and <code>InstallableOptions</code>
-+are predefined for the standard Adobe UI keywords and for installable
-+options, respectively.</p>
-+
- <center><table width='80%' border='1' bgcolor='#cccccc' cellpadding='5' cellspacing='0'>
- <tr>
-       <td align='justify'><b>Note:</b>
-       <p>Because of certain API binary compatibility issues,
-       CUPS limits the length of PPD group translation strings
--      (text) to 40 characters, while the PPD specification
--      allows for up to 80 characters.</p>
-+      (text) to 40 bytes, while the PPD specification
-+      allows for up to 80 bytes.</p>
-       </td>
- </tr>
-@@ -1229,11 +1233,12 @@
- in the <code>MediaPosition</code> attribute in the PostScript page
- device dictionary.</p>
--<p>The name is any combination of letters, numbers, and the
--underscore and can be up to 40 characters in length.</p>
-+<p>The name may contain up to 40 ASCII characters within the range of
-+decimal 33 to decimal 126 inclusive, except for the characters comma
-+(44), slash (47) and colon (58).</p>
--<p>If provided, the text can be any string up to 80 characters
--in length. If no text is provided, the name is used.</p>
-+<p>If provided, the text can be any string up to 80 bytes in length.
-+If no text is provided, the name is used.</p>
- <h3>See Also</h3>
-@@ -1271,11 +1276,12 @@
- <p>The <code>Installable</code> directive adds a new boolean option
- to the <code>InstallableOptions</code> group with a default value of
--<code>False</code>. The name is any combination of letters, numbers,
--and the underscore and can be up to 40 characters in length.</p>
-+<code>False</code>. The name may contain up to 40 ASCII characters
-+within the range of decimal 33 to decimal 126 inclusive, except for
-+the characters comma (44), slash (47) and colon (58).</p>
--<p>If provided, the text can be any string up to 80 characters
--in length. If no text is provided, the name is used.</p>
-+<p>If provided, the text can be any string up to 80 bytes in length.
-+If no text is provided, the name is used.</p>
- <h2 class="title"><a name='LocAttribute'>LocAttribute</a></h2>
-@@ -1295,17 +1301,15 @@
- <h3>Description</h3>
- <p>The <code>LocAttribute</code> directive creates a localized PPD
--attribute. The name is any combination of letters, numbers, and the
--underscore and can be up to 40 characters in length.</p>
-+attribute. The name may contain up to 40 ASCII characters within the
-+range of decimal 33 to decimal 126 inclusive, except for the characters
-+comma (44), slash (47) and colon (58).</p>
--<p>The selector can be the empty string (<code>""</code>), a keyword
--consisting of up to 40 letters, numbers, and the underscore, or
--a string composed of a keyword and user text of up to 80
--characters.</p>
-+<p>The selector can be the empty string (<code>""</code>) or text of up
-+to 80 bytes.</p>
--<p>The value is any string or number; the string may contain
--multiple lines, however no one line may exceed 255
--characters.</p>
-+<p>The value is any string or number; the string may contain multiple
-+lines, however no one line may exceed 255 bytes.</p>
- <h3>See Also</h3>
-@@ -1458,14 +1462,16 @@
- in the <code>cupsMediaType</code> attribute in the PostScript page
- device dictionary.</p>
--<p>The name is any combination of letters, numbers, and the
--underscore and can be up to 40 characters in length. The name is
--placed in the <code>MediaType</code> attribute in the PostScript
--page device dictionary.</p>
-+<p>The name may contain up to 40 ASCII characters within the range of
-+decimal 33 to decimal 126 inclusive, except for the characters comma
-+(44), slash (47) and colon (58).</p>
--<p>If provided, the text can be any string up to 80 characters
--in length. If no text is provided, the name is used.</p>
-+<p>If provided, the text can be any string up to 80 bytes in length.
-+If no text is provided, the name is used.</p>
-+<p>The name is placed in the <code>MediaType</code> attribute in the
-+PostScript page device dictionary.</p>
-+
- <h3>See Also</h3>
- <p><a href='#Choice'><code>Choice</code></a>,
-@@ -1532,7 +1538,7 @@
- characters ".", "/", "-", and "+" and should not begin with the
- manufacturer name since the PPD compiler will add this
- automatically for you. The maximum length of the name string is
--31 characters to conform to the Adobe limits on the length of
-+31 bytes to conform to the Adobe limits on the length of
- <code>ShortNickName</code>.</p>
- <h3>See Also</h3>
-@@ -1598,11 +1604,12 @@
- <p>The <code>Option</code> directive creates a new option in the
- current group, by default the <code>General</code> group. The name
--is any combination of letters, numbers, and the underscore and
--can be up to 40 characters in length.</p>
-+may contain up to 40 ASCII characters within the range of decimal 33
-+to decimal 126 inclusive, except for the characters comma (44), slash
-+(47) and colon (58).</p>
--<p>If provided, the text can be any string up to 80 characters
--in length. If no text is provided, the name is used.</p>
-+<p>If provided, the text can be any string up to 80 bytes in length.
-+If no text is provided, the name is used.</p>
- <p>The type argument is one of the following keywords:</p>
-@@ -1749,8 +1756,8 @@
- the examples represent the horizontal and vertical resolutions
- which must be positive integer values.</p>
--<p>If provided, the text can be any string up to 80 characters
--in length. If no text is provided, the name is used.</p>
-+<p>If provided, the text can be any string up to 80 bytes in length.
-+If no text is provided, the name is used.</p>
- <h3>See Also</h3>
-Index: doc/help/ref-printers-conf.html
-===================================================================
---- doc/help/ref-printers-conf.html    (.../tags/release-1.4.1)        (wersja 8857)
-+++ doc/help/ref-printers-conf.html    (.../branches/branch-1.4)       (wersja 8857)
-@@ -21,8 +21,8 @@
- normally use the <A HREF="man-lpadmin.html">lpadmin(8)</A>
- command, web interface, or any of the available GUIs to manage
- your printers instead. If you do choose to edit this file
--manually, you will need to restart the scheduler to make them
--active.</P>
-+manually, you will need to stop the scheduler first, make your
-+changes, and then start the scheduler to make them active.</P>
- <H2 CLASS="title"><A NAME="Accepting">Accepting</A></H2>
-Index: doc/help/spec-ipp.html
-===================================================================
---- doc/help/spec-ipp.html     (.../tags/release-1.4.1)        (wersja 8857)
-+++ doc/help/spec-ipp.html     (.../branches/branch-1.4)       (wersja 8857)
-@@ -558,7 +558,7 @@
- <h4>Cancel-Job Request</h4>
- <p>The following groups of attributes are supplied as part of the
--Set-Job-Attributes request:
-+Cancel-Job request:
- <p>Group 1: Operation Attributes
-@@ -632,6 +632,17 @@
-       <dd>The client MUST supply a URI for the specified printer or
-       "ipp://.../printers" for all printers and classes.
-+      <dt><span class="info">CUPS 1.2/Mac OS X 10.5</span>"requesting-user-name" (name(MAX)):
-+
-+      <dd>The client OPTIONALLY supplies this attribute to specify whose jobs
-+      jobs are purged or canceled.
-+
-+      <dt><span class="info">CUPS 1.2/Mac OS X 10.5</span>"my-jobs" (boolean):
-+
-+      <dd>The client OPTIONALLY supplies this attribute to specify that only
-+      the jobs owned by the requesting user are purged or canceled. The
-+      default is false.
-+
-       <dt><span class="info">CUPS 1.2/Mac OS X 10.5</span>"purge-jobs" (boolean):
-       <dd>The client OPTIONALLY supplies this attribute to specify
-Index: doc/help/ref-classes-conf.html
-===================================================================
---- doc/help/ref-classes-conf.html     (.../tags/release-1.4.1)        (wersja 8857)
-+++ doc/help/ref-classes-conf.html     (.../branches/branch-1.4)       (wersja 8857)
-@@ -21,8 +21,8 @@
- normally use the <A HREF="man-lpadmin.html">lpadmin(8)</A>
- command, web interface, or any of the available GUIs to manage
- your classes instead. If you do choose to edit this file
--manually, you will need to restart the scheduler to make them
--active.</P>
-+manually, you will need to stop the scheduler first, make your
-+changes, and then start the scheduler to make them active.</P>
- <H2 CLASS="title"><A NAME="Accepting">Accepting</A></H2>
-Index: doc/Makefile
-===================================================================
---- doc/Makefile       (.../tags/release-1.4.1)        (wersja 8857)
-+++ doc/Makefile       (.../branches/branch-1.4)       (wersja 8857)
-@@ -190,8 +190,8 @@
-       for lang in $(LANGUAGES); do \
-               if test -d $$lang; then \
-                       $(INSTALL_DIR) -m 755 $(DOCDIR)/$$lang; \
--                      $(INSTALL_MAN) $$lang/index.html $(DOCDIR)/$$lang; \
--                      test -f $$lang/cups.css && $(INSTALL_MAN) $$lang/cups.css $(DOCDIR)/$$lang; \
-+                      $(INSTALL_DATA) $$lang/index.html $(DOCDIR)/$$lang; \
-+                      $(INSTALL_DATA) $$lang/cups.css $(DOCDIR)/$$lang >/dev/null 2>&1 || true; \
-               fi; \
-       done
-Index: desktop/cups.desktop.in
-===================================================================
---- desktop/cups.desktop.in    (.../tags/release-1.4.1)        (wersja 8857)
-+++ desktop/cups.desktop.in    (.../branches/branch-1.4)       (wersja 8857)
-@@ -7,33 +7,33 @@
- Type=Application
- Name=Manage Printing
- Comment=CUPS Web Interface
--Name[de.UTF-8]=Druckerverwaltung
--Comment[de.UTF-8]=CUPS Webinterface
--Name[en_US.UTF-8]=Manage Printing
--Comment[en_US.UTF-8]=CUPS Web Interface
--Name[es.UTF-8]=Administrar impresión
--Comment[es.UTF-8]=Interfaz Web de CUPS
--Name[et.UTF-8]=Trükkimise haldur
--Comment[et.UTF-8]=CUPS-i veebiliides
--Name[eu.UTF-8]=Kudeatu inprimaketak
--Comment[eu.UTF-8]=CUPSen web interfazea
--Name[fr.UTF-8]=Gestionnaire d'impression
--Comment[fr.UTF-8]=Interface Web de CUPS
--Name[he.UTF-8]=נהל הדפסות
--Comment[he.UTF-8]=ממשק דפדפן של CUPS
--Name[id.UTF-8]=Manajemen Pencetakan
--Comment[id.UTF-8]=Antarmuka Web CUPS
--Name[it.UTF-8]=Gestione stampa
--Comment[it.UTF-8]=Interfaccia web di CUPS
--Name[ja.UTF-8]=印刷の管理
--Comment[ja.UTF-8]=CUPS Web インタフェース
--Name[pl.UTF-8]=Zarządzanie drukowaniem
--Comment[pl.UTF-8]=Interfejs WWW CUPS
--Name[ru.UTF-8]=Настройка печати
--Comment[ru.UTF-8]=Настройка CUPS
--Name[sv.UTF-8]=Hantera skrivare
--Comment[sv.UTF-8]=CUPS webb-gränssnitt
--Name[zh.UTF-8]=打印机管理
--Comment[zh.UTF-8]=CUPS网页界面
--Name[zh_TW.UTF-8]=印表管理
--Comment[zh_TW.UTF-8]=CUPS 網頁介面
-+Name[de]=Druckerverwaltung
-+Comment[de]=CUPS Webinterface
-+Name[en_US]=Manage Printing
-+Comment[en_US]=CUPS Web Interface
-+Name[es]=Administrar impresión
-+Comment[es]=Interfaz Web de CUPS
-+Name[et]=Trükkimise haldur
-+Comment[et]=CUPS-i veebiliides
-+Name[eu]=Kudeatu inprimaketak
-+Comment[eu]=CUPSen web interfazea
-+Name[fr]=Gestionnaire d'impression
-+Comment[fr]=Interface Web de CUPS
-+Name[he]=נהל הדפסות
-+Comment[he]=ממשק דפדפן של CUPS
-+Name[id]=Manajemen Pencetakan
-+Comment[id]=Antarmuka Web CUPS
-+Name[it]=Gestione stampa
-+Comment[it]=Interfaccia web di CUPS
-+Name[ja]=印刷の管理
-+Comment[ja]=CUPS Web インタフェース
-+Name[pl]=Zarządzanie drukowaniem
-+Comment[pl]=Interfejs WWW CUPS
-+Name[ru]=Настройка печати
-+Comment[ru]=Настройка CUPS
-+Name[sv]=Hantera skrivare
-+Comment[sv]=CUPS webb-gränssnitt
-+Name[zh]=打印机管理
-+Comment[zh]=CUPS网页界面
-+Name[zh_TW]=印表管理
-+Comment[zh_TW]=CUPS 網頁介面
-Index: cups/sidechannel.c
-===================================================================
---- cups/sidechannel.c (.../tags/release-1.4.1)        (wersja 8857)
-+++ cups/sidechannel.c (.../branches/branch-1.4)       (wersja 8857)
-@@ -191,10 +191,24 @@
-     if (errno != EINTR && errno != EAGAIN)
-     {
-       DEBUG_printf(("1cupsSideChannelRead: Read error: %s", strerror(errno)));
-+      *command = CUPS_SC_CMD_NONE;
-+      *status  = CUPS_SC_STATUS_IO_ERROR;
-       return (-1);
-     }
-  /*
-+  * Watch for EOF or too few bytes...
-+  */
-+
-+  if (bytes < 4)
-+  {
-+    DEBUG_printf(("1cupsSideChannelRead: Short read of %d bytes", bytes));
-+    *command = CUPS_SC_CMD_NONE;
-+    *status  = CUPS_SC_STATUS_BAD_MESSAGE;
-+    return (-1);
-+  }
-+
-+ /*
-   * Validate the command code in the message...
-   */
-@@ -202,6 +216,8 @@
-       buffer[0] > CUPS_SC_CMD_SNMP_GET_NEXT)
-   {
-     DEBUG_printf(("1cupsSideChannelRead: Bad command %d!", buffer[0]));
-+    *command = CUPS_SC_CMD_NONE;
-+    *status  = CUPS_SC_STATUS_BAD_MESSAGE;
-     return (-1);
-   }
-@@ -379,6 +395,7 @@
-                       real_oidlen,    /* Length of returned OID string */
-                       oidlen;         /* Length of first OID */
-   const char          *current_oid;   /* Current OID */
-+  char                        last_oid[2048]; /* Last OID */
-   DEBUG_printf(("cupsSideChannelSNMPWalk(oid=\"%s\", timeout=%.3f, cb=%p, "
-@@ -397,6 +414,7 @@
-   current_oid = oid;
-   oidlen      = (int)strlen(oid);
-+  last_oid[0] = '\0';
-   do
-   {
-@@ -422,7 +440,8 @@
-       * Parse the response of the form "oid\0value"...
-       */
--      if (strncmp(real_data, oid, oidlen) || real_data[oidlen] != '.')
-+      if (strncmp(real_data, oid, oidlen) || real_data[oidlen] != '.' ||
-+          !strcmp(real_data, last_oid))
-       {
-        /*
-         * Done with this set of OIDs...
-@@ -448,6 +467,7 @@
-       */
-       current_oid = real_data;
-+      strlcpy(last_oid, current_oid, sizeof(last_oid));
-     }
-   }
-   while (status == CUPS_SC_STATUS_OK);
-Index: cups/cups.h
-===================================================================
---- cups/cups.h        (.../tags/release-1.4.1)        (wersja 8857)
-+++ cups/cups.h        (.../branches/branch-1.4)       (wersja 8857)
-@@ -59,10 +59,10 @@
-  * Constants...
-  */
--#  define CUPS_VERSION                1.0401
-+#  define CUPS_VERSION                1.0402
- #  define CUPS_VERSION_MAJOR  1
- #  define CUPS_VERSION_MINOR  4
--#  define CUPS_VERSION_PATCH  1
-+#  define CUPS_VERSION_PATCH  2
- #  define CUPS_BC_FD          3       /* Back-channel file descriptor for select/poll */
- #  define CUPS_DATE_ANY               (time_t)-1
-Index: cups/sidechannel.h
-===================================================================
---- cups/sidechannel.h (.../tags/release-1.4.1)        (wersja 8857)
-+++ cups/sidechannel.h (.../branches/branch-1.4)       (wersja 8857)
-@@ -55,6 +55,7 @@
- enum cups_sc_command_e                        /**** Request command codes ****/
- {
-+  CUPS_SC_CMD_NONE = 0,                       /* No command @private@ */
-   CUPS_SC_CMD_SOFT_RESET = 1,         /* Do a soft reset */
-   CUPS_SC_CMD_DRAIN_OUTPUT = 2,               /* Drain all pending output */
-   CUPS_SC_CMD_GET_BIDI = 3,           /* Return bidirectional capabilities */
-Index: cups/snmp.c
-===================================================================
---- cups/snmp.c        (.../tags/release-1.4.1)        (wersja 8857)
-+++ cups/snmp.c        (.../branches/branch-1.4)       (wersja 8857)
-@@ -608,6 +608,8 @@
-   int         count = 0;              /* Number of OIDs found */
-   int         request_id = 0;         /* Current request ID */
-   cups_snmp_t packet;                 /* Current response packet */
-+  int         lastoid[CUPS_SNMP_MAX_OID];
-+                                      /* Last OID we got */
-  /*
-@@ -631,14 +633,15 @@
-   */
-   _cupsSNMPCopyOID(packet.object_name, prefix, CUPS_SNMP_MAX_OID);
-+  lastoid[0] = -1;
-   for (;;)
-   {
-     request_id ++;
-     if (!_cupsSNMPWrite(fd, address, version, community,
--                       CUPS_ASN1_GET_NEXT_REQUEST, request_id,
--                     packet.object_name))
-+                        CUPS_ASN1_GET_NEXT_REQUEST, request_id,
-+                      packet.object_name))
-     {
-       DEBUG_puts("5_cupsSNMPWalk: Returning -1");
-@@ -652,7 +655,8 @@
-       return (-1);
-     }
--    if (!_cupsSNMPIsOIDPrefixed(&packet, prefix))
-+    if (!_cupsSNMPIsOIDPrefixed(&packet, prefix) ||
-+        _cupsSNMPIsOID(&packet, lastoid))
-     {
-       DEBUG_printf(("5_cupsSNMPWalk: Returning %d", count));
-@@ -666,6 +670,8 @@
-       return (count > 0 ? count : -1);
-     }
-+    _cupsSNMPCopyOID(lastoid, packet.object_name, CUPS_SNMP_MAX_OID);
-+
-     count ++;
-     (*cb)(&packet, data);
-Index: systemv/cupstestppd.c
-===================================================================
---- systemv/cupstestppd.c      (.../tags/release-1.4.1)        (wersja 8857)
-+++ systemv/cupstestppd.c      (.../branches/branch-1.4)       (wersja 8857)
-@@ -101,6 +101,17 @@
- /*
-+ * File permissions...
-+ */
-+
-+#define MODE_WRITE    0002            /* Other write */
-+#define MODE_MASK     0555            /* Owner/group/other read+exec/search */
-+#define MODE_DATAFILE 0444            /* Owner/group/other read */
-+#define MODE_DIRECTORY        0555            /* Owner/group/other read+search */
-+#define MODE_PROGRAM  0555            /* Owner/group/other read+exec */
-+
-+
-+/*
-  * Standard Adobe media keywords (must remain sorted)...
-  */
-@@ -357,7 +368,7 @@
-               root = argv[i];
-             break;
--        case 'W' :                    /* Turn errors into warnings  */
-+        case 'W' :                    /* Turn errors into warnings */
-             i ++;
-             if (i >= argc)
-@@ -1387,18 +1398,18 @@
-       {
-         check_basics(argv[i]);
-+      if (warn & WARN_DEFAULTS)
-+        errors = check_defaults(ppd, errors, verbose, 1);
-+
-       if (warn & WARN_CONSTRAINTS)
-         errors = check_constraints(ppd, errors, verbose, 1);
--      if (warn & WARN_DEFAULTS)
--        errors = check_defaults(ppd, errors, verbose, 1);
-+      if (warn & WARN_FILTERS)
-+        errors = check_filters(ppd, root, errors, verbose, 1);
-       if (warn & WARN_PROFILES)
-         errors = check_profiles(ppd, root, errors, verbose, 1);
--      if (warn & WARN_FILTERS)
--        errors = check_filters(ppd, root, errors, verbose, 1);
--
-         if (warn & WARN_SIZES)
-         errors = check_sizes(ppd, errors, verbose, 1);
-         else
-@@ -2411,6 +2422,7 @@
-               pathprog[1024];         /* Complete path to program/filter */
-   int         cost;                   /* Cost of filter */
-   const char  *prefix;                /* WARN/FAIL prefix */
-+  struct stat fileinfo;               /* File information */
-   prefix = warn ? "  WARN  " : "**FAIL**";
-@@ -2452,18 +2464,32 @@
-                  program);
-       }
--      if (access(pathprog, X_OK))
-+      if (stat(pathprog, &fileinfo))
-       {
-       if (!warn && !errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
-       if (verbose >= 0)
-         _cupsLangPrintf(stdout, _("      %s  Missing cupsFilter "
--                                  "file \"%s\"\n"), prefix, program);
-+                                  "file \"%s\"\n"), prefix, pathprog);
-       if (!warn)
-         errors ++;
-       }
-+      else if (fileinfo.st_uid != 0 ||
-+               (fileinfo.st_mode & MODE_WRITE) ||
-+             (fileinfo.st_mode & MODE_MASK) != MODE_PROGRAM)
-+      {
-+      if (!warn && !errors && !verbose)
-+        _cupsLangPuts(stdout, _(" FAIL\n"));
-+
-+      if (verbose >= 0)
-+        _cupsLangPrintf(stdout, _("      %s  Bad permissions on cupsFilter "
-+                                  "file \"%s\"\n"), prefix, pathprog);
-+
-+      if (!warn)
-+        errors ++;
-+      }
-       else
-         errors = valid_path("cupsFilter", pathprog, errors, verbose, warn);
-     }
-@@ -2523,18 +2549,33 @@
-                  program);
-       }
--      if (access(pathprog, X_OK))
-+      if (stat(pathprog, &fileinfo))
-       {
-       if (!warn && !errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
-       if (verbose >= 0)
-         _cupsLangPrintf(stdout, _("      %s  Missing cupsPreFilter "
--                                  "file \"%s\"\n"), prefix, program);
-+                                  "file \"%s\"\n"), prefix, pathprog);
-         if (!warn)
-         errors ++;
-       }
-+      else if (fileinfo.st_uid != 0 ||
-+               (fileinfo.st_mode & MODE_WRITE) ||
-+             (fileinfo.st_mode & MODE_MASK) != MODE_PROGRAM)
-+      {
-+      if (!warn && !errors && !verbose)
-+        _cupsLangPuts(stdout, _(" FAIL\n"));
-+
-+      if (verbose >= 0)
-+        _cupsLangPrintf(stdout, _("      %s  Bad permissions on "
-+                                  "cupsPreFilter file \"%s\"\n"), prefix,
-+                        pathprog);
-+
-+      if (!warn)
-+        errors ++;
-+      }
-       else
-         errors = valid_path("cupsPreFilter", pathprog, errors, verbose, warn);
-     }
-@@ -2562,8 +2603,11 @@
-       if (!warn)
-         errors ++;
-     }
-+    
-+    snprintf(pathprog, sizeof(pathprog), "%s%s", root,
-+             attr->value ? attr->value : "(null)");
--    if (!attr->value || access(attr->value, 0))
-+    if (!attr->value || stat(pathprog, &fileinfo))
-     {
-       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
-@@ -2571,13 +2615,28 @@
-       if (verbose >= 0)
-       _cupsLangPrintf(stdout, _("      %s  Missing "
-                                 "APDialogExtension file \"%s\"\n"),
--                      prefix, attr->value ? attr->value : "<NULL>");
-+                      prefix, pathprog);
-       if (!warn)
-       errors ++;
-     }
-+    else if (fileinfo.st_uid != 0 ||
-+           (fileinfo.st_mode & MODE_WRITE) ||
-+           (fileinfo.st_mode & MODE_MASK) != MODE_DIRECTORY)
-+    {
-+      if (!warn && !errors && !verbose)
-+      _cupsLangPuts(stdout, _(" FAIL\n"));
-+
-+      if (verbose >= 0)
-+      _cupsLangPrintf(stdout, _("      %s  Bad permissions on "
-+                                "APDialogExtension file \"%s\"\n"), prefix,
-+                      pathprog);
-+
-+      if (!warn)
-+      errors ++;
-+    }
-     else
--      errors = valid_path("APDialogExtension", attr->value, errors, verbose,
-+      errors = valid_path("APDialogExtension", pathprog, errors, verbose,
-                           warn);
-   }
-@@ -2601,7 +2660,10 @@
-         errors ++;
-     }
--    if (!attr->value || access(attr->value, 0))
-+    snprintf(pathprog, sizeof(pathprog), "%s%s", root,
-+             attr->value ? attr->value : "(null)");
-+
-+    if (!attr->value || stat(pathprog, &fileinfo))
-     {
-       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
-@@ -2609,13 +2671,28 @@
-       if (verbose >= 0)
-       _cupsLangPrintf(stdout, _("      %s  Missing "
-                                 "APPrinterIconPath file \"%s\"\n"),
--                      prefix, attr->value ? attr->value : "<NULL>");
-+                      prefix, pathprog);
-       if (!warn)
-       errors ++;
-     }
-+    else if (fileinfo.st_uid != 0 ||
-+           (fileinfo.st_mode & MODE_WRITE) ||
-+           (fileinfo.st_mode & MODE_MASK) != MODE_DATAFILE)
-+    {
-+      if (!warn && !errors && !verbose)
-+      _cupsLangPuts(stdout, _(" FAIL\n"));
-+
-+      if (verbose >= 0)
-+      _cupsLangPrintf(stdout, _("      %s  Bad permissions on "
-+                                "APPrinterIconPath file \"%s\"\n"), prefix,
-+                      pathprog);
-+
-+      if (!warn)
-+      errors ++;
-+    }
-     else
--      errors = valid_path("APPrinterIconPath", attr->value, errors, verbose,
-+      errors = valid_path("APPrinterIconPath", pathprog, errors, verbose,
-                           warn);
-   }
-@@ -2639,7 +2716,10 @@
-         errors ++;
-     }
--    if (!attr->value || access(attr->value, 0))
-+    snprintf(pathprog, sizeof(pathprog), "%s%s", root,
-+             attr->value ? attr->value : "(null)");
-+
-+    if (!attr->value || stat(pathprog, &fileinfo))
-     {
-       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
-@@ -2647,13 +2727,28 @@
-       if (verbose >= 0)
-       _cupsLangPrintf(stdout, _("      %s  Missing "
-                                 "APPrinterLowInkTool file \"%s\"\n"),
--                      prefix, attr->value ? attr->value : "<NULL>");
-+                      prefix, pathprog);
-       if (!warn)
-       errors ++;
-     }
-+    else if (fileinfo.st_uid != 0 ||
-+           (fileinfo.st_mode & MODE_WRITE) ||
-+           (fileinfo.st_mode & MODE_MASK) != MODE_DIRECTORY)
-+    {
-+      if (!warn && !errors && !verbose)
-+      _cupsLangPuts(stdout, _(" FAIL\n"));
-+
-+      if (verbose >= 0)
-+      _cupsLangPrintf(stdout, _("      %s  Bad permissions on "
-+                                "APPrinterLowInkTool file \"%s\"\n"), prefix,
-+                      pathprog);
-+
-+      if (!warn)
-+      errors ++;
-+    }
-     else
--      errors = valid_path("APPrinterLowInkTool", attr->value, errors, verbose,
-+      errors = valid_path("APPrinterLowInkTool", pathprog, errors, verbose,
-                           warn);
-   }
-@@ -2677,7 +2772,10 @@
-         errors ++;
-     }
--    if (!attr->value || access(attr->value, 0))
-+    snprintf(pathprog, sizeof(pathprog), "%s%s", root,
-+             attr->value ? attr->value : "(null)");
-+
-+    if (!attr->value || stat(pathprog, &fileinfo))
-     {
-       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
-@@ -2685,13 +2783,28 @@
-       if (verbose >= 0)
-       _cupsLangPrintf(stdout, _("      %s  Missing "
-                                 "APPrinterUtilityPath file \"%s\"\n"),
--                      prefix, attr->value ? attr->value : "<NULL>");
-+                      prefix, pathprog);
-       if (!warn)
-       errors ++;
-     }
-+    else if (fileinfo.st_uid != 0 ||
-+           (fileinfo.st_mode & MODE_WRITE) ||
-+           (fileinfo.st_mode & MODE_MASK) != MODE_DIRECTORY)
-+    {
-+      if (!warn && !errors && !verbose)
-+      _cupsLangPuts(stdout, _(" FAIL\n"));
-+
-+      if (verbose >= 0)
-+      _cupsLangPrintf(stdout, _("      %s  Bad permissions on "
-+                                "APPrinterUtilityPath file \"%s\"\n"), prefix,
-+                      pathprog);
-+
-+      if (!warn)
-+      errors ++;
-+    }
-     else
--      errors = valid_path("APPrinterUtilityPath", attr->value, errors, verbose,
-+      errors = valid_path("APPrinterUtilityPath", pathprog, errors, verbose,
-                           warn);
-   }
-@@ -2715,7 +2828,7 @@
-         errors ++;
-     }
--    if (!attr->value || access(attr->value, 0))
-+    if (!attr->value || stat(attr->value, &fileinfo))
-     {
-       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
-@@ -2728,6 +2841,21 @@
-       if (!warn)
-       errors ++;
-     }
-+    else if (fileinfo.st_uid != 0 ||
-+           (fileinfo.st_mode & MODE_WRITE) ||
-+           (fileinfo.st_mode & MODE_MASK) != MODE_DIRECTORY)
-+    {
-+      if (!warn && !errors && !verbose)
-+      _cupsLangPuts(stdout, _(" FAIL\n"));
-+
-+      if (verbose >= 0)
-+      _cupsLangPrintf(stdout, _("      %s  Bad permissions on "
-+                                "APScanAppPath file \"%s\"\n"), prefix,
-+                      attr->value);
-+
-+      if (!warn)
-+      errors ++;
-+    }
-     else
-       errors = valid_path("APScanAppPath", attr->value, errors, verbose,
-                           warn);
-@@ -2768,6 +2896,7 @@
-   const char  *ptr;                   /* Pointer into string */
-   const char  *prefix;                /* WARN/FAIL prefix */
-   char                filename[1024];         /* Profile filename */
-+  struct stat fileinfo;               /* File information */
-   int         num_profiles = 0;       /* Number of profiles */
-   unsigned    hash,                   /* Current hash value */
-               hashes[1000];           /* Hash values of profile names */
-@@ -2822,18 +2951,33 @@
-                attr->value);
-     }
--    if (access(filename, 0))
-+    if (stat(filename, &fileinfo))
-     {
-       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
-       if (verbose >= 0)
-       _cupsLangPrintf(stdout, _("      %s  Missing cupsICCProfile "
--                                "file \"%s\"!\n"), prefix, attr->value);
-+                                "file \"%s\"!\n"), prefix, filename);
-       if (!warn)
-       errors ++;
-     }
-+    else if (fileinfo.st_uid != 0 ||
-+           (fileinfo.st_mode & MODE_WRITE) ||
-+           (fileinfo.st_mode & MODE_MASK) != MODE_DATAFILE)
-+    {
-+      if (!warn && !errors && !verbose)
-+      _cupsLangPuts(stdout, _(" FAIL\n"));
-+
-+      if (verbose >= 0)
-+      _cupsLangPrintf(stdout, _("      %s  Bad permissions on "
-+                                "cupsICCProfile file \"%s\"\n"), prefix,
-+                      filename);
-+
-+      if (!warn)
-+      errors ++;
-+    }
-     else
-       errors = valid_path("cupsICCProfile", filename, errors, verbose, warn);
-Index: filter/hpgl-input.c
-===================================================================
---- filter/hpgl-input.c        (.../tags/release-1.4.1)        (wersja 8857)
-+++ filter/hpgl-input.c        (.../branches/branch-1.4)       (wersja 8857)
-@@ -144,7 +144,7 @@
-   if (!strcasecmp(name, "LB"))
-   {
-     bufptr = buf;
--    while ((ch = getc(fp)) != StringTerminator)
-+    while ((ch = getc(fp)) != StringTerminator && ch != EOF)
-       if (bufptr < (buf + sizeof(buf) - 1))
-         *bufptr++ = ch;
-     *bufptr = '\0';
-Index: CHANGES.txt
-===================================================================
---- CHANGES.txt        (.../tags/release-1.4.1)        (wersja 8857)
-+++ CHANGES.txt        (.../branches/branch-1.4)       (wersja 8857)
-@@ -1,6 +1,35 @@
--CHANGES.txt - 2009-09-11
-+CHANGES.txt - 2009-10-26
- ------------------------
-+CHANGES IN CUPS V1.4.2
-+
-+      - Fixed localization errors (STR #3359, STR #3372, STR #3380, STR #3387)
-+      - The documentation for classes.conf and printers.conf did not provide
-+        the correct instructions for manual changes (STR #3351)
-+      - The scheduler did not always rebuild printer cache files when the
-+        driver was changed (STR #3356)
-+      - The documentation makefile failed to install localizations when using
-+        newer versions of Bash (STR #3360)
-+      - The configure script did not use the --with-xinetd value for the
-+        default LPD configuration path (STR #3347)
-+      - The configure script incorrectly required glib for DBUS support
-+        (STR #3346)
-+      - The cupstestppd program incorrectly reported filters with bad
-+        permisssions as missing (STR #3363)
-+      - The cups.desktop file used the wrong locale names (STR #3358)
-+      - cupsSideChannelRead() did not return an error for short reads.
-+      - The installed PAM configuration file did not use the correct options
-+        with the pam_unix2 module (STR #3313)
-+      - The scheduler did not preserve default options that contained special
-+        characters (STR #3340)
-+      - The scheduler did not remove old pre-filters when updating a printer
-+        driver (STR #3342)
-+      - The HP/GL-2 filter did not check for early end-of-file (STR #3319)
-+      - The USB backend did not compile on some platforms (STR #3332)
-+      - cupsSideChannelSNMPWalk() could go into an infinite loop with broken
-+        SNMP implementations.
-+
-+
- CHANGES IN CUPS V1.4.1
-       - Documention fixes (STR #3296)
-Index: templates/Makefile
-===================================================================
---- templates/Makefile (.../tags/release-1.4.1)        (wersja 8857)
-+++ templates/Makefile (.../branches/branch-1.4)       (wersja 8857)
-@@ -3,7 +3,7 @@
- #
- #   Template makefile for the Common UNIX Printing System (CUPS).
- #
--#   Copyright 2007-2008 by Apple Inc.
-+#   Copyright 2007-2009 by Apple Inc.
- #   Copyright 1993-2007 by Easy Software Products.
- #
- #   These coded instructions, statements, and computer programs are the
-@@ -149,7 +149,7 @@
-               if test -d $$lang; then \
-                       $(INSTALL_DIR) -m 755 $(DATADIR)/templates/$$lang; \
-                       for file in $(FILES); do \
--                              $(INSTALL_DATA) $$lang/$$file $(DATADIR)/templates/$$lang 2>/dev/null || true; \
-+                              $(INSTALL_DATA) $$lang/$$file $(DATADIR)/templates/$$lang >/dev/null 2>&1 || true; \
-                       done \
-               fi \
-       done
-Index: templates/ru/printer-reject.tmpl
-===================================================================
---- templates/ru/printer-reject.tmpl   (.../tags/release-1.4.1)        (wersja 8857)
-+++ templates/ru/printer-reject.tmpl   (.../branches/branch-1.4)       (wersja 8857)
-@@ -3,7 +3,7 @@
- <H2 CLASS="title">Отмена заданий для {is_class?группы:принтера} {printer_name}</H2>
- <P>{is_class?Группа:Принтер} «<A
--HREF="/{is_class?группы:принтеры}/{printer_name}">{printer_name}</A>»
-+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>»
- больше не принимает задания.</P>
- </DIV>
-Index: templates/ru/printer-stop.tmpl
-===================================================================
---- templates/ru/printer-stop.tmpl     (.../tags/release-1.4.1)        (wersja 8857)
-+++ templates/ru/printer-stop.tmpl     (.../branches/branch-1.4)       (wersja 8857)
-@@ -3,7 +3,7 @@
- <H2 CLASS="title">Приостановить {is_class?группу:принтер} {printer_name}</H2>
- <P>{is_class?Группа:Принтер} «<A
--HREF="/{is_class?группы:принтеры}/{printer_name}">{printer_name}</A>»
-+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>»
- {is_class?была приостановлена:был приостановлен}.</P>
--</DIV>
-\ No newline at end of file
-+</DIV>
-Index: templates/ru/printer-start.tmpl
-===================================================================
---- templates/ru/printer-start.tmpl    (.../tags/release-1.4.1)        (wersja 8857)
-+++ templates/ru/printer-start.tmpl    (.../branches/branch-1.4)       (wersja 8857)
-@@ -3,7 +3,7 @@
- <H2 CLASS="title">Возобновить работу {is_class?группы:принтера} {printer_name}</H2>
- <P>{is_class?Группа:Принтер} «<A
--HREF="/{is_class?группы:принтеры}/{printer_name}">{printer_name}</A>»
-+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>»
- теперь принимают задания.</P>
--</DIV>
-\ No newline at end of file
-+</DIV>
-Index: templates/ru/admin.tmpl
-===================================================================
---- templates/ru/admin.tmpl    (.../tags/release-1.4.1)        (wersja 8857)
-+++ templates/ru/admin.tmpl    (.../branches/branch-1.4)       (wersja 8857)
-@@ -31,7 +31,7 @@
- <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server"><INPUT TYPE="SUBMIT" VALUE="Редактировать конфигурационный файл"></FORM>
- <FORM ACTION="/admin/log/access_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Показать журнал заданий"></FORM>
- <FORM ACTION="/admin/log/error_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Показать журнал ошибок"></FORM>
--<FORM ACTION="/admin/log/page_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Показать журнал страниц">
-+<FORM ACTION="/admin/log/page_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Показать журнал страниц"></FORM>
- </P>
- {SETTINGS_ERROR?<P>{SETTINGS_MESSAGE}</P>
-Index: templates/ru/printer-purge.tmpl
-===================================================================
---- templates/ru/printer-purge.tmpl    (.../tags/release-1.4.1)        (wersja 8857)
-+++ templates/ru/printer-purge.tmpl    (.../branches/branch-1.4)       (wersja 8857)
-@@ -3,7 +3,7 @@
- <H2 CLASS="title">Очистка всех заданий для {is_class?группы:принтера} {printer_name}</H2>
- <P>Все задания для {is_class?группы:принтера} «<A
--HREF="/{is_class?группы:принтеры}/{printer_name}">{printer_name}</A>»
-+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>»
- очищены.</P>
--</DIV>
-\ No newline at end of file
-+</DIV>
-Index: templates/de/set-printer-options-header.tmpl
-===================================================================
---- templates/de/set-printer-options-header.tmpl       (.../tags/release-1.4.1)        (wersja 8857)
-+++ templates/de/set-printer-options-header.tmpl       (.../branches/branch-1.4)       (wersja 8857)
-@@ -1,6 +1,6 @@
- <DIV CLASS="indent">
--<H2 CLASS="title">Standardeinstellungen f%uuml;r {printer_name} festlegen</H2>
-+<H2 CLASS="title">Standardeinstellungen f&uuml;r {printer_name} festlegen</H2>
- <FORM METHOD="POST" ACTION="/admin">
- <INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
-Index: scheduler/ipp.c
-===================================================================
---- scheduler/ipp.c    (.../tags/release-1.4.1)        (wersja 8857)
-+++ scheduler/ipp.c    (.../branches/branch-1.4)       (wersja 8857)
-@@ -2324,8 +2324,9 @@
-               dstfile[1024];          /* Destination Script/PPD file */
-   int         modify;                 /* Non-zero if we are modifying */
-   char                newname[IPP_MAX_NAME];  /* New printer name */
--  int         need_restart_job;       /* Need to restart job? */
--  int         set_device_uri,         /* Did we set the device URI? */
-+  int         changed_driver,         /* Changed the PPD/interface script? */
-+              need_restart_job,       /* Need to restart job? */
-+              set_device_uri,         /* Did we set the device URI? */
-               set_port_monitor;       /* Did we set the port monitor? */
-@@ -2469,6 +2470,7 @@
-   * Look for attributes and copy them over as needed...
-   */
-+  changed_driver   = 0;
-   need_restart_job = 0;
-   if ((attr = ippFindAttribute(con->request, "printer-location",
-@@ -2722,6 +2724,7 @@
-   if (con->filename)
-   {
-     need_restart_job = 1;
-+    changed_driver   = 1;
-     strlcpy(srcfile, con->filename, sizeof(srcfile));
-@@ -2792,18 +2795,6 @@
-       cupsdLogMessage(CUPSD_LOG_DEBUG,
-                       "Copied PPD file successfully!");
-       chmod(dstfile, 0644);
--
--#ifdef __APPLE__
--       /*
--        * (Re)register color profiles...
--      */
--
--        if (!RunUser)
--      {
--        apple_unregister_profiles(printer);
--        apple_register_profiles(printer);
--        }
--#endif /* __APPLE__ */
-       }
-       else
-       {
-@@ -2820,6 +2811,7 @@
-                                     IPP_TAG_NAME)) != NULL)
-   {
-     need_restart_job = 1;
-+    changed_driver   = 1;
-     if (!strcmp(attr->values[0].string.text, "raw"))
-     {
-@@ -2857,19 +2849,33 @@
-       cupsdLogMessage(CUPSD_LOG_DEBUG,
-                     "Copied PPD file successfully!");
-       chmod(dstfile, 0644);
-+    }
-+  }
-+  if (changed_driver)
-+  {
-+   /*
-+    * If we changed the PPD/interface script, then remove the printer's cache
-+    * file...
-+    */
-+
-+    char cache_name[1024];            /* Cache filename for printer attrs */
-+
-+    snprintf(cache_name, sizeof(cache_name), "%s/%s.ipp", CacheDir,
-+             printer->name);
-+    unlink(cache_name);
-+
- #ifdef __APPLE__
--     /*
--      * (Re)register color profiles...
--      */
-+   /*
-+    * (Re)register color profiles...
-+    */
--      if (!RunUser)
--      {
--      apple_unregister_profiles(printer);
--      apple_register_profiles(printer);
--      }
-+    if (!RunUser)
-+    {
-+      apple_unregister_profiles(printer);
-+      apple_register_profiles(printer);
-+    }
- #endif /* __APPLE__ */
--    }
-   }
-  /*
-@@ -8470,7 +8476,9 @@
-   * Read the option name...
-   */
--  for (line += 8, olen --; isalnum(*line & 255); line ++)
-+  for (line += 8, olen --;
-+       *line > ' ' && *line < 0x7f && *line != ':' && *line != '/';
-+       line ++)
-     if (olen > 0)
-     {
-       *option++ = *line;
-@@ -8498,7 +8506,9 @@
-   while (isspace(*line & 255))
-     line ++;
--  for (clen --; isalnum(*line & 255); line ++)
-+  for (clen --;
-+       *line > ' ' && *line < 0x7f && *line != ':' && *line != '/';
-+       line ++)
-     if (clen > 0)
-     {
-       *choice++ = *line;
-Index: scheduler/printers.c
-===================================================================
---- scheduler/printers.c       (.../tags/release-1.4.1)        (wersja 8857)
-+++ scheduler/printers.c       (.../branches/branch-1.4)       (wersja 8857)
-@@ -1518,6 +1518,7 @@
-   cupsFilePuts(fp, "# Printer configuration file for " CUPS_SVERSION "\n");
-   cupsFilePrintf(fp, "# Written by cupsd on %s\n", temp);
-+  cupsFilePuts(fp, "# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING\n");
-  /*
-   * Write each local printer known to the system...
-@@ -3834,7 +3835,7 @@
-   for (filter = mimeFirstFilter(MimeDatabase);
-        filter;
-        filter = mimeNextFilter(MimeDatabase))
--    if (filter->dst == p->filetype)
-+    if (filter->dst == p->filetype || filter->dst == p->prefiltertype)
-     {
-      /*
-       * Delete the current filter...
-Index: scheduler/classes.c
-===================================================================
---- scheduler/classes.c        (.../tags/release-1.4.1)        (wersja 8857)
-+++ scheduler/classes.c        (.../branches/branch-1.4)       (wersja 8857)
-@@ -728,6 +728,7 @@
-   cupsFilePuts(fp, "# Class configuration file for " CUPS_SVERSION "\n");
-   cupsFilePrintf(fp, "# Written by cupsd on %s\n", temp);
-+  cupsFilePuts(fp, "# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING\n");
-  /*
-   * Write each local class known to the system...
This page took 0.085566 seconds and 4 git commands to generate.