[Pkg-cups-devel] r439 - in cupsys/branches/cups-1.2-ubuntu/debian: . patches

Martin Pitt mpitt at alioth.debian.org
Mon Mar 12 10:35:57 CET 2007


Author: mpitt
Date: Mon Mar 12 09:35:57 2007
New Revision: 439

Modified:
   cupsys/branches/cups-1.2-ubuntu/debian/changelog
   cupsys/branches/cups-1.2-ubuntu/debian/cupsys.postinst
   cupsys/branches/cups-1.2-ubuntu/debian/patches/96_more-bug-fixes-between-cups-1.2.8-1.2.9.dpatch
Log:
* debian/cupsys.postinst: (De)activate backends also if the user initially
  installs cupsys (no update from older cupsys package).
* 96_more-bug-fixes-between-cups-1.2.8-1.2.9.dpatch: Keep up with upstream
  bug fixes:
   o The pdftops filter ignored the "match" size option in the
     pdftops.conf file (upstream STR #2285)
   o cupstestppd now validates UTF-8 text strings in
     globalized PPD files (STR #2283)
   o The outputorder=reverse option did not work with all
     printers (STR #2279)

Modified: cupsys/branches/cups-1.2-ubuntu/debian/changelog
==============================================================================
--- cupsys/branches/cups-1.2-ubuntu/debian/changelog	(original)
+++ cupsys/branches/cups-1.2-ubuntu/debian/changelog	Mon Mar 12 09:35:57 2007
@@ -1,3 +1,18 @@
+cupsys (1.2.8-0ubuntu4) feisty; urgency=low
+
+  * debian/cupsys.postinst: (De)activate backends also if the user initially
+    installs cupsys (no update from older cupsys package).
+  * 96_more-bug-fixes-between-cups-1.2.8-1.2.9.dpatch: Keep up with upstream
+    bug fixes:
+     o The pdftops filter ignored the "match" size option in the
+       pdftops.conf file (upstream STR #2285)
+     o cupstestppd now validates UTF-8 text strings in
+       globalized PPD files (STR #2283)
+     o The outputorder=reverse option did not work with all
+       printers (STR #2279)
+
+ -- Till Kamppeter <till.kamppeter at gmail.com>  Sun, 11 Mar 2007 17:22:06 +0000
+
 cupsys (1.2.8-0ubuntu3) feisty; urgency=low
 
   * debian/cupsys.templates: Re-activated CUPS backeds "snmp", "serial", and

Modified: cupsys/branches/cups-1.2-ubuntu/debian/cupsys.postinst
==============================================================================
--- cupsys/branches/cups-1.2-ubuntu/debian/cupsys.postinst	(original)
+++ cupsys/branches/cups-1.2-ubuntu/debian/cupsys.postinst	Mon Mar 12 09:35:57 2007
@@ -122,9 +122,10 @@
 	    rm -f /etc/cups/raw.convs-convert
 	    db_fset cupsys/raw-print changed false
 	fi
-	# Set up backends
+	# Set up backends (if configuration was changed or if we do an
+	# initial installation of cupsys, not an update)
 	db_fget cupsys/backend changed
-	if [ "$RET" = "true" ]; then
+	if [ "$RET" = "true" ] || [ -z "$2" ]; then
 	    db_get cupsys/backend && SELECTED=$RET
 	    list=`echo $SELECTED | sed -e 's/, /,/g'`
 	    save_IFS=$IFS

Modified: cupsys/branches/cups-1.2-ubuntu/debian/patches/96_more-bug-fixes-between-cups-1.2.8-1.2.9.dpatch
==============================================================================
--- cupsys/branches/cups-1.2-ubuntu/debian/patches/96_more-bug-fixes-between-cups-1.2.8-1.2.9.dpatch	(original)
+++ cupsys/branches/cups-1.2-ubuntu/debian/patches/96_more-bug-fixes-between-cups-1.2.8-1.2.9.dpatch	Mon Mar 12 09:35:57 2007
@@ -5,1130 +5,9 @@
 ## DP: No description.
 
 @DPATCH@
-diff -urNad cupsys-1.2.8~/CHANGES.txt.orig cupsys-1.2.8/CHANGES.txt.orig
---- cupsys-1.2.8~/CHANGES.txt.orig	1970-01-01 01:00:00.000000000 +0100
-+++ cupsys-1.2.8/CHANGES.txt.orig	2007-03-03 18:34:20.000000000 +0000
-@@ -0,0 +1,1088 @@
-+CHANGES.txt - 2007-02-06
-+------------------------
-+
-+CHANGES IN CUPS V1.2.8
-+
-+	- Documentation fixes (STR #2141, STR #2157)
-+	- The HTTP upgrade redirection used by the scheduler did
-+	  not work with Internet Explorer (STR #2235)
-+	- Members of a class with Unicode names did not appear
-+	  correctly in the web interface (STR #2154)
-+	- Changing the "Save debugging information" setting in
-+	  the web interface no longer affects the other server
-+	  settings (STR #1993)
-+	- The scheduler did not choose SSL certificates correctly
-+	  on Mac OS X (STR #2225)
-+	- The scheduler could get in an infinite loop when
-+	  printing to a remote class (STR #2228)
-+	- The jobs web page did not have separating space after
-+	  the number of pages column (STR #2230)
-+	- Added French localization (STR #2221)
-+	- Updated Spanish localization (STR #2223)
-+	- Updated Japanese localization (STR #2216)
-+	- cupsBorderlessScalingFacter was limited to a range of
-+	  0.9 to 1.1, but some printers need larger values (STR
-+	  #2222)
-+	- Landscape printing of PDF files did not always work
-+	  (STR #2149)
-+	- Fixed slow USB printing on Minolta printers (STR #2104,
-+	  STR #2219)
-+	- The ZPL label printer driver could produce stretched
-+	  output (PR #6448)
-+	- The IPP backend now clears the printer-state-message
-+	  when there are no outstanding errors or warnings (STR
-+	  #2126)
-+	- The CUPS Java scripting support did not work with
-+	  recent versions of Java due to the use of Sun's private
-+	  Base64 class (STR #2152)
-+	- The scheduler did not pass HTTP GET form variables to
-+	  custom CGI programs (STR #2173)
-+	- The lpoptions command now displays the reason why a PPD
-+	  file cannot be found (STR #2184)
-+	- The scheduler did not accept "none" as a browse
-+	  protocol name (STR #2200)
-+	- The scheduler still loaded the remote printer cache,
-+	  even when browsing was disabled (STR #2198)
-+	- The SNMP backend now shows OfficeJet printers with the
-+	  "HP" manufacturer prefix (STR #2151)
-+	- Web interface HTML cleanup (STR #2153)
-+	- The parallel backend consumed 100% CPU on FreeBSD due
-+	  to an apparently common parallel port driver bug (STR
-+	  #2161)
-+	- ippReadIO() incorrectly returned IPP_IDLE when the
-+	  initial IPP message header could not be read (STR
-+	  #2179)
-+	- cupsRasterInterpretPPD() did not support custom options
-+	  (STR #1960)
-+	- Collated output produced by the PostScript filter could
-+	  lose some options (STR #2137)
-+	- job-hold-until with time values for the next day would
-+	  be held for 60 days (STR #2144)
-+	- Some types of Sun raster files did not print correctly
-+	  (STR #2107)
-+	- Raw PBM files did not print correctly (STR #2106)
-+	- The SNMP backend no longer uses IPP with HP printers,
-+	  as some recent firmware versions appear to not work
-+	  (STR #2055)
-+	- cupsMarkOptions() did not handle the
-+	  multiple-document-handling option (STR #2135)
-+	- lpstat did not show the local job ID of active printers
-+	  (STR #2125)
-+	- The backends incorrectly used STATUS:
-+	  media-tray-empty-error messages for out-of-paper
-+	  conditions (STR #2123, STR #2124)
-+	- cupsGetPPD2() returned the wrong error when the PPD
-+	  file did not exist (STR #2122)
-+	- cupsDoAuthentication() did not translate the password
-+	  prompt (STR #2121)
-+	- httpGetLength2() did not handle error messages without
-+	  content correctly (STR #2133)
-+	- Added support for 32/64-bit libraries on HP-UX Itanium
-+	  systems (STR #2115)
-+	- Fixed a configure script problem with the 32/64-bit
-+	  library support (STR #2114)
-+	- The PostScript filter did not properly output document
-+	  setup commands for reversed output (STR #2111)
-+	- The scheduler did not parse IPv6 netmasks properly (STR
-+	  #2117)
-+
-+
-+CHANGES IN CUPS V1.2.7
-+
-+	- Documentation updates (STR #2089)
-+	- Added an Italian translation (STR #2105)
-+	- The PostScript filter now rotates the bounding box
-+	  values as needed (STR #2079)
-+	- The scheduler no longer loads the remote printer cache
-+	  when browsing is disabled (STR #2084)
-+	- The scheduler no longer writes a new launchd
-+	  configuration file if it doesn't have to (STR #2083)
-+	- Updated the USB and PAP backends for Mac OS X (STR
-+	  #2086)
-+	- The scheduler now picks up on changes to IPv6 and DNS
-+	  configuration on Mac OS X (STR #2085)
-+	- The lpstat program could still hang (STR #2098)
-+	- Fixed an inefficiency in the SNMP IPP detection code
-+	  (STR #2100)
-+	- The SSL negotiation code did not implement short
-+	  timeouts (STR #2091)
-+
-+
-+CHANGES IN CUPS V1.2.6
-+
-+	- The web interface was not localized on Mac OS X (STR
-+	  #2075)
-+	- "lpc status" did not show the number of queued jobs for
-+	  disabled queues (STR #2069)
-+	- The lpstat program could hang (STR #2073)
-+	- The serial backend did not support the new USB serial
-+	  filenames on Linux (STR #2061)
-+	- The parallel backend did not support bidirectional I/O
-+	  properly (STR #2056)
-+	- The network backends now log the numeric address that
-+	  is being used (STR #2046)
-+	- Fixed a compile error when using libpaper.
-+	- Fixed a compile error when compiling on Solaris with
-+	  threading enabled (STR #2049, STR #2050)
-+	- Missing printer-state-changed event for
-+	  printer-state-message updates (STR #2047)
-+
-+
-+CHANGES IN CUPS V1.2.5
-+
-+	- Documentation updates (STR #2038)
-+	- The SNMP backend no longer uses IPP for Epson printers
-+	  (STR #2028)
-+	- Updated the configure script for Tru64 UNIX 5.1 (STR
-+	  #2033)
-+	- Tru64 5.1B's getaddrinfo() and getnameinfo() functions
-+	  leak file descriptors (STR #2034)
-+	- cupsAddDest() didn't add the parent destination's
-+	  options and attributes.
-+	- ppdConflicts() did not handle custom option
-+	  constraints.
-+	- Raw printing of gzip'd files did not work (STR #2009)
-+	- The scheduler no longer preserves default option
-+	  choices when the new PPD no longer provides the old
-+	  default choice (STR #1929)
-+	- The Linux SCSI backend is now only built if the SCSI
-+	  development headers are installed.
-+	- USB printing to Minolta printers did not work (STR
-+	  #2019)
-+	- Windows clients could not monitor the queue status (STR
-+	  #2006)
-+	- The scheduler didn't log the operation name in the
-+	  access_log file for Create-Job and Print-Job requests.
-+	- The PostScript filter now separates collated copies
-+	  with any required JCL commands so that JCL-based
-+	  finishing options act on the individual copies and not
-+	  all of the copies as a single document.
-+	- The PostScript filter now disables duplex printing when
-+	  printing a 1-page document.
-+	- cups-lpd didn't pass the correct
-+	  job-originating-host-name value (STR #2023)
-+	- Fixed some speling errors in the German message catalog
-+	  (STR #2012)
-+	- cupstestppd did not catch PPD files with bad
-+	  UIConstraints values (STR #2016)
-+	- The USB backend did not work with the current udev-
-+	  created printers if the first printer was disconnected
-+	  (STR #2017)
-+	- Mirrored and rotated printing did not work with some
-+	  documents (STR #2004)
-+	- 2-sided printing with banners did not work properly on
-+	  some printers (STR #2018)
-+	- Updated the raw type rule to handle PJL within the
-+	  first 4k of a print job (STR #1969)
-+	- Added an Estonian translation (STR #1957)
-+	- Clarified the documentation for the cupsd.conf @LOCAL
-+	  and @IF(name) allow/deny functionality (STR #1992)
-+	- The PostScript filters did not escape the Title and For
-+	  comments in the print job header (STR #1988)
-+	- The scheduler would use 100% CPU if browsing was
-+	  disabled and the cupsd.conf file contained BrowsePoll
-+	  lines (STR #1994)
-+	- The cupsDirRead() function did not work properly on
-+	  non-POSIX-compliant systems (STR #2001)
-+	- The cupsFile functions didn't handle read/write errors
-+	  properly (STR #1996)
-+	- The DBUS support now works with older versions of the
-+	  DBUS library.
-+
-+
-+CHANGES IN CUPS V1.2.4
-+
-+	- The --with-printcap configure option did not work (STR
-+	  #1984)
-+	- The character set reported by cupsLangGet() did not
-+	  always reflect the default character set of a given
-+	  locale (STR #1983)
-+	- Older Lexmark and Tektronix printers did not work with
-+	  IPP (STR #1980)
-+	- Failsafe printing did not work (PR #6328)
-+	- Some web interface redirects did not work (STR #1978)
-+	- The web interface change settings button could
-+	  introduce a "Port 0" line in cupsd.conf if there was no
-+	  loopback connection available (STR #1979)
-+	- The web interface change settings and edit
-+	  configuration file buttons would truncate the
-+	  cupsd.conf file (STR #1976)
-+	- The German web interface used the wrong printer icon
-+	  images (STR #1973)
-+	- The "All Documents" link in the on-line help was
-+	  missing a trailing slash (STR #1971)
-+	- The Polish web interface translation used the wrong
-+	  URLs for the job history (STR #1963)
-+	- The "reprint job" button did not work (STR #1956)
-+	- The scheduler did not always report printer or job
-+	  events properly (STR #1955)
-+	- The scheduler always stopped the queue on error,
-+	  regardless of the exit code, if the error policy was
-+	  set to "stop-printer" (STR #1959)
-+	- ppdEmitJCL() included UTF-8 characters in the JCL job
-+	  name, which caused problems on some printers (STR
-+	  #1959)
-+	- Fixed a buffering problem that cause high CPU usage
-+	  (STR #1968)
-+	- The command-line applications did not convert
-+	  command-line strings to UTF-8 as needed (STR #1958)
-+	- cupsDirRead() incorrectly aborted when reading a
-+	  symbolic link that pointed to a file/directory that did
-+	  not exist (STR #1953)
-+	- The cupsInterpretRasterPPD() function did not handle
-+	  custom page sizes properly.
-+
-+
-+CHANGES IN CUPS V1.2.3
-+
-+	- The scheduler did not send job-state or
-+	  job-config-changed events when a job was held,
-+	  released, or changed (STR #1947)
-+	- The scheduler now aborts if the configuration file and
-+	  directory checks fail (STR #1941)
-+	- Fixed a problem with ippPort() not using the port
-+	  number that was set via the client.conf file or
-+	  CUPS_SERVER environment variable (STR #1945)
-+	- HTTP headers were not buffered (STR #1899)
-+	- Some IPP printers (HP) did not like UTF-8 job names
-+	  (STR #1837)
-+	- The CUPS desktop icon is now localized for Polish (STR
-+	  #1920)
-+	- Printer options were not always honored when printing
-+	  from Windows clients (STR #1839)
-+	- The openssl command would lock up the scheduler when
-+	  generating an encryption certificate on some platforms
-+	  due to a lack of entropy for the random number
-+	  generator (STR #1876)
-+	- The web admin page did not recognize that "Listen 631"
-+	  enabled remote access (STR #1908)
-+	- The web admin page did not check whether changes were
-+	  made to the Basic Server Settings check boxes (STR
-+	  #1908)
-+	- The IPP backend could generate N*N copies in certain
-+	  edge cases.
-+	- The scheduler did not restore remote printers properly
-+	  when BrowseShortNames was enabled (STR #1893)
-+	- Polling did not handle changes to the network
-+	  environment on Mac OS X (STR #1896)
-+	- The "make test" subscription tests used invalid
-+	  notify-recipient-uri values (STR #1910)
-+	- Printers could be left in an undefined state on system
-+	  sleep (STR #1905)
-+	- The Berkeley and System V commands did not always use
-+	  the expected character set (STR #1915)
-+	- Remote printing fixes (STR #1881)
-+	- The cupstestppd utility did not validate translation
-+	  strings for custom options properly.
-+	- Multi-language PPD files were not properly localized in
-+	  the web interface (STR #1913)
-+	- The admin page's simple settings options did not check
-+	  for local domain socket or IPv6 addresses and did not
-+	  use "localhost" as the listen address.
-+	- An empty BrowseProtocols, BrowseLocalProtocols, or
-+	  BrowseRemoteProtocols line would crash the scheduler
-+	  instead of disabling the corresponding browsing options.
-+	- The scheduler now logs IPP operation status as debug
-+	  messages instead of info or error.
-+	- cupsFileRewind() didn't clear the end-of-file state.
-+	- cupstestppd didn't report the actual misspelling of the
-+	  1284DeviceID attribute (STR #1849) 
-+	- BrowseRelay didn't work on Debian (STR #1887)
-+	- configure --without-languages didn't work (STR #1879)
-+	- Manually added remote printers did not work (STR #1881)
-+	- The <cups/backend.h> header was not installed.
-+	- Updated the build files for Autoconf 2.60 (STR #1853)
-+	- The scheduler incorrectly terminated the polling
-+	  processes after receiving a partial log line.
-+	- The cups-lpd mini-daemon reported "No printer-state
-+	  attribute found" errors when reporting the queue status
-+	  (PR #6250, STR #1821)
-+	- SNMP backend improvements (STR #1737, STR #1742, STR
-+	  #1790, STR #1835, STR #1880)
-+	- The scheduler erroneously reported an error with the
-+	  CGI pipe (STR #1860)
-+	- Fixed HP-UX compile problems (STR #1858, STR #1859)
-+	- cupstestppd crashed with some PPD files (STR #1864)
-+	- The <cups/dir.h> and <cups/file.h> header files did not
-+	  work with C++.
-+
-+
-+CHANGES IN CUPS V1.2.2
-+
-+	- Documentation updates (STR #1765, STR #1780)
-+	- CUPS didn't know about alternate character set names
-+	  for Asian text (STR #1819)
-+	- The lpoptions -o and -r options did not work unless you
-+	  specified a printer.
-+	- The lpoptions command incorrectly allowed users to set
-+	  printer attributes like printer-type (STR #1791)
-+	- httpWait() did not flush the write buffer, causing "bad
-+	  request" errors when communicating with CUPS 1.1.x
-+	  servers (STR #1717)
-+	- Polling did not sanitize the printer description,
-+	  location, or make and model strings like broadcasts
-+	  did.
-+	- Polled printers did not show the server's default
-+	  job-sheets option value.
-+	- The Samba password prompt was not properly localized
-+	  (STR #1814)
-+	- Added a German translation (STR #1842)
-+	- The scheduler now creates self-signed SSL certficates
-+	  automatically when using OpenSSL and CDSA for
-+	  encryption, just as for GNU TLS.
-+	- The SNMP backend sporatically reported some printers as
-+	  "unknown" (STR #1774)
-+	- The scheduler now forces BrowseTimeout to be at least
-+	  twice the BrowseInterval value and non-zero to avoid
-+	  common configuration errors.
-+	- The scheduler incorrectly returned printer URIs of the
-+	  form "ipp://server/printers/classname" for classes (STR
-+	  #1813)
-+	- Updated Japanese localization (STR #1805)
-+	- The scheduler's SSL certificate/key directory was not
-+	  created on installation (STR #1788)
-+	- Added a mailto.conf man page and help page (STR #1754)
-+	- The parallel and USB backends no longer wait for the
-+	  printer to go on-line - this caused problems with
-+	  certain printers that don't follow with the IEEE-1284
-+	  standard (STR #1738)
-+	- The scheduler could crash on a reload when implicit
-+	  classes were present (STR #1828)
-+	- The IPP backend incorrectly used the CUPS_ENCRYPTION
-+	  environment variable to determine the default
-+	  encryption mode when printing (STR #1820)
-+	- USB printing did not work on Solaris (STR #1756)
-+	- The scheduler sorted job priorities in the wrong order
-+	  (STR #1811)
-+	- The scheduler did not automatically restart notifiers
-+	  that exited or crashed (STR #1793)
-+	- IPv6 support did not work on NetBSD (STR #1834)
-+	- The EPM packaging file did not work (STR #1804)
-+	- The scheduler used up the CPU if BrowseRemoteProtocols
-+	  was empty (STR #1792)
-+	- Custom page sizes did not work (STR #1787)
-+	- The SNMP backend could crash on some systems when SNMP
-+	  logging was enabled (STR #1789)
-+	- Browsing could produce some funny printer names when
-+	  ServerName was set to an IP address (STR #1799)
-+	- Fixed the log message for BrowseRelay (STR #1798)
-+	- Fixes to allow CUPS to compile on MirBSD (STR #1796)
-+	- The scheduler incorrectly set the FINAL_CONTENT_TYPE
-+	  environment variable (STR #1795)
-+	- The pdftops filter incorrectly embedded a "produced by"
-+	  comment, causing PDF printing not to work on some
-+	  operating systems (STR #1801)
-+	- Sending raw jobs from a client system could cause the
-+	  client's scheduler to eventually crash (STR #1786)
-+	- The scheduler now checks that the notifier exists prior
-+	  to accepting a new subscription request.
-+	- The scheduler now reports the supported
-+	  notify-recipient schemes based on the contents of the
-+	  ServerBin/notifier directory.
-+	- Event notifications did not include the
-+	  notify-sequence-number or other required attributes
-+	  (STR #1747)
-+	- Allow/Deny addresses of the form "11.22.33.*" did not
-+	  work on Linux (STR #1769)
-+	- cupsGetPPD() did not work if the scheduler was only
-+	  listening on a domain socket (STR #1766)
-+	- The scheduler could crash advertising a class (STR
-+	  #1768)
-+	- The scheduler could crash if the default printer was
-+	  deleted (STR #1776)
-+	- Added a new default CUPS raster format (v3) which does
-+	  not compress the raster stream in order to provide the
-+	  same cupsRasterReadPixels() and cupsRasterWritePixels()
-+	  performance as CUPS 1.1.x.
-+	- The cupsaddsmb man page listed the wrong files for the
-+	  CUPS driver.
-+	- Some configure --with options did not work (STR #1746)
-+	- "Allow @IF(name)" didn't work if "name" wasn't the
-+	  first network interface (STR #1758)
-+	- The lpstat command did not use the correct character
-+	  set when reporting the date and time (STR #1751)
-+	- The cupsaddsmb command and web interface did not update
-+	  the Windows PPD files properly, resulting in corrupt
-+	  PPD files for the Windows client to use (STR #1750)
-+	- The cupsd.conf man page didn't describe the Listen
-+	  domain socket syntax (STR #1753)
-+	- The scheduler no longer tries to support more than
-+	  FD_SETSIZE file descriptors.
-+	- CDSA (encryption) support fixes for MacOS X.
-+	- The lppasswd program needs to be setuid to root to
-+	  create and update the /etc/cups/passwd.md5 file (STR
-+	  #1735)
-+	- 32/64-bit library installation was broken (STR #1741)
-+	- The USB backend now reports a "no such device" error
-+	  when using the old filename-based USB URIs instead of
-+	  the "success" error.
-+	- Increased the HTTP and IPP read timeouts to 10 seconds,
-+	  as 1 second was too short on congested networks (STR
-+	  #1719)
-+	- The SNMP backend now uses the device description over
-+	  the printer-make-and-model attribute when the attribute
-+	  contains a generic name (STR #1728)
-+	- Fixed another file descriptor leak when printing raw
-+	  files (STR #1736)
-+	- Raw queues were not shared via LDAP (STR #1739)
-+	- The pstops filter didn't always embed PageSetup
-+	  commands from the PPD file (STR #1740)
-+	- "make install" didn't work if you disabled all of the
-+	  localizations.
-+	- The scheduler didn't always choose the least costly
-+	  filter.
-+	- Fixed parsing of IPv6 addresses in Allow, Deny,
-+	  BrowseAllow, BrowseDeny, and BrowseRelay directives
-+	  (STR #1713)
-+	- Printers that were shared via LDAP did not get added to
-+	  the LDAP server properly (STR #1733)
-+	- LDAP browsing would crash the scheduler if a required
-+	  value was missing (STR #1731)
-+	- Special cases for the "localhost" hostname did not
-+	  work, causing printing to not work when the /etc/hosts
-+	  file did not contain a localhost entry (STR #1723)
-+	- Updated the Spanish translation (STR #1720, STR #1770)
-+	- Reverse-order page output was broken when N-up or
-+	  landscape orientations were used (STR #1725)
-+	- The parallel, serial, socket, and USB backends needed
-+	  print data before they would report back-channel data,
-+	  causing problems with several new drivers (STR #1724)
-+
-+
-+CHANGES IN CUPS V1.2.1
-+
-+	- "lprm -h hostname" did not work (STR #1800)
-+	- The web interface did not handle reloads properly for
-+	  MSIE (STR #1716)
-+	- The configure script no longer adds linker rpath
-+	  options when they are unnecessary.
-+	- The scheduler could crash printing a debug message on
-+	  Solaris (STR #1714)
-+	- The --enable-32bit and --enable-64bit configure options
-+	  did not always work.
-+	- The password prompt showed the domain socket address
-+	  instead of "localhost" for local authentication (STR
-+	  #1706)
-+	- The web interface filtered the list of printers even if
-+	  the user wasn't logged in (STR #1700)
-+	- The IPP backend did not work reliably with some Xerox
-+	  printers (STR #1704)
-+	- Trailing banners were not added when printing a single
-+	  file (STR #1698)
-+	- The web interface support programs crashed on Solaris
-+	  (STR #1699)
-+	- cupstestppd incorrectly reported problems with
-+	  *1284DeviceID attributes (STR #1710)
-+	- Browsing could get disabled after a restart (STR #1670)
-+	- Custom page sizes were not parsed properly (STR #1709)
-+	- The -U option wasn't supported by lpadmin (STR #1702)
-+	- The -u option didn't work with lpadmin (STR #1703)
-+	- The scheduler did not create non-blocking back-channel
-+	  pipes, which caused problems when the printer driver
-+	  did not read the back-channel data (STR #1705)
-+	- The scheduler no longer uses chunking in responses to
-+	  clients - this caused problems with older versions of
-+	  CUPS like 1.1.17 (PR #6143)
-+	- Automatic raw printing was broken (STR #1667)
-+	- 6-up printing was broken (STR #1697)
-+	- The pstops filter did not disable CTRL-D processing on
-+	  the printer/RIP.
-+	- ppdOpen*() did not load custom options properly (STR
-+	  #1680)
-+	- "Set Printer Options" in the web interface did not
-+	  update the DefaultImageableArea or
-+	  DefaultPaperDimension attributes in the PPD file (STR
-+	  #1689)
-+	- Fixed compile errors (STR #1682, STR #1684, STR #1685,
-+	  STR #1690)
-+	- The lpstat command displayed the wrong error message
-+	  for a missing destination (STR #1683)
-+	- Revised and completed the Polish translation (STR
-+	  #1669)
-+	- Stopped jobs did not show up in the list of active jobs
-+	  (STR #1676)
-+	- The configure script did not use the GNU TLS
-+	  "libgnutls-config" script to find the proper compiler
-+	  and linker options.
-+	- The imagetoraster filter did not correctly generate
-+	  several 1, 2, and 4-bit color modes.
-+	- cupsRasterWritePixels() could lose track of the current
-+	  output row.
-+	- cupsRasterReadPixels() did not automatically swap
-+	  12/16-bit chunked pixel data.
-+	- Moved the private _cups_raster_s structure out of the
-+	  public header.
-+	- Updated the CUPS raster format specification to include
-+	  encoding rules and colorspace definitions.
-+	- The Zebra PPD files had the wrong PostScript code for
-+	  the "default" option choices.
-+	- The imagetoraster filter did not generate correct CIE
-+	  XYZ or Lab color data.
-+	- The cups-config script did not work when invoked from a
-+	  source directory (STR #1673)
-+	- The SNMP backend did not compile on systems that used
-+	  the getifaddrs emulation functions (STR #1668)
-+
-+
-+CHANGES IN CUPS V1.2.0
-+
-+	- Documentation updates (STR #1618, STR #1620, STR #1622,
-+	  STR #1637)
-+	- Static file copy buffers reduced from 64k to 32k to
-+	  work around bogus MallocDebug library assumptions (STR
-+	  #1660)
-+	- The scheduler did not decode the backend exit code
-+	  properly (STR #1648)
-+	- The MacOS X USB backend did not report the 1284 device ID,
-+	  nor did it fix device IDs returned by HP printers.
-+	- The scheduler started more slowly than 1.1.x with large
-+	  numbers of printers (STR #1653)
-+	- cupsRasterInterpretPPD() didn't support the
-+	  cupsPreferredBitsPerColor attribute, and imagetoraster
-+	  didn't use the new API.
-+	- The "make test" script did not create all of the necessary
-+	  subdirectories for testing (STR #1638)
-+	- The scheduler did not prevent rotation of logs
-+	  redirected to /dev/null (STR #1651)
-+	- "make test" did not include the SNMP backend in the
-+	  test environment (STR #1625)
-+	- The EPM packaging files did not work (STR #1621)
-+	- "Use Default Configuration" inserted a broken
-+	  configuration file (STR #1624)
-+	- Redirects in the web interface did not always preserve
-+	  the encrypted status of a connection (STR #1603)
-+	- Added the Apple "pap" backend.
-+	- Added CUPS library to CUPS Image shared library
-+	  linkage to support Linux --as-needed linker option
-+	  (STR #1606)
-+	- Fixed support for --enable-pie (STR #1609)
-+	- The pdftops filter did not validate the length of the
-+	  encryption key (STR #1608)
-+	- Updated the Polish localization.
-+	- "Encryption Required" in the cupsd.conf file now only
-+	  requires encryption when the connection is not over the
-+	  loopback interface or domain socket.
-+	- Printer names containing "+" were not quoted properly in
-+	  the web interface (STR #1600)
-+	- The SNMP backend now reports the make and model in the
-+	  information string so that the auto-generated printer
-+	  name is more useful than just an IP address.
-+
-+
-+CHANGES IN CUPS V1.2rc3
-+
-+	- The cups-lpd program always did reverse lookups on the
-+	  client address, which could be a performance problem.
-+	  Added a "-n" option to disable lookups.
-+	- When configured with SSL support, require encryption by
-+	  default when displaying the /admin location (STR #1592)
-+	- The next job ID was not computed correctly if the job
-+	  cache file got out of sync with the spool directory
-+	  (STR #1582)
-+	- The PNG image handling code used deprecated functions
-+	  from libpng (STR #1587)
-+	- Added a Polish translation (STR #1584, STR #1586)
-+	- More changes to the scheduler to improve battery life
-+	  on portable devices (STR #1583)
-+	- Changed the default log level for status messages back
-+	  to "DEBUG" to be consistent with CUPS 1.1.x (STR #1579)
-+	- The error string was not set properly when
-+	  cupsDoFileRequest() was given the name of a directory
-+	  (STR #1578)
-+	- Fixed handling of job-hold-until (STR #1581)
-+	- Added explicit notes to the cupsaddsmb man page
-+	  explaining that the driver filenames are case-sensitive
-+	  under UNIX and that they must be all lowercase (Windows
-+	  2000) or all UPPERCASE (Windows 95/98/Me) to work (STR
-+	  #1568)
-+	- The USB backend incorrectly split the manufacturer name
-+	  if it contained spaces (STR #1566)
-+	- The scheduler would hang when listing PPD files for a
-+	  manufacturer whose name contained spaces (STR #1567)
-+	- Added the SNMP backend for network printer discovery
-+	  (STR #1555)
-+	- cupstestppd now fails PPD files with 1284DeviceId
-+	  instead of 1284DeviceID, and cups-driverd uses a
-+	  case-insensitive comparison when looking for it (STR
-+	  #1573)
-+	- cupsDoFileRequest() and cupsDoRequest() now work
-+	  properly with non-blocking HTTP connections.
-+	- Added Swedish translation (STR #1569)
-+	- "make install" now installs the MIME files with world
-+	  read permissions (STR #1565)
-+	- More CDSA encryption support fixes (STR #1563)
-+	- Updated the default mime.types file to support printing
-+	  of files that do not have a locally-recognized MIME
-+	  media type to raw or System V queues.
-+	- Updated the serial port detection code on Linux (STR
-+	  #1562)
-+	- Added some more error checking to httpGetHostname()
-+	  (STR #1561)
-+	- The title of some administration pages was not
-+	  localized (STR #1548)
-+	- The edit-config.tmpl file was not generated or
-+	  installed for the Spanish or Japanese localizations
-+	  (STR #1547)
-+	- The mimeDelete() function freed the types before the
-+	  filters, but the filters needed the type data (STR #1558)
-+	- The scheduler didn't keep track of the status pipes
-+	  properly, leading to a bad select() for multi-file jobs
-+	  (STR #1559)
-+	- The cupstestdsc program didn't validate the ordinal
-+	  page number value for %%Page: comments.
-+
-+
-+CHANGES IN CUPS V1.2rc2
-+
-+	- The scheduler was not always using the string pool,
-+	  causing random crashes.
-+	- The lpmove and the web interface's Move Job button did
-+	  not work with stopped jobs (STR #1534)
-+	- The PostScript filter did not handle the page-set
-+	  option properly with number-up printing (STR #1543)
-+	- The scheduler now only warns about unsupported ACLs
-+	  once (STR #1532)
-+	- The "fitplot" option did not work with output from
-+	  Mozilla (STR #1542)
-+	- The imagetops filter did not work with Level 2 or 3
-+	  printers (STR #1533)
-+	- The scheduler now recognizes PostScript files with PJL
-+	  commands that do not include an ENTER LANGUAGE command.
-+	- Added --with-printcap configure option.
-+	- 64-bit SSL fixes for MacOS X.
-+	- The scheduler didn't send some printer state change
-+	  events.
-+	- The scheduler didn't send jobs to busy remote printers.
-+	- Fixed some problems with the launchd support.
-+	- Added new USB printer backend for MacOS X.
-+	- The PostScript filter now handles files that start with
-+	  an incomplete PJL header (PR #6076)
-+	- The web interface language selection code did not try
-+	  the generic language localization (STR #1531)
-+	- The language cache, string pool, and transcoding caches
-+	  are now process global instead of per-thread to avoid
-+	  problems with GNOME and to allow for data sharing
-+	  between threads (STR #1530)
-+	- Fixed a CUPS 1.1.x compatibility bug (STR #1528)
-+	- The web interface redirection after certain printer
-+	  administration tasks was broken (STR #1516)
-+	- Web interface authorization could get stuck (STR #1512)
-+	- Localization updates (STR #1513, STR #1518, STR #1520)
-+	- The pstops filter didn't work with some files (STR
-+	  #1523)
-+	- "./configure --enable-static" didn't work (STR #1522)
-+	- The scheduler was not using the configured default
-+	  Group (STR #1521)
-+	- The web interface still did not show the localized time
-+	  and date for some locales and systems (STR #1509)
-+	- httpAddrGetList() would crash on systems without
-+	  getaddrinfo().
-+	- Socket URIs without a trailing slash would cause the
-+	  port number to not be accepted (STR #1519)
-+	- Local raw and System V printers were not advertised as
-+	  such for printer browsing (STR #1502)
-+	- The RPM spec file incorrectly put duplicate copies of
-+	  the Japanese and Spanish web interface templates in the
-+	  main cups package (STR #1517)
-+	- cupsSetDests() did not explicitly set the permissions
-+	  of the /etc/cups/lpoptions file (STR #1508)
-+	- The lpq command crashed with the -h option (STR #1515)
-+
-+
-+CHANGES IN CUPS V1.2rc1
-+
-+	- Documentation updates (STR #1497, STR #1498)
-+	- The scheduler now redirects browsers to https: URLs
-+	  when encryption is required.
-+	- The scheduler would crash when printing with a banner
-+	  (STR #1500)
-+	- cups-driverd did not use the LanguageEncoding attribute
-+	  in PPD files to convert the NickName to UTF-8 (STR
-+	  #1503)
-+	- The lpadmin command could not set the
-+	  printer-error-policy attribute (STR #1504)
-+	- The web interface did not show the time and date in the
-+	  correct format for the locale (STR #1505)
-+	- CUPS no longer accepts print jobs if a printer does not
-+	  support the file format (STR #1501)
-+	- Cleaned up the PostScript filter (pstops) so that it
-+	  properly supports %%IncludeFeature and page scaling
-+	  (STR #1453)
-+	- Fixed the cupsFileRewind() and cupsFileSeek() functions
-+	  to work properly with uncompressed files.
-+	- Added cupsFileGetLine(), cupsFileStderr(),
-+	  cupsFileStdin(), and cupsFileStdout() functions to the
-+	  CUPS library.
-+	- Added a new cupstestdsc program to test the DSC
-+	  conformance of PostScript files.
-+	- Added KDE/GNOME icons and a Manage Printers menu item.
-+	- Added --enable-image and --enable-pdftops configure
-+	  options to control whether the image and PDF filters
-+	  are built and installed (default = yes for all
-+	  platforms but MacOS X)
-+	- Fixed a minor memory leak in the PPD API.
-+	- Fixed transcoding issues (STR #1493)
-+	- The scheduler now enforces a minimum job cost of 100
-+	  when doing FilterLimit checks.
-+	- The scheduler would leak file descriptors when printing
-+	  to raw queues (STR #1491)
-+	- The IPv6 support did not compile on Tru64 UNIX (STR
-+	  #1488)
-+	- ppdOpen2() now converts the NickName and all UI text to
-+	  UTF-8 (STR #1475)
-+	- The Set Allowed Users web page did not work (STR #1486)
-+	- When the default policy was not set or set to a non-
-+	  existing policy, the scheduler did not set the default
-+	  policy name to "default" (STR #1484)
-+	- The Zebra CPCL driver did not use the correct righthand
-+	  margin for the 4" wide label sizes.
-+	- Fixed a problem with the parsing of fractional real
-+	  numbers in PPD files.
-+	- Added Spanish localization files (STR #1480)
-+	- Fixed localization of a few scheduler messages (STR
-+	  #1478)
-+	- Fixed support for HEAD requests in the scheduler (STR
-+	  #1481)
-+
-+
-+CHANGES IN CUPS V1.2b2
-+
-+	- Updated the CUPS design description.
-+	- Added --enable-32bit and --enable-64bit configure
-+	  options to allow building of separate 32/64-bit
-+	  libraries on systems that support both environments
-+	  (STR #1472)
-+	- Various compiler warning fixes.
-+	- Fixes for Solaris 10 builds against old GNU TLS and
-+	  LDAP libraries.
-+	- Added a cupsArrayUserData() function to retrieve the
-+	  user data pointer for an array (useful for typing
-+	  arrays)
-+	- The ppdEmitString() function did not compute the
-+	  required buffer size properly, leading to dropped
-+	  characters on the end of the printer commands in pstops
-+	  and imagetops (STR #1470)
-+
-+
-+CHANGES IN CUPS V1.2b1
-+
-+	- The serial backend now supports Equinox 8-port serial
-+	  hubs (STR #526)
-+	- The IPP backend now supports a compression option to
-+	  compress print files as they are sent to the remote
-+	  server (STR #956)
-+	- The CUPS browse protocol now supports passing of
-+	  default options and browse timeout values from the
-+	  server to the clients (STR #800)
-+	- Implicit classes that timed out could cause the
-+	  scheduler to crash (STR #1439)
-+	- Added DragonFly support in local device backends (STR
-+	  #1362)
-+	- Added LDAP printer browsing support (STR #338)
-+	- Added official support for printer maintenance commands
-+	  via the CUPS Command file format and hooks in the
-+	  printer-type and web interfaces (STR #932)
-+	- The HP-GL/2 filter could get in an infinite loop trying
-+	  to convert HP-PCL files (STR #1415)
-+	- CUPS now implements the HTTP/1.1 Expect header (STR
-+	  #1407)
-+	- Options in PPD files are no longer automatically put in
-+	  an "Extra" group; rather, all options that are not
-+	  inside an Open/CloseGroup will be placed in the
-+	  "General" group (STR #1385)
-+	- The scheduler now creates a job-uuid attribute that
-+	  uniquely identifies a job on a network (STR #1410)
-+	- The init script now unsets the TMPDIR environment
-+	  variable to prevent user temporary directories from
-+	  being used by cupsd accidentally (STR #1424)
-+	- Added support for launchd on MacOS X.
-+	- Added support for notify_post on MacOS X.
-+	- Added support for DBUS on Linux.
-+	- All of the Berkeley (except for lpc) and System V
-+	  commands now support specification of user, host, and
-+	  port (STR #1028, STR #1029, STR #1087)
-+	- The lpmove command now allows you to move all jobs for
-+	  a given queue (STR #56)
-+	- The web interface now supports moving of a job or jobs
-+	  to another queue (STR #56)
-+	- The web interface now provides searching, paging, and
-+	  changing of the sort/display order of classes, jobs,
-+	  and printers.
-+	- cupsaddsmb now accepts a password on the command-line
-+	  and supports passwords with special characters (STR
-+	  #822, STR #1236)
-+	- ppdLoad*() no longer tries to "fix" bad characters in
-+	  UI text (STR #1101)
-+	- Printer names can now (reliably) contain Unicode
-+	  characters (STR #896)
-+	- The lpstat command now shows the time and date of the
-+	  last printer state change instead of the hardcoded "Jan
-+	  01 00:00" (STR #659)
-+	- The scheduler now adds a job-actual-printer-uri
-+	  attribute to job objects when printing to a class (STR
-+	  #116)
-+	- The scheduler now logs log file open errors to the
-+	  system log (STR #1289)
-+	- The scheduler now sets the job-originating-user-name to
-+	  the authenticated username, if available (STR #1318)
-+	- The scheduler now only updates the permissions of SSL
-+	  keys and certificates when they are under the
-+	  ServerRoot directory (STR #1324)
-+	- The rastertodymo driver has been renamed to
-+	  rastertolabel (a symlink is installed so that existing
-+	  queues continue to work) and now also supports Zebra's
-+	  CPCL language.
-+	- The lpstat command could show the wrong active job for
-+	  a printer (STR #1301)
-+	- Fixed a potential crash problem in the scheduler when
-+	  aborting a CGI program (STR #1290)
-+	- Added a "cancel all jobs" button to the class and
-+	  printer web interfaces (STR #1140)
-+	- The add-printer web page now shows the
-+	  set-printer-options page after the printer has been
-+	  added (STR #690)
-+	- The classes web page now provides links to each of the
-+	  member printers (STR #307)
-+	- CUPS now handles HTTP request/response lines up to 32k
-+	  in length; this is mainly for better cookie support
-+	  (STR #1274)
-+	- Added support for the Apache PassEnv and SetEnv
-+	  directives to cupsd.conf (STR #853)
-+	- Added large file (64-bit) support (STR #541)
-+	- Fixed a performance issue with the ippReadIO()
-+	  implementation (STR #1284)
-+	- Fixed a performance issue with the scheduler's implicit
-+	  class implementation (STR #1283)
-+	- The pdftops filter now adds the Title and Creator
-+	  fields from the PDF file to the PostScript document
-+	  comments section (STR #539, STR #830)
-+	- Added a new cups_array_t and cupsArray*() functions to
-+	  the CUPS API to support sorted lists of data.
-+	- Made the CUPS API library thread-safe (STR #1276)
-+	- Added "media" option support for EFI EFMediaType option
-+	  (STR #902)
-+	- Added write buffering to the HTTP code to improve
-+	  performance (STR #547)
-+	- The scheduler now uses the attributes-natural-language
-+	  attribute to localize banner pages (STR #386)
-+	- The scheduler now returns the address that was used to
-+	  connect to it (STR #1076)
-+	- Fixed a problem with N-up printing and OpenOffice (STR
-+	  #576)
-+	- Added support for the GCC position independent
-+	  executable options (STR #1209)
-+	- Added new BrowseLocalProtocols and
-+	  BrowseRemoteProtocols directives to cupsd.conf,
-+	  allowing for different browse protocols for local and
-+	  remote printers (STR #877)
-+	- PPD files can now contain strings up to 256k in length
-+	  (STR #1215)
-+	- The pstops filter now supports the IncludeFeature DSC
-+	  comment (STR #1212)
-+	- The pstops filter now disables the setpagedevice
-+	  procedure when doing N-up printing (STR #1161)
-+	- The serial backend now supports "stop=1", "stop=2",
-+	  "parity=space", and "parity=mark" options (STR #1155)
-+	- "make install" no longer overwrites an existing PAM
-+	  configuration file (STR #1064)
-+	- The scheduler now closes all files on startup when run
-+	  in daemon mode (STR #1009)
-+	- Added a new RGBW colorspace to the CUPS raster format
-+	  (STR #1071)
-+	- The pdftops filter now sets the page size based on the
-+	  media box when not scaling the output (STR #912)
-+	- The pdftops filter now supports masked images (STR
-+	  #281)
-+	- The pdftops filter produced large output when rendering
-+	  PDF files containing lot of repeated images (STR #327)
-+	- The pdftops filter now minimizes print processing of
-+	  PDF files when using the page-ranges option (STR #273)
-+	- Updated pdftops filter to Xpdf 3.01.
-+	- Added new cupsBackchannelRead() and
-+	  cupsBackchannelWrite() functions, as well as
-+	  backchannel support to the parallel, serial, socket,
-+	  and USB backends (STR #1252)
-+	- The parallel and USB backends now treat a "no space
-+	  available" error as an out-of-paper condition (STR
-+	  #1225)
-+	- The "lpc" command now supports the "status all" command
-+	  (STR #1004)
-+	- ippReadIO() did not read collections properly (STR
-+	  #1249)
-+	- The "make test" script now creates the test files in
-+	  "/tmp/cups-$USER" instead of "/tmp/$USER" (STR #981)
-+	- All backends now abort on error when printing a job to
-+	  a class - this allows the next printer in the class to
-+	  print the job (STR #1084)
-+	- The scheduler now verifies that a printer supports
-+	  Letter or A4 media sizes before setting them as the
-+	  initial default (STR #1250)
-+	- The cupstestppd program now flags bad Resolution
-+	  options (STR #1269)
-+	- The USB backend now retries printing when the printer
-+	  is disconnected or turned off (STR #1267)
-+	- Added new httpGetHostname() function to CUPS API, and
-+	  use it instead of gethostname() so that the web
-+	  interface will work correctly on systems whose hostname
-+	  is not the FQDN (STR #1266)
-+	- The scheduler now stops printers if the backend for the
-+	  queue is missing on startup (STR #1265)
-+	- The configure script now supports "--disable-library"
-+	  to disable particular image file format support
-+	  libraries, even if they are available on the build
-+	  system (STR #1248)
-+	- The IPP backend did not always report on the total
-+	  number of pages that were printed (STR #1251)
-+	- The lpstat program could display garbage date and time
-+	  values for locales whose date format exceeded 31
-+	  characters (STR #1263)
-+	- The cupstestppd program would segfault when testing
-+	  certain broken PPD files (STR #1268)
-+	- Dramatically reduced the overhead of implicit classes.
-+	- Added new cupsDir*() functions to CUPS API.
-+	- Printers can now be published individually for sharing.
-+	- Fixed a bug in the scheduler's startup signalling code
-+	  which caused cupsd to send the SIGUSR1 signal to the
-+	  init process instead of the original parent process
-+	  (STR #1258)
-+	- Added new on-line help CGI to web interface to provide
-+	  searchable help.
-+	- Devices are now tracked dynamically, with each query
-+	  doing a new device scan.  This eliminates a previous
-+	  startup delay caused by slow backends and allows new
-+	  printers to be seen without restarting the server,
-+	  however it limits the amount of device URI checking
-+	  that can be done (basically now the scheduler only
-+	  requires a URI with a method that is a listed backend)
-+	- Added new printer auto-detection, server configuration,
-+	  and log file viewing to the administration web page.
-+	- Added new "set allowed users" web interface to set the
-+	  list of allowed users for a printer or class.
-+	- The scheduler, command-line, and web interfaces now
-+	  limit the list of printers and classes to those
-+	  accessible by a user.
-+	- cupsMarkOptions() now handles more non-standard
-+	  duplexing options and choices (STR #915)
-+	- cups-lpd now honors remote banner requests with the
-+	  "standard" banner whenever a printer does not have one
-+	  defined (STR #1220)
-+	- The scheduler's denial-of-service checks did not work
-+	  properly with IPv6 addresses (STR #1134)
-+	- The lp and lpr commands did not error out properly when
-+	  they were unable to write to a temporary file (STR
-+	  #1129)
-+	- The pstops filter did not handle Adobe-specific
-+	  comments in Windows NT driver output (STR #1085)
-+	- "lpstat -l -p" incorrectly reported the printer
-+	  interface (STR #936)
-+	- The web interface now operates exclusively with the
-+	  UTF-8 encoding, and sends the appropriate character set
-+	  and header information to the web browser (STR #919,
-+	  STR #1007)
-+	- Added a "set allowed users" interface to the web
-+	  interface so that you can set the list of allowed or
-+	  denied users/groups for a printer or class.
-+	- Disallow the "#" character in printer names, since it
-+	  has special meaning in the shell, config files, and in
-+	  URIs (STR #917, STR #1202)
-+	- Added a new application/x-csource MIME type, and
-+	  support for it to the texttops filter so that you can
-+	  pretty print plain text files without the C/C++
-+	  keywords being highlighted.
-+	- The pdftops filter did not compile with GCC 4.0 (STR
-+	  #1226)
-+	- The texttops filter did not highlight preprocessor
-+	  directives followed by a tab properly.
-+	- HP PJL output now uses both JOB DISPLAY and RDYMSG
-+	  commands to show the current job on the printer's
-+	  display (STR #1218)
-+	- Local authentication certificates are now stored in
-+	  /var/run/cups/certs by default instead of
-+	  /etc/cups/certs (STR #1211)
-+	- Backends now use "&" to separate options in device
-+	  URIs; "+" is still recognized but is deprecated (STR
-+	  #842)
-+	- The USB backend no longer supports the usb:/dev/foo
-+	  format on systems that support device ID queries.
-+	- Forced classification markings did not work when the
-+	  job-sheets parameters were "none,none".
-+	- "lpstat -l -p" incorrectly showed all users as allowed,
-+	  even if the queue was restricted to certain users (STR
-+	  #801)
-+	- The scheduler now automatically detects SSL/TLS clients
-+	  without using the SSLPort/SSLListen directives.
-+	- The CUPS API and scheduler no longer support SSLv2-
-+	  encrypted connections.
-+	- Updated the cupsaddsmb utility to correctly export the
-+	  CUPS driver for Windows.
-+	- Fixed a signal-handling bug in httpRead() which
-+	  ultimately caused the server to print multiple copies
-+	  when it was busy (STR #1184)
-+	- The cupsFile API now uses the O_APPEND option when
-+	  opening files in append mode (STR #990)
-+	- The md5.h header and md5_* functions are now officially
-+	  private and have been renamed to avoid conflicts with
-+	  other implementations with the same name.
-+	- The pdftops filter incorrectly embedded some Type1
-+	  fonts (STR #1093)
-+	- The scheduler didn't detect a closed connection in the
-+	  middle of an IPP request (STR #1153)
-+	- The scheduler could block trying to read the job status
-+	  if there was input pending and the job was cancelled in
-+	  the same input cycle (STR #1157)
-+	- The scheduler could crash when deleting a class due to
-+	  infinite recursion.
-+	- Updated the Zebra ZPL label printer driver to use the
-+	  run-length encoding and support more options.
-+	- Updated serial backend to scan for /dev/ttyC* as well
-+	  as /dev/ttyc* for Cyclades serial ports (STR #1049)
-+	- The scheduler could hang reading the job status under
-+	  certain circumstances (STR #1068)
-+	- The USB backend termination signal code was inverted
-+	  (STR #1046)
-+	- Moved enable and disable commands to sbindir to be
-+	  consistent.
-+	- Added new cupsRasterInterpretPPD() function for RIP
-+	  filters to setup the raster page header from
-+	  PostScript commands in a PPD file.
-+	- The CUPS browsing protocol now offers a "delete" bit
-+	  to remove printers as soon as they are deleted on the
-+	  server or as soon as the server shuts down gracefully
-+	  (STR #793)
-+	- The CUPS_SERVER and ServerName directives (client.conf
-+	  and ~/.cupsrc) may now contain names of the form
-+	  "server:port" and "/path/to/domain/socket".
-+	- The "cancel -u user" command now works for ordinary
-+	  users (STR #751)
-+	- Added test run support to "make test" target (STR #64)
-+	- Added domain socket support (STR #656)
-+	- Added BrowseLocalOptions directive to allow the
-+	  administrator to add printer URI options to the browse
-+	  URI, e.g. "encryption=required" (STR #732)
-+	- Added BrowseRemoteOptions directive to allow the
-+	  administrator to add standard URI options to the
-+	  remote printer URI, e.g. "encryption=required" (STR
-+	  #732)
-+	- Now put "-I.." compiler option in front of all others
-+	  to ensure that local CUPS headers are used before
-+	  installed headers (STR #437)
-+	- New cupsLangPrintf() and cupsLangPuts() for localized
-+	  interfaces.
-+	- Now support custom attributes and extended options in
-+	  PPD files.
-+	- Now provide functions to save PPD files.
-+	- New policy mechanism allows per-operation and
-+	  per-printer control over what users and groups are
-+	  allowed to do various IPP operations.
-+	- New error policy mechanism to control how aborted
-+	  backend errors are handled by the scheduler
-+	  (abort-job, retry-job, requeue-job, stop-printer)
-+	- Updated the printer test page with a better color
-+	  wheel and a separate grayscale ramp.
-+	- A single backend process is now run to send all print
-+	  data for a job.
-+	- Backends and filters can now send and receive
-+	  backchannel data over file descriptor 3.
-+	- Updated the raster stream format to support more
-+	  user-defined attributes and to do compression of the
-+	  page data.
-diff -urNad cupsys-1.2.8~/CHANGES.txt.rej cupsys-1.2.8/CHANGES.txt.rej
---- cupsys-1.2.8~/CHANGES.txt.rej	1970-01-01 01:00:00.000000000 +0100
-+++ cupsys-1.2.8/CHANGES.txt.rej	2007-03-03 18:35:37.000000000 +0000
-@@ -0,0 +1,25 @@
-+***************
-+*** 1,8 ****
-+- CHANGES.txt - 2007-02-22
-+  ------------------------
-+  
-+  CHANGES IN CUPS V1.2.9
-+  
-+  	- The USB backend did not work with some USB to parallel
-+  	  cables on Mac OS X.
-+  	- The test page did not print the rulers properly on
-+--- 1,14 ----
-++ CHANGES.txt - 2007-02-27
-+  ------------------------
-+  
-+  CHANGES IN CUPS V1.2.9
-+  
-++ 	- Classes containing other classes did not always work
-++ 	  (STR #2255)
-++ 	- Printer location and description information was lost
-++ 	  if the corresponding string contained the "#" character
-++ 	  (STR #2254)
-++ 	- cupsRemoveOption() did not work properly (STR #2264)
-+  	- The USB backend did not work with some USB to parallel
-+  	  cables on Mac OS X.
-+  	- The test page did not print the rulers properly on
 diff -urNad cupsys-1.2.8~/cups/file.c cupsys-1.2.8/cups/file.c
 --- cupsys-1.2.8~/cups/file.c	2007-01-10 19:27:04.000000000 +0000
-+++ cupsys-1.2.8/cups/file.c	2007-03-03 18:35:37.000000000 +0000
++++ cupsys-1.2.8/cups/file.c	2007-03-11 17:45:03.000000000 +0000
 @@ -508,7 +508,7 @@
    */
  
@@ -1171,7 +50,7 @@
     /*
 diff -urNad cupsys-1.2.8~/cups/options.c cupsys-1.2.8/cups/options.c
 --- cupsys-1.2.8~/cups/options.c	2006-02-22 22:43:17.000000000 +0000
-+++ cupsys-1.2.8/cups/options.c	2007-03-03 18:35:37.000000000 +0000
++++ cupsys-1.2.8/cups/options.c	2007-03-11 17:45:03.000000000 +0000
 @@ -3,7 +3,7 @@
   *
   *   Option routines for the Common UNIX Printing System (CUPS).
@@ -1199,9 +78,60 @@
    }
  
   /*
+diff -urNad cupsys-1.2.8~/filter/pstops.c cupsys-1.2.8/filter/pstops.c
+--- cupsys-1.2.8~/filter/pstops.c	2007-02-07 20:54:37.000000000 +0000
++++ cupsys-1.2.8/filter/pstops.c	2007-03-11 17:45:03.000000000 +0000
+@@ -937,14 +937,21 @@
+         ppdEmitJCL(ppd, stdout, doc->job_id, doc->user, doc->title);
+ 
+ 	puts("%!PS-Adobe-3.0");
+-	
+-        pageinfo = (pstops_page_t *)cupsArrayFirst(doc->pages);
+-	copy_bytes(doc->temp, 0, pageinfo->offset);
+ 
+ 	number = 0;
+       }
+ 
+      /*
++      * Copy the prolog as needed...
++      */
++
++      if (!number)
++      {
++        pageinfo = (pstops_page_t *)cupsArrayFirst(doc->pages);
++	copy_bytes(doc->temp, 0, pageinfo->offset);
++      }
++
++     /*
+       * Then copy all of the pages...
+       */
+ 
+diff -urNad cupsys-1.2.8~/pdftops/pdftops.cxx cupsys-1.2.8/pdftops/pdftops.cxx
+--- cupsys-1.2.8~/pdftops/pdftops.cxx	2006-01-10 20:53:28.000000000 +0000
++++ cupsys-1.2.8/pdftops/pdftops.cxx	2007-03-11 17:45:03.000000000 +0000
+@@ -279,9 +279,16 @@
+ 
+   globalParams = new GlobalParams(buffer);
+ 
+-  globalParams->setPSPaperWidth(width);
+-  globalParams->setPSPaperHeight(length);
+-  globalParams->setPSImageableArea(left, bottom, right, top);
++  if (fit || globalParams->getPSPaperWidth() > 0)
++  {
++    // Only set paper size and area if we are fitting to the job's
++    // page size or the pdftops.conf file does not contain
++    // "psPaperSize match"...
++    globalParams->setPSPaperWidth(width);
++    globalParams->setPSPaperHeight(length);
++    globalParams->setPSImageableArea(left, bottom, right, top);
++  }
++
+   globalParams->setPSDuplex(duplex);
+   globalParams->setPSExpandSmaller(fit);
+   globalParams->setPSShrinkLarger(fit);
 diff -urNad cupsys-1.2.8~/scheduler/classes.c cupsys-1.2.8/scheduler/classes.c
---- cupsys-1.2.8~/scheduler/classes.c	2006-02-22 22:43:17.000000000 +0000
-+++ cupsys-1.2.8/scheduler/classes.c	2007-03-03 18:35:37.000000000 +0000
+--- cupsys-1.2.8~/scheduler/classes.c	2007-03-11 17:45:03.000000000 +0000
++++ cupsys-1.2.8/scheduler/classes.c	2007-03-11 17:45:03.000000000 +0000
 @@ -3,7 +3,7 @@
   *
   *   Printer class routines for the Common UNIX Printing System (CUPS).
@@ -1211,7 +141,7 @@
   *
   *   These coded instructions, statements, and computer programs are the
   *   property of Easy Software Products and are protected by Federal
-@@ -366,7 +366,21 @@
+@@ -371,7 +371,21 @@
        {
          cupsdLogMessage(CUPSD_LOG_DEBUG, "Loading class %s...", value);
  
@@ -1234,7 +164,7 @@
  	p->accepting = 1;
  	p->state     = IPP_PRINTER_IDLE;
  
-@@ -703,6 +717,7 @@
+@@ -708,6 +722,7 @@
    time_t		curtime;	/* Current time */
    struct tm		*curdate;	/* Current date */
    cups_option_t		*option;	/* Current option */
@@ -1242,7 +172,7 @@
  
  
   /*
-@@ -777,10 +792,40 @@
+@@ -782,10 +797,40 @@
        cupsFilePrintf(fp, "<Class %s>\n", pclass->name);
  
      if (pclass->info)
@@ -1287,7 +217,7 @@
      {
 diff -urNad cupsys-1.2.8~/scheduler/printers.c cupsys-1.2.8/scheduler/printers.c
 --- cupsys-1.2.8~/scheduler/printers.c	2006-09-19 21:11:08.000000000 +0100
-+++ cupsys-1.2.8/scheduler/printers.c	2007-03-03 18:35:37.000000000 +0000
++++ cupsys-1.2.8/scheduler/printers.c	2007-03-11 17:45:03.000000000 +0000
 @@ -1286,6 +1286,7 @@
    time_t		curtime;	/* Current time */
    struct tm		*curdate;	/* Current date */
@@ -1339,3 +269,251 @@
      if (printer->device_uri)
        cupsFilePrintf(fp, "DeviceURI %s\n", printer->device_uri);
  
+diff -urNad cupsys-1.2.8~/systemv/cupstestppd.c cupsys-1.2.8/systemv/cupstestppd.c
+--- cupsys-1.2.8~/systemv/cupstestppd.c	2006-09-05 21:45:47.000000000 +0100
++++ cupsys-1.2.8/systemv/cupstestppd.c	2007-03-11 17:45:07.000000000 +0000
+@@ -3,7 +3,7 @@
+  *
+  *   PPD test program for the Common UNIX Printing System (CUPS).
+  *
+- *   Copyright 1997-2006 by Easy Software Products, all rights reserved.
++ *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
+  *
+  *   These coded instructions, statements, and computer programs are the
+  *   property of Easy Software Products and are protected by Federal
+@@ -30,6 +30,7 @@
+  *   main()           - Main entry for test program.
+  *   show_conflicts() - Show option conflicts in a PPD file.
+  *   usage()          - Show program usage...
++ *   valid_utf8()     - Check whether a string contains valid UTF-8 text.
+  */
+ 
+ /*
+@@ -77,7 +78,7 @@
+ void	check_basics(const char *filename);
+ void	show_conflicts(ppd_file_t *ppd);
+ void	usage(void);
+-
++int	valid_utf8(const char *s);
+ 
+ /*
+  * 'main()' - Main entry for test program.
+@@ -1068,7 +1069,7 @@
+ 	       option = ppdNextOption(ppd))
+ 	  {
+ 	    snprintf(keyword, sizeof(keyword), "%s.Translation", langstart);
+-	    if (!ppdFindAttr(ppd, keyword, option->keyword))
++	    if ((attr = ppdFindAttr(ppd, keyword, option->keyword)) == NULL)
+ 	    {
+ 	      if (verbose >= 0)
+ 	      {
+@@ -1083,6 +1084,21 @@
+ 
+ 	      errors ++;
+ 	    }
++	    else if (!valid_utf8(attr->text))
++	    {
++	      if (verbose >= 0)
++	      {
++		if (!errors && !verbose)
++		  _cupsLangPuts(stdout, _(" FAIL\n"));
++
++		_cupsLangPrintf(stdout,
++	                	_("      **FAIL**  Bad UTF-8 \"%s\" translation "
++				  "string for option %s!\n"),
++				langstart, option->keyword);
++              }
++
++	      errors ++;
++	    }
+ 
+             for (ptr = option->text; *ptr; ptr ++)
+ 	      if (*ptr & 128)
+@@ -1116,7 +1132,7 @@
+ 		snprintf(ckeyword, sizeof(ckeyword), "%s.Custom%s",
+ 		         langstart, option->keyword);
+ 
+-		if (!ppdFindAttr(ppd, ckeyword, "True"))
++		if ((attr = ppdFindAttr(ppd, ckeyword, "True")) == NULL)
+ 		{
+ 		  if (verbose >= 0)
+ 		  {
+@@ -1133,6 +1149,23 @@
+ 
+ 		  errors ++;
+ 		}
++		else if (!valid_utf8(attr->text))
++	        {
++	          if (verbose >= 0)
++	          {
++		    if (!errors && !verbose)
++		      _cupsLangPuts(stdout, _(" FAIL\n"));
++
++		    _cupsLangPrintf(stdout,
++	                	    _("      **FAIL**  Bad UTF-8 \"%s\" "
++				      "translation string for option %s, "
++				      "choice %s!\n"),
++				    langstart, ckeyword + 1 + strlen(langstart),
++				    "True");
++        	  }
++
++		  errors ++;
++		}
+ 
+                 if (strcasecmp(option->keyword, "PageSize"))
+ 		{
+@@ -1142,7 +1175,7 @@
+ 		  {
+ 		    snprintf(ckeyword, sizeof(ckeyword), "%s.ParamCustom%s",
+ 		             langstart, option->keyword);
+-		    if (!ppdFindAttr(ppd, ckeyword, cparam->name))
++		    if ((attr = ppdFindAttr(ppd, ckeyword, cparam->name)) == NULL)
+ 		    {
+ 		      if (verbose >= 0)
+ 		      {
+@@ -1160,10 +1193,28 @@
+ 
+ 		      errors ++;
+ 		    }
++		    else if (!valid_utf8(attr->text))
++		    {
++		      if (verbose >= 0)
++		      {
++			if (!errors && !verbose)
++			  _cupsLangPuts(stdout, _(" FAIL\n"));
++
++			_cupsLangPrintf(stdout,
++	                		_("      **FAIL**  Bad UTF-8 \"%s\" "
++					  "translation string for option %s, "
++					  "choice %s!\n"),
++					langstart,
++					ckeyword + 1 + strlen(langstart),
++				        cparam->name);
++        	      }
++
++		      errors ++;
++		    }
+                   }
+                 }
+ 	      }
+-	      else if (!ppdFindAttr(ppd, keyword, option->choices[j].choice))
++	      else if ((attr = ppdFindAttr(ppd, keyword, option->choices[j].choice)) == NULL)
+ 	      {
+ 		if (verbose >= 0)
+ 		{
+@@ -1180,6 +1231,23 @@
+ 
+ 		errors ++;
+ 	      }
++	      else if (!valid_utf8(attr->text))
++	      {
++		if (verbose >= 0)
++		{
++		  if (!errors && !verbose)
++		    _cupsLangPuts(stdout, _(" FAIL\n"));
++
++		  _cupsLangPrintf(stdout,
++	                	  _("      **FAIL**  Bad UTF-8 \"%s\" "
++				    "translation string for option %s, "
++				    "choice %s!\n"),
++				  langstart, option->keyword,
++				  option->choices[j].choice);
++        	}
++
++		errors ++;
++	      }
+ 
+               for (ptr = option->choices[j].text; *ptr; ptr ++)
+ 		if (*ptr & 128)
+@@ -1418,8 +1486,7 @@
+       if (verbose > 0)
+       {
+         if (errors)
+-          _cupsLangPrintf(stdout, _("    %d ERROR%s FOUND\n"),
+-			  errors, errors == 1 ? "" : "S");
++          _cupsLangPrintf(stdout, _("    %d ERRORS FOUND\n"), errors);
+ 	else
+ 	  _cupsLangPuts(stdout, _("    NO ERRORS FOUND\n"));
+       }
+@@ -1790,5 +1857,81 @@
+ 
+ 
+ /*
++ * 'valid_utf8()' - Check whether a string contains valid UTF-8 text.
++ */
++
++int					/* O - 1 if valid, 0 if not */
++valid_utf8(const char *s)		/* I - String to check */
++{
++  while (*s)
++  {
++    if (*s & 0x80)
++    {
++     /*
++      * Check for valid UTF-8 sequence...
++      */
++
++      if ((*s & 0xc0) == 0x80)
++        return (0);			/* Illegal suffix byte */
++      else if ((*s & 0xe0) == 0xc0)
++      {
++       /*
++        * 2-byte sequence...
++        */
++
++        s ++;
++
++        if ((*s & 0xc0) != 0x80)
++          return (0);			/* Missing suffix byte */
++      }
++      else if ((*s & 0xf0) == 0xe0)
++      {
++       /*
++        * 3-byte sequence...
++        */
++
++        s ++;
++
++        if ((*s & 0xc0) != 0x80)
++          return (0);			/* Missing suffix byte */
++
++        s ++;
++
++        if ((*s & 0xc0) != 0x80)
++          return (0);			/* Missing suffix byte */
++      }
++      else if ((*s & 0xf8) == 0xf0)
++      {
++       /*
++        * 4-byte sequence...
++        */
++
++        s ++;
++
++        if ((*s & 0xc0) != 0x80)
++          return (0);			/* Missing suffix byte */
++
++        s ++;
++
++        if ((*s & 0xc0) != 0x80)
++          return (0);			/* Missing suffix byte */
++
++        s ++;
++
++        if ((*s & 0xc0) != 0x80)
++          return (0);			/* Missing suffix byte */
++      }
++      else
++        return (0);			/* Bad sequence */
++    }
++
++    s ++;
++  }
++
++  return (1);
++}
++
++
++/*
+  * End of "$Id: cupstestppd.c 5926 2006-09-05 20:45:47Z mike $".
+  */



More information about the Pkg-cups-devel mailing list