Разработчики проекта OpenBSD представили первый выпуск переносимой редакции пакета LibreSSL, в рамках которого развивается форк OpenSSL, нацеленный на обеспечение более высокого уровня безопасности. Из особенностей LibreSSL можно отметить ориентацию на качественную поддержку протоколов SSL/TLS с удалением излишней функциональности и проведением значительной чистки и переработки кодовой базы. При работке LibreSSL также проводится работа по повышению читаемости кода, добавлению дополнительных средств защиты и устранению ошибок.
Переносимая версия LibreSSL пригодна для использования в различных операционных системах и не ограничивается работой в окружении OpenBSD (до сих пор LibreSSL был доступен для тестирования только пользователям 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, так как навязываемые сертификацией требования противоречат целям свободного проекта;