busybox: update to 1.19.2 (thanks to Peter Wagner)

SVN-Revision: 28513
v19.07.3_mercusys_ac12_duma
Nicolas Thill 13 years ago
parent 3fadea0d6f
commit d10b4495bc

@ -8,14 +8,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=busybox
PKG_VERSION:=1.18.5
PKG_VERSION:=1.19.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:=96dd43cc7cee4017a6bf31b7da82a1f5
PKG_MD5SUM:=50267054345f1a0b77fe65f6e0e5ba29
PKG_BUILD_DEPENDS:=BUSYBOX_USE_LIBRPC:librpc
PKG_BUILD_PARALLEL:=1

@ -125,7 +125,6 @@ config BUSYBOX_CONFIG_FEATURE_INSTALLER
config BUSYBOX_CONFIG_INSTALL_NO_USR
bool "Don't use /usr"
default n
depends on BUSYBOX_CONFIG_FEATURE_INSTALLER
help
Disable use of /usr. busybox --install and "make install"
will install applets only to /bin and /sbin,
@ -248,8 +247,9 @@ config BUSYBOX_CONFIG_UNICODE_PRESERVE_BROKEN
default n
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
help
With this option on, invalid UTF-8 bytes are not substituted
with the selected substitution character.
With this option on, on line-editing input (such as used by shells)
invalid UTF-8 bytes are not substituted with the selected
substitution character.
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 '?'.
@ -283,10 +283,19 @@ config BUSYBOX_CONFIG_FEATURE_CLEAN_UP
Don't enable this unless you have a really good reason to clean
things up manually.
config BUSYBOX_CONFIG_FEATURE_UTMP
bool "Support utmp file"
default n
help
The file /var/run/utmp is used to track who is currently logged in.
With this option on, certain applets (getty, login, telnetd etc)
will create and delete entries there.
"who" applet requires this option.
config BUSYBOX_CONFIG_FEATURE_WTMP
bool "Support wtmp file"
default n
select BUSYBOX_CONFIG_FEATURE_UTMP
depends on BUSYBOX_CONFIG_FEATURE_UTMP
help
The file /var/run/wtmp is used to track when users have logged into
and logged out of the system.
@ -294,15 +303,6 @@ config BUSYBOX_CONFIG_FEATURE_WTMP
will append new entries there.
"last" applet requires this option.
config BUSYBOX_CONFIG_FEATURE_UTMP
bool "Support utmp file"
default n
help
The file /var/run/utmp is used to track who is currently logged in.
With this option on, certain applets (getty, login, telnetd etc)
will create and delete entries there.
"who" applet requires this option.
config BUSYBOX_CONFIG_FEATURE_PIDFILE
bool "Support writing pidfiles"
default y
@ -327,21 +327,39 @@ config BUSYBOX_CONFIG_FEATURE_SUID
symlinks pointing to each binary), and only set the suid bit on the
one that needs it.
The applets currently marked to need the suid bit are:
The applets which require root rights (need suid bit or
to be run by root) and will refuse to execute otherwise:
crontab, login, passwd, su, vlock, wall.
crontab, dnsd, findfs, ipcrm, ipcs, login, passwd, ping, su,
traceroute, vlock.
The applets which will use root rights if they have them
(via suid bit, or because run by root), but would try to work
without root right nevertheless:
findfs, ping[6], traceroute[6], mount.
Note that if you DONT select this option, but DO make busybox
suid root, ALL applets will run under root, which is a huge
security hole (think "cp /some/file /etc/passwd").
config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
default n if BUSYBOX_CONFIG_FEATURE_SUID
default n
depends on BUSYBOX_CONFIG_FEATURE_SUID
help
Allow the SUID / SGID state of an applet to be determined at runtime
by checking /etc/busybox.conf. (This is sort of a poor man's sudo.)
The format of this file is as follows:
<applet> = [Ssx-][Ssx-][x-] (<username>|<uid>).(<groupname>|<gid>)
APPLET = [Ssx-][Ssx-][x-] [USER.GROUP]
s: USER or GROUP is allowed to execute APPLET.
APPLET will run under USER or GROUP
(reagardless of who's running it).
S: USER or GROUP is NOT allowed to execute APPLET.
APPLET will run under USER or GROUP.
This option is not very sensical.
x: USER/GROUP/others are allowed to execute APPLET.
No UID/GID change will be done when it is run.
-: USER/GROUP/others are not allowed to execute APPLET.
An example might help:
@ -351,7 +369,8 @@ config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
su = ssx # exactly the same
mount = sx- root.disk # applet mount can be run by root and members
# of group disk and runs with euid=0
# of group disk (but not anyone else)
# and runs with euid=0 (egid is not changed)
cp = --- # disable applet cp for everyone
@ -377,7 +396,7 @@ config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG_QUIET
config BUSYBOX_CONFIG_SELINUX
bool "Support NSA Security Enhanced Linux"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Enable support for SELinux in applets ls, ps, and id. Also provide
the option of compiling in SELinux applets.
@ -458,7 +477,10 @@ config BUSYBOX_CONFIG_PIE
default n
depends on !BUSYBOX_CONFIG_STATIC
help
(TODO: what is it and why/when is it useful?)
Hardened code option. PIE binaries are loaded at a different
address at each invocation. This has some overhead,
particularly on x86-32 which is short on registers.
Most people will leave this set to 'N'.
config BUSYBOX_CONFIG_NOMMU
@ -555,7 +577,6 @@ config BUSYBOX_CONFIG_FEATURE_SHARED_BUSYBOX
config BUSYBOX_CONFIG_LFS
bool
default y
select BUSYBOX_CONFIG_FDISK_SUPPORT_LARGE_DISKS
help
If you want to build BusyBox with large file support, then enable
this option. This will have no effect if your kernel or your C
@ -659,9 +680,6 @@ config BUSYBOX_CONFIG_EFENCE
endchoice
### config PARSE
### bool "Uniform config file parser debugging applet: parse"
endmenu
menu 'Installation Options ("make install" behavior)'
@ -692,7 +710,6 @@ config BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
config BUSYBOX_CONFIG_INSTALL_APPLET_DONT
bool "not installed"
depends on BUSYBOX_CONFIG_FEATURE_INSTALLER || BUSYBOX_CONFIG_FEATURE_SH_STANDALONE || BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
help
Do not install applet links. Useful when you plan to use
busybox --install for installing links, or plan to use

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
@ -5,6 +6,8 @@
menu "Archival Utilities"
config BUSYBOX_CONFIG_FEATURE_SEAMLESS_XZ
bool "Make tar, rpm, modprobe etc understand .xz data"
default n
@ -37,7 +40,7 @@ config BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z
config BUSYBOX_CONFIG_AR
bool "ar"
default n
default n # needs to be improved to be able to replace binutils ar
help
ar is an archival utility program used to create, modify, and
extract contents from archives. An archive is a single file holding
@ -192,7 +195,7 @@ config BUSYBOX_CONFIG_LZOP
Lzop compression/decompresion.
config BUSYBOX_CONFIG_LZOP_COMPR_HIGH
bool "lzop complession levels 7,8,9 (not very useful)"
bool "lzop compression levels 7,8,9 (not very useful)"
default n
depends on BUSYBOX_CONFIG_LZOP
help

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
@ -10,7 +11,7 @@ menu "Console Utilities"
config BUSYBOX_CONFIG_CHVT
bool "chvt"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This program is used to change to another terminal.
Example: chvt 4 (change to terminal /dev/tty4)
@ -18,7 +19,7 @@ config BUSYBOX_CONFIG_CHVT
config BUSYBOX_CONFIG_FGCONSOLE
bool "fgconsole"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This program prints active (foreground) console number.
@ -31,14 +32,14 @@ config BUSYBOX_CONFIG_CLEAR
config BUSYBOX_CONFIG_DEALLOCVT
bool "deallocvt"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This program deallocates unused virtual consoles.
config BUSYBOX_CONFIG_DUMPKMAP
bool "dumpkmap"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This program dumps the kernel's keyboard translation table to
stdout, in binary format. You can then use loadkmap to load it.
@ -46,21 +47,21 @@ config BUSYBOX_CONFIG_DUMPKMAP
config BUSYBOX_CONFIG_KBD_MODE
bool "kbd_mode"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This program reports and sets keyboard mode.
config BUSYBOX_CONFIG_LOADFONT
bool "loadfont"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This program loads a console font from standard input.
config BUSYBOX_CONFIG_LOADKMAP
bool "loadkmap"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This program loads a keyboard translation table from
standard input.
@ -68,7 +69,7 @@ config BUSYBOX_CONFIG_LOADKMAP
config BUSYBOX_CONFIG_OPENVT
bool "openvt"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This program is used to start a command on an unused
virtual terminal.
@ -100,7 +101,7 @@ config BUSYBOX_CONFIG_FEATURE_RESIZE_PRINT
config BUSYBOX_CONFIG_SETCONSOLE
bool "setconsole"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This program redirects the system console to another device,
like the current tty while logged in via telnet.
@ -115,7 +116,7 @@ config BUSYBOX_CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS
config BUSYBOX_CONFIG_SETFONT
bool "setfont"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Allows to load console screen map. Useful for i18n.
@ -128,7 +129,7 @@ config BUSYBOX_CONFIG_FEATURE_SETFONT_TEXTUAL_MAP
config BUSYBOX_CONFIG_DEFAULT_SETFONT_DIR
string "Default directory for console-tools files"
default ""
default n
depends on BUSYBOX_CONFIG_SETFONT
help
Directory to use if setfont's params are simple filenames
@ -137,7 +138,7 @@ config BUSYBOX_CONFIG_DEFAULT_SETFONT_DIR
config BUSYBOX_CONFIG_SETKEYCODES
bool "setkeycodes"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This program loads entries into the kernel's scancode-to-keycode
map, allowing unusual keyboards to generate usable keycodes.
@ -145,14 +146,14 @@ config BUSYBOX_CONFIG_SETKEYCODES
config BUSYBOX_CONFIG_SETLOGCONS
bool "setlogcons"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This program redirects the output console of kernel messages.
config BUSYBOX_CONFIG_SHOWKEY
bool "showkey"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Shows keys pressed.

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
@ -33,10 +34,12 @@ config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
Enable option (-I) to output an ISO-8601 compliant
date/time string.
# defaults to "no": stat's nanosecond field is a bit non-portable
config BUSYBOX_CONFIG_FEATURE_DATE_NANO
bool "Support %[num]N nanosecond format specifier"
default n
depends on BUSYBOX_CONFIG_DATE && BUSYBOX_CONFIG_PLATFORM_LINUX
depends on BUSYBOX_CONFIG_DATE # syscall(__NR_clock_gettime)
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Support %[num]N format specifier. Adds ~250 bytes of code.
@ -55,7 +58,16 @@ config BUSYBOX_CONFIG_FEATURE_DATE_COMPAT
With this option off, 'date DATE' is 'date -s DATE' support
the same format. With it on, 'date DATE' additionally supports
MMDDhhmm[[YY]YY][.ss] format.
config BUSYBOX_CONFIG_ID
bool "id"
default y
help
id displays the current user and group ID names.
config BUSYBOX_CONFIG_GROUPS
bool "groups"
default n
help
Print the group names associated with current user id.
config BUSYBOX_CONFIG_TEST
bool "test"
default y
@ -70,7 +82,12 @@ config BUSYBOX_CONFIG_FEATURE_TEST_64
depends on BUSYBOX_CONFIG_TEST || BUSYBOX_CONFIG_ASH_BUILTIN_TEST || BUSYBOX_CONFIG_HUSH
help
Enable 64-bit support in test.
config BUSYBOX_CONFIG_TOUCH
bool "touch"
default y
help
touch is used to create or change the access and/or
modification timestamp of specified files.
config BUSYBOX_CONFIG_TR
bool "tr"
default y
@ -101,6 +118,18 @@ config BUSYBOX_CONFIG_BASE64
default n
help
Base64 encode and decode
config BUSYBOX_CONFIG_WHO
bool "who"
default n
depends on BUSYBOX_CONFIG_FEATURE_UTMP
help
who is used to show who is logged on.
config BUSYBOX_CONFIG_USERS
bool "users"
default n
depends on BUSYBOX_CONFIG_FEATURE_UTMP
help
Print users currently logged on.
config BUSYBOX_CONFIG_CAL
bool "cal"
@ -371,12 +400,6 @@ config BUSYBOX_CONFIG_HOSTID
hostid prints the numeric identifier (in hexadecimal) for
the current host.
config BUSYBOX_CONFIG_ID
bool "id"
default y
help
id displays the current user and group ID names.
config BUSYBOX_CONFIG_INSTALL
bool "install"
default n
@ -390,11 +413,11 @@ config BUSYBOX_CONFIG_FEATURE_INSTALL_LONG_OPTIONS
help
Support long options for the install applet.
config BUSYBOX_CONFIG_LENGTH
bool "length"
default y
help
length is used to print out the length of a specified string.
####config LENGTH
#### bool "length"
#### default y
#### help
#### length is used to print out the length of a specified string.
config BUSYBOX_CONFIG_LN
bool "ln"
@ -686,7 +709,7 @@ config BUSYBOX_CONFIG_FEATURE_SPLIT_FANCY
config BUSYBOX_CONFIG_STAT
bool "stat"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX # statfs()
help
display file or filesystem status.
@ -756,13 +779,6 @@ config BUSYBOX_CONFIG_FEATURE_TEE_USE_BLOCK_IO
help
Enable this option for a faster tee, at expense of size.
config BUSYBOX_CONFIG_TOUCH
bool "touch"
default y
help
touch is used to create or change the access and/or
modification timestamp of specified files.
config BUSYBOX_CONFIG_TRUE
bool "true"
default y
@ -833,13 +849,6 @@ config BUSYBOX_CONFIG_FEATURE_WC_LARGE
help
Use "unsigned long long" in wc for counter variables.
config BUSYBOX_CONFIG_WHO
bool "who"
default n
depends on BUSYBOX_CONFIG_FEATURE_UTMP
help
who is used to show who is logged on.
config BUSYBOX_CONFIG_WHOAMI
bool "whoami"
default n

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
@ -5,6 +6,8 @@
menu "Debian Utilities"
config BUSYBOX_CONFIG_MKTEMP
bool "mktemp"
default y

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
@ -5,6 +6,8 @@
menu "Linux Ext2 FS Progs"
config BUSYBOX_CONFIG_CHATTR
bool "chattr"
default n
@ -31,7 +34,7 @@ config BUSYBOX_CONFIG_FSCK
config BUSYBOX_CONFIG_LSATTR
bool "lsattr"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
lsattr lists the file attributes on a second extended file system.
@ -44,7 +47,7 @@ config BUSYBOX_CONFIG_LSATTR
config BUSYBOX_CONFIG_TUNE2FS
bool "tune2fs"
default n
default n # off: it is too limited compared to upstream version
help
tune2fs allows the system administrator to adjust various tunable
filesystem parameters on Linux ext2/ext3 filesystems.

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
@ -5,6 +6,8 @@
menu "Linux Ext2 FS Progs"
config BUSYBOX_CONFIG_CHATTR
bool "chattr"
default n

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
@ -10,67 +11,6 @@ config BUSYBOX_CONFIG_PATCH
default n
help
Apply a unified diff formatted patch.
config BUSYBOX_CONFIG_AWK
bool "awk"
default y
help
Awk is used as a pattern scanning and processing language. This is
the BusyBox implementation of that programming language.
config BUSYBOX_CONFIG_FEATURE_AWK_LIBM
bool "Enable math functions (requires libm)"
default y
depends on BUSYBOX_CONFIG_AWK
help
Enable math functions of the Awk programming language.
NOTE: This will require libm to be present for linking.
config BUSYBOX_CONFIG_CMP
bool "cmp"
default y
help
cmp is used to compare two files and returns the result
to standard output.
config BUSYBOX_CONFIG_DIFF
bool "diff"
default n
help
diff compares two files or directories and outputs the
differences between them in a form that can be given to
the patch command.
config BUSYBOX_CONFIG_FEATURE_DIFF_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_DIFF && BUSYBOX_CONFIG_LONG_OPTS
help
Enable use of long options.
config BUSYBOX_CONFIG_FEATURE_DIFF_DIR
bool "Enable directory support"
default n
depends on BUSYBOX_CONFIG_DIFF
help
This option enables support for directory and subdirectory
comparison.
config BUSYBOX_CONFIG_ED
bool "ed"
default n
help
The original 1970's Unix text editor, from the days of teletypes.
Small, simple, evil. Part of SUSv3. If you're not already using
this, you don't need it.
config BUSYBOX_CONFIG_SED
bool "sed"
default y
help
sed is used to perform text transformations on a file
or input from a pipeline.
config BUSYBOX_CONFIG_VI
bool "vi"
default y
@ -123,6 +63,13 @@ config BUSYBOX_CONFIG_FEATURE_VI_SEARCH
Select this if you wish to be able to do search and replace in
busybox vi.
config BUSYBOX_CONFIG_FEATURE_VI_REGEX_SEARCH
bool "Enable regex in search and replace"
default n # Uses GNU regex, which may be unavailable. FIXME
depends on BUSYBOX_CONFIG_FEATURE_VI_SEARCH
help
Use extended regex search.
config BUSYBOX_CONFIG_FEATURE_VI_USE_SIGNALS
bool "Catch signals"
default y
@ -175,8 +122,8 @@ config BUSYBOX_CONFIG_FEATURE_VI_ASK_TERMINAL
help
If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
this option makes vi perform a last-ditch effort to find it:
vi positions cursor to 999,999 and asks terminal to report real
cursor position using "ESC [ 6 n" escape sequence, then reads stdin.
position cursor to 999,999 and ask terminal to report real
cursor position using "ESC [ 6 n" escape sequence, then read stdin.
This is not clean but helps a lot on serial lines and such.
@ -188,6 +135,66 @@ config BUSYBOX_CONFIG_FEATURE_VI_OPTIMIZE_CURSOR
This will make the cursor movement faster, but requires more memory
and it makes the applet a tiny bit larger.
config BUSYBOX_CONFIG_AWK
bool "awk"
default y
help
Awk is used as a pattern scanning and processing language. This is
the BusyBox implementation of that programming language.
config BUSYBOX_CONFIG_FEATURE_AWK_LIBM
bool "Enable math functions (requires libm)"
default y
depends on BUSYBOX_CONFIG_AWK
help
Enable math functions of the Awk programming language.
NOTE: This will require libm to be present for linking.
config BUSYBOX_CONFIG_CMP
bool "cmp"
default y
help
cmp is used to compare two files and returns the result
to standard output.
config BUSYBOX_CONFIG_DIFF
bool "diff"
default n
help
diff compares two files or directories and outputs the
differences between them in a form that can be given to
the patch command.
config BUSYBOX_CONFIG_FEATURE_DIFF_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_DIFF && BUSYBOX_CONFIG_LONG_OPTS
help
Enable use of long options.
config BUSYBOX_CONFIG_FEATURE_DIFF_DIR
bool "Enable directory support"
default n
depends on BUSYBOX_CONFIG_DIFF
help
This option enables support for directory and subdirectory
comparison.
config BUSYBOX_CONFIG_ED
bool "ed"
default n
help
The original 1970's Unix text editor, from the days of teletypes.
Small, simple, evil. Part of SUSv3. If you're not already using
this, you don't need it.
config BUSYBOX_CONFIG_SED
bool "sed"
default y
help
sed is used to perform text transformations on a file
or input from a pipeline.
config BUSYBOX_CONFIG_FEATURE_ALLOW_EXEC
bool "Allow vi and awk to execute shell commands"
default y

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
@ -60,11 +61,11 @@ config BUSYBOX_CONFIG_FEATURE_FIND_XDEV
This option allows find to restrict searches to a single filesystem.
config BUSYBOX_CONFIG_FEATURE_FIND_MAXDEPTH
bool "Enable -maxdepth N"
bool "Enable -mindepth N and -maxdepth N"
default y
depends on BUSYBOX_CONFIG_FIND
help
This option enables -maxdepth N option.
This option enables -mindepth N and -maxdepth N option.
config BUSYBOX_CONFIG_FEATURE_FIND_NEWER
bool "Enable -newer: compare file modification times"
@ -72,7 +73,7 @@ config BUSYBOX_CONFIG_FEATURE_FIND_NEWER
depends on BUSYBOX_CONFIG_FIND
help
Support the 'find -newer' option for finding any files which have
a modified time that is more recent than the specified FILE.
modification time that is more recent than the specified FILE.
config BUSYBOX_CONFIG_FEATURE_FIND_INUM
bool "Enable -inum: inode number matching"
@ -177,7 +178,6 @@ config BUSYBOX_CONFIG_FEATURE_FIND_LINKS
depends on BUSYBOX_CONFIG_FIND
help
Support the 'find -links' option for matching number of links.
config BUSYBOX_CONFIG_GREP
bool "grep"
default y
@ -210,7 +210,6 @@ config BUSYBOX_CONFIG_FEATURE_GREP_CONTEXT
Print the specified number of leading (-B) and/or trailing (-A)
context surrounding our matching lines.
Print the specified number of context lines (-C).
config BUSYBOX_CONFIG_XARGS
bool "xargs"
default y

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
@ -168,4 +169,16 @@ config BUSYBOX_CONFIG_MESG
Mesg controls access to your terminal by others. It is typically
used to allow or disallow other users to write to your terminal
config BUSYBOX_CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP
bool "Enable writing to tty only by group, not by everybody"
default n
depends on BUSYBOX_CONFIG_MESG
help
Usually, ttys are owned by group "tty", and "write" tool is
setgid to this group. This way, "mesg y" only needs to enable
"write by owning group" bit in tty mode.
If you set this option to N, "mesg y" will enable writing
by anybody at all. This is not recommended.
endmenu

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
@ -5,6 +6,21 @@
menu "Busybox Library Tuning"
config BUSYBOX_CONFIG_FEATURE_SYSTEMD
bool "Enable systemd support"
default n
help
If you plan to use busybox daemons on a system where daemons
are controlled by systemd, enable this option.
If you don't use systemd, it is still safe to enable it,
but the downside is increased code size.
config BUSYBOX_CONFIG_FEATURE_RTMINMAX
bool "Support RTMIN[+n] and RTMAX[-n] signal names"
default n
help
Support RTMIN[+n] and RTMAX[-n] signal names
in kill, killall etc. This costs ~250 bytes.
config BUSYBOX_CONFIG_PASSWORD_MINLEN
int "Minimum password length"
default 6
@ -78,11 +94,12 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_VI
config BUSYBOX_CONFIG_FEATURE_EDITING_HISTORY
int "History size"
range 0 99999
# Don't allow way too big values here, code uses fixed "char *history[N]" struct member
range 0 9999
default 256
depends on BUSYBOX_CONFIG_FEATURE_EDITING
help
Specify command history size.
Specify command history size (0 - disable).
config BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
bool "History saving"
@ -91,6 +108,14 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
help
Enable history saving in shells.
config BUSYBOX_CONFIG_FEATURE_REVERSE_SEARCH
bool "Reverse history search"
default n
depends on BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
help
Enable readline-like Ctrl-R combination for reverse history search.
Increases code by about 0.5k.
config BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION
bool "Tab completion"
default y
@ -133,7 +158,7 @@ config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP
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 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)"
@ -154,15 +179,34 @@ config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB
range 1 1024
default 4
help
Size of buffer used by cp, mv, install etc.
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 n
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 useful to turn this option off to make df show
initramfs statistic.
Otherwise, choose Y.
config BUSYBOX_CONFIG_MONOTONIC_SYSCALL
bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
time intervals (time, ping, traceroute etc need this).

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
@ -191,7 +192,19 @@ config BUSYBOX_CONFIG_GETTY
default n
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
getty lets you log in on a tty, it is normally invoked by init.
getty lets you log in on a tty. It is normally invoked by init.
Note that you can save a few bytes by disabling it and
using login applet directly.
If you need to reset tty attributes before calling login,
this script approximates getty:
exec </dev/$1 >/dev/$1 2>&1 || exit 1
reset
stty sane; stty ispeed 38400; stty ospeed 38400
printf "%s login: " "`hostname`"
read -r login
exec /bin/login "$login"
config BUSYBOX_CONFIG_LOGIN
bool "login"

@ -1,5 +1,8 @@
# DO NOT EDIT. This file is generated from Config.src
menu "Mail Utilities"
config BUSYBOX_CONFIG_MAKEMIME
bool "makemime"
default n

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
@ -8,43 +9,155 @@ menu "Miscellaneous Utilities"
config BUSYBOX_CONFIG_CONSPY
bool "conspy"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
A text-mode VNC like program for Linux virtual terminals.
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_LESS
bool "less"
default y
help
'less' is a pager, meaning that it displays text files. It possesses
a wide array of features, and is an improvement over 'more'.
config BUSYBOX_CONFIG_FEATURE_LESS_MAXLINES
int "Max number of input lines less will try to eat"
default 9999999
depends on BUSYBOX_CONFIG_LESS
config BUSYBOX_CONFIG_FEATURE_LESS_BRACKETS
bool "Enable bracket searching"
default n
depends on BUSYBOX_CONFIG_LESS
help
This option adds the capability to search for matching left and right
brackets, facilitating programming.
config BUSYBOX_CONFIG_FEATURE_LESS_FLAGS
bool "Enable extra flags"
default n
depends on BUSYBOX_CONFIG_LESS
help
The extra flags provided do the following:
The -M flag enables a more sophisticated status line.
The -m flag enables a simpler status line with a percentage.
config BUSYBOX_CONFIG_FEATURE_LESS_MARKS
bool "Enable marks"
default n
depends on BUSYBOX_CONFIG_LESS
help
Marks enable positions in a file to be stored for easy reference.
config BUSYBOX_CONFIG_FEATURE_LESS_REGEXP
bool "Enable regular expressions"
default n
depends on BUSYBOX_CONFIG_LESS
help
Enable regular expressions, allowing complex file searches.
config BUSYBOX_CONFIG_FEATURE_LESS_WINCH
bool "Enable automatic resizing on window size changes"
default n
depends on BUSYBOX_CONFIG_LESS
help
Makes less track window size changes.
config BUSYBOX_CONFIG_FEATURE_LESS_ASK_TERMINAL
bool "Use 'tell me cursor position' ESC sequence to measure window"
default n
depends on BUSYBOX_CONFIG_FEATURE_LESS_WINCH
help
Makes less track window size changes.
If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
this option makes less perform a last-ditch effort to find it:
position cursor to 999,999 and ask terminal to report real
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_LESS_DASHCMD
bool "Enable flag changes ('-' command)"
default n
depends on BUSYBOX_CONFIG_LESS
help
This enables the ability to change command-line flags within
less itself ('-' keyboard command).
config BUSYBOX_CONFIG_FEATURE_LESS_LINENUMS
bool "Enable dynamic switching of line numbers"
default n
depends on BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
help
Enables "-N" command.
config BUSYBOX_CONFIG_NANDWRITE
bool "nandwrite"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Write to the specified MTD device, with bad blocks awareness
config BUSYBOX_CONFIG_NANDDUMP
bool "nanddump"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Dump the content of raw NAND chip
config BUSYBOX_CONFIG_SETSERIAL
bool "setserial"
default n
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Retrieve or set Linux serial port.
config BUSYBOX_CONFIG_UBIATTACH
bool "ubiattach"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Attach MTD device to an UBI device.
config BUSYBOX_CONFIG_UBIDETACH
bool "ubidetach"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Detach MTD device from an UBI device.
config BUSYBOX_CONFIG_UBIMKVOL
bool "ubimkvol"
default n
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Create a UBI volume.
config BUSYBOX_CONFIG_UBIRMVOL
bool "ubirmvol"
default n
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Delete a UBI volume.
config BUSYBOX_CONFIG_UBIRSVOL
bool "ubirsvol"
default n
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Resize a UBI volume.
config BUSYBOX_CONFIG_UBIUPDATEVOL
bool "ubiupdatevol"
default n
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Update a UBI volume.
config BUSYBOX_CONFIG_ADJTIMEX
bool "adjtimex"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Adjtimex reads and optionally sets adjustment parameters for
the Linux clock adjustment algorithm.
@ -73,7 +186,7 @@ config BUSYBOX_CONFIG_FEATURE_COMPRESS_BBCONFIG
config BUSYBOX_CONFIG_BEEP
bool "beep"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The beep applets beeps in a given freq/Hz.
@ -228,7 +341,7 @@ config BUSYBOX_CONFIG_FEATURE_DC_LIBM
config BUSYBOX_CONFIG_DEVFSD
bool "devfsd (obsolete)"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
This is deprecated and should NOT be used anymore.
@ -272,7 +385,7 @@ config BUSYBOX_CONFIG_DEVFSD_VERBOSE
config BUSYBOX_CONFIG_FEATURE_DEVFS
bool "Use devfs names for all devices (obsolete)"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This is obsolete and should NOT be used anymore.
Use linux >= 2.6 (optionally with hotplug) and mdev instead!
@ -292,7 +405,7 @@ config BUSYBOX_CONFIG_DEVMEM
config BUSYBOX_CONFIG_EJECT
bool "eject"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Used to eject cdroms. (defaults to /dev/cdrom)
@ -307,7 +420,7 @@ config BUSYBOX_CONFIG_FEATURE_EJECT_SCSI
config BUSYBOX_CONFIG_FBSPLASH
bool "fbsplash"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Shows splash image and progress bar on framebuffer device.
Can be used during boot phase of an embedded device. ~2kb.
@ -328,28 +441,28 @@ config BUSYBOX_CONFIG_FBSPLASH
config BUSYBOX_CONFIG_FLASHCP
bool "flashcp"
default n
default n # doesn't build on Ubuntu 8.04
help
The flashcp binary, inspired by mtd-utils as of git head 5eceb74f7.
This utility is used to copy images into a MTD device.
config BUSYBOX_CONFIG_FLASH_LOCK
bool "flash_lock"
default n
default n # doesn't build on Ubuntu 8.04
help
The flash_lock binary from mtd-utils as of git head 5ec0c10d0. This
utility locks part or all of the flash device.
config BUSYBOX_CONFIG_FLASH_UNLOCK
bool "flash_unlock"
default n
default n # doesn't build on Ubuntu 8.04
help
The flash_unlock binary from mtd-utils as of git head 5ec0c10d0. This
utility unlocks part or all of the flash device.
config BUSYBOX_CONFIG_FLASH_ERASEALL
bool "flash_eraseall"
default n
default n # doesn't build on Ubuntu 8.04
help
The flash_eraseall binary from mtd-utils as of git head c4c6a59eb.
This utility is used to erase the whole MTD device.
@ -357,14 +470,14 @@ config BUSYBOX_CONFIG_FLASH_ERASEALL
config BUSYBOX_CONFIG_IONICE
bool "ionice"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Set/set program io scheduling class and priority
Requires kernel >= 2.6.13
config BUSYBOX_CONFIG_INOTIFYD
bool "inotifyd"
default n
default n # doesn't build on Knoppix 5
help
Simple inotify daemon. Reports filesystem changes. Requires
kernel >= 2.6.13
@ -394,76 +507,10 @@ config BUSYBOX_CONFIG_FEATURE_LAST_FANCY
logged into the system (mimics sysvinit last). +900 bytes.
endchoice
config BUSYBOX_CONFIG_LESS
bool "less"
default y
help
'less' is a pager, meaning that it displays text files. It possesses
a wide array of features, and is an improvement over 'more'.
config BUSYBOX_CONFIG_FEATURE_LESS_MAXLINES
int "Max number of input lines less will try to eat"
default 9999999
depends on BUSYBOX_CONFIG_LESS
config BUSYBOX_CONFIG_FEATURE_LESS_BRACKETS
bool "Enable bracket searching"
default n
depends on BUSYBOX_CONFIG_LESS
help
This option adds the capability to search for matching left and right
brackets, facilitating programming.
config BUSYBOX_CONFIG_FEATURE_LESS_FLAGS
bool "Enable extra flags"
default n
depends on BUSYBOX_CONFIG_LESS
help
The extra flags provided do the following:
The -M flag enables a more sophisticated status line.
The -m flag enables a simpler status line with a percentage.
config BUSYBOX_CONFIG_FEATURE_LESS_MARKS
bool "Enable marks"
default n
depends on BUSYBOX_CONFIG_LESS
help
Marks enable positions in a file to be stored for easy reference.
config BUSYBOX_CONFIG_FEATURE_LESS_REGEXP
bool "Enable regular expressions"
default n
depends on BUSYBOX_CONFIG_LESS
help
Enable regular expressions, allowing complex file searches.
config BUSYBOX_CONFIG_FEATURE_LESS_WINCH
bool "Enable automatic resizing on window size changes"
default n
depends on BUSYBOX_CONFIG_LESS
help
Makes less track window size changes.
config BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
bool "Enable flag changes ('-' command)"
default n
depends on BUSYBOX_CONFIG_LESS
help
This enables the ability to change command-line flags within
less itself ('-' keyboard command).
config BUSYBOX_CONFIG_FEATURE_LESS_LINENUMS
bool "Enable dynamic switching of line numbers"
default n
depends on BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
help
Enables "-N" command.
config BUSYBOX_CONFIG_HDPARM
bool "hdparm"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Get/Set hard drive parameters. Primarily intended for ATA
drives. Adds about 13k (or around 30k if you enable the
@ -586,7 +633,7 @@ config BUSYBOX_CONFIG_MT
config BUSYBOX_CONFIG_RAIDAUTORUN
bool "raidautorun"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
raidautorun tells the kernel md driver to
search and start RAID arrays.
@ -594,7 +641,8 @@ config BUSYBOX_CONFIG_RAIDAUTORUN
config BUSYBOX_CONFIG_READAHEAD
bool "readahead"
default n
depends on BUSYBOX_CONFIG_LFS && BUSYBOX_CONFIG_PLATFORM_LINUX
depends on BUSYBOX_CONFIG_LFS
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Preload the files listed on the command line into RAM cache so that
subsequent reads on these files will not block on disk I/O.
@ -610,8 +658,8 @@ config BUSYBOX_CONFIG_READAHEAD
config BUSYBOX_CONFIG_RFKILL
bool "rfkill"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
default n # doesn't build on Ubuntu 9.04
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Enable/disable wireless devices.
@ -623,6 +671,7 @@ config BUSYBOX_CONFIG_RFKILL
config BUSYBOX_CONFIG_RUNLEVEL
bool "runlevel"
default n
depends on BUSYBOX_CONFIG_FEATURE_UTMP
help
find the current and previous system runlevel.
@ -632,7 +681,7 @@ config BUSYBOX_CONFIG_RUNLEVEL
config BUSYBOX_CONFIG_RX
bool "rx"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Receive files using the Xmodem protocol.
@ -651,7 +700,7 @@ config BUSYBOX_CONFIG_STRINGS
config BUSYBOX_CONFIG_TASKSET
bool "taskset"
default n
default n # 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.
@ -698,13 +747,14 @@ config BUSYBOX_CONFIG_VOLNAME
config BUSYBOX_CONFIG_WALL
bool "wall"
default n
depends on BUSYBOX_CONFIG_FEATURE_UTMP
help
Write a message to all users that are logged in.
config BUSYBOX_CONFIG_WATCHDOG
bool "watchdog"
default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The watchdog utility is used with hardware or software watchdog
device drivers. It opens the specified watchdog device special file

@ -5,7 +5,6 @@
#
menu "Linux Module Utilities"
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
config BUSYBOX_CONFIG_MODINFO
bool "modinfo"
@ -16,6 +15,7 @@ config BUSYBOX_CONFIG_MODINFO
config BUSYBOX_CONFIG_MODPROBE_SMALL
bool "Simplified modutils"
default n
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Simplified modutils.
@ -50,6 +50,7 @@ config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
bool "Accept module options on modprobe command line"
default n
depends on BUSYBOX_CONFIG_MODPROBE_SMALL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Allow insmod and modprobe take module options from command line.
@ -64,6 +65,7 @@ config BUSYBOX_CONFIG_INSMOD
bool "insmod"
default y
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
insmod is used to load specified modules in the running kernel.
@ -71,6 +73,7 @@ config BUSYBOX_CONFIG_RMMOD
bool "rmmod"
default y
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
rmmod is used to unload specified modules from the kernel.
@ -78,6 +81,7 @@ config BUSYBOX_CONFIG_LSMOD
bool "lsmod"
default y
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
lsmod is used to display a list of loaded modules.
@ -85,6 +89,7 @@ config BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
bool "Pretty output"
default y
depends on BUSYBOX_CONFIG_LSMOD
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This option makes output format of lsmod adjusted to
the format of module-init-tools for Linux kernel 2.6.
@ -94,6 +99,7 @@ config BUSYBOX_CONFIG_MODPROBE
bool "modprobe"
default n
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Handle the loading of modules, and their dependencies on a high
level.
@ -102,6 +108,7 @@ config BUSYBOX_CONFIG_FEATURE_MODPROBE_BLACKLIST
bool "Blacklist support"
default n
depends on BUSYBOX_CONFIG_MODPROBE
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Say 'y' here to enable support for the 'blacklist' command in
modprobe.conf. This prevents the alias resolver to resolve
@ -113,6 +120,7 @@ config BUSYBOX_CONFIG_DEPMOD
bool "depmod"
default n
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
depmod generates modules.dep (and potentially modules.alias
and modules.symbols) that contain dependency information
@ -124,6 +132,7 @@ config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
bool "Support version 2.2/2.4 Linux kernels"
default n
depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_LSMOD
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Support module loading for 2.2.x and 2.4.x Linux kernels.
This increases size considerably. Say N unless you plan
@ -133,6 +142,7 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_TRY_MMAP
bool "Try to load module from a mmap'ed area"
default n
depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE_SMALL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This option causes module loading code to try to mmap
module first. If it does not work (for example,
@ -149,6 +159,7 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_VERSION_CHECKING
bool "Enable module version checking"
default n
depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Support checking of versions for modules. This is used to
ensure that the kernel and module are made for each other.
@ -157,6 +168,7 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
bool "Add module symbols to kernel symbol table"
default n
depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
By adding module symbols to the kernel symbol table, Oops messages
occuring within kernel modules can be properly debugged. By enabling
@ -168,6 +180,7 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_LOADINKMEM
bool "In kernel memory optimization (uClinux only)"
default n
depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This is a special uClinux only memory optimization that lets insmod
load the specified kernel module directly into kernel space, reducing
@ -178,6 +191,7 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP
bool "Enable insmod load map (-m) option"
default n
depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && BUSYBOX_CONFIG_INSMOD
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Enabling this, one would be able to get a load map
output on stdout. This makes kernel module debugging
@ -189,6 +203,7 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL
bool "Symbols in load map"
default n
depends on BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP && !BUSYBOX_CONFIG_MODPROBE_SMALL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Without this option, -m will only output section
load map. With this option, -m will also output
@ -198,6 +213,7 @@ config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
bool "Support tainted module checking with new kernels"
default y
depends on (BUSYBOX_CONFIG_LSMOD || BUSYBOX_CONFIG_FEATURE_2_4_MODULES) && !BUSYBOX_CONFIG_MODPROBE_SMALL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Support checking for tainted modules. These are usually binary
only modules that will make the linux-kernel list ignore your
@ -208,6 +224,7 @@ config BUSYBOX_CONFIG_FEATURE_MODUTILS_ALIAS
bool "Support for module.aliases file"
default n
depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Generate and parse modules.alias containing aliases for bus
identifiers:
@ -224,6 +241,7 @@ config BUSYBOX_CONFIG_FEATURE_MODUTILS_SYMBOLS
bool "Support for module.symbols file"
default n
depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Generate and parse modules.symbols containing aliases for
symbol_request() kernel calls, such as:

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
@ -5,12 +6,40 @@
menu "Networking Utilities"
config BUSYBOX_CONFIG_NAMEIF
bool "nameif"
default n
select BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
nameif is used to rename network interface by its MAC address.
Renamed interfaces MUST be in the down state.
It is possible to use a file (default: /etc/mactab)
with list of new interface names and MACs.
Maximum interface name length: IFNAMSIZ = 16
File fields are separated by space or tab.
File format:
# Comment
new_interface_name XX:XX:XX:XX:XX:XX
config BUSYBOX_CONFIG_FEATURE_NAMEIF_EXTENDED
bool "Extended nameif"
default n
depends on BUSYBOX_CONFIG_NAMEIF
help
This extends the nameif syntax to support the bus_info, driver,
phyaddr selectors. The syntax is compatible to the normal nameif.
File format:
new_interface_name driver=asix bus=usb-0000:00:08.2-3
new_interface_name bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5
new_interface_name phy_address=2 00:80:C8:38:91:B5
new_interface_name mac=00:80:C8:38:91:B5
new_interface_name 00:80:C8:38:91:B5
config BUSYBOX_CONFIG_NBDCLIENT
bool "nbd-client"
default n
help
Network block device client
config BUSYBOX_CONFIG_NC
bool "nc"
default y
@ -36,13 +65,40 @@ config BUSYBOX_CONFIG_NC_EXTRA
config BUSYBOX_CONFIG_NC_110_COMPAT
bool "Netcat 1.10 compatibility (+2.5k)"
default n
default n # off specially for Rob
depends on BUSYBOX_CONFIG_NC
help
This option makes nc closely follow original nc-1.10.
The code is about 2.5k bigger. It enables
-s ADDR, -n, -u, -v, -o FILE, -z options, but loses
busybox-specific extensions: -f FILE and -ll.
config BUSYBOX_CONFIG_PING
bool "ping"
default y
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
elicit an ICMP ECHO_RESPONSE from a host or gateway.
config BUSYBOX_CONFIG_PING6
bool "ping6"
default n
depends on BUSYBOX_CONFIG_FEATURE_IPV6 && BUSYBOX_CONFIG_PING
help
This will give you a ping that can talk IPv6.
config BUSYBOX_CONFIG_FEATURE_FANCY_PING
bool "Enable fancy ping output"
default y
depends on BUSYBOX_CONFIG_PING
help
Make the output from the ping applet include statistics, and at the
same time provide full support for ICMP packets.
config BUSYBOX_CONFIG_WHOIS
bool "whois"
default n
help
whois is a client for the whois directory service
config BUSYBOX_CONFIG_FEATURE_IPV6
bool "Enable IPv6 support"
@ -88,21 +144,21 @@ config BUSYBOX_CONFIG_VERBOSE_RESOLUTION_ERRORS
config BUSYBOX_CONFIG_ARP
bool "arp"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Manipulate the system ARP cache.
config BUSYBOX_CONFIG_ARPING
bool "arping"
default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Ping hosts by ARP packets.
config BUSYBOX_CONFIG_BRCTL
bool "brctl"
default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Manage ethernet bridges.
Supports addbr/delbr and addif/delif.
@ -135,7 +191,7 @@ config BUSYBOX_CONFIG_DNSD
config BUSYBOX_CONFIG_ETHER_WAKE
bool "ether-wake"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Send a magic packet to wake up sleeping machines.
@ -318,7 +374,7 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_GZIP
config BUSYBOX_CONFIG_IFCONFIG
bool "ifconfig"
default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Ifconfig is used to configure the kernel-resident network interfaces.
@ -366,7 +422,7 @@ config BUSYBOX_CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS
config BUSYBOX_CONFIG_IFENSLAVE
bool "ifenslave"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Userspace application to bind several interfaces
to a logical interface (use with kernel bonding driver).
@ -374,7 +430,7 @@ config BUSYBOX_CONFIG_IFENSLAVE
config BUSYBOX_CONFIG_IFPLUGD
bool "ifplugd"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Network interface plug detection daemon.
@ -416,7 +472,8 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
bool "Use busybox ip applet"
default n
depends on BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP && BUSYBOX_CONFIG_PLATFORM_LINUX
depends on BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
select BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_IP
select BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
select BUSYBOX_CONFIG_FEATURE_IP_LINK
@ -535,7 +592,7 @@ config BUSYBOX_CONFIG_FEATURE_INETD_RPC
config BUSYBOX_CONFIG_IP
bool "ip"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The "ip" applet is a TCP/IP interface configuration and routing
utility. You generally don't need "ip" to use busybox with
@ -648,35 +705,6 @@ config BUSYBOX_CONFIG_FEATURE_IPCALC_LONG_OPTIONS
help
Support long options for the ipcalc applet.
config BUSYBOX_CONFIG_NAMEIF
bool "nameif"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
nameif is used to rename network interface by its MAC address.
Renamed interfaces MUST be in the down state.
It is possible to use a file (default: /etc/mactab)
with list of new interface names and MACs.
Maximum interface name length: IFNAMSIZ = 16
File fields are separated by space or tab.
File format:
# Comment
new_interface_name XX:XX:XX:XX:XX:XX
config BUSYBOX_CONFIG_FEATURE_NAMEIF_EXTENDED
bool "Extended nameif"
default n
depends on BUSYBOX_CONFIG_NAMEIF
help
This extends the nameif syntax to support the bus_info and driver
checks. The syntax is compatible to the normal nameif.
File format:
new_interface_name driver=asix bus=usb-0000:00:08.2-3
new_interface_name bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5
new_interface_name mac=00:80:C8:38:91:B5
new_interface_name 00:80:C8:38:91:B5
config BUSYBOX_CONFIG_NETMSG
bool "netmsg"
default y
@ -686,7 +714,7 @@ config BUSYBOX_CONFIG_NETMSG
config BUSYBOX_CONFIG_NETSTAT
bool "netstat"
default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
netstat prints information about the Linux networking subsystem.
@ -715,7 +743,7 @@ config BUSYBOX_CONFIG_NSLOOKUP
config BUSYBOX_CONFIG_NTPD
bool "ntpd"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The NTP client/server daemon.
@ -727,29 +755,6 @@ 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_PING
bool "ping"
default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help
ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
elicit an ICMP ECHO_RESPONSE from a host or gateway.
config BUSYBOX_CONFIG_PING6
bool "ping6"
default y
depends on BUSYBOX_CONFIG_FEATURE_IPV6 && BUSYBOX_CONFIG_PING
help
This will give you a ping that can talk IPv6.
config BUSYBOX_CONFIG_FEATURE_FANCY_PING
bool "Enable fancy ping output"
default y
depends on BUSYBOX_CONFIG_PING
help
Make the output from the ping applet include statistics, and at the
same time provide full support for ICMP packets.
config BUSYBOX_CONFIG_PSCAN
bool "pscan"
default n
@ -759,14 +764,14 @@ config BUSYBOX_CONFIG_PSCAN
config BUSYBOX_CONFIG_ROUTE
bool "route"
default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Route displays or manipulates the kernel's IP routing tables.
config BUSYBOX_CONFIG_SLATTACH
bool "slattach"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
slattach is a small utility to attach network interfaces to serial
lines.
@ -953,7 +958,7 @@ config BUSYBOX_CONFIG_TFTP_DEBUG
config BUSYBOX_CONFIG_TRACEROUTE
bool "traceroute"
default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Utility to trace the route of IP packets.
@ -990,7 +995,7 @@ config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_USE_ICMP
config BUSYBOX_CONFIG_TUNCTL
bool "tunctl"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
tunctl creates or deletes tun devices.
@ -1023,7 +1028,7 @@ config BUSYBOX_CONFIG_UDPSVD
config BUSYBOX_CONFIG_VCONFIG
bool "vconfig"
default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Creates, removes, and configures VLAN interfaces
@ -1070,7 +1075,7 @@ config BUSYBOX_CONFIG_FEATURE_WGET_TIMEOUT
config BUSYBOX_CONFIG_ZCIP
bool "zcip"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.

@ -9,7 +9,7 @@
config BUSYBOX_CONFIG_UDHCPD
bool "udhcp server (udhcpd)"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
udhcpd is a DHCP server geared primarily toward embedded systems,
while striving to be fully functional and RFC compliant.
@ -40,7 +40,21 @@ config BUSYBOX_CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY
If selected, udhcpd will write a new file with leases every
time a new lease has been accepted, thus eliminating the need
to send SIGUSR1 for the initial writing or updating. Any timed
rewriting remains undisturbed
rewriting remains undisturbed.
config BUSYBOX_CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC
bool "Select IP address based on client MAC"
default n
depends on BUSYBOX_CONFIG_UDHCPD
help
If selected, udhcpd will base its selection of IP address to offer
on the client's hardware address. Otherwise udhcpd uses the next
consecutive free address.
This reduces the frequency of IP address changes for clients
which let their lease expire, and makes consecutive DHCPOFFERS
for the same client to (almost always) contain the same
IP address.
config BUSYBOX_CONFIG_DHCPD_LEASES_FILE
string "Absolute path to lease file"
@ -53,7 +67,7 @@ config BUSYBOX_CONFIG_DHCPD_LEASES_FILE
config BUSYBOX_CONFIG_UDHCPC
bool "udhcp client (udhcpc)"
default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
udhcpc is a DHCP client geared primarily toward embedded systems,
while striving to be fully functional and RFC compliant.
@ -86,7 +100,7 @@ config BUSYBOX_CONFIG_UDHCP_DEBUG
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC || BUSYBOX_CONFIG_DHCPRELAY
help
Verbosity can be increased with multiple -v options.
This options controls how high it can be cranked up.
This option controls how high it can be cranked up.
Bigger values result in bigger code. Levels above 1
are very verbose and useful for debugging only.
@ -100,6 +114,14 @@ config BUSYBOX_CONFIG_FEATURE_UDHCP_RFC3397
search lists via option 119, specified in RFC 3397,
and SIP servers option 120, specified in RFC 3361.
config BUSYBOX_CONFIG_FEATURE_UDHCP_8021Q
bool "Support for 802.1Q VLAN parameters"
default n
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
help
If selected, both client and server will support passing of VLAN
ID and priority via options 132 and 133 as per 802.1Q.
config BUSYBOX_CONFIG_UDHCPC_DEFAULT_SCRIPT
string "Absolute path to config script"
default "/usr/share/udhcpc/default.script"

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
@ -5,6 +6,8 @@
menu "Print Utilities"
config BUSYBOX_CONFIG_LPD
bool "lpd"
default n

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
@ -15,6 +16,11 @@ config BUSYBOX_CONFIG_MPSTAT
default n
help
Per-processor statistics
config BUSYBOX_CONFIG_NMETER
bool "nmeter"
default n
help
Prints selected system stats continuously, one line per update.
config BUSYBOX_CONFIG_PMAP
bool "pmap"
default n
@ -25,17 +31,42 @@ config BUSYBOX_CONFIG_POWERTOP
default n
help
Analyze power consumption on Intel-based laptops
config BUSYBOX_CONFIG_PSTREE
bool "pstree"
default n
help
Display a tree of processes.
config BUSYBOX_CONFIG_PWDX
bool "pwdx"
default n
help
Report current working directory of a process
config BUSYBOX_CONFIG_SMEMCAP
bool "smemcap"
default n
help
smemcap is a tool for capturing process data for smem,
a memory usage statistic tool.
config BUSYBOX_CONFIG_UPTIME
bool "uptime"
default y
select BUSYBOX_CONFIG_PLATFORM_LINUX #sysinfo()
help
uptime gives a one line display of the current time, how long
the system has been running, how many users are currently logged
on, and the system load averages for the past 1, 5, and 15 minutes.
config BUSYBOX_CONFIG_FEATURE_UPTIME_UTMP_SUPPORT
bool "Support for showing the number of users"
default n
depends on BUSYBOX_CONFIG_UPTIME && BUSYBOX_CONFIG_FEATURE_UTMP
help
Makes uptime display the number of users currently logged on.
config BUSYBOX_CONFIG_FREE
bool "free"
default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX #sysinfo()
help
free displays the total amount of free and used physical and swap
memory in the system, as well as the buffers used by the kernel.
@ -71,12 +102,6 @@ config BUSYBOX_CONFIG_KILLALL5
default n
depends on BUSYBOX_CONFIG_KILL
config BUSYBOX_CONFIG_NMETER
bool "nmeter"
default n
help
Prints selected system stats continuously, one line per update.
config BUSYBOX_CONFIG_PGREP
bool "pgrep"
default y
@ -130,7 +155,8 @@ config BUSYBOX_CONFIG_FEATURE_PS_WIDE
config BUSYBOX_CONFIG_FEATURE_PS_TIME
bool "Enable time and elapsed time output"
default n
depends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP && BUSYBOX_CONFIG_PLATFORM_LINUX
depends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Support -o time and -o etime output specifiers.
@ -217,20 +243,12 @@ config BUSYBOX_CONFIG_FEATURE_TOPMEM
Enable 's' in top (gives lots of memory info).
config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS
bool "Support for showing threads in ps/top"
bool "Support for showing threads in ps/pstree/top"
default n
depends on BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_TOP
depends on BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_PSTREE
help
Enables ps -T option and 'h' command in top
config BUSYBOX_CONFIG_UPTIME
bool "uptime"
default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help
uptime gives a one line display of the current time, how long
the system has been running, how many users are currently logged
on, and the system load averages for the past 1, 5, and 15 minutes.
Enables the ps -T option, showing of threads in pstree,
and 'h' command in top.
config BUSYBOX_CONFIG_WATCH
bool "watch"

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
@ -5,6 +6,8 @@
menu "Runit Utilities"
config BUSYBOX_CONFIG_RUNSV
bool "runsv"
default n

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
@ -6,6 +7,8 @@
menu "SELinux Utilities"
depends on BUSYBOX_CONFIG_SELINUX
config BUSYBOX_CONFIG_CHCON
bool "chcon"
default n

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
@ -23,6 +24,13 @@ config BUSYBOX_CONFIG_ASH_BASH_COMPAT
help
Enable bash-compatible extensions.
config BUSYBOX_CONFIG_ASH_IDLE_TIMEOUT
bool "Idle timeout variable"
default n
depends on BUSYBOX_CONFIG_ASH
help
Enables bash-like auto-logout after $TMOUT seconds of idle time.
config BUSYBOX_CONFIG_ASH_JOB_CONTROL
bool "Job control"
default y
@ -31,7 +39,7 @@ config BUSYBOX_CONFIG_ASH_JOB_CONTROL
Enable job control in the ash shell.
config BUSYBOX_CONFIG_ASH_ALIAS
bool "alias support"
bool "Alias support"
default y
depends on BUSYBOX_CONFIG_ASH
help
@ -42,28 +50,28 @@ config BUSYBOX_CONFIG_ASH_GETOPTS
default y
depends on BUSYBOX_CONFIG_ASH
help
Enable getopts builtin in the ash shell.
Enable support for getopts builtin in ash.
config BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
bool "Builtin version of 'echo'"
default y
depends on BUSYBOX_CONFIG_ASH
help
Enable support for echo, builtin to ash.
Enable support for echo builtin in ash.
config BUSYBOX_CONFIG_ASH_BUILTIN_PRINTF
bool "Builtin version of 'printf'"
default y
depends on BUSYBOX_CONFIG_ASH
help
Enable support for printf, builtin to ash.
Enable support for printf builtin in ash.
config BUSYBOX_CONFIG_ASH_BUILTIN_TEST
bool "Builtin version of 'test'"
default y
depends on BUSYBOX_CONFIG_ASH
help
Enable support for test, builtin to ash.
Enable support for test builtin in ash.
config BUSYBOX_CONFIG_ASH_CMDCMD
bool "'command' command to override shell builtins"
@ -79,7 +87,7 @@ config BUSYBOX_CONFIG_ASH_MAIL
default n
depends on BUSYBOX_CONFIG_ASH
help
Enable "check for new mail" in the ash shell.
Enable "check for new mail" function in the ash shell.
config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
bool "Optimize for size instead of speed"
@ -112,18 +120,22 @@ config BUSYBOX_CONFIG_CTTYHACK
bool "cttyhack"
default n
help
One common problem reported on the mailing list is "can't access tty;
job control turned off" error message which typically appears when
one tries to use shell with stdin/stdout opened to /dev/console.
One common problem reported on the mailing list is the "can't
access tty; job control turned off" error message, which typically
appears when one tries to use a shell with stdin/stdout on
/dev/console.
This device is special - it cannot be a controlling tty.
Proper solution is to use correct device instead of /dev/console.
The proper solution is to use the correct device instead of
/dev/console.
cttyhack provides "quick and dirty" solution to this problem.
cttyhack provides a "quick and dirty" solution to this problem.
It analyzes stdin with various ioctls, trying to determine whether
it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
If it detects one, it closes stdin/out/err and reopens that device.
Then it executes given program. Opening the device will make
On Linux it also checks sysfs for a pointer to the active console.
If cttyhack is able to find the real console device, it closes
stdin/out/err and reopens that device.
Then it executes the given program. Opening the device will make
that device a controlling tty. This may require cttyhack
to be a session leader.
@ -395,9 +407,9 @@ config BUSYBOX_CONFIG_FEATURE_SH_NOFORK
default n
depends on (BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH) && BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
help
This option causes busybox shells [currently only ash]
to not execute typical fork/exec/wait sequence, but call <applet>_main
directly, if possible. (Sometimes it is not possible: for example,
This option causes busybox shells to not execute typical
fork/exec/wait sequence, but call <applet>_main directly,
if possible. (Sometimes it is not possible: for example,
this is not possible in pipes).
This will be done only for some applets (those which are marked
@ -405,6 +417,17 @@ config BUSYBOX_CONFIG_FEATURE_SH_NOFORK
This may significantly speed up some shell scripts.
This feature is relatively new. Use with care.
This feature is relatively new. Use with care. Report bugs
to project mailing list.
config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE
bool "Use $HISTFILESIZE"
default n
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
help
This option makes busybox shells to use $HISTFILESIZE variable
to set shell history size. Note that its max value is capped
by "History size" setting in library tuning section.
endmenu

@ -53,6 +53,13 @@ config BUSYBOX_CONFIG_FEATURE_SYSLOGD_DUP
Option -D instructs syslogd to drop consecutive messages
which are totally the same.
config BUSYBOX_CONFIG_FEATURE_SYSLOGD_CFG
bool "Support syslog.conf"
default n
depends on BUSYBOX_CONFIG_SYSLOGD
help
Supports restricted syslogd config. See docs/syslog.conf.txt
config BUSYBOX_CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE
int "Read buffer size in bytes"
default 256
@ -120,7 +127,8 @@ config BUSYBOX_CONFIG_KLOGD
config BUSYBOX_CONFIG_FEATURE_KLOGD_KLOGCTL
bool "Use the klogctl() interface"
default y
depends on BUSYBOX_CONFIG_KLOGD && BUSYBOX_CONFIG_PLATFORM_LINUX
depends on BUSYBOX_CONFIG_KLOGD
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The klogd applet supports two interfaces for reading
kernel messages. Linux provides the klogctl() interface

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
@ -19,7 +20,7 @@ config BUSYBOX_CONFIG_REV
config BUSYBOX_CONFIG_ACPID
bool "acpid"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
acpid listens to ACPI events coming either in textual form from
/proc/acpi/event (though it is marked deprecated it is still widely
@ -42,17 +43,24 @@ config BUSYBOX_CONFIG_FEATURE_ACPID_COMPAT
config BUSYBOX_CONFIG_BLKID
bool "blkid"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_VOLUMEID
help
Lists labels and UUIDs of all filesystems.
WARNING:
With all submodules selected, it will add ~8k to busybox.
config BUSYBOX_CONFIG_FEATURE_BLKID_TYPE
bool "Print filesystem type"
default n
depends on BUSYBOX_CONFIG_BLKID
help
Show TYPE="filesystem type"
config BUSYBOX_CONFIG_DMESG
bool "dmesg"
default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
dmesg is used to examine or control the kernel ring buffer. When the
Linux kernel prints messages to the system log, they are stored in
@ -86,7 +94,7 @@ config BUSYBOX_CONFIG_FEATURE_DMESG_PRETTY
config BUSYBOX_CONFIG_FBSET
bool "fbset"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
fbset is used to show or change the settings of a Linux frame buffer
device. The frame buffer device provides a simple and unique
@ -115,7 +123,7 @@ config BUSYBOX_CONFIG_FEATURE_FBSET_READMODE
config BUSYBOX_CONFIG_FDFLUSH
bool "fdflush"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
fdflush is only needed when changing media on slightly-broken
removable media drives. It is used to make Linux believe that a
@ -128,14 +136,14 @@ config BUSYBOX_CONFIG_FDFLUSH
config BUSYBOX_CONFIG_FDFORMAT
bool "fdformat"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
fdformat is used to low-level format a floppy disk.
config BUSYBOX_CONFIG_FDISK
bool "fdisk"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The fdisk utility is used to divide hard disks into one or more
logical disks, which are generally called partitions. This utility
@ -146,6 +154,7 @@ config BUSYBOX_CONFIG_FDISK_SUPPORT_LARGE_DISKS
bool "Support over 4GB disks"
default y
depends on BUSYBOX_CONFIG_FDISK
depends on !BUSYBOX_CONFIG_LFS # with LFS no special code is needed
help
Enable this option to support large disks > 4GB.
@ -211,7 +220,7 @@ config BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED
config BUSYBOX_CONFIG_FINDFS
bool "findfs"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_VOLUMEID
help
Prints the name of a filesystem with given label or UUID.
@ -227,7 +236,7 @@ config BUSYBOX_CONFIG_FLOCK
config BUSYBOX_CONFIG_FREERAMDISK
bool "freeramdisk"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Linux allows you to create ramdisks. This utility allows you to
delete them and completely free all memory that was used for the
@ -250,14 +259,14 @@ config BUSYBOX_CONFIG_FSCK_MINIX
config BUSYBOX_CONFIG_MKFS_EXT2
bool "mkfs_ext2"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Utility to create EXT2 filesystems.
config BUSYBOX_CONFIG_MKFS_MINIX
bool "mkfs_minix"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The minix filesystem is a nice, small, compact, read-write filesystem
with little overhead. If you wish to be able to create minix
@ -275,7 +284,7 @@ config BUSYBOX_CONFIG_FEATURE_MINIX2
config BUSYBOX_CONFIG_MKFS_REISER
bool "mkfs_reiser"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Utility to create ReiserFS filesystems.
Note: this applet needs a lot of testing and polishing.
@ -283,7 +292,7 @@ config BUSYBOX_CONFIG_MKFS_REISER
config BUSYBOX_CONFIG_MKFS_VFAT
bool "mkfs_vfat"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Utility to create FAT32 filesystems.
@ -332,7 +341,7 @@ config BUSYBOX_CONFIG_HD
config BUSYBOX_CONFIG_HWCLOCK
bool "hwclock"
default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The hwclock utility is used to read and set the hardware clock
on a system. This is primarily used to set the current time on
@ -350,7 +359,7 @@ config BUSYBOX_CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS
config BUSYBOX_CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS
bool "Use FHS /var/lib/hwclock/adjtime"
default n
default n # util-linux-ng in Fedora 13 still uses /etc/adjtime
depends on BUSYBOX_CONFIG_HWCLOCK
help
Starting with FHS 2.3, the adjtime state file is supposed to exist
@ -371,7 +380,7 @@ config BUSYBOX_CONFIG_IPCRM
config BUSYBOX_CONFIG_IPCS
bool "ipcs"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The ipcs utility is used to provide information on the currently
allocated System V interprocess (IPC) objects in the system.
@ -379,7 +388,7 @@ config BUSYBOX_CONFIG_IPCS
config BUSYBOX_CONFIG_LOSETUP
bool "losetup"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
losetup is used to associate or detach a loop device with a regular
file or block device, and to query the status of a loop device. This
@ -388,6 +397,7 @@ config BUSYBOX_CONFIG_LOSETUP
config BUSYBOX_CONFIG_LSPCI
bool "lspci"
default n
#select PLATFORM_LINUX
help
lspci is a utility for displaying information about PCI buses in the
system and devices connected to them.
@ -397,6 +407,7 @@ config BUSYBOX_CONFIG_LSPCI
config BUSYBOX_CONFIG_LSUSB
bool "lsusb"
default n
#select PLATFORM_LINUX
help
lsusb is a utility for displaying information about USB buses in the
system and devices connected to them.
@ -406,7 +417,7 @@ config BUSYBOX_CONFIG_LSUSB
config BUSYBOX_CONFIG_MDEV
bool "mdev"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
mdev is a mini-udev implementation for dynamically creating device
nodes in the /dev directory.
@ -494,7 +505,7 @@ config BUSYBOX_CONFIG_MORE
config BUSYBOX_CONFIG_MOUNT
bool "mount"
default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
All files and filesystems in Unix are arranged into one big directory
tree. The 'mount' utility is used to graft a filesystem onto a
@ -577,7 +588,7 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_FSTAB
config BUSYBOX_CONFIG_PIVOT_ROOT
bool "pivot_root"
default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The pivot_root utility swaps the mount points for the root filesystem
with some other mounted filesystem. This allows you to do all sorts
@ -589,7 +600,7 @@ config BUSYBOX_CONFIG_PIVOT_ROOT
config BUSYBOX_CONFIG_RDATE
bool "rdate"
default y
default n
help
The rdate utility allows you to synchronize the date and time of your
system clock with the date and time of a remote networked system using
@ -605,13 +616,14 @@ config BUSYBOX_CONFIG_RDEV
config BUSYBOX_CONFIG_READPROFILE
bool "readprofile"
default n
#select PLATFORM_LINUX
help
This allows you to parse /proc/profile for basic profiling.
config BUSYBOX_CONFIG_RTCWAKE
bool "rtcwake"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Enter a system sleep state until specified wakeup time.
@ -631,7 +643,7 @@ config BUSYBOX_CONFIG_SCRIPTREPLAY
config BUSYBOX_CONFIG_SETARCH
bool "setarch"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The linux32 utility is used to create a 32bit environment for the
specified program (usually a shell). It only makes sense to have
@ -641,7 +653,7 @@ config BUSYBOX_CONFIG_SETARCH
config BUSYBOX_CONFIG_SWAPONOFF
bool "swaponoff"
default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This option enables both the 'swapon' and the 'swapoff' utilities.
Once you have created some swap space using 'mkswap', you also need
@ -660,7 +672,7 @@ config BUSYBOX_CONFIG_FEATURE_SWAPON_PRI
config BUSYBOX_CONFIG_SWITCH_ROOT
bool "switch_root"
default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The switch_root utility is used from initramfs to select a new
root device. Under initramfs, you have to use this instead of
@ -680,7 +692,7 @@ config BUSYBOX_CONFIG_SWITCH_ROOT
config BUSYBOX_CONFIG_UMOUNT
bool "umount"
default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
When you want to remove a mounted filesystem from its current mount
point, for example when you are shutting down the system, the
@ -801,7 +813,7 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_JFS
### config FEATURE_VOLUMEID_UFS
### bool "ufs filesystem"
### default n
### default y
### depends on VOLUMEID
### help
### TODO
@ -885,7 +897,7 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_SYSV
### config FEATURE_VOLUMEID_MINIX
### bool "minix filesystem"
### default n
### default y
### depends on VOLUMEID
### help
### TODO
@ -893,14 +905,14 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_SYSV
### These only detect partition tables - not used (yet?)
### config FEATURE_VOLUMEID_MAC
### bool "mac filesystem"
### default n
### default y
### depends on VOLUMEID
### help
### TODO
###
### config FEATURE_VOLUMEID_MSDOS
### bool "msdos filesystem"
### default n
### default y
### depends on VOLUMEID
### help
### TODO
@ -914,49 +926,49 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_OCFS2
### config FEATURE_VOLUMEID_HIGHPOINTRAID
### bool "highpoint raid"
### default n
### default y
### depends on VOLUMEID
### help
### TODO
### config FEATURE_VOLUMEID_ISWRAID
### bool "intel raid"
### default n
### default y
### depends on VOLUMEID
### help
### TODO
### config FEATURE_VOLUMEID_LSIRAID
### bool "lsi raid"
### default n
### default y
### depends on VOLUMEID
### help
### TODO
### config FEATURE_VOLUMEID_VIARAID
### bool "via raid"
### default n
### default y
### depends on VOLUMEID
### help
### TODO
### config FEATURE_VOLUMEID_SILICONRAID
### bool "silicon raid"
### default n
### default y
### depends on VOLUMEID
### help
### TODO
### config FEATURE_VOLUMEID_NVIDIARAID
### bool "nvidia raid"
### default n
### default y
### depends on VOLUMEID
### help
### TODO
### config FEATURE_VOLUMEID_PROMISERAID
### bool "promise raid"
### default n
### default y
### depends on VOLUMEID
### help
### TODO

@ -0,0 +1,11 @@
--- a/include/platform.h
+++ b/include/platform.h
@@ -433,7 +433,7 @@ typedef unsigned smalluint;
# undef HAVE_STPCPY
#endif
-#if defined(ANDROID)
+#if defined(ANDROID) || defined(__ANDROID__)
# undef HAVE_DPRINTF
# undef HAVE_GETLINE
# undef HAVE_STPCPY

@ -0,0 +1,19 @@
--- a/applets/applet_tables.c
+++ b/applets/applet_tables.c
@@ -80,8 +80,15 @@ int main(int argc, char **argv)
printf("#define NUM_APPLETS %u\n", NUM_APPLETS);
if (NUM_APPLETS == 1) {
+ char *dash_to_underscore, *p;
printf("#define SINGLE_APPLET_STR \"%s\"\n", applets[0].name);
- printf("#define SINGLE_APPLET_MAIN %s_main\n", applets[0].name);
+ /* Example: "ether-wake" -> "ether_wake" */
+ p = dash_to_underscore = strdup(applets[0].name);
+ p--;
+ while (*++p)
+ if (*p == '-')
+ *p = '_';
+ printf("#define SINGLE_APPLET_MAIN %s_main\n", dash_to_underscore);
}
printf("\n");

@ -0,0 +1,55 @@
--- a/loginutils/chpasswd.c
+++ b/loginutils/chpasswd.c
@@ -33,9 +33,8 @@ static const char chpasswd_longopts[] AL
int chpasswd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int chpasswd_main(int argc UNUSED_PARAM, char **argv)
{
- char *name, *pass;
- char salt[sizeof("$N$XXXXXXXX")];
- int opt, rc;
+ char *name;
+ int opt;
if (getuid() != 0)
bb_error_msg_and_die(bb_msg_perm_denied_are_you_root);
@@ -45,6 +44,10 @@ int chpasswd_main(int argc UNUSED_PARAM,
opt = getopt32(argv, "em");
while ((name = xmalloc_fgetline(stdin)) != NULL) {
+ char *free_me;
+ char *pass;
+ int rc;
+
pass = strchr(name, ':');
if (!pass)
bb_error_msg_and_die("missing new password");
@@ -52,7 +55,10 @@ int chpasswd_main(int argc UNUSED_PARAM,
xuname2uid(name); /* dies if there is no such user */
+ free_me = NULL;
if (!(opt & OPT_ENC)) {
+ char salt[sizeof("$N$XXXXXXXX")];
+
crypt_make_salt(salt, 1);
if (opt & OPT_MD5) {
salt[0] = '$';
@@ -60,7 +66,7 @@ int chpasswd_main(int argc UNUSED_PARAM,
salt[2] = '$';
crypt_make_salt(salt + 3, 4);
}
- pass = pw_encrypt(pass, salt, 0);
+ free_me = pass = pw_encrypt(pass, salt, 0);
}
/* This is rather complex: if user is not found in /etc/shadow,
@@ -81,8 +87,7 @@ int chpasswd_main(int argc UNUSED_PARAM,
bb_info_msg("Password for '%s' changed", name);
logmode = LOGMODE_STDIO;
free(name);
- if (!(opt & OPT_ENC))
- free(pass);
+ free(free_me);
}
return EXIT_SUCCESS;
}

@ -0,0 +1,12 @@
--- a/miscutils/crond.c
+++ b/miscutils/crond.c
@@ -861,7 +861,8 @@ int crond_main(int argc UNUSED_PARAM, ch
/* "-b after -f is ignored", and so on for every pair a-b */
opt_complementary = "f-b:b-f:S-L:L-S" IF_FEATURE_CROND_D(":d-l")
- ":l+:d+"; /* -l and -d have numeric param */
+ /* -l and -d have numeric param */
+ ":l+" IF_FEATURE_CROND_D(":d+");
opts = getopt32(argv, "l:L:fbSc:" IF_FEATURE_CROND_D("d:"),
&G.log_level, &G.log_filename, &G.crontab_dir_name
IF_FEATURE_CROND_D(,&G.log_level));

@ -0,0 +1,47 @@
--- a/networking/inetd.c
+++ b/networking/inetd.c
@@ -1278,6 +1278,7 @@ int inetd_main(int argc UNUSED_PARAM, ch
sep->se_count = 0;
rearm_alarm(); /* will revive it in RETRYTIME sec */
restore_sigmask(&omask);
+ maybe_close(new_udp_fd);
maybe_close(accepted_fd);
continue; /* -> check next fd in fd set */
}
@@ -1298,17 +1299,18 @@ int inetd_main(int argc UNUSED_PARAM, ch
bb_perror_msg("vfork"+1);
sleep(1);
restore_sigmask(&omask);
+ maybe_close(new_udp_fd);
maybe_close(accepted_fd);
continue; /* -> check next fd in fd set */
}
if (pid == 0)
pid--; /* -1: "we did fork and we are child" */
}
- /* if pid == 0 here, we never forked */
+ /* if pid == 0 here, we didn't fork */
if (pid > 0) { /* parent */
if (sep->se_wait) {
- /* tcp wait: we passed listening socket to child,
+ /* wait: we passed socket to child,
* will wait for child to terminate */
sep->se_wait = pid;
remove_fd_from_set(sep->se_fd);
@@ -1345,9 +1347,13 @@ int inetd_main(int argc UNUSED_PARAM, ch
setsid();
/* "nowait" udp */
if (new_udp_fd >= 0) {
- len_and_sockaddr *lsa = xzalloc_lsa(sep->se_family);
+ len_and_sockaddr *lsa;
+ int r;
+
+ close(new_udp_fd);
+ lsa = xzalloc_lsa(sep->se_family);
/* peek at the packet and remember peer addr */
- int r = recvfrom(ctrl, NULL, 0, MSG_PEEK|MSG_DONTWAIT,
+ r = recvfrom(ctrl, NULL, 0, MSG_PEEK|MSG_DONTWAIT,
&lsa->u.sa, &lsa->len);
if (r < 0)
goto do_exit1;

@ -0,0 +1,20 @@
--- a/sysklogd/syslogd.c
+++ b/sysklogd/syslogd.c
@@ -278,7 +278,7 @@ static void parse_syslogdcfg(const char
parser_t *parser;
parser = config_open2(file ? file : "/etc/syslog.conf",
- file ? xfopen_for_read : fopen_or_warn_stdin);
+ file ? xfopen_for_read : fopen_for_read);
if (!parser)
/* didn't find default /etc/syslog.conf */
/* proceed as if we built busybox without config support */
@@ -678,7 +678,7 @@ static void timestamp_and_log(int pri, c
if (LOG_PRI(pri) < G.logLevel) {
#if ENABLE_FEATURE_IPC_SYSLOG
if ((option_mask32 & OPT_circularlog) && G.shbuf) {
- log_to_shmem(msg);
+ log_to_shmem(G.printbuf);
return;
}
#endif

@ -0,0 +1,43 @@
--- a/coreutils/tail.c
+++ b/coreutils/tail.c
@@ -203,7 +203,7 @@ int tail_main(int argc, char **argv)
int fd = fds[i];
if (ENABLE_FEATURE_FANCY_TAIL && fd < 0)
- continue; /* may happen with -E */
+ continue; /* may happen with -F */
if (nfiles > header_threshhold) {
tail_xprint_header(fmt, argv[i]);
@@ -252,14 +252,14 @@ int tail_main(int argc, char **argv)
* Used only by +N code ("start from Nth", 1-based): */
seen = 1;
newlines_seen = 0;
- while ((nread = tail_read(fd, buf, tailbufsize-taillen)) > 0) {
+ while ((nread = tail_read(fd, buf, tailbufsize - taillen)) > 0) {
if (G.from_top) {
int nwrite = nread;
if (seen < count) {
/* We need to skip a few more bytes/lines */
if (COUNT_BYTES) {
nwrite -= (count - seen);
- seen = count;
+ seen += nread;
} else {
char *s = buf;
do {
--- a/testsuite/tail.tests
+++ b/testsuite/tail.tests
@@ -14,4 +14,12 @@ testing "tail: +N with N > file length"
"0\n" \
"" "qw"
+testing "tail: -c +N with largish N" \
+ "
+ dd if=/dev/zero bs=16k count=1 2>/dev/null | tail -c +8200 | wc -c;
+ dd if=/dev/zero bs=16k count=1 2>/dev/null | tail -c +8208 | wc -c;
+ " \
+ "8185\n8177\n" \
+ "" ""
+
exit $FAILCOUNT

@ -0,0 +1,12 @@
--- a/networking/tftp.c
+++ b/networking/tftp.c
@@ -813,7 +813,8 @@ int tftpd_main(int argc UNUSED_PARAM, ch
goto err;
}
mode = local_file + strlen(local_file) + 1;
- if (mode >= block_buf + result || strcmp(mode, "octet") != 0) {
+ /* RFC 1350 says mode string is case independent */
+ if (mode >= block_buf + result || strcasecmp(mode, "octet") != 0) {
goto err;
}
# if ENABLE_FEATURE_TFTP_BLOCKSIZE

@ -1,6 +1,6 @@
--- a/init/init.c
+++ b/init/init.c
@@ -572,8 +572,11 @@ static void run_actions(int action_type)
@@ -573,8 +573,11 @@ static void run_actions(int action_type)
/* Only run stuff with pid == 0. If pid != 0,
* it is already running
*/

@ -1,6 +1,6 @@
--- a/networking/brctl.c
+++ b/networking/brctl.c
@@ -105,7 +105,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
@@ -129,7 +129,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
"setageing\0" "setfd\0" "sethello\0" "setmaxage\0"
"setpathcost\0" "setportprio\0" "setbridgeprio\0"
)
@ -9,7 +9,7 @@
enum { ARG_addbr = 0, ARG_delbr, ARG_addif, ARG_delif
IF_FEATURE_BRCTL_FANCY(,
@@ -113,7 +113,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
@@ -137,7 +137,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
ARG_setageing, ARG_setfd, ARG_sethello, ARG_setmaxage,
ARG_setpathcost, ARG_setportprio, ARG_setbridgeprio
)

@ -1,6 +1,6 @@
--- a/networking/wget.c
+++ b/networking/wget.c
@@ -597,7 +597,7 @@ int wget_main(int argc UNUSED_PARAM, cha
@@ -872,7 +872,7 @@ int wget_main(int argc UNUSED_PARAM, cha
/* Ignored: */
// "tries\0" Required_argument "t"
/* Ignored (we always use PASV): */

@ -1,6 +1,6 @@
--- a/miscutils/crond.c
+++ b/miscutils/crond.c
@@ -24,7 +24,7 @@
@@ -37,7 +37,7 @@
#define TMPDIR CONFIG_FEATURE_CROND_DIR
@ -11,7 +11,7 @@
#endif
--- a/miscutils/crontab.c
+++ b/miscutils/crontab.c
@@ -12,7 +12,7 @@
@@ -22,7 +22,7 @@
#include "libbb.h"

@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -1196,7 +1196,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
@@ -1257,7 +1257,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
switch (state) {
case INIT_SELECTING:
@ -9,7 +9,7 @@
if (packet_num == 0)
xid = random_xid();
/* broadcast */
@@ -1225,7 +1225,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
@@ -1286,7 +1286,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
packet_num = 0;
continue;
case REQUESTING:

@ -1,6 +1,6 @@
--- a/networking/udhcp/packet.c
+++ b/networking/udhcp/packet.c
@@ -165,6 +165,11 @@ uint16_t FAST_FUNC udhcp_checksum(void *
@@ -158,6 +158,11 @@ uint16_t FAST_FUNC udhcp_checksum(void *
return ~sum;
}
@ -12,7 +12,7 @@
/* Construct a ip/udp header for a packet, send packet */
int FAST_FUNC udhcp_send_raw_packet(struct dhcp_packet *dhcp_pkt,
uint32_t source_nip, int source_port,
@@ -173,10 +178,10 @@ int FAST_FUNC udhcp_send_raw_packet(stru
@@ -166,10 +171,10 @@ int FAST_FUNC udhcp_send_raw_packet(stru
{
struct sockaddr_ll dest_sll;
struct ip_udp_dhcp_packet packet;
@ -24,7 +24,7 @@
fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP));
if (fd < 0) {
@@ -185,8 +190,8 @@ int FAST_FUNC udhcp_send_raw_packet(stru
@@ -178,8 +183,8 @@ int FAST_FUNC udhcp_send_raw_packet(stru
}
memset(&dest_sll, 0, sizeof(dest_sll));
@ -35,7 +35,7 @@
dest_sll.sll_family = AF_PACKET;
dest_sll.sll_protocol = htons(ETH_P_IP);
@@ -199,36 +204,24 @@ int FAST_FUNC udhcp_send_raw_packet(stru
@@ -192,36 +197,24 @@ int FAST_FUNC udhcp_send_raw_packet(stru
goto ret_close;
}
@ -78,7 +78,7 @@
(struct sockaddr *) &dest_sll, sizeof(dest_sll));
msg = "sendto";
ret_close:
@@ -246,7 +239,6 @@ int FAST_FUNC udhcp_send_kernel_packet(s
@@ -239,7 +232,6 @@ int FAST_FUNC udhcp_send_kernel_packet(s
uint32_t dest_nip, int dest_port)
{
struct sockaddr_in client;
@ -86,7 +86,7 @@
int fd;
int result = -1;
const char *msg;
@@ -277,9 +269,7 @@ int FAST_FUNC udhcp_send_kernel_packet(s
@@ -270,9 +262,7 @@ int FAST_FUNC udhcp_send_kernel_packet(s
}
udhcp_dump_packet(dhcp_pkt);

@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -436,6 +436,7 @@ static int raw_bcast_from_client_config_
@@ -540,6 +540,7 @@ static int raw_bcast_from_client_config_
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),
@@ -453,6 +454,7 @@ static NOINLINE int send_discover(uint32
@@ -557,6 +558,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
@@ -1144,6 +1144,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
@@ -1205,6 +1205,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
/* silence "uninitialized!" warning */
unsigned timestamp_before_wait = timestamp_before_wait;

@ -1,24 +1,24 @@
--- a/networking/udhcp/common.c
+++ b/networking/udhcp/common.c
@@ -56,6 +56,8 @@ const struct dhcp_optflag dhcp_optflags[
@@ -60,6 +60,8 @@ const struct dhcp_optflag dhcp_optflags[
{ OPTION_U8 , 0x85 }, /* DHCP_VLAN_PRIORITY */
#endif
{ OPTION_STATIC_ROUTES , 0x79 }, /* DHCP_STATIC_ROUTES */
{ OPTION_STATIC_ROUTES , 0xf9 }, /* DHCP_MS_STATIC_ROUTES */
+ { OPTION_6RD , 0xd4 }, /* DHCP_6RD (RFC) */
+ { OPTION_6RD , 0x96 }, /* DHCP_6RD (Comcast) */
{ OPTION_STRING , 0xfc }, /* DHCP_WPAD */
/* Options below have no match in dhcp_option_strings[],
@@ -119,6 +121,8 @@ const char dhcp_option_strings[] ALIGN1
// is not handled yet by "string->option" conversion code:
"staticroutes" "\0"/* DHCP_STATIC_ROUTES */
@@ -127,6 +129,8 @@ const char dhcp_option_strings[] ALIGN1
"vlanpriority" "\0"/* DHCP_VLAN_PRIORITY */
#endif
"msstaticroutes""\0"/* DHCP_MS_STATIC_ROUTES */
+ "ip6rd" "\0" /* DHCP_6RD (RFC) */
+ "ip6rd" "\0" /* DHCP_6RD (Comcast) */
"wpad" "\0" /* DHCP_WPAD */
;
@@ -146,6 +150,7 @@ const uint8_t dhcp_option_lengths[] ALIG
@@ -154,6 +158,7 @@ const uint8_t dhcp_option_lengths[] ALIG
[OPTION_S32] = 4,
/* Just like OPTION_STRING, we use minimum length here */
[OPTION_STATIC_ROUTES] = 5,
@ -38,7 +38,7 @@
OPTION_SIP_SERVERS,
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -45,6 +45,7 @@ static const uint8_t len_of_option_as_st
@@ -100,6 +100,7 @@ static const uint8_t len_of_option_as_st
[OPTION_IP ] = sizeof("255.255.255.255 "),
[OPTION_IP_PAIR ] = sizeof("255.255.255.255 ") * 2,
[OPTION_STATIC_ROUTES ] = sizeof("255.255.255.255/32 255.255.255.255 "),
@ -46,7 +46,7 @@
[OPTION_STRING ] = 1,
#if ENABLE_FEATURE_UDHCP_RFC3397
[OPTION_DNS_STRING ] = 1, /* unused */
@@ -68,6 +69,23 @@ static int sprint_nip(char *dest, const
@@ -123,6 +124,23 @@ static int sprint_nip(char *dest, const
return sprintf(dest, "%s%u.%u.%u.%u", pre, ip[0], ip[1], ip[2], ip[3]);
}
@ -70,7 +70,7 @@
/* really simple implementation, just count the bits */
static int mton(uint32_t mask)
{
@@ -177,6 +195,70 @@ static NOINLINE char *xmalloc_optname_op
@@ -232,6 +250,70 @@ static NOINLINE char *xmalloc_optname_op
return ret;
}

@ -1,6 +1,6 @@
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -12532,8 +12532,17 @@ exportcmd(int argc UNUSED_PARAM, char **
@@ -12611,8 +12611,17 @@ exportcmd(int argc UNUSED_PARAM, char **
const char *p;
char **aptr;
int flag = argv[0][0] == 'r' ? VREADONLY : VEXPORT;
@ -19,7 +19,7 @@
aptr = argptr;
name = *aptr;
if (name) {
@@ -12545,10 +12554,12 @@ exportcmd(int argc UNUSED_PARAM, char **
@@ -12624,10 +12633,12 @@ exportcmd(int argc UNUSED_PARAM, char **
vp = *findvar(hashvar(name), name);
if (vp) {
vp->flags |= flag;

@ -1,35 +1,18 @@
--- a/include/applets.src.h
+++ b/include/applets.src.h
@@ -256,6 +256,7 @@ IF_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_D
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))
+IF_NETMSG(APPLET(netmsg, _BB_DIR_BIN, _BB_SUID_REQUIRE))
IF_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_DROP))
IF_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_DROP))
IF_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_DROP))
--- a/include/usage.src.h
+++ b/include/usage.src.h
@@ -1,3 +1,4 @@
+
/* vi: set sw=8 ts=8: */
/*
* This file suffers from chronically incorrect tabification
@@ -2706,6 +2707,9 @@ INSERT
" or\n" \
"$ nameif -c /etc/my_mactab_file\n" \
+#define netmsg_trivial_usage NOUSAGE_STR
+#define netmsg_full_usage ""
+
#define nmeter_trivial_usage \
"format_string"
#define nmeter_full_usage "\n\n" \
@@ -266,6 +266,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))
+IF_NETMSG(APPLET(netmsg, BB_DIR_BIN, BB_SUID_REQUIRE))
IF_NETSTAT(APPLET(netstat, BB_DIR_BIN, BB_SUID_DROP))
IF_NICE(APPLET(nice, BB_DIR_BIN, BB_SUID_DROP))
IF_NOHUP(APPLET(nohup, BB_DIR_USR_BIN, BB_SUID_DROP))
--- a/networking/Config.src
+++ b/networking/Config.src
@@ -640,6 +640,12 @@ config FEATURE_NAMEIF_EXTENDED
new_interface_name mac=00:80:C8:38:91:B5
new_interface_name 00:80:C8:38:91:B5
@@ -612,6 +612,12 @@ config FEATURE_IPCALC_LONG_OPTIONS
help
Support long options for the ipcalc applet.
+config NETMSG
+ bool "netmsg"
@ -52,7 +35,7 @@
lib-$(CONFIG_NTPD) += ntpd.o
--- /dev/null
+++ b/networking/netmsg.c
@@ -0,0 +1,63 @@
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
+ *
@ -67,6 +50,8 @@
+#include <string.h>
+#include "busybox.h"
+
+//usage:#define netmsg_trivial_usage NOUSAGE_STR
+//usage:#define netmsg_full_usage ""
+
+#ifndef CONFIG_NETMSG
+int main(int argc, char **argv)

@ -3,7 +3,7 @@
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -1742,21 +1742,32 @@ static int check_user_passwd(const char
@@ -1772,21 +1772,32 @@ static int check_user_passwd(const char
if (ENABLE_FEATURE_HTTPD_AUTH_MD5) {
char *md5_passwd;

@ -1,28 +1,16 @@
--- a/include/applets.src.h
+++ b/include/applets.src.h
@@ -213,6 +213,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))
+IF_LOCK(APPLET(lock, _BB_DIR_BIN, _BB_SUID_DROP))
IF_LOGGER(APPLET(logger, _BB_DIR_USR_BIN, _BB_SUID_DROP))
IF_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_REQUIRE))
IF_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_DROP, logname))
--- a/include/usage.src.h
+++ b/include/usage.src.h
@@ -2089,6 +2089,9 @@ INSERT
#define loadkmap_example_usage \
"$ loadkmap < /etc/i18n/lang-keymap\n"
+#define lock_trivial_usage NOUSAGE_STR
+#define lock_full_usage ""
+
#define logger_trivial_usage \
"[OPTIONS] [MESSAGE]"
#define logger_full_usage "\n\n" \
@@ -218,6 +218,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))
+IF_LOCK(APPLET(lock, BB_DIR_BIN, BB_SUID_DROP))
IF_LOGGER(APPLET(logger, BB_DIR_USR_BIN, BB_SUID_DROP))
/* Needs to be run by root or be suid root - needs to change uid and gid: */
IF_LOGIN(APPLET(login, BB_DIR_BIN, BB_SUID_REQUIRE))
--- a/miscutils/Config.src
+++ b/miscutils/Config.src
@@ -485,6 +485,11 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
@@ -419,6 +419,11 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
help
Enables the 'hdparm -d' option to get/set using_dma flag.
@ -46,7 +34,7 @@
lib-$(CONFIG_MICROCOM) += microcom.o
--- /dev/null
+++ b/miscutils/lock.c
@@ -0,0 +1,132 @@
@@ -0,0 +1,135 @@
+/*
+ * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
+ *
@ -61,6 +49,9 @@
+#include <stdio.h>
+#include "busybox.h"
+
+//usage:#define lock_trivial_usage NOUSAGE_STR
+//usage:#define lock_full_usage ""
+
+static int unlock = 0;
+static int shared = 0;
+static int waitonly = 0;

@ -1,27 +1,23 @@
--- a/include/usage.src.h
+++ b/include/usage.src.h
@@ -1623,7 +1623,8 @@ INSERT
IF_FEATURE_HTTPD_SETUID(" [-u USER[:GRP]]") \
IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]") \
" [-h HOME]\n" \
- "or httpd -d/-e" IF_FEATURE_HTTPD_AUTH_MD5("/-m") " STRING"
+ "or httpd -d/-e" IF_FEATURE_HTTPD_AUTH_MD5("/-m") " STRING" \
+ " [-R <path> [-H <host>]]"
#define httpd_full_usage "\n\n" \
"Listen for incoming HTTP requests\n" \
"\nOptions:" \
@@ -1641,6 +1642,8 @@ INSERT
"\n -m STRING MD5 crypt STRING") \
"\n -e STRING HTML encode STRING" \
"\n -d STRING URL decode STRING" \
+ "\n -R PATH Redirect target path" \
+ "\n -H HOST Redirect target host" \
#define hwclock_trivial_usage \
IF_FEATURE_HWCLOCK_LONG_OPTIONS( \
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -243,6 +243,8 @@ struct globals {
@@ -105,6 +105,7 @@
//usage: IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]")
//usage: " [-h HOME]\n"
//usage: "or httpd -d/-e" IF_FEATURE_HTTPD_AUTH_MD5("/-m") " STRING"
+//usage: " [-R <path> [-H <host>]]"
//usage:#define httpd_full_usage "\n\n"
//usage: "Listen for incoming HTTP requests\n"
//usage: "\n -i Inetd mode"
@@ -121,6 +122,8 @@
//usage: "\n -m STRING MD5 crypt STRING")
//usage: "\n -e STRING HTML encode STRING"
//usage: "\n -d STRING URL decode STRING"
+//usage: "\n -R PATH Redirect target path"
+//usage: "\n -H HOST Redirect target host"
#include "libbb.h"
#if ENABLE_FEATURE_HTTPD_USE_SENDFILE
@@ -272,6 +275,8 @@ struct globals {
const char *found_mime_type;
const char *found_moved_temporarily;
@ -30,7 +26,7 @@
Htaccess_IP *ip_a_d; /* config allow/deny lines */
IF_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
@@ -293,6 +295,8 @@ struct globals {
@@ -322,6 +327,8 @@ struct globals {
#define index_page (G.index_page )
#define found_mime_type (G.found_mime_type )
#define found_moved_temporarily (G.found_moved_temporarily)
@ -39,7 +35,7 @@
#define last_mod (G.last_mod )
#define ip_a_d (G.ip_a_d )
#define g_realm (G.g_realm )
@@ -999,8 +1003,11 @@ static void send_headers(int responseNum
@@ -1028,8 +1035,11 @@ static void send_headers(int responseNum
}
#endif
if (responseNum == HTTP_MOVED_TEMPORARILY) {
@ -52,7 +48,7 @@
(g_query ? "?" : ""),
(g_query ? g_query : ""));
}
@@ -1967,8 +1974,12 @@ static void handle_incoming_and_exit(con
@@ -1997,8 +2007,12 @@ static void handle_incoming_and_exit(con
} while (*++tptr);
*++urlp = '\0'; /* terminate after last character */
@ -66,7 +62,7 @@
if (is_directory(urlcopy + 1, 1, NULL)) {
found_moved_temporarily = urlcopy;
}
@@ -2325,7 +2336,9 @@ static void sighup_handler(int sig UNUSE
@@ -2355,7 +2369,9 @@ static void sighup_handler(int sig UNUSE
}
enum {
@ -77,7 +73,7 @@
d_opt_decode_url,
h_opt_home_httpd,
IF_FEATURE_HTTPD_ENCODE_URL_STR(e_opt_encode_url,)
@@ -2374,12 +2387,13 @@ int httpd_main(int argc UNUSED_PARAM, ch
@@ -2404,12 +2420,13 @@ int httpd_main(int argc UNUSED_PARAM, ch
/* We do not "absolutize" path given by -h (home) opt.
* If user gives relative path in -h,
* $SCRIPT_FILENAME will not be set. */

@ -1,6 +1,6 @@
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -1261,10 +1261,10 @@ static NOINLINE void cgi_io_loop_and_exi
@@ -1294,10 +1294,10 @@ static NOINLINE void cgi_io_loop_and_exi
if (full_write(STDOUT_FILENO, HTTP_200, sizeof(HTTP_200)-1) != sizeof(HTTP_200)-1)
break;
}

@ -1,6 +1,6 @@
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -1853,6 +1853,7 @@ static void handle_incoming_and_exit(con
@@ -1886,6 +1886,7 @@ static void handle_incoming_and_exit(con
char *header_ptr = header_ptr;
Htaccess_Proxy *proxy_entry;
#endif

@ -1,3 +1,14 @@
--- a/modutils/Config.src
+++ b/modutils/Config.src
@@ -247,7 +247,7 @@ config FEATURE_MODUTILS_SYMBOLS
config DEFAULT_MODULES_DIR
string "Default directory containing modules"
default "/lib/modules"
- depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO
+ depends on DEPMOD || INSMOD || MODPROBE || MODPROBE_SMALL || MODINFO
help
Directory that contains kernel modules.
Defaults to "/lib/modules"
--- a/modutils/insmod.c
+++ b/modutils/insmod.c
@@ -11,6 +11,106 @@
@ -107,16 +118,16 @@
/* 2.6 style insmod has no options and required filename
* (not module name - .ko can't be omitted) */
@@ -59,9 +159,15 @@ int insmod_main(int argc UNUSED_PARAM, c
@@ -58,9 +158,15 @@ int insmod_main(int argc UNUSED_PARAM, c
if (!filename)
bb_show_usage();
- rc = bb_init_module(filename, parse_cmdline_module_options(argv));
- rc = bb_init_module(filename, parse_cmdline_module_options(argv, /*quote_spaces:*/ 0));
+ rc = find_module(filename);
+ if (rc || (g_filename == NULL))
+ goto done;
+ goto done;
+
+ rc = bb_init_module(g_filename, parse_cmdline_module_options(argv));
+ rc = bb_init_module(g_filename, parse_cmdline_module_options(argv, /*quote_spaces:*/ 0));
if (rc)
bb_error_msg("can't insert '%s': %s", filename, moderror(rc));
+ free (g_filename);
@ -124,14 +135,3 @@
+done:
return rc;
}
--- a/modutils/Config.src
+++ b/modutils/Config.src
@@ -229,7 +229,7 @@ config FEATURE_MODUTILS_SYMBOLS
config DEFAULT_MODULES_DIR
string "Default directory containing modules"
default "/lib/modules"
- depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO
+ depends on DEPMOD || INSMOD || MODPROBE || MODPROBE_SMALL || MODINFO
help
Directory that contains kernel modules.
Defaults to "/lib/modules"

@ -1,6 +1,6 @@
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
@@ -77,6 +77,10 @@
@@ -136,6 +136,10 @@
# include <rpc/pmap_clnt.h>
#endif
@ -11,19 +11,19 @@
#if defined(__dietlibc__)
// 16.12.2006, Sampo Kellomaki (sampo@iki.fi)
@@ -194,6 +198,7 @@ static const int32_t mount_options[] = {
@@ -254,6 +258,7 @@ static const int32_t mount_options[] = {
/* "rslave" */ MS_SLAVE|MS_RECURSIVE,
/* "rprivate" */ MS_SLAVE|MS_RECURSIVE,
/* "rprivate" */ MS_PRIVATE|MS_RECURSIVE,
/* "runbindable" */ MS_UNBINDABLE|MS_RECURSIVE,
+ /* "union" */ MS_UNION,
)
// Always understood.
@@ -249,6 +254,7 @@ static const char mount_option_str[] =
"rslave\0"
"rprivate\0"
"runbindable\0"
+ "union" "\0"
@@ -310,6 +315,7 @@ static const char mount_option_str[] =
"make-rslave\0"
"make-rprivate\0"
"make-runbindable\0"
+ "make-union\0"
)
// Always understood.

@ -1,6 +1,6 @@
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
@@ -69,9 +69,6 @@
@@ -128,9 +128,6 @@
#if ENABLE_FEATURE_MOUNT_NFS
/* This is just a warning of a common mistake. Possibly this should be a
* uclibc faq entry rather than in busybox... */

@ -5,7 +5,7 @@
/* vi: set sw=4 ts=4: */
/*
* awk implementation for busybox
@@ -74,9 +75,14 @@ typedef struct chain_s {
@@ -81,9 +82,14 @@ typedef struct chain_s {
} chain;
/* Function */
@ -20,7 +20,7 @@
} func;
/* I/O stream */
@@ -1466,7 +1472,8 @@ static void parse_program(char *p)
@@ -1473,7 +1479,8 @@ static void parse_program(char *p)
next_token(TC_FUNCTION);
g_pos++;
f = newfunc(t_string);
@ -30,7 +30,7 @@
f->nargs = 0;
while (next_token(TC_VARIABLE | TC_SEQTERM) & TC_VARIABLE) {
v = findvar(ahash, t_string);
@@ -1475,7 +1482,7 @@ static void parse_program(char *p)
@@ -1482,7 +1489,7 @@ static void parse_program(char *p)
if (next_token(TC_COMMA | TC_SEQTERM) & TC_SEQTERM)
break;
}
@ -39,7 +39,7 @@
chain_group();
clear_array(ahash);
@@ -2573,7 +2580,8 @@ static var *evaluate(node *op, var *res)
@@ -2580,7 +2587,8 @@ static var *evaluate(node *op, var *res)
var *vbeg, *v;
const char *sv_progname;
@ -49,7 +49,7 @@
syntax_error(EMSG_UNDEF_FUNC);
vbeg = v = nvalloc(op->r.f->nargs + 1);
@@ -2590,7 +2598,10 @@ static var *evaluate(node *op, var *res)
@@ -2597,7 +2605,10 @@ static var *evaluate(node *op, var *res)
fnargs = vbeg;
sv_progname = g_progname;
@ -61,7 +61,7 @@
g_progname = sv_progname;
nvfree(fnargs);
@@ -2984,6 +2995,143 @@ static rstream *next_input_file(void)
@@ -2991,6 +3002,143 @@ static rstream *next_input_file(void)
#undef files_happen
}
@ -205,7 +205,7 @@
int awk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int awk_main(int argc, char **argv)
{
@@ -3049,6 +3197,9 @@ int awk_main(int argc, char **argv)
@@ -3056,6 +3204,9 @@ int awk_main(int argc, char **argv)
*s1 = '=';
}
}

@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -874,7 +874,6 @@ static void perform_renew(void)
@@ -983,7 +983,6 @@ static void perform_renew(void)
state = RENEW_REQUESTED;
break;
case RENEW_REQUESTED: /* impatient are we? fine, square 1 */

@ -1,6 +1,6 @@
--- a/networking/brctl.c
+++ b/networking/brctl.c
@@ -32,7 +32,7 @@
@@ -56,7 +56,7 @@
/* Maximum number of ports supported per bridge interface. */
#ifndef MAX_PORTS
@ -9,7 +9,7 @@
#endif
/* Use internal number parsing and not the "exact" conversion. */
@@ -169,6 +169,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
@@ -193,6 +193,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
printf(bi.stp_enabled ? "\tyes" : "\tno");
/* print interface list */
@ -17,7 +17,7 @@
arm_ioctl(args, BRCTL_GET_PORT_LIST,
(unsigned long) ifidx, MAX_PORTS);
xioctl(fd, SIOCDEVPRIVATE, &ifr);
@@ -197,9 +198,19 @@ int brctl_main(int argc UNUSED_PARAM, ch
@@ -221,9 +222,19 @@ int brctl_main(int argc UNUSED_PARAM, ch
br = *argv++;
if (key == ARG_addbr || key == ARG_delbr) { /* addbr or delbr */
@ -40,7 +40,7 @@
goto done;
}
@@ -208,14 +219,27 @@ int brctl_main(int argc UNUSED_PARAM, ch
@@ -232,14 +243,27 @@ int brctl_main(int argc UNUSED_PARAM, ch
strncpy_IFNAMSIZ(ifr.ifr_name, br);
if (key == ARG_addif || key == ARG_delif) { /* addif or delif */

@ -5,7 +5,7 @@ Signed-off-by: Nicolas Thill <nico@openwrt.org>
--- a/coreutils/id.c
+++ b/coreutils/id.c
@@ -19,10 +19,12 @@
@@ -63,10 +63,12 @@
/* This is a NOEXEC applet. Be very careful! */
@ -19,7 +19,7 @@ Signed-off-by: Nicolas Thill <nico@openwrt.org>
#endif
#endif
#endif
@@ -84,7 +86,11 @@ static int get_groups(const char *userna
@@ -128,7 +130,11 @@ static int get_groups(const char *userna
/* If the user is a member of more than
* *n groups, then -1 is returned. Otherwise >= 0.
* (and no defined way of detecting errors?!) */
@ -30,8 +30,8 @@ Signed-off-by: Nicolas Thill <nico@openwrt.org>
+#endif
/* I guess *n < 0 might indicate error. Anyway,
* malloc'ing -1 bytes won't be good, so: */
//if (*n < 0)
@@ -156,6 +162,7 @@ int id_main(int argc UNUSED_PARAM, char
if (*n < 0)
@@ -210,6 +216,7 @@ int id_main(int argc UNUSED_PARAM, char
if (egid != rgid)
status |= print_group(egid, " ");
}
@ -39,7 +39,7 @@ Signed-off-by: Nicolas Thill <nico@openwrt.org>
/* We are supplying largish buffer, trying
* to not run get_groups() twice. That might be slow
* ("user database in remote SQL server" case) */
@@ -183,6 +190,7 @@ int id_main(int argc UNUSED_PARAM, char
@@ -236,6 +243,7 @@ int id_main(int argc UNUSED_PARAM, char
}
if (ENABLE_FEATURE_CLEAN_UP)
free(groups);

@ -1,10 +1,10 @@
--- a/networking/telnetd.c
+++ b/networking/telnetd.c
@@ -313,6 +313,7 @@ make_new_session(
@@ -330,6 +330,7 @@ make_new_session(
/* Restore default signal handling ASAP */
bb_signals((1 << SIGCHLD) + (1 << SIGPIPE), SIG_DFL);
+ signal(SIGINT, SIG_DFL);
if (ENABLE_FEATURE_UTMP) {
len_and_sockaddr *lsa = get_peer_lsa(sock);
pid = getpid();

@ -1,6 +1,6 @@
--- a/modutils/insmod.c
+++ b/modutils/insmod.c
@@ -133,7 +133,7 @@ int insmod_main(int argc, char **argv) M
@@ -139,7 +139,7 @@ int insmod_main(int argc, char **argv) M
int insmod_main(int argc UNUSED_PARAM, char **argv)
{
char *filename;
@ -9,7 +9,7 @@
/* Compat note:
* 2.6 style insmod has no options and required filename
@@ -143,10 +143,8 @@ int insmod_main(int argc UNUSED_PARAM, c
@@ -149,10 +149,8 @@ int insmod_main(int argc UNUSED_PARAM, c
* or in $MODPATH.
*/
@ -22,10 +22,10 @@
filename = *++argv;
if (!filename)
@@ -157,7 +155,7 @@ int insmod_main(int argc UNUSED_PARAM, c
goto done;
@@ -163,7 +161,7 @@ int insmod_main(int argc UNUSED_PARAM, c
goto done;
rc = bb_init_module(g_filename, parse_cmdline_module_options(argv));
rc = bb_init_module(g_filename, parse_cmdline_module_options(argv, /*quote_spaces:*/ 0));
- if (rc)
+ if (rc && !(opt & INSMOD_OPT_SILENT))
bb_error_msg("can't insert '%s': %s", filename, moderror(rc));

Loading…
Cancel
Save