Переносимая версия LibreSSL пригодна для использования в различных операционных системах и не ограничивается работой в окружении OpenBSD (до сих пор LibreSSL был доступен для тестирования только пользователям OpenBSD). Для обеспечения переносимости используется та же техника, что и для других проектов из состава OpenBSD: основной исходный код по возможности не трогается, а недостающие компоненты добавляются в рамках отдельного подпроекта, LibreSSL Portable. Это позволяет сохранять читабельность кода, что в свою очередь уменьшает издержки на его поддержку и вероятность пропуска ошибок.
Данный релиз предназначен для ознакомления широким кругом лиц и главной его задачей является получение обратной связи от сообщества. Работа пакета протестирована в OpenBSD, Linux, Solaris, OS X и FreeBSD. По мере появления заинтересованности количество поддерживаемых платформ будет увеличиваться. Интеграция LibreSSL в состав OpenBSD ожидается в ближайшем выпуске 5.6, который намечен на 1 ноября.
Среди внесённых изменений:
- Удалена поддержка всех движков шифрования (кроме padlock и aesni) и слабых дополнений для получения энтропии.
- Прекращена поддержка устаревших и малоиспользуемых платформ, в том числе Mac OS, NetWare, OS/2 и VMS, прекращена поддержка big-endian для i386 и amd64 (они всегда little-endian).
- Проведена чистка кода от некоторых компонентов, специфичных для платформы Windows. Например, удалён код OPENSSL_isservice и других функций для учёта особенностей не POSIX-систем.
- Удалён весь код, связанный с поддержкой SSL-расширения heartbeat, ошибка в котором привела к катастрофической уязвимости.
- Прекращено использование дополнительных обёрток для различных потенциально небезопасных функций (snprintf, opendir, функции работы с сокетами и т.п.).
- Вызовы strlcat/strlcpy замены на snprintf, связка malloc+memset заменена на calloc.
- Исправлена серия ошибок распределения памяти (например, в некоторых местах почищен двойной вызов free).
- Внесена серия исправлений, связанных с решением проблемы 2038 года.
- Объявлено излишним и удалено собственное кэширование результатов DNS-запросов.
- Удалена поддержка bdes;
- Удалены неиспользуемые ssl-утилиты на Perl;
- Удалена поддержка FIPS API, так как навязываемые сертификацией требования противоречат целям свободного проекта;
Дополнение: По горячим следам выпущен корректирующий релиз LibreSSL 2.0.1, в котором учтены все полученные замечания. В том числе добавлены опции OPENSSLDIR и ENGINESDIR, обеспечена поддержка pkg-config, решены некоторые проблемы с переносимостью (решены проблемы с жестко зашитыми опциями компилятора, такими как "-Werror"), произведена синхронизация со свежей кодовой базой из состава OpenBSD. Релиз на этот раз подписан, посредством разработанной в OpenBSD утилиты signify(1).
Источник: OpenNET.ru