After 3 years without much news, the CUPS printing system arrives in version 2.3.
Apple recently announced the release of the new version of CUPS, the company responsible for the free printing system used on its system and most Linux distributions.
CUPS 2.3 came with some news and changes, starting with your license. Previously using GPLv2 and LGPLv2, now moves to the Apache 2.0 license, which allows other companies and products to use the CUPS code without worrying about compatibility with GPLv2 and LGPv2. Thus, even other Apple open source projects will be compatible with the new license adopted (For example, Swift, WebKit and mDNSResponder).
The issue of licenses is often somewhat confusing to understand, and it ends up limiting various projects by necessarily having to keep compatible licenses or preventing the use of proprietary code with free software.
The Apache 2.0 license is compatible with GPLv3but incompatible with GPLv2. To address this deadlock, a special exception has been added to the code license agreement under the GPLv2 / LGPLv2 licenses.
CUPS 2.3 What’s New
CUPS has not limited itself to changing its license, on the contrary, new features have been added, it follows the main features:
- Support for presets and the finish attribute in the IPP Everywhere protocol (this allows tools to dynamically define a printer on the network, send requests, perform print operations directly or through intermediaries);
- Implementation of suspend status display for new print jobs in ipstart command;
- New ippeveprinter utility, with implementation of an IPP Everwhere server (allowing commands to be executed for each print job or client software);
- Support for HTTP Digest and SHA-256 authentication for libcups library;
- Rules that follow printer model specifications such as: Lexmark E120n, Lexmark Optra E310, Zebra, DYMO 450 Turbo, Canon MP280, Xerox and HP LaserJet P1102;
- Fixes vulnerabilities that have caused buffer overflow designed for invalid data processing (CVE-2019-8696 and CVE-2019-8675);
- Implementation of the protocol for sharing access to Bonjour printers, providing DNS-SD names when registering printers on the network;
- Added support for writing ippserver attributes to files in ipptool utility;
- Added support for MinTLS and MaxTLS options to SSLOptions, allowing you to choose which TLS to use;
- Added UserAgentTokens directive support to client.conf;
- Systemd service update to run cupsd;
- Ipoptions can now work with IPP Everwhere printers that have no print queue added;
- Properly added print mode support in front of the IPP Everwhere driver;
- Removal of the cupsaddsmb and cupstestdsc utilities.
For more information go to Apple’s Github repository, specifically CUPS, by this link.
How to install new CUPS 2.3 on Ubuntu and derivatives
At the moment this new version is not available in the official Ubuntu repositories, this process usually takes a few days. I recommend that you be patient and wait for the update. However, if you are a little hasty, you can compile directly from Github. But, only do this if you are fully aware of how to proceed. Below I will demonstrate the compilation of CUPS 2.3 source code. Do it at your own risk.
Downloading CUPS 2.3 source code:
Unzipping the package:
tar xzvf cups-2.3.0-source.tar.gz
Entering the created directory:
Anyway, putting your hands in the dough and compiling (following the commands in order):
sudo make install
Finally, restart the service or system to perform the new version.
I bet many didn’t know that Mrs. Apple was responsible for the CUPS () printing system.
See you in the next post Diolinux blog, SYSTEMATICALLY!
_____________________________________________________________________________ See any errors or would you like to add any suggestions to this article? Collaborate, click here.