Спустя почти три года с момента формирования прошлой значительной ветки компания Apple представила (https://www.cups.org/blog.html) выпуск свободной системы печати CUPS 2.3 (https://www.cups.org/) (Common Unix Printing System), используемой в macOS и большинстве дистрибутивов Linux. Разработку CUPS полностью контролирует компания Apple, которая в 2007 году поглотила (https://www.opennet.ru/opennews/art.shtml?num=11392) компанию Easy Software Products, создавшую CUPS.
Начиная с данного выпуска лицензия на код изменена с GPLv2 и LGPLv2 на Apache 2.0, что позволит сторонним компаниям использовать код CUPS в своих продуктах, без необходимости открытия вносимых изменений, а также даст возможность добиться лицензионной совместимости с другими открытыми проектами Apple, такими как Swift, WebKit и mDNSResponder. Лицензия Apache 2.0 также явно определяет передачу прав на запатентованные технологии вместе с кодом. Негативным последствием смены лицензии с GPL на Apache является потеря лицензионной совместимости с проектами, поставляемыми только под лицензией GPLv2 (лицензия Apache 2.0 совместима с GPLv3, но несовместима с GPLv2). Для обхода данной проблемы в лицензионное соглашение добавлено специальное исключение для кода под лицензиями GPLv2/LGPLv2.
Основные изменения (https://www.cups.org/doc/relnotes.html) в CUPS 2.3:
- Добавлена поддержка преднастроек и атрибута "finishing (https://ftp.pwg.org/pub/pwg/candidates/cs-ippfinishings20-20... в шаблонах заданий печати для протокола IPP Everywhere (https://www.pwg.org/ipp/everywhere.html), который предоставляет средства для динамического выбора доступного принтера в сети, позволяет определять наличие принтеров, отправлять запросы и выполнять операции по выводу на печать, как напрямую, так и через промежуточные хосты;
- В состав включена новая утилита ippeveprinter (https://www.cups.org/doc/man-ippeveprinter.html) с реализацией простого сервера IPP Everywhere, который можно использовать для тестирования клиентского ПО или для выполнения команд для каждого выводимого на печать задания;
- В команде lpstat реализовано отображения состояния приостановки новых заданий вывода на печать;
- В библиотеку libcups добавлена поддержка аутентификации HTTP Digest и SHA-256;
- В реализации протокола совместного доступа к принтерам Bonjour (http://ru.wikipedia.org/wiki/Bonjour) обеспечено использование имён DNS-SD при регистрации принтера в сети;
- В утилиту ipptool добавлена возможность записи файлов атрибутов ippserver;
- В директиву SSLOptions добавлена поддержка опций MinTLS и MaxTLS для выбора используемых версий TLS;
- В "client.conf" добавлена поддержка директивы UserAgentTokens
- Обновлён сервис systemd для запуска cupsd;
- В команду lpoptions добавлена возможность работы с принтерами IPP Everywhere, не добавленными в локальные очереди печати;
- В драйвер IPP Everywhere добавлена корректная поддержка принтеров с режимом печати на лицевой стороне;
- Добавлены правила для обхода особенностей USB-принтеров Lexmark E120n, Lexmark Optra E310, Zebra, DYMO 450 Turbo, Canon MP280, Xerox и HP LaserJet P1102;
- Устранены уязвимости CVE-2019-8696 (https://security-tracker.debian.org/tracker/CVE-2019-8696) и CVE-2019-8675 (https://security-tracker.debian.org/tracker/CVE-2019-8675), приводящие к переполнению отведённого под стек буфера при обработке некорректных данных в функциях asn1_get_packed и asn1_get_type, используемых при обработке запросов SNMP;
- Удалены утилиты cupsaddsmb и cupstestdsc.
URL: https://www.cups.org/blog.html
Новость: https://www.opennet.ru/opennews/art.shtml?num=51349