<h3>Новое:</h3>
- Значение по умолчанию sysctl-переменной debug.mpsafenet изменено на 1, что означает, что сетевая подсистема теперь не использует Giant system lock. То есть сетевые функции могут распараллеливаться, что будет означать ускорение работы.
Чтобы отменить это нововведение, можно установить debug.mpsafenet="0" в файле /boot/loader.conf или добавить в конфиг ядра "options NET_WITH_GIANT".
Несмотря на то, что еще предстоит внести изменения в отдельные драйвера, обеспечив возможность их работы без использования Giant, это нововведение означает значительный прогресс в работе над SMPng.
- Теперь опция PFIL_HOOKS включена в ядро по умолчанию (так как используется всеми фильтрами пакетов), и не указывается в конфигурационном файле ядра. Кроме того, теперь эта опция не оказывает влияния на производительность системы в том случае, когда не используется ни один фильтр пакетов.
- Для архитектуры amd64 добавлена возможность загрузки модулей ядра с помощью загрузчика.
- Улучшена синхронизация в коде драйвера psm, что решило проблему с внезапными перемещениями указателя и кликами мыши при использовании Belkin Keyboard/Video/Mouse switches.
- Значительным событием стало появление новой ветки RELENG_5, которая станет -STABLE сразу после выхода 5.3-RELEASE. В качестве HEAD теперь выступает 6-CURRENT.
- Переписан драйвер fdc (для флоппи-дисководов) с целью совместимости его с GEOM. Заодно были исправлены старые ошибки и добавлена новая функциональность, например, возможность тонкой настройки с помощью sysctl-переменных.
- make universe, цель Makefile, отвечающая за построение миров для всех платформ, теперь может строить все миры одновременно (в смысле параллельно).
<h3>Изменения:</h3>
- С 29 августа доступна для скачивания 5.3-BETA2, которая является еще одним шагом на пути к релизу.
- Теперь утилита config, обеспечивающая обработку конфигурационного файла ядра, не поддерживает возможность указания в файле количества устройств. Например, раньше можно было писать "device ed4", и config понимал, что имеется в виду 4 устройства ed. Из-за этого приходилось брать в кавычки наименования устройств, включающие в себя цифры, например, "snd_maestro3". В настоящее время нет необходимости указывать число устройств в конфиге ядра, поэтому кавычки для устройств типа snd_emu10k1 не требуются.
- Из утилиты sysinstall удалена возможность конфигурации X-сервера. По результатам обсуждения было решено, что конфигурированием иксов следует заниматься после установки системы.
- Внесены изменения в код ipfw для обеспечения возможности использования PFIL_HOOKS packet filter API. Эти изменения прозрачны для пользователя и не вносят каких-либо поправок в ipfw ABI, но теперь в конфиг ядра для поддержки ipfw требуется дополнительно включать options PFIL_HOOKS.
- В коде Netgraph произведено выравнивание полей сообщений для возможности работы на 64-битных платформах. Это изменение требует перекомпиляции кода, использующего Netgraph.
<h3>Темы для обсуждения:</h3>
- Use of KASSERT() vs. other error checking // подробности в первоисточнике.
- Горячее подключение PS/2-клавиатур
В связи с уже упомянутым решением проблемы с Belkin KVM switches у одного из комиттеров возник вопрос, как заставить систему определить подключение PS2-клавиатуры, если при загрузке клавиатуры не было.
В ответ было сказано, что это можно проделать с помощью строчки в файле /boot/device.hints hint.sc.0.flags="0x100", заставляющей драйвер консоли sc периодически опрашивать порт на предмет подключения клавиатуры. Также было особо отмечено, что при этом hint.atkbd.0.flags не должен быть установлен в 0.
Последовал еще один вопрос, касающийся теоретической невозможности подключения в таком случае USB-клавиатуры, так как система будет опрашивать только PS/2 порт.
В ответ было сказано, что в этом случае можно использовать утилиту kbdcontrol, сообщив ей, что первичным устройством будет именно USB-клавиатура.
Кроме того, недавно была добавлена возможность явно указывать в /etc/rc.conf устройство ввода для виртуальных консолей.
- "Непонятки" с MFC. Из-за того, что в настоящее время существует три ветки, открытые для изменения кода (HEAD, RELENG_5, RELENG_4) у разработчиков появилась проблема - что означает MFC в информации о коммитте - импорт из HEAD в RELENG_5 или RELENG_4 или в обе ветки. Как пояснил Ken Smith (kensmith), вскоре после выхода 5.3-RELEASE ветка RELENG_5 станет -STABLE. HEAD -- это 6-CURRENT. Но RELENG_4 все равно будет находится в дальнейшей разработке, по крайней мере до выхода 4.11-RELEASE. После этого RELENG_4 перейдет под контроль security officers и станет Errata Branch.
Предлагались различные уточняющие варианты, например, вместо "MFC" использовать "MT4" (из 6-CURRENT в 4.x) и "MT5" (из 6-CURRENT в 5.x). В итоге решили оставить все как было. Коммиттеры сами разберутся, в какую ветку вносить изменения.
- Handling routing message overflows
<h3>Исправления:</h3>
- Исправлена ошибка в библиотеке zlib, приводящая к DoS-уязвимости.
- Исправлена ошибка в Linux-эмуляторе, из-за которой возникала ошибка "Signal stack registration failed" при использовании IBM Linux JDK.
- В систему импортирована обновленная версия ftp-сервера lukemftpd, в токорой была закрыта обнаруженная ранее дыра в безопасности, позволяющая удаленно получить статус суперпользователя в ftp-сеансе. Вообще-то lukemftpd не устанавливается по умолчанию, поэтому данное исправление не было оформлено в виде Security Advisory. Единственная версия FreeBSD, где ftp-сервером по умолчанию был lukemftpd, FreeBSD 4.7; но даже там он не включен по умолчанию.
- Исправлена ошибка, приводящая к сообщениям "out of data" при отправке больших UDP-пакетов через lo0.
- Исправлена ошибка в драйвере lnc для сетевых карт AMD Lance/PCnet, вызывавшая проблемы с поддержкой сети при работе системы в VMWare.
URL: http://www.bsdportal.ru
Новость: http://www.opennet.me/opennews/art.shtml?num=4315