CHANGES - OpenPrinting CUPS 2.4.2 - 2022-05-26 ============================================== Changes in CUPS v2.4.2 (26th May 2022) -------------------------------------- - Fixed certificate strings comparison for Local authorization (CVE-2022-26691) - The `cupsFileOpen` function no longer opens files for append in read-write mode (Issue #291) - The cupsd daemon removed processing temporary queue (Issue #364) - Fixed delay in IPP backend if GNUTLS is used and endpoint doesn't confirm closing the connection (Issue #365) - Fixed conditional jump based on uninitialized value in cups/ppd.c (Issue #329) - Fixed CSS related issues in CUPS Web UI (Issue #344) - Fixed copyright in CUPS Web UI trailer template (Issue #346) - mDNS hostname in device uri is not resolved when installaling a permanent IPP Everywhere queue (Issues #340, #343) - The `lpstat` command now reports when the scheduler is not running (Issue #352) - Updated the man pages concerning the `-h` option (Issue #357) - Re-added LibreSSL/OpenSSL support (Issue #362) - Updated the Solaris smf service file (Issue #368) - Fixed a regression in lpoptions option support (Issue #370) - The scheduler now regenerates the PPD cache information after changing the "cupsd.conf" file (Issue #371) - Updated the scheduler to set "auth-info-required" to "username,password" if a backend reports it needs authentication info but doesn't set a method for authentication (Issue #373) - Updated the configure script to look for the OpenSSL library the old way if pkg-config is not available (Issue #375) - Fixed the prototype for the `httpWriteResponse` function (Issue #380) - Brought back minimal AIX support (Issue #389) - `cupsGetResponse` did not always set the last error. - Fixed a number of old references to the Apple CUPS web page. - Restored the default/generic printer icon file for the web interface. - Removed old stylesheet classes that are no longer used by the web interface. Changes in CUPS v2.4.1 (27th January 2020) ------------------------------------------ - The default color mode now is now configurable and defaults to the printer's reported default mode (Issue #277) - Configuration script now checks linking for -Wl,-pie flags (Issue #303) - Fixed memory leaks - in testi18n (Issue #313), in `cups_enum_dests()` (Issue #317), in `_cupsEncodeOption()` and `http_tls_upgrade()` (Issue #322) - Fixed missing bracket in de/index.html (Issue #299) - Fixed typos in configuration scripts (Issues #304, #316) - Removed remaining legacy code for `RIP_MAX_CACHE` environment variable (Issue #323) - Removed deprecated directives from cupsctl and cups-files.conf (Issue #300) - Removed `purge-jobs` legacy code from CGI scripts and templates (Issue #325) Changes in CUPS v2.4.0 (29th November 2021) ------------------------------------------- - Added configure option --with-idle-exit-timeout (Issue #294) - Added --with-systemd-timeoutstartsec configure option (Issue #298) - DigestOptions now are applied for MD5 Digest authentication defined by RFC 2069 as well (Issue #287) - Fixed compilation on Solaris (Issue #293) - Fixed and improved German translations (Issue #296, Issue #297) Changes in CUPS v2.4rc1 (12th November 2021) -------------------------------------------- - Added warning and debug messages when loading printers if the queue is raw or with driver (Issue #286) - Compilation now uses -fstack-protector-strong if available (Issue #285) Changes in CUPS v2.4b1 (27th October 2021) ------------------------------------------ - Added support for CUPS running in a Snapcraft snap. - Added basic OAuth 2.0 client support (Issue #100) - Added support for AirPrint and Mopria clients (Issue #105) - Added configure support for specifying systemd dependencies in the CUPS service file (Issue #144) - Added several features and improvements to `ipptool` (Issue #153) - Added a JSON output mode for `ipptool`. - The `ipptool` command now correctly reports an error when a test file cannot be found. - CUPS library now uses thread safe `getpwnam_r` and `getpwuid_r` functions (Issue #274) - Fixed Kerberos authentication for the web interface (Issue #19) - The ZPL sample driver now supports more "standard" label sizes (Issue #70) - Fixed reporting of printer instances when enumerating and when no options are set for the main instance (Issue #71) - Reverted USB read limit enforcement change from CUPS 2.2.12 (Issue #72) - The IPP backend did not return the correct status code when a job was canceled at the printer/server (Issue #74) - The `testlang` unit test program now loops over all of the available locales by default (Issue #85) - The `cupsfilter` command now shows error messages when options are used incorrectly (Issue #88) - The PPD functions now treat boolean values as case-insensitive (Issue #106) - Temporary queue names no longer end with an underscore (Issue #110) - The USB backend now runs as root (Issue #121) - Added pkg-config file for libcups (Issue #122) - Fixed a PPD memory leak caused by emulator definitions (Issue #124) - Fixed a `DISPLAY` bug in `ipptool` (Issue #139) - The scheduler now includes the `[Job N]` prefix for job log messages, even when using syslog logging (Issue #154) - Added support for locales using the GB18030 character set (Issue #159) - `httpReconnect2` did not reset the socket file descriptor when the TLS negotiation failed (Apple #5907) - `httpUpdate` did not reset the socket file descriptor when the TLS negotiation failed (Apple #5915) - The IPP backend now retries Validate-Job requests (Issue #132) - Now show better error messages when a driver interface program fails to provide a PPD file (Issue #148) - Added dark mode support to the CUPS web interface (Issue #152) - Added a workaround for Solaris in `httpAddrConnect2` (Issue #156) - Fixed an interaction between `--remote-admin` and `--remote-any` for the `cupsctl` command (Issue #158) - Now use a 60 second timeout for reading USB backchannel data (Issue #160) - The USB backend now tries harder to find a serial number (Issue #170) - Fixed `@IF(name)` handling in `cupsd.conf` (Apple #5918) - Fixed documentation and added examples for CUPS' limited CGI support (Apple #5940) - Fixed the `lpc` command prompt (Apple #5946) - Now always pass "localhost" in the `Host:` header when talking over a domain socket or the loopback interface (Issue #185) - Fixed a job history update issue in the scheduler (Issue #187) - Fixed `job-pages-per-set` value for duplex print jobs. - Fixed an edge case in `ippReadIO` to make sure that only complete attributes and values are retained on an error (Issue #195) - Hardened `ippReadIO` to prevent invalid IPP messages from being propagated (Issue #195, Issue #196) - The scheduler now supports the "everywhere" model directly (Issue #201) - Fixed some IPP Everywhere option mapping problems (Issue #238) - Fixed support for "job-hold-until" with the Restart-Job operation (Issue #250) - Fixed the default color/grayscale presets for IPP Everywhere PPDs (Issue #262) - Fixed support for the 'offline-report' state for all USB backends (Issue #264) - Documentation fixes (Issue #92, Issue #163, Issue #177, Issue #184) - Localization updates (Issue #123, Issue #129, Issue #134, Issue #146, Issue #164) - USB quirk updates (Issue #192, Issue #270, Apple #5766, Apple #5838, Apple #5843, Apple #5867) - Web interface updates (Issue #142, Issue #218) - The `ippeveprinter` tool now automatically uses an available port. - Fixed several Windows TLS and hashing issues. - Deprecated cups-config (Issue #97) - Deprecated Kerberos (`AuthType Negotiate`) authentication (Issue #98) - Removed support for the (long deprecated and unused) `FontPath`, `ListenBackLog`, `LPDConfigFile`, `KeepAliveTimeout`, `RIPCache`, and `SMBConfigFile` directives in `cupsd.conf` and `cups-files.conf`. - Stubbed out deprecated `httpMD5` functions. - Add test for undefined page ranges during printing. CUPS v2.3.3op2 (February 1, 2021) --------------------------------- - Security: Fixed a buffer (read) overflow in the `ippReadIO` function (CVE-2020-10001) - Clarified the documentation for the "Listen" directive (Issue #53) - Fixed duplicate ColorModel entries for AirPrint printers (Issue 59) - Fixed directory/permission defaults for Debian kfreebsd-based systems (Issue #60, Issue #61) - Fixed crash bug in `ppdOpen` (Issue #64, Issue #78) - Fixed regression in `snprintf` emulation function (Issue #67) - The scheduler's systemd service file now waits for the nslcd service to start (Issue #69) - The libusb-based USB backend now uses a simpler read timer implementation to avoid a regression in a previous change (Issue #72) - The PPD caching code now only tracks the `APPrinterIconPath` value on macOS (Issue #73) - Fixed segfault in help.cgi when searching in man pages (Issue #81) - Root certificates were incorrectly stored in "~/.cups/ssl". CUPS v2.3.3op1 (November 27, 2020) ---------------------------------- - The automated test suite can now be activated using `make test` for consistency with other projects and CI environments - the old `make check` continues to work as well, and the previous test server behavior can be accessed by running `make testserver`. - ippeveprinter now supports multiple icons and strings files. - ippeveprinter now uses the system's FQDN with Avahi. - ippeveprinter now supports Get-Printer-Attributes on "/". - ippeveprinter now uses a deterministic "printer-uuid" value. - ippeveprinter now uses system sounds on macOS for Identify-Printer. - Updated ippfind to look for files in "~/Desktop" on Windows. - Updated ippfind to honor `SKIP-XXX` directives with `PAUSE`. - Updated IPP Everywhere support to work around printers that only advertise color raster support but really also support grayscale (Issue #1) - ipptool now supports DNS-SD URIs like `ipps://My%20Printer._ipps._tcp.local` (Issue #5) - The scheduler now allows root backends to have world read permissions but not world execute permissions (Issue #21) - Failures to bind IPv6 listener sockets no longer cause errors if IPv6 is disabled on the host (Issue #25) - The SNMP backend now supports the HP and Ricoh vendor MIBs (Issue #28) - The scheduler no longer includes a timestamp in files it writes (Issue #29) - The systemd service names are now "cups.service" and "cups-lpd.service" (Issue #30, Issue #31) - The scheduler no longer adds the local hostname to the ServerAlias list (Issue #32) - Added `LogFileGroup` directive in "cups-files.conf" to control the group owner of log files (Issue #34) - Added `--with-max-log-size` configure option (Issue #35) - Added `--enable-sync-on-close` configure option (Issue #37) - Added `--with-error-policy` configure option (Issue #38) - IPP Everywhere PPDs could have an "unknown" default InputSlot (Issue #44) - The `httpAddrListen` function now uses a listen backlog of 128. - Added USB quirks (Apple issue #5789, #5823, #5831) - Fixed IPP Everywhere v1.1 conformance issues in ippeveprinter. - Fixed DNS-SD name collision support in ippeveprinter. - Fixed compiler and code analyzer warnings. - Fixed TLS support on Windows. - Fixed ippfind sub-type searches with Avahi. - Fixed the default hostname used by ippeveprinter on macOS. - Fixed resolution of local IPP-USB printers with Avahi. - Fixed coverity issues (Issue #2) - Fixed `httpAddrConnect` issues (Issue #3) - Fixed web interface device URI issue (Issue #4) - Fixed lp/lpr "printer/class not found" error reporting (Issue #6) - Fixed xinetd support for LPD clients (Issue #7) - Fixed libtool build issue (Issue #11) - Fixed a memory leak in the scheduler (Issue #12) - Fixed a potential integer overflow in the PPD hashing code (Issue #13) - Fixed output-bin and print-quality handling issues (Issue #18) - Fixed PPD options getting mapped to odd IPP values like "tray---4" (Issue #23) - Fixed remote access to the cupsd.conf and log files (Issue #24) - Fixed the automated test suite when running in certain build/CI environments (Issue #25) - Fixed a logging regression caused by a previous change for Apple issue #5604 (Issue #25) - Fixed fax phone number handling with GNOME (Issue #40) - Fixed potential rounding error in rastertopwg filter (Issue #41) - Fixed the "uri-security-supported" value from the scheduler (Issue #42) - Fixed IPP backend crash bug with "printer-alert" values (Issue #43) - Removed old Solaris inetconv(1m) reference in cups-lpd man page (Issue #46) - Fixed default options that incorrectly use the "custom" prefix (Issue #48) - Fixed a memory leak when resolving DNS-SD URIs (Issue #49) - Fixed systemd status reporting by adopting the notify interface (Issue #51) - Fixed crash in rastertopwg (Apple issue #5773) - Fixed cupsManualCopies values in IPP Everywhere PPDs (Apple issue #5807)