Liberada la nueva versión del sistema de impresión CUPS 2.3
Después de casi tres años de la última formación de la rama importante de CUPS, Apple anuncio el lanzamiento de la nueva versión del sistema de impresión gratuito CUPS 2.3 (Common Unix Printing System), utilizado en macOS y en la mayoría de las distribuciones de Linux. Cups tiene un control total sobre el desarrollo de la compañía Apple, que en 2007 absorbió la empresa Easy Software Products, iniciado por CUPS.
Esta nueva versión de CUPS se destaca por llegar con una nueva licencia ya que la licencia para el código ha cambiado de GPLv2 y LGPLv2 a Apache 2.0, lo que permitirá a las compañías de terceros usar el código CUPS en sus productos, sin la necesidad de abrir los cambios y también brindará la oportunidad de lograr la compatibilidad de la licencia con otros proyectos abiertos de Apple, como Swift, WebKit y mDNSResponder.
La licencia Apache 2.0 también define explícitamente la transferencia de derechos a tecnologías propietarias junto con el código.
La consecuencia negativa de cambiar la licencia de GPL a Apache es la pérdida de compatibilidad de licencias con proyectos que se entregan solo bajo la licencia GPLv2 (la licencia Apache 2.0 es compatible con GPLv3 pero incompatible con GPLv2).
Para solucionar este problema, se ha agregado una excepción especial al acuerdo de licencia para el código bajo las licencias GPLv2 / LGPLv2.
Novedades de CUPS
Además del cambio de licencia en esta nueva versión de CUPS 2.3, podemos encontrar que se agregó soporte para los ajustes preestablecidos y el atributo “finishing” en las plantillas de trabajo de impresión para el protocolo IPP Everywhere, que proporciona herramientas para seleccionar dinámicamente una impresora disponible en la red, le permite determinar la presencia de impresoras, enviar solicitudes y realizar operaciones de impresión, ya sea directamente o por medio de las intermedias.
La composición incluye la nueva utilidad ippeveprinter con la implementación de un simple servidor IPP Everywhere, que se puede usar para probar el software del cliente o ejecutar comandos para cada trabajo de impresión.
Mientras que para el comando lpstat se implementa la visualización del estado de suspensión de nuevos trabajos de impresión.
También se destaca el soporte para la autenticación HTTP Digest y SHA-256 a la biblioteca libcups. Así como también las reglas para tener en cuenta las características de las impresoras USB Lexmark E120n, Lexmark Optra E310, Zebra, DYMO 450 Turbo, Canon MP280, Xerox y HP LaserJet P1102.
Se corrigieron las vulnerabilidades CVE-2019-8696 y CVE-2019-8675 , lo que provocó un desbordamiento del búfer asignado para procesar datos no válidos en las funciones asn1_get_packed y asn1_get_type utilizadas al procesar solicitudes SNMP.
De los demás cambios que podremos encontrar en este nuevo lanzamiento:
- En la implementación del protocolo para compartir el acceso a las impresoras Bonjour , se proporciona el uso de nombres DNS-SD al registrar la impresora en la red
- Se agregó la capacidad de escribir archivos de atributos de ippserver en la utilidad ipptool
- Se agregó soporte para las opciones MinTLS y MaxTLS a la directiva SSLOptions para seleccionar qué versiones de TLS se usan
- Se agregó soporte para la directiva UserAgentTokens a “client.conf”
- Servicio de Systemd actualizado para ejecutar cupsd
- El equipo de lpoptions ahora tiene la capacidad de trabajar con impresoras IPP Everywhere que no se agregan a las colas de impresión locales
- El soporte correcto para impresoras con modo de impresión en la parte frontal se ha agregado al controlador IPP Everywhere
- Utilidades eliminadas cupsaddsmb y cupstestdsc.
¿Como instalar CUPS 2.3 en Ubuntu y derivados?
Actualmente esta nueva versión de CUPS no está disponible dentro de los repositorios oficiales de Ubuntu, por lo que puede tardar un par de días en que sea actualizado en los canales oficiales.
Aun que para quienes quieren instar esta nueva versión pueden descargar el código fuente para su compilación en el sistema.
Para ello basta con que abran una terminal y en ella escriban lo siguiente:
wget https://github.com/apple/cups/releases/download/v2.3.0/cups-2.3.0-source.tar.gz
Después de ello van a descomprimir el paquete
tar xzvf cups-2.3.0-source.tar.gz
Ingresamos al directorio creado con:
cd cups-2.3.0
Y podremos realizar la compilación con:
./configure make make check sudo make install
Al finalizar basta con que reinicies el servicio o reinicies tu sistema para que la nueva versión este en funcionamiento.