The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Отчёт о развитии OpenBSD за сентябрь 2010

01.10.2010 05:42

Основные изменения в базовой системе:

  • Заметно переработан pflog(4). Теперь в log-пакете при редиректе исходного пакета дополнительно сохраняется изначальный адрес, а сами log-пакеты генерируются по мере прохода по соответствующим match-правилам. В частности, это позволяет теперь полностью в реальном времени отлаживать сложные наборы правил.
  • Исправлена семантика работы match- и pass/block-правил: теперь последним применяется итоговое pass/block-правило, даже если подходящее match-правило было обнаружено позднее. Нынешняя логика работы выглядит следующим образом:
    1. Правила проходятся по порядку, сверху вниз.
    2. Изначально перед началом обхода считается последним подошедшим правило pass all. Дальше шаги 3-6 выполняются для каждого имеющегося в наборе правила.
    3. Если это pass- или block-правило и оно подошло к пакету, то оно запоминается как последнее подошедшее.
    4. Если это pass- или block-правило, оно подошло к пакету и содержит опцию quick, то обход списка правил заканчивается (переход на шаг 7).
    5. Если это match-правило, и оно подошло к пакету, то оно применяется.
    6. Происходит переход к следующему правилу в списке (на шаг 3).
    7. Если правил в списке больше нет, применяется последнее подошедшее правило.
    Также добавлена новая опция логирования matches. При её использовании все подходящие пакеты будут отмечаться на pflog(4) не только для указанного правила, но и для всех последующих подошедших к данному пакету правил.
  • pfctl(8) теперь разрешает rdr-to для исходящих правил и nat-to для входящих. Собственно, сам PF это уже давно позволял делать. Оставлено лишь требование указания направления для таких правил (хотя ядро, опять-таки, позволит создать и такое правило). Помимо прочего, теперь можно использовать rdr-to и nat-to одновременно в одном правиле.
  • В route(8) добавлен параметр командной строки -label, позволяющий ограничить список отображаемых маршрутов только теми, которые имеют заданную метку.
  • Для доступа к tun(4)-интерфейсам более не требуются в обязательном порядке права root: для создания интерфейсов без участия файловой системы эти права всё равно требуются, а для файлов /dev/tun* по умолчанию владельцем файлов и так является root. В то же время теперь по необходимости доступ к tun(4)-интерфейсам может быть дан отдельным пользователям, для чего раньше было необходимо использовать sudo(8) или другие способы эскалации привилегий.
  • В OCF (OpenBSD/FreeBSD Cryptographic Framework) добавлена поддержка AES-GCM; и в ядре, и в userland-утилитах isakmpd(8), ipsecctl(8) и iked(8)). На данный момент поддерживается только 128-битный вариант.
  • Добавлен новый псевдоинтерфейс pppx(4) — PPP-мультиплексор. pppx(4) создаёт интерфейс в момент установки сессии, благодаря чему ALTQ и PF могут с ней взаимодействовать.
  • Улучшена пропускная способность сетевого стека под высокими нагрузками и общее поведение ядра в условиях острой нехватки памяти. В частности, буфер отправки TCP теперь автоматически подстраивается без учёта посланных, но не подтверждённых, пакетов. А буфер приёма автоматически подстраивается аналогично FreeBSD, базируясь на произведении задержки и пропускной способности. Это изменение позволило поднять скорость загрузки в некоторых ситуациях; в частности, для ftp.eu.openbsd.org с 300кбит/с до 4.4Мбит/с. Также исправлена ошибка в коде генерации отметок времени для TCP, проявившаяся в результате вышеописанных изменений.
  • На loopback-интерфейсах более не производится откладывание ACK-пакетов.
  • Добавлена поддержка чипов SiS191 в se(4).
  • Завершена переработка кода, работающего с управлением питанием. Жалобы на проблемы с ACPI к концу сентября практически сошли на нет.
  • Поддержка файловой системы NTFS включена теперь по умолчанию в GENERIC-ядре после исправления ряда проблем с надёжностью работы. В ближайшее время ожидается дальнейшее развитие.
  • Исправлен ряд проблем с отрисовкой псевдографики на UTF8-терминалах, в частности, PuTTY.
  • Исправлена как минимум одна из серьёзных проблем, мешающих использованию опции bigmem на платформе amd64.
  • Добавлена поддержка чипов 82583V в em(4).
  • Исправлены проблемы с atw(4), возникшие после переезда на GCC 4.
  • Функциональность pmsi(4) перемещена в состав pms(4).
  • Исправлены досадные, периодически проявляющиеся баги в umass(4), один из которых приводил к kernel panic при работе с umass-устройствами, имеющими несколько логических подустройств (LUN-ов), а другой — при подключении umass-устройств без подключённых дисков.
  • Некоторых дисковые устройства (например, CD-приводы) теперь не читают разметку своего диска сразу при подключении; вместо этого принудительно используется псевдоразметка, что позволяет использовать уникальные идентификаторы с такими устройствами.
  • uyurex(4) переименован в utwitch(4) и включён в сборку по умолчанию.
  • Для glob(3) добавлен новый флаг, GLOB_KEEPSTAT, который позволяет сохранить копию использовавшейся структуры stat, дабы избежать последующего вызова stat(2)/lstat(2).
  • Также в libc добавлена timingsafe_bcmp(3), функция, реализующая сравнение областей памяти за непредсказуемое время. Изначально она была создана и использовалась в OpenSSH для предотвращения раскрытия косвенной информации.
  • Добавлен новый демон iscsid(8), iSCSI-инициатор, использующий ранее созданный vscsi(4). На данный момент реализован абсолютный минимум протокола, необходимый для работы, поэтому для production пока не подходит (даже формат конфигурационного файла iscsi.conf пока что ещё не устоялся). В сопутствующей утилите iscsictl(8) реализованы пока что только обнаружение устройств и перезагрузка конфигурации. iscsid(8), iscsictl(8) и собственно vscsi(4) включены в базовую сборку.
  • Убраны утилиты msgs(1) и tn3270, как неактуальные в современном мире.
  • В ldapd(8) реализована прямая поддержка BSD-аутентификации, без использования SASL, посредством использования префикса {BSDAUTH}.
  • Приятная мелочь: dhclient(8) теперь можно указать в качестве интерфейса egress, что позволяет принудительно обновлять аренду без необходимости знать, на каком интерфейсе dhclient(8) запускали до этого.
  • GCC 4 теперь успешно работает на MIPS64-архитектурах, а также корректно делает кросс-компиляцию как таковую. Все MIPS-архитектуры переведены на GCC 4.
  • Добавлена поддержка L2TP для PIPEX в ядре и npppd, в том числе для IPv6.
  • После исправления проблем со сборкой на архитектурах, не поддерживающих динамическое связывание, утилита для работы с Web-камерами video(1) вновь включена в сборку.
  • Продолжена работа на OpenRCS/OpenCVS. В частности, исправлены досадные проблема с рекурсивным созданием каталогов и с не-игнорированием каталогов CVS при некоторых операциях в OpenCVS. Возможно, OpenCVS снова будет поставляться в OpenBSD 4.9.
  • Perl обновлён до версии 5.12.2.
  • В mod_headers системного Apache 1.3 добавлена поддержка директивы RequestHeader аналогично Apache 2.x.
  • Новые опции в tmux:
    Опция сервера exit-unattached
    указывает серверной части завершиться после отключения последнего клиента, даже если остались какие-то сессии.
    Опция сессии destroy-unattached
    указывает, что сессию следует завершить после отключения последнего клиента.

Изменения в OpenSSH:

  • Добавлена опция KexAlgorithms, позволяющая выбирать среди поддерживаемых алгоритмов обмена ключевой информацией.
  • Исправлена проблема вида «гонка ресурсов» с управляющими сокетами; теперь дохлые серверные сокеты будут автоматически убираться клиентами.
  • В sftp(1) добавлена поддержка управления скоростью потока (опция командной строки -l), аналогично scp(1).

Заметные изменения в портах:

  • Вместо GNU libtool по умолчанию теперь используется собственная версия libtool, написанная на Perl. Основные плюсы альтернативной реализации:
    • Отсутствие проблем при сборке пакетов параллельно с наличием их же установленных: GNU libtool зачастую подцепляет в этих случаях библиотеки из системы, а не из того места, в котором идёт сборка, что приводит к конфликтам при использовании программ из данных пакетов и от них зависящих.
    • Большая скорость работы: общая скорость полной сборки портов возросла на 15%.
    • Более компактный и простой в понимании код, который проще поддерживать и который лучше учитывает специфику OpenBSD.
    Практически все пакеты успешно собираются с помощью собственной реализации, а для немногих, закладывающихся на ещё нереализованные особенности поведения GNU libtool, по-прежнему используется последняя.
  • Порт Ruby разбит на две версии, 1.8 и 1.9, аналогично тому как это делается для Python. По умолчанию на данный момент используется 1.8. Программы из портов проверены на работу без наличия симлинка /usr/local/bin/ruby, однако для сторонних программ он может понадобиться.

Также ряд (других) улучшений наблюдался в USB- и звуковой подсистемах (прежде всего касаемо поддержки ждущего режима), программных реализациях RAID, подсистеме IEEE 802.11, поддержке NetAtalk, bridge(4), cwm, gcvt(3), iked(8), mandoc(1), npppd(8), procfs, softraid(4), tcpbench и других многочисленных частях ОС.

Большая часть описанных изменений была произведена во время хакатона, проведённого в Нагано, Япония. Спасибо всем, кто помог осуществлению этой встречи, материально или организационно.



  1. Главная ссылка к новости (http://marc.info/?l=openbsd-cv...)
Автор новости: PereresusNeVlezaetBuggy
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/28119-BSD
Ключевые слова: BSD, OpenBSD
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (23) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, V (??), 06:56, 01/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    прям хорошо :)

    хорошо бы к 5.0 допилили iSCSI до высокой надёжности на продакшн уровне

     
     
  • 2.11, PereresusNeVlezaetBuggy (ok), 14:26, 01/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, во всяком случае коммит с импортом iscsid был сделан посредством iSCSI...
     

  • 1.2, аноним (?), 09:29, 01/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Улучшена пропускная способность сетевого стека под высокими нагрузками ... Это позволило поднять скорость загрузки для ftp.eu.openbsd.org  с 300кбит/с до 4.4Мбит/с. Также исправлена ошибка в коде генерации отметок времени для TCP, проявившаяся в результате вышеописанных изменений.

    Это речь про девелопмент версию или это в релизе BSD стек работал так медленно??

     
     
  • 2.3, аноним (?), 09:30, 01/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    *OpenBSD
     
  • 2.6, manefesto (??), 10:49, 01/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    а кто сказал что репы должны лежать на серваке с опенком?
    этоже хостинг, а он может быть чей угодно.
    В своё время сервак сайт openbsd.ru стоял на Sun если я ничего не путаю
     
     
  • 3.12, PereresusNeVlezaetBuggy (ok), 14:28, 01/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > а кто сказал что репы должны лежать на серваке с опенком?
    > этоже хостинг, а он может быть чей угодно.
    > В своё время сервак сайт openbsd.ru стоял на Sun если я ничего
    > не путаю

    Более того, ftp.openbsd.org работает на Санках, т.к. это не их мощности, а предоставленные университетом в Альберта, Канада.

     
  • 2.13, PereresusNeVlezaetBuggy (ok), 14:29, 01/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Улучшена пропускная способность сетевого стека под высокими нагрузками ... Это позволило
    > поднять скорость загрузки для ftp.eu.openbsd.org  с 300кбит/с до 4.4Мбит/с. Также
    > исправлена ошибка в коде генерации отметок времени для TCP, проявившаяся в
    > результате вышеописанных изменений.
    > Это речь про девелопмент версию или это в релизе BSD стек работал
    > так медленно??

    Он работал в общем случае вполне нормально, просто в некоторых ситуациях могли быть заметные потери времени.

     
     
  • 3.17, аноним (?), 21:07, 01/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо, я тоже подумал, что это просто очень провокационная неточность в переводе.
     
     
  • 4.18, PereresusNeVlezaetBuggy (ok), 21:50, 01/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >  Хорошо, я тоже подумал, что это просто очень провокационная неточность в
    > переводе.

    Тут да, я взял данные из коммита, и не очень хорошо сформулировал... С другой стороны, каждый понимает сказанное в меру своей испорченности. :)

     

  • 1.4, compot (ok), 09:44, 01/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Long Live OpenBSD!
     
  • 1.7, Carrier cant be lost (?), 11:55, 01/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    блин, когда же появится RSVP signalled SDP и RSVP-TE
     
     
  • 2.14, PereresusNeVlezaetBuggy (ok), 14:29, 01/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > блин, когда же появится RSVP signalled SDP и RSVP-TE

    Patches are welcome.

     
     
  • 3.24, Carrier cant be lost (?), 17:43, 03/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    мне нельзя -- конфликт интересов...
     
     
  • 4.25, PereresusNeVlezaetBuggy (ok), 02:07, 04/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > мне нельзя -- конфликт интересов...

    Тогда почему отсутствие чего-то в опёнке для вас есть проблема? ;)

     

  • 1.9, Аноним (-), 12:39, 01/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    смотри-ка, еще шевелятся :) а новый фаерволл из нетбсд собираются утащить к себе?
     
     
  • 2.16, PereresusNeVlezaetBuggy (ok), 14:34, 01/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > смотри-ка, еще шевелятся :) а новый фаерволл из нетбсд собираются утащить к
    > себе?

    Фаервол тащить — нет, у NetBSD и OpenBSD есть различия в реализации SMP и не только. И пока что ничего об интересе разработчиков OpenBSD к NPF не знаю. Вообще планы касаемо раскидывания сетевой нагрузки по CPU были (что-то всплывало на misc@, или tech@), но весьма расплывчатые.

     

  • 1.10, анонимус (??), 14:16, 01/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >#  GCC 4 теперь успешно работает на MIPS64-архитектурах, а также корректно делает кросс-компиляцию как таковую. Все MIPS-архитектуры переведены на GCC 4.

    Архи слоупоки

     
     
  • 2.15, PereresusNeVlezaetBuggy (ok), 14:30, 01/10/2010 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >>#  GCC 4 теперь успешно работает на MIPS64-архитектурах, а также корректно делает кросс-компиляцию как таковую. Все MIPS-архитектуры переведены на GCC 4.
    > Архи слоупоки

    А вы уже много больших ОС портировали на другие аппаратные архитектуры, да?

     

  • 1.19, Xaionaro (ok), 22:34, 01/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Добавлен новый псевдоинтерфейс pppx(4) — PPP-мультиплексор. pppx(4) создаёт интерфейс в момент установки сессии, благодаря чему ALTQ и PF могут с ней взаимодействовать.

    По ссылке для pppx: "Sorry, no data found for 'pppx(4)'."

     
     
  • 2.20, PereresusNeVlezaetBuggy (ok), 00:46, 02/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Хм. И правда, не углядел, что man-страница ещё не подготовлена. :( Сменил ссылку на исходник, ибо ничего лучше не нашёл. :)

    Заодно изменил ссылку на npppd, по аналогичной причине.

    Спасибо!

     

  • 1.21, PS (??), 01:49, 02/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Уфффф. Всё такое вкусное.
     
  • 1.22, Aquarius (ok), 13:06, 02/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    загадочный мир OpenBSD
     
     
  • 2.23, PereresusNeVlezaetBuggy (ok), 14:07, 02/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > загадочный мир OpenBSD

    «Фор хум хау» © :)))

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру