busybox: update to version 1.23.2

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45272
v19.07.3_mercusys_ac12_duma
Felix Fietkau 9 years ago
parent 94850b0068
commit c31df6e995

@ -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

@ -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

@ -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

@ -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

@ -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"

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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;

@ -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>

@ -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) {

@ -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 */

@ -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 */

@ -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)

@ -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)

@ -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;
}

@ -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)

@ -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);

@ -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;

@ -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 */

@ -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...");

@ -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.

@ -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

@ -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:
*/

Loading…
Cancel
Save