Релиз клиента для мгновенного обмена сообщениями Pidgin 2.13.0
Спустя год с момента прошлого выпуска представлен релиз клиента для мгновенного обмена сообщениями Pidgin 2.13.0, поддерживающего работу с такими сетями как XMPP, AIM, Google Talk, Gadu-Gadu и IRC. Графический интерфейс Pidgin написан с использованием библиотеки GTK+ и поддерживает такие возможности как единая адресная книга, одновременная работа в нескольких сетях, интерфейс на базе вкладок, работа с аватарами и интеграция с областью уведомлений Windows, GNOME и KDE. Поддержка подключения плагинов позволяет легко расширять функциональность Pidgin, а реализация базовой поддержки протоколов в отдельной библиотеке libpurple дает возможность создавать на базе технологий Pidgin собственные реализации (например, Adium для macOS).
Из изменений можно отметить:
- Исправление в libpurple ряда ошибок, которые потенциально могут привести к уязвимостям, например, некорректно экранировались спецсимволы при передаче URL команде в shell, устранено переполнение буфера при обработке разметки, решена проблема с крахами при обработке некорректно обрезанных последовательностей utf8;
- В GUI Pidgin улучшена поддержка тёмных тем оформления. Налажено кэширование пиктограмм адресатов. Обеспечено переподключение к чатам после переустановки соединения. Ранее специфичный для Win32 плагин Transparency адаптирован для всех остальных платформ. Обеспечено сопоставление при поиске unicode-смайликов. Решены проблемы с обновлением статуса mute/unmute. Переработан код для организации мигания пиктограммы статуса;
- В libgnt решены проблемы со сборкой с ncurses 6.0 и устранён крах при изменении размера окна;
- В реализации XMPP обеспечен показ XEP-0066 OOB URL в теле сообщения, а не только в заголовке, прекращено использование pipelining и попыток использовать TLS для уже защищённых BOSH-соединений;
- В реализации IRC решена проблема с таймаутом при попытке регистрации на серверах InspIRCd при использовании SASL. Устранены проблемы, проявляющиеся в плагинах изменяющих исходящие сообщения. Налажена корректная обработка команды AUTHENTICATE. Устранены потенциальные уязвимости: обращение к уже освобождённой области памяти при обработке MOTD, чтение из области вне буфера в irc_nick_skip_mode, запись одного байта в область до начала буфера в irc_parse_ctcp;
- В Finch решены проблемы при обработке результатов поиска;
- Backend-fs (использует FarStream для аудио/видео конференций) портирован на новый API (GPtrArray вместо GValueArray) для обработки свойства relay-info.
© OpenNet