На опеннете появился отчет об изменениях в OpenBSD за сентябрь.
Основные изменения в базовой системе:
* Заметно переработан pflog(4). Теперь в log-пакете при редиректе исходного пакета дополнительно сохраняется изначальный адрес, а сами log-пакеты генерируются по мере прохода по соответствующим match-правилам. В частности, это позволяет теперь полностью в реальном времени отлаживать сложные наборы правил.
* Исправлена семантика работы match- и pass/block-правил: теперь последним применяется итоговое pass/block-правило, даже если подходящее match-правило было обнаружено позднее.
* pfctl(8) теперь разрешает rdr-to для исходящих правил и nat-to для входящих. Собственно, сам PF это уже давно позволял делать. Оставлено лишь требование указания направления для таких правил (хотя ядро, опять-таки, позволит создать и такое правило). Помимо прочего, теперь можно использовать rdr-to и nat-to одновременно в одном правиле.
* В route(8) добавлен параметр командной строки -label, позволяющий ограничить список отображаемых маршрутов только теми, которые имеют заданную метку. * В OCF (OpenBSD/FreeBSD Cryptographic Framework) добавлена поддержка AES-GCM; и в ядре, и в userland-утилитах isakmpd(8), ipsecctl(8) и iked(8)). На данный момент поддерживается только 128-битный вариант. * Улучшена пропускная способность сетевого стека под высокими нагрузками и общее поведение ядра в условиях острой нехватки памяти. В частности, буфер отправки TCP теперь автоматически подстраивается без учёта посланных, но не подтверждённых, пакетов. А буфер приёма автоматически подстраивается аналогично FreeBSD, базируясь на произведении задержки и пропускной способности. Это изменение позволило поднять скорость загрузки в некоторых ситуациях; в частности, для ftp://ftp.eu.openbsd.org с 300кбит/с до 4.4Мбит/с. Также исправлена ошибка в коде генерации отметок времени для TCP, проявившаяся в результате вышеописанных изменений.
* Завершена переработка кода, работающего с управлением питанием. Жалобы на проблемы с ACPI к концу сентября практически сошли на нет.
* Поддержка файловой системы NTFS включена теперь по умолчанию в GENERIC-ядре после исправления ряда проблем с надёжностью работы. В ближайшее время ожидается дальнейшее развитие.
* Исправлен ряд проблем с отрисовкой псевдографики на UTF8-терминалах, в частности, PuTTY.
* Исправлены досадные, периодически проявляющиеся баги в umass(4), один из которых приводил к kernel panic при работе с umass-устройствами, имеющими несколько логических подустройств (LUN-ов), а другой — при подключении umass-устройств без подключённых дисков.
* Некоторых дисковые устройства (например, CD-приводы) теперь не читают разметку своего диска сразу при подключении; вместо этого принудительно используется псевдоразметка, что позволяет использовать уникальные идентификаторы с такими устройствами. * Убраны утилиты msgs(1) и tn3270, как неактуальные в современном мире. * Приятная мелочь: dhclient(8) теперь можно указать в качестве интерфейса egress, что позволяет принудительно обновлять аренду без необходимости знать, на каком интерфейсе dhclient(8) запускали до этого. * GCC 4 теперь успешно работает на MIPS64-архитектурах, а также корректно делает кросс-компиляцию как таковую. Все MIPS-архитектуры переведены на GCC 4.
* Добавлена поддержка L2TP для PIPEX в ядре и npppd, в том числе для IPv6. * После исправления проблем со сборкой на архитектурах, не поддерживающих динамическое связывание, утилита для работы с Web-камерами video(1) вновь включена в сборку. Есть еще куча изменений в OpenSSH, портах и прочих железяках.
Подробнее на опеннете или по ссылке:
http://marc.info/?l=openbsd-cvs&r=1&b=201009&w=2
Большая часть описанных изменений была произведена во время хакатона, проведённого в Нагано, Япония. Спасибо всем, кто помог осуществлению этой встречи, материально или организационно.