Browse Source

package/busybox: add missing bits from 1.17.1 update (mostly config stuff), rename upstream patches so they're applied first

SVN-Revision: 22665
Nicolas Thill 15 years ago
parent
commit
2c57634be3
33 changed files with 902 additions and 509 deletions
  1. 116 3
      package/busybox/config/Config.in
  2. 55 7
      package/busybox/config/archival/Config.in
  3. 23 0
      package/busybox/config/console-tools/Config.in
  4. 93 80
      package/busybox/config/coreutils/Config.in
  5. 0 1
      package/busybox/config/debianutils/Config.in
  6. 10 10
      package/busybox/config/e2fsprogs/Config.in
  7. 12 0
      package/busybox/config/editors/Config.in
  8. 41 2
      package/busybox/config/init/Config.in
  9. 0 16
      package/busybox/config/loginutils/Config.in
  10. 34 2
      package/busybox/config/miscutils/Config.in
  11. 8 2
      package/busybox/config/modutils/Config.in
  12. 73 57
      package/busybox/config/networking/Config.in
  13. 2 1
      package/busybox/config/networking/udhcp/Config.in
  14. 7 0
      package/busybox/config/procps/Config.in
  15. 4 0
      package/busybox/config/runit/Config.in
  16. 0 1
      package/busybox/config/selinux/Config.in
  17. 71 32
      package/busybox/config/shell/Config.in
  18. 10 1
      package/busybox/config/sysklogd/Config.in
  19. 251 224
      package/busybox/config/util-linux/Config.in
  20. 11 0
      package/busybox/patches/000-autoconf.patch
  21. 0 0
      package/busybox/patches/000-upstream-mktemp.patch
  22. 0 0
      package/busybox/patches/000-upstream-sed.patch
  23. 0 0
      package/busybox/patches/000-upstream-shell.patch
  24. 25 15
      package/busybox/patches/241-udhcpc-oversized_packets.patch
  25. 2 2
      package/busybox/patches/250-ash_export-n.patch
  26. 18 13
      package/busybox/patches/300-netmsg.patch
  27. 1 1
      package/busybox/patches/310-passwd_access.patch
  28. 1 1
      package/busybox/patches/340-lock_util.patch
  29. 9 10
      package/busybox/patches/350-httpd_redir.patch
  30. 1 1
      package/busybox/patches/470-insmod_search.patch
  31. 12 7
      package/busybox/patches/510-awk_include.patch
  32. 10 18
      package/busybox/patches/610-syslog-remote-retry-connection.patch
  33. 2 2
      package/busybox/patches/803-id_getgrouplist.patch

+ 116 - 3
package/busybox/config/Config.in

@@ -82,7 +82,7 @@ config BUSYBOX_CONFIG_SHOW_USAGE
 config BUSYBOX_CONFIG_FEATURE_VERBOSE_USAGE
 config BUSYBOX_CONFIG_FEATURE_VERBOSE_USAGE
 	bool "Show verbose applet usage messages"
 	bool "Show verbose applet usage messages"
 	default y
 	default y
-	select BUSYBOX_CONFIG_SHOW_USAGE
+	depends on BUSYBOX_CONFIG_SHOW_USAGE
 	help
 	help
 	  All BusyBox applets will show more verbose help messages when
 	  All BusyBox applets will show more verbose help messages when
 	  busybox is invoked with --help. This will add a lot of text to the
 	  busybox is invoked with --help. This will add a lot of text to the
@@ -118,7 +118,7 @@ config BUSYBOX_CONFIG_LOCALE_SUPPORT
 	  Enable this if your system has locale support and you would like
 	  Enable this if your system has locale support and you would like
 	  busybox to support locale settings.
 	  busybox to support locale settings.
 
 
-config BUSYBOX_CONFIG_FEATURE_ASSUME_UNICODE
+config BUSYBOX_CONFIG_UNICODE_SUPPORT
 	bool "Support Unicode"
 	bool "Support Unicode"
 	default n
 	default n
 	help
 	help
@@ -130,16 +130,109 @@ config BUSYBOX_CONFIG_FEATURE_ASSUME_UNICODE
 	  Probably by the time when busybox will be fully Unicode-clean,
 	  Probably by the time when busybox will be fully Unicode-clean,
 	  other encodings will be mainly of historic interest.
 	  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 n
+	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.
+
 config BUSYBOX_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV
 config BUSYBOX_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV
 	bool "Check $LANG environment variable"
 	bool "Check $LANG environment variable"
 	default n
 	default n
-	depends on BUSYBOX_CONFIG_FEATURE_ASSUME_UNICODE && !BUSYBOX_CONFIG_LOCALE_SUPPORT
+	depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
 	help
 	help
 	  With this option on, Unicode support is activated
 	  With this option on, Unicode support is activated
 	  only if LANG variable has the value of the form "xxxx.utf8"
 	  only if LANG variable has the value of the form "xxxx.utf8"
 
 
 	  Otherwise, Unicode support will be always enabled and active.
 	  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 63
+	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 767
+	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 n
+	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 n
+	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 n
+	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 n
+	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 n
+	depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
+	help
+	  With this option on, 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_LONG_OPTS
 config BUSYBOX_CONFIG_LONG_OPTS
 	bool "Support for --long-options"
 	bool "Support for --long-options"
 	default y
 	default y
@@ -169,6 +262,26 @@ config BUSYBOX_CONFIG_FEATURE_CLEAN_UP
 	  Don't enable this unless you have a really good reason to clean
 	  Don't enable this unless you have a really good reason to clean
 	  things up manually.
 	  things up manually.
 
 
+config BUSYBOX_CONFIG_FEATURE_UTMP
+	bool "Support utmp file"
+	default n
+	help
+	  The file /var/run/utmp is used to track who is currently logged in.
+	  With this option on, certain applets (getty, login, telnetd etc)
+	  will create and delete entries there.
+	  "who" applet requires this option.
+
+config BUSYBOX_CONFIG_FEATURE_WTMP
+	bool "Support wtmp file"
+	default n
+	select BUSYBOX_CONFIG_FEATURE_UTMP
+	help
+	  The file /var/run/wtmp is used to track when users have logged into
+	  and logged out of the system.
+	  With this option on, certain applets (getty, login, telnetd etc)
+	  will append new entries there.
+	  "last" applet requires this option.
+
 config BUSYBOX_CONFIG_FEATURE_PIDFILE
 config BUSYBOX_CONFIG_FEATURE_PIDFILE
 	bool "Support writing pidfiles"
 	bool "Support writing pidfiles"
 	default y
 	default y

+ 55 - 7
package/busybox/config/archival/Config.in

@@ -5,6 +5,12 @@
 
 
 menu "Archival Utilities"
 menu "Archival Utilities"
 
 
+config BUSYBOX_CONFIG_FEATURE_SEAMLESS_XZ
+	bool "Make tar, rpm, modprobe etc understand .xz data"
+	default n
+	help
+	  Make tar, rpm, modprobe etc understand .xz data.
+
 config BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA
 config BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA
 	bool "Make tar, rpm, modprobe etc understand .lzma data"
 	bool "Make tar, rpm, modprobe etc understand .lzma data"
 	default n
 	default n
@@ -62,6 +68,13 @@ config BUSYBOX_CONFIG_FEATURE_AR_LONG_FILENAMES
 	  It supports the GNU ar long filename method which moves multiple long
 	  It supports the GNU ar long filename method which moves multiple long
 	  filenames into a the data section of a new ar entry.
 	  filenames into a the data section of a new ar entry.
 
 
+config BUSYBOX_CONFIG_FEATURE_AR_CREATE
+	bool "Support archive creation"
+	default n
+	depends on BUSYBOX_CONFIG_AR
+	help
+	  This enables archive creation (-c and -r) with busybox ar.
+
 config BUSYBOX_CONFIG_BUNZIP2
 config BUSYBOX_CONFIG_BUNZIP2
 	bool "bunzip2"
 	bool "bunzip2"
 	default y
 	default y
@@ -207,8 +220,6 @@ config BUSYBOX_CONFIG_TAR
 	  create compressed archives. It's probably the most widely used
 	  create compressed archives. It's probably the most widely used
 	  UNIX archive program.
 	  UNIX archive program.
 
 
-if BUSYBOX_CONFIG_TAR
-
 config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
 config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
 	bool "Enable archive creation"
 	bool "Enable archive creation"
 	default y
 	default y
@@ -220,7 +231,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
 config BUSYBOX_CONFIG_FEATURE_TAR_AUTODETECT
 config BUSYBOX_CONFIG_FEATURE_TAR_AUTODETECT
 	bool "Autodetect compressed tarballs"
 	bool "Autodetect compressed tarballs"
 	default n
 	default n
-	depends on BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z || BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ || BUSYBOX_CONFIG_FEATURE_SEAMLESS_BZ2 || BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA
+	depends on BUSYBOX_CONFIG_TAR && (BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z || BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ || BUSYBOX_CONFIG_FEATURE_SEAMLESS_BZ2 || BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA || BUSYBOX_CONFIG_FEATURE_SEAMLESS_XZ)
 	help
 	help
 	  With this option tar can automatically detect compressed
 	  With this option tar can automatically detect compressed
 	  tarballs. Currently it works only on files (not pipes etc).
 	  tarballs. Currently it works only on files (not pipes etc).
@@ -236,7 +247,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_FROM
 config BUSYBOX_CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY
 config BUSYBOX_CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY
 	bool "Support for old tar header format"
 	bool "Support for old tar header format"
 	default n
 	default n
-	depends on BUSYBOX_CONFIG_TAR
+	depends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_DPKG
 	help
 	help
 	  This option is required to unpack archives created in
 	  This option is required to unpack archives created in
 	  the old GNU format; help to kill this old format by
 	  the old GNU format; help to kill this old format by
@@ -245,7 +256,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY
 config BUSYBOX_CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY
 config BUSYBOX_CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY
 	bool "Enable untarring of tarballs with checksums produced by buggy Sun tar"
 	bool "Enable untarring of tarballs with checksums produced by buggy Sun tar"
 	default n
 	default n
-	depends on BUSYBOX_CONFIG_TAR
+	depends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_DPKG
 	help
 	help
 	  This option is required to unpack archives created by some old
 	  This option is required to unpack archives created by some old
 	  version of Sun's tar (it was calculating checksum using signed
 	  version of Sun's tar (it was calculating checksum using signed
@@ -255,7 +266,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY
 config BUSYBOX_CONFIG_FEATURE_TAR_GNU_EXTENSIONS
 config BUSYBOX_CONFIG_FEATURE_TAR_GNU_EXTENSIONS
 	bool "Support for GNU tar extensions (long filenames)"
 	bool "Support for GNU tar extensions (long filenames)"
 	default y
 	default y
-	depends on BUSYBOX_CONFIG_TAR
+	depends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_DPKG
 	help
 	help
 	  With this option busybox supports GNU long filenames and
 	  With this option busybox supports GNU long filenames and
 	  linknames.
 	  linknames.
@@ -267,6 +278,15 @@ config BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
 	help
 	help
 	  Enable use of long options, increases size by about 400 Bytes
 	  Enable use of long options, increases size by about 400 Bytes
 
 
+config BUSYBOX_CONFIG_FEATURE_TAR_TO_COMMAND
+	bool "Support for writing to an external program"
+	default n
+	depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
+	help
+	  If you enable this option you'll be able to instruct tar to send
+	  the contents of each extracted file to the standard input of an
+	  external program.
+
 config BUSYBOX_CONFIG_FEATURE_TAR_UNAME_GNAME
 config BUSYBOX_CONFIG_FEATURE_TAR_UNAME_GNAME
 	bool "Enable use of user and group names"
 	bool "Enable use of user and group names"
 	default n
 	default n
@@ -284,7 +304,13 @@ config BUSYBOX_CONFIG_FEATURE_TAR_NOPRESERVE_TIME
 	  With this option busybox supports GNU tar -m
 	  With this option busybox supports GNU tar -m
 	  (do not preserve time) option.
 	  (do not preserve time) option.
 
 
-endif #tar
+config BUSYBOX_CONFIG_FEATURE_TAR_SELINUX
+	bool "Support for extracting SELinux labels"
+	default n
+	depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_SELINUX
+	help
+	  With this option busybox supports restoring SELinux labels
+	  when extracting files from tar archives.
 
 
 config BUSYBOX_CONFIG_UNCOMPRESS
 config BUSYBOX_CONFIG_UNCOMPRESS
 	bool "uncompress"
 	bool "uncompress"
@@ -316,6 +342,28 @@ config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
 	  This option reduces decompression time by about 25% at the cost of
 	  This option reduces decompression time by about 25% at the cost of
 	  a 1K bigger binary.
 	  a 1K bigger binary.
 
 
+config BUSYBOX_CONFIG_LZMA
+	bool "Provide lzma alias which supports only unpacking"
+	default n
+	depends on BUSYBOX_CONFIG_UNLZMA
+	help
+	  Enable this option if you want commands like "lzma -d" to work.
+	  IOW: you'll get lzma applet, but it will always require -d option.
+
+config BUSYBOX_CONFIG_UNXZ
+	bool "unxz"
+	default n
+	help
+	  unxz is a unlzma successor.
+
+config BUSYBOX_CONFIG_XZ
+	bool "Provide xz alias which supports only unpacking"
+	default n
+	depends on BUSYBOX_CONFIG_UNXZ
+	help
+	  Enable this option if you want commands like "xz -d" to work.
+	  IOW: you'll get xz applet, but it will always require -d option.
+
 config BUSYBOX_CONFIG_UNZIP
 config BUSYBOX_CONFIG_UNZIP
 	bool "unzip"
 	bool "unzip"
 	default n
 	default n

+ 23 - 0
package/busybox/config/console-tools/Config.in

@@ -12,6 +12,12 @@ config BUSYBOX_CONFIG_CHVT
 	  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 n
+	help
+	  This program prints active (foreground) console number.
+
 config BUSYBOX_CONFIG_CLEAR
 config BUSYBOX_CONFIG_CLEAR
 	bool "clear"
 	bool "clear"
 	default y
 	default y
@@ -135,4 +141,21 @@ config BUSYBOX_CONFIG_SHOWKEY
 	help
 	help
 	  Shows keys pressed.
 	  Shows keys pressed.
 
 
+comment "Common options for loadfont and setfont"
+	depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
+
+config BUSYBOX_CONFIG_FEATURE_LOADFONT_PSF2
+	bool "Support for PSF2 console fonts"
+	default n
+	depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
+	help
+	  Support PSF2 console fonts.
+
+config BUSYBOX_CONFIG_FEATURE_LOADFONT_RAW
+	bool "Support for old (raw) console fonts"
+	default n
+	depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
+	help
+	  Support old (raw) console fonts.
+
 endmenu
 endmenu

+ 93 - 80
package/busybox/config/coreutils/Config.in

@@ -12,19 +12,96 @@ config BUSYBOX_CONFIG_BASENAME
 	  basename is used to strip the directory and suffix from filenames,
 	  basename is used to strip the directory and suffix from filenames,
 	  leaving just the filename itself. Enable this option if you wish
 	  leaving just the filename itself. Enable this option if you wish
 	  to enable the 'basename' utility.
 	  to enable the 'basename' utility.
-
-config BUSYBOX_CONFIG_CAL
-	bool "cal"
-	default n
-	help
-	  cal is used to display a monthly calender.
-
 config BUSYBOX_CONFIG_CAT
 config BUSYBOX_CONFIG_CAT
 	bool "cat"
 	bool "cat"
 	default y
 	default y
 	help
 	help
 	  cat is used to concatenate files and print them to the standard
 	  cat is used to concatenate files and print them to the standard
 	  output. Enable this option if you wish to enable the 'cat' utility.
 	  output. Enable this option if you wish to enable the 'cat' utility.
+config BUSYBOX_CONFIG_DATE
+	bool "date"
+	default y
+	help
+	  date is used to set the system date or display the
+	  current time in the given format.
+
+config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
+	bool "Enable ISO date format output (-I)"
+	default y
+	depends on BUSYBOX_CONFIG_DATE
+	help
+	  Enable option (-I) to output an ISO-8601 compliant
+	  date/time string.
+
+config BUSYBOX_CONFIG_FEATURE_DATE_NANO
+	bool "Support %[num]N nanosecond format specifier"
+	default n
+	depends on BUSYBOX_CONFIG_DATE
+	help
+	  Support %[num]N format specifier. Adds ~250 bytes of code.
+
+config BUSYBOX_CONFIG_FEATURE_DATE_COMPAT
+	bool "Support weird 'date MMDDhhmm[[YY]YY][.ss]' format"
+	default n
+	depends on BUSYBOX_CONFIG_DATE
+	help
+	  System time can be set by 'date -s DATE' and simply 'date DATE',
+	  but formats of DATE string are different. 'date DATE' accepts
+	  a rather weird MMDDhhmm[[YY]YY][.ss] format with completely
+	  unnatural placement of year between minutes and seconds.
+	  date -s (and other commands like touch -d) use more sensible
+	  formats (for one, ISO format YYYY-MM-DD hh:mm:ss.ssssss).
+
+	  With this option off, 'date DATE' is 'date -s DATE' support
+	  the same format. With it on, 'date DATE' additionally supports
+	  MMDDhhmm[[YY]YY][.ss] format.
+
+config BUSYBOX_CONFIG_TEST
+	bool "test"
+	default y
+	help
+	  test is used to check file types and compare values,
+	  returning an appropriate exit code. The bash shell
+	  has test built in, ash can build it in optionally.
+
+config BUSYBOX_CONFIG_FEATURE_TEST_64
+	bool "Extend test to 64 bit"
+	default y
+	depends on BUSYBOX_CONFIG_TEST || BUSYBOX_CONFIG_ASH_BUILTIN_TEST || BUSYBOX_CONFIG_HUSH
+	help
+	  Enable 64-bit support in test.
+
+config BUSYBOX_CONFIG_TR
+	bool "tr"
+	default y
+	help
+	  tr is used to squeeze, and/or delete characters from standard
+	  input, writing to standard output.
+
+config BUSYBOX_CONFIG_FEATURE_TR_CLASSES
+	bool "Enable character classes (such as [:upper:])"
+	default n
+	depends on BUSYBOX_CONFIG_TR
+	help
+	  Enable character classes, enabling commands such as:
+	  tr [:upper:] [:lower:] to convert input into lowercase.
+
+config BUSYBOX_CONFIG_FEATURE_TR_EQUIV
+	bool "Enable equivalence classes"
+	default n
+	depends on BUSYBOX_CONFIG_TR
+	help
+	  Enable equivalence classes, which essentially add the enclosed
+	  character to the current set. For instance, tr [=a=] xyz would
+	  replace all instances of 'a' with 'xyz'. This option is mainly
+	  useful for cases when no other way of expressing a character
+	  is possible.
+
+config BUSYBOX_CONFIG_CAL
+	bool "cal"
+	default n
+	help
+	  cal is used to display a monthly calender.
 
 
 config BUSYBOX_CONFIG_CATV
 config BUSYBOX_CONFIG_CATV
 	bool "catv"
 	bool "catv"
@@ -100,37 +177,6 @@ config BUSYBOX_CONFIG_CUT
 	  cut is used to print selected parts of lines from
 	  cut is used to print selected parts of lines from
 	  each file to stdout.
 	  each file to stdout.
 
 
-config BUSYBOX_CONFIG_DATE
-	bool "date"
-	default y
-	help
-	  date is used to set the system date or display the
-	  current time in the given format.
-
-config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
-	bool "Enable ISO date format output (-I)"
-	default y
-	depends on BUSYBOX_CONFIG_DATE
-	help
-	  Enable option (-I) to output an ISO-8601 compliant
-	  date/time string.
-
-config BUSYBOX_CONFIG_FEATURE_DATE_COMPAT
-	bool "Support weird 'date MMDDhhmm[[YY]YY][.ss]' format"
-	default n
-	depends on BUSYBOX_CONFIG_DATE
-	help
-	  System time can be set by 'date -s DATE' and simply 'date DATE',
-	  but formats of DATE string are different. 'date DATE' accepts
-	  a rather weird MMDDhhmm[[YY]YY][.ss] format with completely
-	  unnatural placement of year between minutes and seconds.
-	  date -s (and other commands like touch -d) use more sensible
-	  formats (for one, ISO format YYYY-MM-DD hh:mm:ss.ssssss).
-
-	  With this option off, 'date DATE' is 'date -s DATE' support
-	  the same format. With it on, 'date DATE' additionally supports
-	  MMDDhhmm[[YY]YY][.ss] format.
-
 config BUSYBOX_CONFIG_DD
 config BUSYBOX_CONFIG_DD
 	bool "dd"
 	bool "dd"
 	default y
 	default y
@@ -183,6 +229,10 @@ config BUSYBOX_CONFIG_FEATURE_DF_FANCY
 	help
 	help
 	  This option enables -a, -i and -B.
 	  This option enables -a, -i and -B.
 
 
+	    -a Show all filesystems
+	    -i Inodes
+	    -B <SIZE> Blocksize
+
 config BUSYBOX_CONFIG_DIRNAME
 config BUSYBOX_CONFIG_DIRNAME
 	bool "dirname"
 	bool "dirname"
 	default y
 	default y
@@ -682,6 +732,10 @@ config BUSYBOX_CONFIG_FEATURE_FANCY_TAIL
 	  The options (-q, -s, and -v) are provided by GNU tail, but
 	  The options (-q, -s, and -v) are provided by GNU tail, but
 	  are not specific in the SUSv3 standard.
 	  are not specific in the SUSv3 standard.
 
 
+	    -q      Never output headers giving file names
+	    -s SEC  Wait SEC seconds between reads with -f
+	    -v      Always output headers giving file names
+
 config BUSYBOX_CONFIG_TEE
 config BUSYBOX_CONFIG_TEE
 	bool "tee"
 	bool "tee"
 	default y
 	default y
@@ -696,21 +750,6 @@ config BUSYBOX_CONFIG_FEATURE_TEE_USE_BLOCK_IO
 	help
 	help
 	  Enable this option for a faster tee, at expense of size.
 	  Enable this option for a faster tee, at expense of size.
 
 
-config BUSYBOX_CONFIG_TEST
-	bool "test"
-	default y
-	help
-	  test is used to check file types and compare values,
-	  returning an appropriate exit code. The bash shell
-	  has test built in, ash can build it in optionally.
-
-config BUSYBOX_CONFIG_FEATURE_TEST_64
-	bool "Extend test to 64 bit"
-	default y
-	depends on BUSYBOX_CONFIG_TEST || BUSYBOX_CONFIG_ASH_BUILTIN_TEST || BUSYBOX_CONFIG_HUSH
-	help
-	  Enable 64-bit support in test.
-
 config BUSYBOX_CONFIG_TOUCH
 config BUSYBOX_CONFIG_TOUCH
 	bool "touch"
 	bool "touch"
 	default y
 	default y
@@ -718,32 +757,6 @@ config BUSYBOX_CONFIG_TOUCH
 	  touch is used to create or change the access and/or
 	  touch is used to create or change the access and/or
 	  modification timestamp of specified files.
 	  modification timestamp of specified files.
 
 
-config BUSYBOX_CONFIG_TR
-	bool "tr"
-	default y
-	help
-	  tr is used to squeeze, and/or delete characters from standard
-	  input, writing to standard output.
-
-config BUSYBOX_CONFIG_FEATURE_TR_CLASSES
-	bool "Enable character classes (such as [:upper:])"
-	default n
-	depends on BUSYBOX_CONFIG_TR
-	help
-	  Enable character classes, enabling commands such as:
-	  tr [:upper:] [:lower:] to convert input into lowercase.
-
-config BUSYBOX_CONFIG_FEATURE_TR_EQUIV
-	bool "Enable equivalence classes"
-	default n
-	depends on BUSYBOX_CONFIG_TR
-	help
-	  Enable equivalence classes, which essentially add the enclosed
-	  character to the current set. For instance, tr [=a=] xyz would
-	  replace all instances of 'a' with 'xyz'. This option is mainly
-	  useful for cases when no other way of expressing a character
-	  is possible.
-
 config BUSYBOX_CONFIG_TRUE
 config BUSYBOX_CONFIG_TRUE
 	bool "true"
 	bool "true"
 	default y
 	default y
@@ -817,7 +830,7 @@ config BUSYBOX_CONFIG_FEATURE_WC_LARGE
 config BUSYBOX_CONFIG_WHO
 config BUSYBOX_CONFIG_WHO
 	bool "who"
 	bool "who"
 	default n
 	default n
-	select BUSYBOX_CONFIG_FEATURE_UTMP
+	depends on BUSYBOX_CONFIG_FEATURE_UTMP
 	help
 	help
 	  who is used to show who is logged on.
 	  who is used to show who is logged on.
 
 

+ 0 - 1
package/busybox/config/debianutils/Config.in

@@ -81,4 +81,3 @@ config BUSYBOX_CONFIG_WHICH
 	  print out their pathnames.
 	  print out their pathnames.
 
 
 endmenu
 endmenu
-

+ 10 - 10
package/busybox/config/e2fsprogs/Config.in

@@ -13,7 +13,7 @@ config BUSYBOX_CONFIG_CHATTR
 
 
 ### config E2FSCK
 ### config E2FSCK
 ###	bool "e2fsck"
 ###	bool "e2fsck"
-###	default n
+###	default y
 ###	help
 ###	help
 ###	  e2fsck is used to check Linux second extended file systems (ext2fs).
 ###	  e2fsck is used to check Linux second extended file systems (ext2fs).
 ###	  e2fsck also supports ext2 filesystems countaining a journal (ext3).
 ###	  e2fsck also supports ext2 filesystems countaining a journal (ext3).
@@ -36,21 +36,21 @@ config BUSYBOX_CONFIG_LSATTR
 
 
 ### config MKE2FS
 ### config MKE2FS
 ###	bool "mke2fs"
 ###	bool "mke2fs"
-###	default n
+###	default y
 ###	help
 ###	help
 ###	  mke2fs is used to create an ext2/ext3 filesystem. The normal compat
 ###	  mke2fs is used to create an ext2/ext3 filesystem. The normal compat
 ###	  symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
 ###	  symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
 
 
-### config TUNE2FS
-###	bool "tune2fs"
-###	default n
-###	help
-###	  tune2fs allows the system administrator to adjust various tunable
-###	  filesystem parameters on Linux ext2/ext3 filesystems.
+config BUSYBOX_CONFIG_TUNE2FS
+	bool "tune2fs"
+	default n
+	help
+	  tune2fs allows the system administrator to adjust various tunable
+	  filesystem parameters on Linux ext2/ext3 filesystems.
 
 
 ### config E2LABEL
 ### config E2LABEL
 ###	bool "e2label"
 ###	bool "e2label"
-###	default n
+###	default y
 ###	depends on TUNE2FS
 ###	depends on TUNE2FS
 ###	help
 ###	help
 ###	  e2label will display or change the filesystem label on the ext2
 ###	  e2label will display or change the filesystem label on the ext2
@@ -59,7 +59,7 @@ config BUSYBOX_CONFIG_LSATTR
 ### NB: this one is now provided by util-linux/volume_id/*
 ### NB: this one is now provided by util-linux/volume_id/*
 ### config FINDFS
 ### config FINDFS
 ###	bool "findfs"
 ###	bool "findfs"
-###	default n
+###	default y
 ###	depends on TUNE2FS
 ###	depends on TUNE2FS
 ###	help
 ###	help
 ###	  findfs will search the disks in the system looking for a filesystem
 ###	  findfs will search the disks in the system looking for a filesystem

+ 12 - 0
package/busybox/config/editors/Config.in

@@ -168,6 +168,18 @@ config BUSYBOX_CONFIG_FEATURE_VI_WIN_RESIZE
 	help
 	help
 	  Make busybox vi behave nicely with terminals that get resized.
 	  Make busybox vi behave nicely with terminals that get resized.
 
 
+config BUSYBOX_CONFIG_FEATURE_VI_ASK_TERMINAL
+	bool "Use 'tell me cursor position' ESC sequence to measure window"
+	default y
+	depends on BUSYBOX_CONFIG_VI
+	help
+	  If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
+	  this option makes vi perform a last-ditch effort to find it:
+	  vi positions cursor to 999,999 and asks terminal to report real
+	  cursor position using "ESC [ 6 n" escape sequence, then reads stdin.
+
+	  This is not clean but helps a lot on serial lines and such.
+
 config BUSYBOX_CONFIG_FEATURE_VI_OPTIMIZE_CURSOR
 config BUSYBOX_CONFIG_FEATURE_VI_OPTIMIZE_CURSOR
 	bool "Optimize cursor movement"
 	bool "Optimize cursor movement"
 	default y
 	default y

+ 41 - 2
package/busybox/config/init/Config.in

@@ -5,6 +5,45 @@
 
 
 menu "Init Utilities"
 menu "Init Utilities"
 
 
+config BUSYBOX_CONFIG_BOOTCHARTD
+	bool "bootchartd"
+	default n
+	help
+	  bootchartd is commonly used to profile the boot process
+	  for the purpose of speeding it up. In this case, it is started
+	  by the kernel as the init process. This is configured by adding
+	  the init=/sbin/bootchartd option to the kernel command line.
+
+	  It can also be used to monitor the resource usage of a specific
+	  application or the running system in general. In this case,
+	  bootchartd is started interactively by running bootchartd start
+	  and stopped using bootchartd stop.
+
+config BUSYBOX_CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER
+	bool "Compatible, bloated header"
+	default n
+	depends on BUSYBOX_CONFIG_BOOTCHARTD
+	help
+	  Create extended header file compatible with "big" bootchartd.
+	  "Big" bootchartd is a shell script and it dumps some
+	  "convenient" info int the header, such as:
+	    title = Boot chart for `hostname` (`date`)
+	    system.uname = `uname -srvm`
+	    system.release = `cat /etc/DISTRO-release`
+	    system.cpu = `grep '^model name' /proc/cpuinfo | head -1` ($cpucount)
+	    system.kernel.options = `cat /proc/cmdline`
+	  This data is not mandatory for bootchart graph generation,
+	  and is considered bloat. Nevertheless, this option
+	  makes bootchartd applet to dump a subset of it.
+
+config BUSYBOX_CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE
+	bool "Support bootchartd.conf"
+	default n
+	depends on BUSYBOX_CONFIG_BOOTCHARTD
+	help
+	  Enable reading and parsing of $PWD/bootchartd.conf
+	  and /etc/bootchartd.conf files.
+
 config BUSYBOX_CONFIG_INIT
 config BUSYBOX_CONFIG_INIT
 	bool "init"
 	bool "init"
 	default y
 	default y
@@ -25,8 +64,8 @@ config BUSYBOX_CONFIG_FEATURE_KILL_REMOVED
 	depends on BUSYBOX_CONFIG_FEATURE_USE_INITTAB
 	depends on BUSYBOX_CONFIG_FEATURE_USE_INITTAB
 	help
 	help
 	  When respawn entries are removed from inittab and a SIGHUP is
 	  When respawn entries are removed from inittab and a SIGHUP is
-	  sent to init, this feature will kill the processes that have
-	  been removed.
+	  sent to init, this option will make init kill the processes
+	  that have been removed.
 
 
 config BUSYBOX_CONFIG_FEATURE_KILL_DELAY
 config BUSYBOX_CONFIG_FEATURE_KILL_DELAY
 	int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED
 	int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED

+ 0 - 16
package/busybox/config/loginutils/Config.in

@@ -181,22 +181,6 @@ config BUSYBOX_CONFIG_GETTY
 	help
 	help
 	  getty lets you log in on a tty, it is normally invoked by init.
 	  getty lets you log in on a tty, it is normally invoked by init.
 
 
-config BUSYBOX_CONFIG_FEATURE_UTMP
-	bool "Support utmp file"
-	depends on BUSYBOX_CONFIG_GETTY || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU || BUSYBOX_CONFIG_WHO
-	default n
-	help
-	  The file /var/run/utmp is used to track who is currently logged in.
-
-config BUSYBOX_CONFIG_FEATURE_WTMP
-	bool "Support wtmp file"
-	depends on BUSYBOX_CONFIG_GETTY || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU || BUSYBOX_CONFIG_LAST
-	default n
-	select BUSYBOX_CONFIG_FEATURE_UTMP
-	help
-	  The file /var/run/wtmp is used to track when user's have logged into
-	  and logged out of the system.
-
 config BUSYBOX_CONFIG_LOGIN
 config BUSYBOX_CONFIG_LOGIN
 	bool "login"
 	bool "login"
 	default n
 	default n

+ 34 - 2
package/busybox/config/miscutils/Config.in

@@ -5,6 +5,27 @@
 
 
 menu "Miscellaneous Utilities"
 menu "Miscellaneous Utilities"
 
 
+config BUSYBOX_CONFIG_CONSPY
+	bool "conspy"
+	default n
+	help
+	  A text-mode VNC like program for Linux virtual terminals.
+	  example:  conspy NUM      shared access to console num
+	  or        conspy -nd NUM  screenshot of console num
+	  or        conspy -cs NUM  poor man's GNU screen like
+
+config BUSYBOX_CONFIG_UBIATTACH
+	bool "ubiattach"
+	default n
+	help
+	  Attach MTD device to an UBI device.
+
+config BUSYBOX_CONFIG_UBIDETACH
+	bool "ubidetach"
+	default n
+	help
+	  Detach MTD device from an UBI device.
+
 config BUSYBOX_CONFIG_ADJTIMEX
 config BUSYBOX_CONFIG_ADJTIMEX
 	bool "adjtimex"
 	bool "adjtimex"
 	default n
 	default n
@@ -317,14 +338,14 @@ config BUSYBOX_CONFIG_INOTIFYD
 config BUSYBOX_CONFIG_LAST
 config BUSYBOX_CONFIG_LAST
 	bool "last"
 	bool "last"
 	default n
 	default n
-	select BUSYBOX_CONFIG_FEATURE_WTMP
+	depends on BUSYBOX_CONFIG_FEATURE_WTMP
 	help
 	help
 	  'last' displays a list of the last users that logged into the system.
 	  'last' displays a list of the last users that logged into the system.
 
 
 choice
 choice
 	prompt "Choose last implementation"
 	prompt "Choose last implementation"
 	depends on BUSYBOX_CONFIG_LAST
 	depends on BUSYBOX_CONFIG_LAST
-	default BUSYBOX_CONFIG_FEATURE_LAST_SMALL
+	default BUSYBOX_CONFIG_FEATURE_LAST_FANCY
 
 
 config BUSYBOX_CONFIG_FEATURE_LAST_SMALL
 config BUSYBOX_CONFIG_FEATURE_LAST_SMALL
 	bool "small"
 	bool "small"
@@ -551,6 +572,17 @@ config BUSYBOX_CONFIG_READAHEAD
 	  As readahead(2) blocks until each file has been read, it is best to
 	  As readahead(2) blocks until each file has been read, it is best to
 	  run this applet as a background job.
 	  run this applet as a background job.
 
 
+config BUSYBOX_CONFIG_RFKILL
+	bool "rfkill"
+	default n
+	help
+	  Enable/disable wireless devices.
+
+	  rfkill list : list all wireless devices
+	  rfkill list bluetooth : list all bluetooth devices
+	  rfkill list 1 : list device corresponding to the given index
+	  rfkill block|unblock wlan : block/unblock all wlan(wifi) devices
+
 config BUSYBOX_CONFIG_RUNLEVEL
 config BUSYBOX_CONFIG_RUNLEVEL
 	bool "runlevel"
 	bool "runlevel"
 	default n
 	default n

+ 8 - 2
package/busybox/config/modutils/Config.in

@@ -5,6 +5,12 @@
 
 
 menu "Linux Module Utilities"
 menu "Linux Module Utilities"
 
 
+config BUSYBOX_CONFIG_MODINFO
+	bool "modinfo"
+	default n
+	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 n
 	default n
@@ -226,7 +232,7 @@ config BUSYBOX_CONFIG_FEATURE_MODUTILS_SYMBOLS
 config BUSYBOX_CONFIG_DEFAULT_MODULES_DIR
 config BUSYBOX_CONFIG_DEFAULT_MODULES_DIR
 	string "Default directory containing modules"
 	string "Default directory containing modules"
 	default "/lib/modules"
 	default "/lib/modules"
-	depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL
+	depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL || BUSYBOX_CONFIG_MODINFO
 	help
 	help
 	  Directory that contains kernel modules.
 	  Directory that contains kernel modules.
 	  Defaults to "/lib/modules"
 	  Defaults to "/lib/modules"
@@ -234,7 +240,7 @@ config BUSYBOX_CONFIG_DEFAULT_MODULES_DIR
 config BUSYBOX_CONFIG_DEFAULT_DEPMOD_FILE
 config BUSYBOX_CONFIG_DEFAULT_DEPMOD_FILE
 	string "Default name of modules.dep"
 	string "Default name of modules.dep"
 	default "modules.dep"
 	default "modules.dep"
-	depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL
+	depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL || BUSYBOX_CONFIG_MODINFO
 	help
 	help
 	  Filename that contains kernel modules dependencies.
 	  Filename that contains kernel modules dependencies.
 	  Defaults to "modules.dep"
 	  Defaults to "modules.dep"

+ 73 - 57
package/busybox/config/networking/Config.in

@@ -5,6 +5,39 @@
 
 
 menu "Networking Utilities"
 menu "Networking Utilities"
 
 
+config BUSYBOX_CONFIG_NC
+	bool "nc"
+	default y
+	help
+	  A simple Unix utility which reads and writes data across network
+	  connections.
+
+config BUSYBOX_CONFIG_NC_SERVER
+	bool "Netcat server options (-l)"
+	default n
+	depends on BUSYBOX_CONFIG_NC
+	help
+	  Allow netcat to act as a server.
+
+config BUSYBOX_CONFIG_NC_EXTRA
+	bool "Netcat extensions (-eiw and filename)"
+	default n
+	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 n
+	depends on BUSYBOX_CONFIG_NC
+	help
+	  This option makes nc closely follow original nc-1.10.
+	  The code is about 2.5k bigger. It enables
+	  -s ADDR, -n, -u, -v, -o FILE, -z options, but loses
+	  busybox-specific extensions: -f FILE and -ll.
+
 config BUSYBOX_CONFIG_FEATURE_IPV6
 config BUSYBOX_CONFIG_FEATURE_IPV6
 	bool "Enable IPv6 support"
 	bool "Enable IPv6 support"
 	default y
 	default y
@@ -122,8 +155,8 @@ config BUSYBOX_CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST
 	default n
 	default n
 	depends on BUSYBOX_CONFIG_FTPD
 	depends on BUSYBOX_CONFIG_FTPD
 	help
 	help
-	  Some ftp-clients (among them KDE's Konqueror) issue illegal
-	  "LIST -la" requests. This option works around those problems.
+	  Some ftp clients (among them KDE's Konqueror) issue illegal
+	  "LIST -l" requests. This option works around such problems.
 	  It might prevent you from listing files starting with "-" and
 	  It might prevent you from listing files starting with "-" and
 	  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.
@@ -404,7 +437,7 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV6
 ### UNUSED
 ### UNUSED
 ###config FEATURE_IFUPDOWN_IPX
 ###config FEATURE_IFUPDOWN_IPX
 ###	bool "Support for IPX"
 ###	bool "Support for IPX"
-###	default n
+###	default y
 ###	depends on IFUPDOWN
 ###	depends on IFUPDOWN
 ###	help
 ###	help
 ###	  If this option is selected you can use busybox to work with IPX
 ###	  If this option is selected you can use busybox to work with IPX
@@ -621,35 +654,12 @@ config BUSYBOX_CONFIG_FEATURE_NAMEIF_EXTENDED
 	    new_interface_name  mac=00:80:C8:38:91:B5
 	    new_interface_name  mac=00:80:C8:38:91:B5
 	    new_interface_name  00:80:C8:38:91:B5
 	    new_interface_name  00:80:C8:38:91:B5
 
 
-config BUSYBOX_CONFIG_NC
-	bool "nc"
-	default y
-	help
-	  A simple Unix utility which reads and writes data across network
-	  connections.
-
 config BUSYBOX_CONFIG_NETMSG
 config BUSYBOX_CONFIG_NETMSG
 	bool "netmsg"
 	bool "netmsg"
 	default y
 	default y
 	help
 	help
 	  simple program for sending udp broadcast messages
 	  simple program for sending udp broadcast messages
 
 
-config BUSYBOX_CONFIG_NC_SERVER
-	bool "Netcat server options (-l)"
-	default n
-	depends on BUSYBOX_CONFIG_NC
-	help
-	  Allow netcat to act as a server.
-
-config BUSYBOX_CONFIG_NC_EXTRA
-	bool "Netcat extensions (-eiw and filename)"
-	default n
-	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_NETSTAT
 config BUSYBOX_CONFIG_NETSTAT
 	bool "netstat"
 	bool "netstat"
 	default y
 	default y
@@ -735,7 +745,7 @@ config BUSYBOX_CONFIG_SLATTACH
 
 
 #config TC
 #config TC
 #	bool "tc"
 #	bool "tc"
-#	default n
+#	default y
 #	help
 #	help
 #	  show / manipulate traffic control settings
 #	  show / manipulate traffic control settings
 #
 #
@@ -743,6 +753,13 @@ config BUSYBOX_CONFIG_SLATTACH
 #	def_bool n
 #	def_bool n
 #	depends on TC
 #	depends on TC
 
 
+config BUSYBOX_CONFIG_TCPSVD
+	bool "tcpsvd"
+	default n
+	help
+	  tcpsvd listens on a TCP port and runs a program for each new
+	  connection.
+
 config BUSYBOX_CONFIG_TELNET
 config BUSYBOX_CONFIG_TELNET
 	bool "telnet"
 	bool "telnet"
 	default y
 	default y
@@ -858,8 +875,11 @@ config BUSYBOX_CONFIG_TFTPD
 	  In other words: it should be run from inetd in nowait mode,
 	  In other words: it should be run from inetd in nowait mode,
 	  or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
 	  or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
 
 
+comment "Common options for tftp/tftpd"
+	depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
+
 config BUSYBOX_CONFIG_FEATURE_TFTP_GET
 config BUSYBOX_CONFIG_FEATURE_TFTP_GET
-	bool "Enable \"get\" command"
+	bool "Enable 'tftp get' and/or tftpd upload code"
 	default n
 	default n
 	depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
 	depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
 	help
 	help
@@ -867,8 +887,11 @@ config BUSYBOX_CONFIG_FEATURE_TFTP_GET
 	  a client to retrieve a file from a TFTP server.
 	  a client to retrieve a file from a TFTP server.
 	  Also enable upload support in tftpd, if tftpd is selected.
 	  Also enable upload support in tftpd, if tftpd is selected.
 
 
+	  Note: this option does _not_ make tftpd capable of download
+	  (the usual operation people need from it)!
+
 config BUSYBOX_CONFIG_FEATURE_TFTP_PUT
 config BUSYBOX_CONFIG_FEATURE_TFTP_PUT
-	bool "Enable \"put\" command"
+	bool "Enable 'tftp put' and/or tftpd download code"
 	default n
 	default n
 	depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
 	depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
 	help
 	help
@@ -935,6 +958,20 @@ config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_USE_ICMP
 	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
+	bool "tunctl"
+	default n
+	help
+	  tunctl creates or deletes tun devices.
+
+config BUSYBOX_CONFIG_FEATURE_TUNCTL_UG
+	bool "Support owner:group assignment"
+	default n
+	depends on BUSYBOX_CONFIG_TUNCTL
+	help
+	  Allow to specify owner and group of newly created interface.
+	  340 bytes of pure bloat. Say no here.
+
 source package/busybox/config/networking/udhcp/Config.in
 source package/busybox/config/networking/udhcp/Config.in
 
 
 config BUSYBOX_CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS
 config BUSYBOX_CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS
@@ -946,6 +983,13 @@ config BUSYBOX_CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS
 	  Intended to alter options not available in /etc/network/interfaces.
 	  Intended to alter options not available in /etc/network/interfaces.
 	  (IE: --syslog --background etc...)
 	  (IE: --syslog --background etc...)
 
 
+config BUSYBOX_CONFIG_UDPSVD
+	bool "udpsvd"
+	default n
+	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 y
 	default y
@@ -992,32 +1036,4 @@ 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.
 
 
-config BUSYBOX_CONFIG_TCPSVD
-	bool "tcpsvd"
-	default n
-	help
-	  tcpsvd listens on a TCP port and runs a program for each new
-	  connection.
-
-config BUSYBOX_CONFIG_TUNCTL
-	bool "tunctl"
-	default n
-	help
-	  tunctl creates or deletes tun devices.
-
-config BUSYBOX_CONFIG_FEATURE_TUNCTL_UG
-	bool "Support owner:group assignment"
-	default n
-	depends on BUSYBOX_CONFIG_TUNCTL
-	help
-	  Allow to specify owner and group of newly created interface.
-	  340 bytes of pure bloat. Say no here.
-
-config BUSYBOX_CONFIG_UDPSVD
-	bool "udpsvd"
-	default n
-	help
-	  udpsvd listens on an UDP port and runs a program for each new
-	  connection.
-
 endmenu
 endmenu

+ 2 - 1
package/busybox/config/networking/udhcp/Config.in

@@ -92,7 +92,8 @@ config BUSYBOX_CONFIG_FEATURE_UDHCP_RFC3397
 	depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
 	depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
 	help
 	help
 	  If selected, both client and server will support passing of domain
 	  If selected, both client and server will support passing of domain
-	  search lists via option 119, specified in RFC3397.
+	  search lists via option 119, specified in RFC 3397,
+	  and SIP servers option 120, specified in RFC 3361.
 
 
 config BUSYBOX_CONFIG_UDHCPC_DEFAULT_SCRIPT
 config BUSYBOX_CONFIG_UDHCPC_DEFAULT_SCRIPT
 	string "Absolute path to config script"
 	string "Absolute path to config script"

+ 7 - 0
package/busybox/config/procps/Config.in

@@ -5,6 +5,13 @@
 
 
 menu "Process Utilities"
 menu "Process Utilities"
 
 
+config BUSYBOX_CONFIG_SMEMCAP
+	bool "smemcap"
+	default n
+	help
+	  smemcap is a tool for capturing process data for smem,
+	  a memory usage statistic tool.
+
 config BUSYBOX_CONFIG_FREE
 config BUSYBOX_CONFIG_FREE
 	bool "free"
 	bool "free"
 	default y
 	default y

+ 4 - 0
package/busybox/config/runit/Config.in

@@ -61,22 +61,26 @@ config BUSYBOX_CONFIG_CHPST
 
 
 config BUSYBOX_CONFIG_SETUIDGID
 config BUSYBOX_CONFIG_SETUIDGID
 	bool "setuidgid"
 	bool "setuidgid"
+	default n
 	help
 	help
 	  Sets soft resource limits as specified by options
 	  Sets soft resource limits as specified by options
 
 
 config BUSYBOX_CONFIG_ENVUIDGID
 config BUSYBOX_CONFIG_ENVUIDGID
 	bool "envuidgid"
 	bool "envuidgid"
+	default n
 	help
 	help
 	  Sets $UID to account's uid and $GID to account's gid
 	  Sets $UID to account's uid and $GID to account's gid
 
 
 config BUSYBOX_CONFIG_ENVDIR
 config BUSYBOX_CONFIG_ENVDIR
 	bool "envdir"
 	bool "envdir"
+	default n
 	help
 	help
 	  Sets various environment variables as specified by files
 	  Sets various environment variables as specified by files
 	  in the given directory
 	  in the given directory
 
 
 config BUSYBOX_CONFIG_SOFTLIMIT
 config BUSYBOX_CONFIG_SOFTLIMIT
 	bool "softlimit"
 	bool "softlimit"
+	default n
 	help
 	help
 	  Sets soft resource limits as specified by options
 	  Sets soft resource limits as specified by options
 
 

+ 0 - 1
package/busybox/config/selinux/Config.in

@@ -120,4 +120,3 @@ config BUSYBOX_CONFIG_SESTATUS
 	  Displays the status of SELinux.
 	  Displays the status of SELinux.
 
 
 endmenu
 endmenu
-

+ 71 - 32
package/busybox/config/shell/Config.in

@@ -5,34 +5,7 @@
 
 
 menu "Shells"
 menu "Shells"
 
 
-choice
-	prompt "Choose your default shell"
-	default BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
-	help
-	  Choose a shell. The ash shell is the most bash compatible
-	  and full featured one.
-
-config BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
-	select BUSYBOX_CONFIG_ASH
-	bool "ash"
-	depends on !BUSYBOX_CONFIG_NOMMU
 
 
-config BUSYBOX_CONFIG_FEATURE_SH_IS_HUSH
-	select BUSYBOX_CONFIG_HUSH
-	bool "hush"
-
-####config FEATURE_SH_IS_LASH
-####	select LASH
-####	bool "lash"
-
-####config FEATURE_SH_IS_MSH
-####	select MSH
-####	bool "msh"
-
-config BUSYBOX_CONFIG_FEATURE_SH_IS_NONE
-	bool "none"
-
-endchoice
 
 
 config BUSYBOX_CONFIG_ASH
 config BUSYBOX_CONFIG_ASH
 	bool "ash"
 	bool "ash"
@@ -243,6 +216,61 @@ config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
 	  Enable pseudorandom generator and dynamic variable "$RANDOM".
 	  Enable pseudorandom generator and dynamic variable "$RANDOM".
 	  Each read of "$RANDOM" will generate a new pseudorandom value.
 	  Each read of "$RANDOM" will generate a new pseudorandom value.
 
 
+
+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_LASH
 config BUSYBOX_CONFIG_LASH
 	bool "lash (deprecated: aliased to hush)"
 	bool "lash (deprecated: aliased to hush)"
 	default n
 	default n
@@ -285,14 +313,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 n
 	default n
-	depends on BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
+	depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
 	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 n
 	default n
-	depends on (BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH) && BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
+	depends on (BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH) && BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
 	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
@@ -325,7 +353,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 n
 	default n
-	depends on (BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH) && BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
+	depends on (BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH) && BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
 	help
 	help
 	  This option causes busybox shells [currently only ash]
 	  This option causes busybox shells [currently only ash]
 	  to not execute typical fork/exec/wait sequence, but call <applet>_main
 	  to not execute typical fork/exec/wait sequence, but call <applet>_main
@@ -354,9 +382,20 @@ config BUSYBOX_CONFIG_CTTYHACK
 	  It analyzes stdin with various ioctls, trying to determine whether
 	  It analyzes stdin with various ioctls, trying to determine whether
 	  it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
 	  it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
 	  If it detects one, it closes stdin/out/err and reopens that device.
 	  If it detects one, it closes stdin/out/err and reopens that device.
-	  Then it executes given program. Usage example for /etc/inittab
-	  (for busybox init):
+	  Then it executes given program. Opening the device will make
+	  that device a controlling tty. This may require cttyhack
+	  to be a session leader.
+
+	  Example for /etc/inittab (for busybox init):
 
 
 	  ::respawn:/bin/cttyhack /bin/sh
 	  ::respawn:/bin/cttyhack /bin/sh
 
 
+	  Giving controlling tty to shell running with PID 1:
+
+	  $ exec cttyhack sh
+
+	  Starting an interactive shell from boot shell script:
+
+	  setsid cttyhack sh
+
 endmenu
 endmenu

+ 10 - 1
package/busybox/config/sysklogd/Config.in

@@ -50,6 +50,16 @@ config BUSYBOX_CONFIG_FEATURE_SYSLOGD_DUP
 	  Option -D instructs syslogd to drop consecutive messages
 	  Option -D instructs syslogd to drop consecutive messages
 	  which are totally the same.
 	  which are totally the same.
 
 
+config BUSYBOX_CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE
+	int "Read buffer size in bytes"
+	default 256
+	range 256 20000
+	depends on BUSYBOX_CONFIG_SYSLOGD
+	help
+	  This option sets the size of the syslog read buffer.
+	  Actual memory usage increases around five times the
+	  change done here.
+
 config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
 config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
 	bool "Circular Buffer support"
 	bool "Circular Buffer support"
 	default y
 	default y
@@ -115,4 +125,3 @@ config BUSYBOX_CONFIG_LOGGER
 	    problems that occur within programs and scripts.
 	    problems that occur within programs and scripts.
 
 
 endmenu
 endmenu
-

+ 251 - 224
package/busybox/config/util-linux/Config.in

@@ -5,6 +5,12 @@
 
 
 menu "Linux System Utilities"
 menu "Linux System Utilities"
 
 
+config BUSYBOX_CONFIG_REV
+	bool "rev"
+	default n
+	help
+	  Reverse lines of a file or files.
+
 config BUSYBOX_CONFIG_ACPID
 config BUSYBOX_CONFIG_ACPID
 	bool "acpid"
 	bool "acpid"
 	default n
 	default n
@@ -191,6 +197,12 @@ config BUSYBOX_CONFIG_FINDFS
 	  WARNING:
 	  WARNING:
 	  With all submodules selected, it will add ~8k to busybox.
 	  With all submodules selected, it will add ~8k to busybox.
 
 
+config BUSYBOX_CONFIG_FLOCK
+	bool "flock"
+	default n
+	help
+	  Manage locks from shell scripts
+
 config BUSYBOX_CONFIG_FREERAMDISK
 config BUSYBOX_CONFIG_FREERAMDISK
 	bool "freeramdisk"
 	bool "freeramdisk"
 	default n
 	default n
@@ -227,9 +239,6 @@ config BUSYBOX_CONFIG_MKFS_MINIX
 	  with little overhead. If you wish to be able to create minix
 	  with little overhead. If you wish to be able to create minix
 	  filesystems this utility will do the job for you.
 	  filesystems this utility will do the job for you.
 
 
-comment "Minix filesystem support"
-	depends on BUSYBOX_CONFIG_FSCK_MINIX || BUSYBOX_CONFIG_MKFS_MINIX
-
 config BUSYBOX_CONFIG_FEATURE_MINIX2
 config BUSYBOX_CONFIG_FEATURE_MINIX2
 	bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
 	bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
 	default n
 	default n
@@ -244,6 +253,7 @@ config BUSYBOX_CONFIG_MKFS_REISER
 	default n
 	default n
 	help
 	help
 	  Utility to create ReiserFS filesystems.
 	  Utility to create ReiserFS filesystems.
+	  Note: this applet needs a lot of testing and polishing.
 
 
 config BUSYBOX_CONFIG_MKFS_VFAT
 config BUSYBOX_CONFIG_MKFS_VFAT
 	bool "mkfs_vfat"
 	bool "mkfs_vfat"
@@ -289,7 +299,7 @@ config BUSYBOX_CONFIG_FEATURE_HEXDUMP_REVERSE
 config BUSYBOX_CONFIG_HD
 config BUSYBOX_CONFIG_HD
 	bool "hd"
 	bool "hd"
 	default n
 	default n
-	select BUSYBOX_CONFIG_HEXDUMP
+	depends on BUSYBOX_CONFIG_HEXDUMP
 	help
 	help
 	  hd is an alias to hexdump -C.
 	  hd is an alias to hexdump -C.
 
 
@@ -464,221 +474,6 @@ config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
 	  will be unable to determine the current screen size, and will be
 	  will be unable to determine the current screen size, and will be
 	  unable to move the cursor.
 	  unable to move the cursor.
 
 
-config BUSYBOX_CONFIG_VOLUMEID
-	bool #No description makes it a hidden option
-	default n
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXT
-	bool "Ext filesystem"
-	default y
-	depends on BUSYBOX_CONFIG_VOLUMEID
-	help
-	  TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BTRFS
-	bool "btrfs filesystem"
-	default y
-	depends on BUSYBOX_CONFIG_VOLUMEID
-	help
-	  TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_REISERFS
-	bool "Reiser filesystem"
-	default y
-	depends on BUSYBOX_CONFIG_VOLUMEID
-	help
-	  TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_FAT
-	bool "fat filesystem"
-	default y
-	depends on BUSYBOX_CONFIG_VOLUMEID
-	help
-	  TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_HFS
-	bool "hfs filesystem"
-	default y
-	depends on BUSYBOX_CONFIG_VOLUMEID
-	help
-	  TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_JFS
-	bool "jfs filesystem"
-	default n
-	depends on BUSYBOX_CONFIG_VOLUMEID
-	help
-	  TODO
-
-### config FEATURE_VOLUMEID_UFS
-###	bool "ufs filesystem"
-###	default n
-###	depends on VOLUMEID
-###	help
-###	  TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_XFS
-	bool "xfs filesystem"
-	default y
-	depends on BUSYBOX_CONFIG_VOLUMEID
-	help
-	  TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_NTFS
-	bool "ntfs filesystem"
-	default y
-	depends on BUSYBOX_CONFIG_VOLUMEID
-	help
-	  TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ISO9660
-	bool "iso9660 filesystem"
-	default y
-	depends on BUSYBOX_CONFIG_VOLUMEID
-	help
-	  TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UDF
-	bool "udf filesystem"
-	default y
-	depends on BUSYBOX_CONFIG_VOLUMEID
-	help
-	  TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LUKS
-	bool "luks filesystem"
-	default n
-	depends on BUSYBOX_CONFIG_VOLUMEID
-	help
-	  TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXSWAP
-	bool "linux swap filesystem"
-	default y
-	depends on BUSYBOX_CONFIG_VOLUMEID
-	help
-	  TODO
-
-### config FEATURE_VOLUMEID_LVM
-###	bool "lvm"
-###	default n
-###	depends on VOLUMEID
-###	help
-###	  TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_CRAMFS
-	bool "cramfs filesystem"
-	default n
-	depends on BUSYBOX_CONFIG_VOLUMEID
-	help
-	  TODO
-
-### config FEATURE_VOLUMEID_HPFS
-###	bool "hpfs filesystem"
-###	default n
-###	depends on VOLUMEID
-###	help
-###	  TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ROMFS
-	bool "romfs filesystem"
-	default n
-	depends on BUSYBOX_CONFIG_VOLUMEID
-	help
-	  TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_SYSV
-	bool "sysv filesystem"
-	default n
-	depends on BUSYBOX_CONFIG_VOLUMEID
-	help
-	  TODO
-
-### config FEATURE_VOLUMEID_MINIX
-###	bool "minix filesystem"
-###	default n
-###	depends on VOLUMEID
-###	help
-###	  TODO
-
-### These only detect partition tables - not used (yet?)
-### config FEATURE_VOLUMEID_MAC
-###	bool "mac filesystem"
-###	default n
-###	depends on VOLUMEID
-###	help
-###	  TODO
-###
-### config FEATURE_VOLUMEID_MSDOS
-###	bool "msdos filesystem"
-###	default n
-###	depends on VOLUMEID
-###	help
-###	  TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_OCFS2
-	bool "ocfs2 filesystem"
-	default n
-	depends on BUSYBOX_CONFIG_VOLUMEID
-	help
-	  TODO
-
-### config FEATURE_VOLUMEID_HIGHPOINTRAID
-###	bool "highpoint raid"
-###	default n
-###	depends on VOLUMEID
-###	help
-###	  TODO
-
-### config FEATURE_VOLUMEID_ISWRAID
-###	bool "intel raid"
-###	default n
-###	depends on VOLUMEID
-###	help
-###	  TODO
-
-### config FEATURE_VOLUMEID_LSIRAID
-###	bool "lsi raid"
-###	default n
-###	depends on VOLUMEID
-###	help
-###	  TODO
-
-### config FEATURE_VOLUMEID_VIARAID
-###	bool "via raid"
-###	default n
-###	depends on VOLUMEID
-###	help
-###	  TODO
-
-### config FEATURE_VOLUMEID_SILICONRAID
-###	bool "silicon raid"
-###	default n
-###	depends on VOLUMEID
-###	help
-###	  TODO
-
-### config FEATURE_VOLUMEID_NVIDIARAID
-###	bool "nvidia raid"
-###	default n
-###	depends on VOLUMEID
-###	help
-###	  TODO
-
-### config FEATURE_VOLUMEID_PROMISERAID
-###	bool "promise raid"
-###	default n
-###	depends on VOLUMEID
-###	help
-###	  TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXRAID
-	bool "linuxraid"
-	default y
-	depends on BUSYBOX_CONFIG_VOLUMEID
-	help
-	  TODO
-
 config BUSYBOX_CONFIG_MOUNT
 config BUSYBOX_CONFIG_MOUNT
 	bool "mount"
 	bool "mount"
 	default y
 	default y
@@ -719,7 +514,7 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_HELPERS
 	  The idea is to use such virtual filesystems in /etc/fstab.
 	  The idea is to use such virtual filesystems in /etc/fstab.
 
 
 config BUSYBOX_CONFIG_FEATURE_MOUNT_LABEL
 config BUSYBOX_CONFIG_FEATURE_MOUNT_LABEL
-	bool "Support specifiying devices by label or UUID"
+	bool "Support specifying devices by label or UUID"
 	default n
 	default n
 	depends on BUSYBOX_CONFIG_MOUNT
 	depends on BUSYBOX_CONFIG_MOUNT
 	select BUSYBOX_CONFIG_VOLUMEID
 	select BUSYBOX_CONFIG_VOLUMEID
@@ -783,9 +578,9 @@ config BUSYBOX_CONFIG_RDATE
 	  systems.
 	  systems.
 
 
 config BUSYBOX_CONFIG_RDEV
 config BUSYBOX_CONFIG_RDEV
-       bool "rdev"
-       default n
-       help
+	bool "rdev"
+	default n
+	help
 	  Print the device node associated with the filesystem mounted at '/'.
 	  Print the device node associated with the filesystem mounted at '/'.
 
 
 config BUSYBOX_CONFIG_READPROFILE
 config BUSYBOX_CONFIG_READPROFILE
@@ -895,6 +690,18 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
 	  specify an offset or cryptographic options to the loopback device.
 	  specify an offset or cryptographic options to the loopback device.
 	  (If you don't want umount to free the loop device, use "umount -D".)
 	  (If you don't want umount to free the loop device, use "umount -D".)
 
 
+config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP_CREATE
+	bool "Create new loopback devices if needed"
+	default n
+	depends on BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
+	help
+	  Linux kernels >= 2.6.24 support unlimited loopback devices. They are
+	  allocated for use when trying to use a loop device. The loop device
+	  must however exist.
+
+	  This feature lets mount to try to create next /dev/loopN device
+	  if it does not find a free one.
+
 config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
 config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
 	bool "Support for the old /etc/mtab file"
 	bool "Support for the old /etc/mtab file"
 	default n
 	default n
@@ -912,11 +719,231 @@ config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
 	  If you must use this, keep in mind it's inherently brittle (for
 	  If you must use this, keep in mind it's inherently brittle (for
 	  example a mount under chroot won't update it), can't handle modern
 	  example a mount under chroot won't update it), can't handle modern
 	  features like separate per-process filesystem namespaces, requires
 	  features like separate per-process filesystem namespaces, requires
-	  that your /etc directory be writeable, tends to get easily confused
+	  that your /etc directory be writable, tends to get easily confused
 	  by --bind or --move mounts, won't update if you rename a directory
 	  by --bind or --move mounts, won't update if you rename a directory
 	  that contains a mount point, and so on. (In brief: avoid.)
 	  that contains a mount point, and so on. (In brief: avoid.)
 
 
 	  About the only reason to use this is if you've removed /proc from
 	  About the only reason to use this is if you've removed /proc from
 	  your kernel.
 	  your kernel.
 
 
+config BUSYBOX_CONFIG_VOLUMEID
+	bool #No description makes it a hidden option
+	default n
+
+menu "Filesystem/Volume identification"
+	depends on BUSYBOX_CONFIG_VOLUMEID
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXT
+	bool "Ext filesystem"
+	default y
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	  TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BTRFS
+	bool "btrfs filesystem"
+	default y
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	  TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_REISERFS
+	bool "Reiser filesystem"
+	default y
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	  TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_FAT
+	bool "fat filesystem"
+	default y
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	  TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_HFS
+	bool "hfs filesystem"
+	default y
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	  TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_JFS
+	bool "jfs filesystem"
+	default n
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	  TODO
+
+### config FEATURE_VOLUMEID_UFS
+###	bool "ufs filesystem"
+###	default y
+###	depends on VOLUMEID
+###	help
+###	  TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_XFS
+	bool "xfs filesystem"
+	default y
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	  TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_NTFS
+	bool "ntfs filesystem"
+	default y
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	  TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ISO9660
+	bool "iso9660 filesystem"
+	default y
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	  TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UDF
+	bool "udf filesystem"
+	default y
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	  TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LUKS
+	bool "luks filesystem"
+	default n
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	  TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXSWAP
+	bool "linux swap filesystem"
+	default y
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	  TODO
+
+### config FEATURE_VOLUMEID_LVM
+###	bool "lvm"
+###	default y
+###	depends on VOLUMEID
+###	help
+###	  TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_CRAMFS
+	bool "cramfs filesystem"
+	default n
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	  TODO
+
+### config FEATURE_VOLUMEID_HPFS
+###	bool "hpfs filesystem"
+###	default y
+###	depends on VOLUMEID
+###	help
+###	  TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ROMFS
+	bool "romfs filesystem"
+	default n
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	  TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_SYSV
+	bool "sysv filesystem"
+	default n
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	  TODO
+
+### config FEATURE_VOLUMEID_MINIX
+###	bool "minix filesystem"
+###	default y
+###	depends on VOLUMEID
+###	help
+###	  TODO
+
+### These only detect partition tables - not used (yet?)
+### config FEATURE_VOLUMEID_MAC
+###	bool "mac filesystem"
+###	default y
+###	depends on VOLUMEID
+###	help
+###	  TODO
+###
+### config FEATURE_VOLUMEID_MSDOS
+###	bool "msdos filesystem"
+###	default y
+###	depends on VOLUMEID
+###	help
+###	  TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_OCFS2
+	bool "ocfs2 filesystem"
+	default n
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	  TODO
+
+### config FEATURE_VOLUMEID_HIGHPOINTRAID
+###	bool "highpoint raid"
+###	default y
+###	depends on VOLUMEID
+###	help
+###	  TODO
+
+### config FEATURE_VOLUMEID_ISWRAID
+###	bool "intel raid"
+###	default y
+###	depends on VOLUMEID
+###	help
+###	  TODO
+
+### config FEATURE_VOLUMEID_LSIRAID
+###	bool "lsi raid"
+###	default y
+###	depends on VOLUMEID
+###	help
+###	  TODO
+
+### config FEATURE_VOLUMEID_VIARAID
+###	bool "via raid"
+###	default y
+###	depends on VOLUMEID
+###	help
+###	  TODO
+
+### config FEATURE_VOLUMEID_SILICONRAID
+###	bool "silicon raid"
+###	default y
+###	depends on VOLUMEID
+###	help
+###	  TODO
+
+### config FEATURE_VOLUMEID_NVIDIARAID
+###	bool "nvidia raid"
+###	default y
+###	depends on VOLUMEID
+###	help
+###	  TODO
+
+### config FEATURE_VOLUMEID_PROMISERAID
+###	bool "promise raid"
+###	default y
+###	depends on VOLUMEID
+###	help
+###	  TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXRAID
+	bool "linuxraid"
+	default y
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	  TODO
+
+endmenu
+
 endmenu
 endmenu

+ 11 - 0
package/busybox/patches/000-autoconf.patch

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

+ 0 - 0
package/busybox/patches/920-mktemp.patch → package/busybox/patches/000-upstream-mktemp.patch


+ 0 - 0
package/busybox/patches/921-sed.patch → package/busybox/patches/000-upstream-sed.patch


+ 0 - 0
package/busybox/patches/922-shell.patch → package/busybox/patches/000-upstream-shell.patch


+ 25 - 15
package/busybox/patches/241-udhcpc-oversized_packets.patch

@@ -12,7 +12,7 @@
  /* Construct a ip/udp header for a packet, send packet */
  /* Construct a ip/udp header for a packet, send packet */
  int FAST_FUNC udhcp_send_raw_packet(struct dhcp_packet *dhcp_pkt,
  int FAST_FUNC udhcp_send_raw_packet(struct dhcp_packet *dhcp_pkt,
  		uint32_t source_nip, int source_port,
  		uint32_t source_nip, int source_port,
-@@ -173,11 +178,12 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+@@ -173,10 +178,10 @@ int FAST_FUNC udhcp_send_raw_packet(stru
  {
  {
  	struct sockaddr_ll dest_sll;
  	struct sockaddr_ll dest_sll;
  	struct ip_udp_dhcp_packet packet;
  	struct ip_udp_dhcp_packet packet;
@@ -20,27 +20,36 @@
  	int fd;
  	int fd;
  	int result = -1;
  	int result = -1;
  	const char *msg;
  	const char *msg;
- 
 +	int p_len = udhcp_get_payload_len(dhcp_pkt);
 +	int p_len = udhcp_get_payload_len(dhcp_pkt);
-+
+ 
  	fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP));
  	fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP));
  	if (fd < 0) {
  	if (fd < 0) {
- 		msg = "socket(%s)";
-@@ -186,7 +192,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+@@ -185,8 +190,8 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+ 	}
  
  
  	memset(&dest_sll, 0, sizeof(dest_sll));
  	memset(&dest_sll, 0, sizeof(dest_sll));
- 	memset(&packet, 0, offsetof(struct ip_udp_dhcp_packet, data));
+-	memset(&packet, 0, offsetof(struct ip_udp_dhcp_packet, data));
 -	packet.data = *dhcp_pkt; /* struct copy */
 -	packet.data = *dhcp_pkt; /* struct copy */
++	memset(&packet, 0, sizeof(packet));
 +	memcpy(&(packet.data), dhcp_pkt, p_len);
 +	memcpy(&(packet.data), dhcp_pkt, p_len);
  
  
  	dest_sll.sll_family = AF_PACKET;
  	dest_sll.sll_family = AF_PACKET;
  	dest_sll.sll_protocol = htons(ETH_P_IP);
  	dest_sll.sll_protocol = htons(ETH_P_IP);
-@@ -208,27 +214,25 @@ int FAST_FUNC udhcp_send_raw_packet(stru
- 	 * In order to work with those buggy servers,
- 	 * we truncate packets after end option byte.
- 	 */
--	padding = DHCP_OPTIONS_BUFSIZE - 1 - udhcp_end_option(packet.data.options);
+@@ -199,36 +204,24 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+ 		goto ret_close;
+ 	}
  
  
+-	/* We were sending full-sized DHCP packets (zero padded),
+-	 * but some badly configured servers were seen dropping them.
+-	 * Apparently they drop all DHCP packets >576 *ethernet* octets big,
+-	 * whereas they may only drop packets >576 *IP* octets big
+-	 * (which for typical Ethernet II means 590 octets: 6+6+2 + 576).
+-	 *
+-	 * In order to work with those buggy servers,
+-	 * we truncate packets after end option byte.
+-	 */
+-	padding = DHCP_OPTIONS_BUFSIZE - 1 - udhcp_end_option(packet.data.options);
+-
  	packet.ip.protocol = IPPROTO_UDP;
  	packet.ip.protocol = IPPROTO_UDP;
  	packet.ip.saddr = source_nip;
  	packet.ip.saddr = source_nip;
  	packet.ip.daddr = dest_nip;
  	packet.ip.daddr = dest_nip;
@@ -65,11 +74,11 @@
  
  
  	udhcp_dump_packet(dhcp_pkt);
  	udhcp_dump_packet(dhcp_pkt);
 -	result = sendto(fd, &packet, IP_UPD_DHCP_SIZE - padding, /*flags:*/ 0,
 -	result = sendto(fd, &packet, IP_UPD_DHCP_SIZE - padding, /*flags:*/ 0,
-+	result = sendto(fd, &packet, p_len, 0,
++	result = sendto(fd, &packet, p_len, /*flags:*/ 0,
  			(struct sockaddr *) &dest_sll, sizeof(dest_sll));
  			(struct sockaddr *) &dest_sll, sizeof(dest_sll));
  	msg = "sendto";
  	msg = "sendto";
   ret_close:
   ret_close:
-@@ -246,7 +250,6 @@ int FAST_FUNC udhcp_send_kernel_packet(s
+@@ -246,7 +239,6 @@ int FAST_FUNC udhcp_send_kernel_packet(s
  		uint32_t dest_nip, int dest_port)
  		uint32_t dest_nip, int dest_port)
  {
  {
  	struct sockaddr_in client;
  	struct sockaddr_in client;
@@ -77,10 +86,11 @@
  	int fd;
  	int fd;
  	int result = -1;
  	int result = -1;
  	const char *msg;
  	const char *msg;
-@@ -278,8 +281,7 @@ int FAST_FUNC udhcp_send_kernel_packet(s
+@@ -277,9 +269,7 @@ int FAST_FUNC udhcp_send_kernel_packet(s
+ 	}
  
  
  	udhcp_dump_packet(dhcp_pkt);
  	udhcp_dump_packet(dhcp_pkt);
- 
+-
 -	padding = DHCP_OPTIONS_BUFSIZE - 1 - udhcp_end_option(dhcp_pkt->options);
 -	padding = DHCP_OPTIONS_BUFSIZE - 1 - udhcp_end_option(dhcp_pkt->options);
 -	result = safe_write(fd, dhcp_pkt, DHCP_SIZE - padding);
 -	result = safe_write(fd, dhcp_pkt, DHCP_SIZE - padding);
 +	result = safe_write(fd, dhcp_pkt, udhcp_get_payload_len(dhcp_pkt));
 +	result = safe_write(fd, dhcp_pkt, udhcp_get_payload_len(dhcp_pkt));

+ 2 - 2
package/busybox/patches/250-ash_export-n.patch

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

+ 18 - 13
package/busybox/patches/300-netmsg.patch

@@ -8,18 +8,6 @@
  IF_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_DROP))
  IF_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_DROP))
  IF_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_DROP))
  IF_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_DROP))
  IF_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_DROP))
  IF_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_DROP))
---- a/include/usage.src.h
-+++ b/include/usage.src.h
-@@ -2961,6 +2961,9 @@ INSERT
-        " or\n" \
-        "$ nameif -c /etc/my_mactab_file\n" \
- 
-+#define netmsg_trivial_usage NOUSAGE_STR
-+#define netmsg_full_usage ""
-+
- #define netstat_trivial_usage \
-        "[-laentuwxr"IF_FEATURE_NETSTAT_WIDE("W")IF_FEATURE_NETSTAT_PRG("p")"]"
- #define netstat_full_usage "\n\n" \
 --- a/networking/Config.src
 --- a/networking/Config.src
 +++ b/networking/Config.src
 +++ b/networking/Config.src
 @@ -623,6 +623,12 @@ config FEATURE_NAMEIF_EXTENDED
 @@ -623,6 +623,12 @@ config FEATURE_NAMEIF_EXTENDED
@@ -30,7 +18,7 @@
 +	bool "netmsg"
 +	bool "netmsg"
 +	default n
 +	default n
 +	help
 +	help
-+	 simple program for sending udp broadcast messages
++	  simple program for sending udp broadcast messages
 +
 +
  config NETSTAT
  config NETSTAT
  	bool "netstat"
  	bool "netstat"
@@ -111,3 +99,20 @@
 +	close(s);
 +	close(s);
 +	exit(1);
 +	exit(1);
 +}
 +}
+--- a/include/usage.src.h
++++ b/include/usage.src.h
+@@ -1,3 +1,4 @@
++
+ /* vi: set sw=8 ts=8: */
+ /*
+  * This file suffers from chronically incorrect tabification
+@@ -2961,6 +2962,9 @@ INSERT
+        " or\n" \
+        "$ nameif -c /etc/my_mactab_file\n" \
+ 
++#define netmsg_trivial_usage NOUSAGE_STR
++#define netmsg_full_usage ""
++
+ #define netstat_trivial_usage \
+        "[-laentuwxr"IF_FEATURE_NETSTAT_WIDE("W")IF_FEATURE_NETSTAT_PRG("p")"]"
+ #define netstat_full_usage "\n\n" \

+ 1 - 1
package/busybox/patches/310-passwd_access.patch

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

+ 1 - 1
package/busybox/patches/340-lock_util.patch

@@ -10,7 +10,7 @@
  IF_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_DROP, logname))
  IF_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_DROP, logname))
 --- a/include/usage.src.h
 --- a/include/usage.src.h
 +++ b/include/usage.src.h
 +++ b/include/usage.src.h
-@@ -2319,6 +2319,9 @@ INSERT
+@@ -2320,6 +2320,9 @@ INSERT
  #define loadkmap_example_usage \
  #define loadkmap_example_usage \
         "$ loadkmap < /etc/i18n/lang-keymap\n"
         "$ loadkmap < /etc/i18n/lang-keymap\n"
  
  

+ 9 - 10
package/busybox/patches/350-httpd_redir.patch

@@ -1,6 +1,6 @@
 --- a/include/usage.src.h
 --- a/include/usage.src.h
 +++ b/include/usage.src.h
 +++ b/include/usage.src.h
-@@ -1718,7 +1718,8 @@ INSERT
+@@ -1719,7 +1719,8 @@ INSERT
  	IF_FEATURE_HTTPD_SETUID(" [-u USER[:GRP]]") \
  	IF_FEATURE_HTTPD_SETUID(" [-u USER[:GRP]]") \
  	IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]") \
  	IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]") \
         " [-h HOME]\n" \
         " [-h HOME]\n" \
@@ -10,16 +10,15 @@
  #define httpd_full_usage "\n\n" \
  #define httpd_full_usage "\n\n" \
         "Listen for incoming HTTP requests\n" \
         "Listen for incoming HTTP requests\n" \
       "\nOptions:" \
       "\nOptions:" \
-@@ -2321,6 +2322,9 @@ INSERT
+@@ -1737,6 +1738,8 @@ INSERT
+      "\n	-m STRING	MD5 crypt STRING") \
+      "\n	-e STRING	HTML encode STRING" \
+      "\n	-d STRING	URL decode STRING" \
++     "\n	-R PATH		Redirect target path" \
++     "\n	-H HOST		Redirect target host" \
  
  
- #define lock_trivial_usage NOUSAGE_STR
- #define lock_full_usage ""
-+
-+#define lock_trivial_usage NOUSAGE_STR
-+#define lock_full_usage ""
- 
- #define logger_trivial_usage \
-        "[OPTIONS] [MESSAGE]"
+ #define hwclock_trivial_usage \
+ 	IF_FEATURE_HWCLOCK_LONG_OPTIONS( \
 --- a/networking/httpd.c
 --- a/networking/httpd.c
 +++ b/networking/httpd.c
 +++ b/networking/httpd.c
 @@ -250,6 +250,8 @@ struct globals {
 @@ -250,6 +250,8 @@ struct globals {

+ 1 - 1
package/busybox/patches/470-insmod_search.patch

@@ -124,7 +124,7 @@
  	string "Default directory containing modules"
  	string "Default directory containing modules"
  	default "/lib/modules"
  	default "/lib/modules"
 -	depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO
 -	depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO
-+	depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO || INSMOD
++	depends on DEPMOD || INSMOD || MODPROBE || MODPROBE_SMALL || MODINFO
  	help
  	help
  	  Directory that contains kernel modules.
  	  Directory that contains kernel modules.
  	  Defaults to "/lib/modules"
  	  Defaults to "/lib/modules"

+ 12 - 7
package/busybox/patches/510-awk_include.patch

@@ -1,6 +1,11 @@
 --- a/editors/awk.c
 --- a/editors/awk.c
 +++ b/editors/awk.c
 +++ b/editors/awk.c
-@@ -70,9 +70,14 @@ typedef struct chain_s {
+@@ -1,3 +1,4 @@
++
+ /* vi: set sw=4 ts=4: */
+ /*
+  * awk implementation for busybox
+@@ -70,9 +71,14 @@ typedef struct chain_s {
  } chain;
  } chain;
  
  
  /* Function */
  /* Function */
@@ -15,7 +20,7 @@
  } func;
  } func;
  
  
  /* I/O stream */
  /* I/O stream */
-@@ -1453,7 +1458,8 @@ static void parse_program(char *p)
+@@ -1453,7 +1459,8 @@ static void parse_program(char *p)
  			next_token(TC_FUNCTION);
  			next_token(TC_FUNCTION);
  			g_pos++;
  			g_pos++;
  			f = newfunc(t_string);
  			f = newfunc(t_string);
@@ -25,7 +30,7 @@
  			f->nargs = 0;
  			f->nargs = 0;
  			while (next_token(TC_VARIABLE | TC_SEQTERM) & TC_VARIABLE) {
  			while (next_token(TC_VARIABLE | TC_SEQTERM) & TC_VARIABLE) {
  				v = findvar(ahash, t_string);
  				v = findvar(ahash, t_string);
-@@ -1462,7 +1468,7 @@ static void parse_program(char *p)
+@@ -1462,7 +1469,7 @@ static void parse_program(char *p)
  				if (next_token(TC_COMMA | TC_SEQTERM) & TC_SEQTERM)
  				if (next_token(TC_COMMA | TC_SEQTERM) & TC_SEQTERM)
  					break;
  					break;
  			}
  			}
@@ -34,7 +39,7 @@
  			chain_group();
  			chain_group();
  			clear_array(ahash);
  			clear_array(ahash);
  
  
-@@ -2547,7 +2553,8 @@ static var *evaluate(node *op, var *res)
+@@ -2547,7 +2554,8 @@ static var *evaluate(node *op, var *res)
  			var *vbeg, *v;
  			var *vbeg, *v;
  			const char *sv_progname;
  			const char *sv_progname;
  
  
@@ -44,7 +49,7 @@
  				syntax_error(EMSG_UNDEF_FUNC);
  				syntax_error(EMSG_UNDEF_FUNC);
  
  
  			vbeg = v = nvalloc(op->r.f->nargs + 1);
  			vbeg = v = nvalloc(op->r.f->nargs + 1);
-@@ -2564,7 +2571,10 @@ static var *evaluate(node *op, var *res)
+@@ -2564,7 +2572,10 @@ static var *evaluate(node *op, var *res)
  			fnargs = vbeg;
  			fnargs = vbeg;
  			sv_progname = g_progname;
  			sv_progname = g_progname;
  
  
@@ -56,7 +61,7 @@
  
  
  			g_progname = sv_progname;
  			g_progname = sv_progname;
  			nvfree(fnargs);
  			nvfree(fnargs);
-@@ -2942,6 +2952,143 @@ static rstream *next_input_file(void)
+@@ -2942,6 +2953,143 @@ static rstream *next_input_file(void)
  #undef files_happen
  #undef files_happen
  }
  }
  
  
@@ -200,7 +205,7 @@
  int awk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  int awk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  int awk_main(int argc, char **argv)
  int awk_main(int argc, char **argv)
  {
  {
-@@ -3007,6 +3154,9 @@ int awk_main(int argc, char **argv)
+@@ -3007,6 +3155,9 @@ int awk_main(int argc, char **argv)
  			*s1 = '=';
  			*s1 = '=';
  		}
  		}
  	}
  	}

+ 10 - 18
package/busybox/patches/610-syslog-remote-retry-connection.patch

@@ -1,34 +1,26 @@
 --- a/sysklogd/syslogd.c
 --- a/sysklogd/syslogd.c
 +++ b/sysklogd/syslogd.c
 +++ b/sysklogd/syslogd.c
-@@ -98,6 +98,8 @@ struct globals {
- 	GLOBALS
- 
- #if ENABLE_FEATURE_REMOTE_LOG
-+	len_and_sockaddr *remoteAddr;
-+	int remoteFD;
- 	llist_t *remoteHosts;
- #endif
- #if ENABLE_FEATURE_IPC_SYSLOG
-@@ -554,6 +556,7 @@ static void do_syslogd(void) NORETURN;
- static void do_syslogd(void)
+@@ -555,6 +555,7 @@ static void do_syslogd(void)
  {
  {
  	int sock_fd;
  	int sock_fd;
-+	int send_err = 0;
  #if ENABLE_FEATURE_REMOTE_LOG
  #if ENABLE_FEATURE_REMOTE_LOG
++	int send_err = 0;
  	llist_t *item;
  	llist_t *item;
  #endif
  #endif
-@@ -637,10 +640,23 @@ static void do_syslogd(void)
+ #if ENABLE_FEATURE_SYSLOGD_DUP
+@@ -636,11 +637,23 @@ static void do_syslogd(void)
+ 				if (rh->remoteFD == -1)
  					continue;
  					continue;
  			}
  			}
- 			/* Send message to remote logger, ignore possible error */
+-			/* Send message to remote logger, ignore possible error */
 -			/* TODO: on some errors, close and set G.remoteFD to -1
 -			/* TODO: on some errors, close and set G.remoteFD to -1
 -			 * so that DNS resolution and connect is retried? */
 -			 * so that DNS resolution and connect is retried? */
 -			sendto(rh->remoteFD, recvbuf, sz+1, MSG_DONTWAIT,
 -			sendto(rh->remoteFD, recvbuf, sz+1, MSG_DONTWAIT,
 -				&(rh->remoteAddr->u.sa), rh->remoteAddr->len);
 -				&(rh->remoteAddr->u.sa), rh->remoteAddr->len);
++			/* Send message to remote logger */
 +			if (sendto(rh->remoteFD, recvbuf, sz+1, MSG_DONTWAIT,
 +			if (sendto(rh->remoteFD, recvbuf, sz+1, MSG_DONTWAIT,
-+				&G.remoteAddr->u.sa, G.remoteAddr->len)  == -1 ) {
++				&(rh->remoteAddr->u.sa), rh->remoteAddr->len) == -1)
 +				send_err = errno;
 +				send_err = errno;
-+			}
 +
 +
 +			/* On some errors, close and set G.remoteFD to -1
 +			/* On some errors, close and set G.remoteFD to -1
 +			 * so that DNS resolution and connect is retried */
 +			 * so that DNS resolution and connect is retried */
@@ -38,8 +30,8 @@
 +				case EISCONN:
 +				case EISCONN:
 +				case ENOTCONN:
 +				case ENOTCONN:
 +				case EPIPE:
 +				case EPIPE:
-+					close(G.remoteFD);
-+					G.remoteFD = -1;
++					close(rh->remoteFD);
++					rh->remoteFD = -1;
 +					break;
 +					break;
 +			}
 +			}
  		}
  		}

+ 2 - 2
package/busybox/patches/803-id_getgrouplist.patch

@@ -31,7 +31,7 @@ Signed-off-by: Nicolas Thill <[email protected]>
  		/* I guess *n < 0 might indicate error. Anyway,
  		/* I guess *n < 0 might indicate error. Anyway,
  		 * malloc'ing -1 bytes won't be good, so: */
  		 * malloc'ing -1 bytes won't be good, so: */
  		//if (*n < 0)
  		//if (*n < 0)
-@@ -154,6 +160,7 @@ int id_main(int argc UNUSED_PARAM, char
+@@ -154,6 +160,7 @@ int id_main(int argc UNUSED_PARAM, char 
  			if (egid != rgid)
  			if (egid != rgid)
  				status |= print_group(egid, " ");
  				status |= print_group(egid, " ");
  		}
  		}
@@ -39,7 +39,7 @@ Signed-off-by: Nicolas Thill <[email protected]>
  		/* We are supplying largish buffer, trying
  		/* We are supplying largish buffer, trying
  		 * to not run get_groups() twice. That might be slow
  		 * to not run get_groups() twice. That might be slow
  		 * ("user database in remote SQL server" case) */
  		 * ("user database in remote SQL server" case) */
-@@ -181,6 +188,7 @@ int id_main(int argc UNUSED_PARAM, char
+@@ -181,6 +188,7 @@ int id_main(int argc UNUSED_PARAM, char 
  		}
  		}
  		if (ENABLE_FEATURE_CLEAN_UP)
  		if (ENABLE_FEATURE_CLEAN_UP)
  			free(groups);
  			free(groups);