Changes in CUPS v1.4.5:
- Documentation fixes (Issue #3542, Issue #3650)
- Localization fixes (Issue #3635, Issue #3636, Issue #3647, Issue #3666)
- Security: Fixed a memory corruption bug reported in CVE-2010-2941 (Issue #3648)
- The CUPS API incorrectly mapped the HTTP_UNAUTHORIZED status to the IPP_NOT_AUTHORIZED status code, when IPP_NOT_AUTHENTICATED would be the correct mapping (Issue #3684)
- The scheduler would restart jobs while shutting down (Issue #3679)
- Fixed a PPD loader bug that could cause a crash in cupsd (Issue #3680)
- Improved the mapping of non-standard PPD and PWG names (Issue #3671)
- The scheduler did not initialize Kerberos in all cases (Issue #3662)
- cupsAdminSetServerSettings duplicated Listen and Order lines (Issue #3645)
- Added DeviceN colorspace support to the CUPS Raster format (Issue #3419)
- ppdMarkDefaults() did not clear the marked field of the previous choices (Issue #3642)
- The serial backend would not allow a raw job to be canceled (Issue #3649)
- The socket backend could go into an infinite loop with certain printers (Issue #3622)
- Setting the PRINTER or LPDEST environment variables to "name/instance" did not work (Issue #3485)
- The scheduler did not handle the JobRetryLimit setting properly (Issue #3466)
- The lpstat command always showed a remote job ID of 0 for shared printers (Issue #3627)
- Increased the write timeout for the libusb-based USB backend to 5 minutes (Issue #3595)
- The libusb-base USB backend did not check whether the printer has a serial number (Issue #3590)
- The lpadmin command did not support setting of custom option values (Issue #3631)
- The lpadmin command did not support setting of the location or description of a class (Issue #3613)
- The cupsaddsmb command did not give up after too many failed attempts (Issue #3615)
- The CUPS library no longer uses certain problematic ctype macros that change based on the locale's character set.
- PJL value substitution of more than 9 values was broken (Issue #3621)
- Custom options with missing string values caused ppdEmit* to segfault (Issue #3620)
- Fixed an issue with the Italian version of the web interface (Issue #3624)
- Fixed the Solaris SMF configuration file for cups-lpd (Issue #3611)
- The scheduler did not set the notify-subscribed-event attribute when delivering printer-added or printer-modified events (Issue #3608)
- The mailto notifier could get into an infinite loop (Issue #3609)
- Date/time information was not shown in banner pages.
- Relational operators were broken in #if/#elif/#else/#endif expressions for the PPD compiler.
- Moving a job via the web interface failed without asking for authentication (Issue #3559)
- The scheduler now clears the printer-state-reasons when the driver is changed (Issue #3570)
- The web interface did not allow a user to change the driver (Issue #3537, Issue #3601)
- The scheduler was not setting the PATH_INFO environment variable when needed (Issue #3600)
- The scheduler incorrectly set the CUPSD_AUTH_TYPE environment variable instead of AUTH_TYPE (Issue #3599)
- Fixed a buffer overrun in the PPD compiler (Issue #3594)
- Fixed some additional IPP job template attribute mapping issues in the scheduler.