From: Seo Suchan Date: Mon, 1 Jun 2026 03:51:39 +0000 (+0900) Subject: busybox: update to 1.38.0 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=fe04581880badfd32a490ea4601f33a828f40935;p=thirdparty%2Fopenwrt.git busybox: update to 1.38.0 changelog: https://busybox.net/news.html remove upstreamed patches: 001-fix-non-x86-build.patch 002-upstream-fix.hexdump.patch 003-hexdump-fix-regression-for-unit16-on-big-endian-systems.patch see https://github.com/openwrt/openwrt/pull/17107 for updating config Config refresh: Refresh commands, run after busybox is first built once, slash or lack of slash at end of path matters!: cd package/utils/busybox/config/ ../convert_menuconfig.pl ../../../../build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/busybox-default/busybox-1.38.0 cd .. ./convert_defaults.pl ../../../build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/busybox-default/busybox-1.38.0/.config > Config-defaults.in Manual edits needed after config refresh: * Config-defaults.in: OpenWrt config symbol IPV6 logic applied to BUSYBOX_DEFAULT_FEATURE_IPV6 * Config-defaults.in: OpenWrt config TARGET_bcm53xx logic applied to BUSYBOX_DEFAULT_TRUNCATE (commit 547f1ec) * Config-defaults.in: OpenWrt logic applied to BUSYBOX_DEFAULT_LOGIN_SESSION_AS_CHILD (commit dc92917) * Config-defaults.in: correct the default ports that get reset BUSYBOX_DEFAULT_FEATURE_HTTPD_PORT_DEFAULT 80 BUSYBOX_DEFAULT_FEATURE_TELNETD_PORT_DEFAULT 23 * config/editors/Config.in: Add USE_GLIBC dependency to BUSYBOX_CONFIG_FEATURE_VI_REGEX_SEARCH (commit f141090) * config/shell/Config.in: change at "Options common to all shells" the conditional symbol SHELL_ASH --> BUSYBOX_CONFIG_SHELL_ASH (discussion in http://lists.openwrt.org/pipermail/openwrt-devel/2021-January/033140.html Apparently our script does not see the hidden option while prepending config options with "BUSYBOX_CONFIG_" which leads to a missed dependency when the options are later evaluated.) * Edit a few Config.in files by adding quotes to sourced items in config/Config.in, config/networking/Config.in and config/util-linux/Config.in (commit 1da014f) Signed-off-by: Seo Suchan Link: https://github.com/openwrt/openwrt/pull/23609 Signed-off-by: Jonas Jelonek --- diff --git a/package/utils/busybox/Config-defaults.in b/package/utils/busybox/Config-defaults.in index 820c498eead..213a7ab73e7 100644 --- a/package/utils/busybox/Config-defaults.in +++ b/package/utils/busybox/Config-defaults.in @@ -58,6 +58,9 @@ config BUSYBOX_DEFAULT_FEATURE_SHOW_SCRIPT config BUSYBOX_DEFAULT_FEATURE_INSTALLER bool default n +config BUSYBOX_DEFAULT_FEATURE_VERSION + bool + default n config BUSYBOX_DEFAULT_INSTALL_NO_USR bool default n @@ -496,6 +499,9 @@ config BUSYBOX_DEFAULT_FEATURE_UNZIP_XZ config BUSYBOX_DEFAULT_FEATURE_LZMA_FAST bool default n +config BUSYBOX_DEFAULT_FEATURE_PATH_TRAVERSAL_PROTECTION + bool + default n config BUSYBOX_DEFAULT_FEATURE_VERBOSE bool default n @@ -709,6 +715,9 @@ config BUSYBOX_DEFAULT_SHA1SUM config BUSYBOX_DEFAULT_SHA256SUM bool default y +config BUSYBOX_DEFAULT_SHA384SUM + bool + default n config BUSYBOX_DEFAULT_SHA512SUM bool default n @@ -1340,6 +1349,9 @@ config BUSYBOX_DEFAULT_USE_BB_CRYPT config BUSYBOX_DEFAULT_USE_BB_CRYPT_SHA bool default y +config BUSYBOX_DEFAULT_USE_BB_CRYPT_YES + bool + default n config BUSYBOX_DEFAULT_ADD_SHELL bool default n @@ -1571,6 +1583,9 @@ config BUSYBOX_DEFAULT_FDISK config BUSYBOX_DEFAULT_FDISK_SUPPORT_LARGE_DISKS bool default n +config BUSYBOX_DEFAULT_FEATURE_FDISK_BLKSIZE + bool + default n config BUSYBOX_DEFAULT_FEATURE_FDISK_WRITABLE bool default n @@ -1652,6 +1667,9 @@ config BUSYBOX_DEFAULT_FEATURE_LAST_FANCY config BUSYBOX_DEFAULT_LOSETUP bool default n +config BUSYBOX_DEFAULT_LSBLK + bool + default n config BUSYBOX_DEFAULT_LSPCI bool default n @@ -1847,6 +1865,9 @@ config BUSYBOX_DEFAULT_FEATURE_UMOUNT_ALL config BUSYBOX_DEFAULT_UNSHARE bool default n +config BUSYBOX_DEFAULT_UUIDGEN + bool + default n config BUSYBOX_DEFAULT_WALL bool default n @@ -2577,6 +2598,9 @@ config BUSYBOX_DEFAULT_SLATTACH config BUSYBOX_DEFAULT_SSL_CLIENT bool default n +config BUSYBOX_DEFAULT_SSL_SERVER + bool + default n config BUSYBOX_DEFAULT_TC bool default n @@ -2604,6 +2628,9 @@ config BUSYBOX_DEFAULT_FEATURE_TELNET_WIDTH config BUSYBOX_DEFAULT_TELNETD bool default n +config BUSYBOX_DEFAULT_FEATURE_TELNETD_SELFTEST_DEBUG + bool + default n config BUSYBOX_DEFAULT_FEATURE_TELNETD_STANDALONE bool default n @@ -2910,6 +2937,9 @@ config BUSYBOX_DEFAULT_UPTIME config BUSYBOX_DEFAULT_FEATURE_UPTIME_UTMP_SUPPORT bool default n +config BUSYBOX_DEFAULT_VMSTAT + bool + default n config BUSYBOX_DEFAULT_WATCH bool default n @@ -3075,6 +3105,9 @@ config BUSYBOX_DEFAULT_HUSH config BUSYBOX_DEFAULT_SHELL_HUSH bool default n +config BUSYBOX_DEFAULT_HUSH_NEED_FOR_SPEED + bool + default n config BUSYBOX_DEFAULT_HUSH_BASH_COMPAT bool default n @@ -3108,9 +3141,15 @@ config BUSYBOX_DEFAULT_HUSH_LOOPS config BUSYBOX_DEFAULT_HUSH_CASE bool default n +config BUSYBOX_DEFAULT_HUSH_ALIAS + bool + default n config BUSYBOX_DEFAULT_HUSH_FUNCTIONS bool default n +config BUSYBOX_DEFAULT_HUSH_FUNCTION_KEYWORD + bool + default n config BUSYBOX_DEFAULT_HUSH_LOCAL bool default n diff --git a/package/utils/busybox/Makefile b/package/utils/busybox/Makefile index 31489dafda5..24e539e3396 100644 --- a/package/utils/busybox/Makefile +++ b/package/utils/busybox/Makefile @@ -5,14 +5,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=busybox -PKG_VERSION:=1.37.0 -PKG_RELEASE:=6 +PKG_VERSION:=1.38.0 +PKG_RELEASE:=1 PKG_FLAGS:=essential PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://www.busybox.net/downloads \ https://sources.buildroot.net/$(PKG_NAME) -PKG_HASH:=3311dff32e746499f4df0d5df04d7eb396382d7e108bb9250e7b519b837043a4 +PKG_HASH:=34f9ea6ff8636f2c9241153b9114eefa9e65674a45318ae1ef95bb5f31c53bb2 PKG_BUILD_DEPENDS:=BUSYBOX_CONFIG_PAM:libpam PKG_BUILD_PARALLEL:=1 diff --git a/package/utils/busybox/config/Config.in b/package/utils/busybox/config/Config.in index f1bd8ef12fd..da70c99fd71 100644 --- a/package/utils/busybox/config/Config.in +++ b/package/utils/busybox/config/Config.in @@ -203,6 +203,13 @@ config BUSYBOX_CONFIG_FEATURE_INSTALLER busybox at runtime to create hard links or symlinks for all the applets that are compiled into busybox. +config BUSYBOX_CONFIG_FEATURE_VERSION + bool "Support --version" + default BUSYBOX_DEFAULT_FEATURE_VERSION + depends on BUSYBOX_CONFIG_BUSYBOX + help + Enable 'busybox --version' support. + config BUSYBOX_CONFIG_INSTALL_NO_USR bool "Don't use /usr" default BUSYBOX_DEFAULT_INSTALL_NO_USR diff --git a/package/utils/busybox/config/archival/Config.in b/package/utils/busybox/config/archival/Config.in index a3eebdce0f0..26ed64f4411 100644 --- a/package/utils/busybox/config/archival/Config.in +++ b/package/utils/busybox/config/archival/Config.in @@ -447,4 +447,15 @@ config BUSYBOX_CONFIG_FEATURE_LZMA_FAST This option reduces decompression time by about 25% at the cost of a 1K bigger binary. +config BUSYBOX_CONFIG_FEATURE_PATH_TRAVERSAL_PROTECTION + bool "Prevent extraction of filenames with /../ path component" + default BUSYBOX_DEFAULT_FEATURE_PATH_TRAVERSAL_PROTECTION + help + busybox tar and unzip remove "PREFIX/../" (if it exists) + from extracted names. + This option enables this behavior for all other unpacking applets, + such as cpio, ar, rpm. + GNU cpio 2.15 has NO such sanity check. +# try other archivers and document their behavior? + endmenu diff --git a/package/utils/busybox/config/coreutils/Config.in b/package/utils/busybox/config/coreutils/Config.in index 8ba5afc5e4c..ecdaddc07cb 100644 --- a/package/utils/busybox/config/coreutils/Config.in +++ b/package/utils/busybox/config/coreutils/Config.in @@ -485,6 +485,12 @@ config BUSYBOX_CONFIG_SHA256SUM help Compute and check SHA256 message digest +config BUSYBOX_CONFIG_SHA384SUM + bool "sha384sum (7.3 kb)" + default BUSYBOX_DEFAULT_SHA384SUM + help + Compute and check SHA384 message digest + config BUSYBOX_CONFIG_SHA512SUM bool "sha512sum (7.3 kb)" default BUSYBOX_DEFAULT_SHA512SUM @@ -497,13 +503,13 @@ config BUSYBOX_CONFIG_SHA3SUM help Compute and check SHA3 message digest -comment "Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum" - depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM || BUSYBOX_CONFIG_SHA3SUM +comment "Common options for md5sum, sha1sum, sha256sum, ..., sha3sum" + depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA384SUM || BUSYBOX_CONFIG_SHA512SUM || BUSYBOX_CONFIG_SHA3SUM config BUSYBOX_CONFIG_FEATURE_MD5_SHA1_SUM_CHECK bool "Enable -c, -s and -w options" default BUSYBOX_DEFAULT_FEATURE_MD5_SHA1_SUM_CHECK - depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM || BUSYBOX_CONFIG_SHA3SUM + depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA384SUM || BUSYBOX_CONFIG_SHA512SUM || BUSYBOX_CONFIG_SHA3SUM help Enabling the -c options allows files to be checked against pre-calculated hash values. diff --git a/package/utils/busybox/config/editors/Config.in b/package/utils/busybox/config/editors/Config.in index 0e9bda0fbab..3cd027bf5ba 100644 --- a/package/utils/busybox/config/editors/Config.in +++ b/package/utils/busybox/config/editors/Config.in @@ -134,7 +134,7 @@ config BUSYBOX_CONFIG_FEATURE_VI_SEARCH config BUSYBOX_CONFIG_FEATURE_VI_REGEX_SEARCH bool "Enable regex in search and replace" - default BUSYBOX_DEFAULT_FEATURE_VI_REGEX_SEARCH + default BUSYBOX_DEFAULT_FEATURE_VI_REGEX_SEARCH # Uses GNU regex, which may be unavailable. FIXME depends on BUSYBOX_CONFIG_FEATURE_VI_SEARCH depends on USE_GLIBC help diff --git a/package/utils/busybox/config/libbb/Config.in b/package/utils/busybox/config/libbb/Config.in index b3a83b9b085..359cf6fb7ea 100644 --- a/package/utils/busybox/config/libbb/Config.in +++ b/package/utils/busybox/config/libbb/Config.in @@ -238,7 +238,7 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_VI config BUSYBOX_CONFIG_FEATURE_EDITING_HISTORY int "History size" # Don't allow way too big values here, code uses fixed "char *history[N]" struct member - range 0 9999 + range 0 2000 default BUSYBOX_DEFAULT_FEATURE_EDITING_HISTORY depends on BUSYBOX_CONFIG_FEATURE_EDITING help diff --git a/package/utils/busybox/config/loginutils/Config.in b/package/utils/busybox/config/loginutils/Config.in index 95422f1037e..8a5ed6e7ef7 100644 --- a/package/utils/busybox/config/loginutils/Config.in +++ b/package/utils/busybox/config/loginutils/Config.in @@ -92,6 +92,17 @@ config BUSYBOX_CONFIG_USE_BB_CRYPT_SHA With this option off, login will fail password check for any user which has password encrypted with these algorithms. +config BUSYBOX_CONFIG_USE_BB_CRYPT_YES + bool "Enable yescrypt functions" + default BUSYBOX_DEFAULT_USE_BB_CRYPT_YES + depends on BUSYBOX_CONFIG_USE_BB_CRYPT + help + Enable this if you have passwords starting with "$y$" or + in your /etc/passwd or /etc/shadow files. These passwords + are hashed using yescrypt algorithms. + With this option off, login will fail password check for any + user which has password encrypted with these algorithms. + config BUSYBOX_CONFIG_ADD_SHELL bool "add-shell (3.3 kb)" default BUSYBOX_DEFAULT_ADD_SHELL if BUSYBOX_CONFIG_DESKTOP @@ -171,7 +182,7 @@ config BUSYBOX_CONFIG_FEATURE_DEFAULT_PASSWD_ALGO default BUSYBOX_DEFAULT_FEATURE_DEFAULT_PASSWD_ALGO depends on BUSYBOX_CONFIG_PASSWD || BUSYBOX_CONFIG_CRYPTPW || BUSYBOX_CONFIG_CHPASSWD help - Possible choices are "d[es]", "m[d5]", "s[ha256]" or "sha512". + Possible choices: "d[es]", "m[d5]", "s[ha256]", "sha512", "yescrypt" config BUSYBOX_CONFIG_CRYPTPW bool "cryptpw (15 kb)" default BUSYBOX_DEFAULT_CRYPTPW diff --git a/package/utils/busybox/config/networking/Config.in b/package/utils/busybox/config/networking/Config.in index fd2b4efd854..63db62c212c 100644 --- a/package/utils/busybox/config/networking/Config.in +++ b/package/utils/busybox/config/networking/Config.in @@ -881,6 +881,13 @@ config BUSYBOX_CONFIG_SSL_CLIENT select BUSYBOX_CONFIG_TLS help This tool pipes data to/from a socket, TLS-encrypting it. +config BUSYBOX_CONFIG_SSL_SERVER + bool "ssl_server (test TLS server)" + default BUSYBOX_DEFAULT_SSL_SERVER + select BUSYBOX_CONFIG_TLS + help + inetd-style TLS server. Stdin/stdout are already connected + to an accepted TCP socket. config BUSYBOX_CONFIG_TC bool "tc (8.3 kb)" default BUSYBOX_DEFAULT_TC @@ -975,6 +982,14 @@ config BUSYBOX_CONFIG_TELNETD with all that done, telnetd _should_ work.... +config BUSYBOX_CONFIG_FEATURE_TELNETD_SELFTEST_DEBUG + bool "Include self-test (telnetd -@)" + default BUSYBOX_DEFAULT_FEATURE_TELNETD_SELFTEST_DEBUG + depends on BUSYBOX_CONFIG_TELNETD + help + Include self-test code for pty/vhangup() behavior. + Useful for development and validation on new platforms. + config BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE bool "Support standalone telnetd (not inetd only)" default BUSYBOX_DEFAULT_FEATURE_TELNETD_STANDALONE diff --git a/package/utils/busybox/config/procps/Config.in b/package/utils/busybox/config/procps/Config.in index 1524f61dc74..c8837e4fc95 100644 --- a/package/utils/busybox/config/procps/Config.in +++ b/package/utils/busybox/config/procps/Config.in @@ -267,6 +267,11 @@ config BUSYBOX_CONFIG_FEATURE_UPTIME_UTMP_SUPPORT depends on BUSYBOX_CONFIG_UPTIME && BUSYBOX_CONFIG_FEATURE_UTMP help Display the number of users currently logged on. +config BUSYBOX_CONFIG_VMSTAT + bool "vmstat (2 kb)" + default BUSYBOX_DEFAULT_VMSTAT + help + Report virtual memory statistics config BUSYBOX_CONFIG_WATCH bool "watch (5.2 kb)" default BUSYBOX_DEFAULT_WATCH diff --git a/package/utils/busybox/config/runit/Config.in b/package/utils/busybox/config/runit/Config.in index 3a95619bde9..1b466339d82 100644 --- a/package/utils/busybox/config/runit/Config.in +++ b/package/utils/busybox/config/runit/Config.in @@ -17,7 +17,8 @@ config BUSYBOX_CONFIG_SETUIDGID bool "setuidgid (4.2 kb)" default BUSYBOX_DEFAULT_SETUIDGID help - Sets soft resource limits as specified by options + Sets UID and GID to those of the given account, and execs + specified program. config BUSYBOX_CONFIG_ENVUIDGID bool "envuidgid (4.1 kb)" diff --git a/package/utils/busybox/config/shell/Config.in b/package/utils/busybox/config/shell/Config.in index 848609a8409..f670981fb22 100644 --- a/package/utils/busybox/config/shell/Config.in +++ b/package/utils/busybox/config/shell/Config.in @@ -143,6 +143,11 @@ config BUSYBOX_CONFIG_ASH_JOB_CONTROL bool "Job control" default BUSYBOX_DEFAULT_ASH_JOB_CONTROL depends on BUSYBOX_CONFIG_SHELL_ASH + help + Enable 'fg', 'bg', 'jobs' and 'kill' builtins. + Shell will track whether backgrounded pipes are stopped + by signals, and allow to restart them by 'fg' or 'bg'. + Otherwise, it will only track whether they have terminated. config BUSYBOX_CONFIG_ASH_ALIAS bool "Alias support" @@ -276,7 +281,7 @@ config BUSYBOX_CONFIG_HUSH It will compile and work on no-mmu systems. - It does not handle select, aliases, tilde expansion, + It does not handle select, tilde expansion, &>file and >&file redirection of stdout+stderr. config BUSYBOX_CONFIG_SHELL_HUSH @@ -287,6 +292,11 @@ config BUSYBOX_CONFIG_SHELL_HUSH # It's only needed to get "nice" menuconfig indenting. if SHELL_HUSH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH +config BUSYBOX_CONFIG_HUSH_NEED_FOR_SPEED + bool "Faster, but larger code" + default BUSYBOX_DEFAULT_HUSH_NEED_FOR_SPEED + depends on BUSYBOX_CONFIG_SHELL_HUSH + config BUSYBOX_CONFIG_HUSH_BASH_COMPAT bool "bash-compatible extensions" default BUSYBOX_DEFAULT_HUSH_BASH_COMPAT @@ -361,6 +371,13 @@ config BUSYBOX_CONFIG_HUSH_CASE help Enable case ... esac statement. +400 bytes. +config BUSYBOX_CONFIG_HUSH_ALIAS + bool "Support aliases" + default BUSYBOX_DEFAULT_HUSH_ALIAS + depends on BUSYBOX_CONFIG_SHELL_HUSH + help + Enable aliases. + config BUSYBOX_CONFIG_HUSH_FUNCTIONS bool "Support funcname() { commands; } syntax" default BUSYBOX_DEFAULT_HUSH_FUNCTIONS @@ -368,6 +385,13 @@ config BUSYBOX_CONFIG_HUSH_FUNCTIONS help Enable support for shell functions. +800 bytes. +config BUSYBOX_CONFIG_HUSH_FUNCTION_KEYWORD + bool "Support function keyword" + default BUSYBOX_DEFAULT_HUSH_FUNCTION_KEYWORD + depends on BUSYBOX_CONFIG_HUSH_FUNCTIONS + help + Support "function FUNCNAME { CMD; }" syntax. + config BUSYBOX_CONFIG_HUSH_LOCAL bool "local builtin" default BUSYBOX_DEFAULT_HUSH_LOCAL @@ -580,9 +604,10 @@ config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE default BUSYBOX_DEFAULT_FEATURE_SH_HISTFILESIZE depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH help - This option makes busybox shells to use $HISTFILESIZE variable - to set shell history size. Note that its max value is capped - by "History size" setting in library tuning section. + This option makes busybox shells to use $HISTSIZE and + $HISTFILESIZE variables to set shell history size. + Note that its max value is capped by "History size" setting + in library tuning section. config BUSYBOX_CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS bool "Embed scripts in the binary" diff --git a/package/utils/busybox/config/util-linux/Config.in b/package/utils/busybox/config/util-linux/Config.in index 18ba619db02..2300d31ccac 100644 --- a/package/utils/busybox/config/util-linux/Config.in +++ b/package/utils/busybox/config/util-linux/Config.in @@ -163,6 +163,11 @@ config BUSYBOX_CONFIG_FDISK_SUPPORT_LARGE_DISKS depends on BUSYBOX_CONFIG_FDISK depends on !BUSYBOX_CONFIG_LFS # with LFS no special code is needed +config BUSYBOX_CONFIG_FEATURE_FDISK_BLKSIZE + bool "Support -s option to list sizes" + default BUSYBOX_DEFAULT_FEATURE_FDISK_BLKSIZE + depends on BUSYBOX_CONFIG_FDISK + config BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE bool "Write support" default BUSYBOX_DEFAULT_FEATURE_FDISK_WRITABLE @@ -371,6 +376,11 @@ config BUSYBOX_CONFIG_LOSETUP losetup is used to associate or detach a loop device with a regular file or block device, and to query the status of a loop device. This version does not currently support enabling data encryption. +config BUSYBOX_CONFIG_LSBLK + bool "lsblk (2.5 kb)" + default BUSYBOX_DEFAULT_LSBLK + help + List information about all available or specified block devices. config BUSYBOX_CONFIG_LSPCI bool "lspci (6.4 kb)" default BUSYBOX_DEFAULT_LSPCI @@ -888,6 +898,11 @@ config BUSYBOX_CONFIG_UNSHARE select BUSYBOX_CONFIG_LONG_OPTS help Run program with some namespaces unshared from parent. +config BUSYBOX_CONFIG_UUIDGEN + bool "uuidgen (1.1 kb)" + default BUSYBOX_DEFAULT_UUIDGEN + help + Generate a UUID (Universally Unique Identifier) in RFC 4122 format. config BUSYBOX_CONFIG_WALL bool "wall (2.9 kb)" default BUSYBOX_DEFAULT_WALL diff --git a/package/utils/busybox/patches/001-fix-non-x86-build.patch b/package/utils/busybox/patches/001-fix-non-x86-build.patch deleted file mode 100644 index 7a47292474f..00000000000 --- a/package/utils/busybox/patches/001-fix-non-x86-build.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/libbb/hash_md5_sha.c -+++ b/libbb/hash_md5_sha.c -@@ -1313,7 +1313,9 @@ unsigned FAST_FUNC sha1_end(sha1_ctx_t * - hash_size = 8; - if (ctx->process_block == sha1_process_block64 - #if ENABLE_SHA1_HWACCEL -+# if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) - || ctx->process_block == sha1_process_block64_shaNI -+# endif - #endif - ) { - hash_size = 5; diff --git a/package/utils/busybox/patches/002-upstream-fix-hexdump.patch b/package/utils/busybox/patches/002-upstream-fix-hexdump.patch deleted file mode 100644 index a123fe3a5f1..00000000000 --- a/package/utils/busybox/patches/002-upstream-fix-hexdump.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 87e60dcf0f7ef917b73353d8605188a420bd91f9 Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Mon, 28 Oct 2024 15:26:21 +0100 -Subject: hexdump: fix regression with -n4 -e '"%u"' - -Fix bug introduced in busybox 1.37.0 that broke kernel builds. - -Fixes commit e2287f99fe6f (od: for !DESKTOP, match output more closely -to GNU coreutils 9.1, implement -s) - -function old new delta -rewrite 967 976 +9 - -Signed-off-by: Natanael Copa -Signed-off-by: Denys Vlasenko ---- - libbb/dump.c | 6 ++++-- - testsuite/hexdump.tests | 6 ++++++ - 2 files changed, 10 insertions(+), 2 deletions(-) - ---- a/libbb/dump.c -+++ b/libbb/dump.c -@@ -198,9 +198,11 @@ static NOINLINE void rewrite(priv_dumper - if (!e) - goto DO_BAD_CONV_CHAR; - pr->flags = F_INT; -- if (e > int_convs + 1) /* not d or i? */ -- pr->flags = F_UINT; - byte_count_str = "\010\004\002\001"; -+ if (e > int_convs + 1) { /* not d or i? */ -+ pr->flags = F_UINT; -+ byte_count_str++; -+ } - goto DO_BYTE_COUNT; - } else - if (strchr(int_convs, *p1)) { /* %d etc */ ---- a/testsuite/hexdump.tests -+++ b/testsuite/hexdump.tests -@@ -82,4 +82,10 @@ testing "hexdump -e /2 %d" \ - "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"\ - "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"\ - -+testing "hexdump -n4 -e '\"%u\"'" \ -+ "hexdump -n4 -e '\"%u\"'" \ -+ "12345678" \ -+ "" \ -+ "\x4e\x61\xbc\x00AAAA" -+ - exit $FAILCOUNT diff --git a/package/utils/busybox/patches/003-hexdump-fix-regression-for-uint16-on-big-endian-systems.patch b/package/utils/busybox/patches/003-hexdump-fix-regression-for-uint16-on-big-endian-systems.patch deleted file mode 100644 index 5440c34f0a0..00000000000 --- a/package/utils/busybox/patches/003-hexdump-fix-regression-for-uint16-on-big-endian-systems.patch +++ /dev/null @@ -1,41 +0,0 @@ -From f5c7cae55fc3e19d074198bc12152486067ea8c7 Mon Sep 17 00:00:00 2001 -From: Radoslav Kolev -Date: Thu, 24 Apr 2025 00:45:25 +0300 -Subject: [PATCH] hexdump: fix regression for uint16 on big endian systems - -Commit 34751d8bf introduced a bug in the handling of uint16 -values on big endian systems not considered safe for unaligned -access when falling back to memcpy. - -Signed-off-by: Radoslav Kolev -Signed-off-by: Denys Vlasenko ---- - libbb/dump.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - ---- a/libbb/dump.c -+++ b/libbb/dump.c -@@ -667,15 +667,21 @@ static NOINLINE void display(priv_dumper - conv_u(pr, bp); - break; - case F_UINT: { -+ union { -+ uint16_t uval16; -+ uint32_t uval32; -+ } u; - unsigned value = (unsigned char)*bp; - switch (pr->bcnt) { - case 1: - break; - case 2: -- move_from_unaligned16(value, bp); -+ move_from_unaligned16(u.uval16, bp); -+ value = u.uval16; - break; - case 4: -- move_from_unaligned32(value, bp); -+ move_from_unaligned32(u.uval32, bp); -+ value = u.uval32; - break; - /* case 8: no users yet */ - } diff --git a/package/utils/busybox/patches/301-ip-link-fix-netlink-msg-size.patch b/package/utils/busybox/patches/301-ip-link-fix-netlink-msg-size.patch index 9a3ddb52fd6..91af355e73c 100644 --- a/package/utils/busybox/patches/301-ip-link-fix-netlink-msg-size.patch +++ b/package/utils/busybox/patches/301-ip-link-fix-netlink-msg-size.patch @@ -1,6 +1,6 @@ --- a/networking/libiproute/iplink.c +++ b/networking/libiproute/iplink.c -@@ -953,7 +953,7 @@ static int do_add_or_delete(char **argv, +@@ -974,7 +974,7 @@ static int do_add_or_delete(char **argv, } xrtnl_open(&rth); ll_init_map(&rth); diff --git a/package/utils/busybox/patches/520-loginutils-handle-crypt-failures.patch b/package/utils/busybox/patches/520-loginutils-handle-crypt-failures.patch index 91340d46e62..7d9da4d3266 100644 --- a/package/utils/busybox/patches/520-loginutils-handle-crypt-failures.patch +++ b/package/utils/busybox/patches/520-loginutils-handle-crypt-failures.patch @@ -14,16 +14,16 @@ /* This is rather complex: if user is not found in /etc/shadow, --- a/loginutils/cryptpw.c +++ b/loginutils/cryptpw.c -@@ -87,7 +87,7 @@ int cryptpw_main(int argc UNUSED_PARAM, - /* Supports: cryptpw -m sha256 PASS 'rounds=999999999$SALT' */ - char salt[MAX_PW_SALT_LEN + sizeof("rounds=999999999$")]; +@@ -86,7 +86,7 @@ int cryptpw_main(int argc UNUSED_PARAM, + { + char salt[MAX_PW_SALT_LEN]; char *salt_ptr; - char *password; + char *password, *hash; const char *opt_m, *opt_S; int fd; -@@ -132,8 +132,12 @@ int cryptpw_main(int argc UNUSED_PARAM, +@@ -155,8 +155,12 @@ int cryptpw_main(int argc UNUSED_PARAM, /* may still be NULL on EOF/error */ }