Release of the CUPS 2.3 printing system with a change in the license for the project code

Almost three years after the formation of the last significant branch, Apple presented free print system release CUPS 2.3 (Common Unix Printing System) used by macOS and most Linux distributions. The development of CUPS is fully controlled by Apple, which in 2007 swallowed up Easy Software Products, the creator of CUPS.

Starting with this release, the code license has changed from GPLv2 and LGPLv2 to Apache 2.0, which will allow third parties to use the CUPS code in their products without the need to open the changes they make, and will also make it possible to achieve licensing compatibility with other Apple open source projects, such as Swift, WebKit and mDNSResponder. The Apache 2.0 license also explicitly defines the transfer of rights to proprietary technologies along with the code. The negative consequence of changing the license from the GPL to Apache is the loss of license compatibility with projects that are supplied only under the GPLv2 license (the Apache 2.0 license is compatible with GPLv3, but incompatible with GPLv2). To address this issue, a special exception has been added to the license agreement for GPLv2/LGPLv2 code.

All changes in CUPS 2.3:

  • Added support for presets and attribute "finishingΒ» in print job templates for protocol IPP Everywhere, which provides a means to dynamically select an available printer on the network, allows you to determine the presence of printers, send requests and perform print operations, both directly and through intermediate hosts;
  • New utility included ippeveprinter with the implementation of a simple IPP Everywhere server that can be used to test client software or execute commands for each print job;
  • The lpstat command now displays the pause status of new print jobs;
  • Added support for HTTP Digest and SHA-256 authentication to the libcups library;
  • In the implementation of the Printer Sharing Protocol Hello ensured the use of DNS-SD names when registering the printer on the network;
  • The ability to write ippserver attribute files has been added to the ipptool utility;
  • Added support for MinTLS and MaxTLS options to the SSLOptions directive to select which TLS versions to use;
  • Support for the UserAgentTokens directive has been added to "client.conf";
  • Updated systemd service to start cupsd;
  • The lpoptions command has the ability to work with IPP Everywhere printers that are not added to local print queues;
  • Added correct support for printers with front side printing mode added to the IPP Everywhere driver;
  • Added rules to take into account features of Lexmark E120n, Lexmark Optra E310, Zebra, DYMO 450 Turbo, Canon MP280, Xerox and HP LaserJet P1102 USB printers;
  • Vulnerabilities fixed CVE-2019-8696 ΠΈ CVE-2019-8675, leading to an overflow of the buffer allocated for the stack when processing incorrect data in the asn1_get_packed and asn1_get_type functions used when processing SNMP requests;
  • The cupsaddsmb and cupstestdsc utilities have been removed.

Source: opennet.ru

Add a comment