Представлен новый выпуск 9front — форка plan9, направленного на расширение возможностей оригинального plan9.
Изменения в ядре и драйверах:
- ядро: исправлена утечка памяти в функции отладки
checkpagerefs()
; - ядро: исправлено состояние гонки в функциях
twakeup()
иtimerdel()
; - ядро: исправлены ошибки
pread()
при работе с директориями; - pc: исправлена ошибка связанная с тем, что PCMP и RSD находились в low (kaddr) или reserved (vmap) памяти;
- pc: исправлена утечка памяти, добавлена функция
clog()
; - pc64: теперь указывается зависимость
mp.h
дляarchacpi.$O
; - devdraw: команда
drawdebug
теперь игнорируется; - devsd: улучшена обработка случаев, когда функция
ifc->enable()
не применима; - devsd: проверяется значение функции
ifc->enable()
, unit name или user strings больше не «утекают»; - devvga: hwgc включён в файл vgactl;
- devvga: удалена неиспользуемая копия функции
checkport()
; - sdvirtio: теперь возвращается 1 при успешном выполнении функций
vioenable()
иviodisable()
; - sdnvme: новый драйвер NVMe-контроллера (работа в процессе);
- sdnvme: включён по умолчанию в конфигурации ядер для платформ pcf, pccpuf, pc64.
Изменения в библиотеках:
- libavl: исправлена документация;
- libavl: lookup теперь возвращает наиболее соответствующее значение;
- libdraw: переменная
_drawdebug
больше не используется; - libmemdraw/libmemlayer: больше не используется вывод drawdebug;
- libmemdraw: больше не производится эмуляция
iprint()
; - libregexp: чистка кода;
- libsec: добавлена поддержка sha256 для thumbprint-файлов, также теперь используется в ssh;
- libsec/tlshand: исправлены ECDHE и DHE для SSLv3;
- libsec/tlshand: исправлено преобразование mpint в byte, переработан буфер send/recv, добавлена проверка на переполнения в
msgSend()
; - libsec/tlshand: функция
tlsReadN()
упрощена.
Изменения связанные с компиляторами и дебаггерами:
- 5e: исправления в битовом сдвиге;
- [012568kqv]a: исправлена обработка целых чисел в сборщиках;
- исправлена ошибка в yacc.
Изменения связанные с программами:
- aux/wpa: исправлена работа с «открытыми» сетями;
- chgrp: удалена неиспользуемая декларация функции;
- cwfs: пользователь «none» теперь может переименовывать файлы;
- factotum: теперь прилагается открытая экспонента RSA после модуля;
- file: теперь распознаются битовые потоки Xilinx;
- fortune: добавлены исправления для избежания переполнений буфера при использовании линий больше или равных 2 килобайта;
- games/blit: mkfile: теперь бинарный файл устанавливается в /bin/games ;
- games/blit: левый верхний угол теперь всегда показывается;
- games/blit: удалена линия для отладки;
- games/galaxy: исправлено состояние гонки при выходе;
- games/galaxy: вычисления сил гравитации теперь параллелизированы;
- hjfs: добавлен комментарий об изменении размера OFF в 8;
- hjfs: все refs теперь очищаются в 0 при очистке;
- hjfs: исправлены ошибки в счёте ref при сканировании. Добавлена команда для сканирования;
- hjfs: добавлена проверка количества входных блоков (entry blocks) при сканировании каталога;
- hjfs: предупреждение 8c “non-interruptable temporary” теперь избегается;
- hjfs: check: блок теперь проверяется если количество ref не равняется 0. Теперь проверяется количество ref блоков каталога;
- hjfs: отключена hjfs check до тех пор, пока не будет добавлено больше функционала;
- hjfs: исправлена работа dprint;
- hjfs: улучшены сообщения об ошибках когда блоки не найдены;
- hjfs: в дерево исходных кодов включена начальная реализация hjfs check;
- hjfs: упрощён dprinting;
- hjfs: начата работа над реализацией проверки каталога;
- ip/torrent: запрос одних и тех же участков теперь избегается;
- ip/torrent: теперь избегаются коллизии peerid при использовании
truerand()
вместоtime(0)
. - ip/torrent: теперь немедленно завершается когда загружаемый файл проверен и не раздаётся;
- ndb/dns: удвоено значение максимальных попыток для длинных цепочек перенаправлений cnames;
- nusb/lib: возвращаемое значение функции
usbcmd()
теперь симметрично; - nusb/ptp: каждый сеанс теперь считается за каталог;
- nusb/serial: pl2303: улучшена обработка ошибок;
- replica: теперь используется реализация avl-дерева библиотеки libavl;
- rsa2ssh: удалена поддержка ключей первой версии;
- ssh: добавлена поддержка управления потоком и ID каналов;
- ssh: добавлен метод «none» для получения списка поддерживаемых методов;
- ssh: добавлена поддержка подсистем;
- ssh: чистка сообщений отладки;
- ssh: канал теперь очищается при зависании vt;
- ssh: невозможные методы аутентификации больше не используются;
- ssh: документированы опции thumbfile;
- ssh: исправлены блокировки, добавлена поддержка пере обмена ключами;
- ssh: исправлена опечатка;
- ssh: реализован способ аутентификации по паролю;
- ssh: реализована начальная проверка ключей хостов;
- ssh: увеличен начальный window size для лучшей пропускной способности;
- ssh: допустимое количество попыток входа теперь настраивается;
- ssh: при неудаче проверки ssh-rsa-ключ теперь выводится в base64;
- sshfs: добавлены опции
-r
и-M
; - sshfs: родительский каталог теперь высчитывается корректно;
- sshfs: содержимое каталогов больше не кешируется;
- sshfs: исправлено падение при доступном для чтения файле
/etc/password
на удалённой стороне; - sshfs: исправлены утечки памяти, теперь используется функция
estrdup9p()
- vt: размер истории увеличен до 64 килобайт.
Также обновлена документация.
>>> Подробности