Skip to content

Releases: apple/cups

v1.1.23rc1

17 Mar 20:51
Compare
Choose a tag to compare

Changes in CUPS v1.1.23rc1:

  • The lpr man page did not document the "-U" option (Issue #998)
  • The scheduler no longer sends the page-set option when printing banner pages (Issue #995)
  • Fixed a debug message in the imagetops filter (Issue #1012)
  • The lprm man page listed the "-" option in the wrong order (Issue #911)
  • The hpgltops filter contained two buffer overflows that could potentially allow remote access to the "lp" account (Issue #1024)
  • The lppasswd command did not protect against file descriptor or ulimit attacks (Issue #1023)
  • The "lpc status" command used the wrong resource path when querying the list of printers and jobs, causing unnecessary authentication requests (Issue #1018)
  • The httpWait() function did not handle signal interruptions (Issue #1020)
  • The USB backend used the wrong size status variable when checking the printer status (Issue #1017)
  • The scheduler did not delete classes from other classes or implicit classes, which could cause a crash (Issue #1015)
  • The IPP backend now logs the remote print job ID at log level NOTICE instead of INFO (so it shows up in the error_log file...)

v1.1.23

17 Mar 20:51
Compare
Choose a tag to compare

Changes in CUPS v1.1.23:

  • Updated the Spanish man pages (Issue #1041)
  • The lpstat man page contained a typo (Issue #1040)
  • The scheduler's is_path_absolute() code could cause a DoS (Issue #1042)
  • The scheduler's device loading code used the wrong size limits for the make/model and info parameters (Issue #1035)
  • The PNG loading code did not use a "long unsigned integer" format specifier for the width and height (Issue #1032)
  • The web interface only showed the first 4 or 8 characters of "{variable-name}" for undefined template variables (Issue #1031)
  • The hpgltops filter did not handle a common PCL command to enter HP-GL/2 mode (Issue #1037)

v1.1.22rc2

17 Mar 20:51
Compare
Choose a tag to compare

Changes in CUPS v1.1.22rc2:

  • The pdftops filter didn't check the range of all integer attributes (Issue #972)
  • Documentation corrections (Issue #944, Issue #946)
  • Also sanitize device URI in argv[0] (Issue #933)
  • cupsRasterReadHeader() didn't swap bytes for the numeric fields properly (Issue #930)

v1.1.22rc1

17 Mar 20:51
Compare
Choose a tag to compare

Changes in CUPS v1.1.22rc1:

  • Now sanitize the device URI that is reported in the error_log file (Issue #920)
  • Fixed some memory and file descriptor leaks in the job dispatch code (Issue #921)
  • Deleting a printer could cause a crash with browsing enabled (Issue #865, Issue #881, Issue #928)
  • Browsing would turn off if the scheduler got an EAGAIN error (Issue #924)
  • The mime.types file didn't recognize PostScript as a PJL language name (Issue #925)

v1.1.22

17 Mar 20:51
Compare
Choose a tag to compare

Changes in CUPS v1.1.22:

  • The lpstat man page incorrectly listed the "-s" option as using the equivalent of the "-p" option to list the printers; it uses the "-v" option to list the printers (Issue #986)
  • Now allow 0-length reads in the CUPS file API (Issue #985)
  • cupsDoFileRequest() now sets cupsLastError() to IPP_ERROR on network errors (Issue #953)
  • The pdftops filter didn't scale small pages up to the output page size when the fitplot option was used (Issue #984)
  • Fixed the ipptest program usage message (Issue #959)
  • Added Spanish man pages (Issue #963)
  • Fixed the order of comparisons in the client.conf reading code (Issue #971)
  • cupsLangGet() incorrectly set the current locale (Issue #970)

v1.1.21rc2

17 Mar 20:51
Compare
Choose a tag to compare

Changes in CUPS v1.1.21rc2:

  • Fixed a denial-of-service bug in the CUPS browse protocol support (Issue #863)
  • The scheduler used a select() timeout of INT_MAX seconds when there was nothing to do, which doesn't work on IRIX (Issue #864)
  • Updated the cupsaddsmb program to use the new Windows 2000 PostScript drivers instead of the Windows NT printer drivers (Issue #390)
  • The gziptoany filter did not produce copies for raw print jobs (Issue #808)
  • The cupsLangGet() function now uses nl_langinfo(), when available, to get the current encoding (Issue #856)
  • Added a ReloadTimeout directive to control how long the scheduler waits for jobs to complete before restarting the scheduler (Issue #861)
  • Added a note to the default cupsd.conf file which mentions that you must allow connections from localhost for the command-line and web interfaces to work (Issue #850)
  • The IPP backend incorrectly used the local port when communicating with a remote server; this caused problems with some custom configurations (Issue #852)
  • The cups-lpd mini-daemon wasn't using the right default banner option (Issue #851)
  • Updated the new httpDecode64_2() and httpEncode64_2() functions to handle arbitrary binary data, not just text (Issue #860)
  • String options with quotes in their values were not quoted properly by the scheduler (Issue #839)
  • Configure script changes for GNU/Hurd (Issue #838)
  • The lppasswd program was not installed properly by GNU install when the installer was not root (Issue #836)
  • Updated the cups-lpd man page (Issue #843)
  • Fixed a typo in the cupsd man page (Issue #833)
  • The USB backend now defaults to using the newer /dev/usb/lpN filenames; this helps on systems which use the devfs filesystem type on Linux (Issue #818)
  • The config.h file did not define the HAVE_USERSEC_H constant when the configure script detected the usersec.h header file. This caused authentication errors on AIX (Issue #832)
  • The lp and lpr commands now report the temporary filename and error if they are unable to create a temporary file (Issue #812)
  • Added ServerTokens directive to control the Server header in HTTP responses (Issue #792)
  • Added new httpDecode64_2(), httpEncode64_2(), and httpSeparate2() functions which offer buffer size arguments (Issue #797)
  • The cupsGetFile() and cupsPutFile() code did not support CDSA or GNUTLS (Issue #794)
  • The httpSeparate() function did not decode all character escapes (Issue #795)
  • The cupstestppd program now checks for invalid Duplex option choices and fails PPD files that use non-standard values (Issue #791)
  • Updated the printer name error message to indicate that spaces are not allowed (Issue #675)
  • The scheduler didn't handle HTTP GET form data properly (Issue #744)
  • The pstops filter now makes sure that the prolog code is sent before the setup code (Issue #776)
  • The pstops filter now handles print files that incorrectly start @pjl commands without a language escape (Issue #734)
  • Miscellaneous build fixes for NetBSD (Issue #788)
  • Added support for quoted system group names (Issue #784)
  • Added "version" option to IPP backend to workaround serious bug in Linksys's IPP implementation (Issue #767)
  • Added Spanish translation of web interface (Issue #772, Issue #802)
  • The LPD backend now uses geteuid() instead of getuid() when it is available (Issue #752)
  • The IPP backend did not report the printer state if the wait option was set to "no" (Issue #761)
  • The printer state was not updated for "STATE: foo,bar" messages (Issue #745)
  • Added new CUPS API convenience functions which accept a HTTP connection to eliminate extra username/password prompts. This resolves a previous authentication caching issue (Issue #729, Issue #743)
  • The scheduler did not correctly throttle the browse broadcasts, resulting in missing printers on client machines (Issue #754)
  • The scheduler did not pass the correct CUPS_ENCRYPTION setting to CGI programs which caused problems on systems which used non-standard encryption settings (Issue #773)
  • The lpq command showed 11st, 12nd, and 13rd instead of 11th, 12th, and 13th for the rank (Issue #769)
  • "make install" didn't work on some platforms due to an error in the man page makefiles (Issue #775)
  • Changed some calls to snprintf() in the scheduler to SetStringf() (Issue #740)

v1.1.21rc1

17 Mar 20:51
Compare
Choose a tag to compare

Changes in CUPS v1.1.21rc1:

  • Fixed some "type-punned" warnings produced by GCC when -fstrict-aliasing is specified (Issue #679)
  • The PDF filter incorrectly calculated the bounding box of a page (Issue #682)
  • The IPP backend did not use SSL when printing over a port other than 443 (Issue #730)
  • The scheduler could crash when processing a Limit or LimitExcept directive (Issue #728)
  • The lpq, lpr, and lp commands did not differentiate between the server being unresponsive and the lack of a default printer (Issue #728)
  • The PAM checks in the configure script did not stop after the first match (Issue #728)
  • The cups-config man page was incorrectly placed in section 3 (Issue #728)
  • The cupstestppd utility did not show a warning message when a PPD file indicated BCP protocol support with PJL (Issue #720)
  • The scheduler did not return the correct exit code when startup failed (Issue #718)
  • The cupsRasterReadPixels() function checked for EAGAIN, which caused problems on FreeBSD (Issue #723)
  • The cupsGetDests() function did not use the current encryption setting (Issue #653)
  • The scheduler did not properly parse name-based BrowseRelay directives in the cupsd.conf file (Issue #711)
  • The IPP backend now supports the following options in the device URI: encryption, waitjob, and waitprinter (Issue #699)
  • The parallel, serial, socket, and USB backends did not return a non-zero exit status when a job failed to print in the middle of sending it (Issue #715)
  • Location directives in the cupsd.conf file were case-sensitive for printer and class names, so queue-specific access control was not reliable (Issue #700)
  • cupsDoFileRequest() did not handle HTTP continue status messages in all cases, causing sporatic problems with IPP printers from some vendors (Issue #716)
  • The rastertodymo driver now supports the Zebra ZPL language (Issue #713)
  • The test suite no longer generates a printcap file, which caused problems when testing as the root user (Issue #693)
  • The scheduler now updates the accepting state of an implicit class based upon the accepting state of its member printers (Issue #697)
  • The pstops filter didn't properly skip leading PJL commands (Issue #664)
  • The reinterpret_cast keyword was not highlighted when printing C/C++ source files in prettyprint mode (Issue #694)
  • Fixed a segfault problem with some of the client programs (Issue #668)
  • When using RunAsUser, the scheduler did not correctly set the ownership of the log files, preventing log file rotation (Issue #686)
  • The image filters did not correctly load 1-bit PNG files (Issue #687)
  • The pdftops filter did not show all annotation objects in a PDF file (Issue #674)
  • The pdftops filter did not print the contents of textual form elements, making it impossible to print a filled-in form (Issue #663)
  • Integrated the MacOS X/Darwin USB backend into the CUPS baseline (Issue #661)
  • The USB backend incorrectly reported "media tray empty" (Issue #660)
  • The scheduler did not use a case-insensitive comparison when checking for group membership, which caused problems with Win9x clients printing via SAMBA (Issue #647)
  • The scheduler did not report the addresses associated with certain network errors, making troubleshooting difficult (Issue #648, #649)
  • The cupstestppd program did not allow a default choice of "Unknown" as required by the PPD spec (Issue #651)
  • The select() buffers are now allocated to be at least as large as sizeof(fd_set) (Issue #639)
  • The LPD backend now supports overriding the print job username via the device URI (Issue #631)
  • The scheduler did not handle an unknown MIME type when checking for a CGI script (Issue #603)
  • Added a timeout optimization to the scheduler's main loop to allow CUPS to sleep more of the time (Issue #629)
  • The USB backend now retries printing to devices of the form "usb://make/model" if any USB port shows up as "busy" (Issue #617)
  • The httpGetHostByName() function did not range check IP address values (Issue #608)
  • The httpUpdate() function could return HTTP_ERROR instead of the HTTP status if the server closed the connection before the client received the whole response (Issue #611)
  • The LPD mini-daemon did not allow the administrator to force banner pages on (Issue #605)
  • Added PAM support for Darwin/MacOS X (Issue #550)
  • The web interface now provides a "Set As Default" button to set the default printer or class on a server (Issue #577)
  • The HTTP authentication cache was broken (Issue #517)
  • The cupstestppd utility now fails PPD files that have a DefaultOption keyword for a non-existance option name (Issue #476)
  • Optimized the scanning of new PPD files on scheduler startup (Issue #424)
  • The EPM list file did not include the bin, lib, or sbin directories (Issue #598)
  • The web interface did not redirect administration tasks to the primary server for a class or printer (Issue #491, #652)
  • The cups-lpd mini-daemon did not reject print jobs to queues that were rejecting new print jobs (Issue #515)
  • Some calls to the ctype functions did not account for platforms that use a signed char type by default (Issue #518)
  • The scheduler could use excess amounts of CPU if a CGI program was sending data faster than the client could take it (Issue #595)
  • Updated the Ghostscript 8.x integration stuff (Issue #484)
  • The lpd backend used a source port of 732 by default, which is outside of the range defined by RFC 1179; also added a new (default) "reserve=any" option for any priviledged port from 1 to 1023 (Issue #474)
  • The scheduler did not check for a valid Listen/Port configuration (Issue #499)
  • The cupsPrintFiles() function did not always set the last IPP error message (Issue #538)
  • The pstops filter did not write the PostScript header line if the file began with a PJL escape sequence (Issue #574)
  • The printer-is-accepting-jobs status of remote printers was not sent to clients via browsing or polling (Issue #571)
  • Browse packets did not indicate whether a printer was accepting or rejecting jobs.
  • The web interface did not show the printer state history information (Issue #592)
  • The rastertoepson filter would crash under certain cirsumstances (Issue #583)
  • The USB backend did not handle serial numbers using the (incorrect) SN keyword and did not terminate the make and model name strings properly (Issue #471, Issue #588)
  • The USB backend did not build on Solaris x86 (Issue #585)
  • The cupsDoAuthentication() function did not use the method name for Digest authentication (Issue #584)
  • The scheduler could crash if a print job could not be printed and the PreserveJobHistory option was turned off (Issue #535)
  • cups-lpd now logs the temporary filenames that could not be opened in order to make troubleshooting easier (Issue #565)
  • cupsGetJobs() now returns -1 on error (Issue #569)
  • Added localization for Belarusian (Issue #575)
  • The LPD backend used the full length of the hostname when creating the data and control filenames, which causes problems with older systems that can't handle long filenames (Issue #560)
  • The scheduler did not refresh the co...
Read more

v1.1.21

17 Mar 20:51
Compare
Choose a tag to compare

Changes in CUPS v1.1.21:

  • The scheduler did not separate Digest authentication parameters with commas (Issue #882)
  • Fixed some problems with image printing to custom page sizes (Issue #891)
  • Removed the remaining scheduler code that did not use the "close-on-exec" file descriptor flag to speed up program invocations (Issue #890)
  • The "lpr -r" command removed the print file even if it was not printed. It now only removes the file if the job is successfully created (Issue #886)
  • Revamped the custom page size orientation fix (Issue #127)
  • The lp, lpq, lpr, and lpstat commands now report when an environment variable is pointing to a non-existent printer instead of just saying "no default destination" (Issue #879)
  • Queue names with 2 periods (e.g. "printer..2") were not supported (Issue #866)

v1.1.20rc6

17 Mar 20:51
Compare
Choose a tag to compare

Changes in CUPS v1.1.20rc6:

  • "lp -i jobid -H restart" would often return an error even though the job restarted successfully (Issue #362)
  • The scheduler did not check for invalid allow/deny addresses such as "11.22.33.44/24". It now masks off the extra address bits and logs a warning message in the error_log file (Issue #337)
  • The cupstestppd utility now checks for missing ImageableArea and PaperDimension attributes for each defined PageSize (Issue #365)
  • The IPP code did not wait for a reply indefinitely on HTTP connections in "blocking" mode (Issue #377)
  • The web interfaces did not rewrite the default printer URI properly (Issue #299 and #369)
  • The LPD backend passed the C and L commands in the wrong order (Issue #378)
  • The Dymo label printer driver did not set the label length properly (Issue #373)
  • The scheduler did not support job IDs higher than 99999 (Issue #371)
  • The Visual C++ project files did not work (Issue #366)
  • The scheduler's cupsLangSeek() function did not reset the "EOF" flag, preventing compressed files from being typed properly in some cases (Issue #368)
  • The cupsLangGet() cache was only used if the locale name provided an explicit character set name (Issue #354)
  • The CUPS API convenience functions did not call cupsLangFree() when they were done with the localization data (Issue #354)
  • The scheduler did not return the job-hold-until-supported or job-hold-until-default attributes (Issue #356)
  • The cupsaddsmb program did not support the new CUPS driver for Windows (Issue #357)

v1.1.20rc5

17 Mar 20:51
Compare
Choose a tag to compare

Changes in CUPS v1.1.20rc5:

  • The scheduler did not initialize the browse socket file descriptor properly when only SLP browsing was enabled (Issue #259)
  • The scheduler accessed the job attributes before they were set (Issue #347, fix to Issue #335)
  • The cupsCancelJob() function did not return 0 when the job could not be canceled (Issue #340)