aboutsummaryrefslogtreecommitdiffstats
path: root/package/utils
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2015-04-04 17:52:02 +0000
committerFelix Fietkau <nbd@openwrt.org>2015-04-04 17:52:02 +0000
commitc31df6e995c36e2b14b74f727b8392e6c1c10afc (patch)
tree68b32e1188f7c55bf05be6f510aabeb4032f5893 /package/utils
parent94850b0068be2dcfffe201bfbd5832dbea418d2c (diff)
downloadupstream-c31df6e995c36e2b14b74f727b8392e6c1c10afc.tar.gz
upstream-c31df6e995c36e2b14b74f727b8392e6c1c10afc.tar.bz2
upstream-c31df6e995c36e2b14b74f727b8392e6c1c10afc.zip
busybox: update to version 1.23.2
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45272
Diffstat (limited to 'package/utils')
-rw-r--r--package/utils/busybox/Config-defaults.in96
-rw-r--r--package/utils/busybox/Makefile6
-rw-r--r--package/utils/busybox/config/Config.in33
-rw-r--r--package/utils/busybox/config/coreutils/Config.in23
-rw-r--r--package/utils/busybox/config/editors/Config.in30
-rw-r--r--package/utils/busybox/config/findutils/Config.in17
-rw-r--r--package/utils/busybox/config/loginutils/Config.in18
-rw-r--r--package/utils/busybox/config/miscutils/Config.in98
-rw-r--r--package/utils/busybox/config/networking/Config.in24
-rw-r--r--package/utils/busybox/config/networking/udhcp/Config.in11
-rw-r--r--package/utils/busybox/config/shell/Config.in7
-rw-r--r--package/utils/busybox/config/util-linux/Config.in15
-rwxr-xr-xpackage/utils/busybox/convert_menuconfig.pl8
-rw-r--r--package/utils/busybox/patches/001-resource_h_include.patch4
-rw-r--r--package/utils/busybox/patches/002-upstream_ash_fix.patch11
-rw-r--r--package/utils/busybox/patches/003-upstream_date_fix.patch30
-rw-r--r--package/utils/busybox/patches/004-upstream_iplink_fix.patch19
-rw-r--r--package/utils/busybox/patches/005-upstream_nc_fix.patch15
-rw-r--r--package/utils/busybox/patches/006-upstream_lzop_fix.patch59
-rw-r--r--package/utils/busybox/patches/007-upstream_zcat_no_ext_fix.patch59
-rw-r--r--package/utils/busybox/patches/102-freebsd-compat.patch26
-rw-r--r--package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch4
-rw-r--r--package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch2
-rw-r--r--package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch2
-rw-r--r--package/utils/busybox/patches/204-udhcpc_src_ip_rebind.patch16
-rw-r--r--package/utils/busybox/patches/210-add_netmsg_util.patch4
-rw-r--r--package/utils/busybox/patches/220-add_lock_util.patch6
-rw-r--r--package/utils/busybox/patches/230-ntpd_delayed_resolve.patch6
28 files changed, 307 insertions, 342 deletions
diff --git a/package/utils/busybox/Config-defaults.in b/package/utils/busybox/Config-defaults.in
index 5797243a04..380ede7300 100644
--- a/package/utils/busybox/Config-defaults.in
+++ b/package/utils/busybox/Config-defaults.in
@@ -73,6 +73,12 @@ config BUSYBOX_DEFAULT_UNICODE_NEUTRAL_TABLE
config BUSYBOX_DEFAULT_UNICODE_PRESERVE_BROKEN
bool
default n
+config BUSYBOX_DEFAULT_PAM
+ bool
+ default n
+config BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE
+ bool
+ default n
config BUSYBOX_DEFAULT_LONG_OPTS
bool
default y
@@ -160,6 +166,9 @@ config BUSYBOX_DEFAULT_DEBUG
config BUSYBOX_DEFAULT_DEBUG_PESSIMIZE
bool
default n
+config BUSYBOX_DEFAULT_UNIT_TEST
+ bool
+ default n
config BUSYBOX_DEFAULT_WERROR
bool
default n
@@ -430,6 +439,9 @@ config BUSYBOX_DEFAULT_ID
config BUSYBOX_DEFAULT_GROUPS
bool
default n
+config BUSYBOX_DEFAULT_SHUF
+ bool
+ default n
config BUSYBOX_DEFAULT_TEST
bool
default y
@@ -454,6 +466,9 @@ config BUSYBOX_DEFAULT_FEATURE_TR_CLASSES
config BUSYBOX_DEFAULT_FEATURE_TR_EQUIV
bool
default n
+config BUSYBOX_DEFAULT_UNLINK
+ bool
+ default n
config BUSYBOX_DEFAULT_BASE64
bool
default n
@@ -772,6 +787,9 @@ 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
@@ -949,6 +967,15 @@ config BUSYBOX_DEFAULT_FEATURE_VI_WIN_RESIZE
config BUSYBOX_DEFAULT_FEATURE_VI_ASK_TERMINAL
bool
default y
+config BUSYBOX_DEFAULT_FEATURE_VI_UNDO
+ bool
+ default n
+config BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE
+ bool
+ default n
+config BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE_MAX
+ int
+ default 0
config BUSYBOX_DEFAULT_FEATURE_ALLOW_EXEC
bool
default y
@@ -985,6 +1012,9 @@ config BUSYBOX_DEFAULT_FEATURE_FIND_INUM
config BUSYBOX_DEFAULT_FEATURE_FIND_EXEC
bool
default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_EXEC_PLUS
+ bool
+ default n
config BUSYBOX_DEFAULT_FEATURE_FIND_USER
bool
default y
@@ -1048,6 +1078,9 @@ config BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_TERMOPT
config BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_ZERO_TERM
bool
default y
+config BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_REPL_STR
+ bool
+ default n
config BUSYBOX_DEFAULT_BOOTCHARTD
bool
default n
@@ -1132,6 +1165,9 @@ config BUSYBOX_DEFAULT_FEATURE_ADDUSER_LONG_OPTIONS
config BUSYBOX_DEFAULT_FEATURE_CHECK_NAMES
bool
default n
+config BUSYBOX_DEFAULT_LAST_ID
+ int
+ default 0
config BUSYBOX_DEFAULT_FIRST_SYSTEM_ID
int
default 0
@@ -1165,9 +1201,6 @@ config BUSYBOX_DEFAULT_LOGIN
config BUSYBOX_DEFAULT_LOGIN_SESSION_AS_CHILD
bool
default n
-config BUSYBOX_DEFAULT_PAM
- bool
- default n
config BUSYBOX_DEFAULT_LOGIN_SCRIPTS
bool
default n
@@ -1291,6 +1324,9 @@ config BUSYBOX_DEFAULT_DEFAULT_DEPMOD_FILE
config BUSYBOX_DEFAULT_BLOCKDEV
bool
default n
+config BUSYBOX_DEFAULT_FATATTR
+ bool
+ default n
config BUSYBOX_DEFAULT_FSTRIM
bool
default n
@@ -1504,6 +1540,9 @@ config BUSYBOX_DEFAULT_SETARCH
config BUSYBOX_DEFAULT_SWAPONOFF
bool
default n
+config BUSYBOX_DEFAULT_FEATURE_SWAPON_DISCARD
+ bool
+ default n
config BUSYBOX_DEFAULT_FEATURE_SWAPON_PRI
bool
default n
@@ -1594,6 +1633,18 @@ config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_XFS
config BUSYBOX_DEFAULT_CONSPY
bool
default n
+config BUSYBOX_DEFAULT_CROND
+ bool
+ default y
+config BUSYBOX_DEFAULT_FEATURE_CROND_D
+ bool
+ default n
+config BUSYBOX_DEFAULT_FEATURE_CROND_CALL_SENDMAIL
+ bool
+ default n
+config BUSYBOX_DEFAULT_FEATURE_CROND_DIR
+ string
+ default "/etc"
config BUSYBOX_DEFAULT_LESS
bool
default y
@@ -1636,6 +1687,12 @@ config BUSYBOX_DEFAULT_RFKILL
config BUSYBOX_DEFAULT_SETSERIAL
bool
default n
+config BUSYBOX_DEFAULT_TASKSET
+ bool
+ default n
+config BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY
+ bool
+ default n
config BUSYBOX_DEFAULT_UBIATTACH
bool
default n
@@ -1702,18 +1759,6 @@ config BUSYBOX_DEFAULT_FEATURE_CHAT_CLR_ABORT
config BUSYBOX_DEFAULT_CHRT
bool
default n
-config BUSYBOX_DEFAULT_CROND
- bool
- default y
-config BUSYBOX_DEFAULT_FEATURE_CROND_D
- bool
- default n
-config BUSYBOX_DEFAULT_FEATURE_CROND_CALL_SENDMAIL
- bool
- default n
-config BUSYBOX_DEFAULT_FEATURE_CROND_DIR
- string
- default "/etc"
config BUSYBOX_DEFAULT_CRONTAB
bool
default y
@@ -1840,12 +1885,6 @@ config BUSYBOX_DEFAULT_SETSID
config BUSYBOX_DEFAULT_STRINGS
bool
default y
-config BUSYBOX_DEFAULT_TASKSET
- bool
- default n
-config BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY
- bool
- default n
config BUSYBOX_DEFAULT_TIME
bool
default y
@@ -1939,6 +1978,9 @@ config BUSYBOX_DEFAULT_FEATURE_FTP_WRITE
config BUSYBOX_DEFAULT_FEATURE_FTPD_ACCEPT_BROKEN_LIST
bool
default n
+config BUSYBOX_DEFAULT_FEATURE_FTP_AUTHENTICATION
+ bool
+ default n
config BUSYBOX_DEFAULT_FTPGET
bool
default n
@@ -1957,9 +1999,6 @@ config BUSYBOX_DEFAULT_HTTPD
config BUSYBOX_DEFAULT_FEATURE_HTTPD_RANGES
bool
default n
-config BUSYBOX_DEFAULT_FEATURE_HTTPD_USE_SENDFILE
- bool
- default n
config BUSYBOX_DEFAULT_FEATURE_HTTPD_SETUID
bool
default n
@@ -2131,6 +2170,9 @@ config BUSYBOX_DEFAULT_NTPD
config BUSYBOX_DEFAULT_FEATURE_NTPD_SERVER
bool
default y
+config BUSYBOX_DEFAULT_FEATURE_NTPD_CONF
+ bool
+ default n
config BUSYBOX_DEFAULT_PSCAN
bool
default n
@@ -2230,6 +2272,9 @@ config BUSYBOX_DEFAULT_UDHCPC
config BUSYBOX_DEFAULT_FEATURE_UDHCPC_ARPING
bool
default n
+config BUSYBOX_DEFAULT_FEATURE_UDHCPC_SANITIZEOPT
+ bool
+ default n
config BUSYBOX_DEFAULT_FEATURE_UDHCP_PORT
bool
default n
@@ -2524,6 +2569,9 @@ config BUSYBOX_DEFAULT_ASH_BUILTIN_PRINTF
config BUSYBOX_DEFAULT_ASH_BUILTIN_TEST
bool
default y
+config BUSYBOX_DEFAULT_ASH_HELP
+ bool
+ default n
config BUSYBOX_DEFAULT_ASH_CMDCMD
bool
default y
diff --git a/package/utils/busybox/Makefile b/package/utils/busybox/Makefile
index 7c9bca530e..9571d48bec 100644
--- a/package/utils/busybox/Makefile
+++ b/package/utils/busybox/Makefile
@@ -8,14 +8,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=busybox
-PKG_VERSION:=1.22.1
-PKG_RELEASE:=6
+PKG_VERSION:=1.23.2
+PKG_RELEASE:=1
PKG_FLAGS:=essential
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://www.busybox.net/downloads \
http://distfiles.gentoo.org/distfiles/
-PKG_MD5SUM:=337d1a15ab1cb1d4ed423168b1eb7d7e
+PKG_MD5SUM:=7925683d7dd105aabe9b6b618d48cc73
PKG_BUILD_DEPENDS:=BUSYBOX_USE_LIBRPC:librpc 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 71ba45b9b6..6a205f6c0c 100644
--- a/package/utils/busybox/config/Config.in
+++ b/package/utils/busybox/config/Config.in
@@ -256,6 +256,26 @@ config BUSYBOX_CONFIG_UNICODE_PRESERVE_BROKEN
at shell prompt will list file named 0xff (single char name
with char value 255), not file named '?'.
+config BUSYBOX_CONFIG_PAM
+ bool "Support for PAM (Pluggable Authentication Modules)"
+ default BUSYBOX_DEFAULT_PAM
+ help
+ Use PAM in some busybox applets (currently login and httpd) instead
+ of direct access to password database.
+
+config BUSYBOX_CONFIG_FEATURE_USE_SENDFILE
+ bool "Use sendfile system call"
+ default BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE
+ select BUSYBOX_CONFIG_PLATFORM_LINUX
+ 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_LONG_OPTS
bool "Support for --long-options"
default BUSYBOX_DEFAULT_LONG_OPTS
@@ -415,10 +435,7 @@ config BUSYBOX_CONFIG_SELINUX
the option of compiling in SELinux applets.
If you do not have a complete SELinux userland installed, this stuff
- will not compile. Go visit
- http://www.nsa.gov/selinux/index.html
- to download the necessary stuff to allow busybox to compile with
- this option enabled. Specifially, libselinux 1.28 or better is
+ will not compile. Specifially, libselinux 1.28 or better is
directly required by busybox. If the installation is located in a
non-standard directory, provide it by invoking make as follows:
CFLAGS=-I<libselinux-include-path> \
@@ -670,6 +687,14 @@ config BUSYBOX_CONFIG_DEBUG_PESSIMIZE
in a much bigger executable that more closely matches the source
code.
+config BUSYBOX_CONFIG_UNIT_TEST
+ bool "Build unit tests"
+ default BUSYBOX_DEFAULT_UNIT_TEST
+ help
+ Say Y here if you want to build unit tests (both the framework and
+ test cases) as a Busybox applet. This results in bigger code, so you
+ probably don't want this option in production builds.
+
config BUSYBOX_CONFIG_WERROR
bool "Abort compilation on any warning"
default BUSYBOX_DEFAULT_WERROR
diff --git a/package/utils/busybox/config/coreutils/Config.in b/package/utils/busybox/config/coreutils/Config.in
index c00eca9534..f50823f012 100644
--- a/package/utils/busybox/config/coreutils/Config.in
+++ b/package/utils/busybox/config/coreutils/Config.in
@@ -74,6 +74,11 @@ config BUSYBOX_CONFIG_GROUPS
default BUSYBOX_DEFAULT_GROUPS
help
Print the group names associated with current user id.
+config BUSYBOX_CONFIG_SHUF
+ bool "shuf"
+ default BUSYBOX_DEFAULT_SHUF
+ help
+ Generate random permutations
config BUSYBOX_CONFIG_TEST
bool "test"
default BUSYBOX_DEFAULT_TEST
@@ -134,6 +139,11 @@ config BUSYBOX_CONFIG_FEATURE_TR_EQUIV
replace all instances of 'a' with 'xyz'. This option is mainly
useful for cases when no other way of expressing a character
is possible.
+config BUSYBOX_CONFIG_UNLINK
+ bool "unlink"
+ default BUSYBOX_DEFAULT_UNLINK
+ help
+ unlink deletes a file by calling unlink()
config BUSYBOX_CONFIG_BASE64
bool "base64"
default BUSYBOX_DEFAULT_BASE64
@@ -778,12 +788,13 @@ config BUSYBOX_CONFIG_FEATURE_FANCY_TAIL
default BUSYBOX_DEFAULT_FEATURE_FANCY_TAIL
depends on BUSYBOX_CONFIG_TAIL
help
- The options (-q, -s, and -v) are provided by GNU tail, but
+ The options (-q, -s, -v and -F) are provided by GNU tail, but
are not specific in the SUSv3 standard.
-q Never output headers giving file names
-s SEC Wait SEC seconds between reads with -f
-v Always output headers giving file names
+ -F Same as -f, but keep retrying
config BUSYBOX_CONFIG_TEE
bool "tee"
@@ -883,6 +894,16 @@ 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
diff --git a/package/utils/busybox/config/editors/Config.in b/package/utils/busybox/config/editors/Config.in
index 90f9f0086e..6ae361f7ff 100644
--- a/package/utils/busybox/config/editors/Config.in
+++ b/package/utils/busybox/config/editors/Config.in
@@ -192,6 +192,36 @@ config BUSYBOX_CONFIG_FEATURE_VI_ASK_TERMINAL
cursor position using "ESC [ 6 n" escape sequence, then read stdin.
This is not clean but helps a lot on serial lines and such.
+config BUSYBOX_CONFIG_FEATURE_VI_UNDO
+ bool "Support undo command 'u'"
+ default BUSYBOX_DEFAULT_FEATURE_VI_UNDO
+ depends on BUSYBOX_CONFIG_VI
+ help
+ Support the 'u' command to undo insertion, deletion, and replacement
+ of text.
+config BUSYBOX_CONFIG_FEATURE_VI_UNDO_QUEUE
+ bool "Enable undo operation queuing"
+ default BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE
+ depends on BUSYBOX_CONFIG_FEATURE_VI_UNDO
+ help
+ The vi undo functions can use an intermediate queue to greatly lower
+ malloc() calls and overhead. When the maximum size of this queue is
+ reached, the contents of the queue are committed to the undo stack.
+ This increases the size of the undo code and allows some undo
+ operations (especially un-typing/backspacing) to be far more useful.
+config BUSYBOX_CONFIG_FEATURE_VI_UNDO_QUEUE_MAX
+ int "Maximum undo character queue size"
+ default BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE_MAX
+ range 32 65536
+ depends on BUSYBOX_CONFIG_FEATURE_VI_UNDO_QUEUE
+ help
+ This option sets the number of bytes used at runtime for the queue.
+ Smaller values will create more undo objects and reduce the amount
+ of typed or backspaced characters that are grouped into one undo
+ operation; larger values increase the potential size of each undo
+ and will generally malloc() larger objects and less frequently.
+ Unless you want more (or less) frequent "undo points" while typing,
+ you should probably leave this unchanged.
config BUSYBOX_CONFIG_FEATURE_ALLOW_EXEC
bool "Allow vi and awk to execute shell commands"
diff --git a/package/utils/busybox/config/findutils/Config.in b/package/utils/busybox/config/findutils/Config.in
index 55929d2846..85ee1db2c3 100644
--- a/package/utils/busybox/config/findutils/Config.in
+++ b/package/utils/busybox/config/findutils/Config.in
@@ -90,6 +90,16 @@ config BUSYBOX_CONFIG_FEATURE_FIND_EXEC
Support the 'find -exec' option for executing commands based upon
the files matched.
+config BUSYBOX_CONFIG_FEATURE_FIND_EXEC_PLUS
+ bool "Enable -exec ... {} +"
+ default BUSYBOX_DEFAULT_FEATURE_FIND_EXEC_PLUS
+ depends on BUSYBOX_CONFIG_FEATURE_FIND_EXEC
+ help
+ Support the 'find -exec ... {} +' option for executing commands
+ for all matched files at once.
+ Without this option, -exec + is a synonym for -exec ;
+ (IOW: it works correctly, but without expected speedup)
+
config BUSYBOX_CONFIG_FEATURE_FIND_USER
bool "Enable -user: username/uid matching"
default BUSYBOX_DEFAULT_FEATURE_FIND_USER
@@ -249,4 +259,11 @@ config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM
instead of whitespace, and the quotes and backslash
are not special.
+config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR
+ bool "Enable -I STR: string to replace"
+ default BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_REPL_STR
+ depends on BUSYBOX_CONFIG_XARGS
+ help
+ Support -I STR and -i[STR] options.
+
endmenu
diff --git a/package/utils/busybox/config/loginutils/Config.in b/package/utils/busybox/config/loginutils/Config.in
index 7fbe6a0aec..f5ecf6f23b 100644
--- a/package/utils/busybox/config/loginutils/Config.in
+++ b/package/utils/busybox/config/loginutils/Config.in
@@ -129,10 +129,17 @@ config BUSYBOX_CONFIG_FEATURE_CHECK_NAMES
For compatibility with Samba machine accounts "$" is also supported
at the end of the user or group name.
+config BUSYBOX_CONFIG_LAST_ID
+ int "Last valid uid or gid for adduser and addgroup"
+ depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
+ default BUSYBOX_DEFAULT_LAST_ID
+ help
+ Last valid uid or gid for adduser and addgroup
+
config BUSYBOX_CONFIG_FIRST_SYSTEM_ID
int "First valid system uid or gid for adduser and addgroup"
depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
- range 0 64900
+ range 0 BUSYBOX_CONFIG_LAST_ID
default BUSYBOX_DEFAULT_FIRST_SYSTEM_ID
help
First valid system uid or gid for adduser and addgroup
@@ -140,7 +147,7 @@ config BUSYBOX_CONFIG_FIRST_SYSTEM_ID
config BUSYBOX_CONFIG_LAST_SYSTEM_ID
int "Last valid system uid or gid for adduser and addgroup"
depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
- range 0 64900
+ range BUSYBOX_CONFIG_FIRST_SYSTEM_ID BUSYBOX_CONFIG_LAST_ID
default BUSYBOX_DEFAULT_LAST_SYSTEM_ID
help
Last valid system uid or gid for adduser and addgroup
@@ -227,13 +234,6 @@ config BUSYBOX_CONFIG_LOGIN_SESSION_AS_CHILD
almost always would want this to be set to Y, else PAM session
will not be cleaned up.
-config BUSYBOX_CONFIG_PAM
- bool "Support for PAM (Pluggable Authentication Modules)"
- default BUSYBOX_DEFAULT_PAM
- depends on BUSYBOX_CONFIG_LOGIN
- help
- Use PAM in login(1) instead of direct access to password database.
-
config BUSYBOX_CONFIG_LOGIN_SCRIPTS
bool "Support for login scripts"
depends on BUSYBOX_CONFIG_LOGIN
diff --git a/package/utils/busybox/config/miscutils/Config.in b/package/utils/busybox/config/miscutils/Config.in
index 0e0e459a23..7819e30583 100644
--- a/package/utils/busybox/config/miscutils/Config.in
+++ b/package/utils/busybox/config/miscutils/Config.in
@@ -15,6 +15,39 @@ config BUSYBOX_CONFIG_CONSPY
example: conspy NUM shared access to console num
or conspy -nd NUM screenshot of console num
or conspy -cs NUM poor man's GNU screen like
+config BUSYBOX_CONFIG_CROND
+ bool "crond"
+ default BUSYBOX_DEFAULT_CROND
+ select BUSYBOX_CONFIG_FEATURE_SYSLOG
+ help
+ Crond is a background daemon that parses individual crontab
+ files and executes commands on behalf of the users in question.
+ This is a port of dcron from slackware. It uses files of the
+ format /var/spool/cron/crontabs/<username> files, for example:
+ $ cat /var/spool/cron/crontabs/root
+ # Run daily cron jobs at 4:40 every day:
+ 40 4 * * * /etc/cron/daily > /dev/null 2>&1
+
+config BUSYBOX_CONFIG_FEATURE_CROND_D
+ bool "Support option -d to redirect output to stderr"
+ depends on BUSYBOX_CONFIG_CROND
+ default BUSYBOX_DEFAULT_FEATURE_CROND_D
+ help
+ -d N sets loglevel (0:most verbose) and directs all output to stderr.
+
+config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
+ bool "Report command output via email (using sendmail)"
+ default BUSYBOX_DEFAULT_FEATURE_CROND_CALL_SENDMAIL
+ depends on BUSYBOX_CONFIG_CROND
+ help
+ Command output will be sent to corresponding user via email.
+
+config BUSYBOX_CONFIG_FEATURE_CROND_DIR
+ string "crond spool directory"
+ default BUSYBOX_DEFAULT_FEATURE_CROND_DIR
+ depends on BUSYBOX_CONFIG_CROND || BUSYBOX_CONFIG_CRONTAB
+ help
+ Location of crond spool.
config BUSYBOX_CONFIG_LESS
bool "less"
default BUSYBOX_DEFAULT_LESS
@@ -121,6 +154,21 @@ config BUSYBOX_CONFIG_SETSERIAL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Retrieve or set Linux serial port.
+config BUSYBOX_CONFIG_TASKSET
+ bool "taskset"
+ default BUSYBOX_DEFAULT_TASKSET # doesn't build on some non-x86 targets (m68k)
+ help
+ Retrieve or set a processes's CPU affinity.
+ This requires sched_{g,s}etaffinity support in your libc.
+
+config BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY
+ bool "Fancy output"
+ default BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY
+ depends on BUSYBOX_CONFIG_TASKSET
+ help
+ Add code for fancy output. This merely silences a compiler-warning
+ and adds about 135 Bytes. May be needed for machines with alot
+ of CPUs.
config BUSYBOX_CONFIG_UBIATTACH
bool "ubiattach"
default BUSYBOX_DEFAULT_UBIATTACH
@@ -295,40 +343,6 @@ config BUSYBOX_CONFIG_CHRT
manipulate real-time attributes of a process.
This requires sched_{g,s}etparam support in your libc.
-config BUSYBOX_CONFIG_CROND
- bool "crond"
- default BUSYBOX_DEFAULT_CROND
- select BUSYBOX_CONFIG_FEATURE_SYSLOG
- help
- Crond is a background daemon that parses individual crontab
- files and executes commands on behalf of the users in question.
- This is a port of dcron from slackware. It uses files of the
- format /var/spool/cron/crontabs/<username> files, for example:
- $ cat /var/spool/cron/crontabs/root
- # Run daily cron jobs at 4:40 every day:
- 40 4 * * * /etc/cron/daily > /dev/null 2>&1
-
-config BUSYBOX_CONFIG_FEATURE_CROND_D
- bool "Support option -d to redirect output to stderr"
- depends on BUSYBOX_CONFIG_CROND
- default BUSYBOX_DEFAULT_FEATURE_CROND_D
- help
- -d sets loglevel to 0 (most verbose) and directs all output to stderr.
-
-config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
- bool "Report command output via email (using sendmail)"
- default BUSYBOX_DEFAULT_FEATURE_CROND_CALL_SENDMAIL
- depends on BUSYBOX_CONFIG_CROND
- help
- Command output will be sent to corresponding user via email.
-
-config BUSYBOX_CONFIG_FEATURE_CROND_DIR
- string "crond spool directory"
- default BUSYBOX_DEFAULT_FEATURE_CROND_DIR
- depends on BUSYBOX_CONFIG_CROND || BUSYBOX_CONFIG_CRONTAB
- help
- Location of crond spool.
-
config BUSYBOX_CONFIG_CRONTAB
bool "crontab"
default BUSYBOX_DEFAULT_CRONTAB
@@ -701,22 +715,6 @@ config BUSYBOX_CONFIG_STRINGS
strings prints the printable character sequences for each file
specified.
-config BUSYBOX_CONFIG_TASKSET
- bool "taskset"
- default BUSYBOX_DEFAULT_TASKSET # doesn't build on some non-x86 targets (m68k)
- help
- Retrieve or set a processes's CPU affinity.
- This requires sched_{g,s}etaffinity support in your libc.
-
-config BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY
- bool "Fancy output"
- default BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY
- depends on BUSYBOX_CONFIG_TASKSET
- help
- Add code for fancy output. This merely silences a compiler-warning
- and adds about 135 Bytes. May be needed for machines with alot
- of CPUs.
-
config BUSYBOX_CONFIG_TIME
bool "time"
default BUSYBOX_DEFAULT_TIME
diff --git a/package/utils/busybox/config/networking/Config.in b/package/utils/busybox/config/networking/Config.in
index 52e38a3f00..b3dd8c8b89 100644
--- a/package/utils/busybox/config/networking/Config.in
+++ b/package/utils/busybox/config/networking/Config.in
@@ -67,7 +67,6 @@ config BUSYBOX_CONFIG_NC_110_COMPAT
bool "Netcat 1.10 compatibility (+2.5k)"
default BUSYBOX_DEFAULT_NC_110_COMPAT # off specially for Rob
depends on BUSYBOX_CONFIG_NC
- select BUSYBOX_CONFIG_NC_SERVER
help
This option makes nc closely follow original nc-1.10.
The code is about 2.5k bigger. It enables
@@ -228,6 +227,13 @@ config BUSYBOX_CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST
it increases the code size by ~40 bytes.
Most other ftp servers seem to behave similar to this.
+config BUSYBOX_CONFIG_FEATURE_FTP_AUTHENTICATION
+ bool "Enable authentication"
+ default BUSYBOX_DEFAULT_FEATURE_FTP_AUTHENTICATION
+ depends on BUSYBOX_CONFIG_FTPD
+ help
+ Enable basic system login as seen in telnet etc.
+
config BUSYBOX_CONFIG_FTPGET
bool "ftpget"
default BUSYBOX_DEFAULT_FTPGET
@@ -268,14 +274,6 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_RANGES
"Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted
downloads, seeking in multimedia players etc.
-config BUSYBOX_CONFIG_FEATURE_HTTPD_USE_SENDFILE
- bool "Use sendfile system call"
- default BUSYBOX_DEFAULT_FEATURE_HTTPD_USE_SENDFILE
- depends on BUSYBOX_CONFIG_HTTPD
- help
- When enabled, httpd will use the kernel sendfile() function
- instead of read/write loop.
-
config BUSYBOX_CONFIG_FEATURE_HTTPD_SETUID
bool "Enable -u <user> option"
default BUSYBOX_DEFAULT_FEATURE_HTTPD_SETUID
@@ -764,6 +762,14 @@ config BUSYBOX_CONFIG_FEATURE_NTPD_SERVER
Make ntpd usable as a NTP server. If you disable this option
ntpd will be usable only as a NTP client.
+config BUSYBOX_CONFIG_FEATURE_NTPD_CONF
+ bool "Make ntpd understand /etc/ntp.conf"
+ default BUSYBOX_DEFAULT_FEATURE_NTPD_CONF
+ depends on BUSYBOX_CONFIG_NTPD
+ help
+ Make ntpd look in /etc/ntp.conf for peers. Only "server address"
+ is supported.
+
config BUSYBOX_CONFIG_PSCAN
bool "pscan"
default BUSYBOX_DEFAULT_PSCAN
diff --git a/package/utils/busybox/config/networking/udhcp/Config.in b/package/utils/busybox/config/networking/udhcp/Config.in
index 576a01a25f..4f48400225 100644
--- a/package/utils/busybox/config/networking/udhcp/Config.in
+++ b/package/utils/busybox/config/networking/udhcp/Config.in
@@ -90,6 +90,17 @@ config BUSYBOX_CONFIG_FEATURE_UDHCPC_ARPING
will DHCPDECLINE the offer if the address is in use,
and restart the discover process.
+config BUSYBOX_CONFIG_FEATURE_UDHCPC_SANITIZEOPT
+ bool "Do not pass malformed host and domain names"
+ default BUSYBOX_DEFAULT_FEATURE_UDHCPC_SANITIZEOPT
+ depends on BUSYBOX_CONFIG_UDHCPC
+ help
+ If selected, udhcpc will check some options (such as option 12 -
+ hostname) and if they don't look like valid hostnames
+ (for example, if they start with dash or contain spaces),
+ they will be replaced with string "bad" when exporting
+ to the environment.
+
config BUSYBOX_CONFIG_FEATURE_UDHCP_PORT
bool "Enable '-P port' option for udhcpd and udhcpc"
default BUSYBOX_DEFAULT_FEATURE_UDHCP_PORT
diff --git a/package/utils/busybox/config/shell/Config.in b/package/utils/busybox/config/shell/Config.in
index c375f0c26e..69ecf145e1 100644
--- a/package/utils/busybox/config/shell/Config.in
+++ b/package/utils/busybox/config/shell/Config.in
@@ -73,6 +73,13 @@ config BUSYBOX_CONFIG_ASH_BUILTIN_TEST
help
Enable support for test builtin in ash.
+config BUSYBOX_CONFIG_ASH_HELP
+ bool "help builtin"
+ default BUSYBOX_DEFAULT_ASH_HELP
+ depends on BUSYBOX_CONFIG_ASH
+ help
+ Enable help builtin in ash.
+
config BUSYBOX_CONFIG_ASH_CMDCMD
bool "'command' command to override shell builtins"
default BUSYBOX_DEFAULT_ASH_CMDCMD
diff --git a/package/utils/busybox/config/util-linux/Config.in b/package/utils/busybox/config/util-linux/Config.in
index f78234de82..8d1464dc0c 100644
--- a/package/utils/busybox/config/util-linux/Config.in
+++ b/package/utils/busybox/config/util-linux/Config.in
@@ -11,6 +11,12 @@ config BUSYBOX_CONFIG_BLOCKDEV
default BUSYBOX_DEFAULT_BLOCKDEV
help
Performs some ioctls with block devices.
+config BUSYBOX_CONFIG_FATATTR
+ bool "fatattr"
+ default BUSYBOX_DEFAULT_FATATTR
+ select BUSYBOX_CONFIG_PLATFORM_LINUX
+ help
+ fatattr lists or changes the file attributes on a fat file system.
config BUSYBOX_CONFIG_FSTRIM
bool "fstrim"
default BUSYBOX_DEFAULT_FSTRIM
@@ -672,6 +678,15 @@ config BUSYBOX_CONFIG_SWAPONOFF
space. If you are not using any swap space, you can leave this
option disabled.
+config BUSYBOX_CONFIG_FEATURE_SWAPON_DISCARD
+ bool "Support discard option -d"
+ default BUSYBOX_DEFAULT_FEATURE_SWAPON_DISCARD
+ depends on BUSYBOX_CONFIG_SWAPONOFF
+ help
+ Enable support for discarding swap area blocks at swapon and/or as
+ the kernel frees them. This option enables both the -d option on
+ 'swapon' and the 'discard' option for swap entries in /etc/fstab.
+
config BUSYBOX_CONFIG_FEATURE_SWAPON_PRI
bool "Support priority option -p"
default BUSYBOX_DEFAULT_FEATURE_SWAPON_PRI
diff --git a/package/utils/busybox/convert_menuconfig.pl b/package/utils/busybox/convert_menuconfig.pl
index cc4802a61c..fd99349b65 100755
--- a/package/utils/busybox/convert_menuconfig.pl
+++ b/package/utils/busybox/convert_menuconfig.pl
@@ -41,6 +41,14 @@ while (<FIND>) {
undef $default_set;
}
$line =~ s/^(\s*source\s+)/$1package\/utils\/busybox\/config\//;
+ if ($line =~ /^(\s*range\s*)(\w+)(\s+)(\w+)\s*$/) {
+ my $prefix = $1;
+ my $r1 = $2;
+ my $r2 = $4;
+ $r1 =~ s/^([a-zA-Z]+)/BUSYBOX_CONFIG_$1/;
+ $r2 =~ s/^([a-zA-Z]+)/BUSYBOX_CONFIG_$1/;
+ $line = "$prefix$r1 $r2\n";
+ }
$line =~ s/^(\s*(prompt "[^"]+" if|config|depends|depends on|select|default|default \w if)\s+\!?)([A-Z_])/$1BUSYBOX_CONFIG_$3/g;
$line =~ s/(( \|\| | \&\& | \( )!?)([A-Z_])/$1BUSYBOX_CONFIG_$3/g;
diff --git a/package/utils/busybox/patches/001-resource_h_include.patch b/package/utils/busybox/patches/001-resource_h_include.patch
index d66d66d67e..5e2f1721c4 100644
--- a/package/utils/busybox/patches/001-resource_h_include.patch
+++ b/package/utils/busybox/patches/001-resource_h_include.patch
@@ -1,7 +1,7 @@
--- a/include/libbb.h
+++ b/include/libbb.h
-@@ -35,6 +35,7 @@
- #include <sys/poll.h>
+@@ -40,6 +40,7 @@
+ #include <poll.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
+#include <sys/resource.h>
diff --git a/package/utils/busybox/patches/002-upstream_ash_fix.patch b/package/utils/busybox/patches/002-upstream_ash_fix.patch
deleted file mode 100644
index 46fd7f88fe..0000000000
--- a/package/utils/busybox/patches/002-upstream_ash_fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/shell/ash.c
-+++ b/shell/ash.c
-@@ -13014,7 +13014,7 @@ init(void)
- setvar2("PPID", utoa(getppid()));
- #if ENABLE_ASH_BASH_COMPAT
- p = lookupvar("SHLVL");
-- setvar2("SHLVL", utoa(p ? atoi(p) + 1 : 1));
-+ setvar("SHLVL", utoa((p ? atoi(p) : 0) + 1), VEXPORT);
- #endif
- p = lookupvar("PWD");
- if (p) {
diff --git a/package/utils/busybox/patches/003-upstream_date_fix.patch b/package/utils/busybox/patches/003-upstream_date_fix.patch
deleted file mode 100644
index 5b389c4794..0000000000
--- a/package/utils/busybox/patches/003-upstream_date_fix.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/libbb/time.c
-+++ b/libbb/time.c
-@@ -68,15 +68,23 @@ void FAST_FUNC parse_datestr(const char
- /* else end != NUL and we error out */
- }
- } else
-- /* yyyy-mm-dd HH */
-- if (sscanf(date_str, "%u-%u-%u %u%c", &ptm->tm_year,
-+ if (strchr(date_str, '-')
-+ /* Why strchr('-') check?
-+ * sscanf below will trash ptm->tm_year, this breaks
-+ * if parse_str is "10101010" (iow, "MMddhhmm" form)
-+ * because we destroy year. Do these sscanf
-+ * only if we saw a dash in parse_str.
-+ */
-+ /* yyyy-mm-dd HH */
-+ && (sscanf(date_str, "%u-%u-%u %u%c", &ptm->tm_year,
- &ptm->tm_mon, &ptm->tm_mday,
- &ptm->tm_hour,
- &end) >= 4
-- /* yyyy-mm-dd */
-- || sscanf(date_str, "%u-%u-%u%c", &ptm->tm_year,
-+ /* yyyy-mm-dd */
-+ || sscanf(date_str, "%u-%u-%u%c", &ptm->tm_year,
- &ptm->tm_mon, &ptm->tm_mday,
- &end) >= 3
-+ )
- ) {
- ptm->tm_year -= 1900; /* Adjust years */
- ptm->tm_mon -= 1; /* Adjust month from 1-12 to 0-11 */
diff --git a/package/utils/busybox/patches/004-upstream_iplink_fix.patch b/package/utils/busybox/patches/004-upstream_iplink_fix.patch
deleted file mode 100644
index 0e2535687c..0000000000
--- a/package/utils/busybox/patches/004-upstream_iplink_fix.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/networking/libiproute/iplink.c
-+++ b/networking/libiproute/iplink.c
-@@ -31,6 +31,16 @@
- #ifndef IFLA_LINKINFO
- # define IFLA_LINKINFO 18
- # define IFLA_INFO_KIND 1
-+# define IFLA_INFO_DATA 2
-+#endif
-+
-+#ifndef IFLA_VLAN_MAX
-+# define IFLA_VLAN_ID 1
-+# define IFLA_VLAN_FLAGS 2
-+struct ifla_vlan_flags {
-+ uint32_t flags;
-+ uint32_t mask;
-+};
- #endif
-
- /* taken from linux/sockios.h */
diff --git a/package/utils/busybox/patches/005-upstream_nc_fix.patch b/package/utils/busybox/patches/005-upstream_nc_fix.patch
deleted file mode 100644
index 1bd235924d..0000000000
--- a/package/utils/busybox/patches/005-upstream_nc_fix.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/networking/nc_bloaty.c
-+++ b/networking/nc_bloaty.c
-@@ -175,9 +175,9 @@ enum {
- OPT_w = (1 << 5),
- OPT_l = (1 << 6) * ENABLE_NC_SERVER,
- OPT_k = (1 << 7) * ENABLE_NC_SERVER,
-- OPT_i = (1 << (7+2*ENABLE_NC_SERVER)) * ENABLE_NC_EXTRA,
-- OPT_o = (1 << (8+2*ENABLE_NC_SERVER)) * ENABLE_NC_EXTRA,
-- OPT_z = (1 << (9+2*ENABLE_NC_SERVER)) * ENABLE_NC_EXTRA,
-+ OPT_i = (1 << (6+2*ENABLE_NC_SERVER)) * ENABLE_NC_EXTRA,
-+ OPT_o = (1 << (7+2*ENABLE_NC_SERVER)) * ENABLE_NC_EXTRA,
-+ OPT_z = (1 << (8+2*ENABLE_NC_SERVER)) * ENABLE_NC_EXTRA,
- };
-
- #define o_nflag (option_mask32 & OPT_n)
diff --git a/package/utils/busybox/patches/006-upstream_lzop_fix.patch b/package/utils/busybox/patches/006-upstream_lzop_fix.patch
deleted file mode 100644
index 6e453eb981..0000000000
--- a/package/utils/busybox/patches/006-upstream_lzop_fix.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From a9dc7c2f59dc5e92870d2d46316ea5c1f14740e3 Mon Sep 17 00:00:00 2001
-From: Denys Vlasenko <vda.linux@googlemail.com>
-Date: Mon, 30 Jun 2014 10:14:34 +0200
-Subject: [PATCH] lzop: add overflow check
-
-See CVE-2014-4607
-http://www.openwall.com/lists/oss-security/2014/06/26/20
-
-function old new delta
-lzo1x_decompress_safe 1010 1031 +21
-
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
----
- archival/libarchive/liblzo.h | 2 ++
- archival/libarchive/lzo1x_d.c | 3 +++
- 2 files changed, 5 insertions(+)
-
---- a/archival/libarchive/liblzo.h
-+++ b/archival/libarchive/liblzo.h
-@@ -76,11 +76,13 @@
- # define TEST_IP (ip < ip_end)
- # define NEED_IP(x) \
- if ((unsigned)(ip_end - ip) < (unsigned)(x)) goto input_overrun
-+# define TEST_IV(x) if ((x) > (unsigned)0 - (511)) goto input_overrun
-
- # undef TEST_OP /* don't need both of the tests here */
- # define TEST_OP 1
- # define NEED_OP(x) \
- if ((unsigned)(op_end - op) < (unsigned)(x)) goto output_overrun
-+# define TEST_OV(x) if ((x) > (unsigned)0 - (511)) goto output_overrun
-
- #define HAVE_ANY_OP 1
-
---- a/archival/libarchive/lzo1x_d.c
-+++ b/archival/libarchive/lzo1x_d.c
-@@ -92,6 +92,7 @@ int lzo1x_decompress_safe(const uint8_t*
- ip++;
- NEED_IP(1);
- }
-+ TEST_IV(t);
- t += 15 + *ip++;
- }
- /* copy literals */
-@@ -224,6 +225,7 @@ int lzo1x_decompress_safe(const uint8_t*
- ip++;
- NEED_IP(1);
- }
-+ TEST_IV(t);
- t += 31 + *ip++;
- }
- #if defined(COPY_DICT)
-@@ -265,6 +267,7 @@ int lzo1x_decompress_safe(const uint8_t*
- ip++;
- NEED_IP(1);
- }
-+ TEST_IV(t);
- t += 7 + *ip++;
- }
- #if defined(COPY_DICT)
diff --git a/package/utils/busybox/patches/007-upstream_zcat_no_ext_fix.patch b/package/utils/busybox/patches/007-upstream_zcat_no_ext_fix.patch
deleted file mode 100644
index 24838001ad..0000000000
--- a/package/utils/busybox/patches/007-upstream_zcat_no_ext_fix.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 28dd64a0e1a9cffcde7799f2849b66c0e16bb9cc Mon Sep 17 00:00:00 2001
-From: Denys Vlasenko <vda.linux@googlemail.com>
-Date: Fri, 10 Jan 2014 14:06:57 +0100
-Subject: [PATCH] libarchive: open_zipped() does not need to check extensions
- for e.g. gzip
-
-We only need to check for signature-less extensions,
-currently only .lzma. The rest can be happily autodetected.
-
-This fixes "zcat FILE_WITHOUT_GZ_EXT" case, among others.
-
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-(cherry picked from commit 7c47b560a8fc97956dd8132bd7f1863d83c19866)
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
----
- archival/libarchive/open_transformer.c | 23 +++++++++++------------
- 1 file changed, 11 insertions(+), 12 deletions(-)
-
---- a/archival/libarchive/open_transformer.c
-+++ b/archival/libarchive/open_transformer.c
-@@ -182,27 +182,26 @@ int FAST_FUNC setup_unzip_on_fd(int fd,
-
- int FAST_FUNC open_zipped(const char *fname)
- {
-- char *sfx;
- int fd;
-
- fd = open(fname, O_RDONLY);
- if (fd < 0)
- return fd;
-
-- sfx = strrchr(fname, '.');
-- if (sfx) {
-- sfx++;
-- if (ENABLE_FEATURE_SEAMLESS_LZMA && strcmp(sfx, "lzma") == 0)
-- /* .lzma has no header/signature, just trust it */
-+ if (ENABLE_FEATURE_SEAMLESS_LZMA) {
-+ /* .lzma has no header/signature, can only detect it by extension */
-+ char *sfx = strrchr(fname, '.');
-+ if (sfx && strcmp(sfx+1, "lzma") == 0) {
- open_transformer_with_sig(fd, unpack_lzma_stream, "unlzma");
-- else
-- if ((ENABLE_FEATURE_SEAMLESS_GZ && strcmp(sfx, "gz") == 0)
-- || (ENABLE_FEATURE_SEAMLESS_BZ2 && strcmp(sfx, "bz2") == 0)
-- || (ENABLE_FEATURE_SEAMLESS_XZ && strcmp(sfx, "xz") == 0)
-- ) {
-- setup_unzip_on_fd(fd, /*fail_if_not_detected:*/ 1);
-+ return fd;
- }
- }
-+ if ((ENABLE_FEATURE_SEAMLESS_GZ)
-+ || (ENABLE_FEATURE_SEAMLESS_BZ2)
-+ || (ENABLE_FEATURE_SEAMLESS_XZ)
-+ ) {
-+ setup_unzip_on_fd(fd, /*fail_if_not_detected:*/ 1);
-+ }
-
- return fd;
- }
diff --git a/package/utils/busybox/patches/102-freebsd-compat.patch b/package/utils/busybox/patches/102-freebsd-compat.patch
deleted file mode 100644
index 26d1ec6f71..0000000000
--- a/package/utils/busybox/patches/102-freebsd-compat.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/scripts/basic/docproc.c
-+++ b/scripts/basic/docproc.c
-@@ -39,7 +39,10 @@
- #include <limits.h>
- #include <sys/types.h>
- #include <sys/wait.h>
-+
-+#ifndef __FreeBSD__
- #include <alloca.h>
-+#endif
-
- /* exitstatus is used to keep track of any failing calls to kernel-doc,
- * but execution continues. */
---- a/scripts/basic/fixdep.c
-+++ b/scripts/basic/fixdep.c
-@@ -113,7 +113,10 @@
- #include <limits.h>
- #include <ctype.h>
- #include <arpa/inet.h>
-+
-+#ifndef __FreeBSD__
- #include <alloca.h>
-+#endif
-
- /* bbox: not needed
- #define INT_CONF ntohl(0x434f4e46)
diff --git a/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch b/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch
index f3470fdc16..c3de9783b4 100644
--- a/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch
+++ b/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch
@@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
-@@ -681,6 +681,7 @@ static int bcast_or_ucast(struct dhcp_pa
+@@ -685,6 +685,7 @@ static int bcast_or_ucast(struct dhcp_pa
static NOINLINE int send_discover(uint32_t xid, uint32_t requested)
{
struct dhcp_packet packet;
@@ -8,7 +8,7 @@
/* Fill in: op, htype, hlen, cookie, chaddr fields,
* random xid field (we override it below),
-@@ -698,6 +699,7 @@ static NOINLINE int send_discover(uint32
+@@ -702,6 +703,7 @@ static NOINLINE int send_discover(uint32
*/
add_client_options(&packet);
diff --git a/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch b/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch
index 3e4e049684..e7e2fce309 100644
--- a/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch
+++ b/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch
@@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
-@@ -1400,6 +1400,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
+@@ -1410,6 +1410,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
/* silence "uninitialized!" warning */
unsigned timestamp_before_wait = timestamp_before_wait;
diff --git a/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch b/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch
index 4bb64b8ad0..471f12f728 100644
--- a/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch
+++ b/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch
@@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
-@@ -1087,7 +1087,6 @@ static void perform_renew(void)
+@@ -1093,7 +1093,6 @@ static void perform_renew(void)
state = RENEW_REQUESTED;
break;
case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
diff --git a/package/utils/busybox/patches/204-udhcpc_src_ip_rebind.patch b/package/utils/busybox/patches/204-udhcpc_src_ip_rebind.patch
index 6da568a914..b6d8b6f1a9 100644
--- a/package/utils/busybox/patches/204-udhcpc_src_ip_rebind.patch
+++ b/package/utils/busybox/patches/204-udhcpc_src_ip_rebind.patch
@@ -1,8 +1,6 @@
-Index: busybox-1.22.1/networking/udhcp/dhcpc.c
-===================================================================
---- busybox-1.22.1.orig/networking/udhcp/dhcpc.c
-+++ busybox-1.22.1/networking/udhcp/dhcpc.c
-@@ -659,10 +659,10 @@ static void add_client_options(struct dh
+--- a/networking/udhcp/dhcpc.c
++++ b/networking/udhcp/dhcpc.c
+@@ -663,10 +663,10 @@ static void add_client_options(struct dh
* client reverts to using the IP broadcast address.
*/
@@ -15,7 +13,7 @@ Index: busybox-1.22.1/networking/udhcp/dhcpc.c
/*dst*/ INADDR_BROADCAST, SERVER_PORT, MAC_BCAST_ADDR,
client_config.ifindex);
}
-@@ -673,7 +673,7 @@ static int bcast_or_ucast(struct dhcp_pa
+@@ -677,7 +677,7 @@ static int bcast_or_ucast(struct dhcp_pa
return udhcp_send_kernel_packet(packet,
ciaddr, CLIENT_PORT,
server, SERVER_PORT);
@@ -24,7 +22,7 @@ Index: busybox-1.22.1/networking/udhcp/dhcpc.c
}
/* Broadcast a DHCP discover packet to the network, with an optionally requested IP */
-@@ -701,7 +701,7 @@ static NOINLINE int send_discover(uint32
+@@ -705,7 +705,7 @@ static NOINLINE int send_discover(uint32
if (msgs++ < 3)
bb_info_msg("Sending discover...");
@@ -33,7 +31,7 @@ Index: busybox-1.22.1/networking/udhcp/dhcpc.c
}
/* Broadcast a DHCP request message */
-@@ -745,7 +745,7 @@ static NOINLINE int send_select(uint32_t
+@@ -749,7 +749,7 @@ static NOINLINE int send_select(uint32_t
addr.s_addr = requested;
bb_info_msg("Sending select for %s...", inet_ntoa(addr));
@@ -42,7 +40,7 @@ Index: busybox-1.22.1/networking/udhcp/dhcpc.c
}
/* Unicast or broadcast a DHCP renew message */
-@@ -813,7 +813,7 @@ static NOINLINE int send_decline(/*uint3
+@@ -817,7 +817,7 @@ static NOINLINE int send_decline(/*uint3
udhcp_add_simple_option(&packet, DHCP_SERVER_ID, server);
bb_info_msg("Sending decline...");
diff --git a/package/utils/busybox/patches/210-add_netmsg_util.patch b/package/utils/busybox/patches/210-add_netmsg_util.patch
index 1f6c92edad..4da61447fe 100644
--- a/package/utils/busybox/patches/210-add_netmsg_util.patch
+++ b/package/utils/busybox/patches/210-add_netmsg_util.patch
@@ -1,6 +1,6 @@
--- a/include/applets.src.h
+++ b/include/applets.src.h
-@@ -255,6 +255,7 @@ IF_MT(APPLET(mt, BB_DIR_BIN, BB_SUID_DRO
+@@ -254,6 +254,7 @@ IF_MT(APPLET(mt, BB_DIR_BIN, BB_SUID_DRO
IF_MV(APPLET(mv, BB_DIR_BIN, BB_SUID_DROP))
IF_NAMEIF(APPLET(nameif, BB_DIR_SBIN, BB_SUID_DROP))
IF_NC(APPLET(nc, BB_DIR_USR_BIN, BB_SUID_DROP))
@@ -10,7 +10,7 @@
IF_NOHUP(APPLET(nohup, BB_DIR_USR_BIN, BB_SUID_DROP))
--- a/networking/Config.src
+++ b/networking/Config.src
-@@ -620,6 +620,12 @@ config FEATURE_IPCALC_LONG_OPTIONS
+@@ -619,6 +619,12 @@ config FEATURE_IPCALC_LONG_OPTIONS
help
Support long options for the ipcalc applet.
diff --git a/package/utils/busybox/patches/220-add_lock_util.patch b/package/utils/busybox/patches/220-add_lock_util.patch
index ce663b61f5..f42edcb0de 100644
--- a/package/utils/busybox/patches/220-add_lock_util.patch
+++ b/package/utils/busybox/patches/220-add_lock_util.patch
@@ -1,6 +1,6 @@
--- a/include/applets.src.h
+++ b/include/applets.src.h
-@@ -212,6 +212,7 @@ IF_LN(APPLET_NOEXEC(ln, ln, BB_DIR_BIN,
+@@ -211,6 +211,7 @@ IF_LN(APPLET_NOEXEC(ln, ln, BB_DIR_BIN,
IF_LOAD_POLICY(APPLET(load_policy, BB_DIR_USR_SBIN, BB_SUID_DROP))
IF_LOADFONT(APPLET(loadfont, BB_DIR_USR_SBIN, BB_SUID_DROP))
IF_LOADKMAP(APPLET(loadkmap, BB_DIR_SBIN, BB_SUID_DROP))
@@ -10,7 +10,7 @@
IF_LOGIN(APPLET(login, BB_DIR_BIN, BB_SUID_REQUIRE))
--- a/miscutils/Config.src
+++ b/miscutils/Config.src
-@@ -419,6 +419,12 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
+@@ -385,6 +385,12 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
help
Enables the 'hdparm -d' option to get/set using_dma flag.
@@ -25,7 +25,7 @@
default y
--- a/miscutils/Kbuild.src
+++ b/miscutils/Kbuild.src
-@@ -29,6 +29,7 @@ lib-$(CONFIG_INOTIFYD) += inotifyd.o
+@@ -28,6 +28,7 @@ lib-$(CONFIG_INOTIFYD) += inotifyd.o
lib-$(CONFIG_FEATURE_LAST_SMALL)+= last.o
lib-$(CONFIG_FEATURE_LAST_FANCY)+= last_fancy.o
lib-$(CONFIG_LESS) += less.o
diff --git a/package/utils/busybox/patches/230-ntpd_delayed_resolve.patch b/package/utils/busybox/patches/230-ntpd_delayed_resolve.patch
index d46a0e3f24..1543e53173 100644
--- a/package/utils/busybox/patches/230-ntpd_delayed_resolve.patch
+++ b/package/utils/busybox/patches/230-ntpd_delayed_resolve.patch
@@ -1,6 +1,6 @@
--- a/networking/ntpd.c
+++ b/networking/ntpd.c
-@@ -238,6 +238,7 @@ typedef struct {
+@@ -251,6 +251,7 @@ typedef struct {
typedef struct {
len_and_sockaddr *p_lsa;
char *p_dotted;
@@ -8,7 +8,7 @@
int p_fd;
int datapoint_idx;
uint32_t lastpkt_refid;
-@@ -738,8 +739,9 @@ add_peers(char *s)
+@@ -756,8 +757,9 @@ add_peers(const char *s)
peer_t *p;
p = xzalloc(sizeof(*p));
@@ -20,7 +20,7 @@
p->p_fd = -1;
p->p_xmt_msg.m_status = MODE_CLIENT | (NTP_VERSION << 3);
p->next_action_time = G.cur_time; /* = set_next(p, 0); */
-@@ -788,6 +790,25 @@ send_query_to_peer(peer_t *p)
+@@ -806,6 +808,25 @@ send_query_to_peer(peer_t *p)
*
* Uncomment this and use strace to see it in action:
*/