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:
		 Magnus Kroken
					Magnus Kroken
				
			
				
					committed by
					
						 Felix Fietkau
						Felix Fietkau
					
				
			
			
				
	
			
			
			 Felix Fietkau
						Felix Fietkau
					
				
			
						parent
						
							5d2a9d2a3a
						
					
				
				
					commit
					84da2a677a
				
			
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -8,14 +8,14 @@ | |||||||
| include $(TOPDIR)/rules.mk | include $(TOPDIR)/rules.mk | ||||||
|  |  | ||||||
| PKG_NAME:=busybox | PKG_NAME:=busybox | ||||||
| PKG_VERSION:=1.25.1 | PKG_VERSION:=1.26.2 | ||||||
| PKG_RELEASE:=2 | PKG_RELEASE:=1 | ||||||
| PKG_FLAGS:=essential | PKG_FLAGS:=essential | ||||||
|  |  | ||||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 | PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 | ||||||
| PKG_SOURCE_URL:=https://www.busybox.net/downloads \ | PKG_SOURCE_URL:=https://www.busybox.net/downloads \ | ||||||
| 		http://sources.buildroot.net | 		http://sources.buildroot.net | ||||||
| PKG_HASH:=27667e0f2328fdbd79cfd622e4453e5c57e58f781c5da97c9be337d93aa2a02e | PKG_HASH:=da3e44913fc1a9c9b7c5337ea5292da518683cbff32be630777f565d6036af16 | ||||||
|  |  | ||||||
| PKG_BUILD_DEPENDS:=BUSYBOX_USE_LIBRPC:librpc BUSYBOX_CONFIG_PAM:libpam | PKG_BUILD_DEPENDS:=BUSYBOX_USE_LIBRPC:librpc BUSYBOX_CONFIG_PAM:libpam | ||||||
| PKG_BUILD_PARALLEL:=1 | PKG_BUILD_PARALLEL:=1 | ||||||
|   | |||||||
| @@ -10,15 +10,18 @@ config BUSYBOX_CONFIG_HAVE_DOT_CONFIG | |||||||
|  |  | ||||||
| menu "Busybox Settings" | menu "Busybox Settings" | ||||||
|  |  | ||||||
| menu "General Configuration" |  | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_DESKTOP | config BUSYBOX_CONFIG_DESKTOP | ||||||
| 	bool "Enable options for full-blown desktop systems" | 	bool "Enable options for full-blown desktop systems" | ||||||
| 	default BUSYBOX_DEFAULT_DESKTOP | 	default BUSYBOX_DEFAULT_DESKTOP | ||||||
| 	help | 	help | ||||||
| 	  Enable options and features which are not essential. | 	  Enable options and features which are not essential. | ||||||
| 	  Select this only if you plan to use busybox on full-blown | 	  Select this if you plan to use busybox on full-blown desktop machine | ||||||
| 	  desktop machine with common Linux distro, not on an embedded box. | 	  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 | config BUSYBOX_CONFIG_EXTRA_COMPAT | ||||||
| 	bool "Provide compatible behavior for rare corner cases (bigger code)" | 	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 | 	  Answering 'N' here will disable such applets and hide the | ||||||
| 	  corresponding configuration options. | 	  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 | config BUSYBOX_CONFIG_SHOW_USAGE | ||||||
| 	bool "Show applet usage messages" | 	bool "Show applet usage messages" | ||||||
| 	default BUSYBOX_DEFAULT_SHOW_USAGE | 	default BUSYBOX_DEFAULT_SHOW_USAGE | ||||||
| @@ -143,131 +122,6 @@ config BUSYBOX_CONFIG_INSTALL_NO_USR | |||||||
| 	  will install applets only to /bin and /sbin, | 	  will install applets only to /bin and /sbin, | ||||||
| 	  never to /usr/bin or /usr/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 | config BUSYBOX_CONFIG_PAM | ||||||
| 	bool "Support for PAM (Pluggable Authentication Modules)" | 	bool "Support for PAM (Pluggable Authentication Modules)" | ||||||
| 	default BUSYBOX_DEFAULT_PAM | 	default BUSYBOX_DEFAULT_PAM | ||||||
| @@ -275,19 +129,6 @@ config BUSYBOX_CONFIG_PAM | |||||||
| 	  Use PAM in some busybox applets (currently login and httpd) instead | 	  Use PAM in some busybox applets (currently login and httpd) instead | ||||||
| 	  of direct access to password database. | 	  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 | config BUSYBOX_CONFIG_LONG_OPTS | ||||||
| 	bool "Support for --long-options" | 	bool "Support for --long-options" | ||||||
| 	default BUSYBOX_DEFAULT_LONG_OPTS | 	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. | 	#  This is automatically selected if any of enabled applets need it. | ||||||
| 	#  You do not need to select it manually. | 	#  You do not need to select it manually. | ||||||
|  |  | ||||||
| endmenu | comment 'Build Options' | ||||||
|  |  | ||||||
| menu 'Build Options' |  | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_STATIC | config BUSYBOX_CONFIG_STATIC | ||||||
| 	bool "Build BusyBox as a static binary (no shared libs)" | 	bool "Build BusyBox as a static binary (no shared libs)" | ||||||
| @@ -673,9 +512,73 @@ config BUSYBOX_CONFIG_EXTRA_LDLIBS | |||||||
| 	help | 	help | ||||||
| 	  Additional LDLIBS to pass to the linker with -l. | 	  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 | config BUSYBOX_CONFIG_DEBUG | ||||||
| 	bool "Build BusyBox with extra Debugging symbols" | 	bool "Build BusyBox with extra Debugging symbols" | ||||||
| @@ -769,78 +672,8 @@ endchoice | |||||||
|  |  | ||||||
| endmenu | 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 | source libbb/Config.in | ||||||
|  |  | ||||||
| endmenu |  | ||||||
|  |  | ||||||
| comment "Applets" | comment "Applets" | ||||||
|  |  | ||||||
| source archival/Config.in | source archival/Config.in | ||||||
|   | |||||||
| @@ -31,7 +31,7 @@ config BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ | |||||||
| 	  Make tar, rpm, modprobe etc understand .gz data. | 	  Make tar, rpm, modprobe etc understand .gz data. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z | 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 | 	default BUSYBOX_DEFAULT_FEATURE_SEAMLESS_Z  # it is ancient | ||||||
| 	help | 	help | ||||||
| 	  Make tar, rpm, modprobe etc understand .Z data. | 	  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 | 	  You can use the `-t' option to test the integrity of | ||||||
| 	  an archive, without decompressing it. | 	  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 | config BUSYBOX_CONFIG_FEATURE_GUNZIP_LONG_OPTIONS | ||||||
| 	bool "Enable long options" | 	bool "Enable long options" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_GUNZIP_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 | 	help | ||||||
| 	  Enable use of long options. | 	  Enable use of long options. | ||||||
| config BUSYBOX_CONFIG_BUNZIP2 | config BUSYBOX_CONFIG_BUNZIP2 | ||||||
| @@ -97,6 +103,12 @@ config BUSYBOX_CONFIG_BUNZIP2 | |||||||
|  |  | ||||||
| 	  Unless you have a specific application which requires bunzip2, you | 	  Unless you have a specific application which requires bunzip2, you | ||||||
| 	  should probably say N here. | 	  should probably say N here. | ||||||
|  |  | ||||||
|  | config BUSYBOX_CONFIG_BZCAT | ||||||
|  | 	bool "bzcat" | ||||||
|  | 	default BUSYBOX_DEFAULT_BZCAT | ||||||
|  | 	help | ||||||
|  | 	  Alias to "bunzip2 -c". | ||||||
| config BUSYBOX_CONFIG_UNLZMA | config BUSYBOX_CONFIG_UNLZMA | ||||||
| 	bool "unlzma" | 	bool "unlzma" | ||||||
| 	default BUSYBOX_DEFAULT_UNLZMA | 	default BUSYBOX_DEFAULT_UNLZMA | ||||||
| @@ -109,31 +121,47 @@ config BUSYBOX_CONFIG_UNLZMA | |||||||
| 	  The BusyBox unlzma applet is limited to decompression only. | 	  The BusyBox unlzma applet is limited to decompression only. | ||||||
| 	  On an x86 system, this applet adds about 4K. | 	  On an x86 system, this applet adds about 4K. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_FEATURE_LZMA_FAST | config BUSYBOX_CONFIG_LZCAT | ||||||
| 	bool "Optimize unlzma for speed" | 	bool "lzcat" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_LZMA_FAST | 	default BUSYBOX_DEFAULT_LZCAT | ||||||
| 	depends on BUSYBOX_CONFIG_UNLZMA |  | ||||||
| 	help | 	help | ||||||
| 	  This option reduces decompression time by about 25% at the cost of | 	  unlzma is a compression utility using the Lempel-Ziv-Markov chain | ||||||
| 	  a 1K bigger binary. | 	  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 | config BUSYBOX_CONFIG_LZMA | ||||||
| 	bool "Provide lzma alias which supports only unpacking" | 	bool "lzma -d" | ||||||
| 	default BUSYBOX_DEFAULT_LZMA | 	default BUSYBOX_DEFAULT_LZMA | ||||||
| 	depends on BUSYBOX_CONFIG_UNLZMA |  | ||||||
| 	help | 	help | ||||||
| 	  Enable this option if you want commands like "lzma -d" to work. | 	  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. | 	  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 | config BUSYBOX_CONFIG_UNXZ | ||||||
| 	bool "unxz" | 	bool "unxz" | ||||||
| 	default BUSYBOX_DEFAULT_UNXZ | 	default BUSYBOX_DEFAULT_UNXZ | ||||||
| 	help | 	help | ||||||
| 	  unxz is a unlzma successor. | 	  unxz is a unlzma successor. | ||||||
|  |  | ||||||
|  | config BUSYBOX_CONFIG_XZCAT | ||||||
|  | 	bool "xzcat" | ||||||
|  | 	default BUSYBOX_DEFAULT_XZCAT | ||||||
|  | 	help | ||||||
|  | 	  Alias to "unxz -c". | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_XZ | config BUSYBOX_CONFIG_XZ | ||||||
| 	bool "Provide xz alias which supports only unpacking" | 	bool "xz -d" | ||||||
| 	default BUSYBOX_DEFAULT_XZ | 	default BUSYBOX_DEFAULT_XZ | ||||||
| 	depends on BUSYBOX_CONFIG_UNXZ |  | ||||||
| 	help | 	help | ||||||
| 	  Enable this option if you want commands like "xz -d" to work. | 	  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. | 	  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. | 	  cpio has 110 bytes of overheads for every stored file. | ||||||
|  |  | ||||||
| 	  This implementation of cpio can extract cpio archives created in the | 	  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 | 	  Unless you have a specific application which requires cpio, you | ||||||
| 	  should probably say N here. | 	  should probably say N here. | ||||||
| @@ -198,16 +226,6 @@ config BUSYBOX_CONFIG_DPKG_DEB | |||||||
|  |  | ||||||
| 	  Unless you have a specific application which requires dpkg-deb, | 	  Unless you have a specific application which requires dpkg-deb, | ||||||
| 	  say N here. | 	  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 | config BUSYBOX_CONFIG_GZIP | ||||||
| 	bool "gzip" | 	bool "gzip" | ||||||
| 	default BUSYBOX_DEFAULT_GZIP | 	default BUSYBOX_DEFAULT_GZIP | ||||||
| @@ -249,10 +267,22 @@ config BUSYBOX_CONFIG_LZOP | |||||||
| 	help | 	help | ||||||
| 	  Lzop compression/decompresion. | 	  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 | config BUSYBOX_CONFIG_LZOP_COMPR_HIGH | ||||||
| 	bool "lzop compression levels 7,8,9 (not very useful)" | 	bool "lzop compression levels 7,8,9 (not very useful)" | ||||||
| 	default BUSYBOX_DEFAULT_LZOP_COMPR_HIGH | 	default BUSYBOX_DEFAULT_LZOP_COMPR_HIGH | ||||||
| 	depends on BUSYBOX_CONFIG_LZOP | 	depends on BUSYBOX_CONFIG_LZOP || BUSYBOX_CONFIG_UNLZOP || BUSYBOX_CONFIG_LZOPCAT | ||||||
| 	help | 	help | ||||||
| 	  High levels (7,8,9) of lzop compression. These levels | 	  High levels (7,8,9) of lzop compression. These levels | ||||||
| 	  are actually slower than gzip at equivalent compression ratios | 	  are actually slower than gzip at equivalent compression ratios | ||||||
|   | |||||||
| @@ -6,7 +6,6 @@ | |||||||
|  |  | ||||||
| menu "Console Utilities" | menu "Console Utilities" | ||||||
|  |  | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_CHVT | config BUSYBOX_CONFIG_CHVT | ||||||
| 	bool "chvt" | 	bool "chvt" | ||||||
| 	default BUSYBOX_DEFAULT_CHVT | 	default BUSYBOX_DEFAULT_CHVT | ||||||
| @@ -14,27 +13,17 @@ config BUSYBOX_CONFIG_CHVT | |||||||
| 	help | 	help | ||||||
| 	  This program is used to change to another terminal. | 	  This program is used to change to another terminal. | ||||||
| 	  Example: chvt 4 (change to terminal /dev/tty4) | 	  Example: chvt 4 (change to terminal /dev/tty4) | ||||||
|  |  | ||||||
| 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 | config BUSYBOX_CONFIG_CLEAR | ||||||
| 	bool "clear" | 	bool "clear" | ||||||
| 	default BUSYBOX_DEFAULT_CLEAR | 	default BUSYBOX_DEFAULT_CLEAR | ||||||
| 	help | 	help | ||||||
| 	  This program clears the terminal screen. | 	  This program clears the terminal screen. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_DEALLOCVT | config BUSYBOX_CONFIG_DEALLOCVT | ||||||
| 	bool "deallocvt" | 	bool "deallocvt" | ||||||
| 	default BUSYBOX_DEFAULT_DEALLOCVT | 	default BUSYBOX_DEFAULT_DEALLOCVT | ||||||
| 	select BUSYBOX_CONFIG_PLATFORM_LINUX | 	select BUSYBOX_CONFIG_PLATFORM_LINUX | ||||||
| 	help | 	help | ||||||
| 	  This program deallocates unused virtual consoles. | 	  This program deallocates unused virtual consoles. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_DUMPKMAP | config BUSYBOX_CONFIG_DUMPKMAP | ||||||
| 	bool "dumpkmap" | 	bool "dumpkmap" | ||||||
| 	default BUSYBOX_DEFAULT_DUMPKMAP | 	default BUSYBOX_DEFAULT_DUMPKMAP | ||||||
| @@ -42,14 +31,18 @@ config BUSYBOX_CONFIG_DUMPKMAP | |||||||
| 	help | 	help | ||||||
| 	  This program dumps the kernel's keyboard translation table to | 	  This program dumps the kernel's keyboard translation table to | ||||||
| 	  stdout, in binary format. You can then use loadkmap to load it. | 	  stdout, in binary format. You can then use loadkmap to load it. | ||||||
|  | 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 | config BUSYBOX_CONFIG_KBD_MODE | ||||||
| 	bool "kbd_mode" | 	bool "kbd_mode" | ||||||
| 	default BUSYBOX_DEFAULT_KBD_MODE | 	default BUSYBOX_DEFAULT_KBD_MODE | ||||||
| 	select BUSYBOX_CONFIG_PLATFORM_LINUX | 	select BUSYBOX_CONFIG_PLATFORM_LINUX | ||||||
| 	help | 	help | ||||||
| 	  This program reports and sets keyboard mode. | 	  This program reports and sets keyboard mode. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_LOADFONT | config BUSYBOX_CONFIG_LOADFONT | ||||||
| 	bool "loadfont" | 	bool "loadfont" | ||||||
| 	default BUSYBOX_DEFAULT_LOADFONT | 	default BUSYBOX_DEFAULT_LOADFONT | ||||||
| @@ -57,61 +50,6 @@ config BUSYBOX_CONFIG_LOADFONT | |||||||
| 	help | 	help | ||||||
| 	  This program loads a console font from standard input. | 	  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 | config BUSYBOX_CONFIG_SETFONT | ||||||
| 	bool "setfont" | 	bool "setfont" | ||||||
| 	default BUSYBOX_DEFAULT_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 | 	  Directory to use if setfont's params are simple filenames | ||||||
| 	  (not /path/to/file or ./file). Default is "" (no default directory). | 	  (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" | comment "Common options for loadfont and setfont" | ||||||
| 	depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_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 | 	depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT | ||||||
| 	help | 	help | ||||||
| 	  Support old (raw) console fonts. | 	  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 | endmenu | ||||||
|   | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -194,28 +194,22 @@ config BUSYBOX_CONFIG_GREP | |||||||
| 	help | 	help | ||||||
| 	  grep is used to search files for a specified pattern. | 	  grep is used to search files for a specified pattern. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_FEATURE_GREP_EGREP_ALIAS | config BUSYBOX_CONFIG_EGREP | ||||||
| 	bool "Enable extended regular expressions (egrep & grep -E)" | 	bool "egrep" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_GREP_EGREP_ALIAS | 	default BUSYBOX_DEFAULT_EGREP | ||||||
| 	depends on BUSYBOX_CONFIG_GREP |  | ||||||
| 	help | 	help | ||||||
| 	  Enabled support for extended regular expressions. Extended | 	  Alias to "grep -E" | ||||||
| 	  regular expressions allow for alternation (foo|bar), grouping, |  | ||||||
| 	  and various repetition operators. |  | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_FEATURE_GREP_FGREP_ALIAS | config BUSYBOX_CONFIG_FGREP | ||||||
| 	bool "Alias fgrep to grep -F" | 	bool "fgrep" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_GREP_FGREP_ALIAS | 	default BUSYBOX_DEFAULT_FGREP | ||||||
| 	depends on BUSYBOX_CONFIG_GREP |  | ||||||
| 	help | 	help | ||||||
| 	  fgrep sees the search pattern as a normal string rather than | 	  Alias to "grep -F" | ||||||
| 	  regular expressions. |  | ||||||
| 	  grep -F always works, this just creates the fgrep alias. |  | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_FEATURE_GREP_CONTEXT | config BUSYBOX_CONFIG_FEATURE_GREP_CONTEXT | ||||||
| 	bool "Enable before and after context flags (-A, -B and -C)" | 	bool "Enable before and after context flags (-A, -B and -C)" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_GREP_CONTEXT | 	default BUSYBOX_DEFAULT_FEATURE_GREP_CONTEXT | ||||||
| 	depends on BUSYBOX_CONFIG_GREP | 	depends on BUSYBOX_CONFIG_GREP || BUSYBOX_CONFIG_EGREP | ||||||
| 	help | 	help | ||||||
| 	  Print the specified number of leading (-B) and/or trailing (-A) | 	  Print the specified number of leading (-B) and/or trailing (-A) | ||||||
| 	  context surrounding our matching lines. | 	  context surrounding our matching lines. | ||||||
|   | |||||||
| @@ -45,15 +45,27 @@ config BUSYBOX_CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE | |||||||
| 	  Enable reading and parsing of $PWD/bootchartd.conf | 	  Enable reading and parsing of $PWD/bootchartd.conf | ||||||
| 	  and /etc/bootchartd.conf files. | 	  and /etc/bootchartd.conf files. | ||||||
| config BUSYBOX_CONFIG_HALT | config BUSYBOX_CONFIG_HALT | ||||||
| 	bool "poweroff, halt, and reboot" | 	bool "halt" | ||||||
| 	default BUSYBOX_DEFAULT_HALT | 	default BUSYBOX_DEFAULT_HALT | ||||||
| 	help | 	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 | config BUSYBOX_CONFIG_FEATURE_CALL_TELINIT | ||||||
| 	bool "Call telinit on shutdown and reboot" | 	bool "Call telinit on shutdown and reboot" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_CALL_TELINIT | 	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 | 	help | ||||||
| 	  Call an external program (normally telinit) to facilitate | 	  Call an external program (normally telinit) to facilitate | ||||||
| 	  a switch to a proper runlevel. | 	  a switch to a proper runlevel. | ||||||
| @@ -143,7 +155,7 @@ config BUSYBOX_CONFIG_FEATURE_EXTRA_QUIET | |||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS | config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS | ||||||
| 	bool "Support dumping core for child processes (debugging only)" | 	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 | 	depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC | ||||||
| 	help | 	help | ||||||
| 	  If this option is enabled and the file /.init_enable_core | 	  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 | 	  Support RTMIN[+n] and RTMAX[-n] signal names | ||||||
| 	  in kill, killall etc. This costs ~250 bytes. | 	  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 | config BUSYBOX_CONFIG_PASSWORD_MINLEN | ||||||
| 	int "Minimum password length" | 	int "Minimum password length" | ||||||
| 	default BUSYBOX_DEFAULT_PASSWORD_MINLEN | 	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), | 	  correctly, or want to save on code size (about 400 bytes), | ||||||
| 	  then do not turn this option on. | 	  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 | config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP | ||||||
| 	bool "Non-POSIX, but safer, copying to special nodes" | 	bool "Non-POSIX, but safer, copying to special nodes" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP | 	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 | 	    cp: cannot stat '/vmlinuz/file': Not a directory | ||||||
| 	  This will cost you ~60 bytes. | 	  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 | config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB | ||||||
| 	int "Copy buffer size, in kilobytes" | 	int "Copy buffer size, in kilobytes" | ||||||
| 	range 1 1024 | 	range 1 1024 | ||||||
|   | |||||||
| @@ -1,20 +1,11 @@ | |||||||
| # DO NOT EDIT. This file is generated from Config.src | # DO NOT EDIT. This file is generated from Config.src | ||||||
| menu "Mail Utilities" | menu "Mail Utilities" | ||||||
|  |  | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_MAKEMIME | config BUSYBOX_CONFIG_MAKEMIME | ||||||
| 	bool "makemime" | 	bool "makemime" | ||||||
| 	default BUSYBOX_DEFAULT_MAKEMIME | 	default BUSYBOX_DEFAULT_MAKEMIME | ||||||
| 	help | 	help | ||||||
| 	  Create MIME-formatted messages. | 	  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 | config BUSYBOX_CONFIG_POPMAILDIR | ||||||
| 	bool "popmaildir" | 	bool "popmaildir" | ||||||
| 	default BUSYBOX_DEFAULT_POPMAILDIR | 	default BUSYBOX_DEFAULT_POPMAILDIR | ||||||
| @@ -31,7 +22,6 @@ config BUSYBOX_CONFIG_FEATURE_POPMAILDIR_DELIVERY | |||||||
| 	  of the message before actual delivery (-F "prog [args...]"). | 	  of the message before actual delivery (-F "prog [args...]"). | ||||||
| 	  Allow to use a custom program for message actual delivery | 	  Allow to use a custom program for message actual delivery | ||||||
| 	  (-M "prog [args...]"). | 	  (-M "prog [args...]"). | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_REFORMIME | config BUSYBOX_CONFIG_REFORMIME | ||||||
| 	bool "reformime" | 	bool "reformime" | ||||||
| 	default BUSYBOX_DEFAULT_REFORMIME | 	default BUSYBOX_DEFAULT_REFORMIME | ||||||
| @@ -45,11 +35,17 @@ config BUSYBOX_CONFIG_FEATURE_REFORMIME_COMPAT | |||||||
| 	help | 	help | ||||||
| 	  Accept (for compatibility only) and ignore options | 	  Accept (for compatibility only) and ignore options | ||||||
| 	  other than -x and -X. | 	  other than -x and -X. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_SENDMAIL | config BUSYBOX_CONFIG_SENDMAIL | ||||||
| 	bool "sendmail" | 	bool "sendmail" | ||||||
| 	default BUSYBOX_DEFAULT_SENDMAIL | 	default BUSYBOX_DEFAULT_SENDMAIL | ||||||
| 	help | 	help | ||||||
| 	  Barebones sendmail. | 	  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 | endmenu | ||||||
|   | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -6,13 +6,6 @@ | |||||||
|  |  | ||||||
| menu "Linux Module Utilities" | 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 | config BUSYBOX_CONFIG_MODPROBE_SMALL | ||||||
| 	bool "Simplified modutils" | 	bool "Simplified modutils" | ||||||
| 	default BUSYBOX_DEFAULT_MODPROBE_SMALL | 	default BUSYBOX_DEFAULT_MODPROBE_SMALL | ||||||
| @@ -44,6 +37,42 @@ config BUSYBOX_CONFIG_MODPROBE_SMALL | |||||||
| 	  - rmmod is an alias to modprobe -r | 	  - rmmod is an alias to modprobe -r | ||||||
| 	  - depmod generates modules.dep.bb | 	  - 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 | config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE | ||||||
| 	bool "Accept module options on modprobe command line" | 	bool "Accept module options on modprobe command line" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE | 	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 | 	depends on BUSYBOX_CONFIG_MODPROBE_SMALL | ||||||
| 	help | 	help | ||||||
| 	  Check if the module is already loaded. | 	  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 | config BUSYBOX_CONFIG_MODPROBE | ||||||
| 	bool "modprobe" | 	bool "modprobe" | ||||||
| 	default BUSYBOX_DEFAULT_MODPROBE | 	default BUSYBOX_DEFAULT_MODPROBE | ||||||
| 	depends on !BUSYBOX_CONFIG_MODPROBE_SMALL |  | ||||||
| 	select BUSYBOX_CONFIG_PLATFORM_LINUX | 	select BUSYBOX_CONFIG_PLATFORM_LINUX | ||||||
| 	help | 	help | ||||||
| 	  Handle the loading of modules, and their dependencies on a high | 	  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 | config BUSYBOX_CONFIG_FEATURE_MODPROBE_BLACKLIST | ||||||
| 	bool "Blacklist support" | 	bool "Blacklist support" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_MODPROBE_BLACKLIST | 	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 | 	select BUSYBOX_CONFIG_PLATFORM_LINUX | ||||||
| 	help | 	help | ||||||
| 	  Say 'y' here to enable support for the 'blacklist' command in | 	  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 | 	  blacklisted modules. This is useful if you want to prevent your | ||||||
| 	  hardware autodetection scripts to load modules like evdev, frame | 	  hardware autodetection scripts to load modules like evdev, frame | ||||||
| 	  buffer drivers etc. | 	  buffer drivers etc. | ||||||
|  | config BUSYBOX_CONFIG_RMMOD | ||||||
| config BUSYBOX_CONFIG_DEPMOD | 	bool "rmmod" | ||||||
| 	bool "depmod" | 	default BUSYBOX_DEFAULT_RMMOD | ||||||
| 	default BUSYBOX_DEFAULT_DEPMOD |  | ||||||
| 	depends on !BUSYBOX_CONFIG_MODPROBE_SMALL |  | ||||||
| 	select BUSYBOX_CONFIG_PLATFORM_LINUX | 	select BUSYBOX_CONFIG_PLATFORM_LINUX | ||||||
| 	help | 	help | ||||||
| 	  depmod generates modules.dep (and potentially modules.alias | 	  rmmod is used to unload specified modules from the kernel. | ||||||
| 	  and modules.symbols) that contain dependency information |  | ||||||
| 	  for modprobe. |  | ||||||
|  |  | ||||||
| comment "Options common to multiple modutils" | comment "Options common to multiple modutils" | ||||||
|  |  | ||||||
|   | |||||||
| @@ -6,183 +6,6 @@ | |||||||
|  |  | ||||||
| menu "Networking Utilities" | 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 | config BUSYBOX_CONFIG_FEATURE_IPV6 | ||||||
| 	bool "Enable IPv6 support" | 	bool "Enable IPv6 support" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_IPV6 | 	default BUSYBOX_DEFAULT_FEATURE_IPV6 | ||||||
| @@ -230,7 +53,6 @@ config BUSYBOX_CONFIG_ARP | |||||||
| 	select BUSYBOX_CONFIG_PLATFORM_LINUX | 	select BUSYBOX_CONFIG_PLATFORM_LINUX | ||||||
| 	help | 	help | ||||||
| 	  Manipulate the system ARP cache. | 	  Manipulate the system ARP cache. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_ARPING | config BUSYBOX_CONFIG_ARPING | ||||||
| 	bool "arping" | 	bool "arping" | ||||||
| 	default BUSYBOX_DEFAULT_ARPING | 	default BUSYBOX_DEFAULT_ARPING | ||||||
| @@ -264,37 +86,26 @@ config BUSYBOX_CONFIG_FEATURE_BRCTL_SHOW | |||||||
| 	help | 	help | ||||||
| 	  Add support for option which prints the current config: | 	  Add support for option which prints the current config: | ||||||
| 	    show | 	    show | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_DNSD | config BUSYBOX_CONFIG_DNSD | ||||||
| 	bool "dnsd" | 	bool "dnsd" | ||||||
| 	default BUSYBOX_DEFAULT_DNSD | 	default BUSYBOX_DEFAULT_DNSD | ||||||
| 	help | 	help | ||||||
| 	  Small and static DNS server daemon. | 	  Small and static DNS server daemon. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_ETHER_WAKE | config BUSYBOX_CONFIG_ETHER_WAKE | ||||||
| 	bool "ether-wake" | 	bool "ether-wake" | ||||||
| 	default BUSYBOX_DEFAULT_ETHER_WAKE | 	default BUSYBOX_DEFAULT_ETHER_WAKE | ||||||
| 	select BUSYBOX_CONFIG_PLATFORM_LINUX | 	select BUSYBOX_CONFIG_PLATFORM_LINUX | ||||||
| 	help | 	help | ||||||
| 	  Send a magic packet to wake up sleeping machines. | 	  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 | config BUSYBOX_CONFIG_FTPD | ||||||
| 	bool "ftpd" | 	bool "ftpd" | ||||||
| 	default BUSYBOX_DEFAULT_FTPD | 	default BUSYBOX_DEFAULT_FTPD | ||||||
| 	help | 	help | ||||||
| 	  simple FTP daemon. You have to run it via inetd. | 	  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" | 	bool "Enable upload commands" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_FTP_WRITE | 	default BUSYBOX_DEFAULT_FEATURE_FTPD_WRITE | ||||||
| 	depends on BUSYBOX_CONFIG_FTPD | 	depends on BUSYBOX_CONFIG_FTPD | ||||||
| 	help | 	help | ||||||
| 	  Enable all kinds of FTP upload commands (-w option) | 	  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. | 	  it increases the code size by ~40 bytes. | ||||||
| 	  Most other ftp servers seem to behave similar to this. | 	  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" | 	bool "Enable authentication" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_FTP_AUTHENTICATION | 	default BUSYBOX_DEFAULT_FEATURE_FTPD_AUTHENTICATION | ||||||
| 	depends on BUSYBOX_CONFIG_FTPD | 	depends on BUSYBOX_CONFIG_FTPD | ||||||
| 	help | 	help | ||||||
| 	  Enable basic system login as seen in telnet etc. | 	  Enable basic system login as seen in telnet etc. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_FTPGET | config BUSYBOX_CONFIG_FTPGET | ||||||
| 	bool "ftpget" | 	bool "ftpget" | ||||||
| 	default BUSYBOX_DEFAULT_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) | 	depends on BUSYBOX_CONFIG_LONG_OPTS && (BUSYBOX_CONFIG_FTPGET || BUSYBOX_CONFIG_FTPPUT) | ||||||
| 	help | 	help | ||||||
| 	  Support long options for the ftpget/ftpput applet. | 	  Support long options for the ftpget/ftpput applet. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_HOSTNAME | config BUSYBOX_CONFIG_HOSTNAME | ||||||
| 	bool "hostname" | 	bool "hostname" | ||||||
| 	default BUSYBOX_DEFAULT_HOSTNAME | 	default BUSYBOX_DEFAULT_HOSTNAME | ||||||
| 	help | 	help | ||||||
| 	  Show or set the system's host name. | 	  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 | config BUSYBOX_CONFIG_HTTPD | ||||||
| 	bool "httpd" | 	bool "httpd" | ||||||
| 	default BUSYBOX_DEFAULT_HTTPD | 	default BUSYBOX_DEFAULT_HTTPD | ||||||
| @@ -460,7 +274,6 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_GZIP | |||||||
| 	help | 	help | ||||||
| 	  Makes httpd send files using GZIP content encoding if the | 	  Makes httpd send files using GZIP content encoding if the | ||||||
| 	  client supports it and a pre-compressed <file>.gz exists. | 	  client supports it and a pre-compressed <file>.gz exists. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_IFCONFIG | config BUSYBOX_CONFIG_IFCONFIG | ||||||
| 	bool "ifconfig" | 	bool "ifconfig" | ||||||
| 	default BUSYBOX_DEFAULT_IFCONFIG | 	default BUSYBOX_DEFAULT_IFCONFIG | ||||||
| @@ -508,7 +321,6 @@ config BUSYBOX_CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS | |||||||
| 	help | 	help | ||||||
| 	  Setting this will make ifconfig attempt to find the broadcast | 	  Setting this will make ifconfig attempt to find the broadcast | ||||||
| 	  automatically if the value '+' is used. | 	  automatically if the value '+' is used. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_IFENSLAVE | config BUSYBOX_CONFIG_IFENSLAVE | ||||||
| 	bool "ifenslave" | 	bool "ifenslave" | ||||||
| 	default BUSYBOX_DEFAULT_IFENSLAVE | 	default BUSYBOX_DEFAULT_IFENSLAVE | ||||||
| @@ -516,20 +328,18 @@ config BUSYBOX_CONFIG_IFENSLAVE | |||||||
| 	help | 	help | ||||||
| 	  Userspace application to bind several interfaces | 	  Userspace application to bind several interfaces | ||||||
| 	  to a logical interface (use with kernel bonding driver). | 	  to a logical interface (use with kernel bonding driver). | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_IFPLUGD | config BUSYBOX_CONFIG_IFPLUGD | ||||||
| 	bool "ifplugd" | 	bool "ifplugd" | ||||||
| 	default BUSYBOX_DEFAULT_IFPLUGD | 	default BUSYBOX_DEFAULT_IFPLUGD | ||||||
| 	select BUSYBOX_CONFIG_PLATFORM_LINUX | 	select BUSYBOX_CONFIG_PLATFORM_LINUX | ||||||
| 	help | 	help | ||||||
| 	  Network interface plug detection daemon. | 	  Network interface plug detection daemon. | ||||||
|  | config BUSYBOX_CONFIG_IFUP | ||||||
| config BUSYBOX_CONFIG_IFUPDOWN | 	bool "ifup" | ||||||
| 	bool "ifupdown" | 	default BUSYBOX_DEFAULT_IFUP | ||||||
| 	default BUSYBOX_DEFAULT_IFUPDOWN |  | ||||||
| 	help | 	help | ||||||
| 	  Activate or deactivate the specified interfaces. This applet makes | 	  Activate the specified interfaces. This applet makes use | ||||||
| 	  use of either "ifconfig" and "route" or the "ip" command to actually | 	  of either "ifconfig" and "route" or the "ip" command to actually | ||||||
| 	  configure network interfaces. Therefore, you will probably also want | 	  configure network interfaces. Therefore, you will probably also want | ||||||
| 	  to enable either IFCONFIG and ROUTE, or enable | 	  to enable either IFCONFIG and ROUTE, or enable | ||||||
| 	  FEATURE_IFUPDOWN_IP and the various IP options. Of | 	  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 | 	  "ifconfig", "route" and "run-parts" or the "ip" command, either | ||||||
| 	  via busybox or via standalone utilities. | 	  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 | config BUSYBOX_CONFIG_IFUPDOWN_IFSTATE_PATH | ||||||
| 	string "Absolute path to ifstate file" | 	string "Absolute path to ifstate file" | ||||||
| 	default BUSYBOX_DEFAULT_IFUPDOWN_IFSTATE_PATH | 	default BUSYBOX_DEFAULT_IFUPDOWN_IFSTATE_PATH | ||||||
| 	depends on BUSYBOX_CONFIG_IFUPDOWN | 	depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN | ||||||
| 	help | 	help | ||||||
| 	  ifupdown keeps state information in a file called ifstate. | 	  ifupdown keeps state information in a file called ifstate. | ||||||
| 	  Typically it is located in /var/run/ifstate, however | 	  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. | 	  This config option defines location of ifstate. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP | 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 | 	default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IP | ||||||
| 	depends on BUSYBOX_CONFIG_IFUPDOWN | 	depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN | ||||||
| 	help | 	help | ||||||
| 	  Use the iproute "ip" command to implement "ifup" and "ifdown", rather | 	  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 | 	  If Y: you must install either the full-blown iproute2 package | ||||||
| 	bool "Use busybox ip applet" | 	  or enable "ip" applet in Busybox, or the "ifup" and "ifdown" applets | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IP_BUILTIN | 	  will not work. | ||||||
| 	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 left disabled, you must install the full-blown iproute2 | 	  If N: you must install either the full-blown ifconfig and route | ||||||
| 	  utility or the  "ifup" and "ifdown" applets will not work. | 	  utilities, or enable these applets in Busybox. | ||||||
|  |  | ||||||
| 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. |  | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV4 | config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV4 | ||||||
| 	bool "Support for IPv4" | 	bool "Support for IPv4" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IPV4 | 	default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IPV4 | ||||||
| 	depends on BUSYBOX_CONFIG_IFUPDOWN | 	depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN | ||||||
| 	help | 	help | ||||||
| 	  If you want ifup/ifdown to talk IPv4, leave this on. | 	  If you want ifup/ifdown to talk IPv4, leave this on. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV6 | config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV6 | ||||||
| 	bool "Support for IPv6" | 	bool "Support for IPv6" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_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 | 	help | ||||||
| 	  If you need support for IPv6, turn this option on. | 	  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 | config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_MAPPING | ||||||
| 	bool "Enable mapping support" | 	bool "Enable mapping support" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_MAPPING | 	default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_MAPPING | ||||||
| 	depends on BUSYBOX_CONFIG_IFUPDOWN | 	depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN | ||||||
| 	help | 	help | ||||||
| 	  This enables support for the "mapping" stanza, unless you have | 	  This enables support for the "mapping" stanza, unless you have | ||||||
| 	  a weird network setup you don't need it. | 	  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 | config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP | ||||||
| 	bool "Support for external dhcp clients" | 	bool "Support for external dhcp clients" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_EXTERNAL_DHCP | 	default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_EXTERNAL_DHCP | ||||||
| 	depends on BUSYBOX_CONFIG_IFUPDOWN | 	depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN | ||||||
| 	help | 	help | ||||||
| 	  This enables support for the external dhcp clients. Clients are | 	  This enables support for the external dhcp clients. Clients are | ||||||
| 	  tried in the following order: dhcpcd, dhclient, pump and udhcpc. | 	  tried in the following order: dhcpcd, dhclient, pump and udhcpc. | ||||||
| 	  Otherwise, if udhcpc applet is enabled, it is used. | 	  Otherwise, if udhcpc applet is enabled, it is used. | ||||||
| 	  Otherwise, ifup/ifdown will have no support for DHCP. | 	  Otherwise, ifup/ifdown will have no support for DHCP. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_INETD | config BUSYBOX_CONFIG_INETD | ||||||
| 	bool "inetd" | 	bool "inetd" | ||||||
| 	default BUSYBOX_DEFAULT_INETD | 	default BUSYBOX_DEFAULT_INETD | ||||||
| @@ -678,7 +463,6 @@ config BUSYBOX_CONFIG_FEATURE_INETD_RPC | |||||||
| 	select BUSYBOX_CONFIG_FEATURE_HAVE_RPC | 	select BUSYBOX_CONFIG_FEATURE_HAVE_RPC | ||||||
| 	help | 	help | ||||||
| 	  Support Sun-RPC based services | 	  Support Sun-RPC based services | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_IP | config BUSYBOX_CONFIG_IP | ||||||
| 	bool "ip" | 	bool "ip" | ||||||
| 	default BUSYBOX_DEFAULT_IP | 	default BUSYBOX_DEFAULT_IP | ||||||
| @@ -688,24 +472,72 @@ config BUSYBOX_CONFIG_IP | |||||||
| 	  utility. You generally don't need "ip" to use busybox with | 	  utility. You generally don't need "ip" to use busybox with | ||||||
| 	  TCP/IP. | 	  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 | config BUSYBOX_CONFIG_FEATURE_IP_ADDRESS | ||||||
| 	bool "ip address" | 	bool "ip address" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_IP_ADDRESS | 	default BUSYBOX_DEFAULT_FEATURE_IP_ADDRESS | ||||||
| 	depends on BUSYBOX_CONFIG_IP | 	depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPADDR | ||||||
| 	help | 	help | ||||||
| 	  Address manipulation support for the "ip" applet. | 	  Address manipulation support for the "ip" applet. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_FEATURE_IP_LINK | config BUSYBOX_CONFIG_FEATURE_IP_LINK | ||||||
| 	bool "ip link" | 	bool "ip link" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_IP_LINK | 	default BUSYBOX_DEFAULT_FEATURE_IP_LINK | ||||||
| 	depends on BUSYBOX_CONFIG_IP | 	depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPLINK | ||||||
| 	help | 	help | ||||||
| 	  Configure network devices with "ip". | 	  Configure network devices with "ip". | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_FEATURE_IP_ROUTE | config BUSYBOX_CONFIG_FEATURE_IP_ROUTE | ||||||
| 	bool "ip route" | 	bool "ip route" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_IP_ROUTE | 	default BUSYBOX_DEFAULT_FEATURE_IP_ROUTE | ||||||
| 	depends on BUSYBOX_CONFIG_IP | 	depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPROUTE | ||||||
| 	help | 	help | ||||||
| 	  Add support for routing table management to "ip". | 	  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 | config BUSYBOX_CONFIG_FEATURE_IP_TUNNEL | ||||||
| 	bool "ip tunnel" | 	bool "ip tunnel" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_IP_TUNNEL | 	default BUSYBOX_DEFAULT_FEATURE_IP_TUNNEL | ||||||
| 	depends on BUSYBOX_CONFIG_IP | 	depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPTUNNEL | ||||||
| 	help | 	help | ||||||
| 	  Add support for tunneling commands to "ip". | 	  Add support for tunneling commands to "ip". | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_FEATURE_IP_RULE | config BUSYBOX_CONFIG_FEATURE_IP_RULE | ||||||
| 	bool "ip rule" | 	bool "ip rule" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_IP_RULE | 	default BUSYBOX_DEFAULT_FEATURE_IP_RULE | ||||||
| 	depends on BUSYBOX_CONFIG_IP | 	depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPRULE | ||||||
| 	help | 	help | ||||||
| 	  Add support for rule commands to "ip". | 	  Add support for rule commands to "ip". | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_FEATURE_IP_NEIGH | config BUSYBOX_CONFIG_FEATURE_IP_NEIGH | ||||||
| 	bool "ip neighbor" | 	bool "ip neighbor" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_IP_NEIGH | 	default BUSYBOX_DEFAULT_FEATURE_IP_NEIGH | ||||||
| 	depends on BUSYBOX_CONFIG_IP | 	depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPNEIGH | ||||||
| 	help | 	help | ||||||
| 	  Add support for neighbor commands to "ip". | 	  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 | config BUSYBOX_CONFIG_FEATURE_IP_RARE_PROTOCOLS | ||||||
| 	bool "Support displaying rarely used link types" | 	bool "Support displaying rarely used link types" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_IP_RARE_PROTOCOLS | 	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 | 	help | ||||||
| 	  If you are not going to use links of type "frad", "econet", | 	  If you are not going to use links of type "frad", "econet", | ||||||
| 	  "bif" etc, you probably don't need to enable this. | 	  "bif" etc, you probably don't need to enable this. | ||||||
| 	  Ethernet, wireless, infrared, ppp/slip, ip tunnelling | 	  Ethernet, wireless, infrared, ppp/slip, ip tunnelling | ||||||
| 	  link types are supported without this option selected. | 	  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 | config BUSYBOX_CONFIG_IPCALC | ||||||
| 	bool "ipcalc" | 	bool "ipcalc" | ||||||
| 	default BUSYBOX_DEFAULT_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 | 	depends on BUSYBOX_CONFIG_IPCALC && BUSYBOX_CONFIG_LONG_OPTS | ||||||
| 	help | 	help | ||||||
| 	  Support long options for the ipcalc applet. | 	  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 | config BUSYBOX_CONFIG_NETMSG | ||||||
| 	bool "netmsg" | 	bool "netmsg" | ||||||
| 	default BUSYBOX_DEFAULT_NETMSG | 	default BUSYBOX_DEFAULT_NETMSG | ||||||
| 	help | 	help | ||||||
| 	  simple program for sending udp broadcast messages | 	  simple program for sending udp broadcast messages | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_NETSTAT | config BUSYBOX_CONFIG_NETSTAT | ||||||
| 	bool "netstat" | 	bool "netstat" | ||||||
| 	default BUSYBOX_DEFAULT_NETSTAT | 	default BUSYBOX_DEFAULT_NETSTAT | ||||||
| @@ -843,13 +699,11 @@ config BUSYBOX_CONFIG_FEATURE_NETSTAT_PRG | |||||||
| 	help | 	help | ||||||
| 	  Add support for -p flag to print out PID and program name. | 	  Add support for -p flag to print out PID and program name. | ||||||
| 	  +700 bytes of code. | 	  +700 bytes of code. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_NSLOOKUP | config BUSYBOX_CONFIG_NSLOOKUP | ||||||
| 	bool "nslookup" | 	bool "nslookup" | ||||||
| 	default BUSYBOX_DEFAULT_NSLOOKUP | 	default BUSYBOX_DEFAULT_NSLOOKUP | ||||||
| 	help | 	help | ||||||
| 	  nslookup is a tool to query Internet name servers. | 	  nslookup is a tool to query Internet name servers. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_NTPD | config BUSYBOX_CONFIG_NTPD | ||||||
| 	bool "ntpd" | 	bool "ntpd" | ||||||
| 	default BUSYBOX_DEFAULT_NTPD | 	default BUSYBOX_DEFAULT_NTPD | ||||||
| @@ -872,20 +726,39 @@ config BUSYBOX_CONFIG_FEATURE_NTPD_CONF | |||||||
| 	help | 	help | ||||||
| 	  Make ntpd look in /etc/ntp.conf for peers. Only "server address" | 	  Make ntpd look in /etc/ntp.conf for peers. Only "server address" | ||||||
| 	  is supported. | 	  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 | config BUSYBOX_CONFIG_PSCAN | ||||||
| 	bool "pscan" | 	bool "pscan" | ||||||
| 	default BUSYBOX_DEFAULT_PSCAN | 	default BUSYBOX_DEFAULT_PSCAN | ||||||
| 	help | 	help | ||||||
| 	  Simple network port scanner. | 	  Simple network port scanner. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_ROUTE | config BUSYBOX_CONFIG_ROUTE | ||||||
| 	bool "route" | 	bool "route" | ||||||
| 	default BUSYBOX_DEFAULT_ROUTE | 	default BUSYBOX_DEFAULT_ROUTE | ||||||
| 	select BUSYBOX_CONFIG_PLATFORM_LINUX | 	select BUSYBOX_CONFIG_PLATFORM_LINUX | ||||||
| 	help | 	help | ||||||
| 	  Route displays or manipulates the kernel's IP routing tables. | 	  Route displays or manipulates the kernel's IP routing tables. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_SLATTACH | config BUSYBOX_CONFIG_SLATTACH | ||||||
| 	bool "slattach" | 	bool "slattach" | ||||||
| 	default BUSYBOX_DEFAULT_SLATTACH | 	default BUSYBOX_DEFAULT_SLATTACH | ||||||
| @@ -893,17 +766,6 @@ config BUSYBOX_CONFIG_SLATTACH | |||||||
| 	help | 	help | ||||||
| 	  slattach is a small utility to attach network interfaces to serial | 	  slattach is a small utility to attach network interfaces to serial | ||||||
| 	  lines. | 	  lines. | ||||||
|  |  | ||||||
| #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 | config BUSYBOX_CONFIG_TCPSVD | ||||||
| 	bool "tcpsvd" | 	bool "tcpsvd" | ||||||
| 	default BUSYBOX_DEFAULT_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 | 	  tcpsvd listens on a TCP port and runs a program for each new | ||||||
| 	  connection. | 	  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 | config BUSYBOX_CONFIG_TELNET | ||||||
| 	bool "telnet" | 	bool "telnet" | ||||||
| 	default BUSYBOX_DEFAULT_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 | 	  remote host you are connecting to. This is useful when you need to | ||||||
| 	  log into a machine without telling the username (autologin). This | 	  log into a machine without telling the username (autologin). This | ||||||
| 	  option enables `-a' and `-l USER' arguments. | 	  option enables `-a' and `-l USER' arguments. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_TELNETD | config BUSYBOX_CONFIG_TELNETD | ||||||
| 	bool "telnetd" | 	bool "telnetd" | ||||||
| 	default BUSYBOX_DEFAULT_TELNETD | 	default BUSYBOX_DEFAULT_TELNETD | ||||||
| @@ -978,7 +845,6 @@ config BUSYBOX_CONFIG_TELNETD | |||||||
|  |  | ||||||
| 	  with all that done, telnetd _should_ work.... | 	  with all that done, telnetd _should_ work.... | ||||||
|  |  | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE | config BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE | ||||||
| 	bool "Support standalone telnetd (not inetd only)" | 	bool "Support standalone telnetd (not inetd only)" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_TELNETD_STANDALONE | 	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 | 	  This option is rarely used. "tcp nowait" is much more usual | ||||||
| 	  way of running tcp services, including telnetd. | 	  way of running tcp services, including telnetd. | ||||||
| 	  You most probably want to say N here. | 	  You most probably want to say N here. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_TFTP | config BUSYBOX_CONFIG_TFTP | ||||||
| 	bool "tftp" | 	bool "tftp" | ||||||
| 	default BUSYBOX_DEFAULT_TFTP | 	default BUSYBOX_DEFAULT_TFTP | ||||||
| @@ -1071,7 +936,6 @@ config BUSYBOX_CONFIG_TFTP_DEBUG | |||||||
| 	help | 	help | ||||||
| 	  Make tftp[d] print debugging messages on stderr. | 	  Make tftp[d] print debugging messages on stderr. | ||||||
| 	  This is useful if you are diagnosing a bug in tftp[d]. | 	  This is useful if you are diagnosing a bug in tftp[d]. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_TRACEROUTE | config BUSYBOX_CONFIG_TRACEROUTE | ||||||
| 	bool "traceroute" | 	bool "traceroute" | ||||||
| 	default BUSYBOX_DEFAULT_TRACEROUTE | 	default BUSYBOX_DEFAULT_TRACEROUTE | ||||||
| @@ -1082,33 +946,24 @@ config BUSYBOX_CONFIG_TRACEROUTE | |||||||
| config BUSYBOX_CONFIG_TRACEROUTE6 | config BUSYBOX_CONFIG_TRACEROUTE6 | ||||||
| 	bool "traceroute6" | 	bool "traceroute6" | ||||||
| 	default BUSYBOX_DEFAULT_TRACEROUTE6 | 	default BUSYBOX_DEFAULT_TRACEROUTE6 | ||||||
| 	depends on BUSYBOX_CONFIG_FEATURE_IPV6 && BUSYBOX_CONFIG_TRACEROUTE | 	depends on BUSYBOX_CONFIG_FEATURE_IPV6 | ||||||
| 	help | 	help | ||||||
| 	  Utility to trace the route of IPv6 packets. | 	  Utility to trace the route of IPv6 packets. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_VERBOSE | config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_VERBOSE | ||||||
| 	bool "Enable verbose output" | 	bool "Enable verbose output" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_TRACEROUTE_VERBOSE | 	default BUSYBOX_DEFAULT_FEATURE_TRACEROUTE_VERBOSE | ||||||
| 	depends on BUSYBOX_CONFIG_TRACEROUTE | 	depends on BUSYBOX_CONFIG_TRACEROUTE || BUSYBOX_CONFIG_TRACEROUTE6 | ||||||
| 	help | 	help | ||||||
| 	  Add some verbosity to traceroute. This includes among other things | 	  Add some verbosity to traceroute. This includes among other things | ||||||
| 	  hostnames and ICMP response types. | 	  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 | 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 | 	default BUSYBOX_DEFAULT_FEATURE_TRACEROUTE_USE_ICMP | ||||||
| 	depends on BUSYBOX_CONFIG_TRACEROUTE | 	depends on BUSYBOX_CONFIG_TRACEROUTE || BUSYBOX_CONFIG_TRACEROUTE6 | ||||||
| 	help | 	help | ||||||
| 	  Add option -I to use ICMP ECHO instead of UDP datagrams. | 	  Add option -I to use ICMP ECHO instead of UDP datagrams. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_TUNCTL | config BUSYBOX_CONFIG_TUNCTL | ||||||
| 	bool "tunctl" | 	bool "tunctl" | ||||||
| 	default BUSYBOX_DEFAULT_TUNCTL | 	default BUSYBOX_DEFAULT_TUNCTL | ||||||
| @@ -1123,32 +978,101 @@ config BUSYBOX_CONFIG_FEATURE_TUNCTL_UG | |||||||
| 	help | 	help | ||||||
| 	  Allow to specify owner and group of newly created interface. | 	  Allow to specify owner and group of newly created interface. | ||||||
| 	  340 bytes of pure bloat. Say no here. | 	  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 | config BUSYBOX_CONFIG_VCONFIG | ||||||
| 	bool "vconfig" | 	bool "vconfig" | ||||||
| 	default BUSYBOX_DEFAULT_VCONFIG | 	default BUSYBOX_DEFAULT_VCONFIG | ||||||
| 	select BUSYBOX_CONFIG_PLATFORM_LINUX | 	select BUSYBOX_CONFIG_PLATFORM_LINUX | ||||||
| 	help | 	help | ||||||
| 	  Creates, removes, and configures VLAN interfaces | 	  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 | config BUSYBOX_CONFIG_ZCIP | ||||||
| 	bool "zcip" | 	bool "zcip" | ||||||
| 	default BUSYBOX_DEFAULT_ZCIP | 	default BUSYBOX_DEFAULT_ZCIP | ||||||
| @@ -1162,4 +1086,15 @@ config BUSYBOX_CONFIG_ZCIP | |||||||
| 	  See http://www.zeroconf.org for further details, and "zcip.script" | 	  See http://www.zeroconf.org for further details, and "zcip.script" | ||||||
| 	  in the busybox examples. | 	  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 | endmenu | ||||||
|   | |||||||
| @@ -22,7 +22,6 @@ config BUSYBOX_CONFIG_UDHCPD | |||||||
| config BUSYBOX_CONFIG_DHCPRELAY | config BUSYBOX_CONFIG_DHCPRELAY | ||||||
| 	bool "dhcprelay" | 	bool "dhcprelay" | ||||||
| 	default BUSYBOX_DEFAULT_DHCPRELAY | 	default BUSYBOX_DEFAULT_DHCPRELAY | ||||||
| 	depends on BUSYBOX_CONFIG_UDHCPD |  | ||||||
| 	help | 	help | ||||||
| 	  dhcprelay listens for dhcp requests on one or more interfaces | 	  dhcprelay listens for dhcp requests on one or more interfaces | ||||||
| 	  and forwards these requests to a different interface or dhcp | 	  and forwards these requests to a different interface or dhcp | ||||||
| @@ -31,7 +30,6 @@ config BUSYBOX_CONFIG_DHCPRELAY | |||||||
| config BUSYBOX_CONFIG_DUMPLEASES | config BUSYBOX_CONFIG_DUMPLEASES | ||||||
| 	bool "Lease display utility (dumpleases)" | 	bool "Lease display utility (dumpleases)" | ||||||
| 	default BUSYBOX_DEFAULT_DUMPLEASES | 	default BUSYBOX_DEFAULT_DUMPLEASES | ||||||
| 	depends on BUSYBOX_CONFIG_UDHCPD |  | ||||||
| 	help | 	help | ||||||
| 	  dumpleases displays the leases written out by the udhcpd server. | 	  dumpleases displays the leases written out by the udhcpd server. | ||||||
| 	  Lease times are stored in the file by time remaining in lease, or | 	  Lease times are stored in the file by time remaining in lease, or | ||||||
|   | |||||||
| @@ -6,11 +6,50 @@ | |||||||
|  |  | ||||||
| menu "Process Utilities" | 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 | config BUSYBOX_CONFIG_IOSTAT | ||||||
| 	bool "iostat" | 	bool "iostat" | ||||||
| 	default BUSYBOX_DEFAULT_IOSTAT | 	default BUSYBOX_DEFAULT_IOSTAT | ||||||
| 	help | 	help | ||||||
| 	  Report CPU and I/O statistics | 	  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 | config BUSYBOX_CONFIG_LSOF | ||||||
| 	bool "lsof" | 	bool "lsof" | ||||||
| 	default BUSYBOX_DEFAULT_LSOF | 	default BUSYBOX_DEFAULT_LSOF | ||||||
| @@ -27,6 +66,39 @@ config BUSYBOX_CONFIG_NMETER | |||||||
| 	default BUSYBOX_DEFAULT_NMETER | 	default BUSYBOX_DEFAULT_NMETER | ||||||
| 	help | 	help | ||||||
| 	  Prints selected system stats continuously, one line per update. | 	  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 | config BUSYBOX_CONFIG_PMAP | ||||||
|        bool "pmap" |        bool "pmap" | ||||||
|        default BUSYBOX_DEFAULT_PMAP |        default BUSYBOX_DEFAULT_PMAP | ||||||
| @@ -37,6 +109,51 @@ config BUSYBOX_CONFIG_POWERTOP | |||||||
| 	default BUSYBOX_DEFAULT_POWERTOP | 	default BUSYBOX_DEFAULT_POWERTOP | ||||||
| 	help | 	help | ||||||
| 	  Analyze power consumption on Intel-based laptops | 	  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 | config BUSYBOX_CONFIG_PSTREE | ||||||
| 	bool "pstree" | 	bool "pstree" | ||||||
| 	default BUSYBOX_DEFAULT_PSTREE | 	default BUSYBOX_DEFAULT_PSTREE | ||||||
| @@ -47,12 +164,23 @@ config BUSYBOX_CONFIG_PWDX | |||||||
| 	default BUSYBOX_DEFAULT_PWDX | 	default BUSYBOX_DEFAULT_PWDX | ||||||
| 	help | 	help | ||||||
| 	  Report current working directory of a process | 	  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 | config BUSYBOX_CONFIG_SMEMCAP | ||||||
| 	bool "smemcap" | 	bool "smemcap" | ||||||
| 	default BUSYBOX_DEFAULT_SMEMCAP | 	default BUSYBOX_DEFAULT_SMEMCAP | ||||||
| 	help | 	help | ||||||
| 	  smemcap is a tool for capturing process data for smem, | 	  smemcap is a tool for capturing process data for smem, | ||||||
| 	  a memory usage statistic tool. | 	  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 | config BUSYBOX_CONFIG_TOP | ||||||
| 	bool "top" | 	bool "top" | ||||||
| 	default BUSYBOX_DEFAULT_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 | 	depends on BUSYBOX_CONFIG_UPTIME && BUSYBOX_CONFIG_FEATURE_UTMP | ||||||
| 	help | 	help | ||||||
| 	  Makes uptime display the number of users currently logged on. | 	  Makes uptime display the number of users currently logged on. | ||||||
|  | config BUSYBOX_CONFIG_WATCH | ||||||
| config BUSYBOX_CONFIG_FREE | 	bool "watch" | ||||||
| 	bool "free" | 	default BUSYBOX_DEFAULT_WATCH | ||||||
| 	default BUSYBOX_DEFAULT_FREE |  | ||||||
| 	select BUSYBOX_CONFIG_PLATFORM_LINUX #sysinfo() |  | ||||||
| 	help | 	help | ||||||
| 	  free displays the total amount of free and used physical and swap | 	  watch is used to execute a program periodically, showing | ||||||
| 	  memory in the system, as well as the buffers used by the kernel. | 	  output to the screen. | ||||||
| 	  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. |  | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS | config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS | ||||||
| 	bool "Support for showing threads in ps/pstree/top" | 	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, | 	  Enables the ps -T option, showing of threads in pstree, | ||||||
| 	  and 'h' command in top. | 	  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 | endmenu | ||||||
|   | |||||||
| @@ -73,6 +73,13 @@ config BUSYBOX_CONFIG_SV_DEFAULT_SERVICE_DIR | |||||||
| 	help | 	help | ||||||
| 	  Default directory for services. | 	  Default directory for services. | ||||||
| 	  Defaults to "/var/service" | 	  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 | config BUSYBOX_CONFIG_SVLOGD | ||||||
| 	bool "svlogd" | 	bool "svlogd" | ||||||
| 	default BUSYBOX_DEFAULT_SVLOGD | 	default BUSYBOX_DEFAULT_SVLOGD | ||||||
|   | |||||||
| @@ -7,7 +7,6 @@ | |||||||
| menu "SELinux Utilities" | menu "SELinux Utilities" | ||||||
| 	depends on BUSYBOX_CONFIG_SELINUX | 	depends on BUSYBOX_CONFIG_SELINUX | ||||||
|  |  | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_CHCON | config BUSYBOX_CONFIG_CHCON | ||||||
| 	bool "chcon" | 	bool "chcon" | ||||||
| 	default BUSYBOX_DEFAULT_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 | 	depends on BUSYBOX_CONFIG_CHCON && BUSYBOX_CONFIG_LONG_OPTS | ||||||
| 	help | 	help | ||||||
| 	  Support long options for the chcon applet. | 	  Support long options for the chcon applet. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_GETENFORCE | config BUSYBOX_CONFIG_GETENFORCE | ||||||
| 	bool "getenforce" | 	bool "getenforce" | ||||||
| 	default BUSYBOX_DEFAULT_GETENFORCE | 	default BUSYBOX_DEFAULT_GETENFORCE | ||||||
| 	depends on BUSYBOX_CONFIG_SELINUX | 	depends on BUSYBOX_CONFIG_SELINUX | ||||||
| 	help | 	help | ||||||
| 	  Enable support to get the current mode of SELinux. | 	  Enable support to get the current mode of SELinux. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_GETSEBOOL | config BUSYBOX_CONFIG_GETSEBOOL | ||||||
| 	bool "getsebool" | 	bool "getsebool" | ||||||
| 	default BUSYBOX_DEFAULT_GETSEBOOL | 	default BUSYBOX_DEFAULT_GETSEBOOL | ||||||
| 	depends on BUSYBOX_CONFIG_SELINUX | 	depends on BUSYBOX_CONFIG_SELINUX | ||||||
| 	help | 	help | ||||||
| 	  Enable support to get SELinux boolean values. | 	  Enable support to get SELinux boolean values. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_LOAD_POLICY | config BUSYBOX_CONFIG_LOAD_POLICY | ||||||
| 	bool "load_policy" | 	bool "load_policy" | ||||||
| 	default BUSYBOX_DEFAULT_LOAD_POLICY | 	default BUSYBOX_DEFAULT_LOAD_POLICY | ||||||
| 	depends on BUSYBOX_CONFIG_SELINUX | 	depends on BUSYBOX_CONFIG_SELINUX | ||||||
| 	help | 	help | ||||||
| 	  Enable support to load SELinux policy. | 	  Enable support to load SELinux policy. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_MATCHPATHCON | config BUSYBOX_CONFIG_MATCHPATHCON | ||||||
| 	bool "matchpathcon" | 	bool "matchpathcon" | ||||||
| 	default BUSYBOX_DEFAULT_MATCHPATHCON | 	default BUSYBOX_DEFAULT_MATCHPATHCON | ||||||
| @@ -50,15 +45,6 @@ config BUSYBOX_CONFIG_MATCHPATHCON | |||||||
| 	help | 	help | ||||||
| 	  Enable support to get default security context of the | 	  Enable support to get default security context of the | ||||||
| 	  specified path from the file contexts configuration. | 	  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 | config BUSYBOX_CONFIG_RUNCON | ||||||
| 	bool "runcon" | 	bool "runcon" | ||||||
| 	default BUSYBOX_DEFAULT_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 | 	depends on BUSYBOX_CONFIG_RUNCON && BUSYBOX_CONFIG_LONG_OPTS | ||||||
| 	help | 	help | ||||||
| 	  Support long options for the runcon applet. | 	  Support long options for the runcon applet. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_SELINUXENABLED | config BUSYBOX_CONFIG_SELINUXENABLED | ||||||
| 	bool "selinuxenabled" | 	bool "selinuxenabled" | ||||||
| 	default BUSYBOX_DEFAULT_SELINUXENABLED | 	default BUSYBOX_DEFAULT_SELINUXENABLED | ||||||
| @@ -80,14 +65,18 @@ config BUSYBOX_CONFIG_SELINUXENABLED | |||||||
| 	help | 	help | ||||||
| 	  Enable support for this command to be used within shell scripts | 	  Enable support for this command to be used within shell scripts | ||||||
| 	  to determine if selinux is enabled. | 	  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 | config BUSYBOX_CONFIG_SETENFORCE | ||||||
| 	bool "setenforce" | 	bool "setenforce" | ||||||
| 	default BUSYBOX_DEFAULT_SETENFORCE | 	default BUSYBOX_DEFAULT_SETENFORCE | ||||||
| 	depends on BUSYBOX_CONFIG_SELINUX | 	depends on BUSYBOX_CONFIG_SELINUX | ||||||
| 	help | 	help | ||||||
| 	  Enable support to modify the mode SELinux is running in. | 	  Enable support to modify the mode SELinux is running in. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_SETFILES | config BUSYBOX_CONFIG_SETFILES | ||||||
| 	bool "setfiles" | 	bool "setfiles" | ||||||
| 	default BUSYBOX_DEFAULT_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 | 	  Support "-c" option (check the validity of the contexts against | ||||||
| 	  the specified binary policy) for setfiles. Requires libsepol. | 	  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 | config BUSYBOX_CONFIG_SETSEBOOL | ||||||
| 	bool "setsebool" | 	bool "setsebool" | ||||||
| 	default BUSYBOX_DEFAULT_SETSEBOOL | 	default BUSYBOX_DEFAULT_SETSEBOOL | ||||||
| @@ -114,11 +110,4 @@ config BUSYBOX_CONFIG_SETSEBOOL | |||||||
| 	  Enable support for change boolean. | 	  Enable support for change boolean. | ||||||
| 	  semanage and -P option is not supported yet. | 	  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 | endmenu | ||||||
|   | |||||||
| @@ -6,6 +6,57 @@ | |||||||
|  |  | ||||||
| menu "Shells" | 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 | config BUSYBOX_CONFIG_ASH | ||||||
| 	bool "ash" | 	bool "ash" | ||||||
| 	default BUSYBOX_DEFAULT_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 | 	  shell (by Herbert Xu), which was created by porting the 'ash' shell | ||||||
| 	  (written by Kenneth Almquist) from NetBSD. | 	  (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 | config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE | ||||||
| 	bool "Optimize for size instead of speed" | 	bool "Optimize for size instead of speed" | ||||||
| 	default BUSYBOX_DEFAULT_ASH_OPTIMIZE_FOR_SIZE | 	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 | 	help | ||||||
| 	  Compile ash for reduced size at the price of speed. | 	  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 | config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT | ||||||
| 	bool "Pseudorandom generator and $RANDOM variable" | 	bool "Pseudorandom generator and $RANDOM variable" | ||||||
| 	default BUSYBOX_DEFAULT_ASH_RANDOM_SUPPORT | 	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 | 	help | ||||||
| 	  Enable pseudorandom generator and dynamic variable "$RANDOM". | 	  Enable pseudorandom generator and dynamic variable "$RANDOM". | ||||||
| 	  Each read of "$RANDOM" will generate a new pseudorandom value. | 	  Each read of "$RANDOM" will generate a new pseudorandom value. | ||||||
| @@ -117,12 +98,90 @@ config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT | |||||||
| config BUSYBOX_CONFIG_ASH_EXPAND_PRMT | config BUSYBOX_CONFIG_ASH_EXPAND_PRMT | ||||||
| 	bool "Expand prompt string" | 	bool "Expand prompt string" | ||||||
| 	default BUSYBOX_DEFAULT_ASH_EXPAND_PRMT | 	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 | 	help | ||||||
| 	  "PS#" may contain volatile content, such as backquote commands. | 	  "PS#" may contain volatile content, such as backquote commands. | ||||||
| 	  This option recreates the prompt string from the environment | 	  This option recreates the prompt string from the environment | ||||||
| 	  variable each time it is displayed. | 	  variable each time it is displayed. | ||||||
|  |  | ||||||
|  | config BUSYBOX_CONFIG_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 | config BUSYBOX_CONFIG_CTTYHACK | ||||||
| 	bool "cttyhack" | 	bool "cttyhack" | ||||||
| 	default BUSYBOX_DEFAULT_CTTYHACK | 	default BUSYBOX_DEFAULT_CTTYHACK | ||||||
| @@ -183,7 +242,7 @@ config BUSYBOX_CONFIG_HUSH | |||||||
| config BUSYBOX_CONFIG_HUSH_BASH_COMPAT | config BUSYBOX_CONFIG_HUSH_BASH_COMPAT | ||||||
| 	bool "bash-compatible extensions" | 	bool "bash-compatible extensions" | ||||||
| 	default BUSYBOX_DEFAULT_HUSH_BASH_COMPAT | 	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 | 	help | ||||||
| 	  Enable bash-compatible extensions. | 	  Enable bash-compatible extensions. | ||||||
|  |  | ||||||
| @@ -197,14 +256,14 @@ config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION | |||||||
| config BUSYBOX_CONFIG_HUSH_HELP | config BUSYBOX_CONFIG_HUSH_HELP | ||||||
| 	bool "help builtin" | 	bool "help builtin" | ||||||
| 	default BUSYBOX_DEFAULT_HUSH_HELP | 	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 | 	help | ||||||
| 	  Enable help builtin in hush. Code size + ~1 kbyte. | 	  Enable help builtin in hush. Code size + ~1 kbyte. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_HUSH_INTERACTIVE | config BUSYBOX_CONFIG_HUSH_INTERACTIVE | ||||||
| 	bool "Interactive mode" | 	bool "Interactive mode" | ||||||
| 	default BUSYBOX_DEFAULT_HUSH_INTERACTIVE | 	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 | 	help | ||||||
| 	  Enable interactive mode (prompt and command editing). | 	  Enable interactive mode (prompt and command editing). | ||||||
| 	  Without this, hush simply reads and executes commands | 	  Without this, hush simply reads and executes commands | ||||||
| @@ -232,35 +291,35 @@ config BUSYBOX_CONFIG_HUSH_JOB | |||||||
| config BUSYBOX_CONFIG_HUSH_TICK | config BUSYBOX_CONFIG_HUSH_TICK | ||||||
| 	bool "Process substitution" | 	bool "Process substitution" | ||||||
| 	default BUSYBOX_DEFAULT_HUSH_TICK | 	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 | 	help | ||||||
| 	  Enable process substitution `command` and $(command) in hush. | 	  Enable process substitution `command` and $(command) in hush. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_HUSH_IF | config BUSYBOX_CONFIG_HUSH_IF | ||||||
| 	bool "Support if/then/elif/else/fi" | 	bool "Support if/then/elif/else/fi" | ||||||
| 	default BUSYBOX_DEFAULT_HUSH_IF | 	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 | 	help | ||||||
| 	  Enable if/then/elif/else/fi in hush. | 	  Enable if/then/elif/else/fi in hush. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_HUSH_LOOPS | config BUSYBOX_CONFIG_HUSH_LOOPS | ||||||
| 	bool "Support for, while and until loops" | 	bool "Support for, while and until loops" | ||||||
| 	default BUSYBOX_DEFAULT_HUSH_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 | 	help | ||||||
| 	  Enable for, while and until loops in hush. | 	  Enable for, while and until loops in hush. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_HUSH_CASE | config BUSYBOX_CONFIG_HUSH_CASE | ||||||
| 	bool "Support case ... esac statement" | 	bool "Support case ... esac statement" | ||||||
| 	default BUSYBOX_DEFAULT_HUSH_CASE | 	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 | 	help | ||||||
| 	  Enable case ... esac statement in hush. +400 bytes. | 	  Enable case ... esac statement in hush. +400 bytes. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_HUSH_FUNCTIONS | config BUSYBOX_CONFIG_HUSH_FUNCTIONS | ||||||
| 	bool "Support funcname() { commands; } syntax" | 	bool "Support funcname() { commands; } syntax" | ||||||
| 	default BUSYBOX_DEFAULT_HUSH_FUNCTIONS | 	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 | 	help | ||||||
| 	  Enable support for shell functions in hush. +800 bytes. | 	  Enable support for shell functions in hush. +800 bytes. | ||||||
|  |  | ||||||
| @@ -274,7 +333,7 @@ config BUSYBOX_CONFIG_HUSH_LOCAL | |||||||
| config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT | config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT | ||||||
| 	bool "Pseudorandom generator and $RANDOM variable" | 	bool "Pseudorandom generator and $RANDOM variable" | ||||||
| 	default BUSYBOX_DEFAULT_HUSH_RANDOM_SUPPORT | 	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 | 	help | ||||||
| 	  Enable pseudorandom generator and dynamic variable "$RANDOM". | 	  Enable pseudorandom generator and dynamic variable "$RANDOM". | ||||||
| 	  Each read of "$RANDOM" will generate a new pseudorandom value. | 	  Each read of "$RANDOM" will generate a new pseudorandom value. | ||||||
| @@ -282,14 +341,14 @@ config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT | |||||||
| config BUSYBOX_CONFIG_HUSH_EXPORT_N | config BUSYBOX_CONFIG_HUSH_EXPORT_N | ||||||
| 	bool "Support 'export -n' option" | 	bool "Support 'export -n' option" | ||||||
| 	default BUSYBOX_DEFAULT_HUSH_EXPORT_N | 	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 | 	help | ||||||
| 	  export -n unexports variables. It is a bash extension. | 	  export -n unexports variables. It is a bash extension. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_HUSH_MODE_X | config BUSYBOX_CONFIG_HUSH_MODE_X | ||||||
| 	bool "Support 'hush -x' option and 'set -x' command" | 	bool "Support 'hush -x' option and 'set -x' command" | ||||||
| 	default BUSYBOX_DEFAULT_HUSH_MODE_X | 	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 | 	help | ||||||
| 	  This instructs hush to print commands before execution. | 	  This instructs hush to print commands before execution. | ||||||
| 	  Adds ~300 bytes. | 	  Adds ~300 bytes. | ||||||
| @@ -302,72 +361,17 @@ config BUSYBOX_CONFIG_MSH | |||||||
| 	  msh is deprecated and will be removed, please migrate to hush. | 	  msh is deprecated and will be removed, please migrate to hush. | ||||||
|  |  | ||||||
|  |  | ||||||
|  | config BUSYBOX_CONFIG_FEATURE_SH_MATH | ||||||
| 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 |  | ||||||
| 	bool "POSIX math support" | 	bool "POSIX math support" | ||||||
| 	default BUSYBOX_DEFAULT_SH_MATH_SUPPORT | 	default BUSYBOX_DEFAULT_FEATURE_SH_MATH | ||||||
| 	depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH | 	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 | 	help | ||||||
| 	  Enable math support in the shell via $((...)) syntax. | 	  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" | 	bool "Extend POSIX math support to 64 bit" | ||||||
| 	default BUSYBOX_DEFAULT_SH_MATH_SUPPORT_64 | 	default BUSYBOX_DEFAULT_FEATURE_SH_MATH_64 | ||||||
| 	depends on BUSYBOX_CONFIG_SH_MATH_SUPPORT | 	depends on BUSYBOX_CONFIG_FEATURE_SH_MATH | ||||||
| 	help | 	help | ||||||
| 	  Enable 64-bit math support in the shell. This will make the shell | 	  Enable 64-bit math support in the shell. This will make the shell | ||||||
| 	  slightly larger, but will allow computation with very large numbers. | 	  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 | config BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET | ||||||
| 	bool "Hide message on interactive shell startup" | 	bool "Hide message on interactive shell startup" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_SH_EXTRA_QUIET | 	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 | 	help | ||||||
| 	  Remove the busybox introduction when starting a shell. | 	  Remove the busybox introduction when starting a shell. | ||||||
|  |  | ||||||
| config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE | config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE | ||||||
| 	bool "Standalone shell" | 	bool "Standalone shell" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_SH_STANDALONE | 	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 | 	help | ||||||
| 	  This option causes busybox shells to use busybox applets | 	  This option causes busybox shells to use busybox applets | ||||||
| 	  in preference to executables in the PATH whenever possible. For | 	  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 | config BUSYBOX_CONFIG_FEATURE_SH_NOFORK | ||||||
| 	bool "Run 'nofork' applets directly" | 	bool "Run 'nofork' applets directly" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_SH_NOFORK | 	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 | 	help | ||||||
| 	  This option causes busybox shells to not execute typical | 	  This option causes busybox shells to not execute typical | ||||||
| 	  fork/exec/wait sequence, but call <applet>_main directly, | 	  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 | config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE | ||||||
| 	bool "Use $HISTFILESIZE" | 	bool "Use $HISTFILESIZE" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_SH_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 | 	help | ||||||
| 	  This option makes busybox shells to use $HISTFILESIZE variable | 	  This option makes busybox shells to use $HISTFILESIZE variable | ||||||
| 	  to set shell history size. Note that its max value is capped | 	  to set shell history size. Note that its max value is capped | ||||||
|   | |||||||
| @@ -47,7 +47,6 @@ config BUSYBOX_CONFIG_LOGGER | |||||||
| config BUSYBOX_CONFIG_LOGREAD | config BUSYBOX_CONFIG_LOGREAD | ||||||
| 	bool "logread" | 	bool "logread" | ||||||
| 	default BUSYBOX_DEFAULT_LOGREAD | 	default BUSYBOX_DEFAULT_LOGREAD | ||||||
| 	depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG |  | ||||||
| 	help | 	help | ||||||
| 	  If you enabled Circular Buffer support, you almost | 	  If you enabled Circular Buffer support, you almost | ||||||
| 	  certainly want to enable this feature as well. This | 	  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 | 	  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 | config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UDF | ||||||
| 	bool "udf filesystem" | 	bool "udf filesystem" | ||||||
| 	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_UDF | 	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 | --- a/util-linux/mount.c | ||||||
| +++ b/util-linux/mount.c | +++ b/util-linux/mount.c | ||||||
| @@ -237,9 +237,6 @@ | @@ -245,9 +245,6 @@ | ||||||
|  #if ENABLE_FEATURE_MOUNT_NFS |  #if ENABLE_FEATURE_MOUNT_NFS | ||||||
|  /* This is just a warning of a common mistake.  Possibly this should be a |  /* This is just a warning of a common mistake.  Possibly this should be a | ||||||
|   * uclibc faq entry rather than in busybox... */ |   * uclibc faq entry rather than in busybox... */ | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| --- a/networking/udhcp/dhcpc.c | --- a/networking/udhcp/dhcpc.c | ||||||
| +++ b/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) |  static NOINLINE int send_discover(uint32_t xid, uint32_t requested) | ||||||
|  { |  { | ||||||
|  	struct dhcp_packet packet; |  	struct dhcp_packet packet; | ||||||
| @@ -8,7 +8,7 @@ | |||||||
|   |   | ||||||
|  	/* Fill in: op, htype, hlen, cookie, chaddr fields, |  	/* Fill in: op, htype, hlen, cookie, chaddr fields, | ||||||
|  	 * random xid field (we override it below), |  	 * 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); |  	add_client_options(&packet); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| --- a/networking/udhcp/dhcpc.c | --- a/networking/udhcp/dhcpc.c | ||||||
| +++ b/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 */ |  		/* silence "uninitialized!" warning */ | ||||||
|  		unsigned timestamp_before_wait = timestamp_before_wait; |  		unsigned timestamp_before_wait = timestamp_before_wait; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| --- a/networking/udhcp/dhcpc.c | --- a/networking/udhcp/dhcpc.c | ||||||
| +++ b/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; |  		state = RENEW_REQUESTED; | ||||||
|  		break; |  		break; | ||||||
|  	case RENEW_REQUESTED: /* impatient are we? fine, square 1 */ |  	case RENEW_REQUESTED: /* impatient are we? fine, square 1 */ | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| --- a/networking/telnetd.c | --- a/networking/telnetd.c | ||||||
| +++ b/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 */ |  	/* Restore default signal handling ASAP */ | ||||||
|  	bb_signals((1 << SIGCHLD) + (1 << SIGPIPE), SIG_DFL); |  	bb_signals((1 << SIGCHLD) + (1 << SIGPIPE), SIG_DFL); | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| --- a/coreutils/date.c | --- a/coreutils/date.c | ||||||
| +++ b/coreutils/date.c | +++ b/coreutils/date.c | ||||||
| @@ -123,6 +123,7 @@ | @@ -122,6 +122,7 @@ | ||||||
|  //usage:	IF_FEATURE_DATE_ISOFMT( |  //usage:	IF_FEATURE_DATE_ISOFMT( | ||||||
|  //usage:     "\n	-D FMT		Use FMT for -d TIME conversion" |  //usage:     "\n	-D FMT		Use FMT for -d TIME conversion" | ||||||
|  //usage:	) |  //usage:	) | ||||||
| @@ -8,7 +8,7 @@ | |||||||
|  //usage:     "\n" |  //usage:     "\n" | ||||||
|  //usage:     "\nRecognized TIME formats:" |  //usage:     "\nRecognized TIME formats:" | ||||||
|  //usage:     "\n	hh:mm[:ss]" |  //usage:     "\n	hh:mm[:ss]" | ||||||
| @@ -139,9 +140,8 @@ | @@ -138,9 +139,8 @@ | ||||||
|   |   | ||||||
|  #include "libbb.h" |  #include "libbb.h" | ||||||
|  #include "common_bufsiz.h" |  #include "common_bufsiz.h" | ||||||
| @@ -20,7 +20,7 @@ | |||||||
|   |   | ||||||
|  enum { |  enum { | ||||||
|  	OPT_RFC2822   = (1 << 0), /* R */ |  	OPT_RFC2822   = (1 << 0), /* R */ | ||||||
| @@ -149,8 +149,9 @@ enum { | @@ -148,8 +148,9 @@ enum { | ||||||
|  	OPT_UTC       = (1 << 2), /* u */ |  	OPT_UTC       = (1 << 2), /* u */ | ||||||
|  	OPT_DATE      = (1 << 3), /* d */ |  	OPT_DATE      = (1 << 3), /* d */ | ||||||
|  	OPT_REFERENCE = (1 << 4), /* r */ |  	OPT_REFERENCE = (1 << 4), /* r */ | ||||||
| @@ -32,7 +32,7 @@ | |||||||
|  }; |  }; | ||||||
|   |   | ||||||
|  static void maybe_set_utc(int opt) |  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" */ |  	/*	"universal\0" No_argument       "u" */ | ||||||
|  		"date\0"      Required_argument "d" |  		"date\0"      Required_argument "d" | ||||||
|  		"reference\0" Required_argument "r" |  		"reference\0" Required_argument "r" | ||||||
| @@ -48,7 +48,7 @@ | |||||||
|  	struct timespec ts; |  	struct timespec ts; | ||||||
|  	struct tm tm_time; |  	struct tm tm_time; | ||||||
|  	char buf_fmt_dt2str[64]; |  	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" |  	opt_complementary = "d--s:s--d" | ||||||
|  		IF_FEATURE_DATE_ISOFMT(":R--I:I--R"); |  		IF_FEATURE_DATE_ISOFMT(":R--I:I--R"); | ||||||
|  	IF_LONG_OPTS(applet_long_options = date_longopts;) |  	IF_LONG_OPTS(applet_long_options = date_longopts;) | ||||||
| @@ -57,7 +57,7 @@ | |||||||
|  			IF_FEATURE_DATE_ISOFMT("I::D:"), |  			IF_FEATURE_DATE_ISOFMT("I::D:"), | ||||||
|  			&date_str, &date_str, &filename |  			&date_str, &date_str, &filename | ||||||
|  			IF_FEATURE_DATE_ISOFMT(, &isofmt_arg, &fmt_str2dt)); |  			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) |  	if (*argv) | ||||||
|  		bb_show_usage(); |  		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); |  | ||||||
|  } |  | ||||||
|   |  | ||||||
		Reference in New Issue
	
	Block a user