Dopo quasi tre anni dalla creazione dell'ultima significativa versione, Apple ha rilasciato il sistema di stampa open source (Common Unix Printing System), utilizzato in macOS e nella maggior parte delle distribuzioni Linux. Lo sviluppo di CUPS è completamente controllato da Apple, che nel 2007 ha acquisito Easy Software Products, la società che ha creato CUPS.
A partire da questa versione, la licenza del codice è cambiata da GPLv2 e LGPLv2 a Apache 2.0, il che permetterà a terze parti di utilizzare il codice di CUPS nei propri prodotti senza la necessità di rivelare le modifiche apportate, e garantirà la compatibilità della licenza con altri progetti open source di Apple, come Swift, WebKit e mDNSResponder. La licenza Apache 2.0 definisce esplicitamente il trasferimento dei diritti sulle tecnologie brevettate insieme al codice. Una conseguenza negativa del cambio di licenza da GPL a Apache è la perdita di compatibilità licenziali con progetti distribuiti solo con licenza GPLv2 (la licenza Apache 2.0 è compatibile con GPLv3, ma non con GPLv2). Per risolvere questo problema, è stata aggiunta un'esclusione speciale all'accordo di licenza per il codice sotto le licenze GPLv2/LGPLv2.
Principali in CUPS 2.3:
- È stato aggiunto il supporto per le impostazioni predefinite e l'attributo “” nei modelli di lavoro di stampa per il protocollo , che fornisce strumenti per la selezione dinamica della stampante disponibile nella rete, consente di identificare la presenza di stampanti, inviare richieste e gestire operazioni di stampa sia direttamente che tramite host intermedi;
- Include una nuova utility con implementazione di un semplice server IPP Everywhere, utilizzabile per testare software client o per eseguire comandi per ogni lavoro di stampa;
- Nel comando lpstat è stata implementata la visualizzazione dello stato di sospensione dei nuovi lavori di stampa;
- Nella libreria libcups è stato aggiunto il supporto per l'autenticazione HTTP Digest e SHA-256;
- Nell'implementazione del protocollo di condivisione delle stampanti è stato garantito l'uso di nomi DNS-SD durante la registrazione della stampante sulla rete;
- Nell'utility ipptool è stata aggiunta la possibilità di registrare file di attributi ippserver;
- Nella direttiva SSLOptions è stato aggiunto il supporto per le opzioni MinTLS e MaxTLS per selezionare le versioni TLS da utilizzare;
- Nel "client.conf" è stato aggiunto il supporto per la direttiva UserAgentTokens;
- Servizio systemd aggiornato per l'avvio di cupsd;
- Nel comando lpoptions è stata introdotta la possibilità di lavorare con stampanti IPP Everywhere non aggiunte alle code di stampa locali;
- Nel driver IPP Everywhere è stato aggiunto il corretto supporto per le stampanti con modalità di stampa fronte/retro;
- Sono state aggiunte regole per tenere conto delle specifiche stampanti USB Lexmark E120n, Lexmark Optra E310, Zebra, DYMO 450 Turbo, Canon MP280, Xerox e HP LaserJet P1102;
- Sono state risolte vulnerabilità e , che portavano a un overflow del buffer di stack nella gestione di dati non validi nelle funzioni asn1_get_packed e asn1_get_type utilizzate nel trattamento delle richieste SNMP;
- Sono state rimosse le utility cupsaddsmb e cupstestdsc.
Fonte: opennet.ru
