update busybox to 1.18.4, patch from Peter Wagner

SVN-Revision: 26455
This commit is contained in:
Florian Fainelli 2011-04-03 18:31:00 +00:00
parent 1bda5f2530
commit 03e30ae13f
26 changed files with 507 additions and 371 deletions

View file

@ -8,14 +8,14 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=busybox PKG_NAME:=busybox
PKG_VERSION:=1.17.3 PKG_VERSION:=1.18.4
PKG_RELEASE:=2 PKG_RELEASE:=1
PKG_FLAGS:=essential PKG_FLAGS:=essential
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://www.busybox.net/downloads \ PKG_SOURCE_URL:=http://www.busybox.net/downloads \
http://distfiles.gentoo.org/distfiles/ http://distfiles.gentoo.org/distfiles/
PKG_MD5SUM:=a2ce1a951571da8c6e0eaf75b1acef60 PKG_MD5SUM:=b03c5b46ced732679e525a920a1a62f5
PKG_BUILD_DEPENDS:=BUSYBOX_USE_LIBRPC:librpc PKG_BUILD_DEPENDS:=BUSYBOX_USE_LIBRPC:librpc
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1

View file

@ -46,6 +46,17 @@ config BUSYBOX_CONFIG_USE_PORTABLE_CODE
compiler other than gcc. compiler other than gcc.
If you do use gcc, this option may needlessly increase code size. If you do use gcc, this option may needlessly increase code size.
config BUSYBOX_CONFIG_PLATFORM_LINUX
bool "Enable Linux-specific applets and features"
default y
help
For the most part, busybox requires only POSIX compatibility
from the target system, but some applets and features use
Linux-specific interfaces.
Answering 'N' here will disable such applets and hide the
corresponding configuration options.
choice choice
prompt "Buffer allocation policy" prompt "Buffer allocation policy"
default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
@ -111,6 +122,15 @@ config BUSYBOX_CONFIG_FEATURE_INSTALLER
busybox at runtime to create hard links or symlinks for all the busybox at runtime to create hard links or symlinks for all the
applets that are compiled into busybox. applets that are compiled into busybox.
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,
never to /usr/bin or /usr/sbin.
config BUSYBOX_CONFIG_LOCALE_SUPPORT config BUSYBOX_CONFIG_LOCALE_SUPPORT
bool "Enable locale support (system needs locale for this to work)" bool "Enable locale support (system needs locale for this to work)"
default n default n
@ -137,6 +157,7 @@ config BUSYBOX_CONFIG_UNICODE_USING_LOCALE
help help
With this option on, Unicode support is implemented using libc With this option on, Unicode support is implemented using libc
routines. Otherwise, internal implementation is used. routines. Otherwise, internal implementation is used.
Internal implementation is smaller.
config BUSYBOX_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV config BUSYBOX_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV
bool "Check $LANG environment variable" bool "Check $LANG environment variable"
@ -262,15 +283,6 @@ config BUSYBOX_CONFIG_FEATURE_CLEAN_UP
Don't enable this unless you have a really good reason to clean Don't enable this unless you have a really good reason to clean
things up manually. 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 config BUSYBOX_CONFIG_FEATURE_WTMP
bool "Support wtmp file" bool "Support wtmp file"
default n default n
@ -282,6 +294,15 @@ config BUSYBOX_CONFIG_FEATURE_WTMP
will append new entries there. will append new entries there.
"last" applet requires this option. "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 config BUSYBOX_CONFIG_FEATURE_PIDFILE
bool "Support writing pidfiles" bool "Support writing pidfiles"
default y default y
@ -294,14 +315,19 @@ config BUSYBOX_CONFIG_FEATURE_SUID
default y default y
help help
With this option you can install the busybox binary belonging With this option you can install the busybox binary belonging
to root with the suid bit set, and it will automatically drop to root with the suid bit set, enabling some applets to perform
priviledges for applets that don't need root access. root-level operations even when run by ordinary users
(for example, mounting of user mounts in fstab needs this).
Busybox will automatically drop priviledges for applets
that don't need root access.
If you are really paranoid and don't want to do this, build two If you are really paranoid and don't want to do this, build two
busybox binaries with different applets in them (and the appropriate busybox binaries with different applets in them (and the appropriate
symlinks pointing to each binary), and only set the suid bit on the 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 one that needs it.
are:
The applets currently marked to need the suid bit are:
crontab, dnsd, findfs, ipcrm, ipcs, login, passwd, ping, su, crontab, dnsd, findfs, ipcrm, ipcs, login, passwd, ping, su,
traceroute, vlock. traceroute, vlock.
@ -351,6 +377,7 @@ config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG_QUIET
config BUSYBOX_CONFIG_SELINUX config BUSYBOX_CONFIG_SELINUX
bool "Support NSA Security Enhanced Linux" bool "Support NSA Security Enhanced Linux"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Enable support for SELinux in applets ls, ps, and id. Also provide Enable support for SELinux in applets ls, ps, and id. Also provide
the option of compiling in SELinux applets. the option of compiling in SELinux applets.
@ -637,20 +664,13 @@ endchoice
endmenu endmenu
menu 'Installation Options' menu 'Installation Options ("make install" behavior)'
config BUSYBOX_CONFIG_INSTALL_NO_USR
bool "Don't use /usr"
default n
help
Disable use of /usr. Don't activate this option if you don't know
that you really want this behaviour.
choice choice
prompt "Applets links" prompt "What kind of applet links to install"
default BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS default BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
help help
Choose how you install applets links. Choose what kind of links to applets are created by "make install".
config BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS config BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
bool "as soft-links" bool "as soft-links"
@ -674,8 +694,9 @@ config BUSYBOX_CONFIG_INSTALL_APPLET_DONT
bool "not installed" bool "not installed"
depends on BUSYBOX_CONFIG_FEATURE_INSTALLER || BUSYBOX_CONFIG_FEATURE_SH_STANDALONE || BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS depends on BUSYBOX_CONFIG_FEATURE_INSTALLER || BUSYBOX_CONFIG_FEATURE_SH_STANDALONE || BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
help help
Do not install applet links. Useful when using the -install feature Do not install applet links. Useful when you plan to use
or a standalone shell for rescue purposes. busybox --install for installing links, or plan to use
a standalone shell and thus don't need applet links.
endchoice endchoice
@ -699,8 +720,8 @@ config BUSYBOX_CONFIG_INSTALL_SH_APPLET_HARDLINK
config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER
bool "as script wrapper" bool "as script wrapper"
help help
Install /bin/sh applet as script wrapper that call the busybox Install /bin/sh applet as script wrapper that calls
binary. the busybox binary.
endchoice endchoice

View file

@ -204,7 +204,7 @@ config BUSYBOX_CONFIG_RPM2CPIO
bool "rpm2cpio" bool "rpm2cpio"
default n default n
help help
Converts an RPM file into a CPIO archive. Converts a RPM file into a CPIO archive.
config BUSYBOX_CONFIG_RPM config BUSYBOX_CONFIG_RPM
bool "rpm" bool "rpm"

View file

@ -5,9 +5,12 @@
menu "Console Utilities" menu "Console Utilities"
config BUSYBOX_CONFIG_CHVT config BUSYBOX_CONFIG_CHVT
bool "chvt" bool "chvt"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
This program is used to change to another terminal. This program is used to change to another terminal.
Example: chvt 4 (change to terminal /dev/tty4) Example: chvt 4 (change to terminal /dev/tty4)
@ -15,6 +18,7 @@ config BUSYBOX_CONFIG_CHVT
config BUSYBOX_CONFIG_FGCONSOLE config BUSYBOX_CONFIG_FGCONSOLE
bool "fgconsole" bool "fgconsole"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
This program prints active (foreground) console number. This program prints active (foreground) console number.
@ -27,12 +31,14 @@ config BUSYBOX_CONFIG_CLEAR
config BUSYBOX_CONFIG_DEALLOCVT config BUSYBOX_CONFIG_DEALLOCVT
bool "deallocvt" bool "deallocvt"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
This program deallocates unused virtual consoles. This program deallocates unused virtual consoles.
config BUSYBOX_CONFIG_DUMPKMAP config BUSYBOX_CONFIG_DUMPKMAP
bool "dumpkmap" bool "dumpkmap"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
This program dumps the kernel's keyboard translation table to This program dumps the kernel's keyboard translation table to
stdout, in binary format. You can then use loadkmap to load it. stdout, in binary format. You can then use loadkmap to load it.
@ -40,18 +46,21 @@ config BUSYBOX_CONFIG_DUMPKMAP
config BUSYBOX_CONFIG_KBD_MODE config BUSYBOX_CONFIG_KBD_MODE
bool "kbd_mode" bool "kbd_mode"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
This program reports and sets keyboard mode. This program reports and sets keyboard mode.
config BUSYBOX_CONFIG_LOADFONT config BUSYBOX_CONFIG_LOADFONT
bool "loadfont" bool "loadfont"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
This program loads a console font from standard input. This program loads a console font from standard input.
config BUSYBOX_CONFIG_LOADKMAP config BUSYBOX_CONFIG_LOADKMAP
bool "loadkmap" bool "loadkmap"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
This program loads a keyboard translation table from This program loads a keyboard translation table from
standard input. standard input.
@ -59,6 +68,7 @@ config BUSYBOX_CONFIG_LOADKMAP
config BUSYBOX_CONFIG_OPENVT config BUSYBOX_CONFIG_OPENVT
bool "openvt" bool "openvt"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
This program is used to start a command on an unused This program is used to start a command on an unused
virtual terminal. virtual terminal.
@ -90,6 +100,7 @@ config BUSYBOX_CONFIG_FEATURE_RESIZE_PRINT
config BUSYBOX_CONFIG_SETCONSOLE config BUSYBOX_CONFIG_SETCONSOLE
bool "setconsole" bool "setconsole"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
This program redirects the system console to another device, This program redirects the system console to another device,
like the current tty while logged in via telnet. like the current tty while logged in via telnet.
@ -104,6 +115,7 @@ config BUSYBOX_CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS
config BUSYBOX_CONFIG_SETFONT config BUSYBOX_CONFIG_SETFONT
bool "setfont" bool "setfont"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Allows to load console screen map. Useful for i18n. Allows to load console screen map. Useful for i18n.
@ -125,6 +137,7 @@ config BUSYBOX_CONFIG_DEFAULT_SETFONT_DIR
config BUSYBOX_CONFIG_SETKEYCODES config BUSYBOX_CONFIG_SETKEYCODES
bool "setkeycodes" bool "setkeycodes"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
This program loads entries into the kernel's scancode-to-keycode This program loads entries into the kernel's scancode-to-keycode
map, allowing unusual keyboards to generate usable keycodes. map, allowing unusual keyboards to generate usable keycodes.
@ -132,12 +145,14 @@ config BUSYBOX_CONFIG_SETKEYCODES
config BUSYBOX_CONFIG_SETLOGCONS config BUSYBOX_CONFIG_SETLOGCONS
bool "setlogcons" bool "setlogcons"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
This program redirects the output console of kernel messages. This program redirects the output console of kernel messages.
config BUSYBOX_CONFIG_SHOWKEY config BUSYBOX_CONFIG_SHOWKEY
bool "showkey" bool "showkey"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Shows keys pressed. Shows keys pressed.

View file

@ -36,7 +36,7 @@ config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
config BUSYBOX_CONFIG_FEATURE_DATE_NANO config BUSYBOX_CONFIG_FEATURE_DATE_NANO
bool "Support %[num]N nanosecond format specifier" bool "Support %[num]N nanosecond format specifier"
default n default n
depends on BUSYBOX_CONFIG_DATE depends on BUSYBOX_CONFIG_DATE && BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Support %[num]N format specifier. Adds ~250 bytes of code. Support %[num]N format specifier. Adds ~250 bytes of code.
@ -96,6 +96,11 @@ config BUSYBOX_CONFIG_FEATURE_TR_EQUIV
replace all instances of 'a' with 'xyz'. This option is mainly replace all instances of 'a' with 'xyz'. This option is mainly
useful for cases when no other way of expressing a character useful for cases when no other way of expressing a character
is possible. is possible.
config BUSYBOX_CONFIG_BASE64
bool "base64"
default n
help
Base64 encode and decode
config BUSYBOX_CONFIG_CAL config BUSYBOX_CONFIG_CAL
bool "cal" bool "cal"
@ -681,6 +686,7 @@ config BUSYBOX_CONFIG_FEATURE_SPLIT_FANCY
config BUSYBOX_CONFIG_STAT config BUSYBOX_CONFIG_STAT
bool "stat" bool "stat"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
display file or filesystem status. display file or filesystem status.

View file

@ -31,6 +31,7 @@ config BUSYBOX_CONFIG_FSCK
config BUSYBOX_CONFIG_LSATTR config BUSYBOX_CONFIG_LSATTR
bool "lsattr" bool "lsattr"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
lsattr lists the file attributes on a second extended file system. lsattr lists the file attributes on a second extended file system.

View file

@ -5,6 +5,12 @@
menu "Editors" menu "Editors"
config BUSYBOX_CONFIG_PATCH
bool "patch"
default n
help
Apply a unified diff formatted patch.
config BUSYBOX_CONFIG_AWK config BUSYBOX_CONFIG_AWK
bool "awk" bool "awk"
default y default y
@ -58,12 +64,6 @@ config BUSYBOX_CONFIG_ED
Small, simple, evil. Part of SUSv3. If you're not already using Small, simple, evil. Part of SUSv3. If you're not already using
this, you don't need it. this, you don't need it.
config BUSYBOX_CONFIG_PATCH
bool "patch"
default n
help
Apply a unified diff formatted patch.
config BUSYBOX_CONFIG_SED config BUSYBOX_CONFIG_SED
bool "sed" bool "sed"
default y default y

View file

@ -43,7 +43,31 @@ config BUSYBOX_CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE
help help
Enable reading and parsing of $PWD/bootchartd.conf Enable reading and parsing of $PWD/bootchartd.conf
and /etc/bootchartd.conf files. and /etc/bootchartd.conf files.
config BUSYBOX_CONFIG_HALT
bool "poweroff, halt, and reboot"
default y
help
Stop all processes and either halt, reboot, or power off the system.
config BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
bool "Call telinit on shutdown and reboot"
default n
depends on BUSYBOX_CONFIG_HALT && !BUSYBOX_CONFIG_INIT
help
Call an external program (normally telinit) to facilitate
a switch to a proper runlevel.
This option is only available if you selected halt and friends,
but did not select init.
config BUSYBOX_CONFIG_TELINIT_PATH
string "Path to telinit executable"
default "/sbin/telinit"
depends on BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
help
When busybox halt and friends have to call external telinit
to facilitate proper shutdown, this path is to be used when
locating telinit executable.
config BUSYBOX_CONFIG_INIT config BUSYBOX_CONFIG_INIT
bool "init" bool "init"
default y default y
@ -126,32 +150,17 @@ config BUSYBOX_CONFIG_FEATURE_INITRD
This does not apply to initramfs, which runs /init as PID 1 and This does not apply to initramfs, which runs /init as PID 1 and
requires no special support. requires no special support.
config BUSYBOX_CONFIG_HALT config BUSYBOX_CONFIG_INIT_TERMINAL_TYPE
bool "poweroff, halt, and reboot" string "Initial terminal type"
default y default "linux"
depends on BUSYBOX_CONFIG_INIT
help help
Stop all processes and either halt, reboot, or power off the system. This is the initial value set by init for the TERM environment
variable. This variable is used by programs which make use of
config BUSYBOX_CONFIG_FEATURE_CALL_TELINIT extended terminal capabilities.
bool "Call telinit on shutdown and reboot"
default n
depends on BUSYBOX_CONFIG_HALT && !BUSYBOX_CONFIG_INIT
help
Call an external program (normally telinit) to facilitate
a switch to a proper runlevel.
This option is only available if you selected halt and friends,
but did not select init.
config BUSYBOX_CONFIG_TELINIT_PATH
string "Path to telinit executable"
default "/sbin/telinit"
depends on BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
help
When busybox halt and friends have to call external telinit
to facilitate proper shutdown, this path is to be used when
locating telinit executable.
Note that on Linux, init attempts to detect serial terminal and
sets TERM to "vt102" if one is found.
config BUSYBOX_CONFIG_MESG config BUSYBOX_CONFIG_MESG
bool "mesg" bool "mesg"
default y default y

View file

@ -41,6 +41,17 @@ config BUSYBOX_CONFIG_FEATURE_ETC_NETWORKS
a rarely used feature which allows you to use names a rarely used feature which allows you to use names
instead of IP/mask pairs in route command. instead of IP/mask pairs in route command.
config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
bool "Use termios to manipulate the screen"
default n
depends on BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_POWERTOP
help
This option allows utilities such as 'more' and 'top' to determine
the size of the screen. If you leave this disabled, your utilities
that display things on the screen will be especially primitive and
will be unable to determine the current screen size, and will be
unable to move the cursor.
config BUSYBOX_CONFIG_FEATURE_EDITING config BUSYBOX_CONFIG_FEATURE_EDITING
bool "Command line editing" bool "Command line editing"
default y default y
@ -76,9 +87,9 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_HISTORY
config BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY config BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
bool "History saving" bool "History saving"
default n default n
depends on BUSYBOX_CONFIG_ASH && BUSYBOX_CONFIG_FEATURE_EDITING depends on BUSYBOX_CONFIG_FEATURE_EDITING
help help
Enable history saving in ash shell. Enable history saving in shells.
config BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION config BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION
bool "Tab completion" bool "Tab completion"
@ -151,6 +162,7 @@ config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB
config BUSYBOX_CONFIG_MONOTONIC_SYSCALL config BUSYBOX_CONFIG_MONOTONIC_SYSCALL
bool "Use clock_gettime(CLOCK_MONOTONIC) syscall" bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
time intervals (time, ping, traceroute etc need this). time intervals (time, ping, traceroute etc need this).

View file

@ -5,6 +5,18 @@
menu "Login/Password Management Utilities" menu "Login/Password Management Utilities"
config BUSYBOX_CONFIG_ADD_SHELL
bool "add-shell"
default n if BUSYBOX_CONFIG_DESKTOP
help
Add shells to /etc/shells.
config BUSYBOX_CONFIG_REMOVE_SHELL
bool "remove-shell"
default n if BUSYBOX_CONFIG_DESKTOP
help
Remove shells from /etc/shells.
config BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS config BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
bool "Support for shadow passwords" bool "Support for shadow passwords"
default n default n
@ -91,6 +103,47 @@ config BUSYBOX_CONFIG_USE_BB_CRYPT_SHA
With this option off, login will fail password check for any With this option off, login will fail password check for any
user which has password encrypted with these algorithms. user which has password encrypted with these algorithms.
config BUSYBOX_CONFIG_ADDUSER
bool "adduser"
default n
help
Utility for creating a new user account.
config BUSYBOX_CONFIG_FEATURE_ADDUSER_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_ADDUSER && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the adduser applet.
config BUSYBOX_CONFIG_FEATURE_CHECK_NAMES
bool "Enable sanity check on user/group names in adduser and addgroup"
default n
depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
help
Enable sanity check on user and group names in adduser and addgroup.
To avoid problems, the user or group name should consist only of
letters, digits, underscores, periods, at signs and dashes,
and not start with a dash (as defined by IEEE Std 1003.1-2001).
For compatibility with Samba machine accounts "$" is also supported
at the end of the user or group name.
config BUSYBOX_CONFIG_FIRST_SYSTEM_ID
int "First valid system uid or gid for adduser and addgroup"
depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
range 0 64900
default 100
help
First valid system uid or gid for adduser and addgroup
config BUSYBOX_CONFIG_LAST_SYSTEM_ID
int "Last valid system uid or gid for adduser and addgroup"
depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
range 0 64900
default 999
help
Last valid system uid or gid for adduser and addgroup
config BUSYBOX_CONFIG_ADDGROUP config BUSYBOX_CONFIG_ADDGROUP
bool "addgroup" bool "addgroup"
default n default n
@ -113,6 +166,12 @@ config BUSYBOX_CONFIG_FEATURE_ADDUSER_TO_GROUP
addgroup will add an existing user to an addgroup will add an existing user to an
existing group. existing group.
config BUSYBOX_CONFIG_DELUSER
bool "deluser"
default n
help
Utility for deleting a user account.
config BUSYBOX_CONFIG_DELGROUP config BUSYBOX_CONFIG_DELGROUP
bool "delgroup" bool "delgroup"
default n default n
@ -127,53 +186,6 @@ config BUSYBOX_CONFIG_FEATURE_DEL_USER_FROM_GROUP
If called with two non-option arguments, deluser If called with two non-option arguments, deluser
or delgroup will remove an user from a specified group. or delgroup will remove an user from a specified group.
config BUSYBOX_CONFIG_FEATURE_CHECK_NAMES
bool "Enable sanity check on user/group names in adduser and addgroup"
default n
depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
help
Enable sanity check on user and group names in adduser and addgroup.
To avoid problems, the user or group name should consist only of
letters, digits, underscores, periods, at signs and dashes,
and not start with a dash (as defined by IEEE Std 1003.1-2001).
For compatibility with Samba machine accounts "$" is also supported
at the end of the user or group name.
config BUSYBOX_CONFIG_ADDUSER
bool "adduser"
default n
help
Utility for creating a new user account.
config BUSYBOX_CONFIG_FEATURE_ADDUSER_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_ADDUSER && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the adduser applet.
config BUSYBOX_CONFIG_FIRST_SYSTEM_ID
int "First valid system uid or gid for adduser and addgroup"
depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
range 0 64900
default 100
help
First valid system uid or gid for adduser and addgroup
config BUSYBOX_CONFIG_LAST_SYSTEM_ID
int "Last valid system uid or gid for adduser and addgroup"
depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
range 0 64900
default 999
help
Last valid system uid or gid for adduser and addgroup
config BUSYBOX_CONFIG_DELUSER
bool "deluser"
default n
help
Utility for deleting a user account.
config BUSYBOX_CONFIG_GETTY config BUSYBOX_CONFIG_GETTY
bool "getty" bool "getty"
default n default n
@ -184,7 +196,6 @@ config BUSYBOX_CONFIG_GETTY
config BUSYBOX_CONFIG_LOGIN config BUSYBOX_CONFIG_LOGIN
bool "login" bool "login"
default n default n
select BUSYBOX_CONFIG_FEATURE_SUID
select BUSYBOX_CONFIG_FEATURE_SYSLOG select BUSYBOX_CONFIG_FEATURE_SYSLOG
help help
login is used when signing onto a system. login is used when signing onto a system.
@ -227,7 +238,6 @@ config BUSYBOX_CONFIG_FEATURE_SECURETTY
config BUSYBOX_CONFIG_PASSWD config BUSYBOX_CONFIG_PASSWD
bool "passwd" bool "passwd"
default y default y
select BUSYBOX_CONFIG_FEATURE_SUID
select BUSYBOX_CONFIG_FEATURE_SYSLOG select BUSYBOX_CONFIG_FEATURE_SYSLOG
help help
passwd changes passwords for user and group accounts. A normal user passwd changes passwords for user and group accounts. A normal user
@ -263,7 +273,6 @@ config BUSYBOX_CONFIG_CHPASSWD
config BUSYBOX_CONFIG_SU config BUSYBOX_CONFIG_SU
bool "su" bool "su"
default n default n
select BUSYBOX_CONFIG_FEATURE_SUID
select BUSYBOX_CONFIG_FEATURE_SYSLOG select BUSYBOX_CONFIG_FEATURE_SYSLOG
help help
su is used to become another user during a login session. su is used to become another user during a login session.
@ -293,7 +302,6 @@ config BUSYBOX_CONFIG_SULOGIN
config BUSYBOX_CONFIG_VLOCK config BUSYBOX_CONFIG_VLOCK
bool "vlock" bool "vlock"
default n default n
select BUSYBOX_CONFIG_FEATURE_SUID
help help
Build the "vlock" applet which allows you to lock (virtual) terminals. Build the "vlock" applet which allows you to lock (virtual) terminals.

View file

@ -8,27 +8,43 @@ menu "Miscellaneous Utilities"
config BUSYBOX_CONFIG_CONSPY config BUSYBOX_CONFIG_CONSPY
bool "conspy" bool "conspy"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
A text-mode VNC like program for Linux virtual terminals. A text-mode VNC like program for Linux virtual terminals.
example: conspy NUM shared access to console num example: conspy NUM shared access to console num
or conspy -nd NUM screenshot of console num or conspy -nd NUM screenshot of console num
or conspy -cs NUM poor man's GNU screen like or conspy -cs NUM poor man's GNU screen like
config BUSYBOX_CONFIG_NANDWRITE
bool "nandwrite"
default n
depends on 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
help
Dump the content of raw NAND chip
config BUSYBOX_CONFIG_UBIATTACH config BUSYBOX_CONFIG_UBIATTACH
bool "ubiattach" bool "ubiattach"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Attach MTD device to an UBI device. Attach MTD device to an UBI device.
config BUSYBOX_CONFIG_UBIDETACH config BUSYBOX_CONFIG_UBIDETACH
bool "ubidetach" bool "ubidetach"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Detach MTD device from an UBI device. Detach MTD device from an UBI device.
config BUSYBOX_CONFIG_ADJTIMEX config BUSYBOX_CONFIG_ADJTIMEX
bool "adjtimex" bool "adjtimex"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Adjtimex reads and optionally sets adjustment parameters for Adjtimex reads and optionally sets adjustment parameters for
the Linux clock adjustment algorithm. the Linux clock adjustment algorithm.
@ -40,9 +56,24 @@ config BUSYBOX_CONFIG_BBCONFIG
The bbconfig applet will print the config file with which The bbconfig applet will print the config file with which
busybox was built. busybox was built.
config BUSYBOX_CONFIG_FEATURE_COMPRESS_BBCONFIG
bool "Compress bbconfig data"
default n
depends on BUSYBOX_CONFIG_BBCONFIG
help
Store bbconfig data in compressed form, uncompress them on-the-fly
before output.
If you have a really tiny busybox with few applets enabled (and
bunzip2 isn't one of them), the overhead of the decompressor might
be noticeable. Also, if you run executables directly from ROM
and have very little memory, this might not be a win. Otherwise,
you probably want this.
config BUSYBOX_CONFIG_BEEP config BUSYBOX_CONFIG_BEEP
bool "beep" bool "beep"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
The beep applets beeps in a given freq/Hz. The beep applets beeps in a given freq/Hz.
@ -139,7 +170,6 @@ config BUSYBOX_CONFIG_CHRT
config BUSYBOX_CONFIG_CROND config BUSYBOX_CONFIG_CROND
bool "crond" bool "crond"
default y default y
select BUSYBOX_CONFIG_FEATURE_SUID
select BUSYBOX_CONFIG_FEATURE_SYSLOG select BUSYBOX_CONFIG_FEATURE_SYSLOG
help help
Crond is a background daemon that parses individual crontab Crond is a background daemon that parses individual crontab
@ -174,7 +204,6 @@ config BUSYBOX_CONFIG_FEATURE_CROND_DIR
config BUSYBOX_CONFIG_CRONTAB config BUSYBOX_CONFIG_CRONTAB
bool "crontab" bool "crontab"
default y default y
select BUSYBOX_CONFIG_FEATURE_SUID
help help
Crontab manipulates the crontab for a particular user. Only Crontab manipulates the crontab for a particular user. Only
the superuser may specify a different user and/or crontab directory. the superuser may specify a different user and/or crontab directory.
@ -199,6 +228,7 @@ config BUSYBOX_CONFIG_FEATURE_DC_LIBM
config BUSYBOX_CONFIG_DEVFSD config BUSYBOX_CONFIG_DEVFSD
bool "devfsd (obsolete)" bool "devfsd (obsolete)"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_FEATURE_SYSLOG select BUSYBOX_CONFIG_FEATURE_SYSLOG
help help
This is deprecated and should NOT be used anymore. This is deprecated and should NOT be used anymore.
@ -242,6 +272,7 @@ config BUSYBOX_CONFIG_DEVFSD_VERBOSE
config BUSYBOX_CONFIG_FEATURE_DEVFS config BUSYBOX_CONFIG_FEATURE_DEVFS
bool "Use devfs names for all devices (obsolete)" bool "Use devfs names for all devices (obsolete)"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
This is obsolete and should NOT be used anymore. This is obsolete and should NOT be used anymore.
Use linux >= 2.6 (optionally with hotplug) and mdev instead! Use linux >= 2.6 (optionally with hotplug) and mdev instead!
@ -261,6 +292,7 @@ config BUSYBOX_CONFIG_DEVMEM
config BUSYBOX_CONFIG_EJECT config BUSYBOX_CONFIG_EJECT
bool "eject" bool "eject"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Used to eject cdroms. (defaults to /dev/cdrom) Used to eject cdroms. (defaults to /dev/cdrom)
@ -275,6 +307,7 @@ config BUSYBOX_CONFIG_FEATURE_EJECT_SCSI
config BUSYBOX_CONFIG_FBSPLASH config BUSYBOX_CONFIG_FBSPLASH
bool "fbsplash" bool "fbsplash"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Shows splash image and progress bar on framebuffer device. Shows splash image and progress bar on framebuffer device.
Can be used during boot phase of an embedded device. ~2kb. Can be used during boot phase of an embedded device. ~2kb.
@ -324,6 +357,7 @@ config BUSYBOX_CONFIG_FLASH_ERASEALL
config BUSYBOX_CONFIG_IONICE config BUSYBOX_CONFIG_IONICE
bool "ionice" bool "ionice"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Set/set program io scheduling class and priority Set/set program io scheduling class and priority
Requires kernel >= 2.6.13 Requires kernel >= 2.6.13
@ -424,11 +458,12 @@ config BUSYBOX_CONFIG_FEATURE_LESS_LINENUMS
default n default n
depends on BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD depends on BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
help help
Enable "-N" command. Enables "-N" command.
config BUSYBOX_CONFIG_HDPARM config BUSYBOX_CONFIG_HDPARM
bool "hdparm" bool "hdparm"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Get/Set hard drive parameters. Primarily intended for ATA Get/Set hard drive parameters. Primarily intended for ATA
drives. Adds about 13k (or around 30k if you enable the drives. Adds about 13k (or around 30k if you enable the
@ -496,15 +531,15 @@ config BUSYBOX_CONFIG_MAKEDEVS
help help
'makedevs' is a utility used to create a batch of devices with 'makedevs' is a utility used to create a batch of devices with
one command. one command.
.
There are two choices for command line behaviour, the interface There are two choices for command line behaviour, the interface
as used by LEAF/Linux Router Project, or a device table file. as used by LEAF/Linux Router Project, or a device table file.
.
'leaf' is traditionally what busybox follows, it allows multiple 'leaf' is traditionally what busybox follows, it allows multiple
devices of a particluar type to be created per command. devices of a particluar type to be created per command.
e.g. /dev/hda[0-9] e.g. /dev/hda[0-9]
Device properties are passed as command line arguments. Device properties are passed as command line arguments.
.
'table' reads device properties from a file or stdin, allowing 'table' reads device properties from a file or stdin, allowing
a batch of unrelated devices to be made with one command. a batch of unrelated devices to be made with one command.
User/group names are allowed as an alternative to uid/gid. User/group names are allowed as an alternative to uid/gid.
@ -551,6 +586,7 @@ config BUSYBOX_CONFIG_MT
config BUSYBOX_CONFIG_RAIDAUTORUN config BUSYBOX_CONFIG_RAIDAUTORUN
bool "raidautorun" bool "raidautorun"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
raidautorun tells the kernel md driver to raidautorun tells the kernel md driver to
search and start RAID arrays. search and start RAID arrays.
@ -558,7 +594,7 @@ config BUSYBOX_CONFIG_RAIDAUTORUN
config BUSYBOX_CONFIG_READAHEAD config BUSYBOX_CONFIG_READAHEAD
bool "readahead" bool "readahead"
default n default n
depends on BUSYBOX_CONFIG_LFS depends on BUSYBOX_CONFIG_LFS && BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Preload the files listed on the command line into RAM cache so that 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. subsequent reads on these files will not block on disk I/O.
@ -575,6 +611,7 @@ config BUSYBOX_CONFIG_READAHEAD
config BUSYBOX_CONFIG_RFKILL config BUSYBOX_CONFIG_RFKILL
bool "rfkill" bool "rfkill"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Enable/disable wireless devices. Enable/disable wireless devices.
@ -595,6 +632,7 @@ config BUSYBOX_CONFIG_RUNLEVEL
config BUSYBOX_CONFIG_RX config BUSYBOX_CONFIG_RX
bool "rx" bool "rx"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Receive files using the Xmodem protocol. Receive files using the Xmodem protocol.
@ -666,6 +704,7 @@ config BUSYBOX_CONFIG_WALL
config BUSYBOX_CONFIG_WATCHDOG config BUSYBOX_CONFIG_WATCHDOG
bool "watchdog" bool "watchdog"
default y default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
The watchdog utility is used with hardware or software watchdog The watchdog utility is used with hardware or software watchdog
device drivers. It opens the specified watchdog device special file device drivers. It opens the specified watchdog device special file

View file

@ -1,9 +1,11 @@
# DO NOT EDIT. This file is generated from Config.src
# #
# For a description of the syntax of this configuration file, # For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt. # see scripts/kbuild/config-language.txt.
# #
menu "Linux Module Utilities" menu "Linux Module Utilities"
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
config BUSYBOX_CONFIG_MODINFO config BUSYBOX_CONFIG_MODINFO
bool "modinfo" bool "modinfo"

View file

@ -5,6 +5,12 @@
menu "Networking Utilities" menu "Networking Utilities"
config BUSYBOX_CONFIG_NBDCLIENT
bool "nbd-client"
default n
help
Network block device client
config BUSYBOX_CONFIG_NC config BUSYBOX_CONFIG_NC
bool "nc" bool "nc"
default y default y
@ -82,18 +88,21 @@ config BUSYBOX_CONFIG_VERBOSE_RESOLUTION_ERRORS
config BUSYBOX_CONFIG_ARP config BUSYBOX_CONFIG_ARP
bool "arp" bool "arp"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Manipulate the system ARP cache. Manipulate the system ARP cache.
config BUSYBOX_CONFIG_ARPING config BUSYBOX_CONFIG_ARPING
bool "arping" bool "arping"
default y default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Ping hosts by ARP packets. Ping hosts by ARP packets.
config BUSYBOX_CONFIG_BRCTL config BUSYBOX_CONFIG_BRCTL
bool "brctl" bool "brctl"
default y default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Manage ethernet bridges. Manage ethernet bridges.
Supports addbr/delbr and addif/delif. Supports addbr/delbr and addif/delif.
@ -126,6 +135,7 @@ config BUSYBOX_CONFIG_DNSD
config BUSYBOX_CONFIG_ETHER_WAKE config BUSYBOX_CONFIG_ETHER_WAKE
bool "ether-wake" bool "ether-wake"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Send a magic packet to wake up sleeping machines. Send a magic packet to wake up sleeping machines.
@ -297,9 +307,18 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_PROXY
Then a request to /url/myfile will be forwarded to Then a request to /url/myfile will be forwarded to
http://hostname[:port]/new/path/myfile. http://hostname[:port]/new/path/myfile.
config BUSYBOX_CONFIG_FEATURE_HTTPD_GZIP
bool "Support for GZIP content encoding"
default n
depends on BUSYBOX_CONFIG_HTTPD
help
Makes httpd send files using GZIP content encoding if the
client supports it and a pre-compressed <file>.gz exists.
config BUSYBOX_CONFIG_IFCONFIG config BUSYBOX_CONFIG_IFCONFIG
bool "ifconfig" bool "ifconfig"
default y default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Ifconfig is used to configure the kernel-resident network interfaces. Ifconfig is used to configure the kernel-resident network interfaces.
@ -347,6 +366,7 @@ config BUSYBOX_CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS
config BUSYBOX_CONFIG_IFENSLAVE config BUSYBOX_CONFIG_IFENSLAVE
bool "ifenslave" bool "ifenslave"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Userspace application to bind several interfaces Userspace application to bind several interfaces
to a logical interface (use with kernel bonding driver). to a logical interface (use with kernel bonding driver).
@ -354,6 +374,7 @@ config BUSYBOX_CONFIG_IFENSLAVE
config BUSYBOX_CONFIG_IFPLUGD config BUSYBOX_CONFIG_IFPLUGD
bool "ifplugd" bool "ifplugd"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Network interface plug detection daemon. Network interface plug detection daemon.
@ -395,7 +416,7 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
bool "Use busybox ip applet" bool "Use busybox ip applet"
default n default n
depends on BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP depends on BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP && BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_IP select BUSYBOX_CONFIG_IP
select BUSYBOX_CONFIG_FEATURE_IP_ADDRESS select BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
select BUSYBOX_CONFIG_FEATURE_IP_LINK select BUSYBOX_CONFIG_FEATURE_IP_LINK
@ -514,6 +535,7 @@ config BUSYBOX_CONFIG_FEATURE_INETD_RPC
config BUSYBOX_CONFIG_IP config BUSYBOX_CONFIG_IP
bool "ip" bool "ip"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
The "ip" applet is a TCP/IP interface configuration and routing The "ip" applet is a TCP/IP interface configuration and routing
utility. You generally don't need "ip" to use busybox with utility. You generally don't need "ip" to use busybox with
@ -629,6 +651,7 @@ config BUSYBOX_CONFIG_FEATURE_IPCALC_LONG_OPTIONS
config BUSYBOX_CONFIG_NAMEIF config BUSYBOX_CONFIG_NAMEIF
bool "nameif" bool "nameif"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_FEATURE_SYSLOG select BUSYBOX_CONFIG_FEATURE_SYSLOG
help help
nameif is used to rename network interface by its MAC address. nameif is used to rename network interface by its MAC address.
@ -663,6 +686,7 @@ config BUSYBOX_CONFIG_NETMSG
config BUSYBOX_CONFIG_NETSTAT config BUSYBOX_CONFIG_NETSTAT
bool "netstat" bool "netstat"
default y default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
netstat prints information about the Linux networking subsystem. netstat prints information about the Linux networking subsystem.
@ -691,6 +715,7 @@ config BUSYBOX_CONFIG_NSLOOKUP
config BUSYBOX_CONFIG_NTPD config BUSYBOX_CONFIG_NTPD
bool "ntpd" bool "ntpd"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
The NTP client/server daemon. The NTP client/server daemon.
@ -705,6 +730,7 @@ config BUSYBOX_CONFIG_FEATURE_NTPD_SERVER
config BUSYBOX_CONFIG_PING config BUSYBOX_CONFIG_PING
bool "ping" bool "ping"
default y default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
elicit an ICMP ECHO_RESPONSE from a host or gateway. elicit an ICMP ECHO_RESPONSE from a host or gateway.
@ -733,12 +759,14 @@ config BUSYBOX_CONFIG_PSCAN
config BUSYBOX_CONFIG_ROUTE config BUSYBOX_CONFIG_ROUTE
bool "route" bool "route"
default y default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Route displays or manipulates the kernel's IP routing tables. Route displays or manipulates the kernel's IP routing tables.
config BUSYBOX_CONFIG_SLATTACH config BUSYBOX_CONFIG_SLATTACH
bool "slattach" bool "slattach"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
slattach is a small utility to attach network interfaces to serial slattach is a small utility to attach network interfaces to serial
lines. lines.
@ -819,7 +847,7 @@ config BUSYBOX_CONFIG_TELNETD
mount -t devpts devpts /dev/pts mount -t devpts devpts /dev/pts
You need to be sure that Busybox has LOGIN and You need to be sure that busybox has LOGIN and
FEATURE_SUID enabled. And finally, you should make FEATURE_SUID enabled. And finally, you should make
certain that Busybox has been installed setuid root: certain that Busybox has been installed setuid root:
@ -925,6 +953,7 @@ config BUSYBOX_CONFIG_TFTP_DEBUG
config BUSYBOX_CONFIG_TRACEROUTE config BUSYBOX_CONFIG_TRACEROUTE
bool "traceroute" bool "traceroute"
default y default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Utility to trace the route of IP packets. Utility to trace the route of IP packets.
@ -961,6 +990,7 @@ config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_USE_ICMP
config BUSYBOX_CONFIG_TUNCTL config BUSYBOX_CONFIG_TUNCTL
bool "tunctl" bool "tunctl"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
tunctl creates or deletes tun devices. tunctl creates or deletes tun devices.
@ -993,6 +1023,7 @@ config BUSYBOX_CONFIG_UDPSVD
config BUSYBOX_CONFIG_VCONFIG config BUSYBOX_CONFIG_VCONFIG
bool "vconfig" bool "vconfig"
default y default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Creates, removes, and configures VLAN interfaces Creates, removes, and configures VLAN interfaces
@ -1024,9 +1055,22 @@ config BUSYBOX_CONFIG_FEATURE_WGET_LONG_OPTIONS
help help
Support long options for the wget applet. Support long options for the wget applet.
config BUSYBOX_CONFIG_FEATURE_WGET_TIMEOUT
bool "Enable read timeout option -T SEC"
default n
depends on BUSYBOX_CONFIG_WGET
help
Supports network read timeout for wget, so that wget will give
up and timeout when reading network data, through the -T command
line option. Currently only network data read timeout is
supported (i.e., timeout is not applied to the DNS nor TCP
connection initialization). When FEATURE_WGET_LONG_OPTIONS is
also enabled, the --timeout option will work in addition to -T.
config BUSYBOX_CONFIG_ZCIP config BUSYBOX_CONFIG_ZCIP
bool "zcip" bool "zcip"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_FEATURE_SYSLOG select BUSYBOX_CONFIG_FEATURE_SYSLOG
help help
ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927. ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.

View file

@ -1,11 +1,15 @@
# DO NOT EDIT. This file is generated from Config.src
# #
# For a description of the syntax of this configuration file, # For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt. # see scripts/kbuild/config-language.txt.
# #
config BUSYBOX_CONFIG_UDHCPD config BUSYBOX_CONFIG_UDHCPD
bool "udhcp server (udhcpd)" bool "udhcp server (udhcpd)"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
udhcpd is a DHCP server geared primarily toward embedded systems, udhcpd is a DHCP server geared primarily toward embedded systems,
while striving to be fully functional and RFC compliant. while striving to be fully functional and RFC compliant.
@ -49,6 +53,7 @@ config BUSYBOX_CONFIG_DHCPD_LEASES_FILE
config BUSYBOX_CONFIG_UDHCPC config BUSYBOX_CONFIG_UDHCPC
bool "udhcp client (udhcpc)" bool "udhcp client (udhcpc)"
default y default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
udhcpc is a DHCP client geared primarily toward embedded systems, udhcpc is a DHCP client geared primarily toward embedded systems,
while striving to be fully functional and RFC compliant. while striving to be fully functional and RFC compliant.

View file

@ -5,6 +5,26 @@
menu "Process Utilities" menu "Process Utilities"
config BUSYBOX_CONFIG_IOSTAT
bool "iostat"
default n
help
Report CPU and I/O statistics
config BUSYBOX_CONFIG_MPSTAT
bool "mpstat"
default n
help
Per-processor statistics
config BUSYBOX_CONFIG_PMAP
bool "pmap"
default n
help
Display processes' memory mappings.
config BUSYBOX_CONFIG_POWERTOP
bool "powertop"
default n
help
Analyze power consumption on Intel-based laptops
config BUSYBOX_CONFIG_SMEMCAP config BUSYBOX_CONFIG_SMEMCAP
bool "smemcap" bool "smemcap"
default n default n
@ -15,6 +35,7 @@ config BUSYBOX_CONFIG_SMEMCAP
config BUSYBOX_CONFIG_FREE config BUSYBOX_CONFIG_FREE
bool "free" bool "free"
default y default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
free displays the total amount of free and used physical and swap 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. memory in the system, as well as the buffers used by the kernel.
@ -109,7 +130,7 @@ config BUSYBOX_CONFIG_FEATURE_PS_WIDE
config BUSYBOX_CONFIG_FEATURE_PS_TIME config BUSYBOX_CONFIG_FEATURE_PS_TIME
bool "Enable time and elapsed time output" bool "Enable time and elapsed time output"
default n default n
depends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP depends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP && BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Support -o time and -o etime output specifiers. Support -o time and -o etime output specifiers.
@ -205,6 +226,7 @@ config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS
config BUSYBOX_CONFIG_UPTIME config BUSYBOX_CONFIG_UPTIME
bool "uptime" bool "uptime"
default y default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
uptime gives a one line display of the current time, how long uptime gives a one line display of the current time, how long
the system has been running, how many users are currently logged the system has been running, how many users are currently logged

View file

@ -5,8 +5,6 @@
menu "Shells" menu "Shells"
config BUSYBOX_CONFIG_ASH config BUSYBOX_CONFIG_ASH
bool "ash" bool "ash"
default y default y
@ -110,19 +108,55 @@ config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
This option recreates the prompt string from the environment This option recreates the prompt string from the environment
variable each time it is displayed. variable each time it is displayed.
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.
This device is special - it cannot be a controlling tty.
Proper solution is to use correct device instead of /dev/console.
cttyhack provides "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
that device a controlling tty. This may require cttyhack
to be a session leader.
Example for /etc/inittab (for busybox init):
::respawn:/bin/cttyhack /bin/sh
Starting an interactive shell from boot shell script:
setsid cttyhack sh
Giving controlling tty to shell running with PID 1:
# exec cttyhack sh
Without cttyhack, you need to know exact tty name,
and do something like this:
# exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
config BUSYBOX_CONFIG_HUSH config BUSYBOX_CONFIG_HUSH
bool "hush" bool "hush"
default n default n
help help
hush is a small shell (22k). It handles the normal flow control hush is a small shell (25k). It handles the normal flow control
constructs such as if/then/elif/else/fi, for/in/do/done, while loops, constructs such as if/then/elif/else/fi, for/in/do/done, while loops,
case/esac. Redirections, here documents, $((arithmetic)) case/esac. Redirections, here documents, $((arithmetic))
and functions are supported. and functions are supported.
It will compile and work on no-mmu systems. It will compile and work on no-mmu systems.
It does not handle select, aliases, brace expansion, It does not handle select, aliases, tilde expansion,
tilde expansion, &>file and >&file redirection of stdout+stderr. &>file and >&file redirection of stdout+stderr.
config BUSYBOX_CONFIG_HUSH_BASH_COMPAT config BUSYBOX_CONFIG_HUSH_BASH_COMPAT
bool "bash-compatible extensions" bool "bash-compatible extensions"
@ -131,6 +165,13 @@ config BUSYBOX_CONFIG_HUSH_BASH_COMPAT
help help
Enable bash-compatible extensions. Enable bash-compatible extensions.
config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION
bool "Brace expansion"
default n
depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
help
Enable {abc,def} extension.
config BUSYBOX_CONFIG_HUSH_HELP config BUSYBOX_CONFIG_HUSH_HELP
bool "help builtin" bool "help builtin"
default y default y
@ -148,6 +189,13 @@ config BUSYBOX_CONFIG_HUSH_INTERACTIVE
from stdin just like a shell script from a file. from stdin just like a shell script from a file.
No prompt, no PS1/PS2 magic shell variables. No prompt, no PS1/PS2 magic shell variables.
config BUSYBOX_CONFIG_HUSH_SAVEHISTORY
bool "Save command history to .hush_history"
default n
depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE && BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
help
Enable history saving in hush.
config BUSYBOX_CONFIG_HUSH_JOB config BUSYBOX_CONFIG_HUSH_JOB
bool "Job control" bool "Job control"
default y default y
@ -201,13 +249,6 @@ config BUSYBOX_CONFIG_HUSH_LOCAL
help help
Enable support for local variables in functions. Enable support for local variables in functions.
config BUSYBOX_CONFIG_HUSH_EXPORT_N
bool "Support export '-n' option"
default y
depends on BUSYBOX_CONFIG_HUSH
help
Enable support for export '-n' option in hush. It is a bash extension.
config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
bool "Pseudorandom generator and $RANDOM variable" bool "Pseudorandom generator and $RANDOM variable"
default n default n
@ -216,6 +257,28 @@ config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
Enable pseudorandom generator and dynamic variable "$RANDOM". Enable pseudorandom generator and dynamic variable "$RANDOM".
Each read of "$RANDOM" will generate a new pseudorandom value. Each read of "$RANDOM" will generate a new pseudorandom value.
config BUSYBOX_CONFIG_HUSH_EXPORT_N
bool "Support 'export -n' option"
default y
depends on BUSYBOX_CONFIG_HUSH
help
export -n unexports variables. It is a bash extension.
config BUSYBOX_CONFIG_HUSH_MODE_X
bool "Support 'hush -x' option and 'set -x' command"
default n
depends on BUSYBOX_CONFIG_HUSH
help
This instructs hush to print commands before execution.
Adds ~300 bytes.
config BUSYBOX_CONFIG_MSH
bool "msh (deprecated: aliased to hush)"
default n
select BUSYBOX_CONFIG_HUSH
help
msh is deprecated and will be removed, please migrate to hush.
choice choice
prompt "Choose which shell is aliased to 'sh' name" prompt "Choose which shell is aliased to 'sh' name"
@ -271,29 +334,6 @@ config BUSYBOX_CONFIG_FEATURE_BASH_IS_NONE
endchoice endchoice
config BUSYBOX_CONFIG_LASH
bool "lash (deprecated: aliased to hush)"
default n
select BUSYBOX_CONFIG_HUSH
help
lash is deprecated and will be removed, please migrate to hush.
config BUSYBOX_CONFIG_MSH
bool "msh (deprecated: please use hush)"
default n
select BUSYBOX_CONFIG_HUSH
help
msh is deprecated and will be removed, please migrate to hush.
If there is a feature msh has but hush does not, please let us know.
# The minix shell (adds just 30k) is quite complete and handles things
# like for/do/done, case/esac and all the things you expect a Bourne
# shell to do. It is not always pedantically correct about Bourne
# shell grammar (try running the shell testscript "tests/sh.testcases"
# on it and compare vs bash) but for most things it works quite well.
# It uses only vfork, so it can be used on uClinux systems.
config BUSYBOX_CONFIG_SH_MATH_SUPPORT config BUSYBOX_CONFIG_SH_MATH_SUPPORT
bool "POSIX math support" bool "POSIX math support"
default y default y
@ -367,35 +407,4 @@ config BUSYBOX_CONFIG_FEATURE_SH_NOFORK
This feature is relatively new. Use with care. This feature is relatively new. Use with care.
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.
This device is special - it cannot be a controlling tty.
Proper solution is to use correct device instead of /dev/console.
cttyhack provides "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
that device a controlling tty. This may require cttyhack
to be a session leader.
Example for /etc/inittab (for busybox init):
::respawn:/bin/cttyhack /bin/sh
Giving controlling tty to shell running with PID 1:
$ exec cttyhack sh
Starting an interactive shell from boot shell script:
setsid cttyhack sh
endmenu endmenu

View file

@ -1,3 +1,4 @@
# DO NOT EDIT. This file is generated from Config.src
# #
# For a description of the syntax of this configuration file, # For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt. # see scripts/kbuild/config-language.txt.
@ -5,6 +6,8 @@
menu "System Logging Utilities" menu "System Logging Utilities"
config BUSYBOX_CONFIG_SYSLOGD config BUSYBOX_CONFIG_SYSLOGD
bool "syslogd" bool "syslogd"
default y default y
@ -114,6 +117,22 @@ config BUSYBOX_CONFIG_KLOGD
you wish to record the messages produced by the kernel, you wish to record the messages produced by the kernel,
you should enable this option. you should enable this option.
config BUSYBOX_CONFIG_FEATURE_KLOGD_KLOGCTL
bool "Use the klogctl() interface"
default y
depends on BUSYBOX_CONFIG_KLOGD && BUSYBOX_CONFIG_PLATFORM_LINUX
help
The klogd applet supports two interfaces for reading
kernel messages. Linux provides the klogctl() interface
which allows reading messages from the kernel ring buffer
independently from the file system.
If you answer 'N' here, klogd will use the more portable
approach of reading them from /proc or a device node.
However, this method requires the file to be available.
If in doubt, say 'Y'.
config BUSYBOX_CONFIG_LOGGER config BUSYBOX_CONFIG_LOGGER
bool "logger" bool "logger"
default y default y

View file

@ -5,6 +5,11 @@
menu "Linux System Utilities" menu "Linux System Utilities"
config BUSYBOX_CONFIG_BLOCKDEV
bool "blockdev"
default n
help
Performs some ioctls with block devices.
config BUSYBOX_CONFIG_REV config BUSYBOX_CONFIG_REV
bool "rev" bool "rev"
default n default n
@ -14,6 +19,7 @@ config BUSYBOX_CONFIG_REV
config BUSYBOX_CONFIG_ACPID config BUSYBOX_CONFIG_ACPID
bool "acpid" bool "acpid"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
acpid listens to ACPI events coming either in textual form from acpid listens to ACPI events coming either in textual form from
/proc/acpi/event (though it is marked deprecated it is still widely /proc/acpi/event (though it is marked deprecated it is still widely
@ -36,6 +42,7 @@ config BUSYBOX_CONFIG_FEATURE_ACPID_COMPAT
config BUSYBOX_CONFIG_BLKID config BUSYBOX_CONFIG_BLKID
bool "blkid" bool "blkid"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_VOLUMEID select BUSYBOX_CONFIG_VOLUMEID
help help
Lists labels and UUIDs of all filesystems. Lists labels and UUIDs of all filesystems.
@ -45,6 +52,7 @@ config BUSYBOX_CONFIG_BLKID
config BUSYBOX_CONFIG_DMESG config BUSYBOX_CONFIG_DMESG
bool "dmesg" bool "dmesg"
default y default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
dmesg is used to examine or control the kernel ring buffer. When the 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 Linux kernel prints messages to the system log, they are stored in
@ -78,6 +86,7 @@ config BUSYBOX_CONFIG_FEATURE_DMESG_PRETTY
config BUSYBOX_CONFIG_FBSET config BUSYBOX_CONFIG_FBSET
bool "fbset" bool "fbset"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
fbset is used to show or change the settings of a Linux frame buffer fbset is used to show or change the settings of a Linux frame buffer
device. The frame buffer device provides a simple and unique device. The frame buffer device provides a simple and unique
@ -106,6 +115,7 @@ config BUSYBOX_CONFIG_FEATURE_FBSET_READMODE
config BUSYBOX_CONFIG_FDFLUSH config BUSYBOX_CONFIG_FDFLUSH
bool "fdflush" bool "fdflush"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
fdflush is only needed when changing media on slightly-broken fdflush is only needed when changing media on slightly-broken
removable media drives. It is used to make Linux believe that a removable media drives. It is used to make Linux believe that a
@ -118,12 +128,14 @@ config BUSYBOX_CONFIG_FDFLUSH
config BUSYBOX_CONFIG_FDFORMAT config BUSYBOX_CONFIG_FDFORMAT
bool "fdformat" bool "fdformat"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
fdformat is used to low-level format a floppy disk. fdformat is used to low-level format a floppy disk.
config BUSYBOX_CONFIG_FDISK config BUSYBOX_CONFIG_FDISK
bool "fdisk" bool "fdisk"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
The fdisk utility is used to divide hard disks into one or more The fdisk utility is used to divide hard disks into one or more
logical disks, which are generally called partitions. This utility logical disks, which are generally called partitions. This utility
@ -178,6 +190,14 @@ config BUSYBOX_CONFIG_FEATURE_OSF_LABEL
Enabling this option allows you to create or change BSD disklabels Enabling this option allows you to create or change BSD disklabels
and define and edit BSD disk slices. and define and edit BSD disk slices.
config BUSYBOX_CONFIG_FEATURE_GPT_LABEL
bool "Support GPT disklabels"
default n
depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
help
Enabling this option allows you to view GUID Partition Table
disklabels.
config BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED config BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED
bool "Support expert mode" bool "Support expert mode"
default n default n
@ -191,6 +211,7 @@ config BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED
config BUSYBOX_CONFIG_FINDFS config BUSYBOX_CONFIG_FINDFS
bool "findfs" bool "findfs"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_VOLUMEID select BUSYBOX_CONFIG_VOLUMEID
help help
Prints the name of a filesystem with given label or UUID. Prints the name of a filesystem with given label or UUID.
@ -206,6 +227,7 @@ config BUSYBOX_CONFIG_FLOCK
config BUSYBOX_CONFIG_FREERAMDISK config BUSYBOX_CONFIG_FREERAMDISK
bool "freeramdisk" bool "freeramdisk"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Linux allows you to create ramdisks. This utility allows you to Linux allows you to create ramdisks. This utility allows you to
delete them and completely free all memory that was used for the delete them and completely free all memory that was used for the
@ -228,12 +250,14 @@ config BUSYBOX_CONFIG_FSCK_MINIX
config BUSYBOX_CONFIG_MKFS_EXT2 config BUSYBOX_CONFIG_MKFS_EXT2
bool "mkfs_ext2" bool "mkfs_ext2"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Utility to create EXT2 filesystems. Utility to create EXT2 filesystems.
config BUSYBOX_CONFIG_MKFS_MINIX config BUSYBOX_CONFIG_MKFS_MINIX
bool "mkfs_minix" bool "mkfs_minix"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
The minix filesystem is a nice, small, compact, read-write filesystem The minix filesystem is a nice, small, compact, read-write filesystem
with little overhead. If you wish to be able to create minix with little overhead. If you wish to be able to create minix
@ -251,6 +275,7 @@ config BUSYBOX_CONFIG_FEATURE_MINIX2
config BUSYBOX_CONFIG_MKFS_REISER config BUSYBOX_CONFIG_MKFS_REISER
bool "mkfs_reiser" bool "mkfs_reiser"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Utility to create ReiserFS filesystems. Utility to create ReiserFS filesystems.
Note: this applet needs a lot of testing and polishing. Note: this applet needs a lot of testing and polishing.
@ -258,6 +283,7 @@ config BUSYBOX_CONFIG_MKFS_REISER
config BUSYBOX_CONFIG_MKFS_VFAT config BUSYBOX_CONFIG_MKFS_VFAT
bool "mkfs_vfat" bool "mkfs_vfat"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Utility to create FAT32 filesystems. Utility to create FAT32 filesystems.
@ -306,6 +332,7 @@ config BUSYBOX_CONFIG_HD
config BUSYBOX_CONFIG_HWCLOCK config BUSYBOX_CONFIG_HWCLOCK
bool "hwclock" bool "hwclock"
default y default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
The hwclock utility is used to read and set the hardware clock 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 on a system. This is primarily used to set the current time on
@ -336,7 +363,6 @@ config BUSYBOX_CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS
config BUSYBOX_CONFIG_IPCRM config BUSYBOX_CONFIG_IPCRM
bool "ipcrm" bool "ipcrm"
default n default n
select BUSYBOX_CONFIG_FEATURE_SUID
help help
The ipcrm utility allows the removal of System V interprocess The ipcrm utility allows the removal of System V interprocess
communication (IPC) objects and the associated data structures communication (IPC) objects and the associated data structures
@ -345,7 +371,7 @@ config BUSYBOX_CONFIG_IPCRM
config BUSYBOX_CONFIG_IPCS config BUSYBOX_CONFIG_IPCS
bool "ipcs" bool "ipcs"
default n default n
select BUSYBOX_CONFIG_FEATURE_SUID depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
The ipcs utility is used to provide information on the currently The ipcs utility is used to provide information on the currently
allocated System V interprocess (IPC) objects in the system. allocated System V interprocess (IPC) objects in the system.
@ -353,6 +379,7 @@ config BUSYBOX_CONFIG_IPCS
config BUSYBOX_CONFIG_LOSETUP config BUSYBOX_CONFIG_LOSETUP
bool "losetup" bool "losetup"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
losetup is used to associate or detach a loop device with a regular 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 file or block device, and to query the status of a loop device. This
@ -379,6 +406,7 @@ config BUSYBOX_CONFIG_LSUSB
config BUSYBOX_CONFIG_MDEV config BUSYBOX_CONFIG_MDEV
bool "mdev" bool "mdev"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
mdev is a mini-udev implementation for dynamically creating device mdev is a mini-udev implementation for dynamically creating device
nodes in the /dev directory. nodes in the /dev directory.
@ -463,20 +491,10 @@ config BUSYBOX_CONFIG_MORE
you will probably find this utility very helpful. If you don't have you will probably find this utility very helpful. If you don't have
any need to reading text files, you can leave this disabled. any need to reading text files, you can leave this disabled.
config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
bool "Use termios to manipulate the screen"
default n
depends on BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TOP
help
This option allows utilities such as 'more' and 'top' to determine
the size of the screen. If you leave this disabled, your utilities
that display things on the screen will be especially primitive and
will be unable to determine the current screen size, and will be
unable to move the cursor.
config BUSYBOX_CONFIG_MOUNT config BUSYBOX_CONFIG_MOUNT
bool "mount" bool "mount"
default y default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
All files and filesystems in Unix are arranged into one big directory All files and filesystems in Unix are arranged into one big directory
tree. The 'mount' utility is used to graft a filesystem onto a tree. The 'mount' utility is used to graft a filesystem onto a
@ -559,6 +577,7 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_FSTAB
config BUSYBOX_CONFIG_PIVOT_ROOT config BUSYBOX_CONFIG_PIVOT_ROOT
bool "pivot_root" bool "pivot_root"
default y default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
The pivot_root utility swaps the mount points for the root filesystem The pivot_root utility swaps the mount points for the root filesystem
with some other mounted filesystem. This allows you to do all sorts with some other mounted filesystem. This allows you to do all sorts
@ -592,6 +611,7 @@ config BUSYBOX_CONFIG_READPROFILE
config BUSYBOX_CONFIG_RTCWAKE config BUSYBOX_CONFIG_RTCWAKE
bool "rtcwake" bool "rtcwake"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Enter a system sleep state until specified wakeup time. Enter a system sleep state until specified wakeup time.
@ -611,6 +631,7 @@ config BUSYBOX_CONFIG_SCRIPTREPLAY
config BUSYBOX_CONFIG_SETARCH config BUSYBOX_CONFIG_SETARCH
bool "setarch" bool "setarch"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
The linux32 utility is used to create a 32bit environment for the The linux32 utility is used to create a 32bit environment for the
specified program (usually a shell). It only makes sense to have specified program (usually a shell). It only makes sense to have
@ -620,6 +641,7 @@ config BUSYBOX_CONFIG_SETARCH
config BUSYBOX_CONFIG_SWAPONOFF config BUSYBOX_CONFIG_SWAPONOFF
bool "swaponoff" bool "swaponoff"
default n default n
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
This option enables both the 'swapon' and the 'swapoff' utilities. This option enables both the 'swapon' and the 'swapoff' utilities.
Once you have created some swap space using 'mkswap', you also need Once you have created some swap space using 'mkswap', you also need
@ -638,6 +660,7 @@ config BUSYBOX_CONFIG_FEATURE_SWAPON_PRI
config BUSYBOX_CONFIG_SWITCH_ROOT config BUSYBOX_CONFIG_SWITCH_ROOT
bool "switch_root" bool "switch_root"
default y default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
The switch_root utility is used from initramfs to select a new The switch_root utility is used from initramfs to select a new
root device. Under initramfs, you have to use this instead of root device. Under initramfs, you have to use this instead of
@ -657,6 +680,7 @@ config BUSYBOX_CONFIG_SWITCH_ROOT
config BUSYBOX_CONFIG_UMOUNT config BUSYBOX_CONFIG_UMOUNT
bool "umount" bool "umount"
default y default y
depends on BUSYBOX_CONFIG_PLATFORM_LINUX
help help
When you want to remove a mounted filesystem from its current mount When you want to remove a mounted filesystem from its current mount
point, for example when you are shutting down the system, the point, for example when you are shutting down the system, the
@ -777,7 +801,7 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_JFS
### config FEATURE_VOLUMEID_UFS ### config FEATURE_VOLUMEID_UFS
### bool "ufs filesystem" ### bool "ufs filesystem"
### default y ### default n
### depends on VOLUMEID ### depends on VOLUMEID
### help ### help
### TODO ### TODO

View file

@ -1,11 +0,0 @@
--- a/applets/Kbuild.src
+++ b/applets/Kbuild.src
@@ -28,7 +28,7 @@ HOSTCFLAGS_usage_pod.o = -I$(srctree_sla
applets/applets.o: include/usage_compressed.h include/applet_tables.h
applets/applet_tables: .config include/applets.h
-applets/usage: .config include/applets.h
+applets/usage: .config include/applets.h include/autoconf.h
applets/usage_pod: .config include/applet_tables.h include/applets.h
quiet_cmd_gen_usage_compressed = GEN include/usage_compressed.h

View file

@ -1,12 +0,0 @@
diff -urpN busybox-1.17.3/coreutils/sort.c busybox-1.17.3-sort/coreutils/sort.c
--- busybox-1.17.3/coreutils/sort.c 2010-10-09 21:57:13.000000000 +0200
+++ busybox-1.17.3-sort/coreutils/sort.c 2010-10-20 15:17:35.320293543 +0200
@@ -412,7 +412,7 @@ int sort_main(int argc UNUSED_PARAM, cha
#if ENABLE_FEATURE_SORT_BIG
/* Open output file _after_ we read all input ones */
if (option_mask32 & FLAG_o)
- xmove_fd(xopen3(str_o, O_WRONLY, 0666), STDOUT_FILENO);
+ xmove_fd(xopen3(str_o, O_WRONLY|O_CREAT|O_TRUNC, 0666), STDOUT_FILENO);
#endif
flag = (option_mask32 & FLAG_z) ? '\0' : '\n';
for (i = 0; i < linecount; i++)

View file

@ -1,6 +1,8 @@
diff --git a/networking/udhcp/packet.c b/networking/udhcp/packet.c
index 2b7528c..94e53dc 100644
--- a/networking/udhcp/packet.c --- a/networking/udhcp/packet.c
+++ b/networking/udhcp/packet.c +++ b/networking/udhcp/packet.c
@@ -165,6 +165,11 @@ uint16_t FAST_FUNC udhcp_checksum(void * @@ -165,6 +165,11 @@ uint16_t FAST_FUNC udhcp_checksum(void *addr, int count)
return ~sum; return ~sum;
} }
@ -12,7 +14,7 @@
/* Construct a ip/udp header for a packet, send packet */ /* Construct a ip/udp header for a packet, send packet */
int FAST_FUNC udhcp_send_raw_packet(struct dhcp_packet *dhcp_pkt, int FAST_FUNC udhcp_send_raw_packet(struct dhcp_packet *dhcp_pkt,
uint32_t source_nip, int source_port, uint32_t source_nip, int source_port,
@@ -173,10 +178,10 @@ int FAST_FUNC udhcp_send_raw_packet(stru @@ -173,10 +178,10 @@ int FAST_FUNC udhcp_send_raw_packet(struct dhcp_packet *dhcp_pkt,
{ {
struct sockaddr_ll dest_sll; struct sockaddr_ll dest_sll;
struct ip_udp_dhcp_packet packet; struct ip_udp_dhcp_packet packet;
@ -24,7 +26,7 @@
fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP)); fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP));
if (fd < 0) { if (fd < 0) {
@@ -185,8 +190,8 @@ int FAST_FUNC udhcp_send_raw_packet(stru @@ -185,8 +190,8 @@ int FAST_FUNC udhcp_send_raw_packet(struct dhcp_packet *dhcp_pkt,
} }
memset(&dest_sll, 0, sizeof(dest_sll)); memset(&dest_sll, 0, sizeof(dest_sll));
@ -35,7 +37,7 @@
dest_sll.sll_family = AF_PACKET; dest_sll.sll_family = AF_PACKET;
dest_sll.sll_protocol = htons(ETH_P_IP); dest_sll.sll_protocol = htons(ETH_P_IP);
@@ -199,36 +204,24 @@ int FAST_FUNC udhcp_send_raw_packet(stru @@ -199,36 +204,24 @@ int FAST_FUNC udhcp_send_raw_packet(struct dhcp_packet *dhcp_pkt,
goto ret_close; goto ret_close;
} }
@ -56,14 +58,14 @@
packet.udp.source = htons(source_port); packet.udp.source = htons(source_port);
packet.udp.dest = htons(dest_port); packet.udp.dest = htons(dest_port);
- /* size, excluding IP header: */ - /* size, excluding IP header: */
- packet.udp.len = htons(UPD_DHCP_SIZE - padding); - packet.udp.len = htons(UDP_DHCP_SIZE - padding);
- /* for UDP checksumming, ip.len is set to UDP packet len */ - /* for UDP checksumming, ip.len is set to UDP packet len */
+ p_len += sizeof(packet.udp); + p_len += sizeof(packet.udp);
+ packet.udp.len = htons(p_len); + packet.udp.len = htons(p_len);
packet.ip.tot_len = packet.udp.len; packet.ip.tot_len = packet.udp.len;
- packet.udp.check = udhcp_checksum(&packet, IP_UPD_DHCP_SIZE - padding); - packet.udp.check = udhcp_checksum(&packet, IP_UDP_DHCP_SIZE - padding);
- /* but for sending, it is set to IP packet len */ - /* but for sending, it is set to IP packet len */
- packet.ip.tot_len = htons(IP_UPD_DHCP_SIZE - padding); - packet.ip.tot_len = htons(IP_UDP_DHCP_SIZE - padding);
+ p_len += sizeof(packet.ip); + p_len += sizeof(packet.ip);
+ packet.udp.check = udhcp_checksum(&packet, p_len); + packet.udp.check = udhcp_checksum(&packet, p_len);
+ packet.ip.tot_len = htons(p_len); + packet.ip.tot_len = htons(p_len);
@ -73,12 +75,12 @@
packet.ip.check = udhcp_checksum(&packet.ip, sizeof(packet.ip)); packet.ip.check = udhcp_checksum(&packet.ip, sizeof(packet.ip));
udhcp_dump_packet(dhcp_pkt); udhcp_dump_packet(dhcp_pkt);
- result = sendto(fd, &packet, IP_UPD_DHCP_SIZE - padding, /*flags:*/ 0, - result = sendto(fd, &packet, IP_UDP_DHCP_SIZE - padding, /*flags:*/ 0,
+ result = sendto(fd, &packet, p_len, /*flags:*/ 0, + result = sendto(fd, &packet, p_len, /*flags:*/ 0,
(struct sockaddr *) &dest_sll, sizeof(dest_sll)); (struct sockaddr *) &dest_sll, sizeof(dest_sll));
msg = "sendto"; msg = "sendto";
ret_close: ret_close:
@@ -246,7 +239,6 @@ int FAST_FUNC udhcp_send_kernel_packet(s @@ -246,7 +239,6 @@ int FAST_FUNC udhcp_send_kernel_packet(struct dhcp_packet *dhcp_pkt,
uint32_t dest_nip, int dest_port) uint32_t dest_nip, int dest_port)
{ {
struct sockaddr_in client; struct sockaddr_in client;
@ -86,7 +88,7 @@
int fd; int fd;
int result = -1; int result = -1;
const char *msg; const char *msg;
@@ -277,9 +269,7 @@ int FAST_FUNC udhcp_send_kernel_packet(s @@ -277,9 +269,7 @@ int FAST_FUNC udhcp_send_kernel_packet(struct dhcp_packet *dhcp_pkt,
} }
udhcp_dump_packet(dhcp_pkt); udhcp_dump_packet(dhcp_pkt);

View file

@ -1,24 +1,26 @@
diff --git a/networking/udhcp/common.c b/networking/udhcp/common.c
index 0a60261..eaf2b4b 100644
--- a/networking/udhcp/common.c --- a/networking/udhcp/common.c
+++ b/networking/udhcp/common.c +++ b/networking/udhcp/common.c
@@ -54,6 +54,8 @@ const struct dhcp_optflag dhcp_optflags[ @@ -56,6 +56,8 @@ const struct dhcp_optflag dhcp_optflags[] = {
{ OPTION_SIP_SERVERS , 0x78 }, /* DHCP_SIP_SERVERS */
#endif #endif
{ OPTION_STATIC_ROUTES , 0x79 }, /* DHCP_STATIC_ROUTES */ { OPTION_STATIC_ROUTES , 0x79 }, /* DHCP_STATIC_ROUTES */
{ OPTION_STATIC_ROUTES , 0xf9 }, /* DHCP_MS_STATIC_ROUTES */
+ { OPTION_6RD , 0xd4 }, /* DHCP_6RD (RFC) */ + { OPTION_6RD , 0xd4 }, /* DHCP_6RD (RFC) */
+ { OPTION_6RD , 0x96 }, /* DHCP_6RD (Comcast) */ + { OPTION_6RD , 0x96 }, /* DHCP_6RD (Comcast) */
{ OPTION_STRING , 0xfc }, /* DHCP_WPAD */ { OPTION_STRING , 0xfc }, /* DHCP_WPAD */
/* Options below have no match in dhcp_option_strings[], /* Options below have no match in dhcp_option_strings[],
@@ -114,6 +116,8 @@ const char dhcp_option_strings[] ALIGN1 @@ -118,6 +120,8 @@ const char dhcp_option_strings[] ALIGN1 =
// doesn't work in udhcpd.conf since OPTION_STATIC_ROUTES // doesn't work in udhcpd.conf since OPTION_STATIC_ROUTES
// is not handled yet by "string->option" conversion code: // is not handled yet by "string->option" conversion code:
"staticroutes" "\0"/* DHCP_STATIC_ROUTES */ "staticroutes" "\0"/* DHCP_STATIC_ROUTES */
+ "ip6rd" "\0" /* DHCP_6RD (RFC) */ + "ip6rd" "\0" /* DHCP_6RD (RFC) */
+ "ip6rd" "\0" /* DHCP_6RD (Comcast) */ + "ip6rd" "\0" /* DHCP_6RD (Comcast) */
"msstaticroutes""\0"/* DHCP_MS_STATIC_ROUTES */
"wpad" "\0" /* DHCP_WPAD */ "wpad" "\0" /* DHCP_WPAD */
; ;
@@ -146,6 +150,7 @@ const uint8_t dhcp_option_lengths[] ALIGN1 = {
@@ -141,6 +145,7 @@ const uint8_t dhcp_option_lengths[] ALIG
[OPTION_S32] = 4, [OPTION_S32] = 4,
/* Just like OPTION_STRING, we use minimum length here */ /* Just like OPTION_STRING, we use minimum length here */
[OPTION_STATIC_ROUTES] = 5, [OPTION_STATIC_ROUTES] = 5,
@ -26,9 +28,23 @@
}; };
diff --git a/networking/udhcp/common.h b/networking/udhcp/common.h
index f8f18ff..56cd8b0 100644
--- a/networking/udhcp/common.h
+++ b/networking/udhcp/common.h
@@ -88,6 +88,7 @@ enum {
OPTION_S32,
OPTION_BIN,
OPTION_STATIC_ROUTES,
+ OPTION_6RD,
#if ENABLE_FEATURE_UDHCP_RFC3397
OPTION_DNS_STRING, /* RFC1035 compressed domain name list */
OPTION_SIP_SERVERS,
diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c
index 78aabed..993326f 100644
--- a/networking/udhcp/dhcpc.c --- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c +++ b/networking/udhcp/dhcpc.c
@@ -45,6 +45,7 @@ static const uint8_t len_of_option_as_st @@ -45,6 +45,7 @@ static const uint8_t len_of_option_as_string[] = {
[OPTION_IP ] = sizeof("255.255.255.255 "), [OPTION_IP ] = sizeof("255.255.255.255 "),
[OPTION_IP_PAIR ] = sizeof("255.255.255.255 ") * 2, [OPTION_IP_PAIR ] = sizeof("255.255.255.255 ") * 2,
[OPTION_STATIC_ROUTES ] = sizeof("255.255.255.255/32 255.255.255.255 "), [OPTION_STATIC_ROUTES ] = sizeof("255.255.255.255/32 255.255.255.255 "),
@ -36,7 +52,7 @@
[OPTION_STRING ] = 1, [OPTION_STRING ] = 1,
#if ENABLE_FEATURE_UDHCP_RFC3397 #if ENABLE_FEATURE_UDHCP_RFC3397
[OPTION_DNS_STRING ] = 1, /* unused */ [OPTION_DNS_STRING ] = 1, /* unused */
@@ -68,6 +69,23 @@ static int sprint_nip(char *dest, const @@ -68,6 +69,23 @@ static int sprint_nip(char *dest, const char *pre, const uint8_t *ip)
return sprintf(dest, "%s%u.%u.%u.%u", pre, ip[0], ip[1], ip[2], ip[3]); return sprintf(dest, "%s%u.%u.%u.%u", pre, ip[0], ip[1], ip[2], ip[3]);
} }
@ -60,7 +76,7 @@
/* really simple implementation, just count the bits */ /* really simple implementation, just count the bits */
static int mton(uint32_t mask) static int mton(uint32_t mask)
{ {
@@ -177,6 +195,70 @@ static NOINLINE char *xmalloc_optname_op @@ -177,6 +195,70 @@ static NOINLINE char *xmalloc_optname_optval(uint8_t *option, const struct dhcp_
return ret; return ret;
} }
@ -131,13 +147,3 @@
#if ENABLE_FEATURE_UDHCP_RFC3397 #if ENABLE_FEATURE_UDHCP_RFC3397
case OPTION_DNS_STRING: case OPTION_DNS_STRING:
/* unpack option into dest; use ret for prefix (i.e., "optname=") */ /* unpack option into dest; use ret for prefix (i.e., "optname=") */
--- a/networking/udhcp/common.h
+++ b/networking/udhcp/common.h
@@ -88,6 +88,7 @@ enum {
OPTION_S32,
OPTION_BIN,
OPTION_STATIC_ROUTES,
+ OPTION_6RD,
#if ENABLE_FEATURE_UDHCP_RFC3397
OPTION_DNS_STRING, /* RFC1035 compressed domain name list */
OPTION_SIP_SERVERS,

View file

@ -1,22 +0,0 @@
--- a/networking/udhcp/common.c
+++ b/networking/udhcp/common.c
@@ -53,7 +53,8 @@ const struct dhcp_optflag dhcp_optflags[
{ OPTION_DNS_STRING | OPTION_LIST , 0x77 }, /* DHCP_DOMAIN_SEARCH */
{ OPTION_SIP_SERVERS , 0x78 }, /* DHCP_SIP_SERVERS */
#endif
- { OPTION_STATIC_ROUTES , 0x79 }, /* DHCP_STATIC_ROUTES */
+ { OPTION_STATIC_ROUTES , 0x79 }, /* DHCP_STATIC_ROUTES (RFC) */
+ { OPTION_STATIC_ROUTES , 0xf9 }, /* DHCP_STATIC_ROUTES (Microsoft) */
{ OPTION_6RD , 0xd4 }, /* DHCP_6RD (RFC) */
{ OPTION_6RD , 0x96 }, /* DHCP_6RD (Comcast) */
{ OPTION_STRING , 0xfc }, /* DHCP_WPAD */
@@ -115,7 +116,8 @@ const char dhcp_option_strings[] ALIGN1
#endif
// doesn't work in udhcpd.conf since OPTION_STATIC_ROUTES
// is not handled yet by "string->option" conversion code:
- "staticroutes" "\0"/* DHCP_STATIC_ROUTES */
+ "staticroutes" "\0" /* DHCP_STATIC_ROUTES (RFC) */
+ "msstaticroutes" "\0"/* DHCP_STATIC_ROUTES (Microsoft) */
"ip6rd" "\0" /* DHCP_6RD (RFC) */
"ip6rd" "\0" /* DHCP_6RD (Comcast) */
"wpad" "\0" /* DHCP_WPAD */

View file

@ -1,6 +1,8 @@
diff --git a/include/applets.src.h b/include/applets.src.h
index f4fab53..f97f2d8 100644
--- a/include/applets.src.h --- a/include/applets.src.h
+++ b/include/applets.src.h +++ b/include/applets.src.h
@@ -278,6 +278,7 @@ IF_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_D @@ -256,6 +256,7 @@ IF_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_DROP))
IF_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_DROP)) IF_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_DROP))
IF_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _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_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_DROP))
@ -8,9 +10,30 @@
IF_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_DROP)) IF_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_DROP))
IF_NICE(APPLET(nice, _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)) IF_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_DROP))
diff --git a/include/usage.src.h b/include/usage.src.h
index 30fef24..ac78992 100644
--- 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" \
diff --git a/networking/Config.src b/networking/Config.src
index 6dd7df7..4682dd3 100644
--- a/networking/Config.src --- a/networking/Config.src
+++ b/networking/Config.src +++ b/networking/Config.src
@@ -623,6 +623,12 @@ config FEATURE_NAMEIF_EXTENDED @@ -640,6 +640,12 @@ config FEATURE_NAMEIF_EXTENDED
new_interface_name mac=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 new_interface_name 00:80:C8:38:91:B5
@ -23,6 +46,8 @@
config NETSTAT config NETSTAT
bool "netstat" bool "netstat"
default y default y
diff --git a/networking/Kbuild.src b/networking/Kbuild.src
index f41a2df..6070a40 100644
--- a/networking/Kbuild.src --- a/networking/Kbuild.src
+++ b/networking/Kbuild.src +++ b/networking/Kbuild.src
@@ -27,6 +27,7 @@ lib-$(CONFIG_IP) += ip.o @@ -27,6 +27,7 @@ lib-$(CONFIG_IP) += ip.o
@ -33,6 +58,9 @@
lib-$(CONFIG_NETSTAT) += netstat.o lib-$(CONFIG_NETSTAT) += netstat.o
lib-$(CONFIG_NSLOOKUP) += nslookup.o lib-$(CONFIG_NSLOOKUP) += nslookup.o
lib-$(CONFIG_NTPD) += ntpd.o lib-$(CONFIG_NTPD) += ntpd.o
diff --git a/networking/netmsg.c b/networking/netmsg.c
new file mode 100644
index 0000000..43aba0d
--- /dev/null --- /dev/null
+++ b/networking/netmsg.c +++ b/networking/netmsg.c
@@ -0,0 +1,63 @@ @@ -0,0 +1,63 @@
@ -99,20 +127,3 @@
+ close(s); + close(s);
+ exit(1); + exit(1);
+} +}
--- 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
@@ -2961,6 +2962,9 @@ INSERT
" or\n" \
"$ nameif -c /etc/my_mactab_file\n" \
+#define netmsg_trivial_usage NOUSAGE_STR
+#define netmsg_full_usage ""
+
#define netstat_trivial_usage \
"[-laentuwxr"IF_FEATURE_NETSTAT_WIDE("W")IF_FEATURE_NETSTAT_PRG("p")"]"
#define netstat_full_usage "\n\n" \

View file

@ -1,39 +0,0 @@
--- a/sysklogd/syslogd.c
+++ b/sysklogd/syslogd.c
@@ -555,6 +555,7 @@ static void do_syslogd(void)
{
int sock_fd;
#if ENABLE_FEATURE_REMOTE_LOG
+ int send_err = 0;
llist_t *item;
#endif
#if ENABLE_FEATURE_SYSLOGD_DUP
@@ -636,11 +637,23 @@ static void do_syslogd(void)
if (rh->remoteFD == -1)
continue;
}
- /* Send message to remote logger, ignore possible error */
- /* TODO: on some errors, close and set G.remoteFD to -1
- * so that DNS resolution and connect is retried? */
- sendto(rh->remoteFD, recvbuf, sz+1, MSG_DONTWAIT,
- &(rh->remoteAddr->u.sa), rh->remoteAddr->len);
+ /* Send message to remote logger */
+ if (sendto(rh->remoteFD, recvbuf, sz+1, MSG_DONTWAIT,
+ &(rh->remoteAddr->u.sa), rh->remoteAddr->len) == -1)
+ send_err = errno;
+
+ /* On some errors, close and set G.remoteFD to -1
+ * so that DNS resolution and connect is retried */
+ switch (send_err) {
+ case ECONNRESET:
+ case EDESTADDRREQ:
+ case EISCONN:
+ case ENOTCONN:
+ case EPIPE:
+ close(rh->remoteFD);
+ rh->remoteFD = -1;
+ break;
+ }
}
#endif
if (!ENABLE_FEATURE_REMOTE_LOG || (option_mask32 & OPT_locallog)) {

View file

@ -1,35 +0,0 @@
--- a/include/platform.h
+++ b/include/platform.h
@@ -154,14 +154,14 @@
# include <sex.h>
# define __BIG_ENDIAN__ (BYTE_ORDER == BIG_ENDIAN)
# define __BYTE_ORDER BYTE_ORDER
-#elif defined __FreeBSD__
+#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined (__NetBSD__) || defined(__APPLE__)
# include <sys/resource.h> /* rlimit */
# include <machine/endian.h>
# define bswap_64 __bswap64
# define bswap_32 __bswap32
# define bswap_16 __bswap16
# define __BIG_ENDIAN__ (_BYTE_ORDER == _BIG_ENDIAN)
-#elif !defined __APPLE__
+#else
# include <byteswap.h>
# include <endian.h>
#endif
@@ -172,9 +172,15 @@
#elif defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN
# define BB_BIG_ENDIAN 1
# define BB_LITTLE_ENDIAN 0
+#elif defined(_BYTE_ORDER) && _BYTE_ORDER == _BIG_ENDIAN
+# define BB_BIG_ENDIAN 1
+# define BB_LITTLE_ENDIAN 0
#elif (defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN) || defined(__386__)
# define BB_BIG_ENDIAN 0
# define BB_LITTLE_ENDIAN 1
+#elif defined(_BYTE_ORDER) && _BYTE_ORDER == _LITTLE_ENDIAN
+# define BB_BIG_ENDIAN 0
+# define BB_LITTLE_ENDIAN 1
#else
# error "Can't determine endianness"
#endif