Wydanie systemu drukowania CUPS 2.3 ze zmianą licencji na kod projektu

Prawie trzy lata po powstaniu ostatniej znaczącej gałęzi Apple представила bezpłatna wersja systemu drukowania KUBKI 2.3 (Common Unix Printing System) używany przez macOS i większość dystrybucji Linuksa. Rozwój CUPS jest w pełni kontrolowany przez firmę Apple, która w 2007 r połknęła Easy Software Products, twórca CUPS.

Począwszy od tego wydania, licencja na kod została zmieniona z GPLv2 i LGPLv2 na Apache 2.0, co umożliwi osobom trzecim korzystanie z kodu CUPS w swoich produktach bez konieczności otwierania wprowadzanych zmian, a także umożliwi uzyskanie licencji kompatybilność z innymi projektami open source firmy Apple, takimi jak Swift, WebKit i mDNSResponder. Licencja Apache 2.0 określa też wprost przekazanie praw do zastrzeżonych technologii wraz z kodem. Negatywną konsekwencją zmiany licencji z GPL na Apache jest utrata kompatybilności licencji z projektami dostarczanymi wyłącznie na licencji GPLv2 (licencja Apache 2.0 jest kompatybilna z GPLv3, ale niekompatybilna z GPLv2). Aby rozwiązać ten problem, do umowy licencyjnej dodano specjalny wyjątek dotyczący kodu GPLv2/LGPLv2.

Głównym zmiany w CUPS 2.3:

  • Dodano obsługę ustawień wstępnych i atrybutów „wykańczania» w szablonach zadań drukowania dla protokołu IPP wszędzie, który umożliwia dynamiczny wybór dostępnej drukarki w sieci, pozwala określić obecność drukarek, wysyłać żądania i wykonywać operacje drukowania, zarówno bezpośrednio, jak i za pośrednictwem hostów pośrednich;
  • Zawiera nowe narzędzie ippeveprinter z wdrożeniem prostego serwera IPP Everywhere, który może być używany do testowania oprogramowania klienckiego lub wykonywania poleceń dla każdego zadania drukowania;
  • Polecenie lpstat wyświetla teraz stan wstrzymania nowych zadań drukowania;
  • Dodano obsługę uwierzytelniania HTTP Digest i SHA-256 do biblioteki libcups;
  • W realizacji protokołu udostępniania drukarek Halo zapewnił użycie nazw DNS-SD podczas rejestracji drukarki w sieci;
  • Do narzędzia ipptool dodano możliwość zapisywania plików atrybutów ippserver;
  • Dodano obsługę opcji MinTLS i MaxTLS do dyrektywy SSLOptions, aby wybrać, które wersje TLS mają być używane;
  • Do pliku „client.conf” dodano obsługę dyrektywy UserAgentTokens;
  • Zaktualizowano usługę systemd, aby uruchomić cupsd;
  • Polecenie lpoptions umożliwia pracę z drukarkami IPP Everywhere, które nie są dodawane do lokalnych kolejek wydruku;
  • Do sterownika IPP Everywhere dodano poprawną obsługę drukarek z trybem drukowania z przodu;
  • Dodano reguły uwzględniające funkcje drukarek USB Lexmark E120n, Lexmark Optra E310, Zebra, DYMO 450 Turbo, Canon MP280, Xerox i HP LaserJet P1102;
  • Naprawiono luki w zabezpieczeniach CVE-2019-8696 и CVE-2019-8675, prowadzące do przepełnienia bufora przydzielonego stosowi przy przetwarzaniu błędnych danych w funkcjach asn1_get_packed i asn1_get_type wykorzystywanych przy przetwarzaniu żądań SNMP;
  • Narzędzia cupsaddsmb i cupstestdsc zostały usunięte.

Źródło: opennet.ru

Dodaj komentarz