Dopo quasi tre anni dall'ultima formazione dell'importante ramo di CUPS, Apple ha annunciato il lancio della nuova versione del sistema di stampa gratuito CUPS 2.3 (Common Unix Printing System), utilizzato in macOS e nella maggior parte delle distribuzioni Linux. Cups ha il pieno controllo sullo sviluppo dell'azienda Apple, che nel 2007 ha assorbito l'azienda Easy Software Products, avviata da CUPS.
Questa nuova versione di CUPS si distingue per essere arrivata con una nuova licenza poiché la licenza per il codice è passato da GPLv2 e LGPLv2 ad Apache 2.0, che consentirà alle società di terze parti di utilizzare il codice CUPS nei loro prodotti, senza la necessità di aprire le modifiche, e fornirà anche l'opportunità di ottenere la compatibilità delle licenze con altri progetti Apple aperti, come Swift, WebKit e mDNSResponder.
La licenza Apache 2.0 definisce anche esplicitamente il trasferimento di diritti su tecnologie proprietarie insieme al codice.
La conseguenza negativa del cambio della licenza da GPL ad Apache è la perdita di compatibilità della licenza con progetti rilasciati solo con licenza GPLv2 (la licenza Apache 2.0 è conforme a GPLv3 ma incompatibile con GPLv2).
Per risolvere questo problema, è stata aggiunta un'eccezione speciale al contratto di licenza per il codice sotto le licenze GPLv2 / LGPLv2.
Novità di CUPS
Oltre al cambio di licenza in questa nuova versione di CUPS 2.3, possiamo trovarlo aggiunto il supporto per le preimpostazioni e l'attributo "finitura" nei modelli di lavoro di stampa per il protocollo IPP Everywhere, che fornisce strumenti per selezionare dinamicamente una stampante disponibile sulla rete, consente di determinare la presenza di stampanti, inviare richieste ed eseguire operazioni di stampa, direttamente o tramite intermediario.
La composizione include la nuova utility ippeveprinter con l'implementazione di un semplice server IPP Everywhere, che può essere utilizzato per testare il software client o eseguire comandi per ogni lavoro di stampa.
Mentre per il comando lpstat viene implementata la visualizzazione dello stato di sospensione di nuovi lavori di stampa.
anche è evidenziato il supporto per HTTP Digest e SHA-256 alla libreria libcups. Oltre alle regole per tenere conto delle caratteristiche delle stampanti USB Lexmark E120n, Lexmark Optra E310, Zebra, DYMO 450 Turbo, Canon MP280, Xerox e HP LaserJet P1102.
Risolte vulnerabilità CVE-2019-8696 e CVE-2019-8675 , che ha causato un overflow del buffer allocato per elaborare dati non validi nelle funzioni asn1_get_packed e asn1_get_type utilizzate durante l'elaborazione delle richieste SNMP.
Delle altre modifiche che possiamo trovare in questa nuova release:
- Nell'implementazione del protocollo per la condivisione dell'accesso alle stampanti Bonjour, viene fornito l'uso di nomi DNS-SD durante la registrazione della stampante sulla rete
- Aggiunta la possibilità di scrivere file di attributi ippserver nell'utilità ipptool
- Aggiunto supporto per le opzioni MinTLS e MaxTLS alla direttiva SSLOptions per selezionare le versioni di TLS da utilizzare
- Aggiunto supporto per la direttiva UserAgentTokens a "client.conf"
- Servizio Systemd aggiornato per eseguire cupsd
- Il team di lpoptions ora ha la capacità di lavorare con le stampanti IPP Everywhere che non vengono aggiunte alle code di stampa locali
- Il corretto supporto per le stampanti in modalità di stampa frontale è stato aggiunto al driver IPP Everywhere
- Utilità rimosse cupsaddsmb e cupstestdsc.
Come installare CUPS 2.3 in Ubuntu e derivati?
Attualmente questa nuova versione di CUPS non è disponibile nei repository ufficiali di Ubuntu, quindi potrebbero essere necessari un paio di giorni per l'aggiornamento nei canali ufficiali.
Anche se per chi vuole sollecitare questa nuova versione possono scaricare il codice sorgente per la compilazione sul sistema.
Per questo basta aprire un terminale e scrivere quanto segue:
wget https://github.com/apple/cups/releases/download/v2.3.0/cups-2.3.0-source.tar.gz
Dopodiché decomprimeranno il pacchetto
tar xzvf cups-2.3.0-source.tar.gz
Entriamo nella directory creata con:
cd cups-2.3.0
E possiamo compilare con:
./configure make make check sudo make install
Alla fine non ti resta che riavviare il servizio o riavviare il sistema in modo che la nuova versione sia attiva e funzionante.
installa cups 2.3.3 in ubuntu 20.04 e quando avvio il sistema, le stampanti non funzionano finché non entro nel terminale ed eseguo il comando:
sudo /etc/init.d/cups riavvio
Inserisco la password e il servizio si riavvia.
ma è molto noioso fare questo processo ogni volta che avvio Ubuntu, cosa posso fare per correggere questo problema?