busybox: update to 1.26.2
Refresh patches, delete patches that have been applied upstream. Signed-off-by: Magnus Kroken <mkroken@gmail.com> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Signed-off-by: Felix Fietkau <nbd@nbd.name> [fix defaults]
This commit is contained in:
parent
5d2a9d2a3a
commit
84da2a677a
31 changed files with 3048 additions and 3798 deletions
File diff suppressed because it is too large
Load diff
|
@ -8,14 +8,14 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=busybox
|
||||
PKG_VERSION:=1.25.1
|
||||
PKG_RELEASE:=2
|
||||
PKG_VERSION:=1.26.2
|
||||
PKG_RELEASE:=1
|
||||
PKG_FLAGS:=essential
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=https://www.busybox.net/downloads \
|
||||
http://sources.buildroot.net
|
||||
PKG_HASH:=27667e0f2328fdbd79cfd622e4453e5c57e58f781c5da97c9be337d93aa2a02e
|
||||
PKG_HASH:=da3e44913fc1a9c9b7c5337ea5292da518683cbff32be630777f565d6036af16
|
||||
|
||||
PKG_BUILD_DEPENDS:=BUSYBOX_USE_LIBRPC:librpc BUSYBOX_CONFIG_PAM:libpam
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
|
|
@ -10,15 +10,18 @@ config BUSYBOX_CONFIG_HAVE_DOT_CONFIG
|
|||
|
||||
menu "Busybox Settings"
|
||||
|
||||
menu "General Configuration"
|
||||
|
||||
config BUSYBOX_CONFIG_DESKTOP
|
||||
bool "Enable options for full-blown desktop systems"
|
||||
default BUSYBOX_DEFAULT_DESKTOP
|
||||
help
|
||||
Enable options and features which are not essential.
|
||||
Select this only if you plan to use busybox on full-blown
|
||||
desktop machine with common Linux distro, not on an embedded box.
|
||||
Select this if you plan to use busybox on full-blown desktop machine
|
||||
with common Linux distro, which needs higher level of command-line
|
||||
compatibility.
|
||||
|
||||
If you are preparing your build to be used on an embedded box
|
||||
where you have tighter control over the entire set of userspace
|
||||
tools, you can unselect this option for smaller code size.
|
||||
|
||||
config BUSYBOX_CONFIG_EXTRA_COMPAT
|
||||
bool "Provide compatible behavior for rare corner cases (bigger code)"
|
||||
|
@ -57,30 +60,6 @@ config BUSYBOX_CONFIG_PLATFORM_LINUX
|
|||
Answering 'N' here will disable such applets and hide the
|
||||
corresponding configuration options.
|
||||
|
||||
choice
|
||||
prompt "Buffer allocation policy"
|
||||
default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
|
||||
help
|
||||
There are 3 ways BusyBox can handle buffer allocations:
|
||||
- Use malloc. This costs code size for the call to xmalloc.
|
||||
- Put them on stack. For some very small machines with limited stack
|
||||
space, this can be deadly. For most folks, this works just fine.
|
||||
- Put them in BSS. This works beautifully for computers with a real
|
||||
MMU (and OS support), but wastes runtime RAM for uCLinux. This
|
||||
behavior was the only one available for BusyBox versions 0.48 and
|
||||
earlier.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BUFFERS_USE_MALLOC
|
||||
bool "Allocate with Malloc"
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
|
||||
bool "Allocate on the Stack"
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_IN_BSS
|
||||
bool "Allocate in the .bss section"
|
||||
|
||||
endchoice
|
||||
|
||||
config BUSYBOX_CONFIG_SHOW_USAGE
|
||||
bool "Show applet usage messages"
|
||||
default BUSYBOX_DEFAULT_SHOW_USAGE
|
||||
|
@ -143,131 +122,6 @@ config BUSYBOX_CONFIG_INSTALL_NO_USR
|
|||
will install applets only to /bin and /sbin,
|
||||
never to /usr/bin or /usr/sbin.
|
||||
|
||||
config BUSYBOX_CONFIG_LOCALE_SUPPORT
|
||||
bool "Enable locale support (system needs locale for this to work)"
|
||||
default BUSYBOX_DEFAULT_LOCALE_SUPPORT
|
||||
help
|
||||
Enable this if your system has locale support and you would like
|
||||
busybox to support locale settings.
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_SUPPORT
|
||||
bool "Support Unicode"
|
||||
default BUSYBOX_DEFAULT_UNICODE_SUPPORT
|
||||
help
|
||||
This makes various applets aware that one byte is not
|
||||
one character on screen.
|
||||
|
||||
Busybox aims to eventually work correctly with Unicode displays.
|
||||
Any older encodings are not guaranteed to work.
|
||||
Probably by the time when busybox will be fully Unicode-clean,
|
||||
other encodings will be mainly of historic interest.
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_USING_LOCALE
|
||||
bool "Use libc routines for Unicode (else uses internal ones)"
|
||||
default BUSYBOX_DEFAULT_UNICODE_USING_LOCALE
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && BUSYBOX_CONFIG_LOCALE_SUPPORT
|
||||
help
|
||||
With this option on, Unicode support is implemented using libc
|
||||
routines. Otherwise, internal implementation is used.
|
||||
Internal implementation is smaller.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV
|
||||
bool "Check $LC_ALL, $LC_CTYPE and $LANG environment variables"
|
||||
default BUSYBOX_DEFAULT_FEATURE_CHECK_UNICODE_IN_ENV
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
|
||||
help
|
||||
With this option on, Unicode support is activated
|
||||
only if locale-related variables have the value of the form
|
||||
"xxxx.utf8"
|
||||
|
||||
Otherwise, Unicode support will be always enabled and active.
|
||||
|
||||
config BUSYBOX_CONFIG_SUBST_WCHAR
|
||||
int "Character code to substitute unprintable characters with"
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
|
||||
default BUSYBOX_DEFAULT_SUBST_WCHAR
|
||||
help
|
||||
Typical values are 63 for '?' (works with any output device),
|
||||
30 for ASCII substitute control code,
|
||||
65533 (0xfffd) for Unicode replacement character.
|
||||
|
||||
config BUSYBOX_CONFIG_LAST_SUPPORTED_WCHAR
|
||||
int "Range of supported Unicode characters"
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
|
||||
default BUSYBOX_DEFAULT_LAST_SUPPORTED_WCHAR
|
||||
help
|
||||
Any character with Unicode value bigger than this is assumed
|
||||
to be non-printable on output device. Many applets replace
|
||||
such chars with substitution character.
|
||||
|
||||
The idea is that many valid printable Unicode chars are
|
||||
nevertheless are not displayed correctly. Think about
|
||||
combining charachers, double-wide hieroglyphs, obscure
|
||||
characters in dozens of ancient scripts...
|
||||
Many terminals, terminal emulators, xterms etc will fail
|
||||
to handle them correctly. Choose the smallest value
|
||||
which suits your needs.
|
||||
|
||||
Typical values are:
|
||||
126 - ASCII only
|
||||
767 (0x2ff) - there are no combining chars in [0..767] range
|
||||
(the range includes Latin 1, Latin Ext. A and B),
|
||||
code is ~700 bytes smaller for this case.
|
||||
4351 (0x10ff) - there are no double-wide chars in [0..4351] range,
|
||||
code is ~300 bytes smaller for this case.
|
||||
12799 (0x31ff) - nearly all non-ideographic characters are
|
||||
available in [0..12799] range, including
|
||||
East Asian scripts like katakana, hiragana, hangul,
|
||||
bopomofo...
|
||||
0 - off, any valid printable Unicode character will be printed.
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_COMBINING_WCHARS
|
||||
bool "Allow zero-width Unicode characters on output"
|
||||
default BUSYBOX_DEFAULT_UNICODE_COMBINING_WCHARS
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
|
||||
help
|
||||
With this option off, any Unicode char with width of 0
|
||||
is substituted on output.
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_WIDE_WCHARS
|
||||
bool "Allow wide Unicode characters on output"
|
||||
default BUSYBOX_DEFAULT_UNICODE_WIDE_WCHARS
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
|
||||
help
|
||||
With this option off, any Unicode char with width > 1
|
||||
is substituted on output.
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
|
||||
bool "Bidirectional character-aware line input"
|
||||
default BUSYBOX_DEFAULT_UNICODE_BIDI_SUPPORT
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
|
||||
help
|
||||
With this option on, right-to-left Unicode characters
|
||||
are treated differently on input (e.g. cursor movement).
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_NEUTRAL_TABLE
|
||||
bool "In bidi input, support non-ASCII neutral chars too"
|
||||
default BUSYBOX_DEFAULT_UNICODE_NEUTRAL_TABLE
|
||||
depends on BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
|
||||
help
|
||||
In most cases it's enough to treat only ASCII non-letters
|
||||
(i.e. punctuation, numbers and space) as characters
|
||||
with neutral directionality.
|
||||
With this option on, more extensive (and bigger) table
|
||||
of neutral chars will be used.
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_PRESERVE_BROKEN
|
||||
bool "Make it possible to enter sequences of chars which are not Unicode"
|
||||
default BUSYBOX_DEFAULT_UNICODE_PRESERVE_BROKEN
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
|
||||
help
|
||||
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 '?'.
|
||||
|
||||
config BUSYBOX_CONFIG_PAM
|
||||
bool "Support for PAM (Pluggable Authentication Modules)"
|
||||
default BUSYBOX_DEFAULT_PAM
|
||||
|
@ -275,19 +129,6 @@ config BUSYBOX_CONFIG_PAM
|
|||
Use PAM in some busybox applets (currently login and httpd) instead
|
||||
of direct access to password database.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_USE_SENDFILE
|
||||
bool "Use sendfile system call"
|
||||
default BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
When enabled, busybox will use the kernel sendfile() function
|
||||
instead of read/write loops to copy data between file descriptors
|
||||
(for example, cp command does this a lot).
|
||||
If sendfile() doesn't work, copying code falls back to read/write
|
||||
loop. sendfile() was originally implemented for faster I/O
|
||||
from files to sockets, but since Linux 2.6.33 it was extended
|
||||
to work for many more file types.
|
||||
|
||||
config BUSYBOX_CONFIG_LONG_OPTS
|
||||
bool "Support for --long-options"
|
||||
default BUSYBOX_DEFAULT_LONG_OPTS
|
||||
|
@ -496,9 +337,7 @@ config BUSYBOX_CONFIG_FEATURE_HAVE_RPC
|
|||
# This is automatically selected if any of enabled applets need it.
|
||||
# You do not need to select it manually.
|
||||
|
||||
endmenu
|
||||
|
||||
menu 'Build Options'
|
||||
comment 'Build Options'
|
||||
|
||||
config BUSYBOX_CONFIG_STATIC
|
||||
bool "Build BusyBox as a static binary (no shared libs)"
|
||||
|
@ -673,9 +512,73 @@ config BUSYBOX_CONFIG_EXTRA_LDLIBS
|
|||
help
|
||||
Additional LDLIBS to pass to the linker with -l.
|
||||
|
||||
endmenu
|
||||
comment 'Installation Options ("make install" behavior)'
|
||||
|
||||
menu 'Debugging Options'
|
||||
choice
|
||||
prompt "What kind of applet links to install"
|
||||
default BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
|
||||
help
|
||||
Choose what kind of links to applets are created by "make install".
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
|
||||
bool "as soft-links"
|
||||
help
|
||||
Install applets as soft-links to the busybox binary. This needs some
|
||||
free inodes on the filesystem, but might help with filesystem
|
||||
generators that can't cope with hard-links.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_APPLET_HARDLINKS
|
||||
bool "as hard-links"
|
||||
help
|
||||
Install applets as hard-links to the busybox binary. This might
|
||||
count on a filesystem with few inodes.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
|
||||
bool "as script wrappers"
|
||||
help
|
||||
Install applets as script wrappers that call the busybox binary.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_APPLET_DONT
|
||||
bool "not installed"
|
||||
help
|
||||
Do not install applet links. Useful when you plan to use
|
||||
busybox --install for installing links, or plan to use
|
||||
a standalone shell and thus don't need applet links.
|
||||
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "/bin/sh applet link"
|
||||
default BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
|
||||
depends on BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
|
||||
help
|
||||
Choose how you install /bin/sh applet link.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
|
||||
bool "as soft-link"
|
||||
help
|
||||
Install /bin/sh applet as soft-link to the busybox binary.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_SH_APPLET_HARDLINK
|
||||
bool "as hard-link"
|
||||
help
|
||||
Install /bin/sh applet as hard-link to the busybox binary.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER
|
||||
bool "as script wrapper"
|
||||
help
|
||||
Install /bin/sh applet as script wrapper that calls
|
||||
the busybox binary.
|
||||
|
||||
endchoice
|
||||
|
||||
config BUSYBOX_CONFIG_PREFIX
|
||||
string "BusyBox installation prefix"
|
||||
default BUSYBOX_DEFAULT_PREFIX
|
||||
help
|
||||
Define your directory to install BusyBox files/subdirs in.
|
||||
|
||||
comment 'Debugging Options'
|
||||
|
||||
config BUSYBOX_CONFIG_DEBUG
|
||||
bool "Build BusyBox with extra Debugging symbols"
|
||||
|
@ -769,78 +672,8 @@ endchoice
|
|||
|
||||
endmenu
|
||||
|
||||
menu 'Installation Options ("make install" behavior)'
|
||||
|
||||
choice
|
||||
prompt "What kind of applet links to install"
|
||||
default BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
|
||||
help
|
||||
Choose what kind of links to applets are created by "make install".
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
|
||||
bool "as soft-links"
|
||||
help
|
||||
Install applets as soft-links to the busybox binary. This needs some
|
||||
free inodes on the filesystem, but might help with filesystem
|
||||
generators that can't cope with hard-links.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_APPLET_HARDLINKS
|
||||
bool "as hard-links"
|
||||
help
|
||||
Install applets as hard-links to the busybox binary. This might
|
||||
count on a filesystem with few inodes.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
|
||||
bool "as script wrappers"
|
||||
help
|
||||
Install applets as script wrappers that call the busybox binary.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_APPLET_DONT
|
||||
bool "not installed"
|
||||
help
|
||||
Do not install applet links. Useful when you plan to use
|
||||
busybox --install for installing links, or plan to use
|
||||
a standalone shell and thus don't need applet links.
|
||||
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "/bin/sh applet link"
|
||||
default BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
|
||||
depends on BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
|
||||
help
|
||||
Choose how you install /bin/sh applet link.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
|
||||
bool "as soft-link"
|
||||
help
|
||||
Install /bin/sh applet as soft-link to the busybox binary.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_SH_APPLET_HARDLINK
|
||||
bool "as hard-link"
|
||||
help
|
||||
Install /bin/sh applet as hard-link to the busybox binary.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER
|
||||
bool "as script wrapper"
|
||||
help
|
||||
Install /bin/sh applet as script wrapper that calls
|
||||
the busybox binary.
|
||||
|
||||
endchoice
|
||||
|
||||
config BUSYBOX_CONFIG_PREFIX
|
||||
string "BusyBox installation prefix"
|
||||
default BUSYBOX_DEFAULT_PREFIX
|
||||
help
|
||||
Define your directory to install BusyBox files/subdirs in.
|
||||
|
||||
endmenu
|
||||
|
||||
source libbb/Config.in
|
||||
|
||||
endmenu
|
||||
|
||||
comment "Applets"
|
||||
|
||||
source archival/Config.in
|
||||
|
|
|
@ -31,7 +31,7 @@ config BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ
|
|||
Make tar, rpm, modprobe etc understand .gz data.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z
|
||||
bool "tar, rpm, modprobe etc understand .Z data"
|
||||
bool "Make tar, rpm, modprobe etc understand .Z data"
|
||||
default BUSYBOX_DEFAULT_FEATURE_SEAMLESS_Z # it is ancient
|
||||
help
|
||||
Make tar, rpm, modprobe etc understand .Z data.
|
||||
|
@ -79,10 +79,16 @@ config BUSYBOX_CONFIG_GUNZIP
|
|||
You can use the `-t' option to test the integrity of
|
||||
an archive, without decompressing it.
|
||||
|
||||
config BUSYBOX_CONFIG_ZCAT
|
||||
bool "zcat"
|
||||
default BUSYBOX_DEFAULT_ZCAT
|
||||
help
|
||||
Alias to "gunzip -c".
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_GUNZIP_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default BUSYBOX_DEFAULT_FEATURE_GUNZIP_LONG_OPTIONS
|
||||
depends on BUSYBOX_CONFIG_GUNZIP && BUSYBOX_CONFIG_LONG_OPTS
|
||||
depends on (BUSYBOX_CONFIG_GUNZIP || BUSYBOX_CONFIG_ZCAT) && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Enable use of long options.
|
||||
config BUSYBOX_CONFIG_BUNZIP2
|
||||
|
@ -97,6 +103,12 @@ config BUSYBOX_CONFIG_BUNZIP2
|
|||
|
||||
Unless you have a specific application which requires bunzip2, you
|
||||
should probably say N here.
|
||||
|
||||
config BUSYBOX_CONFIG_BZCAT
|
||||
bool "bzcat"
|
||||
default BUSYBOX_DEFAULT_BZCAT
|
||||
help
|
||||
Alias to "bunzip2 -c".
|
||||
config BUSYBOX_CONFIG_UNLZMA
|
||||
bool "unlzma"
|
||||
default BUSYBOX_DEFAULT_UNLZMA
|
||||
|
@ -109,31 +121,47 @@ config BUSYBOX_CONFIG_UNLZMA
|
|||
The BusyBox unlzma applet is limited to decompression only.
|
||||
On an x86 system, this applet adds about 4K.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
|
||||
bool "Optimize unlzma for speed"
|
||||
default BUSYBOX_DEFAULT_FEATURE_LZMA_FAST
|
||||
depends on BUSYBOX_CONFIG_UNLZMA
|
||||
config BUSYBOX_CONFIG_LZCAT
|
||||
bool "lzcat"
|
||||
default BUSYBOX_DEFAULT_LZCAT
|
||||
help
|
||||
This option reduces decompression time by about 25% at the cost of
|
||||
a 1K bigger binary.
|
||||
unlzma is a compression utility using the Lempel-Ziv-Markov chain
|
||||
compression algorithm, and range coding. Compression
|
||||
is generally considerably better than that achieved by the bzip2
|
||||
compressors.
|
||||
|
||||
The BusyBox unlzma applet is limited to decompression only.
|
||||
On an x86 system, this applet adds about 4K.
|
||||
|
||||
config BUSYBOX_CONFIG_LZMA
|
||||
bool "Provide lzma alias which supports only unpacking"
|
||||
bool "lzma -d"
|
||||
default BUSYBOX_DEFAULT_LZMA
|
||||
depends on BUSYBOX_CONFIG_UNLZMA
|
||||
help
|
||||
Enable this option if you want commands like "lzma -d" to work.
|
||||
IOW: you'll get lzma applet, but it will always require -d option.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
|
||||
bool "Optimize unlzma for speed"
|
||||
default BUSYBOX_DEFAULT_FEATURE_LZMA_FAST
|
||||
depends on BUSYBOX_CONFIG_UNLZMA || BUSYBOX_CONFIG_LZCAT || BUSYBOX_CONFIG_LZMA
|
||||
help
|
||||
This option reduces decompression time by about 25% at the cost of
|
||||
a 1K bigger binary.
|
||||
config BUSYBOX_CONFIG_UNXZ
|
||||
bool "unxz"
|
||||
default BUSYBOX_DEFAULT_UNXZ
|
||||
help
|
||||
unxz is a unlzma successor.
|
||||
|
||||
config BUSYBOX_CONFIG_XZCAT
|
||||
bool "xzcat"
|
||||
default BUSYBOX_DEFAULT_XZCAT
|
||||
help
|
||||
Alias to "unxz -c".
|
||||
|
||||
config BUSYBOX_CONFIG_XZ
|
||||
bool "Provide xz alias which supports only unpacking"
|
||||
bool "xz -d"
|
||||
default BUSYBOX_DEFAULT_XZ
|
||||
depends on BUSYBOX_CONFIG_UNXZ
|
||||
help
|
||||
Enable this option if you want commands like "xz -d" to work.
|
||||
IOW: you'll get xz applet, but it will always require -d option.
|
||||
|
@ -158,7 +186,7 @@ config BUSYBOX_CONFIG_CPIO
|
|||
cpio has 110 bytes of overheads for every stored file.
|
||||
|
||||
This implementation of cpio can extract cpio archives created in the
|
||||
"newc" or "crc" format, it cannot create or modify them.
|
||||
"newc" or "crc" format.
|
||||
|
||||
Unless you have a specific application which requires cpio, you
|
||||
should probably say N here.
|
||||
|
@ -198,16 +226,6 @@ config BUSYBOX_CONFIG_DPKG_DEB
|
|||
|
||||
Unless you have a specific application which requires dpkg-deb,
|
||||
say N here.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY
|
||||
bool "Extract only (-x)"
|
||||
default BUSYBOX_DEFAULT_FEATURE_DPKG_DEB_EXTRACT_ONLY
|
||||
depends on BUSYBOX_CONFIG_DPKG_DEB
|
||||
help
|
||||
This reduces dpkg-deb to the equivalent of
|
||||
"ar -p <deb> data.tar.gz | tar -zx". However it saves space as none
|
||||
of the extra dpkg-deb, ar or tar options are needed, they are linked
|
||||
to internally.
|
||||
config BUSYBOX_CONFIG_GZIP
|
||||
bool "gzip"
|
||||
default BUSYBOX_DEFAULT_GZIP
|
||||
|
@ -249,10 +267,22 @@ config BUSYBOX_CONFIG_LZOP
|
|||
help
|
||||
Lzop compression/decompresion.
|
||||
|
||||
config BUSYBOX_CONFIG_UNLZOP
|
||||
bool "unlzop"
|
||||
default BUSYBOX_DEFAULT_UNLZOP
|
||||
help
|
||||
Lzop decompresion.
|
||||
|
||||
config BUSYBOX_CONFIG_LZOPCAT
|
||||
bool "lzopcat"
|
||||
default BUSYBOX_DEFAULT_LZOPCAT
|
||||
help
|
||||
Alias to "unlzop -c".
|
||||
|
||||
config BUSYBOX_CONFIG_LZOP_COMPR_HIGH
|
||||
bool "lzop compression levels 7,8,9 (not very useful)"
|
||||
default BUSYBOX_DEFAULT_LZOP_COMPR_HIGH
|
||||
depends on BUSYBOX_CONFIG_LZOP
|
||||
depends on BUSYBOX_CONFIG_LZOP || BUSYBOX_CONFIG_UNLZOP || BUSYBOX_CONFIG_LZOPCAT
|
||||
help
|
||||
High levels (7,8,9) of lzop compression. These levels
|
||||
are actually slower than gzip at equivalent compression ratios
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
|
||||
menu "Console Utilities"
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_CHVT
|
||||
bool "chvt"
|
||||
default BUSYBOX_DEFAULT_CHVT
|
||||
|
@ -14,27 +13,17 @@ config BUSYBOX_CONFIG_CHVT
|
|||
help
|
||||
This program is used to change to another terminal.
|
||||
Example: chvt 4 (change to terminal /dev/tty4)
|
||||
|
||||
config BUSYBOX_CONFIG_FGCONSOLE
|
||||
bool "fgconsole"
|
||||
default BUSYBOX_DEFAULT_FGCONSOLE
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program prints active (foreground) console number.
|
||||
|
||||
config BUSYBOX_CONFIG_CLEAR
|
||||
bool "clear"
|
||||
default BUSYBOX_DEFAULT_CLEAR
|
||||
help
|
||||
This program clears the terminal screen.
|
||||
|
||||
config BUSYBOX_CONFIG_DEALLOCVT
|
||||
bool "deallocvt"
|
||||
default BUSYBOX_DEFAULT_DEALLOCVT
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program deallocates unused virtual consoles.
|
||||
|
||||
config BUSYBOX_CONFIG_DUMPKMAP
|
||||
bool "dumpkmap"
|
||||
default BUSYBOX_DEFAULT_DUMPKMAP
|
||||
|
@ -42,14 +31,18 @@ config BUSYBOX_CONFIG_DUMPKMAP
|
|||
help
|
||||
This program dumps the kernel's keyboard translation table to
|
||||
stdout, in binary format. You can then use loadkmap to load it.
|
||||
|
||||
config BUSYBOX_CONFIG_FGCONSOLE
|
||||
bool "fgconsole"
|
||||
default BUSYBOX_DEFAULT_FGCONSOLE
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program prints active (foreground) console number.
|
||||
config BUSYBOX_CONFIG_KBD_MODE
|
||||
bool "kbd_mode"
|
||||
default BUSYBOX_DEFAULT_KBD_MODE
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program reports and sets keyboard mode.
|
||||
|
||||
config BUSYBOX_CONFIG_LOADFONT
|
||||
bool "loadfont"
|
||||
default BUSYBOX_DEFAULT_LOADFONT
|
||||
|
@ -57,61 +50,6 @@ config BUSYBOX_CONFIG_LOADFONT
|
|||
help
|
||||
This program loads a console font from standard input.
|
||||
|
||||
config BUSYBOX_CONFIG_LOADKMAP
|
||||
bool "loadkmap"
|
||||
default BUSYBOX_DEFAULT_LOADKMAP
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program loads a keyboard translation table from
|
||||
standard input.
|
||||
|
||||
config BUSYBOX_CONFIG_OPENVT
|
||||
bool "openvt"
|
||||
default BUSYBOX_DEFAULT_OPENVT
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program is used to start a command on an unused
|
||||
virtual terminal.
|
||||
|
||||
config BUSYBOX_CONFIG_RESET
|
||||
bool "reset"
|
||||
default BUSYBOX_DEFAULT_RESET
|
||||
help
|
||||
This program is used to reset the terminal screen, if it
|
||||
gets messed up.
|
||||
|
||||
config BUSYBOX_CONFIG_RESIZE
|
||||
bool "resize"
|
||||
default BUSYBOX_DEFAULT_RESIZE
|
||||
help
|
||||
This program is used to (re)set the width and height of your current
|
||||
terminal.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_RESIZE_PRINT
|
||||
bool "Print environment variables"
|
||||
default BUSYBOX_DEFAULT_FEATURE_RESIZE_PRINT
|
||||
depends on BUSYBOX_CONFIG_RESIZE
|
||||
help
|
||||
Prints the newly set size (number of columns and rows) of
|
||||
the terminal.
|
||||
E.g.:
|
||||
COLUMNS=80;LINES=44;export COLUMNS LINES;
|
||||
|
||||
config BUSYBOX_CONFIG_SETCONSOLE
|
||||
bool "setconsole"
|
||||
default BUSYBOX_DEFAULT_SETCONSOLE
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program redirects the system console to another device,
|
||||
like the current tty while logged in via telnet.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default BUSYBOX_DEFAULT_FEATURE_SETCONSOLE_LONG_OPTIONS
|
||||
depends on BUSYBOX_CONFIG_SETCONSOLE && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the setconsole applet.
|
||||
|
||||
config BUSYBOX_CONFIG_SETFONT
|
||||
bool "setfont"
|
||||
default BUSYBOX_DEFAULT_SETFONT
|
||||
|
@ -134,28 +72,6 @@ config BUSYBOX_CONFIG_DEFAULT_SETFONT_DIR
|
|||
Directory to use if setfont's params are simple filenames
|
||||
(not /path/to/file or ./file). Default is "" (no default directory).
|
||||
|
||||
config BUSYBOX_CONFIG_SETKEYCODES
|
||||
bool "setkeycodes"
|
||||
default BUSYBOX_DEFAULT_SETKEYCODES
|
||||
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.
|
||||
|
||||
config BUSYBOX_CONFIG_SETLOGCONS
|
||||
bool "setlogcons"
|
||||
default BUSYBOX_DEFAULT_SETLOGCONS
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program redirects the output console of kernel messages.
|
||||
|
||||
config BUSYBOX_CONFIG_SHOWKEY
|
||||
bool "showkey"
|
||||
default BUSYBOX_DEFAULT_SHOWKEY
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Shows keys pressed.
|
||||
|
||||
comment "Common options for loadfont and setfont"
|
||||
depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
|
||||
|
||||
|
@ -172,5 +88,74 @@ config BUSYBOX_CONFIG_FEATURE_LOADFONT_RAW
|
|||
depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
|
||||
help
|
||||
Support old (raw) console fonts.
|
||||
config BUSYBOX_CONFIG_LOADKMAP
|
||||
bool "loadkmap"
|
||||
default BUSYBOX_DEFAULT_LOADKMAP
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program loads a keyboard translation table from
|
||||
standard input.
|
||||
config BUSYBOX_CONFIG_OPENVT
|
||||
bool "openvt"
|
||||
default BUSYBOX_DEFAULT_OPENVT
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program is used to start a command on an unused
|
||||
virtual terminal.
|
||||
config BUSYBOX_CONFIG_RESET
|
||||
bool "reset"
|
||||
default BUSYBOX_DEFAULT_RESET
|
||||
help
|
||||
This program is used to reset the terminal screen, if it
|
||||
gets messed up.
|
||||
config BUSYBOX_CONFIG_RESIZE
|
||||
bool "resize"
|
||||
default BUSYBOX_DEFAULT_RESIZE
|
||||
help
|
||||
This program is used to (re)set the width and height of your current
|
||||
terminal.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_RESIZE_PRINT
|
||||
bool "Print environment variables"
|
||||
default BUSYBOX_DEFAULT_FEATURE_RESIZE_PRINT
|
||||
depends on BUSYBOX_CONFIG_RESIZE
|
||||
help
|
||||
Prints the newly set size (number of columns and rows) of
|
||||
the terminal.
|
||||
E.g.:
|
||||
COLUMNS=80;LINES=44;export COLUMNS LINES;
|
||||
config BUSYBOX_CONFIG_SETCONSOLE
|
||||
bool "setconsole"
|
||||
default BUSYBOX_DEFAULT_SETCONSOLE
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program redirects the system console to another device,
|
||||
like the current tty while logged in via telnet.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default BUSYBOX_DEFAULT_FEATURE_SETCONSOLE_LONG_OPTIONS
|
||||
depends on BUSYBOX_CONFIG_SETCONSOLE && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the setconsole applet.
|
||||
config BUSYBOX_CONFIG_SETKEYCODES
|
||||
bool "setkeycodes"
|
||||
default BUSYBOX_DEFAULT_SETKEYCODES
|
||||
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.
|
||||
config BUSYBOX_CONFIG_SETLOGCONS
|
||||
bool "setlogcons"
|
||||
default BUSYBOX_DEFAULT_SETLOGCONS
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program redirects the output console of kernel messages.
|
||||
config BUSYBOX_CONFIG_SHOWKEY
|
||||
bool "showkey"
|
||||
default BUSYBOX_DEFAULT_SHOWKEY
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Shows keys pressed.
|
||||
|
||||
endmenu
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -194,28 +194,22 @@ config BUSYBOX_CONFIG_GREP
|
|||
help
|
||||
grep is used to search files for a specified pattern.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_GREP_EGREP_ALIAS
|
||||
bool "Enable extended regular expressions (egrep & grep -E)"
|
||||
default BUSYBOX_DEFAULT_FEATURE_GREP_EGREP_ALIAS
|
||||
depends on BUSYBOX_CONFIG_GREP
|
||||
config BUSYBOX_CONFIG_EGREP
|
||||
bool "egrep"
|
||||
default BUSYBOX_DEFAULT_EGREP
|
||||
help
|
||||
Enabled support for extended regular expressions. Extended
|
||||
regular expressions allow for alternation (foo|bar), grouping,
|
||||
and various repetition operators.
|
||||
Alias to "grep -E"
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_GREP_FGREP_ALIAS
|
||||
bool "Alias fgrep to grep -F"
|
||||
default BUSYBOX_DEFAULT_FEATURE_GREP_FGREP_ALIAS
|
||||
depends on BUSYBOX_CONFIG_GREP
|
||||
config BUSYBOX_CONFIG_FGREP
|
||||
bool "fgrep"
|
||||
default BUSYBOX_DEFAULT_FGREP
|
||||
help
|
||||
fgrep sees the search pattern as a normal string rather than
|
||||
regular expressions.
|
||||
grep -F always works, this just creates the fgrep alias.
|
||||
Alias to "grep -F"
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_GREP_CONTEXT
|
||||
bool "Enable before and after context flags (-A, -B and -C)"
|
||||
default BUSYBOX_DEFAULT_FEATURE_GREP_CONTEXT
|
||||
depends on BUSYBOX_CONFIG_GREP
|
||||
depends on BUSYBOX_CONFIG_GREP || BUSYBOX_CONFIG_EGREP
|
||||
help
|
||||
Print the specified number of leading (-B) and/or trailing (-A)
|
||||
context surrounding our matching lines.
|
||||
|
|
|
@ -45,15 +45,27 @@ config BUSYBOX_CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE
|
|||
Enable reading and parsing of $PWD/bootchartd.conf
|
||||
and /etc/bootchartd.conf files.
|
||||
config BUSYBOX_CONFIG_HALT
|
||||
bool "poweroff, halt, and reboot"
|
||||
bool "halt"
|
||||
default BUSYBOX_DEFAULT_HALT
|
||||
help
|
||||
Stop all processes and either halt, reboot, or power off the system.
|
||||
Stop all processes and halt the system.
|
||||
|
||||
config BUSYBOX_CONFIG_POWEROFF
|
||||
bool "poweroff"
|
||||
default BUSYBOX_DEFAULT_POWEROFF
|
||||
help
|
||||
Stop all processes and power off the system.
|
||||
|
||||
config BUSYBOX_CONFIG_REBOOT
|
||||
bool "reboot"
|
||||
default BUSYBOX_DEFAULT_REBOOT
|
||||
help
|
||||
Stop all processes and reboot the system.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
|
||||
bool "Call telinit on shutdown and reboot"
|
||||
default BUSYBOX_DEFAULT_FEATURE_CALL_TELINIT
|
||||
depends on BUSYBOX_CONFIG_HALT && !BUSYBOX_CONFIG_INIT
|
||||
depends on (BUSYBOX_CONFIG_HALT || BUSYBOX_CONFIG_POWEROFF || BUSYBOX_CONFIG_REBOOT) && !BUSYBOX_CONFIG_INIT
|
||||
help
|
||||
Call an external program (normally telinit) to facilitate
|
||||
a switch to a proper runlevel.
|
||||
|
@ -143,7 +155,7 @@ config BUSYBOX_CONFIG_FEATURE_EXTRA_QUIET
|
|||
|
||||
config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS
|
||||
bool "Support dumping core for child processes (debugging only)"
|
||||
default BUSYBOX_DEFAULT_FEATURE_INIT_COREDUMPS
|
||||
default BUSYBOX_DEFAULT_FEATURE_INIT_COREDUMPS # not Y because this is a debug option
|
||||
depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
|
||||
help
|
||||
If this option is enabled and the file /.init_enable_core
|
||||
|
|
|
@ -45,6 +45,30 @@ config BUSYBOX_CONFIG_FEATURE_RTMINMAX
|
|||
Support RTMIN[+n] and RTMAX[-n] signal names
|
||||
in kill, killall etc. This costs ~250 bytes.
|
||||
|
||||
choice
|
||||
prompt "Buffer allocation policy"
|
||||
default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
|
||||
help
|
||||
There are 3 ways BusyBox can handle buffer allocations:
|
||||
- Use malloc. This costs code size for the call to xmalloc.
|
||||
- Put them on stack. For some very small machines with limited stack
|
||||
space, this can be deadly. For most folks, this works just fine.
|
||||
- Put them in BSS. This works beautifully for computers with a real
|
||||
MMU (and OS support), but wastes runtime RAM for uCLinux. This
|
||||
behavior was the only one available for BusyBox versions 0.48 and
|
||||
earlier.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BUFFERS_USE_MALLOC
|
||||
bool "Allocate with Malloc"
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
|
||||
bool "Allocate on the Stack"
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_IN_BSS
|
||||
bool "Allocate in the .bss section"
|
||||
|
||||
endchoice
|
||||
|
||||
config BUSYBOX_CONFIG_PASSWORD_MINLEN
|
||||
int "Minimum password length"
|
||||
default BUSYBOX_DEFAULT_PASSWORD_MINLEN
|
||||
|
@ -191,6 +215,131 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_ASK_TERMINAL
|
|||
correctly, or want to save on code size (about 400 bytes),
|
||||
then do not turn this option on.
|
||||
|
||||
config BUSYBOX_CONFIG_LOCALE_SUPPORT
|
||||
bool "Enable locale support (system needs locale for this to work)"
|
||||
default BUSYBOX_DEFAULT_LOCALE_SUPPORT
|
||||
help
|
||||
Enable this if your system has locale support and you would like
|
||||
busybox to support locale settings.
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_SUPPORT
|
||||
bool "Support Unicode"
|
||||
default BUSYBOX_DEFAULT_UNICODE_SUPPORT
|
||||
help
|
||||
This makes various applets aware that one byte is not
|
||||
one character on screen.
|
||||
|
||||
Busybox aims to eventually work correctly with Unicode displays.
|
||||
Any older encodings are not guaranteed to work.
|
||||
Probably by the time when busybox will be fully Unicode-clean,
|
||||
other encodings will be mainly of historic interest.
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_USING_LOCALE
|
||||
bool "Use libc routines for Unicode (else uses internal ones)"
|
||||
default BUSYBOX_DEFAULT_UNICODE_USING_LOCALE
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && BUSYBOX_CONFIG_LOCALE_SUPPORT
|
||||
help
|
||||
With this option on, Unicode support is implemented using libc
|
||||
routines. Otherwise, internal implementation is used.
|
||||
Internal implementation is smaller.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV
|
||||
bool "Check $LC_ALL, $LC_CTYPE and $LANG environment variables"
|
||||
default BUSYBOX_DEFAULT_FEATURE_CHECK_UNICODE_IN_ENV
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
|
||||
help
|
||||
With this option on, Unicode support is activated
|
||||
only if locale-related variables have the value of the form
|
||||
"xxxx.utf8"
|
||||
|
||||
Otherwise, Unicode support will be always enabled and active.
|
||||
|
||||
config BUSYBOX_CONFIG_SUBST_WCHAR
|
||||
int "Character code to substitute unprintable characters with"
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
|
||||
default BUSYBOX_DEFAULT_SUBST_WCHAR
|
||||
help
|
||||
Typical values are 63 for '?' (works with any output device),
|
||||
30 for ASCII substitute control code,
|
||||
65533 (0xfffd) for Unicode replacement character.
|
||||
|
||||
config BUSYBOX_CONFIG_LAST_SUPPORTED_WCHAR
|
||||
int "Range of supported Unicode characters"
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
|
||||
default BUSYBOX_DEFAULT_LAST_SUPPORTED_WCHAR
|
||||
help
|
||||
Any character with Unicode value bigger than this is assumed
|
||||
to be non-printable on output device. Many applets replace
|
||||
such characters with substitution character.
|
||||
|
||||
The idea is that many valid printable Unicode chars
|
||||
nevertheless are not displayed correctly. Think about
|
||||
combining charachers, double-wide hieroglyphs, obscure
|
||||
characters in dozens of ancient scripts...
|
||||
Many terminals, terminal emulators, xterms etc will fail
|
||||
to handle them correctly. Choose the smallest value
|
||||
which suits your needs.
|
||||
|
||||
Typical values are:
|
||||
126 - ASCII only
|
||||
767 (0x2ff) - there are no combining chars in [0..767] range
|
||||
(the range includes Latin 1, Latin Ext. A and B),
|
||||
code is ~700 bytes smaller for this case.
|
||||
4351 (0x10ff) - there are no double-wide chars in [0..4351] range,
|
||||
code is ~300 bytes smaller for this case.
|
||||
12799 (0x31ff) - nearly all non-ideographic characters are
|
||||
available in [0..12799] range, including
|
||||
East Asian scripts like katakana, hiragana, hangul,
|
||||
bopomofo...
|
||||
0 - off, any valid printable Unicode character will be printed.
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_COMBINING_WCHARS
|
||||
bool "Allow zero-width Unicode characters on output"
|
||||
default BUSYBOX_DEFAULT_UNICODE_COMBINING_WCHARS
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
|
||||
help
|
||||
With this option off, any Unicode char with width of 0
|
||||
is substituted on output.
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_WIDE_WCHARS
|
||||
bool "Allow wide Unicode characters on output"
|
||||
default BUSYBOX_DEFAULT_UNICODE_WIDE_WCHARS
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
|
||||
help
|
||||
With this option off, any Unicode char with width > 1
|
||||
is substituted on output.
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
|
||||
bool "Bidirectional character-aware line input"
|
||||
default BUSYBOX_DEFAULT_UNICODE_BIDI_SUPPORT
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
|
||||
help
|
||||
With this option on, right-to-left Unicode characters
|
||||
are treated differently on input (e.g. cursor movement).
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_NEUTRAL_TABLE
|
||||
bool "In bidi input, support non-ASCII neutral chars too"
|
||||
default BUSYBOX_DEFAULT_UNICODE_NEUTRAL_TABLE
|
||||
depends on BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
|
||||
help
|
||||
In most cases it's enough to treat only ASCII non-letters
|
||||
(i.e. punctuation, numbers and space) as characters
|
||||
with neutral directionality.
|
||||
With this option on, more extensive (and bigger) table
|
||||
of neutral chars will be used.
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_PRESERVE_BROKEN
|
||||
bool "Make it possible to enter sequences of chars which are not Unicode"
|
||||
default BUSYBOX_DEFAULT_UNICODE_PRESERVE_BROKEN
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
|
||||
help
|
||||
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 '?'.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP
|
||||
bool "Non-POSIX, but safer, copying to special nodes"
|
||||
default BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP
|
||||
|
@ -215,6 +364,19 @@ config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE
|
|||
cp: cannot stat '/vmlinuz/file': Not a directory
|
||||
This will cost you ~60 bytes.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_USE_SENDFILE
|
||||
bool "Use sendfile system call"
|
||||
default BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
When enabled, busybox will use the kernel sendfile() function
|
||||
instead of read/write loops to copy data between file descriptors
|
||||
(for example, cp command does this a lot).
|
||||
If sendfile() doesn't work, copying code falls back to read/write
|
||||
loop. sendfile() was originally implemented for faster I/O
|
||||
from files to sockets, but since Linux 2.6.33 it was extended
|
||||
to work for many more file types.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB
|
||||
int "Copy buffer size, in kilobytes"
|
||||
range 1 1024
|
||||
|
|
|
@ -1,20 +1,11 @@
|
|||
# DO NOT EDIT. This file is generated from Config.src
|
||||
menu "Mail Utilities"
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_MAKEMIME
|
||||
bool "makemime"
|
||||
default BUSYBOX_DEFAULT_MAKEMIME
|
||||
help
|
||||
Create MIME-formatted messages.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MIME_CHARSET
|
||||
string "Default charset"
|
||||
default BUSYBOX_DEFAULT_FEATURE_MIME_CHARSET
|
||||
depends on BUSYBOX_CONFIG_MAKEMIME || BUSYBOX_CONFIG_REFORMIME || BUSYBOX_CONFIG_SENDMAIL
|
||||
help
|
||||
Default charset of the message.
|
||||
|
||||
config BUSYBOX_CONFIG_POPMAILDIR
|
||||
bool "popmaildir"
|
||||
default BUSYBOX_DEFAULT_POPMAILDIR
|
||||
|
@ -31,7 +22,6 @@ config BUSYBOX_CONFIG_FEATURE_POPMAILDIR_DELIVERY
|
|||
of the message before actual delivery (-F "prog [args...]").
|
||||
Allow to use a custom program for message actual delivery
|
||||
(-M "prog [args...]").
|
||||
|
||||
config BUSYBOX_CONFIG_REFORMIME
|
||||
bool "reformime"
|
||||
default BUSYBOX_DEFAULT_REFORMIME
|
||||
|
@ -45,11 +35,17 @@ config BUSYBOX_CONFIG_FEATURE_REFORMIME_COMPAT
|
|||
help
|
||||
Accept (for compatibility only) and ignore options
|
||||
other than -x and -X.
|
||||
|
||||
config BUSYBOX_CONFIG_SENDMAIL
|
||||
bool "sendmail"
|
||||
default BUSYBOX_DEFAULT_SENDMAIL
|
||||
help
|
||||
Barebones sendmail.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MIME_CHARSET
|
||||
string "Default charset"
|
||||
default BUSYBOX_DEFAULT_FEATURE_MIME_CHARSET
|
||||
depends on BUSYBOX_CONFIG_MAKEMIME || BUSYBOX_CONFIG_REFORMIME || BUSYBOX_CONFIG_SENDMAIL
|
||||
help
|
||||
Default charset of the message.
|
||||
|
||||
endmenu
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -6,13 +6,6 @@
|
|||
|
||||
menu "Linux Module Utilities"
|
||||
|
||||
config BUSYBOX_CONFIG_MODINFO
|
||||
bool "modinfo"
|
||||
default BUSYBOX_DEFAULT_MODINFO
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Show information about a Linux Kernel module
|
||||
|
||||
config BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
bool "Simplified modutils"
|
||||
default BUSYBOX_DEFAULT_MODPROBE_SMALL
|
||||
|
@ -44,6 +37,42 @@ config BUSYBOX_CONFIG_MODPROBE_SMALL
|
|||
- rmmod is an alias to modprobe -r
|
||||
- depmod generates modules.dep.bb
|
||||
|
||||
config BUSYBOX_CONFIG_DEPMOD
|
||||
bool "depmod"
|
||||
default BUSYBOX_DEFAULT_DEPMOD
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
depmod generates modules.dep (and potentially modules.alias
|
||||
and modules.symbols) that contain dependency information
|
||||
for modprobe.
|
||||
config BUSYBOX_CONFIG_INSMOD
|
||||
bool "insmod"
|
||||
default BUSYBOX_DEFAULT_INSMOD
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
insmod is used to load specified modules in the running kernel.
|
||||
config BUSYBOX_CONFIG_LSMOD
|
||||
bool "lsmod"
|
||||
default BUSYBOX_DEFAULT_LSMOD
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
lsmod is used to display a list of loaded modules.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
|
||||
bool "Pretty output"
|
||||
default BUSYBOX_DEFAULT_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
|
||||
depends on BUSYBOX_CONFIG_LSMOD && !BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
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.
|
||||
Increases size somewhat.
|
||||
config BUSYBOX_CONFIG_MODINFO
|
||||
bool "modinfo"
|
||||
default BUSYBOX_DEFAULT_MODINFO
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Show information about a Linux Kernel module
|
||||
config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
|
||||
bool "Accept module options on modprobe command line"
|
||||
default BUSYBOX_DEFAULT_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
|
||||
|
@ -58,45 +87,9 @@ config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
|
|||
depends on BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
help
|
||||
Check if the module is already loaded.
|
||||
|
||||
config BUSYBOX_CONFIG_INSMOD
|
||||
bool "insmod"
|
||||
default BUSYBOX_DEFAULT_INSMOD
|
||||
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
insmod is used to load specified modules in the running kernel.
|
||||
|
||||
config BUSYBOX_CONFIG_RMMOD
|
||||
bool "rmmod"
|
||||
default BUSYBOX_DEFAULT_RMMOD
|
||||
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
rmmod is used to unload specified modules from the kernel.
|
||||
|
||||
config BUSYBOX_CONFIG_LSMOD
|
||||
bool "lsmod"
|
||||
default BUSYBOX_DEFAULT_LSMOD
|
||||
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
lsmod is used to display a list of loaded modules.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
|
||||
bool "Pretty output"
|
||||
default BUSYBOX_DEFAULT_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
|
||||
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.
|
||||
Increases size somewhat.
|
||||
|
||||
config BUSYBOX_CONFIG_MODPROBE
|
||||
bool "modprobe"
|
||||
default BUSYBOX_DEFAULT_MODPROBE
|
||||
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Handle the loading of modules, and their dependencies on a high
|
||||
|
@ -105,7 +98,7 @@ config BUSYBOX_CONFIG_MODPROBE
|
|||
config BUSYBOX_CONFIG_FEATURE_MODPROBE_BLACKLIST
|
||||
bool "Blacklist support"
|
||||
default BUSYBOX_DEFAULT_FEATURE_MODPROBE_BLACKLIST
|
||||
depends on BUSYBOX_CONFIG_MODPROBE
|
||||
depends on BUSYBOX_CONFIG_MODPROBE && !BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Say 'y' here to enable support for the 'blacklist' command in
|
||||
|
@ -113,16 +106,12 @@ config BUSYBOX_CONFIG_FEATURE_MODPROBE_BLACKLIST
|
|||
blacklisted modules. This is useful if you want to prevent your
|
||||
hardware autodetection scripts to load modules like evdev, frame
|
||||
buffer drivers etc.
|
||||
|
||||
config BUSYBOX_CONFIG_DEPMOD
|
||||
bool "depmod"
|
||||
default BUSYBOX_DEFAULT_DEPMOD
|
||||
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
config BUSYBOX_CONFIG_RMMOD
|
||||
bool "rmmod"
|
||||
default BUSYBOX_DEFAULT_RMMOD
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
depmod generates modules.dep (and potentially modules.alias
|
||||
and modules.symbols) that contain dependency information
|
||||
for modprobe.
|
||||
rmmod is used to unload specified modules from the kernel.
|
||||
|
||||
comment "Options common to multiple modutils"
|
||||
|
||||
|
|
|
@ -6,183 +6,6 @@
|
|||
|
||||
menu "Networking Utilities"
|
||||
|
||||
config BUSYBOX_CONFIG_NAMEIF
|
||||
bool "nameif"
|
||||
default BUSYBOX_DEFAULT_NAMEIF
|
||||
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 BUSYBOX_DEFAULT_FEATURE_NAMEIF_EXTENDED
|
||||
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 BUSYBOX_DEFAULT_NBDCLIENT
|
||||
help
|
||||
Network block device client
|
||||
config BUSYBOX_CONFIG_NC
|
||||
bool "nc"
|
||||
default BUSYBOX_DEFAULT_NC
|
||||
help
|
||||
A simple Unix utility which reads and writes data across network
|
||||
connections.
|
||||
|
||||
config BUSYBOX_CONFIG_NC_SERVER
|
||||
bool "Netcat server options (-l)"
|
||||
default BUSYBOX_DEFAULT_NC_SERVER
|
||||
depends on BUSYBOX_CONFIG_NC
|
||||
help
|
||||
Allow netcat to act as a server.
|
||||
|
||||
config BUSYBOX_CONFIG_NC_EXTRA
|
||||
bool "Netcat extensions (-eiw and -f FILE)"
|
||||
default BUSYBOX_DEFAULT_NC_EXTRA
|
||||
depends on BUSYBOX_CONFIG_NC
|
||||
help
|
||||
Add -e (support for executing the rest of the command line after
|
||||
making or receiving a successful connection), -i (delay interval for
|
||||
lines sent), -w (timeout for initial connection).
|
||||
|
||||
config BUSYBOX_CONFIG_NC_110_COMPAT
|
||||
bool "Netcat 1.10 compatibility (+2.5k)"
|
||||
default BUSYBOX_DEFAULT_NC_110_COMPAT # off specially for Rob
|
||||
depends on BUSYBOX_CONFIG_NC
|
||||
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.
|
||||
config BUSYBOX_CONFIG_PING
|
||||
bool "ping"
|
||||
default BUSYBOX_DEFAULT_PING
|
||||
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 BUSYBOX_DEFAULT_PING6
|
||||
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 BUSYBOX_DEFAULT_FEATURE_FANCY_PING
|
||||
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_WGET
|
||||
bool "wget"
|
||||
default BUSYBOX_DEFAULT_WGET
|
||||
help
|
||||
wget is a utility for non-interactive download of files from HTTP
|
||||
and FTP servers.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_WGET_STATUSBAR
|
||||
bool "Enable a nifty process meter (+2k)"
|
||||
default BUSYBOX_DEFAULT_FEATURE_WGET_STATUSBAR
|
||||
depends on BUSYBOX_CONFIG_WGET
|
||||
help
|
||||
Enable the transfer progress bar for wget transfers.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_WGET_AUTHENTICATION
|
||||
bool "Enable HTTP authentication"
|
||||
default BUSYBOX_DEFAULT_FEATURE_WGET_AUTHENTICATION
|
||||
depends on BUSYBOX_CONFIG_WGET
|
||||
help
|
||||
Support authenticated HTTP transfers.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_WGET_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default BUSYBOX_DEFAULT_FEATURE_WGET_LONG_OPTIONS
|
||||
depends on BUSYBOX_CONFIG_WGET && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the wget applet.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_WGET_TIMEOUT
|
||||
bool "Enable timeout option -T SEC"
|
||||
default BUSYBOX_DEFAULT_FEATURE_WGET_TIMEOUT
|
||||
depends on BUSYBOX_CONFIG_WGET
|
||||
help
|
||||
Supports network read and connect timeouts for wget,
|
||||
so that wget will give up and timeout, through the -T
|
||||
command line option.
|
||||
|
||||
Currently only connect and network data read timeout are
|
||||
supported (i.e., timeout is not applied to the DNS query). When
|
||||
FEATURE_WGET_LONG_OPTIONS is also enabled, the --timeout option
|
||||
will work in addition to -T.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_WGET_OPENSSL
|
||||
bool "Try to connect to HTTPS using openssl"
|
||||
default BUSYBOX_DEFAULT_FEATURE_WGET_OPENSSL
|
||||
depends on BUSYBOX_CONFIG_WGET
|
||||
help
|
||||
Choose how wget establishes SSL connection for https:// URLs.
|
||||
|
||||
Busybox itself contains no SSL code. wget will spawn
|
||||
a helper program to talk over HTTPS.
|
||||
|
||||
OpenSSL has a simple SSL client for debug purposes.
|
||||
If you select "openssl" helper, wget will effectively call
|
||||
"openssl s_client -quiet -connect IP:443 2>/dev/null"
|
||||
and pipe its data through it.
|
||||
Note inconvenient API: host resolution is done twice,
|
||||
and there is no guarantee openssl's idea of IPv6 address
|
||||
format is the same as ours.
|
||||
Another problem is that s_client prints debug information
|
||||
to stderr, and it needs to be suppressed. This means
|
||||
all error messages get suppressed too.
|
||||
openssl is also a big binary, often dynamically linked
|
||||
against ~15 libraries.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_WGET_SSL_HELPER
|
||||
bool "Try to connect to HTTPS using ssl_helper"
|
||||
default BUSYBOX_DEFAULT_FEATURE_WGET_SSL_HELPER
|
||||
depends on BUSYBOX_CONFIG_WGET
|
||||
help
|
||||
Choose how wget establishes SSL connection for https:// URLs.
|
||||
|
||||
Busybox itself contains no SSL code. wget will spawn
|
||||
a helper program to talk over HTTPS.
|
||||
|
||||
ssl_helper is a tool which can be built statically
|
||||
from busybox sources against a small embedded SSL library.
|
||||
Please see networking/ssl_helper/README.
|
||||
It does not require double host resolution and emits
|
||||
error messages to stderr.
|
||||
|
||||
Precompiled static binary may be available at
|
||||
http://busybox.net/downloads/binaries/
|
||||
config BUSYBOX_CONFIG_WHOIS
|
||||
bool "whois"
|
||||
default BUSYBOX_DEFAULT_WHOIS
|
||||
help
|
||||
whois is a client for the whois directory service
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IPV6
|
||||
bool "Enable IPv6 support"
|
||||
default BUSYBOX_DEFAULT_FEATURE_IPV6
|
||||
|
@ -230,7 +53,6 @@ config BUSYBOX_CONFIG_ARP
|
|||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Manipulate the system ARP cache.
|
||||
|
||||
config BUSYBOX_CONFIG_ARPING
|
||||
bool "arping"
|
||||
default BUSYBOX_DEFAULT_ARPING
|
||||
|
@ -264,37 +86,26 @@ config BUSYBOX_CONFIG_FEATURE_BRCTL_SHOW
|
|||
help
|
||||
Add support for option which prints the current config:
|
||||
show
|
||||
|
||||
config BUSYBOX_CONFIG_DNSD
|
||||
bool "dnsd"
|
||||
default BUSYBOX_DEFAULT_DNSD
|
||||
help
|
||||
Small and static DNS server daemon.
|
||||
|
||||
config BUSYBOX_CONFIG_ETHER_WAKE
|
||||
bool "ether-wake"
|
||||
default BUSYBOX_DEFAULT_ETHER_WAKE
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Send a magic packet to wake up sleeping machines.
|
||||
|
||||
config BUSYBOX_CONFIG_FAKEIDENTD
|
||||
bool "fakeidentd"
|
||||
default BUSYBOX_DEFAULT_FAKEIDENTD
|
||||
select BUSYBOX_CONFIG_FEATURE_SYSLOG
|
||||
help
|
||||
fakeidentd listens on the ident port and returns a predefined
|
||||
fake value on any query.
|
||||
|
||||
config BUSYBOX_CONFIG_FTPD
|
||||
bool "ftpd"
|
||||
default BUSYBOX_DEFAULT_FTPD
|
||||
help
|
||||
simple FTP daemon. You have to run it via inetd.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FTP_WRITE
|
||||
config BUSYBOX_CONFIG_FEATURE_FTPD_WRITE
|
||||
bool "Enable upload commands"
|
||||
default BUSYBOX_DEFAULT_FEATURE_FTP_WRITE
|
||||
default BUSYBOX_DEFAULT_FEATURE_FTPD_WRITE
|
||||
depends on BUSYBOX_CONFIG_FTPD
|
||||
help
|
||||
Enable all kinds of FTP upload commands (-w option)
|
||||
|
@ -310,13 +121,12 @@ config BUSYBOX_CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST
|
|||
it increases the code size by ~40 bytes.
|
||||
Most other ftp servers seem to behave similar to this.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FTP_AUTHENTICATION
|
||||
config BUSYBOX_CONFIG_FEATURE_FTPD_AUTHENTICATION
|
||||
bool "Enable authentication"
|
||||
default BUSYBOX_DEFAULT_FEATURE_FTP_AUTHENTICATION
|
||||
default BUSYBOX_DEFAULT_FEATURE_FTPD_AUTHENTICATION
|
||||
depends on BUSYBOX_CONFIG_FTPD
|
||||
help
|
||||
Enable basic system login as seen in telnet etc.
|
||||
|
||||
config BUSYBOX_CONFIG_FTPGET
|
||||
bool "ftpget"
|
||||
default BUSYBOX_DEFAULT_FTPGET
|
||||
|
@ -335,13 +145,17 @@ config BUSYBOX_CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS
|
|||
depends on BUSYBOX_CONFIG_LONG_OPTS && (BUSYBOX_CONFIG_FTPGET || BUSYBOX_CONFIG_FTPPUT)
|
||||
help
|
||||
Support long options for the ftpget/ftpput applet.
|
||||
|
||||
config BUSYBOX_CONFIG_HOSTNAME
|
||||
bool "hostname"
|
||||
default BUSYBOX_DEFAULT_HOSTNAME
|
||||
help
|
||||
Show or set the system's host name.
|
||||
|
||||
config BUSYBOX_CONFIG_DNSDOMAINNAME
|
||||
bool "dnsdomainname"
|
||||
default BUSYBOX_DEFAULT_DNSDOMAINNAME
|
||||
help
|
||||
Alias to "hostname -d".
|
||||
config BUSYBOX_CONFIG_HTTPD
|
||||
bool "httpd"
|
||||
default BUSYBOX_DEFAULT_HTTPD
|
||||
|
@ -460,7 +274,6 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_GZIP
|
|||
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
|
||||
bool "ifconfig"
|
||||
default BUSYBOX_DEFAULT_IFCONFIG
|
||||
|
@ -508,7 +321,6 @@ config BUSYBOX_CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS
|
|||
help
|
||||
Setting this will make ifconfig attempt to find the broadcast
|
||||
automatically if the value '+' is used.
|
||||
|
||||
config BUSYBOX_CONFIG_IFENSLAVE
|
||||
bool "ifenslave"
|
||||
default BUSYBOX_DEFAULT_IFENSLAVE
|
||||
|
@ -516,20 +328,18 @@ config BUSYBOX_CONFIG_IFENSLAVE
|
|||
help
|
||||
Userspace application to bind several interfaces
|
||||
to a logical interface (use with kernel bonding driver).
|
||||
|
||||
config BUSYBOX_CONFIG_IFPLUGD
|
||||
bool "ifplugd"
|
||||
default BUSYBOX_DEFAULT_IFPLUGD
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Network interface plug detection daemon.
|
||||
|
||||
config BUSYBOX_CONFIG_IFUPDOWN
|
||||
bool "ifupdown"
|
||||
default BUSYBOX_DEFAULT_IFUPDOWN
|
||||
config BUSYBOX_CONFIG_IFUP
|
||||
bool "ifup"
|
||||
default BUSYBOX_DEFAULT_IFUP
|
||||
help
|
||||
Activate or deactivate the specified interfaces. This applet makes
|
||||
use of either "ifconfig" and "route" or the "ip" command to actually
|
||||
Activate the specified interfaces. This applet makes use
|
||||
of either "ifconfig" and "route" or the "ip" command to actually
|
||||
configure network interfaces. Therefore, you will probably also want
|
||||
to enable either IFCONFIG and ROUTE, or enable
|
||||
FEATURE_IFUPDOWN_IP and the various IP options. Of
|
||||
|
@ -540,10 +350,16 @@ config BUSYBOX_CONFIG_IFUPDOWN
|
|||
"ifconfig", "route" and "run-parts" or the "ip" command, either
|
||||
via busybox or via standalone utilities.
|
||||
|
||||
config BUSYBOX_CONFIG_IFDOWN
|
||||
bool "ifdown"
|
||||
default BUSYBOX_DEFAULT_IFDOWN
|
||||
help
|
||||
Deactivate the specified interfaces.
|
||||
|
||||
config BUSYBOX_CONFIG_IFUPDOWN_IFSTATE_PATH
|
||||
string "Absolute path to ifstate file"
|
||||
default BUSYBOX_DEFAULT_IFUPDOWN_IFSTATE_PATH
|
||||
depends on BUSYBOX_CONFIG_IFUPDOWN
|
||||
depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN
|
||||
help
|
||||
ifupdown keeps state information in a file called ifstate.
|
||||
Typically it is located in /var/run/ifstate, however
|
||||
|
@ -552,69 +368,39 @@ config BUSYBOX_CONFIG_IFUPDOWN_IFSTATE_PATH
|
|||
This config option defines location of ifstate.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
|
||||
bool "Use ip applet"
|
||||
bool "Use ip tool (else ifconfig/route is used)"
|
||||
default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IP
|
||||
depends on BUSYBOX_CONFIG_IFUPDOWN
|
||||
depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN
|
||||
help
|
||||
Use the iproute "ip" command to implement "ifup" and "ifdown", rather
|
||||
than the default of using the older 'ifconfig' and 'route' utilities.
|
||||
than the default of using the older "ifconfig" and "route" utilities.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
|
||||
bool "Use busybox ip applet"
|
||||
default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IP_BUILTIN
|
||||
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
|
||||
select BUSYBOX_CONFIG_FEATURE_IP_ROUTE
|
||||
help
|
||||
Use the busybox iproute "ip" applet to implement "ifupdown".
|
||||
If Y: you must install either the full-blown iproute2 package
|
||||
or enable "ip" applet in Busybox, or the "ifup" and "ifdown" applets
|
||||
will not work.
|
||||
|
||||
If left disabled, you must install the full-blown iproute2
|
||||
utility or the "ifup" and "ifdown" applets will not work.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
|
||||
bool "Use busybox ifconfig and route applets"
|
||||
default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
|
||||
depends on BUSYBOX_CONFIG_IFUPDOWN && !BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
|
||||
select BUSYBOX_CONFIG_IFCONFIG
|
||||
select BUSYBOX_CONFIG_ROUTE
|
||||
help
|
||||
Use the busybox iproute "ifconfig" and "route" applets to
|
||||
implement the "ifup" and "ifdown" utilities.
|
||||
|
||||
If left disabled, you must install the full-blown ifconfig
|
||||
and route utilities, or the "ifup" and "ifdown" applets will not
|
||||
work.
|
||||
If N: you must install either the full-blown ifconfig and route
|
||||
utilities, or enable these applets in Busybox.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV4
|
||||
bool "Support for IPv4"
|
||||
default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IPV4
|
||||
depends on BUSYBOX_CONFIG_IFUPDOWN
|
||||
depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN
|
||||
help
|
||||
If you want ifup/ifdown to talk IPv4, leave this on.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV6
|
||||
bool "Support for IPv6"
|
||||
default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IPV6
|
||||
depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_FEATURE_IPV6
|
||||
depends on (BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN) && BUSYBOX_CONFIG_FEATURE_IPV6
|
||||
help
|
||||
If you need support for IPv6, turn this option on.
|
||||
|
||||
### UNUSED
|
||||
###config FEATURE_IFUPDOWN_IPX
|
||||
### bool "Support for IPX"
|
||||
### default y
|
||||
### depends on IFUPDOWN
|
||||
### help
|
||||
### If this option is selected you can use busybox to work with IPX
|
||||
### networks.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_MAPPING
|
||||
bool "Enable mapping support"
|
||||
default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_MAPPING
|
||||
depends on BUSYBOX_CONFIG_IFUPDOWN
|
||||
depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN
|
||||
help
|
||||
This enables support for the "mapping" stanza, unless you have
|
||||
a weird network setup you don't need it.
|
||||
|
@ -622,13 +408,12 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_MAPPING
|
|||
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP
|
||||
bool "Support for external dhcp clients"
|
||||
default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_EXTERNAL_DHCP
|
||||
depends on BUSYBOX_CONFIG_IFUPDOWN
|
||||
depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN
|
||||
help
|
||||
This enables support for the external dhcp clients. Clients are
|
||||
tried in the following order: dhcpcd, dhclient, pump and udhcpc.
|
||||
Otherwise, if udhcpc applet is enabled, it is used.
|
||||
Otherwise, ifup/ifdown will have no support for DHCP.
|
||||
|
||||
config BUSYBOX_CONFIG_INETD
|
||||
bool "inetd"
|
||||
default BUSYBOX_DEFAULT_INETD
|
||||
|
@ -678,7 +463,6 @@ config BUSYBOX_CONFIG_FEATURE_INETD_RPC
|
|||
select BUSYBOX_CONFIG_FEATURE_HAVE_RPC
|
||||
help
|
||||
Support Sun-RPC based services
|
||||
|
||||
config BUSYBOX_CONFIG_IP
|
||||
bool "ip"
|
||||
default BUSYBOX_DEFAULT_IP
|
||||
|
@ -688,24 +472,72 @@ config BUSYBOX_CONFIG_IP
|
|||
utility. You generally don't need "ip" to use busybox with
|
||||
TCP/IP.
|
||||
|
||||
config BUSYBOX_CONFIG_IPADDR
|
||||
bool "ipaddr"
|
||||
default BUSYBOX_DEFAULT_IPADDR
|
||||
select BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Support short form of ip addr: ipaddr
|
||||
|
||||
config BUSYBOX_CONFIG_IPLINK
|
||||
bool "iplink"
|
||||
default BUSYBOX_DEFAULT_IPLINK
|
||||
select BUSYBOX_CONFIG_FEATURE_IP_LINK
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Support short form of ip link: iplink
|
||||
|
||||
config BUSYBOX_CONFIG_IPROUTE
|
||||
bool "iproute"
|
||||
default BUSYBOX_DEFAULT_IPROUTE
|
||||
select BUSYBOX_CONFIG_FEATURE_IP_ROUTE
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Support short form of ip route: iproute
|
||||
|
||||
config BUSYBOX_CONFIG_IPTUNNEL
|
||||
bool "iptunnel"
|
||||
default BUSYBOX_DEFAULT_IPTUNNEL
|
||||
select BUSYBOX_CONFIG_FEATURE_IP_TUNNEL
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Support short form of ip tunnel: iptunnel
|
||||
|
||||
config BUSYBOX_CONFIG_IPRULE
|
||||
bool "iprule"
|
||||
default BUSYBOX_DEFAULT_IPRULE
|
||||
select BUSYBOX_CONFIG_FEATURE_IP_RULE
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Support short form of ip rule: iprule
|
||||
|
||||
config BUSYBOX_CONFIG_IPNEIGH
|
||||
bool "ipneigh"
|
||||
default BUSYBOX_DEFAULT_IPNEIGH
|
||||
select BUSYBOX_CONFIG_FEATURE_IP_NEIGH
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Support short form of ip neigh: ipneigh
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
|
||||
bool "ip address"
|
||||
default BUSYBOX_DEFAULT_FEATURE_IP_ADDRESS
|
||||
depends on BUSYBOX_CONFIG_IP
|
||||
depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPADDR
|
||||
help
|
||||
Address manipulation support for the "ip" applet.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IP_LINK
|
||||
bool "ip link"
|
||||
default BUSYBOX_DEFAULT_FEATURE_IP_LINK
|
||||
depends on BUSYBOX_CONFIG_IP
|
||||
depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPLINK
|
||||
help
|
||||
Configure network devices with "ip".
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IP_ROUTE
|
||||
bool "ip route"
|
||||
default BUSYBOX_DEFAULT_FEATURE_IP_ROUTE
|
||||
depends on BUSYBOX_CONFIG_IP
|
||||
depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPROUTE
|
||||
help
|
||||
Add support for routing table management to "ip".
|
||||
|
||||
|
@ -719,80 +551,33 @@ config BUSYBOX_CONFIG_FEATURE_IP_ROUTE_DIR
|
|||
config BUSYBOX_CONFIG_FEATURE_IP_TUNNEL
|
||||
bool "ip tunnel"
|
||||
default BUSYBOX_DEFAULT_FEATURE_IP_TUNNEL
|
||||
depends on BUSYBOX_CONFIG_IP
|
||||
depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPTUNNEL
|
||||
help
|
||||
Add support for tunneling commands to "ip".
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IP_RULE
|
||||
bool "ip rule"
|
||||
default BUSYBOX_DEFAULT_FEATURE_IP_RULE
|
||||
depends on BUSYBOX_CONFIG_IP
|
||||
depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPRULE
|
||||
help
|
||||
Add support for rule commands to "ip".
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IP_NEIGH
|
||||
bool "ip neighbor"
|
||||
default BUSYBOX_DEFAULT_FEATURE_IP_NEIGH
|
||||
depends on BUSYBOX_CONFIG_IP
|
||||
depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPNEIGH
|
||||
help
|
||||
Add support for neighbor commands to "ip".
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS
|
||||
bool "Support short forms of ip commands"
|
||||
default BUSYBOX_DEFAULT_FEATURE_IP_SHORT_FORMS
|
||||
depends on BUSYBOX_CONFIG_IP
|
||||
help
|
||||
Also support short-form of ip <OBJECT> commands:
|
||||
ip addr -> ipaddr
|
||||
ip link -> iplink
|
||||
ip route -> iproute
|
||||
ip tunnel -> iptunnel
|
||||
ip rule -> iprule
|
||||
ip neigh -> ipneigh
|
||||
|
||||
Say N unless you desparately need the short form of the ip
|
||||
object commands.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IP_RARE_PROTOCOLS
|
||||
bool "Support displaying rarely used link types"
|
||||
default BUSYBOX_DEFAULT_FEATURE_IP_RARE_PROTOCOLS
|
||||
depends on BUSYBOX_CONFIG_IP
|
||||
depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPADDR || BUSYBOX_CONFIG_IPLINK || BUSYBOX_CONFIG_IPROUTE || BUSYBOX_CONFIG_IPTUNNEL || BUSYBOX_CONFIG_IPRULE || BUSYBOX_CONFIG_IPNEIGH
|
||||
help
|
||||
If you are not going to use links of type "frad", "econet",
|
||||
"bif" etc, you probably don't need to enable this.
|
||||
Ethernet, wireless, infrared, ppp/slip, ip tunnelling
|
||||
link types are supported without this option selected.
|
||||
|
||||
config BUSYBOX_CONFIG_IPADDR
|
||||
bool
|
||||
default BUSYBOX_DEFAULT_IPADDR
|
||||
depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
|
||||
|
||||
config BUSYBOX_CONFIG_IPLINK
|
||||
bool
|
||||
default BUSYBOX_DEFAULT_IPLINK
|
||||
depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_LINK
|
||||
|
||||
config BUSYBOX_CONFIG_IPROUTE
|
||||
bool
|
||||
default BUSYBOX_DEFAULT_IPROUTE
|
||||
depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_ROUTE
|
||||
|
||||
config BUSYBOX_CONFIG_IPTUNNEL
|
||||
bool
|
||||
default BUSYBOX_DEFAULT_IPTUNNEL
|
||||
depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_TUNNEL
|
||||
|
||||
config BUSYBOX_CONFIG_IPRULE
|
||||
bool
|
||||
default BUSYBOX_DEFAULT_IPRULE
|
||||
depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_RULE
|
||||
|
||||
config BUSYBOX_CONFIG_IPNEIGH
|
||||
bool
|
||||
default BUSYBOX_DEFAULT_IPNEIGH
|
||||
depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_NEIGH
|
||||
|
||||
config BUSYBOX_CONFIG_IPCALC
|
||||
bool "ipcalc"
|
||||
default BUSYBOX_DEFAULT_IPCALC
|
||||
|
@ -814,13 +599,84 @@ config BUSYBOX_CONFIG_FEATURE_IPCALC_LONG_OPTIONS
|
|||
depends on BUSYBOX_CONFIG_IPCALC && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the ipcalc applet.
|
||||
config BUSYBOX_CONFIG_FAKEIDENTD
|
||||
bool "fakeidentd"
|
||||
default BUSYBOX_DEFAULT_FAKEIDENTD
|
||||
select BUSYBOX_CONFIG_FEATURE_SYSLOG
|
||||
help
|
||||
fakeidentd listens on the ident port and returns a predefined
|
||||
fake value on any query.
|
||||
config BUSYBOX_CONFIG_NAMEIF
|
||||
bool "nameif"
|
||||
default BUSYBOX_DEFAULT_NAMEIF
|
||||
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 BUSYBOX_DEFAULT_FEATURE_NAMEIF_EXTENDED
|
||||
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 BUSYBOX_DEFAULT_NBDCLIENT
|
||||
help
|
||||
Network block device client
|
||||
config BUSYBOX_CONFIG_NC
|
||||
bool "nc"
|
||||
default BUSYBOX_DEFAULT_NC
|
||||
help
|
||||
A simple Unix utility which reads and writes data across network
|
||||
connections.
|
||||
|
||||
config BUSYBOX_CONFIG_NC_SERVER
|
||||
bool "Netcat server options (-l)"
|
||||
default BUSYBOX_DEFAULT_NC_SERVER
|
||||
depends on BUSYBOX_CONFIG_NC
|
||||
help
|
||||
Allow netcat to act as a server.
|
||||
|
||||
config BUSYBOX_CONFIG_NC_EXTRA
|
||||
bool "Netcat extensions (-eiw and -f FILE)"
|
||||
default BUSYBOX_DEFAULT_NC_EXTRA
|
||||
depends on BUSYBOX_CONFIG_NC
|
||||
help
|
||||
Add -e (support for executing the rest of the command line after
|
||||
making or receiving a successful connection), -i (delay interval for
|
||||
lines sent), -w (timeout for initial connection).
|
||||
|
||||
config BUSYBOX_CONFIG_NC_110_COMPAT
|
||||
bool "Netcat 1.10 compatibility (+2.5k)"
|
||||
default BUSYBOX_DEFAULT_NC_110_COMPAT # off specially for Rob
|
||||
depends on BUSYBOX_CONFIG_NC
|
||||
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.
|
||||
config BUSYBOX_CONFIG_NETMSG
|
||||
bool "netmsg"
|
||||
default BUSYBOX_DEFAULT_NETMSG
|
||||
help
|
||||
simple program for sending udp broadcast messages
|
||||
|
||||
config BUSYBOX_CONFIG_NETSTAT
|
||||
bool "netstat"
|
||||
default BUSYBOX_DEFAULT_NETSTAT
|
||||
|
@ -843,13 +699,11 @@ config BUSYBOX_CONFIG_FEATURE_NETSTAT_PRG
|
|||
help
|
||||
Add support for -p flag to print out PID and program name.
|
||||
+700 bytes of code.
|
||||
|
||||
config BUSYBOX_CONFIG_NSLOOKUP
|
||||
bool "nslookup"
|
||||
default BUSYBOX_DEFAULT_NSLOOKUP
|
||||
help
|
||||
nslookup is a tool to query Internet name servers.
|
||||
|
||||
config BUSYBOX_CONFIG_NTPD
|
||||
bool "ntpd"
|
||||
default BUSYBOX_DEFAULT_NTPD
|
||||
|
@ -872,20 +726,39 @@ config BUSYBOX_CONFIG_FEATURE_NTPD_CONF
|
|||
help
|
||||
Make ntpd look in /etc/ntp.conf for peers. Only "server address"
|
||||
is supported.
|
||||
config BUSYBOX_CONFIG_PING
|
||||
bool "ping"
|
||||
default BUSYBOX_DEFAULT_PING
|
||||
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 BUSYBOX_DEFAULT_PING6
|
||||
depends on BUSYBOX_CONFIG_FEATURE_IPV6
|
||||
help
|
||||
This will give you a ping that can talk IPv6.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FANCY_PING
|
||||
bool "Enable fancy ping output"
|
||||
default BUSYBOX_DEFAULT_FEATURE_FANCY_PING
|
||||
depends on BUSYBOX_CONFIG_PING || BUSYBOX_CONFIG_PING6
|
||||
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 BUSYBOX_DEFAULT_PSCAN
|
||||
help
|
||||
Simple network port scanner.
|
||||
|
||||
config BUSYBOX_CONFIG_ROUTE
|
||||
bool "route"
|
||||
default BUSYBOX_DEFAULT_ROUTE
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Route displays or manipulates the kernel's IP routing tables.
|
||||
|
||||
config BUSYBOX_CONFIG_SLATTACH
|
||||
bool "slattach"
|
||||
default BUSYBOX_DEFAULT_SLATTACH
|
||||
|
@ -893,17 +766,6 @@ config BUSYBOX_CONFIG_SLATTACH
|
|||
help
|
||||
slattach is a small utility to attach network interfaces to serial
|
||||
lines.
|
||||
|
||||
#config TC
|
||||
# bool "tc"
|
||||
# default y
|
||||
# help
|
||||
# show / manipulate traffic control settings
|
||||
#
|
||||
#config FEATURE_TC_INGRESS
|
||||
# def_bool n
|
||||
# depends on TC
|
||||
|
||||
config BUSYBOX_CONFIG_TCPSVD
|
||||
bool "tcpsvd"
|
||||
default BUSYBOX_DEFAULT_TCPSVD
|
||||
|
@ -911,6 +773,12 @@ config BUSYBOX_CONFIG_TCPSVD
|
|||
tcpsvd listens on a TCP port and runs a program for each new
|
||||
connection.
|
||||
|
||||
config BUSYBOX_CONFIG_UDPSVD
|
||||
bool "udpsvd"
|
||||
default BUSYBOX_DEFAULT_UDPSVD
|
||||
help
|
||||
udpsvd listens on an UDP port and runs a program for each new
|
||||
connection.
|
||||
config BUSYBOX_CONFIG_TELNET
|
||||
bool "telnet"
|
||||
default BUSYBOX_DEFAULT_TELNET
|
||||
|
@ -936,7 +804,6 @@ config BUSYBOX_CONFIG_FEATURE_TELNET_AUTOLOGIN
|
|||
remote host you are connecting to. This is useful when you need to
|
||||
log into a machine without telling the username (autologin). This
|
||||
option enables `-a' and `-l USER' arguments.
|
||||
|
||||
config BUSYBOX_CONFIG_TELNETD
|
||||
bool "telnetd"
|
||||
default BUSYBOX_DEFAULT_TELNETD
|
||||
|
@ -978,7 +845,6 @@ config BUSYBOX_CONFIG_TELNETD
|
|||
|
||||
with all that done, telnetd _should_ work....
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE
|
||||
bool "Support standalone telnetd (not inetd only)"
|
||||
default BUSYBOX_DEFAULT_FEATURE_TELNETD_STANDALONE
|
||||
|
@ -1006,7 +872,6 @@ config BUSYBOX_CONFIG_FEATURE_TELNETD_INETD_WAIT
|
|||
This option is rarely used. "tcp nowait" is much more usual
|
||||
way of running tcp services, including telnetd.
|
||||
You most probably want to say N here.
|
||||
|
||||
config BUSYBOX_CONFIG_TFTP
|
||||
bool "tftp"
|
||||
default BUSYBOX_DEFAULT_TFTP
|
||||
|
@ -1071,7 +936,6 @@ config BUSYBOX_CONFIG_TFTP_DEBUG
|
|||
help
|
||||
Make tftp[d] print debugging messages on stderr.
|
||||
This is useful if you are diagnosing a bug in tftp[d].
|
||||
|
||||
config BUSYBOX_CONFIG_TRACEROUTE
|
||||
bool "traceroute"
|
||||
default BUSYBOX_DEFAULT_TRACEROUTE
|
||||
|
@ -1082,33 +946,24 @@ config BUSYBOX_CONFIG_TRACEROUTE
|
|||
config BUSYBOX_CONFIG_TRACEROUTE6
|
||||
bool "traceroute6"
|
||||
default BUSYBOX_DEFAULT_TRACEROUTE6
|
||||
depends on BUSYBOX_CONFIG_FEATURE_IPV6 && BUSYBOX_CONFIG_TRACEROUTE
|
||||
depends on BUSYBOX_CONFIG_FEATURE_IPV6
|
||||
help
|
||||
Utility to trace the route of IPv6 packets.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_VERBOSE
|
||||
bool "Enable verbose output"
|
||||
default BUSYBOX_DEFAULT_FEATURE_TRACEROUTE_VERBOSE
|
||||
depends on BUSYBOX_CONFIG_TRACEROUTE
|
||||
depends on BUSYBOX_CONFIG_TRACEROUTE || BUSYBOX_CONFIG_TRACEROUTE6
|
||||
help
|
||||
Add some verbosity to traceroute. This includes among other things
|
||||
hostnames and ICMP response types.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
|
||||
bool "Enable loose source route"
|
||||
default BUSYBOX_DEFAULT_FEATURE_TRACEROUTE_SOURCE_ROUTE
|
||||
depends on BUSYBOX_CONFIG_TRACEROUTE
|
||||
help
|
||||
Add option to specify a loose source route gateway
|
||||
(8 maximum).
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_USE_ICMP
|
||||
bool "Use ICMP instead of UDP"
|
||||
bool "Enable -I option (use ICMP instead of UDP)"
|
||||
default BUSYBOX_DEFAULT_FEATURE_TRACEROUTE_USE_ICMP
|
||||
depends on BUSYBOX_CONFIG_TRACEROUTE
|
||||
depends on BUSYBOX_CONFIG_TRACEROUTE || BUSYBOX_CONFIG_TRACEROUTE6
|
||||
help
|
||||
Add option -I to use ICMP ECHO instead of UDP datagrams.
|
||||
|
||||
config BUSYBOX_CONFIG_TUNCTL
|
||||
bool "tunctl"
|
||||
default BUSYBOX_DEFAULT_TUNCTL
|
||||
|
@ -1123,32 +978,101 @@ config BUSYBOX_CONFIG_FEATURE_TUNCTL_UG
|
|||
help
|
||||
Allow to specify owner and group of newly created interface.
|
||||
340 bytes of pure bloat. Say no here.
|
||||
|
||||
source udhcp/Config.in
|
||||
|
||||
config BUSYBOX_CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS
|
||||
string "ifup udhcpc command line options"
|
||||
default BUSYBOX_DEFAULT_IFUPDOWN_UDHCPC_CMD_OPTIONS
|
||||
depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_UDHCPC
|
||||
help
|
||||
Command line options to pass to udhcpc from ifup.
|
||||
Intended to alter options not available in /etc/network/interfaces.
|
||||
(IE: --syslog --background etc...)
|
||||
|
||||
config BUSYBOX_CONFIG_UDPSVD
|
||||
bool "udpsvd"
|
||||
default BUSYBOX_DEFAULT_UDPSVD
|
||||
help
|
||||
udpsvd listens on an UDP port and runs a program for each new
|
||||
connection.
|
||||
|
||||
config BUSYBOX_CONFIG_VCONFIG
|
||||
bool "vconfig"
|
||||
default BUSYBOX_DEFAULT_VCONFIG
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Creates, removes, and configures VLAN interfaces
|
||||
config BUSYBOX_CONFIG_WGET
|
||||
bool "wget"
|
||||
default BUSYBOX_DEFAULT_WGET
|
||||
help
|
||||
wget is a utility for non-interactive download of files from HTTP
|
||||
and FTP servers.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_WGET_STATUSBAR
|
||||
bool "Enable a nifty process meter (+2k)"
|
||||
default BUSYBOX_DEFAULT_FEATURE_WGET_STATUSBAR
|
||||
depends on BUSYBOX_CONFIG_WGET
|
||||
help
|
||||
Enable the transfer progress bar for wget transfers.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_WGET_AUTHENTICATION
|
||||
bool "Enable HTTP authentication"
|
||||
default BUSYBOX_DEFAULT_FEATURE_WGET_AUTHENTICATION
|
||||
depends on BUSYBOX_CONFIG_WGET
|
||||
help
|
||||
Support authenticated HTTP transfers.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_WGET_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default BUSYBOX_DEFAULT_FEATURE_WGET_LONG_OPTIONS
|
||||
depends on BUSYBOX_CONFIG_WGET && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the wget applet.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_WGET_TIMEOUT
|
||||
bool "Enable timeout option -T SEC"
|
||||
default BUSYBOX_DEFAULT_FEATURE_WGET_TIMEOUT
|
||||
depends on BUSYBOX_CONFIG_WGET
|
||||
help
|
||||
Supports network read and connect timeouts for wget,
|
||||
so that wget will give up and timeout, through the -T
|
||||
command line option.
|
||||
|
||||
Currently only connect and network data read timeout are
|
||||
supported (i.e., timeout is not applied to the DNS query). When
|
||||
FEATURE_WGET_LONG_OPTIONS is also enabled, the --timeout option
|
||||
will work in addition to -T.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_WGET_OPENSSL
|
||||
bool "Try to connect to HTTPS using openssl"
|
||||
default BUSYBOX_DEFAULT_FEATURE_WGET_OPENSSL
|
||||
depends on BUSYBOX_CONFIG_WGET
|
||||
help
|
||||
Choose how wget establishes SSL connection for https:// URLs.
|
||||
|
||||
Busybox itself contains no SSL code. wget will spawn
|
||||
a helper program to talk over HTTPS.
|
||||
|
||||
OpenSSL has a simple SSL client for debug purposes.
|
||||
If you select "openssl" helper, wget will effectively run:
|
||||
"openssl s_client -quiet -connect hostname:443
|
||||
-servername hostname 2>/dev/null" and pipe its data
|
||||
through it. -servername is not used if hostname is numeric.
|
||||
Note inconvenient API: host resolution is done twice,
|
||||
and there is no guarantee openssl's idea of IPv6 address
|
||||
format is the same as ours.
|
||||
Another problem is that s_client prints debug information
|
||||
to stderr, and it needs to be suppressed. This means
|
||||
all error messages get suppressed too.
|
||||
openssl is also a big binary, often dynamically linked
|
||||
against ~15 libraries.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_WGET_SSL_HELPER
|
||||
bool "Try to connect to HTTPS using ssl_helper"
|
||||
default BUSYBOX_DEFAULT_FEATURE_WGET_SSL_HELPER
|
||||
depends on BUSYBOX_CONFIG_WGET
|
||||
help
|
||||
Choose how wget establishes SSL connection for https:// URLs.
|
||||
|
||||
Busybox itself contains no SSL code. wget will spawn
|
||||
a helper program to talk over HTTPS.
|
||||
|
||||
ssl_helper is a tool which can be built statically
|
||||
from busybox sources against a small embedded SSL library.
|
||||
Please see networking/ssl_helper/README.
|
||||
It does not require double host resolution and emits
|
||||
error messages to stderr.
|
||||
|
||||
Precompiled static binary may be available at
|
||||
http://busybox.net/downloads/binaries/
|
||||
config BUSYBOX_CONFIG_WHOIS
|
||||
bool "whois"
|
||||
default BUSYBOX_DEFAULT_WHOIS
|
||||
help
|
||||
whois is a client for the whois directory service
|
||||
config BUSYBOX_CONFIG_ZCIP
|
||||
bool "zcip"
|
||||
default BUSYBOX_DEFAULT_ZCIP
|
||||
|
@ -1162,4 +1086,15 @@ config BUSYBOX_CONFIG_ZCIP
|
|||
See http://www.zeroconf.org for further details, and "zcip.script"
|
||||
in the busybox examples.
|
||||
|
||||
source udhcp/Config.in
|
||||
|
||||
config BUSYBOX_CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS
|
||||
string "ifup udhcpc command line options"
|
||||
default BUSYBOX_DEFAULT_IFUPDOWN_UDHCPC_CMD_OPTIONS
|
||||
depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_UDHCPC
|
||||
help
|
||||
Command line options to pass to udhcpc from ifup.
|
||||
Intended to alter options not available in /etc/network/interfaces.
|
||||
(IE: --syslog --background etc...)
|
||||
|
||||
endmenu
|
||||
|
|
|
@ -22,7 +22,6 @@ config BUSYBOX_CONFIG_UDHCPD
|
|||
config BUSYBOX_CONFIG_DHCPRELAY
|
||||
bool "dhcprelay"
|
||||
default BUSYBOX_DEFAULT_DHCPRELAY
|
||||
depends on BUSYBOX_CONFIG_UDHCPD
|
||||
help
|
||||
dhcprelay listens for dhcp requests on one or more interfaces
|
||||
and forwards these requests to a different interface or dhcp
|
||||
|
@ -31,7 +30,6 @@ config BUSYBOX_CONFIG_DHCPRELAY
|
|||
config BUSYBOX_CONFIG_DUMPLEASES
|
||||
bool "Lease display utility (dumpleases)"
|
||||
default BUSYBOX_DEFAULT_DUMPLEASES
|
||||
depends on BUSYBOX_CONFIG_UDHCPD
|
||||
help
|
||||
dumpleases displays the leases written out by the udhcpd server.
|
||||
Lease times are stored in the file by time remaining in lease, or
|
||||
|
|
|
@ -6,11 +6,50 @@
|
|||
|
||||
menu "Process Utilities"
|
||||
|
||||
config BUSYBOX_CONFIG_FREE
|
||||
bool "free"
|
||||
default BUSYBOX_DEFAULT_FREE
|
||||
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.
|
||||
The shared memory column should be ignored; it is obsolete.
|
||||
config BUSYBOX_CONFIG_FUSER
|
||||
bool "fuser"
|
||||
default BUSYBOX_DEFAULT_FUSER
|
||||
help
|
||||
fuser lists all PIDs (Process IDs) that currently have a given
|
||||
file open. fuser can also list all PIDs that have a given network
|
||||
(TCP or UDP) port open.
|
||||
config BUSYBOX_CONFIG_IOSTAT
|
||||
bool "iostat"
|
||||
default BUSYBOX_DEFAULT_IOSTAT
|
||||
help
|
||||
Report CPU and I/O statistics
|
||||
config BUSYBOX_CONFIG_KILL
|
||||
bool "kill"
|
||||
default BUSYBOX_DEFAULT_KILL
|
||||
help
|
||||
The command kill sends the specified signal to the specified
|
||||
process or process group. If no signal is specified, the TERM
|
||||
signal is sent.
|
||||
|
||||
config BUSYBOX_CONFIG_KILLALL
|
||||
bool "killall"
|
||||
default BUSYBOX_DEFAULT_KILLALL
|
||||
help
|
||||
killall sends a signal to all processes running any of the
|
||||
specified commands. If no signal name is specified, SIGTERM is
|
||||
sent.
|
||||
|
||||
config BUSYBOX_CONFIG_KILLALL5
|
||||
bool "killall5"
|
||||
default BUSYBOX_DEFAULT_KILLALL5
|
||||
help
|
||||
The SystemV killall command. killall5 sends a signal
|
||||
to all processes except kernel threads and the processes
|
||||
in its own session, so it won't kill the shell that is running
|
||||
the script it was called from.
|
||||
config BUSYBOX_CONFIG_LSOF
|
||||
bool "lsof"
|
||||
default BUSYBOX_DEFAULT_LSOF
|
||||
|
@ -27,6 +66,39 @@ config BUSYBOX_CONFIG_NMETER
|
|||
default BUSYBOX_DEFAULT_NMETER
|
||||
help
|
||||
Prints selected system stats continuously, one line per update.
|
||||
config BUSYBOX_CONFIG_PGREP
|
||||
bool "pgrep"
|
||||
default BUSYBOX_DEFAULT_PGREP
|
||||
help
|
||||
Look for processes by name.
|
||||
|
||||
config BUSYBOX_CONFIG_PKILL
|
||||
bool "pkill"
|
||||
default BUSYBOX_DEFAULT_PKILL
|
||||
help
|
||||
Send signals to processes by name.
|
||||
config BUSYBOX_CONFIG_PIDOF
|
||||
bool "pidof"
|
||||
default BUSYBOX_DEFAULT_PIDOF
|
||||
help
|
||||
Pidof finds the process id's (pids) of the named programs. It prints
|
||||
those id's on the standard output.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PIDOF_SINGLE
|
||||
bool "Enable argument for single shot (-s)"
|
||||
default BUSYBOX_DEFAULT_FEATURE_PIDOF_SINGLE
|
||||
depends on BUSYBOX_CONFIG_PIDOF
|
||||
help
|
||||
Support argument '-s' for returning only the first pid found.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PIDOF_OMIT
|
||||
bool "Enable argument for omitting pids (-o)"
|
||||
default BUSYBOX_DEFAULT_FEATURE_PIDOF_OMIT
|
||||
depends on BUSYBOX_CONFIG_PIDOF
|
||||
help
|
||||
Support argument '-o' for omitting the given pids in output.
|
||||
The special pid %PPID can be used to name the parent process
|
||||
of the pidof, in other words the calling shell or shell script.
|
||||
config BUSYBOX_CONFIG_PMAP
|
||||
bool "pmap"
|
||||
default BUSYBOX_DEFAULT_PMAP
|
||||
|
@ -37,6 +109,51 @@ config BUSYBOX_CONFIG_POWERTOP
|
|||
default BUSYBOX_DEFAULT_POWERTOP
|
||||
help
|
||||
Analyze power consumption on Intel-based laptops
|
||||
config BUSYBOX_CONFIG_PS
|
||||
bool "ps"
|
||||
default BUSYBOX_DEFAULT_PS
|
||||
help
|
||||
ps gives a snapshot of the current processes.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PS_WIDE
|
||||
bool "Enable wide output option (-w)"
|
||||
default BUSYBOX_DEFAULT_FEATURE_PS_WIDE
|
||||
depends on BUSYBOX_CONFIG_PS && !BUSYBOX_CONFIG_DESKTOP
|
||||
help
|
||||
Support argument 'w' for wide output.
|
||||
If given once, 132 chars are printed, and if given more
|
||||
than once, the length is unlimited.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PS_LONG
|
||||
bool "Enable long output option (-l)"
|
||||
default BUSYBOX_DEFAULT_FEATURE_PS_LONG
|
||||
depends on BUSYBOX_CONFIG_PS && !BUSYBOX_CONFIG_DESKTOP
|
||||
help
|
||||
Support argument 'l' for long output.
|
||||
Adds fields PPID, RSS, START, TIME & TTY
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PS_TIME
|
||||
bool "Enable time and elapsed time output"
|
||||
default BUSYBOX_DEFAULT_FEATURE_PS_TIME
|
||||
depends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Support -o time and -o etime output specifiers.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS
|
||||
bool "Enable additional ps columns"
|
||||
default BUSYBOX_DEFAULT_FEATURE_PS_ADDITIONAL_COLUMNS
|
||||
depends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP
|
||||
help
|
||||
Support -o rgroup, -o ruser, -o nice output specifiers.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS
|
||||
bool "Support Linux prior to 2.4.0 and non-ELF systems"
|
||||
default BUSYBOX_DEFAULT_FEATURE_PS_UNUSUAL_SYSTEMS
|
||||
depends on BUSYBOX_CONFIG_FEATURE_PS_TIME
|
||||
help
|
||||
Include support for measuring HZ on old kernels and non-ELF systems
|
||||
(if you are on Linux 2.4.0+ and use ELF, you don't need this)
|
||||
config BUSYBOX_CONFIG_PSTREE
|
||||
bool "pstree"
|
||||
default BUSYBOX_DEFAULT_PSTREE
|
||||
|
@ -47,12 +164,23 @@ config BUSYBOX_CONFIG_PWDX
|
|||
default BUSYBOX_DEFAULT_PWDX
|
||||
help
|
||||
Report current working directory of a process
|
||||
config BUSYBOX_CONFIG_RENICE
|
||||
bool "renice"
|
||||
default BUSYBOX_DEFAULT_RENICE
|
||||
help
|
||||
Renice alters the scheduling priority of one or more running
|
||||
processes.
|
||||
config BUSYBOX_CONFIG_SMEMCAP
|
||||
bool "smemcap"
|
||||
default BUSYBOX_DEFAULT_SMEMCAP
|
||||
help
|
||||
smemcap is a tool for capturing process data for smem,
|
||||
a memory usage statistic tool.
|
||||
config BUSYBOX_CONFIG_BB_SYSCTL
|
||||
bool "sysctl"
|
||||
default BUSYBOX_DEFAULT_BB_SYSCTL
|
||||
help
|
||||
Configure kernel parameters at runtime.
|
||||
config BUSYBOX_CONFIG_TOP
|
||||
bool "top"
|
||||
default BUSYBOX_DEFAULT_TOP
|
||||
|
@ -121,139 +249,12 @@ config BUSYBOX_CONFIG_FEATURE_UPTIME_UTMP_SUPPORT
|
|||
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 BUSYBOX_DEFAULT_FREE
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX #sysinfo()
|
||||
config BUSYBOX_CONFIG_WATCH
|
||||
bool "watch"
|
||||
default BUSYBOX_DEFAULT_WATCH
|
||||
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.
|
||||
The shared memory column should be ignored; it is obsolete.
|
||||
|
||||
config BUSYBOX_CONFIG_FUSER
|
||||
bool "fuser"
|
||||
default BUSYBOX_DEFAULT_FUSER
|
||||
help
|
||||
fuser lists all PIDs (Process IDs) that currently have a given
|
||||
file open. fuser can also list all PIDs that have a given network
|
||||
(TCP or UDP) port open.
|
||||
|
||||
config BUSYBOX_CONFIG_KILL
|
||||
bool "kill"
|
||||
default BUSYBOX_DEFAULT_KILL
|
||||
help
|
||||
The command kill sends the specified signal to the specified
|
||||
process or process group. If no signal is specified, the TERM
|
||||
signal is sent.
|
||||
|
||||
config BUSYBOX_CONFIG_KILLALL
|
||||
bool "killall"
|
||||
default BUSYBOX_DEFAULT_KILLALL
|
||||
depends on BUSYBOX_CONFIG_KILL
|
||||
help
|
||||
killall sends a signal to all processes running any of the
|
||||
specified commands. If no signal name is specified, SIGTERM is
|
||||
sent.
|
||||
|
||||
config BUSYBOX_CONFIG_KILLALL5
|
||||
bool "killall5"
|
||||
default BUSYBOX_DEFAULT_KILLALL5
|
||||
depends on BUSYBOX_CONFIG_KILL
|
||||
|
||||
config BUSYBOX_CONFIG_PGREP
|
||||
bool "pgrep"
|
||||
default BUSYBOX_DEFAULT_PGREP
|
||||
help
|
||||
Look for processes by name.
|
||||
|
||||
config BUSYBOX_CONFIG_PIDOF
|
||||
bool "pidof"
|
||||
default BUSYBOX_DEFAULT_PIDOF
|
||||
help
|
||||
Pidof finds the process id's (pids) of the named programs. It prints
|
||||
those id's on the standard output.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PIDOF_SINGLE
|
||||
bool "Enable argument for single shot (-s)"
|
||||
default BUSYBOX_DEFAULT_FEATURE_PIDOF_SINGLE
|
||||
depends on BUSYBOX_CONFIG_PIDOF
|
||||
help
|
||||
Support argument '-s' for returning only the first pid found.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PIDOF_OMIT
|
||||
bool "Enable argument for omitting pids (-o)"
|
||||
default BUSYBOX_DEFAULT_FEATURE_PIDOF_OMIT
|
||||
depends on BUSYBOX_CONFIG_PIDOF
|
||||
help
|
||||
Support argument '-o' for omitting the given pids in output.
|
||||
The special pid %PPID can be used to name the parent process
|
||||
of the pidof, in other words the calling shell or shell script.
|
||||
|
||||
config BUSYBOX_CONFIG_PKILL
|
||||
bool "pkill"
|
||||
default BUSYBOX_DEFAULT_PKILL
|
||||
help
|
||||
Send signals to processes by name.
|
||||
|
||||
config BUSYBOX_CONFIG_PS
|
||||
bool "ps"
|
||||
default BUSYBOX_DEFAULT_PS
|
||||
help
|
||||
ps gives a snapshot of the current processes.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PS_WIDE
|
||||
bool "Enable wide output option (-w)"
|
||||
default BUSYBOX_DEFAULT_FEATURE_PS_WIDE
|
||||
depends on BUSYBOX_CONFIG_PS && !BUSYBOX_CONFIG_DESKTOP
|
||||
help
|
||||
Support argument 'w' for wide output.
|
||||
If given once, 132 chars are printed, and if given more
|
||||
than once, the length is unlimited.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PS_LONG
|
||||
bool "Enable long output option (-l)"
|
||||
default BUSYBOX_DEFAULT_FEATURE_PS_LONG
|
||||
depends on BUSYBOX_CONFIG_PS && !BUSYBOX_CONFIG_DESKTOP
|
||||
help
|
||||
Support argument 'l' for long output.
|
||||
Adds fields PPID, RSS, START, TIME & TTY
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PS_TIME
|
||||
bool "Enable time and elapsed time output"
|
||||
default BUSYBOX_DEFAULT_FEATURE_PS_TIME
|
||||
depends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Support -o time and -o etime output specifiers.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS
|
||||
bool "Enable additional ps columns"
|
||||
default BUSYBOX_DEFAULT_FEATURE_PS_ADDITIONAL_COLUMNS
|
||||
depends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP
|
||||
help
|
||||
Support -o rgroup, -o ruser, -o nice output specifiers.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS
|
||||
bool "Support Linux prior to 2.4.0 and non-ELF systems"
|
||||
default BUSYBOX_DEFAULT_FEATURE_PS_UNUSUAL_SYSTEMS
|
||||
depends on BUSYBOX_CONFIG_FEATURE_PS_TIME
|
||||
help
|
||||
Include support for measuring HZ on old kernels and non-ELF systems
|
||||
(if you are on Linux 2.4.0+ and use ELF, you don't need this)
|
||||
|
||||
config BUSYBOX_CONFIG_RENICE
|
||||
bool "renice"
|
||||
default BUSYBOX_DEFAULT_RENICE
|
||||
help
|
||||
Renice alters the scheduling priority of one or more running
|
||||
processes.
|
||||
|
||||
config BUSYBOX_CONFIG_BB_SYSCTL
|
||||
bool "sysctl"
|
||||
default BUSYBOX_DEFAULT_BB_SYSCTL
|
||||
help
|
||||
Configure kernel parameters at runtime.
|
||||
watch is used to execute a program periodically, showing
|
||||
output to the screen.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS
|
||||
bool "Support for showing threads in ps/pstree/top"
|
||||
|
@ -263,11 +264,4 @@ config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS
|
|||
Enables the ps -T option, showing of threads in pstree,
|
||||
and 'h' command in top.
|
||||
|
||||
config BUSYBOX_CONFIG_WATCH
|
||||
bool "watch"
|
||||
default BUSYBOX_DEFAULT_WATCH
|
||||
help
|
||||
watch is used to execute a program periodically, showing
|
||||
output to the screen.
|
||||
|
||||
endmenu
|
||||
|
|
|
@ -73,6 +73,13 @@ config BUSYBOX_CONFIG_SV_DEFAULT_SERVICE_DIR
|
|||
help
|
||||
Default directory for services.
|
||||
Defaults to "/var/service"
|
||||
|
||||
config BUSYBOX_CONFIG_SVC
|
||||
bool "svc"
|
||||
default BUSYBOX_DEFAULT_SVC
|
||||
help
|
||||
svc controls the state of services monitored by the runsv supervisor.
|
||||
It is comaptible with daemontools command with the same name.
|
||||
config BUSYBOX_CONFIG_SVLOGD
|
||||
bool "svlogd"
|
||||
default BUSYBOX_DEFAULT_SVLOGD
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
menu "SELinux Utilities"
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_CHCON
|
||||
bool "chcon"
|
||||
default BUSYBOX_DEFAULT_CHCON
|
||||
|
@ -21,28 +20,24 @@ config BUSYBOX_CONFIG_FEATURE_CHCON_LONG_OPTIONS
|
|||
depends on BUSYBOX_CONFIG_CHCON && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the chcon applet.
|
||||
|
||||
config BUSYBOX_CONFIG_GETENFORCE
|
||||
bool "getenforce"
|
||||
default BUSYBOX_DEFAULT_GETENFORCE
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Enable support to get the current mode of SELinux.
|
||||
|
||||
config BUSYBOX_CONFIG_GETSEBOOL
|
||||
bool "getsebool"
|
||||
default BUSYBOX_DEFAULT_GETSEBOOL
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Enable support to get SELinux boolean values.
|
||||
|
||||
config BUSYBOX_CONFIG_LOAD_POLICY
|
||||
bool "load_policy"
|
||||
default BUSYBOX_DEFAULT_LOAD_POLICY
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Enable support to load SELinux policy.
|
||||
|
||||
config BUSYBOX_CONFIG_MATCHPATHCON
|
||||
bool "matchpathcon"
|
||||
default BUSYBOX_DEFAULT_MATCHPATHCON
|
||||
|
@ -50,15 +45,6 @@ config BUSYBOX_CONFIG_MATCHPATHCON
|
|||
help
|
||||
Enable support to get default security context of the
|
||||
specified path from the file contexts configuration.
|
||||
|
||||
config BUSYBOX_CONFIG_RESTORECON
|
||||
bool "restorecon"
|
||||
default BUSYBOX_DEFAULT_RESTORECON
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Enable support to relabel files. The feature is almost
|
||||
the same as setfiles, but usage is a little different.
|
||||
|
||||
config BUSYBOX_CONFIG_RUNCON
|
||||
bool "runcon"
|
||||
default BUSYBOX_DEFAULT_RUNCON
|
||||
|
@ -72,7 +58,6 @@ config BUSYBOX_CONFIG_FEATURE_RUNCON_LONG_OPTIONS
|
|||
depends on BUSYBOX_CONFIG_RUNCON && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the runcon applet.
|
||||
|
||||
config BUSYBOX_CONFIG_SELINUXENABLED
|
||||
bool "selinuxenabled"
|
||||
default BUSYBOX_DEFAULT_SELINUXENABLED
|
||||
|
@ -80,14 +65,18 @@ config BUSYBOX_CONFIG_SELINUXENABLED
|
|||
help
|
||||
Enable support for this command to be used within shell scripts
|
||||
to determine if selinux is enabled.
|
||||
|
||||
config BUSYBOX_CONFIG_SESTATUS
|
||||
bool "sestatus"
|
||||
default BUSYBOX_DEFAULT_SESTATUS
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Displays the status of SELinux.
|
||||
config BUSYBOX_CONFIG_SETENFORCE
|
||||
bool "setenforce"
|
||||
default BUSYBOX_DEFAULT_SETENFORCE
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Enable support to modify the mode SELinux is running in.
|
||||
|
||||
config BUSYBOX_CONFIG_SETFILES
|
||||
bool "setfiles"
|
||||
default BUSYBOX_DEFAULT_SETFILES
|
||||
|
@ -106,6 +95,13 @@ config BUSYBOX_CONFIG_FEATURE_SETFILES_CHECK_OPTION
|
|||
Support "-c" option (check the validity of the contexts against
|
||||
the specified binary policy) for setfiles. Requires libsepol.
|
||||
|
||||
config BUSYBOX_CONFIG_RESTORECON
|
||||
bool "restorecon"
|
||||
default BUSYBOX_DEFAULT_RESTORECON
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Enable support to relabel files. The feature is almost
|
||||
the same as setfiles, but usage is a little different.
|
||||
config BUSYBOX_CONFIG_SETSEBOOL
|
||||
bool "setsebool"
|
||||
default BUSYBOX_DEFAULT_SETSEBOOL
|
||||
|
@ -114,11 +110,4 @@ config BUSYBOX_CONFIG_SETSEBOOL
|
|||
Enable support for change boolean.
|
||||
semanage and -P option is not supported yet.
|
||||
|
||||
config BUSYBOX_CONFIG_SESTATUS
|
||||
bool "sestatus"
|
||||
default BUSYBOX_DEFAULT_SESTATUS
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Displays the status of SELinux.
|
||||
|
||||
endmenu
|
||||
|
|
|
@ -6,6 +6,57 @@
|
|||
|
||||
menu "Shells"
|
||||
|
||||
|
||||
choice
|
||||
prompt "Choose which shell is aliased to 'sh' name"
|
||||
default BUSYBOX_CONFIG_SH_IS_ASH
|
||||
help
|
||||
Choose which shell you want to be executed by 'sh' alias.
|
||||
The ash shell is the most bash compatible and full featured one.
|
||||
|
||||
# note: cannot use "select ASH" here, it breaks "make allnoconfig"
|
||||
config BUSYBOX_CONFIG_SH_IS_ASH
|
||||
depends on !BUSYBOX_CONFIG_NOMMU
|
||||
bool "ash"
|
||||
|
||||
config BUSYBOX_CONFIG_SH_IS_HUSH
|
||||
bool "hush"
|
||||
|
||||
config BUSYBOX_CONFIG_SH_IS_NONE
|
||||
bool "none"
|
||||
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "Choose which shell is aliased to 'bash' name"
|
||||
default BUSYBOX_CONFIG_BASH_IS_NONE
|
||||
help
|
||||
Choose which shell you want to be executed by 'bash' alias.
|
||||
The ash shell is the most bash compatible and full featured one.
|
||||
|
||||
Note that selecting this option does not switch on any bash
|
||||
compatibility code. It merely makes it possible to install
|
||||
/bin/bash (sym)link and run scripts which start with
|
||||
#!/bin/bash line.
|
||||
|
||||
Many systems use it in scripts which use bash-specific features,
|
||||
even simple ones like $RANDOM. Without this option, busybox
|
||||
can't be used for running them because it won't recongnize
|
||||
"bash" as a supported applet name.
|
||||
|
||||
config BUSYBOX_CONFIG_BASH_IS_ASH
|
||||
depends on !BUSYBOX_CONFIG_NOMMU
|
||||
bool "ash"
|
||||
|
||||
config BUSYBOX_CONFIG_BASH_IS_HUSH
|
||||
bool "hush"
|
||||
|
||||
config BUSYBOX_CONFIG_BASH_IS_NONE
|
||||
bool "none"
|
||||
|
||||
endchoice
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_ASH
|
||||
bool "ash"
|
||||
default BUSYBOX_DEFAULT_ASH
|
||||
|
@ -17,96 +68,26 @@ config BUSYBOX_CONFIG_ASH
|
|||
shell (by Herbert Xu), which was created by porting the 'ash' shell
|
||||
(written by Kenneth Almquist) from NetBSD.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_BASH_COMPAT
|
||||
bool "bash-compatible extensions"
|
||||
default BUSYBOX_DEFAULT_ASH_BASH_COMPAT
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable bash-compatible extensions.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_IDLE_TIMEOUT
|
||||
bool "Idle timeout variable"
|
||||
default BUSYBOX_DEFAULT_ASH_IDLE_TIMEOUT
|
||||
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 BUSYBOX_DEFAULT_ASH_JOB_CONTROL
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable job control in the ash shell.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_ALIAS
|
||||
bool "Alias support"
|
||||
default BUSYBOX_DEFAULT_ASH_ALIAS
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable alias support in the ash shell.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_GETOPTS
|
||||
bool "Builtin getopt to parse positional parameters"
|
||||
default BUSYBOX_DEFAULT_ASH_GETOPTS
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable support for getopts builtin in ash.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
|
||||
bool "Builtin version of 'echo'"
|
||||
default BUSYBOX_DEFAULT_ASH_BUILTIN_ECHO
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable support for echo builtin in ash.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_BUILTIN_PRINTF
|
||||
bool "Builtin version of 'printf'"
|
||||
default BUSYBOX_DEFAULT_ASH_BUILTIN_PRINTF
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable support for printf builtin in ash.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_BUILTIN_TEST
|
||||
bool "Builtin version of 'test'"
|
||||
default BUSYBOX_DEFAULT_ASH_BUILTIN_TEST
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable support for test builtin in ash.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_HELP
|
||||
bool "help builtin"
|
||||
default BUSYBOX_DEFAULT_ASH_HELP
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable help builtin in ash.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_CMDCMD
|
||||
bool "'command' command to override shell builtins"
|
||||
default BUSYBOX_DEFAULT_ASH_CMDCMD
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable support for the ash 'command' builtin, which allows
|
||||
you to run the specified command with the specified arguments,
|
||||
even when there is an ash builtin command with the same name.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_MAIL
|
||||
bool "Check for new mail on interactive shells"
|
||||
default BUSYBOX_DEFAULT_ASH_MAIL
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable "check for new mail" function in the ash shell.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
|
||||
bool "Optimize for size instead of speed"
|
||||
default BUSYBOX_DEFAULT_ASH_OPTIMIZE_FOR_SIZE
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
|
||||
help
|
||||
Compile ash for reduced size at the price of speed.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_INTERNAL_GLOB
|
||||
bool "Use internal glob() implementation"
|
||||
default BUSYBOX_DEFAULT_ASH_INTERNAL_GLOB # Y is bigger, but because of uclibc glob() bug, let Y be default for now
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
|
||||
help
|
||||
Do not use glob() function from libc, use internal implementation.
|
||||
Use this if you are getting "glob.h: No such file or directory"
|
||||
or similar build errors.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
|
||||
bool "Pseudorandom generator and $RANDOM variable"
|
||||
default BUSYBOX_DEFAULT_ASH_RANDOM_SUPPORT
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
|
||||
help
|
||||
Enable pseudorandom generator and dynamic variable "$RANDOM".
|
||||
Each read of "$RANDOM" will generate a new pseudorandom value.
|
||||
|
@ -117,12 +98,90 @@ config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
|
|||
config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
|
||||
bool "Expand prompt string"
|
||||
default BUSYBOX_DEFAULT_ASH_EXPAND_PRMT
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
|
||||
help
|
||||
"PS#" may contain volatile content, such as backquote commands.
|
||||
This option recreates the prompt string from the environment
|
||||
variable each time it is displayed.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_BASH_COMPAT
|
||||
bool "bash-compatible extensions"
|
||||
default BUSYBOX_DEFAULT_ASH_BASH_COMPAT
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
|
||||
help
|
||||
Enable bash-compatible extensions.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_IDLE_TIMEOUT
|
||||
bool "Idle timeout variable"
|
||||
default BUSYBOX_DEFAULT_ASH_IDLE_TIMEOUT
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
|
||||
help
|
||||
Enables bash-like auto-logout after $TMOUT seconds of idle time.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_JOB_CONTROL
|
||||
bool "Job control"
|
||||
default BUSYBOX_DEFAULT_ASH_JOB_CONTROL
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
|
||||
help
|
||||
Enable job control in the ash shell.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_ALIAS
|
||||
bool "Alias support"
|
||||
default BUSYBOX_DEFAULT_ASH_ALIAS
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
|
||||
help
|
||||
Enable alias support in the ash shell.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_GETOPTS
|
||||
bool "Builtin getopt to parse positional parameters"
|
||||
default BUSYBOX_DEFAULT_ASH_GETOPTS
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
|
||||
help
|
||||
Enable support for getopts builtin in ash.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
|
||||
bool "Builtin version of 'echo'"
|
||||
default BUSYBOX_DEFAULT_ASH_BUILTIN_ECHO
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
|
||||
help
|
||||
Enable support for echo builtin in ash.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_BUILTIN_PRINTF
|
||||
bool "Builtin version of 'printf'"
|
||||
default BUSYBOX_DEFAULT_ASH_BUILTIN_PRINTF
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
|
||||
help
|
||||
Enable support for printf builtin in ash.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_BUILTIN_TEST
|
||||
bool "Builtin version of 'test'"
|
||||
default BUSYBOX_DEFAULT_ASH_BUILTIN_TEST
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
|
||||
help
|
||||
Enable support for test builtin in ash.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_HELP
|
||||
bool "help builtin"
|
||||
default BUSYBOX_DEFAULT_ASH_HELP
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
|
||||
help
|
||||
Enable help builtin in ash.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_CMDCMD
|
||||
bool "'command' command to override shell builtins"
|
||||
default BUSYBOX_DEFAULT_ASH_CMDCMD
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
|
||||
help
|
||||
Enable support for the ash 'command' builtin, which allows
|
||||
you to run the specified command with the specified arguments,
|
||||
even when there is an ash builtin command with the same name.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_MAIL
|
||||
bool "Check for new mail on interactive shells"
|
||||
default BUSYBOX_DEFAULT_ASH_MAIL
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
|
||||
help
|
||||
Enable "check for new mail" function in the ash shell.
|
||||
config BUSYBOX_CONFIG_CTTYHACK
|
||||
bool "cttyhack"
|
||||
default BUSYBOX_DEFAULT_CTTYHACK
|
||||
|
@ -183,7 +242,7 @@ config BUSYBOX_CONFIG_HUSH
|
|||
config BUSYBOX_CONFIG_HUSH_BASH_COMPAT
|
||||
bool "bash-compatible extensions"
|
||||
default BUSYBOX_DEFAULT_HUSH_BASH_COMPAT
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
|
||||
help
|
||||
Enable bash-compatible extensions.
|
||||
|
||||
|
@ -197,14 +256,14 @@ config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION
|
|||
config BUSYBOX_CONFIG_HUSH_HELP
|
||||
bool "help builtin"
|
||||
default BUSYBOX_DEFAULT_HUSH_HELP
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
|
||||
help
|
||||
Enable help builtin in hush. Code size + ~1 kbyte.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_INTERACTIVE
|
||||
bool "Interactive mode"
|
||||
default BUSYBOX_DEFAULT_HUSH_INTERACTIVE
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
|
||||
help
|
||||
Enable interactive mode (prompt and command editing).
|
||||
Without this, hush simply reads and executes commands
|
||||
|
@ -232,35 +291,35 @@ config BUSYBOX_CONFIG_HUSH_JOB
|
|||
config BUSYBOX_CONFIG_HUSH_TICK
|
||||
bool "Process substitution"
|
||||
default BUSYBOX_DEFAULT_HUSH_TICK
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
|
||||
help
|
||||
Enable process substitution `command` and $(command) in hush.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_IF
|
||||
bool "Support if/then/elif/else/fi"
|
||||
default BUSYBOX_DEFAULT_HUSH_IF
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
|
||||
help
|
||||
Enable if/then/elif/else/fi in hush.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_LOOPS
|
||||
bool "Support for, while and until loops"
|
||||
default BUSYBOX_DEFAULT_HUSH_LOOPS
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
|
||||
help
|
||||
Enable for, while and until loops in hush.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_CASE
|
||||
bool "Support case ... esac statement"
|
||||
default BUSYBOX_DEFAULT_HUSH_CASE
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
|
||||
help
|
||||
Enable case ... esac statement in hush. +400 bytes.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_FUNCTIONS
|
||||
bool "Support funcname() { commands; } syntax"
|
||||
default BUSYBOX_DEFAULT_HUSH_FUNCTIONS
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
|
||||
help
|
||||
Enable support for shell functions in hush. +800 bytes.
|
||||
|
||||
|
@ -274,7 +333,7 @@ config BUSYBOX_CONFIG_HUSH_LOCAL
|
|||
config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
|
||||
bool "Pseudorandom generator and $RANDOM variable"
|
||||
default BUSYBOX_DEFAULT_HUSH_RANDOM_SUPPORT
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
|
||||
help
|
||||
Enable pseudorandom generator and dynamic variable "$RANDOM".
|
||||
Each read of "$RANDOM" will generate a new pseudorandom value.
|
||||
|
@ -282,14 +341,14 @@ config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
|
|||
config BUSYBOX_CONFIG_HUSH_EXPORT_N
|
||||
bool "Support 'export -n' option"
|
||||
default BUSYBOX_DEFAULT_HUSH_EXPORT_N
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_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 BUSYBOX_DEFAULT_HUSH_MODE_X
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
|
||||
help
|
||||
This instructs hush to print commands before execution.
|
||||
Adds ~300 bytes.
|
||||
|
@ -302,72 +361,17 @@ config BUSYBOX_CONFIG_MSH
|
|||
msh is deprecated and will be removed, please migrate to hush.
|
||||
|
||||
|
||||
|
||||
choice
|
||||
prompt "Choose which shell is aliased to 'sh' name"
|
||||
default BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
|
||||
help
|
||||
Choose which shell you want to be executed by 'sh' alias.
|
||||
The ash shell is the most bash compatible and full featured one.
|
||||
|
||||
# note: cannot use "select ASH" here, it breaks "make allnoconfig"
|
||||
config BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
bool "ash"
|
||||
depends on !BUSYBOX_CONFIG_NOMMU
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SH_IS_HUSH
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
bool "hush"
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SH_IS_NONE
|
||||
bool "none"
|
||||
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "Choose which shell is aliased to 'bash' name"
|
||||
default BUSYBOX_CONFIG_FEATURE_BASH_IS_NONE
|
||||
help
|
||||
Choose which shell you want to be executed by 'bash' alias.
|
||||
The ash shell is the most bash compatible and full featured one.
|
||||
|
||||
Note that selecting this option does not switch on any bash
|
||||
compatibility code. It merely makes it possible to install
|
||||
/bin/bash (sym)link and run scripts which start with
|
||||
#!/bin/bash line.
|
||||
|
||||
Many systems use it in scripts which use bash-specific features,
|
||||
even simple ones like $RANDOM. Without this option, busybox
|
||||
can't be used for running them because it won't recongnize
|
||||
"bash" as a supported applet name.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BASH_IS_ASH
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
bool "ash"
|
||||
depends on !BUSYBOX_CONFIG_NOMMU
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BASH_IS_HUSH
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
bool "hush"
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BASH_IS_NONE
|
||||
bool "none"
|
||||
|
||||
endchoice
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_SH_MATH_SUPPORT
|
||||
config BUSYBOX_CONFIG_FEATURE_SH_MATH
|
||||
bool "POSIX math support"
|
||||
default BUSYBOX_DEFAULT_SH_MATH_SUPPORT
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH
|
||||
default BUSYBOX_DEFAULT_FEATURE_SH_MATH
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
|
||||
help
|
||||
Enable math support in the shell via $((...)) syntax.
|
||||
|
||||
config BUSYBOX_CONFIG_SH_MATH_SUPPORT_64
|
||||
config BUSYBOX_CONFIG_FEATURE_SH_MATH_64
|
||||
bool "Extend POSIX math support to 64 bit"
|
||||
default BUSYBOX_DEFAULT_SH_MATH_SUPPORT_64
|
||||
depends on BUSYBOX_CONFIG_SH_MATH_SUPPORT
|
||||
default BUSYBOX_DEFAULT_FEATURE_SH_MATH_64
|
||||
depends on BUSYBOX_CONFIG_FEATURE_SH_MATH
|
||||
help
|
||||
Enable 64-bit math support in the shell. This will make the shell
|
||||
slightly larger, but will allow computation with very large numbers.
|
||||
|
@ -376,14 +380,14 @@ config BUSYBOX_CONFIG_SH_MATH_SUPPORT_64
|
|||
config BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET
|
||||
bool "Hide message on interactive shell startup"
|
||||
default BUSYBOX_DEFAULT_FEATURE_SH_EXTRA_QUIET
|
||||
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
|
||||
help
|
||||
Remove the busybox introduction when starting a shell.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
|
||||
bool "Standalone shell"
|
||||
default BUSYBOX_DEFAULT_FEATURE_SH_STANDALONE
|
||||
depends on (BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH) && BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
|
||||
help
|
||||
This option causes busybox shells to use busybox applets
|
||||
in preference to executables in the PATH whenever possible. For
|
||||
|
@ -416,7 +420,7 @@ config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
|
|||
config BUSYBOX_CONFIG_FEATURE_SH_NOFORK
|
||||
bool "Run 'nofork' applets directly"
|
||||
default BUSYBOX_DEFAULT_FEATURE_SH_NOFORK
|
||||
depends on (BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH) && BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
|
||||
help
|
||||
This option causes busybox shells to not execute typical
|
||||
fork/exec/wait sequence, but call <applet>_main directly,
|
||||
|
@ -434,7 +438,7 @@ config BUSYBOX_CONFIG_FEATURE_SH_NOFORK
|
|||
config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE
|
||||
bool "Use $HISTFILESIZE"
|
||||
default BUSYBOX_DEFAULT_FEATURE_SH_HISTFILESIZE
|
||||
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
|
||||
help
|
||||
This option makes busybox shells to use $HISTFILESIZE variable
|
||||
to set shell history size. Note that its max value is capped
|
||||
|
|
|
@ -47,7 +47,6 @@ config BUSYBOX_CONFIG_LOGGER
|
|||
config BUSYBOX_CONFIG_LOGREAD
|
||||
bool "logread"
|
||||
default BUSYBOX_DEFAULT_LOGREAD
|
||||
depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
|
||||
help
|
||||
If you enabled Circular Buffer support, you almost
|
||||
certainly want to enable this feature as well. This
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -189,6 +189,15 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_SYSV
|
|||
TODO
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UBIFS
|
||||
bool "UBIFS filesystem"
|
||||
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_UBIFS
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
UBIFS (Unsorted Block Image File System) is a file
|
||||
system for use with raw flash memory media.
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UDF
|
||||
bool "udf filesystem"
|
||||
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_UDF
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
From 7cef4817d6d6d61a1166ed7dfc13537b95c65970 Mon Sep 17 00:00:00 2001
|
||||
From: Denys Vlasenko <vda.linux@googlemail.com>
|
||||
Date: Thu, 15 Sep 2016 13:20:51 +0200
|
||||
Subject: [PATCH] libbb:/send_to_from: do not require that "to" should have the
|
||||
same AF. Closes 9146
|
||||
|
||||
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
||||
---
|
||||
libbb/udp_io.c | 10 ++++++++--
|
||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/libbb/udp_io.c
|
||||
+++ b/libbb/udp_io.c
|
||||
@@ -70,7 +70,13 @@ send_to_from(int fd, void *buf, size_t l
|
||||
msg.msg_flags = flags;
|
||||
|
||||
cmsgptr = CMSG_FIRSTHDR(&msg);
|
||||
- if (to->sa_family == AF_INET && from->sa_family == AF_INET) {
|
||||
+ /*
|
||||
+ * Users report that to->sa_family can be AF_INET6 too,
|
||||
+ * if "to" was acquired by recv_from_to(). IOW: recv_from_to()
|
||||
+ * was seen showing IPv6 "from" even when the destination
|
||||
+ * of received packet (our local address) was IPv4.
|
||||
+ */
|
||||
+ if (/* to->sa_family == AF_INET && */ from->sa_family == AF_INET) {
|
||||
struct in_pktinfo *pktptr;
|
||||
cmsgptr->cmsg_level = IPPROTO_IP;
|
||||
cmsgptr->cmsg_type = IP_PKTINFO;
|
||||
@@ -86,7 +92,7 @@ send_to_from(int fd, void *buf, size_t l
|
||||
pktptr->ipi_spec_dst = ((struct sockaddr_in*)from)->sin_addr;
|
||||
}
|
||||
# if ENABLE_FEATURE_IPV6 && defined(IPV6_PKTINFO)
|
||||
- else if (to->sa_family == AF_INET6 && from->sa_family == AF_INET6) {
|
||||
+ else if (/* to->sa_family == AF_INET6 && */ from->sa_family == AF_INET6) {
|
||||
struct in6_pktinfo *pktptr;
|
||||
cmsgptr->cmsg_level = IPPROTO_IPV6;
|
||||
cmsgptr->cmsg_type = IPV6_PKTINFO;
|
|
@ -1,20 +0,0 @@
|
|||
--- a/scripts/trylink
|
||||
+++ b/scripts/trylink
|
||||
@@ -46,7 +46,7 @@ try() {
|
||||
}
|
||||
|
||||
check_cc() {
|
||||
- local tempname="$(mktemp)"
|
||||
+ local tempname="$(mktemp /tmp/tmp.XXXXXXXXXX)"
|
||||
local r
|
||||
echo "int main(int argc,char**argv){return argv?argc:0;}" >"$tempname".c
|
||||
# Can use "-o /dev/null", but older gcc tend to *unlink it* on failure! :(
|
||||
@@ -61,7 +61,7 @@ check_cc() {
|
||||
}
|
||||
|
||||
check_libc_is_glibc() {
|
||||
- local tempname="$(mktemp)"
|
||||
+ local tempname="$(mktemp /tmp/tmp.XXXXXXXXXX)"
|
||||
local r
|
||||
echo "\
|
||||
#include <stdlib.h>
|
|
@ -1,6 +1,6 @@
|
|||
--- a/util-linux/mount.c
|
||||
+++ b/util-linux/mount.c
|
||||
@@ -237,9 +237,6 @@
|
||||
@@ -245,9 +245,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... */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/networking/udhcp/dhcpc.c
|
||||
+++ b/networking/udhcp/dhcpc.c
|
||||
@@ -697,6 +697,7 @@ static int bcast_or_ucast(struct dhcp_pa
|
||||
@@ -704,6 +704,7 @@ static int bcast_or_ucast(struct dhcp_pa
|
||||
static NOINLINE int send_discover(uint32_t xid, uint32_t requested)
|
||||
{
|
||||
struct dhcp_packet packet;
|
||||
|
@ -8,7 +8,7 @@
|
|||
|
||||
/* Fill in: op, htype, hlen, cookie, chaddr fields,
|
||||
* random xid field (we override it below),
|
||||
@@ -714,6 +715,7 @@ static NOINLINE int send_discover(uint32
|
||||
@@ -721,6 +722,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
|
||||
@@ -1422,6 +1422,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
|
||||
@@ -1439,6 +1439,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
|
||||
/* silence "uninitialized!" warning */
|
||||
unsigned timestamp_before_wait = timestamp_before_wait;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/networking/udhcp/dhcpc.c
|
||||
+++ b/networking/udhcp/dhcpc.c
|
||||
@@ -1103,7 +1103,6 @@ static void perform_renew(void)
|
||||
@@ -1110,7 +1110,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/telnetd.c
|
||||
+++ b/networking/telnetd.c
|
||||
@@ -333,6 +333,7 @@ make_new_session(
|
||||
@@ -497,6 +497,7 @@ make_new_session(
|
||||
|
||||
/* Restore default signal handling ASAP */
|
||||
bb_signals((1 << SIGCHLD) + (1 << SIGPIPE), SIG_DFL);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/coreutils/date.c
|
||||
+++ b/coreutils/date.c
|
||||
@@ -123,6 +123,7 @@
|
||||
@@ -122,6 +122,7 @@
|
||||
//usage: IF_FEATURE_DATE_ISOFMT(
|
||||
//usage: "\n -D FMT Use FMT for -d TIME conversion"
|
||||
//usage: )
|
||||
|
@ -8,7 +8,7 @@
|
|||
//usage: "\n"
|
||||
//usage: "\nRecognized TIME formats:"
|
||||
//usage: "\n hh:mm[:ss]"
|
||||
@@ -139,9 +140,8 @@
|
||||
@@ -138,9 +139,8 @@
|
||||
|
||||
#include "libbb.h"
|
||||
#include "common_bufsiz.h"
|
||||
|
@ -20,7 +20,7 @@
|
|||
|
||||
enum {
|
||||
OPT_RFC2822 = (1 << 0), /* R */
|
||||
@@ -149,8 +149,9 @@ enum {
|
||||
@@ -148,8 +148,9 @@ enum {
|
||||
OPT_UTC = (1 << 2), /* u */
|
||||
OPT_DATE = (1 << 3), /* d */
|
||||
OPT_REFERENCE = (1 << 4), /* r */
|
||||
|
@ -32,7 +32,7 @@
|
|||
};
|
||||
|
||||
static void maybe_set_utc(int opt)
|
||||
@@ -168,12 +169,15 @@ static const char date_longopts[] ALIGN1
|
||||
@@ -167,12 +168,15 @@ static const char date_longopts[] ALIGN1
|
||||
/* "universal\0" No_argument "u" */
|
||||
"date\0" Required_argument "d"
|
||||
"reference\0" Required_argument "r"
|
||||
|
@ -48,7 +48,7 @@
|
|||
struct timespec ts;
|
||||
struct tm tm_time;
|
||||
char buf_fmt_dt2str[64];
|
||||
@@ -188,7 +192,7 @@ int date_main(int argc UNUSED_PARAM, cha
|
||||
@@ -187,7 +191,7 @@ int date_main(int argc UNUSED_PARAM, cha
|
||||
opt_complementary = "d--s:s--d"
|
||||
IF_FEATURE_DATE_ISOFMT(":R--I:I--R");
|
||||
IF_LONG_OPTS(applet_long_options = date_longopts;)
|
||||
|
@ -57,7 +57,7 @@
|
|||
IF_FEATURE_DATE_ISOFMT("I::D:"),
|
||||
&date_str, &date_str, &filename
|
||||
IF_FEATURE_DATE_ISOFMT(, &isofmt_arg, &fmt_str2dt));
|
||||
@@ -245,6 +249,31 @@ int date_main(int argc UNUSED_PARAM, cha
|
||||
@@ -244,6 +248,31 @@ int date_main(int argc UNUSED_PARAM, cha
|
||||
if (*argv)
|
||||
bb_show_usage();
|
||||
|
||||
|
|
|
@ -1,100 +0,0 @@
|
|||
From a843f09a4d4428cf11ca02307e60058251b05743 Mon Sep 17 00:00:00 2001
|
||||
From: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
Date: Fri, 16 Sep 2016 21:52:03 +0200
|
||||
Subject: [PATCH] libnetlink: fix alignment of netlink messages
|
||||
|
||||
An padding to align a message should not only be added between
|
||||
different attributes of a netlink message, but also at the end of the
|
||||
message to pad it to the correct size.
|
||||
|
||||
Without this patch the following command does not work and returns an
|
||||
error code:
|
||||
ip link add type nlmon
|
||||
|
||||
Without this ip from busybox sends this:
|
||||
sendmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=45, type=0x10 /* NLMSG_??? */, flags=NLM_F_REQUEST|NLM_F_ACK|0x600, seq=1474057401, pid=0}, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\22\0\t\0\1nlmon"}, iov_len=45}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 45
|
||||
return value: 2
|
||||
|
||||
The normal ip utile from iproute2 sends this:
|
||||
sendmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=48, type=0x10 /* NLMSG_??? */, flags=NLM_F_REQUEST|NLM_F_ACK|0x600, seq=1473716938, pid=0}, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\22\0\t\0\1nlmon\0\0\0"}, iov_len=48}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 48
|
||||
return value: 0
|
||||
|
||||
With this patch ip from busybox sends this:
|
||||
sendmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=48, type=0x10 /* NLMSG_??? */, flags=NLM_F_REQUEST|NLM_F_ACK|0x600, seq=1473716908, pid=0}, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\22\0\t\0\1nlmon\0\0\0"}, iov_len=48}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 48
|
||||
return value: 0
|
||||
|
||||
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
---
|
||||
networking/libiproute/libnetlink.c | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
--- a/networking/libiproute/libnetlink.c
|
||||
+++ b/networking/libiproute/libnetlink.c
|
||||
@@ -338,14 +338,14 @@ int FAST_FUNC addattr32(struct nlmsghdr
|
||||
int len = RTA_LENGTH(4);
|
||||
struct rtattr *rta;
|
||||
|
||||
- if ((int)(NLMSG_ALIGN(n->nlmsg_len) + len) > maxlen) {
|
||||
+ if ((int)(NLMSG_ALIGN(n->nlmsg_len + len)) > maxlen) {
|
||||
return -1;
|
||||
}
|
||||
rta = (struct rtattr*)(((char*)n) + NLMSG_ALIGN(n->nlmsg_len));
|
||||
rta->rta_type = type;
|
||||
rta->rta_len = len;
|
||||
move_to_unaligned32(RTA_DATA(rta), data);
|
||||
- n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len) + len;
|
||||
+ n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len + len);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -354,14 +354,14 @@ int FAST_FUNC addattr_l(struct nlmsghdr
|
||||
int len = RTA_LENGTH(alen);
|
||||
struct rtattr *rta;
|
||||
|
||||
- if ((int)(NLMSG_ALIGN(n->nlmsg_len) + len) > maxlen) {
|
||||
+ if ((int)(NLMSG_ALIGN(n->nlmsg_len + len)) > maxlen) {
|
||||
return -1;
|
||||
}
|
||||
rta = (struct rtattr*)(((char*)n) + NLMSG_ALIGN(n->nlmsg_len));
|
||||
rta->rta_type = type;
|
||||
rta->rta_len = len;
|
||||
memcpy(RTA_DATA(rta), data, alen);
|
||||
- n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len) + len;
|
||||
+ n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len + len);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -370,14 +370,14 @@ int FAST_FUNC rta_addattr32(struct rtatt
|
||||
int len = RTA_LENGTH(4);
|
||||
struct rtattr *subrta;
|
||||
|
||||
- if (RTA_ALIGN(rta->rta_len) + len > maxlen) {
|
||||
+ if (RTA_ALIGN(rta->rta_len + len) > maxlen) {
|
||||
return -1;
|
||||
}
|
||||
subrta = (struct rtattr*)(((char*)rta) + RTA_ALIGN(rta->rta_len));
|
||||
subrta->rta_type = type;
|
||||
subrta->rta_len = len;
|
||||
move_to_unaligned32(RTA_DATA(subrta), data);
|
||||
- rta->rta_len = NLMSG_ALIGN(rta->rta_len) + len;
|
||||
+ rta->rta_len = NLMSG_ALIGN(rta->rta_len + len);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -386,14 +386,14 @@ int FAST_FUNC rta_addattr_l(struct rtatt
|
||||
struct rtattr *subrta;
|
||||
int len = RTA_LENGTH(alen);
|
||||
|
||||
- if (RTA_ALIGN(rta->rta_len) + len > maxlen) {
|
||||
+ if (RTA_ALIGN(rta->rta_len + len) > maxlen) {
|
||||
return -1;
|
||||
}
|
||||
subrta = (struct rtattr*)(((char*)rta) + RTA_ALIGN(rta->rta_len));
|
||||
subrta->rta_type = type;
|
||||
subrta->rta_len = len;
|
||||
memcpy(RTA_DATA(subrta), data, alen);
|
||||
- rta->rta_len = NLMSG_ALIGN(rta->rta_len) + len;
|
||||
+ rta->rta_len = NLMSG_ALIGN(rta->rta_len + len);
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -1,486 +0,0 @@
|
|||
From 485fcc89b99eae9cc7501eaff344b104e52ab7bf Mon Sep 17 00:00:00 2001
|
||||
From: Jo-Philipp Wich <jo@mein.io>
|
||||
Date: Mon, 26 Sep 2016 17:48:22 +0200
|
||||
Subject: [PATCH] iproute: properly support high routing table IDs
|
||||
|
||||
The Linux kernel uses two distinct fields to denote the routing table ID in
|
||||
use by network routes; the 8 bit `rtm_table` member of `struct rtmsg` and the
|
||||
32 bit `RTA_TABLE` netlink attribute.
|
||||
|
||||
If a routing table ID is larger than 255, the `RT_TABLE` attribute must be used
|
||||
and the `rtm_table` field has to be set to the special `RT_TABLE_UNSPEC` value.
|
||||
|
||||
This commit ...
|
||||
- switches the *_n2a() and *_a2n() functions of rt_names.c to use dynamically
|
||||
sized, name-sorted arrays instead of fixed arrays limited to 1024 slots in
|
||||
order to support IDs up to 65535
|
||||
- adds proper handling of high table IDs to iprule.c and iproute.c when
|
||||
adding, removing and dumping ip rules and network routes
|
||||
|
||||
After this change, the Busybox ip applet fully supports IP rules with high ID
|
||||
numbers, using the same logic as the full iproute2.
|
||||
|
||||
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
||||
---
|
||||
networking/libiproute/iproute.c | 75 ++++++++------
|
||||
networking/libiproute/iprule.c | 4 +-
|
||||
networking/libiproute/rt_names.c | 204 +++++++++++++++++++++++----------------
|
||||
3 files changed, 169 insertions(+), 114 deletions(-)
|
||||
|
||||
--- a/networking/libiproute/iproute.c
|
||||
+++ b/networking/libiproute/iproute.c
|
||||
@@ -66,6 +66,7 @@ static int FAST_FUNC print_route(const s
|
||||
inet_prefix dst;
|
||||
inet_prefix src;
|
||||
int host_len = -1;
|
||||
+ uint32_t rtable;
|
||||
|
||||
if (n->nlmsg_type != RTM_NEWROUTE && n->nlmsg_type != RTM_DELROUTE) {
|
||||
fprintf(stderr, "Not a route: %08x %08x %08x\n",
|
||||
@@ -83,34 +84,6 @@ static int FAST_FUNC print_route(const s
|
||||
else if (r->rtm_family == AF_INET)
|
||||
host_len = 32;
|
||||
|
||||
- if (r->rtm_family == AF_INET6) {
|
||||
- if (G_filter.tb) {
|
||||
- if (G_filter.tb < 0) {
|
||||
- if (!(r->rtm_flags & RTM_F_CLONED)) {
|
||||
- return 0;
|
||||
- }
|
||||
- } else {
|
||||
- if (r->rtm_flags & RTM_F_CLONED) {
|
||||
- return 0;
|
||||
- }
|
||||
- if (G_filter.tb == RT_TABLE_LOCAL) {
|
||||
- if (r->rtm_type != RTN_LOCAL) {
|
||||
- return 0;
|
||||
- }
|
||||
- } else if (G_filter.tb == RT_TABLE_MAIN) {
|
||||
- if (r->rtm_type == RTN_LOCAL) {
|
||||
- return 0;
|
||||
- }
|
||||
- } else {
|
||||
- return 0;
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- } else {
|
||||
- if (G_filter.tb > 0 && G_filter.tb != r->rtm_table) {
|
||||
- return 0;
|
||||
- }
|
||||
- }
|
||||
if (G_filter.rdst.family
|
||||
&& (r->rtm_family != G_filter.rdst.family || G_filter.rdst.bitlen > r->rtm_dst_len)
|
||||
) {
|
||||
@@ -141,6 +114,37 @@ static int FAST_FUNC print_route(const s
|
||||
memset(&dst, 0, sizeof(dst));
|
||||
parse_rtattr(tb, RTA_MAX, RTM_RTA(r), len);
|
||||
|
||||
+ rtable = tb[RTA_TABLE] ? *(uint32_t*)RTA_DATA(tb[RTA_TABLE]) : r->rtm_table;
|
||||
+
|
||||
+ if (G_filter.tb) {
|
||||
+ if (r->rtm_family == AF_INET6) {
|
||||
+ if (G_filter.tb < 0) {
|
||||
+ if (!(r->rtm_flags & RTM_F_CLONED)) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+ } else {
|
||||
+ if (r->rtm_flags & RTM_F_CLONED) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+ if (G_filter.tb == RT_TABLE_LOCAL) {
|
||||
+ if (r->rtm_type != RTN_LOCAL) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+ } else if (G_filter.tb == RT_TABLE_MAIN) {
|
||||
+ if (r->rtm_type == RTN_LOCAL) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+ } else if (G_filter.tb != rtable) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+ }
|
||||
+ } else {
|
||||
+ if (G_filter.tb != rtable) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
if (tb[RTA_SRC]) {
|
||||
src.bitlen = r->rtm_src_len;
|
||||
src.bytelen = (r->rtm_family == AF_INET6 ? 16 : 4);
|
||||
@@ -349,7 +353,9 @@ IF_FEATURE_IP_RULE(ARG_table,)
|
||||
smalluint ok = 0;
|
||||
smalluint scope_ok = 0;
|
||||
int arg;
|
||||
-
|
||||
+#if ENABLE_FEATURE_IP_RULE
|
||||
+ uint32_t rtable = 0;
|
||||
+#endif
|
||||
memset(&req, 0, sizeof(req));
|
||||
|
||||
req.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct rtmsg));
|
||||
@@ -419,7 +425,7 @@ IF_FEATURE_IP_RULE(ARG_table,)
|
||||
NEXT_ARG();
|
||||
if (rtnl_rttable_a2n(&tid, *argv))
|
||||
invarg_1_to_2(*argv, "table");
|
||||
- req.r.rtm_table = tid;
|
||||
+ rtable = tid;
|
||||
#endif
|
||||
} else if (arg == ARG_dev || arg == ARG_oif) {
|
||||
NEXT_ARG();
|
||||
@@ -475,6 +481,15 @@ IF_FEATURE_IP_RULE(ARG_table,)
|
||||
}
|
||||
}
|
||||
|
||||
+#if ENABLE_FEATURE_IP_RULE
|
||||
+ if (rtable >= 256) {
|
||||
+ addattr32(&req.n, sizeof(req), RTA_TABLE, rtable);
|
||||
+ req.r.rtm_table = RT_TABLE_UNSPEC;
|
||||
+ } else if (rtable > 0) {
|
||||
+ req.r.rtm_table = rtable;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
if (mxrta->rta_len > RTA_LENGTH(0)) {
|
||||
if (mxlock) {
|
||||
rta_addattr32(mxrta, sizeof(mxbuf), RTAX_LOCK, mxlock);
|
||||
--- a/networking/libiproute/iprule.c
|
||||
+++ b/networking/libiproute/iprule.c
|
||||
@@ -114,7 +114,9 @@ static int FAST_FUNC print_rule(const st
|
||||
printf("iif %s ", (char*)RTA_DATA(tb[RTA_IIF]));
|
||||
}
|
||||
|
||||
- if (r->rtm_table)
|
||||
+ if (tb[RTA_TABLE])
|
||||
+ printf("lookup %s ", rtnl_rttable_n2a(*(uint32_t*)RTA_DATA(tb[RTA_TABLE])));
|
||||
+ else if (r->rtm_table)
|
||||
printf("lookup %s ", rtnl_rttable_n2a(r->rtm_table));
|
||||
|
||||
if (tb[RTA_FLOW]) {
|
||||
--- a/networking/libiproute/rt_names.c
|
||||
+++ b/networking/libiproute/rt_names.c
|
||||
@@ -11,21 +11,26 @@
|
||||
#include "rt_names.h"
|
||||
|
||||
#define CONFDIR CONFIG_FEATURE_IP_ROUTE_DIR
|
||||
+#define RT_TABLE_MAX 65535
|
||||
+
|
||||
+struct rtnl_tab_entry {
|
||||
+ unsigned int id;
|
||||
+ const char *name;
|
||||
+};
|
||||
|
||||
typedef struct rtnl_tab_t {
|
||||
- const char *cached_str;
|
||||
- unsigned cached_result;
|
||||
- /* upstream version switched to a hash table and removed
|
||||
- * id < 256 limit. For now bbox bumps this array size from 256
|
||||
- * to 1024. If you plan to change this to a hash table,
|
||||
- * consider merging several hash tables we have (for example,
|
||||
- * awk has resizable one!
|
||||
- */
|
||||
-#define RT_TABLE_MAX 1023
|
||||
- const char *tab[RT_TABLE_MAX+1];
|
||||
+ struct rtnl_tab_entry *tab;
|
||||
+ size_t length;
|
||||
} rtnl_tab_t;
|
||||
|
||||
-static void rtnl_tab_initialize(const char *file, const char **tab)
|
||||
+static int tabcmp(const void *p1, const void *p2)
|
||||
+{
|
||||
+ const struct rtnl_tab_entry *e1 = p1;
|
||||
+ const struct rtnl_tab_entry *e2 = p2;
|
||||
+ return strcmp(e1->name, e2->name);
|
||||
+}
|
||||
+
|
||||
+static void rtnl_tab_initialize(const char *file, rtnl_tab_t *tab)
|
||||
{
|
||||
char *token[2];
|
||||
char fullname[sizeof(CONFDIR"/rt_dsfield") + 8];
|
||||
@@ -40,34 +45,42 @@ static void rtnl_tab_initialize(const ch
|
||||
file, parser->lineno);
|
||||
break;
|
||||
}
|
||||
- tab[id] = xstrdup(token[1]);
|
||||
+
|
||||
+ tab->tab = xrealloc(tab->tab, (tab->length + 1) * sizeof(*tab->tab));
|
||||
+ tab->tab[tab->length].id = id;
|
||||
+ tab->tab[tab->length].name = xstrdup(token[1]);
|
||||
+ tab->length++;
|
||||
}
|
||||
config_close(parser);
|
||||
+ qsort(tab->tab, tab->length, sizeof(*tab->tab), tabcmp);
|
||||
}
|
||||
|
||||
static int rtnl_a2n(rtnl_tab_t *tab, uint32_t *id, const char *arg, int base)
|
||||
{
|
||||
- unsigned i;
|
||||
-
|
||||
- if (tab->cached_str && strcmp(tab->cached_str, arg) == 0) {
|
||||
- *id = tab->cached_result;
|
||||
- return 0;
|
||||
- }
|
||||
+ int delta;
|
||||
+ ssize_t l = 0;
|
||||
+ ssize_t r = tab->length - 1;
|
||||
+ ssize_t m;
|
||||
+ uint32_t i;
|
||||
+
|
||||
+ while (l <= r) {
|
||||
+ m = l + (r - l) / 2;
|
||||
+ delta = strcmp(tab->tab[m].name, arg);
|
||||
|
||||
- for (i = 0; i <= RT_TABLE_MAX; i++) {
|
||||
- if (tab->tab[i]
|
||||
- && strcmp(tab->tab[i], arg) == 0
|
||||
- ) {
|
||||
- tab->cached_str = tab->tab[i];
|
||||
- tab->cached_result = i;
|
||||
- *id = i;
|
||||
+ if (delta == 0) {
|
||||
+ *id = tab->tab[m].id;
|
||||
return 0;
|
||||
+ } else if (delta < 0) {
|
||||
+ l = m + 1;
|
||||
+ } else {
|
||||
+ r = m - 1;
|
||||
}
|
||||
}
|
||||
|
||||
i = bb_strtou(arg, NULL, base);
|
||||
if (i > RT_TABLE_MAX)
|
||||
return -1;
|
||||
+
|
||||
*id = i;
|
||||
return 0;
|
||||
}
|
||||
@@ -77,40 +90,39 @@ static rtnl_tab_t *rtnl_rtprot_tab;
|
||||
|
||||
static void rtnl_rtprot_initialize(void)
|
||||
{
|
||||
- static const char *const init_tab[] = {
|
||||
- "none",
|
||||
- "redirect",
|
||||
- "kernel",
|
||||
- "boot",
|
||||
- "static",
|
||||
- NULL,
|
||||
- NULL,
|
||||
- NULL,
|
||||
- "gated",
|
||||
- "ra",
|
||||
- "mrt",
|
||||
- "zebra",
|
||||
- "bird",
|
||||
+ static const struct rtnl_tab_entry init_tab[] = {
|
||||
+ { 0, "none" },
|
||||
+ { 1, "redirect" },
|
||||
+ { 2, "kernel" },
|
||||
+ { 3, "boot" },
|
||||
+ { 4, "static" },
|
||||
+ { 8, "gated" },
|
||||
+ { 9, "ra" },
|
||||
+ { 10, "mrt" },
|
||||
+ { 11, "zebra" },
|
||||
+ { 12, "bird" }
|
||||
};
|
||||
|
||||
if (rtnl_rtprot_tab)
|
||||
return;
|
||||
rtnl_rtprot_tab = xzalloc(sizeof(*rtnl_rtprot_tab));
|
||||
+ rtnl_rtprot_tab->tab = xzalloc(sizeof(init_tab));
|
||||
+ rtnl_rtprot_tab->length = sizeof(init_tab) / sizeof(init_tab[0]);
|
||||
memcpy(rtnl_rtprot_tab->tab, init_tab, sizeof(init_tab));
|
||||
- rtnl_tab_initialize("protos", rtnl_rtprot_tab->tab);
|
||||
+ rtnl_tab_initialize("protos", rtnl_rtprot_tab);
|
||||
}
|
||||
|
||||
#if 0 /* UNUSED */
|
||||
const char* FAST_FUNC rtnl_rtprot_n2a(int id)
|
||||
{
|
||||
- if (id < 0 || id > RT_TABLE_MAX) {
|
||||
- return itoa(id);
|
||||
- }
|
||||
+ size_t i;
|
||||
|
||||
rtnl_rtprot_initialize();
|
||||
|
||||
- if (rtnl_rtprot_tab->tab[id])
|
||||
- return rtnl_rtprot_tab->tab[id];
|
||||
+ for (i = 0; i < rtnl_rtprot_tab->length; i++)
|
||||
+ if (rtnl_rtprot_tab->tab[i].id == id)
|
||||
+ return rtnl_rtprot_tab->tab[i].name;
|
||||
+
|
||||
return itoa(id);
|
||||
}
|
||||
#endif
|
||||
@@ -126,27 +138,33 @@ static rtnl_tab_t *rtnl_rtscope_tab;
|
||||
|
||||
static void rtnl_rtscope_initialize(void)
|
||||
{
|
||||
+ static const struct rtnl_tab_entry init_tab[] = {
|
||||
+ { 0, "global" },
|
||||
+ { 200, "site" },
|
||||
+ { 253, "link" },
|
||||
+ { 254, "host" },
|
||||
+ { 255, "nowhere" }
|
||||
+ };
|
||||
+
|
||||
if (rtnl_rtscope_tab)
|
||||
return;
|
||||
rtnl_rtscope_tab = xzalloc(sizeof(*rtnl_rtscope_tab));
|
||||
- rtnl_rtscope_tab->tab[0] = "global";
|
||||
- rtnl_rtscope_tab->tab[255] = "nowhere";
|
||||
- rtnl_rtscope_tab->tab[254] = "host";
|
||||
- rtnl_rtscope_tab->tab[253] = "link";
|
||||
- rtnl_rtscope_tab->tab[200] = "site";
|
||||
- rtnl_tab_initialize("scopes", rtnl_rtscope_tab->tab);
|
||||
+ rtnl_rtscope_tab->tab = xzalloc(sizeof(init_tab));
|
||||
+ rtnl_rtscope_tab->length = sizeof(init_tab) / sizeof(init_tab[0]);
|
||||
+ memcpy(rtnl_rtscope_tab->tab, init_tab, sizeof(init_tab));
|
||||
+ rtnl_tab_initialize("scopes", rtnl_rtscope_tab);
|
||||
}
|
||||
|
||||
const char* FAST_FUNC rtnl_rtscope_n2a(int id)
|
||||
{
|
||||
- if (id < 0 || id > RT_TABLE_MAX) {
|
||||
- return itoa(id);
|
||||
- }
|
||||
+ size_t i;
|
||||
|
||||
rtnl_rtscope_initialize();
|
||||
|
||||
- if (rtnl_rtscope_tab->tab[id])
|
||||
- return rtnl_rtscope_tab->tab[id];
|
||||
+ for (i = 0; i < rtnl_rtscope_tab->length; i++)
|
||||
+ if (rtnl_rtscope_tab->tab[i].id == id)
|
||||
+ return rtnl_rtscope_tab->tab[i].name;
|
||||
+
|
||||
return itoa(id);
|
||||
}
|
||||
|
||||
@@ -161,10 +179,17 @@ static rtnl_tab_t *rtnl_rtrealm_tab;
|
||||
|
||||
static void rtnl_rtrealm_initialize(void)
|
||||
{
|
||||
- if (rtnl_rtrealm_tab) return;
|
||||
+ static const struct rtnl_tab_entry init_tab[] = {
|
||||
+ { 0, "unknown" }
|
||||
+ };
|
||||
+
|
||||
+ if (rtnl_rtrealm_tab)
|
||||
+ return;
|
||||
rtnl_rtrealm_tab = xzalloc(sizeof(*rtnl_rtrealm_tab));
|
||||
- rtnl_rtrealm_tab->tab[0] = "unknown";
|
||||
- rtnl_tab_initialize("realms", rtnl_rtrealm_tab->tab);
|
||||
+ rtnl_rtrealm_tab->tab = xzalloc(sizeof(init_tab));
|
||||
+ rtnl_rtrealm_tab->length = sizeof(init_tab) / sizeof(init_tab[0]);
|
||||
+ memcpy(rtnl_rtrealm_tab->tab, init_tab, sizeof(init_tab));
|
||||
+ rtnl_tab_initialize("realms", rtnl_rtrealm_tab);
|
||||
}
|
||||
|
||||
int FAST_FUNC rtnl_rtrealm_a2n(uint32_t *id, char *arg)
|
||||
@@ -176,14 +201,14 @@ int FAST_FUNC rtnl_rtrealm_a2n(uint32_t
|
||||
#if ENABLE_FEATURE_IP_RULE
|
||||
const char* FAST_FUNC rtnl_rtrealm_n2a(int id)
|
||||
{
|
||||
- if (id < 0 || id > RT_TABLE_MAX) {
|
||||
- return itoa(id);
|
||||
- }
|
||||
+ size_t i;
|
||||
|
||||
rtnl_rtrealm_initialize();
|
||||
|
||||
- if (rtnl_rtrealm_tab->tab[id])
|
||||
- return rtnl_rtrealm_tab->tab[id];
|
||||
+ for (i = 0; i < rtnl_rtrealm_tab->length; i++)
|
||||
+ if (rtnl_rtrealm_tab->tab[i].id == id)
|
||||
+ return rtnl_rtrealm_tab->tab[i].name;
|
||||
+
|
||||
return itoa(id);
|
||||
}
|
||||
#endif
|
||||
@@ -193,22 +218,29 @@ static rtnl_tab_t *rtnl_rtdsfield_tab;
|
||||
|
||||
static void rtnl_rtdsfield_initialize(void)
|
||||
{
|
||||
- if (rtnl_rtdsfield_tab) return;
|
||||
+ static const struct rtnl_tab_entry init_tab[] = {
|
||||
+ { 0, "0" }
|
||||
+ };
|
||||
+
|
||||
+ if (rtnl_rtdsfield_tab)
|
||||
+ return;
|
||||
rtnl_rtdsfield_tab = xzalloc(sizeof(*rtnl_rtdsfield_tab));
|
||||
- rtnl_rtdsfield_tab->tab[0] = "0";
|
||||
- rtnl_tab_initialize("dsfield", rtnl_rtdsfield_tab->tab);
|
||||
+ rtnl_rtdsfield_tab->tab = xzalloc(sizeof(init_tab));
|
||||
+ rtnl_rtdsfield_tab->length = sizeof(init_tab) / sizeof(init_tab[0]);
|
||||
+ memcpy(rtnl_rtdsfield_tab->tab, init_tab, sizeof(init_tab));
|
||||
+ rtnl_tab_initialize("dsfield", rtnl_rtdsfield_tab);
|
||||
}
|
||||
|
||||
const char* FAST_FUNC rtnl_dsfield_n2a(int id)
|
||||
{
|
||||
- if (id < 0 || id > RT_TABLE_MAX) {
|
||||
- return itoa(id);
|
||||
- }
|
||||
+ size_t i;
|
||||
|
||||
rtnl_rtdsfield_initialize();
|
||||
|
||||
- if (rtnl_rtdsfield_tab->tab[id])
|
||||
- return rtnl_rtdsfield_tab->tab[id];
|
||||
+ for (i = 0; i < rtnl_rtdsfield_tab->length; i++)
|
||||
+ if (rtnl_rtdsfield_tab->tab[i].id == id)
|
||||
+ return rtnl_rtdsfield_tab->tab[i].name;
|
||||
+
|
||||
return itoa(id);
|
||||
}
|
||||
|
||||
@@ -224,27 +256,33 @@ static rtnl_tab_t *rtnl_rttable_tab;
|
||||
|
||||
static void rtnl_rttable_initialize(void)
|
||||
{
|
||||
+ static const struct rtnl_tab_entry tab_init[] = {
|
||||
+ { 0, "unspec" },
|
||||
+ { 253, "default" },
|
||||
+ { 254, "main" },
|
||||
+ { 255, "local" }
|
||||
+ };
|
||||
+
|
||||
if (rtnl_rttable_tab)
|
||||
return;
|
||||
|
||||
rtnl_rttable_tab = xzalloc(sizeof(*rtnl_rttable_tab));
|
||||
- rtnl_rttable_tab->tab[0] = "unspec";
|
||||
- rtnl_rttable_tab->tab[255] = "local";
|
||||
- rtnl_rttable_tab->tab[254] = "main";
|
||||
- rtnl_rttable_tab->tab[253] = "default";
|
||||
- rtnl_tab_initialize("tables", rtnl_rttable_tab->tab);
|
||||
+ rtnl_rttable_tab->tab = xzalloc(sizeof(tab_init));
|
||||
+ rtnl_rttable_tab->length = sizeof(tab_init) / sizeof(tab_init[0]);
|
||||
+ memcpy(rtnl_rttable_tab->tab, tab_init, sizeof(tab_init));
|
||||
+ rtnl_tab_initialize("tables", rtnl_rttable_tab);
|
||||
}
|
||||
|
||||
const char* FAST_FUNC rtnl_rttable_n2a(int id)
|
||||
{
|
||||
- if (id < 0 || id > RT_TABLE_MAX) {
|
||||
- return itoa(id);
|
||||
- }
|
||||
+ size_t i;
|
||||
|
||||
rtnl_rttable_initialize();
|
||||
|
||||
- if (rtnl_rttable_tab->tab[id])
|
||||
- return rtnl_rttable_tab->tab[id];
|
||||
+ for (i = 0; i < rtnl_rttable_tab->length; i++)
|
||||
+ if (rtnl_rttable_tab->tab[i].id == id)
|
||||
+ return rtnl_rttable_tab->tab[i].name;
|
||||
+
|
||||
return itoa(id);
|
||||
}
|
||||
|
Loading…
Reference in a new issue