Tukunga o te huinga iti o nga taputapu punaha BusyBox 1.35

Ko te tukunga o te kete BusyBox 1.35 e whakaatuhia ana me te whakatinanatanga o te huinga o nga taputapu UNIX paerewa, i hangaia hei konae whakahaere kotahi me te arotau mo te iti o te kai o nga rauemi punaha me te rahinga huinga iti iho i te 1 MB. Ko te tukunga tuatahi o te peka 1.35 hou kei te noho he kore iu, ka whakapumau tonu i te putanga 1.35.1, e tumanakohia ana i roto i te marama kotahi. Ka tohatohahia te waehere kaupapa i raro i te raihana GPLv2.

Ko te ahua rereke o BusyBox ka taea te hanga i tetahi konae ka taea te whakakotahi kei roto he huinga taputapu whaipainga kua whakauruhia ki roto i te kete (kei te waatea ia taputapu i te ahua o te hononga tohu ki tenei konae). Ko te rahi, te hanganga me te mahi o te kohinga taputapu ka taea te rereke i runga i nga hiahia me nga kaha o te papaa whakauru kei te whakahaerehia te huihuinga. Ko te kete kei roto i a koe ano; ka hangaia ma te uclibc, ki te hanga i tetahi punaha mahi ki runga ake o te kernel Linux, me hanga noa e koe etahi konae taputapu ki te raarangi /dev me te whakarite i nga konae whirihoranga. I whakaritea ki te tukunga o mua 1.34, ko te kohi RAM o te huihuinga BusyBox 1.35 kua piki ake e 1726 bytes (mai i 1042344 ki 1044070 bytes).

Ko BusyBox te taputapu matua mo te whawhai ki nga takahi GPL i roto i te firmware. Ko te Software Freedom Conservancy (SFC) me te Software Freedom Law Center (SFLC), mo nga kaiwhakawhanake BusyBox, he maha nga wa i whakaawe angitu i nga kamupene kaore e uru ki te waehere puna o nga kaupapa GPL, na roto i nga kooti me waho. -whakaaetanga kooti. I te wa ano, ko te kaituhi o BusyBox e tino whakahee ana ki taua whakamarumaru - me te whakapono ka pakaru tana pakihi.

Ko nga huringa e whai ake nei ka tohua ki BusyBox 1.35:

  • В утилите find реализована опция «-samefile имя» для проверки использованием в файле того же inode, что и у файла с указанным именем. Унифицирован код для сравнения времени и добавлены опции «-amin», «-atime», «-cmin» и «-ctime» для проверки времени доступа и создания файла.
  • В утилиту mktemp добавлена опция «—tmpdir» для указания базового каталога, относительно которого вычисляются пути, связанные с временными файлами.
  • В утилиту cpio добавлены опции «—ignore-devno» для игнорирования реального номера устройства (всегда записывается 0) и «—renumber-inodes» для перенумерования inode перед помещением в архив.
  • В утилите awk налажена работа выражения «printf %%».
  • Добавлено около десятка изменений в библиотеку libbb. Улучшена совместимость realpath с аналогом из набора coreutils.
  • Предложена большая порция исправлений в командных оболочках ash и hush, нацеленных на улучшение совместимости с другими оболочками. В ash добавлена поддержка bash-подобных ERR trap, set -E и $FUNCNAME, а также ускорено извлечение строк при помощи выражения «${s:}». В ash и hush ускорено выполнение операций «${x//\*/|}».
  • В утилите basename реализованы опции «-a» для передачи нескольких имён при одном вызове и «-s SUFFIX» для удаления конечных символов «SUFFIX».
  • В утилиту blkdiscard добавлена опция «-f» (force).
  • В httpd прекращена отправка заголовков Last-Modified / ETag / Content-Length для страниц с ошибками.
  • В httpd и telnetd предоставлена возможность изменения сетевого порта по умолчанию.
  • В tar устранена уязвимость, приводящая к расходованию всей доступной памяти при обработке архивов с очень длинными именами файлов.
  • В коде TLS переделана реализация P256 и x25519.
  • В утилите wget реализована опция «—post-file» для отправки файлов и разрешено настраивать содержимое заголовка Content-Type для опций «—post-data» и «—post-file».
  • В утилиту timeout добавлена поддержка опции «-k KILL_SECS» для отправки сигнала SIGKILL, если команда не завершилась в течение дополнительных KILL_SECS секунд.
  • В утилиту ip добавлена поддержка установки параметра netns для устройств.
  • В утилите cal реализована опция «-m» для отображения заданного месяца.
  • В утилитах date и touch разрешено указание смещения часового пояса в датах.
  • В редакторе vi добавлена поддержка файла ~/.exrc, изменена обработка «-c» и EXINIT.
  • В утилите ed результат выполнения команд read/write приведён в соответствие со спецификацией POSIX-1.2008. Добавлена поддержка опции «-p».
  • В утилиту cmp добавлена опция «-n N» для ограничения сравнения N-байтами.

Кроме того, несколько дней назад состоялся релиз Toybox 0.8.6, аналога BusyBox, развиваемого бывшим мэйнтейнером BusyBox и распространяемого под лицензией 0BSD. Основным назначением Toybox является предоставление производителям возможности использования минималистичного набора стандартных утилит без открытия исходных текстов модифицированных компонентов. По возможностям Toybox пока отстаёт от BusyBox, но уже реализовано 296 базовых команд (217 полностью и 83 частично) из 374 запланированных.

Из новшеств Toybox 0.8.6 можно отметить улучшение скриптов для создания системных образов, добавление команд sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace и hexdump. Реализованы опции «date -s», «pmap -p», «tail -F -s», «kill -0″, reboot/halt/poweroff -d», «tail —bytes —lines», «i2cdetect -q», «find -quit -lname -ilname -d», «cut -d $’\n'», «cut -nb», «cpio —ignore-devno —renumber-inodes», «tar —selinux», «split -n», «grep -L».

Source: opennet.ru

Tāpiri i te kōrero