Fast fast drei Jahren seit der Bildung des letzten bedeutenden Branches hat die Firma Apple das freigegebene Drucksystem (Common Unix Printing System), das in macOS und den meisten Linux-Distributionen verwendet wird. Die Entwicklung von CUPS wird vollständig von Apple kontrolliert, das im Jahr 2007 die Firma Easy Software Products, die CUPS entwickelt hat.
Ab dieser Version wurde die Lizenz für den Code von GPLv2 und LGPLv2 auf Apache 2.0 geändert, was es Drittfirmen ermöglicht, den CUPS-Code in ihren Produkten zu nutzen, ohne Änderungen, die sie vorgenommen haben, offenlegen zu müssen, und auch die Lizenzkompatibilität mit anderen offenen Projekten von Apple, wie Swift, WebKit und mDNSResponder, zu erreichen. Die Apache 2.0-Lizenz definiert auch klar die Übertragung von Rechten an patentierten Technologien zusammen mit dem Code. Ein negativer Aspekt der Lizenzänderung von GPL zu Apache ist der Verlust der Lizenzkompatibilität mit Projekten, die nur unter der GPLv2-Lizenz bereitgestellt werden (die Apache 2.0-Lizenz ist mit GPLv3 kompatibel, aber nicht mit GPLv2). Um dieses Problem zu lösen, wurde in die Lizenzvereinbarung eine spezielle Ausnahme für Code unter den Lizenzen GPLv2/LGPLv2 aufgenommen.
Haupt- in CUPS 2.3:
- Die Unterstützung für Voreinstellungen und das Attribut „“ in Druckauftragsvorlagen für das Protokoll , das Mittel für die dynamische Auswahl eines verfügbaren Druckers im Netzwerk bereitstellt, es ermöglicht, das Vorhandensein von Druckern zu bestimmen, Anfragen zu senden und Druckoperationen sowohl direkt als auch über Zwischenhosts auszuführen;
- Ein neues Dienstprogramm wurde hinzugefügt, , das einen einfachen IPP Everywhere-Server implementiert, der zur Testung von Clientsoftware oder zur Ausführung von Befehlen für jeden Druckauftrag verwendet werden kann;
- Im lpstat-Befehl wurde die Anzeige des Status zum Anhalten neuer Druckaufträge implementiert;
- In die libcups-Bibliothek wurde Unterstützung für HTTP-Digest-Authentifizierung und SHA-256 hinzugefügt;
- In der Implementierung des Protokolls für gemeinsamen Druckzugriff wurde die Verwendung von DNS-SD-Namen beim Registrieren des Druckers im Netzwerk sichergestellt;
- In das Dienstprogramm ipptool wurde die Möglichkeit hinzugefügt, ippserver-Attributdateien zu schreiben;
- In die Anweisung SSLOptions wurde Unterstützung für die Optionen MinTLS und MaxTLS zur Auswahl der verwendeten TLS-Versionen hinzugefügt;
- In die „client.conf“ wurde Unterstützung für die Direktive UserAgentTokens hinzugefügt;
- Der systemd-Dienst zur Steuerung von cupsd wurde aktualisiert;
- Im Team lpoptions gibt es jetzt die Möglichkeit, mit IPP Everywhere Druckern zu arbeiten, die nicht in lokale Druckwarteschlangen hinzugefügt wurden;
- Der IPP Everywhere Treiber bietet jetzt eine korrekte Unterstützung für Drucker im Duplexdruckmodus;
- Regeln wurden hinzugefügt, um die Besonderheiten von USB-Druckern wie Lexmark E120n, Lexmark Optra E310, Zebra, DYMO 450 Turbo, Canon MP280, Xerox und HP LaserJet P1102 zu berücksichtigen;
- Sicherheitsanfälligkeiten wurden behoben und , die zu einem Pufferüberlauf im dafür vorgesehenen Stack beim Verarbeiten fehlerhafter Daten in den Funktionen asn1_get_packed und asn1_get_type führen, die bei der Verarbeitung von SNMP-Anfragen verwendet werden;
- Die Werkzeuge cupsaddsmb und cupstestdsc wurden entfernt.
Quelle: opennet.ru
