From a54b406ccb7b29a86e43e5535b86efede52157e6 Mon Sep 17 00:00:00 2001 From: Hannu Nyman Date: Mon, 3 Jan 2022 09:29:53 +0200 Subject: [PATCH] busybox: update to 1.35.0 Update busybox to 1.35.0 * refresh patches Config refresh: Refresh commands, run after busybox is first built once: cd package/utils/busybox/config/ ../convert_menuconfig.pl ../../../../build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/busybox-default/busybox-1.35.0 cd .. ./convert_defaults.pl ../../../build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/busybox-default/busybox-1.35.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 configTARGET_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/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 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 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: Hannu Nyman --- package/utils/busybox/Config-defaults.in | 116 +++++++----- package/utils/busybox/Makefile | 4 +- .../utils/busybox/config/archival/Config.in | 14 ++ .../utils/busybox/config/coreutils/Config.in | 91 ++++++--- .../utils/busybox/config/findutils/Config.in | 43 ++++- package/utils/busybox/config/libbb/Config.in | 176 ++++++------------ .../utils/busybox/config/mailutils/Config.in | 14 +- .../utils/busybox/config/networking/Config.in | 39 +++- package/utils/busybox/config/procps/Config.in | 23 ++- .../301-ip-link-fix-netlink-msg-size.patch | 2 +- 10 files changed, 314 insertions(+), 208 deletions(-) diff --git a/package/utils/busybox/Config-defaults.in b/package/utils/busybox/Config-defaults.in index 4b264a09a232..abe6d5431a70 100644 --- a/package/utils/busybox/Config-defaults.in +++ b/package/utils/busybox/Config-defaults.in @@ -211,15 +211,24 @@ config BUSYBOX_DEFAULT_MD5_SMALL config BUSYBOX_DEFAULT_SHA3_SMALL int default 1 -config BUSYBOX_DEFAULT_FEATURE_FAST_TOP +config BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP bool default y -config BUSYBOX_DEFAULT_FEATURE_ETC_NETWORKS +config BUSYBOX_DEFAULT_FEATURE_VERBOSE_CP_MESSAGE bool default n -config BUSYBOX_DEFAULT_FEATURE_ETC_SERVICES +config BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE bool - default n + default y +config BUSYBOX_DEFAULT_FEATURE_COPYBUF_KB + int + default 4 +config BUSYBOX_DEFAULT_MONOTONIC_SYSCALL + bool + default y +config BUSYBOX_DEFAULT_IOCTL_HEX2STR_ERROR + bool + default y config BUSYBOX_DEFAULT_FEATURE_EDITING bool default y @@ -289,30 +298,6 @@ config BUSYBOX_DEFAULT_UNICODE_NEUTRAL_TABLE config BUSYBOX_DEFAULT_UNICODE_PRESERVE_BROKEN bool default n -config BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP - bool - default y -config BUSYBOX_DEFAULT_FEATURE_VERBOSE_CP_MESSAGE - bool - default n -config BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE - bool - default y -config BUSYBOX_DEFAULT_FEATURE_COPYBUF_KB - int - default 4 -config BUSYBOX_DEFAULT_FEATURE_SKIP_ROOTFS - bool - default n -config BUSYBOX_DEFAULT_MONOTONIC_SYSCALL - bool - default y -config BUSYBOX_DEFAULT_IOCTL_HEX2STR_ERROR - bool - default y -config BUSYBOX_DEFAULT_FEATURE_HWIB - bool - default n config BUSYBOX_DEFAULT_FEATURE_SEAMLESS_XZ bool default n @@ -391,6 +376,12 @@ config BUSYBOX_DEFAULT_FEATURE_CPIO_O config BUSYBOX_DEFAULT_FEATURE_CPIO_P bool default n +config BUSYBOX_DEFAULT_FEATURE_CPIO_IGNORE_DEVNO + bool + default n +config BUSYBOX_DEFAULT_FEATURE_CPIO_RENUMBER_INODES + bool + default n config BUSYBOX_DEFAULT_DPKG bool default n @@ -484,6 +475,18 @@ config BUSYBOX_DEFAULT_FEATURE_UNZIP_XZ config BUSYBOX_DEFAULT_FEATURE_LZMA_FAST bool default n +config BUSYBOX_DEFAULT_FEATURE_VERBOSE + bool + default n +config BUSYBOX_DEFAULT_FEATURE_TIMEZONE + bool + default n +config BUSYBOX_DEFAULT_FEATURE_PRESERVE_HARDLINKS + bool + default y +config BUSYBOX_DEFAULT_FEATURE_HUMAN_READABLE + bool + default y config BUSYBOX_DEFAULT_BASENAME bool default y @@ -568,6 +571,9 @@ config BUSYBOX_DEFAULT_DF config BUSYBOX_DEFAULT_FEATURE_DF_FANCY bool default n +config BUSYBOX_DEFAULT_FEATURE_SKIP_ROOTFS + bool + default n config BUSYBOX_DEFAULT_DIRNAME bool default y @@ -908,15 +914,6 @@ config BUSYBOX_DEFAULT_WHOAMI config BUSYBOX_DEFAULT_YES bool default y -config BUSYBOX_DEFAULT_FEATURE_VERBOSE - bool - default n -config BUSYBOX_DEFAULT_FEATURE_PRESERVE_HARDLINKS - bool - default y -config BUSYBOX_DEFAULT_FEATURE_HUMAN_READABLE - bool - default y config BUSYBOX_DEFAULT_CHVT bool default n @@ -1118,9 +1115,21 @@ config BUSYBOX_DEFAULT_FEATURE_FIND_PRINT0 config BUSYBOX_DEFAULT_FEATURE_FIND_MTIME bool default y +config BUSYBOX_DEFAULT_FEATURE_FIND_ATIME + bool + default n +config BUSYBOX_DEFAULT_FEATURE_FIND_CTIME + bool + default n config BUSYBOX_DEFAULT_FEATURE_FIND_MMIN bool default y +config BUSYBOX_DEFAULT_FEATURE_FIND_AMIN + bool + default n +config BUSYBOX_DEFAULT_FEATURE_FIND_CMIN + bool + default n config BUSYBOX_DEFAULT_FEATURE_FIND_PERM bool default y @@ -1142,6 +1151,9 @@ config BUSYBOX_DEFAULT_FEATURE_FIND_NEWER config BUSYBOX_DEFAULT_FEATURE_FIND_INUM bool default n +config BUSYBOX_DEFAULT_FEATURE_FIND_SAMEFILE + bool + default n config BUSYBOX_DEFAULT_FEATURE_FIND_EXEC bool default y @@ -2211,6 +2223,15 @@ config BUSYBOX_DEFAULT_FEATURE_PREFER_IPV4_ADDRESS config BUSYBOX_DEFAULT_VERBOSE_RESOLUTION_ERRORS bool default y +config BUSYBOX_DEFAULT_FEATURE_ETC_NETWORKS + bool + default n +config BUSYBOX_DEFAULT_FEATURE_ETC_SERVICES + bool + default n +config BUSYBOX_DEFAULT_FEATURE_HWIB + bool + default n config BUSYBOX_DEFAULT_FEATURE_TLS_SHA1 bool default n @@ -2265,6 +2286,9 @@ config BUSYBOX_DEFAULT_DNSDOMAINNAME config BUSYBOX_DEFAULT_HTTPD bool default n +config BUSYBOX_DEFAULT_FEATURE_HTTPD_PORT_DEFAULT + int + default 80 config BUSYBOX_DEFAULT_FEATURE_HTTPD_RANGES bool default n @@ -2544,6 +2568,9 @@ config BUSYBOX_DEFAULT_TELNETD config BUSYBOX_DEFAULT_FEATURE_TELNETD_STANDALONE bool default n +config BUSYBOX_DEFAULT_FEATURE_TELNETD_PORT_DEFAULT + int + default 23 config BUSYBOX_DEFAULT_FEATURE_TELNETD_INETD_WAIT bool default n @@ -2700,6 +2727,9 @@ config BUSYBOX_DEFAULT_LPR config BUSYBOX_DEFAULT_LPQ bool default n +config BUSYBOX_DEFAULT_FEATURE_MIME_CHARSET + string + default "" config BUSYBOX_DEFAULT_MAKEMIME bool default n @@ -2718,9 +2748,12 @@ config BUSYBOX_DEFAULT_FEATURE_REFORMIME_COMPAT config BUSYBOX_DEFAULT_SENDMAIL bool default n -config BUSYBOX_DEFAULT_FEATURE_MIME_CHARSET - string - default "" +config BUSYBOX_DEFAULT_FEATURE_FAST_TOP + bool + default y +config BUSYBOX_DEFAULT_FEATURE_SHOW_THREADS + bool + default n config BUSYBOX_DEFAULT_FREE bool default y @@ -2835,9 +2868,6 @@ config BUSYBOX_DEFAULT_FEATURE_UPTIME_UTMP_SUPPORT config BUSYBOX_DEFAULT_WATCH bool default n -config BUSYBOX_DEFAULT_FEATURE_SHOW_THREADS - bool - default n config BUSYBOX_DEFAULT_CHPST bool default n diff --git a/package/utils/busybox/Makefile b/package/utils/busybox/Makefile index 90d323b92b52..2861e7d2e942 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.34.1 +PKG_VERSION:=1.35.0 PKG_RELEASE:=$(AUTORELEASE) PKG_FLAGS:=essential PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://www.busybox.net/downloads \ http://sources.buildroot.net -PKG_HASH:=415fbd89e5344c96acf449d94a6f956dbed62e18e835fc83e064db33a34bd549 +PKG_HASH:=faeeb244c35a348a334f4a59e44626ee870fb07b6884d68c10ae8bc19f83a694 PKG_BUILD_DEPENDS:=BUSYBOX_CONFIG_PAM:libpam PKG_BUILD_PARALLEL:=1 diff --git a/package/utils/busybox/config/archival/Config.in b/package/utils/busybox/config/archival/Config.in index ea167a46af97..ac2b3d20562e 100644 --- a/package/utils/busybox/config/archival/Config.in +++ b/package/utils/busybox/config/archival/Config.in @@ -204,6 +204,20 @@ config BUSYBOX_CONFIG_FEATURE_CPIO_P depends on BUSYBOX_CONFIG_FEATURE_CPIO_O help Passthrough mode. Rarely used. + +config BUSYBOX_CONFIG_FEATURE_CPIO_IGNORE_DEVNO + bool "Support --ignore-devno like GNU cpio" + default BUSYBOX_DEFAULT_FEATURE_CPIO_IGNORE_DEVNO + depends on BUSYBOX_CONFIG_FEATURE_CPIO_O && BUSYBOX_CONFIG_LONG_OPTS + help + Optionally ignore device numbers when creating archives. + +config BUSYBOX_CONFIG_FEATURE_CPIO_RENUMBER_INODES + bool "Support --renumber-inodes like GNU cpio" + default BUSYBOX_DEFAULT_FEATURE_CPIO_RENUMBER_INODES + depends on BUSYBOX_CONFIG_FEATURE_CPIO_O && BUSYBOX_CONFIG_LONG_OPTS + help + Optionally renumber inodes when creating archives. config BUSYBOX_CONFIG_DPKG bool "dpkg (43 kb)" default BUSYBOX_DEFAULT_DPKG diff --git a/package/utils/busybox/config/coreutils/Config.in b/package/utils/busybox/config/coreutils/Config.in index c84c1d5a94ac..835ce7950a2b 100644 --- a/package/utils/busybox/config/coreutils/Config.in +++ b/package/utils/busybox/config/coreutils/Config.in @@ -6,6 +6,47 @@ menu "Coreutils" +config BUSYBOX_CONFIG_FEATURE_VERBOSE + bool "Support verbose options (usually -v) for various applets" + default BUSYBOX_DEFAULT_FEATURE_VERBOSE + help + Enable cp -v, rm -v and similar messages. + Also enables long option (--verbose) if it exists. + Without this option, -v is accepted but ignored. + +comment "Common options for date and touch" + +config BUSYBOX_CONFIG_FEATURE_TIMEZONE + bool "Allow timezone in dates" + default BUSYBOX_DEFAULT_FEATURE_TIMEZONE + depends on BUSYBOX_CONFIG_DESKTOP + help + Permit the use of timezones when parsing user-provided data + strings, e.g. '1996-04-09 12:45:00 -0500'. + + This requires support for the '%z' extension to strptime() which + may not be available in all implementations. + +comment "Common options for cp and mv" + depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV + +config BUSYBOX_CONFIG_FEATURE_PRESERVE_HARDLINKS + bool "Preserve hard links" + default BUSYBOX_DEFAULT_FEATURE_PRESERVE_HARDLINKS + depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV + help + Allow cp and mv to preserve hard links. + +comment "Common options for df, du, ls" + depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS + +config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE + bool "Support human readable output (example 13k, 23M, 235G)" + default BUSYBOX_DEFAULT_FEATURE_HUMAN_READABLE + depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS + help + Allow df, du, and ls to have human readable output. + config BUSYBOX_CONFIG_BASENAME bool "basename (438 bytes)" default BUSYBOX_DEFAULT_BASENAME @@ -200,6 +241,26 @@ config BUSYBOX_CONFIG_FEATURE_DF_FANCY -a Show all filesystems -i Inodes -B Blocksize + +config BUSYBOX_CONFIG_FEATURE_SKIP_ROOTFS + bool "Skip rootfs in mount table" + default BUSYBOX_DEFAULT_FEATURE_SKIP_ROOTFS + depends on BUSYBOX_CONFIG_DF + help + Ignore rootfs entry in mount table. + + In Linux, kernel has a special filesystem, rootfs, which is initially + mounted on /. It contains initramfs data, if kernel is configured + to have one. Usually, another file system is mounted over / early + in boot process, and therefore most tools which manipulate + mount table, such as df, will skip rootfs entry. + + However, some systems do not mount anything on /. + If you need to configure busybox for one of these systems, + you may find it useful to turn this option off to make df show + initramfs statistics. + + Otherwise, choose Y. config BUSYBOX_CONFIG_DIRNAME bool "dirname (329 bytes)" default BUSYBOX_DEFAULT_DIRNAME @@ -896,34 +957,4 @@ config BUSYBOX_CONFIG_YES yes is used to repeatedly output a specific string, or the default string 'y'. -comment "Common options" - -config BUSYBOX_CONFIG_FEATURE_VERBOSE - bool "Support verbose options (usually -v) for various applets" - default BUSYBOX_DEFAULT_FEATURE_VERBOSE - help - Enable cp -v, rm -v and similar messages. - Also enables long option (--verbose) if it exists. - Without this option, -v is accepted but ignored. - -comment "Common options for cp and mv" - depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV - -config BUSYBOX_CONFIG_FEATURE_PRESERVE_HARDLINKS - bool "Preserve hard links" - default BUSYBOX_DEFAULT_FEATURE_PRESERVE_HARDLINKS - depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV - help - Allow cp and mv to preserve hard links. - -comment "Common options for df, du, ls" - depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS - -config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE - bool "Support human readable output (example 13k, 23M, 235G)" - default BUSYBOX_DEFAULT_FEATURE_HUMAN_READABLE - depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS - help - Allow df, du, and ls to have human readable output. - endmenu diff --git a/package/utils/busybox/config/findutils/Config.in b/package/utils/busybox/config/findutils/Config.in index 89901ca59d00..805d44f149e3 100644 --- a/package/utils/busybox/config/findutils/Config.in +++ b/package/utils/busybox/config/findutils/Config.in @@ -23,21 +23,53 @@ config BUSYBOX_CONFIG_FEATURE_FIND_PRINT0 interpreted by other programs. config BUSYBOX_CONFIG_FEATURE_FIND_MTIME - bool "Enable -mtime: modified time matching" + bool "Enable -mtime: modification time matching" default BUSYBOX_DEFAULT_FEATURE_FIND_MTIME depends on BUSYBOX_CONFIG_FIND help Allow searching based on the modification time of files, in days. +config BUSYBOX_CONFIG_FEATURE_FIND_ATIME + bool "Enable -atime: access time matching" + default BUSYBOX_DEFAULT_FEATURE_FIND_ATIME + depends on BUSYBOX_CONFIG_FEATURE_FIND_MTIME + help + Allow searching based on the access time of + files, in days. + +config BUSYBOX_CONFIG_FEATURE_FIND_CTIME + bool "Enable -ctime: status change timestamp matching" + default BUSYBOX_DEFAULT_FEATURE_FIND_CTIME + depends on BUSYBOX_CONFIG_FEATURE_FIND_MTIME + help + Allow searching based on the status change timestamp of + files, in days. + config BUSYBOX_CONFIG_FEATURE_FIND_MMIN - bool "Enable -mmin: modified time matching by minutes" + bool "Enable -mmin: modification time matching by minutes" default BUSYBOX_DEFAULT_FEATURE_FIND_MMIN depends on BUSYBOX_CONFIG_FIND help Allow searching based on the modification time of files, in minutes. +config BUSYBOX_CONFIG_FEATURE_FIND_AMIN + bool "Enable -amin: access time matching by minutes" + default BUSYBOX_DEFAULT_FEATURE_FIND_AMIN + depends on BUSYBOX_CONFIG_FEATURE_FIND_MMIN + help + Allow searching based on the access time of + files, in minutes. + +config BUSYBOX_CONFIG_FEATURE_FIND_CMIN + bool "Enable -cmin: status change timestamp matching by minutes" + default BUSYBOX_DEFAULT_FEATURE_FIND_CMIN + depends on BUSYBOX_CONFIG_FEATURE_FIND_MMIN + help + Allow searching based on the status change timestamp of + files, in minutes. + config BUSYBOX_CONFIG_FEATURE_FIND_PERM bool "Enable -perm: permissions matching" default BUSYBOX_DEFAULT_FEATURE_FIND_PERM @@ -79,6 +111,13 @@ config BUSYBOX_CONFIG_FEATURE_FIND_INUM default BUSYBOX_DEFAULT_FEATURE_FIND_INUM depends on BUSYBOX_CONFIG_FIND +config BUSYBOX_CONFIG_FEATURE_FIND_SAMEFILE + bool "Enable -samefile: reference file matching" + default BUSYBOX_DEFAULT_FEATURE_FIND_SAMEFILE + depends on BUSYBOX_CONFIG_FIND + help + Support the 'find -samefile' option for searching by a reference file. + config BUSYBOX_CONFIG_FEATURE_FIND_EXEC bool "Enable -exec: execute commands" default BUSYBOX_DEFAULT_FEATURE_FIND_EXEC diff --git a/package/utils/busybox/config/libbb/Config.in b/package/utils/busybox/config/libbb/Config.in index 906649c5c9aa..e050c4a9150a 100644 --- a/package/utils/busybox/config/libbb/Config.in +++ b/package/utils/busybox/config/libbb/Config.in @@ -117,32 +117,73 @@ config BUSYBOX_CONFIG_SHA3_SMALL 64-bit x86: +270 bytes of code, 45% faster 32-bit x86: +450 bytes of code, 75% faster -config BUSYBOX_CONFIG_FEATURE_FAST_TOP - bool "Faster /proc scanning code (+100 bytes)" - default BUSYBOX_DEFAULT_FEATURE_FAST_TOP # all "fast or small" options default to small +config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP + bool "Non-POSIX, but safer, copying to special nodes" + default BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP help - This option makes top and ps ~20% faster (or 20% less CPU hungry), - but code size is slightly bigger. + With this option, "cp file symlink" will delete symlink + and create a regular file. This does not conform to POSIX, + but prevents a symlink attack. + Similarly, "cp file device" will not send file's data + to the device. (To do that, use "cat file >device") -config BUSYBOX_CONFIG_FEATURE_ETC_NETWORKS - bool "Support /etc/networks" - default BUSYBOX_DEFAULT_FEATURE_ETC_NETWORKS +config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE + bool "Give more precise messages when copy fails (cp, mv etc)" + default BUSYBOX_DEFAULT_FEATURE_VERBOSE_CP_MESSAGE help - Enable support for network names in /etc/networks. This is - a rarely used feature which allows you to use names - instead of IP/mask pairs in route command. + Error messages with this feature enabled: -config BUSYBOX_CONFIG_FEATURE_ETC_SERVICES - bool "Consult /etc/services even for well-known ports" - default BUSYBOX_DEFAULT_FEATURE_ETC_SERVICES + $ cp file /does_not_exist/file + cp: cannot create '/does_not_exist/file': Path does not exist + $ cp file /vmlinuz/file + cp: cannot stat '/vmlinuz/file': Path has non-directory component + + If this feature is not enabled, they will be, respectively: + + cp: cannot create '/does_not_exist/file': No such file or directory + cp: cannot stat '/vmlinuz/file': Not a directory + + This will cost you ~60 bytes. + +config BUSYBOX_CONFIG_FEATURE_USE_SENDFILE + bool "Use sendfile system call" + default BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE help - Look up e.g. "telnet" and "http" in /etc/services file - instead of assuming ports 23 and 80. - This is almost never necessary (everybody uses standard ports), - and it makes sense to avoid reading this file. - If you disable this option, in the cases where port is explicitly - specified as a service name (e.g. "telnet HOST PORTNAME"), - it will still be looked up in /etc/services. + When enabled, busybox will use the kernel sendfile() function + instead of read/write loops to copy data between file descriptors + (for example, cp command does this a lot). + If sendfile() doesn't work, copying code falls back to read/write + loop. sendfile() was originally implemented for faster I/O + from files to sockets, but since Linux 2.6.33 it was extended + to work for many more file types. + +config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB + int "Copy buffer size, in kilobytes" + range 1 1024 + default BUSYBOX_DEFAULT_FEATURE_COPYBUF_KB + help + Size of buffer used by cp, mv, install, wget etc. + Buffers which are 4 kb or less will be allocated on stack. + Bigger buffers will be allocated with mmap, with fallback to 4 kb + stack buffer if mmap fails. + +config BUSYBOX_CONFIG_MONOTONIC_SYSCALL + bool "Use clock_gettime(CLOCK_MONOTONIC) syscall" + default BUSYBOX_DEFAULT_MONOTONIC_SYSCALL + help + Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring + time intervals (time, ping, traceroute etc need this). + Probably requires Linux 2.6+. If not selected, gettimeofday + will be used instead (which gives wrong results if date/time + is reset). + +config BUSYBOX_CONFIG_IOCTL_HEX2STR_ERROR + bool "Use ioctl names rather than hex values in error messages" + default BUSYBOX_DEFAULT_IOCTL_HEX2STR_ERROR + help + Use ioctl names rather than hex values in error messages + (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this + saves about 1400 bytes. config BUSYBOX_CONFIG_FEATURE_EDITING bool "Command line editing" @@ -358,96 +399,3 @@ config BUSYBOX_CONFIG_UNICODE_PRESERVE_BROKEN For example, this means that entering 'l', 's', ' ', 0xff, [Enter] at shell prompt will list file named 0xff (single char name with char value 255), not file named '?'. - -config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP - bool "Non-POSIX, but safer, copying to special nodes" - default BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP - help - With this option, "cp file symlink" will delete symlink - and create a regular file. This does not conform to POSIX, - but prevents a symlink attack. - Similarly, "cp file device" will not send file's data - to the device. (To do that, use "cat file >device") - -config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE - bool "Give more precise messages when copy fails (cp, mv etc)" - default BUSYBOX_DEFAULT_FEATURE_VERBOSE_CP_MESSAGE - help - Error messages with this feature enabled: - - $ cp file /does_not_exist/file - cp: cannot create '/does_not_exist/file': Path does not exist - $ cp file /vmlinuz/file - cp: cannot stat '/vmlinuz/file': Path has non-directory component - - If this feature is not enabled, they will be, respectively: - - cp: cannot create '/does_not_exist/file': No such file or directory - cp: cannot stat '/vmlinuz/file': Not a directory - - This will cost you ~60 bytes. - -config BUSYBOX_CONFIG_FEATURE_USE_SENDFILE - bool "Use sendfile system call" - default BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE - help - When enabled, busybox will use the kernel sendfile() function - instead of read/write loops to copy data between file descriptors - (for example, cp command does this a lot). - If sendfile() doesn't work, copying code falls back to read/write - loop. sendfile() was originally implemented for faster I/O - from files to sockets, but since Linux 2.6.33 it was extended - to work for many more file types. - -config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB - int "Copy buffer size, in kilobytes" - range 1 1024 - default BUSYBOX_DEFAULT_FEATURE_COPYBUF_KB - help - Size of buffer used by cp, mv, install, wget etc. - Buffers which are 4 kb or less will be allocated on stack. - Bigger buffers will be allocated with mmap, with fallback to 4 kb - stack buffer if mmap fails. - -config BUSYBOX_CONFIG_FEATURE_SKIP_ROOTFS - bool "Skip rootfs in mount table" - default BUSYBOX_DEFAULT_FEATURE_SKIP_ROOTFS - help - Ignore rootfs entry in mount table. - - In Linux, kernel has a special filesystem, rootfs, which is initially - mounted on /. It contains initramfs data, if kernel is configured - to have one. Usually, another file system is mounted over / early - in boot process, and therefore most tools which manipulate - mount table, such as df, will skip rootfs entry. - - However, some systems do not mount anything on /. - If you need to configure busybox for one of these systems, - you may find it useful to turn this option off to make df show - initramfs statistics. - - Otherwise, choose Y. - -config BUSYBOX_CONFIG_MONOTONIC_SYSCALL - bool "Use clock_gettime(CLOCK_MONOTONIC) syscall" - default BUSYBOX_DEFAULT_MONOTONIC_SYSCALL - help - Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring - time intervals (time, ping, traceroute etc need this). - Probably requires Linux 2.6+. If not selected, gettimeofday - will be used instead (which gives wrong results if date/time - is reset). - -config BUSYBOX_CONFIG_IOCTL_HEX2STR_ERROR - bool "Use ioctl names rather than hex values in error messages" - default BUSYBOX_DEFAULT_IOCTL_HEX2STR_ERROR - help - Use ioctl names rather than hex values in error messages - (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this - saves about 1400 bytes. - -config BUSYBOX_CONFIG_FEATURE_HWIB - bool "Support infiniband HW" - default BUSYBOX_DEFAULT_FEATURE_HWIB - help - Support for printing infiniband addresses in network applets. diff --git a/package/utils/busybox/config/mailutils/Config.in b/package/utils/busybox/config/mailutils/Config.in index a8632471a86e..ea7ae6d6495f 100644 --- a/package/utils/busybox/config/mailutils/Config.in +++ b/package/utils/busybox/config/mailutils/Config.in @@ -1,6 +1,13 @@ # DO NOT EDIT. This file is generated from Config.src menu "Mail Utilities" +config BUSYBOX_CONFIG_FEATURE_MIME_CHARSET + string "Default charset" + default BUSYBOX_DEFAULT_FEATURE_MIME_CHARSET + depends on BUSYBOX_CONFIG_MAKEMIME || BUSYBOX_CONFIG_REFORMIME || BUSYBOX_CONFIG_SENDMAIL + help + Default charset of the message. + config BUSYBOX_CONFIG_MAKEMIME bool "makemime (5.4 kb)" default BUSYBOX_DEFAULT_MAKEMIME @@ -41,11 +48,4 @@ config BUSYBOX_CONFIG_SENDMAIL help Barebones sendmail. -config BUSYBOX_CONFIG_FEATURE_MIME_CHARSET - string "Default charset" - default BUSYBOX_DEFAULT_FEATURE_MIME_CHARSET - depends on BUSYBOX_CONFIG_MAKEMIME || BUSYBOX_CONFIG_REFORMIME || BUSYBOX_CONFIG_SENDMAIL - help - Default charset of the message. - endmenu diff --git a/package/utils/busybox/config/networking/Config.in b/package/utils/busybox/config/networking/Config.in index 79bb6b1f5323..861e4f9bbfa9 100644 --- a/package/utils/busybox/config/networking/Config.in +++ b/package/utils/busybox/config/networking/Config.in @@ -47,6 +47,32 @@ config BUSYBOX_CONFIG_VERBOSE_RESOLUTION_ERRORS "can't resolve 'hostname.com'" and want to know more. This may increase size of your executable a bit. +config BUSYBOX_CONFIG_FEATURE_ETC_NETWORKS + bool "Support /etc/networks" + default BUSYBOX_DEFAULT_FEATURE_ETC_NETWORKS + help + Enable support for network names in /etc/networks. This is + a rarely used feature which allows you to use names + instead of IP/mask pairs in route command. + +config BUSYBOX_CONFIG_FEATURE_ETC_SERVICES + bool "Consult /etc/services even for well-known ports" + default BUSYBOX_DEFAULT_FEATURE_ETC_SERVICES + help + Look up e.g. "telnet" and "http" in /etc/services file + instead of assuming ports 23 and 80. + This is almost never necessary (everybody uses standard ports), + and it makes sense to avoid reading this file. + If you disable this option, in the cases where port is explicitly + specified as a service name (e.g. "telnet HOST PORTNAME"), + it will still be looked up in /etc/services. + +config BUSYBOX_CONFIG_FEATURE_HWIB + bool "Support infiniband HW" + default BUSYBOX_DEFAULT_FEATURE_HWIB + help + Support for printing infiniband addresses in network applets. + config BUSYBOX_CONFIG_FEATURE_TLS_SHA1 bool "In TLS code, support ciphers which use deprecated SHA1" depends on BUSYBOX_CONFIG_TLS @@ -173,6 +199,12 @@ config BUSYBOX_CONFIG_HTTPD help HTTP server. +config BUSYBOX_CONFIG_FEATURE_HTTPD_PORT_DEFAULT + int "Default port" + default BUSYBOX_DEFAULT_FEATURE_HTTPD_PORT_DEFAULT + range 1 65535 + depends on BUSYBOX_CONFIG_HTTPD + config BUSYBOX_CONFIG_FEATURE_HTTPD_RANGES bool "Support 'Ranges:' header" default BUSYBOX_DEFAULT_FEATURE_HTTPD_RANGES @@ -774,7 +806,6 @@ config BUSYBOX_CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS bool "Enable long options" default BUSYBOX_DEFAULT_FEATURE_NSLOOKUP_LONG_OPTIONS depends on BUSYBOX_CONFIG_FEATURE_NSLOOKUP_BIG && BUSYBOX_CONFIG_LONG_OPTS - config BUSYBOX_CONFIG_NTPD bool "ntpd (22 kb)" default BUSYBOX_DEFAULT_NTPD @@ -945,6 +976,12 @@ config BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE help Selecting this will make telnetd able to run standalone. +config BUSYBOX_CONFIG_FEATURE_TELNETD_PORT_DEFAULT + int "Default port" + default BUSYBOX_DEFAULT_FEATURE_TELNETD_PORT_DEFAULT + range 1 65535 + depends on BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE + config BUSYBOX_CONFIG_FEATURE_TELNETD_INETD_WAIT bool "Support -w SEC option (inetd wait mode)" default BUSYBOX_DEFAULT_FEATURE_TELNETD_INETD_WAIT diff --git a/package/utils/busybox/config/procps/Config.in b/package/utils/busybox/config/procps/Config.in index e6c327125407..0501daf8fd2d 100644 --- a/package/utils/busybox/config/procps/Config.in +++ b/package/utils/busybox/config/procps/Config.in @@ -6,6 +6,21 @@ menu "Process Utilities" +config BUSYBOX_CONFIG_FEATURE_FAST_TOP + bool "Faster /proc scanning code (+100 bytes)" + default BUSYBOX_DEFAULT_FEATURE_FAST_TOP # all "fast or small" options default to small + help + This option makes top and ps ~20% faster (or 20% less CPU hungry), + but code size is slightly bigger. + +config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS + bool "Support thread display in ps/pstree/top" + default BUSYBOX_DEFAULT_FEATURE_SHOW_THREADS + depends on BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_PSTREE + help + Enables the ps -T option, showing of threads in pstree, + and 'h' command in top. + config BUSYBOX_CONFIG_FREE bool "free (3.1 kb)" default BUSYBOX_DEFAULT_FREE @@ -259,12 +274,4 @@ config BUSYBOX_CONFIG_WATCH watch is used to execute a program periodically, showing output to the screen. -config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS - bool "Support thread display in ps/pstree/top" - default BUSYBOX_DEFAULT_FEATURE_SHOW_THREADS - depends on BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_PSTREE - help - Enables the ps -T option, showing of threads in pstree, - and 'h' command in top. - endmenu 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 f7cd2322c909..f4c0a8092257 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 -@@ -652,7 +652,7 @@ static int do_add_or_delete(char **argv, +@@ -683,7 +683,7 @@ static int do_add_or_delete(char **argv, } xrtnl_open(&rth); ll_init_map(&rth); -- 2.30.2