浏览代码

busybox: update to v1.16.1 (based on v1.16.0 update patch from Peter Wagner)

SVN-Revision: 20661
Nicolas Thill 15 年之前
父节点
当前提交
8be628f50a
共有 28 个文件被更改,包括 302 次插入116 次删除
  1. 2 2
      package/busybox/Makefile
  2. 18 10
      package/busybox/config/Config.in
  3. 15 0
      package/busybox/config/archival/Config.in
  4. 45 5
      package/busybox/config/coreutils/Config.in
  5. 4 13
      package/busybox/config/editors/Config.in
  6. 7 0
      package/busybox/config/findutils/Config.in
  7. 2 3
      package/busybox/config/libbb/Config.in
  8. 15 2
      package/busybox/config/miscutils/Config.in
  9. 16 0
      package/busybox/config/modutils/Config.in
  10. 63 3
      package/busybox/config/networking/Config.in
  11. 14 14
      package/busybox/config/networking/udhcp/Config.in
  12. 7 1
      package/busybox/config/procps/Config.in
  13. 11 18
      package/busybox/config/shell/Config.in
  14. 38 0
      package/busybox/config/util-linux/Config.in
  15. 5 5
      package/busybox/patches/000-autoconf.patch
  16. 1 1
      package/busybox/patches/001-init_avoid_loop_opening_tty.patch
  17. 2 2
      package/busybox/patches/110-wget_getopt_fix.patch
  18. 2 2
      package/busybox/patches/250-ash_export-n.patch
  19. 4 4
      package/busybox/patches/300-netmsg.patch
  20. 1 1
      package/busybox/patches/310-passwd_access.patch
  21. 4 4
      package/busybox/patches/340-lock_util.patch
  22. 11 11
      package/busybox/patches/350-httpd_redir.patch
  23. 1 1
      package/busybox/patches/410-httpd_cgi_headers.patch
  24. 1 1
      package/busybox/patches/440-httpd_chdir.patch
  25. 1 1
      package/busybox/patches/470-insmod_search.patch
  26. 4 4
      package/busybox/patches/480-mount_union.patch
  27. 7 7
      package/busybox/patches/510-awk_include.patch
  28. 1 1
      package/busybox/patches/902-telnetd_intr.patch

+ 2 - 2
package/busybox/Makefile

@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 include $(TOPDIR)/rules.mk
 
 
 PKG_NAME:=busybox
 PKG_NAME:=busybox
-PKG_VERSION:=1.15.3
+PKG_VERSION:=1.16.1
 PKG_RELEASE:=1
 PKG_RELEASE:=1
 
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://www.busybox.net/downloads \
 PKG_SOURCE_URL:=http://www.busybox.net/downloads \
 		http://distfiles.gentoo.org/distfiles/
 		http://distfiles.gentoo.org/distfiles/
-PKG_MD5SUM:=6059ac9456de6fb18dc8ee4cd0ec9240
+PKG_MD5SUM:=319486ec65078d07fde26eb620fecde7
 
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/package.mk
 
 

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

@@ -29,6 +29,23 @@ config BUSYBOX_CONFIG_EXTRA_COMPAT
 	  some GNU extensions in libc. You probably only need this option
 	  some GNU extensions in libc. You probably only need this option
 	  if you plan to run busybox on desktop.
 	  if you plan to run busybox on desktop.
 
 
+config BUSYBOX_CONFIG_INCLUDE_SUSv2
+	bool "Enable obsolete features removed before SUSv3"
+	default y
+	help
+	  This option will enable backwards compatibility with SuSv2,
+	  specifically, old-style numeric options ('command -1 <file>')
+	  will be supported in head, tail, and fold. (Note: should
+	  affect renice too.)
+
+config BUSYBOX_CONFIG_USE_PORTABLE_CODE
+	bool "Avoid using GCC-specific code constructs"
+	default n
+	help
+	  Use this option if you are trying to compile busybox with
+	  compiler other than gcc.
+	  If you do use gcc, this option may needlessly increase code size.
+
 choice
 choice
 	prompt "Buffer allocation policy"
 	prompt "Buffer allocation policy"
 	default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
 	default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
@@ -502,17 +519,8 @@ config BUSYBOX_CONFIG_EFENCE
 
 
 endchoice
 endchoice
 
 
-config BUSYBOX_CONFIG_INCLUDE_SUSv2
-	bool "Enable obsolete features removed before SUSv3?"
-	default y
-	help
-	  This option will enable backwards compatibility with SuSv2,
-	  specifically, old-style numeric options ('command -1 <file>')
-	  will be supported in head, tail, and fold. (Note: should
-	  affect renice too.)
-
 ### config PARSE
 ### config PARSE
-### 	bool "Uniform config file parser debugging applet: parse"
+###	bool "Uniform config file parser debugging applet: parse"
 
 
 endmenu
 endmenu
 
 

+ 15 - 0
package/busybox/config/archival/Config.in

@@ -165,6 +165,13 @@ config BUSYBOX_CONFIG_GZIP
 	  gzip is used to compress files.
 	  gzip is used to compress files.
 	  It's probably the most widely used UNIX compression program.
 	  It's probably the most widely used UNIX compression program.
 
 
+config BUSYBOX_CONFIG_FEATURE_GZIP_LONG_OPTIONS
+	bool "Enable long options"
+	default n
+	depends on BUSYBOX_CONFIG_GZIP && BUSYBOX_CONFIG_LONG_OPTS
+	help
+	  Enable use of long options, increases size by about 106 Bytes
+
 config BUSYBOX_CONFIG_LZOP
 config BUSYBOX_CONFIG_LZOP
 	bool "lzop"
 	bool "lzop"
 	default n
 	default n
@@ -269,6 +276,14 @@ config BUSYBOX_CONFIG_FEATURE_TAR_UNAME_GNAME
 	  listings (-t) and preserving permissions when unpacking (-p).
 	  listings (-t) and preserving permissions when unpacking (-p).
 	  +200 bytes.
 	  +200 bytes.
 
 
+config BUSYBOX_CONFIG_FEATURE_TAR_NOPRESERVE_TIME
+	bool "Enable -m (do not preserve time) option"
+	default n
+	depends on BUSYBOX_CONFIG_TAR
+	help
+	  With this option busybox supports GNU tar -m
+	  (do not preserve time) option.
+
 endif #tar
 endif #tar
 
 
 config BUSYBOX_CONFIG_UNCOMPRESS
 config BUSYBOX_CONFIG_UNCOMPRESS

+ 45 - 5
package/busybox/config/coreutils/Config.in

@@ -52,6 +52,13 @@ config BUSYBOX_CONFIG_CHOWN
 	  chown is used to change the user and/or group ownership
 	  chown is used to change the user and/or group ownership
 	  of files.
 	  of files.
 
 
+config BUSYBOX_CONFIG_FEATURE_CHOWN_LONG_OPTIONS
+	bool "Enable long options"
+	default n
+	depends on BUSYBOX_CONFIG_CHOWN && BUSYBOX_CONFIG_LONG_OPTS
+	help
+	  Enable use of long options
+
 config BUSYBOX_CONFIG_CHROOT
 config BUSYBOX_CONFIG_CHROOT
 	bool "chroot"
 	bool "chroot"
 	default y
 	default y
@@ -78,6 +85,14 @@ config BUSYBOX_CONFIG_CP
 	help
 	help
 	  cp is used to copy files and directories.
 	  cp is used to copy files and directories.
 
 
+config BUSYBOX_CONFIG_FEATURE_CP_LONG_OPTIONS
+	bool "Enable long options for cp"
+	default n
+	depends on BUSYBOX_CONFIG_CP && BUSYBOX_CONFIG_LONG_OPTS
+	help
+	  Enable long options for cp.
+	  Also add support for --parents option.
+
 config BUSYBOX_CONFIG_CUT
 config BUSYBOX_CONFIG_CUT
 	bool "cut"
 	bool "cut"
 	default y
 	default y
@@ -100,6 +115,22 @@ config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
 	  Enable option (-I) to output an ISO-8601 compliant
 	  Enable option (-I) to output an ISO-8601 compliant
 	  date/time string.
 	  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
@@ -113,13 +144,22 @@ config BUSYBOX_CONFIG_FEATURE_DD_SIGNAL_HANDLING
 	default y
 	default y
 	depends on BUSYBOX_CONFIG_DD
 	depends on BUSYBOX_CONFIG_DD
 	help
 	help
-	  sending a SIGUSR1 signal to a running `dd' process makes it
+	  Sending a SIGUSR1 signal to a running `dd' process makes it
 	  print to standard error the number of records read and written
 	  print to standard error the number of records read and written
 	  so far, then to resume copying.
 	  so far, then to resume copying.
 
 
 	  $ dd if=/dev/zero of=/dev/null&
 	  $ dd if=/dev/zero of=/dev/null&
 	  $ pid=$! kill -USR1 $pid; sleep 1; kill $pid
 	  $ pid=$! kill -USR1 $pid; sleep 1; kill $pid
-	  10899206+0 records in 10899206+0 records out
+	  10899206+0 records in
+	  10899206+0 records out
+
+config BUSYBOX_CONFIG_FEATURE_DD_THIRD_STATUS_LINE
+	bool "Enable the third status line upon signal"
+	default n
+	depends on BUSYBOX_CONFIG_DD && BUSYBOX_CONFIG_FEATURE_DD_SIGNAL_HANDLING
+	help
+	  Displays a coreutils-like third status line with transferred bytes,
+	  elapsed time and speed.
 
 
 config BUSYBOX_CONFIG_FEATURE_DD_IBS_OBS
 config BUSYBOX_CONFIG_FEATURE_DD_IBS_OBS
 	bool "Enable ibs, obs and conv options"
 	bool "Enable ibs, obs and conv options"
@@ -829,13 +869,13 @@ config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE
 	help
 	help
 	  Allow df, du, and ls to have human readable output.
 	  Allow df, du, and ls to have human readable output.
 
 
-comment "Common options for md5sum, sha1sum"
-	depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM
+comment "Common options for md5sum, sha1sum, sha256sum, sha512sum"
+	depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM
 
 
 config BUSYBOX_CONFIG_FEATURE_MD5_SHA1_SUM_CHECK
 config BUSYBOX_CONFIG_FEATURE_MD5_SHA1_SUM_CHECK
 	bool "Enable -c, -s and -w options"
 	bool "Enable -c, -s and -w options"
 	default y
 	default y
-	depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM
+	depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM
 	help
 	help
 	  Enabling the -c options allows files to be checked
 	  Enabling the -c options allows files to be checked
 	  against pre-calculated hash values.
 	  against pre-calculated hash values.

+ 4 - 13
package/busybox/config/editors/Config.in

@@ -35,13 +35,12 @@ config BUSYBOX_CONFIG_DIFF
 	  differences between them in a form that can be given to
 	  differences between them in a form that can be given to
 	  the patch command.
 	  the patch command.
 
 
-config BUSYBOX_CONFIG_FEATURE_DIFF_BINARY
-	bool "Enable checks for binary files"
+config BUSYBOX_CONFIG_FEATURE_DIFF_LONG_OPTIONS
+	bool "Enable long options"
 	default n
 	default n
-	depends on BUSYBOX_CONFIG_DIFF
+	depends on BUSYBOX_CONFIG_DIFF && BUSYBOX_CONFIG_LONG_OPTS
 	help
 	help
-	  This option enables support for checking for binary files
-	  before a comparison is carried out.
+	  Enable use of long options.
 
 
 config BUSYBOX_CONFIG_FEATURE_DIFF_DIR
 config BUSYBOX_CONFIG_FEATURE_DIFF_DIR
 	bool "Enable directory support"
 	bool "Enable directory support"
@@ -51,14 +50,6 @@ config BUSYBOX_CONFIG_FEATURE_DIFF_DIR
 	  This option enables support for directory and subdirectory
 	  This option enables support for directory and subdirectory
 	  comparison.
 	  comparison.
 
 
-config BUSYBOX_CONFIG_FEATURE_DIFF_MINIMAL
-	bool "Enable -d option to find smaller sets of changes"
-	default n
-	depends on BUSYBOX_CONFIG_DIFF
-	help
-	  Enabling this option allows the use of -d to make diff
-	  try hard to find the smallest possible set of changes.
-
 config BUSYBOX_CONFIG_ED
 config BUSYBOX_CONFIG_ED
 	bool "ed"
 	bool "ed"
 	default n
 	default n

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

@@ -171,6 +171,13 @@ config BUSYBOX_CONFIG_FEATURE_FIND_CONTEXT
 	help
 	help
 	  Support the 'find -context' option for matching security context.
 	  Support the 'find -context' option for matching security context.
 
 
+config BUSYBOX_CONFIG_FEATURE_FIND_LINKS
+	bool "Enable -links: link count matching"
+	default n
+	depends on BUSYBOX_CONFIG_FIND
+	help
+	  Support the 'find -links' option for matching number of links.
+
 config BUSYBOX_CONFIG_GREP
 config BUSYBOX_CONFIG_GREP
 	bool "grep"
 	bool "grep"
 	default y
 	default y

+ 2 - 3
package/busybox/config/libbb/Config.in

@@ -111,7 +111,7 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_ASK_TERMINAL
 	  current cursor position. This information is used to make line
 	  current cursor position. This information is used to make line
 	  editing more robust in some cases.
 	  editing more robust in some cases.
 	  If you are not sure whether your terminals respond to this code
 	  If you are not sure whether your terminals respond to this code
-	  correctly, or want to save on code size (about 300 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_FEATURE_NON_POSIX_CP
 config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP
@@ -134,9 +134,8 @@ config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE
 	    $ cp file /vmlinuz/file
 	    $ cp file /vmlinuz/file
 	    cp: cannot stat '/vmlinuz/file': Path has non-directory component
 	    cp: cannot stat '/vmlinuz/file': Path has non-directory component
 	  If this feature is not enabled, they will be, respectively:
 	  If this feature is not enabled, they will be, respectively:
-	    cp: cannot remove '/does_not_exist/file': No such file or directory
+	    cp: cannot create '/does_not_exist/file': No such file or directory
 	    cp: cannot stat '/vmlinuz/file': Not a directory
 	    cp: cannot stat '/vmlinuz/file': Not a directory
-	  respectively.
 	  This will cost you ~60 bytes.
 	  This will cost you ~60 bytes.
 
 
 config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB
 config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB

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

@@ -137,11 +137,11 @@ config BUSYBOX_CONFIG_FEATURE_CROND_D
 	  -d sets loglevel to 0 (most verbose) and directs all output to stderr.
 	  -d sets loglevel to 0 (most verbose) and directs all output to stderr.
 
 
 config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
 config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
-	bool "Using /usr/sbin/sendmail?"
+	bool "Report command output via email (using sendmail)"
 	default n
 	default n
 	depends on BUSYBOX_CONFIG_CROND
 	depends on BUSYBOX_CONFIG_CROND
 	help
 	help
-	  Support calling /usr/sbin/sendmail for send cmd outputs.
+	  Command output will be sent to corresponding user via email.
 
 
 config BUSYBOX_CONFIG_FEATURE_CROND_DIR
 config BUSYBOX_CONFIG_FEATURE_CROND_DIR
 	string "crond spool directory"
 	string "crond spool directory"
@@ -272,6 +272,13 @@ config BUSYBOX_CONFIG_FBSPLASH
 	    "NN" (ASCII decimal number) - percentage to show on progress bar
 	    "NN" (ASCII decimal number) - percentage to show on progress bar
 	    "exit" - well you guessed it
 	    "exit" - well you guessed it
 
 
+config BUSYBOX_CONFIG_FLASHCP
+	bool "flashcp"
+	default n
+	help
+	  The flashcp binary, inspired by mtd-utils as of git head 5eceb74f7.
+	  This utility is used to copy images into a MTD device.
+
 config BUSYBOX_CONFIG_FLASH_LOCK
 config BUSYBOX_CONFIG_FLASH_LOCK
 	bool "flash_lock"
 	bool "flash_lock"
 	default n
 	default n
@@ -618,6 +625,12 @@ config BUSYBOX_CONFIG_VOLNAME
 	help
 	help
 	  Prints a CD-ROM volume name.
 	  Prints a CD-ROM volume name.
 
 
+config BUSYBOX_CONFIG_WALL
+	bool "wall"
+	default n
+	help
+	  Write a message to all users that are logged in.
+
 config BUSYBOX_CONFIG_WATCHDOG
 config BUSYBOX_CONFIG_WATCHDOG
 	bool "watchdog"
 	bool "watchdog"
 	default y
 	default y

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

@@ -121,6 +121,22 @@ config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
 	  This increases size considerably. Say N unless you plan
 	  This increases size considerably. Say N unless you plan
 	  to run ancient kernels.
 	  to run ancient kernels.
 
 
+config BUSYBOX_CONFIG_FEATURE_INSMOD_TRY_MMAP
+	bool "Try to load module from a mmap'ed area"
+	default n
+	depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE_SMALL
+	help
+	  This option causes module loading code to try to mmap
+	  module first. If it does not work (for example,
+	  it does not work for compressed modules), module will be read
+	  (and unpacked if needed) into a memory block allocated by malloc.
+
+	  The only case when mmap works but malloc does not is when
+	  you are trying to load a big module on a very memory-constrained
+	  machine. Malloc will momentarily need 2x as much memory as mmap.
+
+	  Choosing N saves about 250 bytes of code (on 32-bit x86).
+
 config BUSYBOX_CONFIG_FEATURE_INSMOD_VERSION_CHECKING
 config BUSYBOX_CONFIG_FEATURE_INSMOD_VERSION_CHECKING
 	bool "Enable module version checking"
 	bool "Enable module version checking"
 	default n
 	default n

+ 63 - 3
package/busybox/config/networking/Config.in

@@ -117,6 +117,17 @@ config BUSYBOX_CONFIG_FEATURE_FTP_WRITE
 	help
 	help
 	  Enable all kinds of FTP upload commands (-w option)
 	  Enable all kinds of FTP upload commands (-w option)
 
 
+config BUSYBOX_CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST
+	bool "Enable workaround for RFC-violating clients"
+	default n
+	depends on BUSYBOX_CONFIG_FTPD
+	help
+	  Some ftp-clients (among them KDE's Konqueror) issue illegal
+	  "LIST -la" requests. This option works around those problems.
+	  It might prevent you from listing files starting with "-" and
+	  it increases the code size by ~40 bytes.
+	  Most other ftp servers seem to behave similar to this.
+
 config BUSYBOX_CONFIG_FTPGET
 config BUSYBOX_CONFIG_FTPGET
 	bool "ftpget"
 	bool "ftpget"
 	default n
 	default n
@@ -667,6 +678,20 @@ config BUSYBOX_CONFIG_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
+	bool "ntpd"
+	default n
+	help
+	  The NTP client/server daemon.
+
+config BUSYBOX_CONFIG_FEATURE_NTPD_SERVER
+	bool "Make ntpd usable as a NTP server"
+	default n
+	depends on BUSYBOX_CONFIG_NTPD
+	help
+	  Make ntpd usable as a NTP server. If you disable this option
+	  ntpd will be usable only as a NTP client.
+
 config BUSYBOX_CONFIG_PING
 config BUSYBOX_CONFIG_PING
 	bool "ping"
 	bool "ping"
 	default y
 	default y
@@ -794,6 +819,27 @@ config BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE
 	help
 	help
 	  Selecting this will make telnetd able to run standalone.
 	  Selecting this will make telnetd able to run standalone.
 
 
+config BUSYBOX_CONFIG_FEATURE_TELNETD_INETD_WAIT
+	bool "Support -w SEC option (inetd wait mode)"
+	default n
+	depends on BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE
+	help
+	  This option allows you to run telnetd in "inet wait" mode.
+	  Example inetd.conf line (note "wait", not usual "nowait"):
+
+	  telnet stream tcp wait root /bin/telnetd telnetd -w10
+
+	  In this example, inetd passes _listening_ socket_ as fd 0
+	  to telnetd when connection appears.
+	  telnetd will wait for connections until all existing
+	  connections are closed, and no new connections
+	  appear during 10 seconds. Then it exits, and inetd continues
+	  to listen for new connections.
+
+	  This option is rarely used. "tcp nowait" is much more usual
+	  way of running tcp services, including telnetd.
+	  You most probably want to say N here.
+
 config BUSYBOX_CONFIG_TFTP
 config BUSYBOX_CONFIG_TFTP
 	bool "tftp"
 	bool "tftp"
 	default n
 	default n
@@ -831,12 +877,19 @@ config BUSYBOX_CONFIG_FEATURE_TFTP_PUT
 	  Also enable download support in tftpd, if tftpd is selected.
 	  Also enable download support in tftpd, if tftpd is selected.
 
 
 config BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE
 config BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE
-	bool "Enable \"blksize\" protocol option"
+	bool "Enable 'blksize' and 'tsize' protocol options"
 	default n
 	default n
 	depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
 	depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
 	help
 	help
 	  Allow tftp to specify block size, and tftpd to understand
 	  Allow tftp to specify block size, and tftpd to understand
-	  "blksize" option.
+	  "blksize" and "tsize" options.
+
+config BUSYBOX_CONFIG_FEATURE_TFTP_PROGRESS_BAR
+	bool "Enable tftp progress meter"
+	default n
+	depends on BUSYBOX_CONFIG_TFTP && BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE
+	help
+	  Show progress bar.
 
 
 config BUSYBOX_CONFIG_TFTP_DEBUG
 config BUSYBOX_CONFIG_TFTP_DEBUG
 	bool "Enable debug"
 	bool "Enable debug"
@@ -852,6 +905,13 @@ config BUSYBOX_CONFIG_TRACEROUTE
 	help
 	help
 	  Utility to trace the route of IP packets.
 	  Utility to trace the route of IP packets.
 
 
+config BUSYBOX_CONFIG_TRACEROUTE6
+	bool "traceroute6"
+	default n
+	depends on BUSYBOX_CONFIG_FEATURE_IPV6 && BUSYBOX_CONFIG_TRACEROUTE
+	help
+	  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 y
 	default y
@@ -880,7 +940,7 @@ source package/busybox/config/networking/udhcp/Config.in
 config BUSYBOX_CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS
 config BUSYBOX_CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS
 	string "ifup udhcpc command line options"
 	string "ifup udhcpc command line options"
 	default "-R -n"
 	default "-R -n"
-	depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_APP_UDHCPC
+	depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_UDHCPC
 	help
 	help
 	  Command line options to pass to udhcpc from ifup.
 	  Command line options to pass to udhcpc from ifup.
 	  Intended to alter options not available in /etc/network/interfaces.
 	  Intended to alter options not available in /etc/network/interfaces.

+ 14 - 14
package/busybox/config/networking/udhcp/Config.in

@@ -3,26 +3,26 @@
 # see scripts/kbuild/config-language.txt.
 # see scripts/kbuild/config-language.txt.
 #
 #
 
 
-config BUSYBOX_CONFIG_APP_UDHCPD
+config BUSYBOX_CONFIG_UDHCPD
 	bool "udhcp server (udhcpd)"
 	bool "udhcp server (udhcpd)"
 	default n
 	default n
 	help
 	help
 	  udhcpd is a DHCP server geared primarily toward embedded systems,
 	  udhcpd is a DHCP server geared primarily toward embedded systems,
 	  while striving to be fully functional and RFC compliant.
 	  while striving to be fully functional and RFC compliant.
 
 
-config BUSYBOX_CONFIG_APP_DHCPRELAY
+config BUSYBOX_CONFIG_DHCPRELAY
 	bool "dhcprelay"
 	bool "dhcprelay"
 	default n
 	default n
-	depends on BUSYBOX_CONFIG_APP_UDHCPD
+	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
 	  server.
 	  server.
 
 
-config BUSYBOX_CONFIG_APP_DUMPLEASES
+config BUSYBOX_CONFIG_DUMPLEASES
 	bool "Lease display utility (dumpleases)"
 	bool "Lease display utility (dumpleases)"
 	default n
 	default n
-	depends on BUSYBOX_CONFIG_APP_UDHCPD
+	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
@@ -31,7 +31,7 @@ config BUSYBOX_CONFIG_APP_DUMPLEASES
 config BUSYBOX_CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY
 config BUSYBOX_CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY
 	bool "Rewrite the lease file at every new acknowledge"
 	bool "Rewrite the lease file at every new acknowledge"
 	default n
 	default n
-	depends on BUSYBOX_CONFIG_APP_UDHCPD
+	depends on BUSYBOX_CONFIG_UDHCPD
 	help
 	help
 	  If selected, udhcpd will write a new file with leases every
 	  If selected, udhcpd will write a new file with leases every
 	  time a new lease has been accepted, thus eliminating the need
 	  time a new lease has been accepted, thus eliminating the need
@@ -41,12 +41,12 @@ config BUSYBOX_CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY
 config BUSYBOX_CONFIG_DHCPD_LEASES_FILE
 config BUSYBOX_CONFIG_DHCPD_LEASES_FILE
 	string "Absolute path to lease file"
 	string "Absolute path to lease file"
 	default "/var/run/udhcpd.leases"
 	default "/var/run/udhcpd.leases"
-	depends on BUSYBOX_CONFIG_APP_UDHCPD
+	depends on BUSYBOX_CONFIG_UDHCPD
 	help
 	help
 	  udhcpd stores addresses in a lease file. This is the absolute path
 	  udhcpd stores addresses in a lease file. This is the absolute path
 	  of the file. Normally it is safe to leave it untouched.
 	  of the file. Normally it is safe to leave it untouched.
 
 
-config BUSYBOX_CONFIG_APP_UDHCPC
+config BUSYBOX_CONFIG_UDHCPC
 	bool "udhcp client (udhcpc)"
 	bool "udhcp client (udhcpc)"
 	default y
 	default y
 	help
 	help
@@ -59,7 +59,7 @@ config BUSYBOX_CONFIG_APP_UDHCPC
 config BUSYBOX_CONFIG_FEATURE_UDHCPC_ARPING
 config BUSYBOX_CONFIG_FEATURE_UDHCPC_ARPING
 	bool "Verify that the offered address is free, using ARP ping"
 	bool "Verify that the offered address is free, using ARP ping"
 	default n
 	default n
-	depends on BUSYBOX_CONFIG_APP_UDHCPC
+	depends on BUSYBOX_CONFIG_UDHCPC
 	help
 	help
 	  If selected, udhcpc will send ARP probes and make sure
 	  If selected, udhcpc will send ARP probes and make sure
 	  the offered address is really not in use by anyone. The client
 	  the offered address is really not in use by anyone. The client
@@ -69,7 +69,7 @@ config BUSYBOX_CONFIG_FEATURE_UDHCPC_ARPING
 config BUSYBOX_CONFIG_FEATURE_UDHCP_PORT
 config BUSYBOX_CONFIG_FEATURE_UDHCP_PORT
 	bool "Enable '-P port' option for udhcpd and udhcpc"
 	bool "Enable '-P port' option for udhcpd and udhcpc"
 	default n
 	default n
-	depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC
+	depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
 	help
 	help
 	  At the cost of ~300 bytes, enables -P port option.
 	  At the cost of ~300 bytes, enables -P port option.
 	  This feature is typically not needed.
 	  This feature is typically not needed.
@@ -78,7 +78,7 @@ config BUSYBOX_CONFIG_UDHCP_DEBUG
 	int "Maximum verbosity level for udhcp applets (0..9)"
 	int "Maximum verbosity level for udhcp applets (0..9)"
 	default 0
 	default 0
 	range 0 9
 	range 0 9
-	depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC || BUSYBOX_CONFIG_APP_DHCPRELAY
+	depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC || BUSYBOX_CONFIG_DHCPRELAY
 	help
 	help
 	  Verbosity can be increased with multiple -v options.
 	  Verbosity can be increased with multiple -v options.
 	  This options controls how high it can be cranked up.
 	  This options controls how high it can be cranked up.
@@ -89,7 +89,7 @@ config BUSYBOX_CONFIG_UDHCP_DEBUG
 config BUSYBOX_CONFIG_FEATURE_UDHCP_RFC3397
 config BUSYBOX_CONFIG_FEATURE_UDHCP_RFC3397
 	bool "Support for RFC3397 domain search (experimental)"
 	bool "Support for RFC3397 domain search (experimental)"
 	default y
 	default y
-	depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_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 RFC3397.
@@ -97,7 +97,7 @@ config BUSYBOX_CONFIG_FEATURE_UDHCP_RFC3397
 config BUSYBOX_CONFIG_UDHCPC_DEFAULT_SCRIPT
 config BUSYBOX_CONFIG_UDHCPC_DEFAULT_SCRIPT
 	string "Absolute path to config script"
 	string "Absolute path to config script"
 	default "/usr/share/udhcpc/default.script"
 	default "/usr/share/udhcpc/default.script"
-	depends on BUSYBOX_CONFIG_APP_UDHCPC
+	depends on BUSYBOX_CONFIG_UDHCPC
 	help
 	help
 	  This script is called after udhcpc receives an answer. See
 	  This script is called after udhcpc receives an answer. See
 	  examples/udhcp for a working example. Normally it is safe
 	  examples/udhcp for a working example. Normally it is safe
@@ -107,7 +107,7 @@ config BUSYBOX_CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS
 	int "DHCP options slack buffer size"
 	int "DHCP options slack buffer size"
 	default 80
 	default 80
 	range 0 924
 	range 0 924
-	depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC
+	depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
 	help
 	help
 	  Some buggy DHCP servers send DHCP offer packets with option
 	  Some buggy DHCP servers send DHCP offer packets with option
 	  field larger than we expect (which might also be considered a
 	  field larger than we expect (which might also be considered a

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

@@ -188,6 +188,13 @@ config BUSYBOX_CONFIG_FEATURE_TOPMEM
 	help
 	help
 	  Enable 's' in top (gives lots of memory info).
 	  Enable 's' in top (gives lots of memory info).
 
 
+config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS
+	bool "Support for showing threads in ps/top"
+	default n
+	depends on BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_TOP
+	help
+	  Enables ps -T option and 'h' command in top
+
 config BUSYBOX_CONFIG_UPTIME
 config BUSYBOX_CONFIG_UPTIME
 	bool "uptime"
 	bool "uptime"
 	default y
 	default y
@@ -203,5 +210,4 @@ config BUSYBOX_CONFIG_WATCH
 	  watch is used to execute a program periodically, showing
 	  watch is used to execute a program periodically, showing
 	  output to the screen.
 	  output to the screen.
 
 
-
 endmenu
 endmenu

+ 11 - 18
package/busybox/config/shell/Config.in

@@ -15,6 +15,7 @@ choice
 config BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
 config BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
 	select BUSYBOX_CONFIG_ASH
 	select BUSYBOX_CONFIG_ASH
 	bool "ash"
 	bool "ash"
+	depends on !BUSYBOX_CONFIG_NOMMU
 
 
 config BUSYBOX_CONFIG_FEATURE_SH_IS_HUSH
 config BUSYBOX_CONFIG_FEATURE_SH_IS_HUSH
 	select BUSYBOX_CONFIG_HUSH
 	select BUSYBOX_CONFIG_HUSH
@@ -36,6 +37,7 @@ endchoice
 config BUSYBOX_CONFIG_ASH
 config BUSYBOX_CONFIG_ASH
 	bool "ash"
 	bool "ash"
 	default y
 	default y
+	depends on !BUSYBOX_CONFIG_NOMMU
 	help
 	help
 	  Tha 'ash' shell adds about 60k in the default configuration and is
 	  Tha 'ash' shell adds about 60k in the default configuration and is
 	  the most complete and most pedantically correct shell included with
 	  the most complete and most pedantically correct shell included with
@@ -57,23 +59,6 @@ config BUSYBOX_CONFIG_ASH_JOB_CONTROL
 	help
 	help
 	  Enable job control in the ash shell.
 	  Enable job control in the ash shell.
 
 
-config BUSYBOX_CONFIG_ASH_READ_NCHARS
-	bool "'read -n N' and 'read -s' support"
-	default n
-	depends on BUSYBOX_CONFIG_ASH
-	help
-	  'read -n N' will return a value after N characters have been read.
-	  'read -s' will read without echoing the user's input.
-
-config BUSYBOX_CONFIG_ASH_READ_TIMEOUT
-	bool "'read -t S' support"
-	default y
-	depends on BUSYBOX_CONFIG_ASH
-	help
-	  'read -t S' will return a value after S seconds have passed.
-	  This implementation will allow fractional seconds, expressed
-	  as a decimal fraction, e.g. 'read -t 2.5 foo'.
-
 config BUSYBOX_CONFIG_ASH_ALIAS
 config BUSYBOX_CONFIG_ASH_ALIAS
 	bool "alias support"
 	bool "alias support"
 	default y
 	default y
@@ -187,7 +172,7 @@ config BUSYBOX_CONFIG_HUSH_INTERACTIVE
 	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
-	  from stdin just like a shell script from the file.
+	  from stdin just like a shell script from a file.
 	  No prompt, no PS1/PS2 magic shell variables.
 	  No prompt, no PS1/PS2 magic shell variables.
 
 
 config BUSYBOX_CONFIG_HUSH_JOB
 config BUSYBOX_CONFIG_HUSH_JOB
@@ -250,6 +235,14 @@ config BUSYBOX_CONFIG_HUSH_EXPORT_N
 	help
 	help
 	  Enable support for export '-n' option in hush. It is a bash extension.
 	  Enable support for export '-n' option in hush. It is a bash extension.
 
 
+config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
+	bool "Pseudorandom generator and $RANDOM variable"
+	default n
+	depends on BUSYBOX_CONFIG_HUSH
+	help
+	  Enable pseudorandom generator and dynamic variable "$RANDOM".
+	  Each read of "$RANDOM" will generate a new pseudorandom value.
+
 config BUSYBOX_CONFIG_LASH
 config BUSYBOX_CONFIG_LASH
 	bool "lash (deprecated: aliased to hush)"
 	bool "lash (deprecated: aliased to hush)"
 	default n
 	default n

+ 38 - 0
package/busybox/config/util-linux/Config.in

@@ -213,6 +213,12 @@ config BUSYBOX_CONFIG_FSCK_MINIX
 	  check for and attempt to repair any corruption that occurs to a minix
 	  check for and attempt to repair any corruption that occurs to a minix
 	  filesystem.
 	  filesystem.
 
 
+config BUSYBOX_CONFIG_MKFS_EXT2
+	bool "mkfs_ext2"
+	default n
+	help
+	  Utility to create EXT2 filesystems.
+
 config BUSYBOX_CONFIG_MKFS_MINIX
 config BUSYBOX_CONFIG_MKFS_MINIX
 	bool "mkfs_minix"
 	bool "mkfs_minix"
 	default n
 	default n
@@ -233,6 +239,12 @@ config BUSYBOX_CONFIG_FEATURE_MINIX2
 	  this. If you enabled 'mkfs_minix' then you almost certainly want to
 	  this. If you enabled 'mkfs_minix' then you almost certainly want to
 	  be using the version 2 filesystem support.
 	  be using the version 2 filesystem support.
 
 
+config BUSYBOX_CONFIG_MKFS_REISER
+	bool "mkfs_reiser"
+	default n
+	help
+	  Utility to create ReiserFS filesystems.
+
 config BUSYBOX_CONFIG_MKFS_VFAT
 config BUSYBOX_CONFIG_MKFS_VFAT
 	bool "mkfs_vfat"
 	bool "mkfs_vfat"
 	default n
 	default n
@@ -336,6 +348,24 @@ config BUSYBOX_CONFIG_LOSETUP
 	  file or block device, and to query the status of a loop device. This
 	  file or block device, and to query the status of a loop device. This
 	  version does not currently support enabling data encryption.
 	  version does not currently support enabling data encryption.
 
 
+config BUSYBOX_CONFIG_LSPCI
+	bool "lspci"
+	default n
+	help
+	  lspci is a utility for displaying information about PCI buses in the
+	  system and devices connected to them.
+
+	  This version uses sysfs (/sys/bus/pci/devices) only.
+
+config BUSYBOX_CONFIG_LSUSB
+	bool "lsusb"
+	default n
+	help
+	  lsusb is a utility for displaying information about USB buses in the
+	  system and devices connected to them.
+
+	  This version uses sysfs (/sys/bus/usb/devices) only.
+
 config BUSYBOX_CONFIG_MDEV
 config BUSYBOX_CONFIG_MDEV
 	bool "mdev"
 	bool "mdev"
 	default n
 	default n
@@ -445,6 +475,13 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXT
 	help
 	help
 	  TODO
 	  TODO
 
 
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BTRFS
+	bool "btrfs filesystem"
+	default n
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	  TODO
+
 config BUSYBOX_CONFIG_FEATURE_VOLUMEID_REISERFS
 config BUSYBOX_CONFIG_FEATURE_VOLUMEID_REISERFS
 	bool "Reiser filesystem"
 	bool "Reiser filesystem"
 	default n
 	default n
@@ -689,6 +726,7 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_LABEL
 	help
 	help
 	  This allows for specifying a device by label or uuid, rather than by
 	  This allows for specifying a device by label or uuid, rather than by
 	  name. This feature utilizes the same functionality as blkid/findfs.
 	  name. This feature utilizes the same functionality as blkid/findfs.
+	  This also enables label or uuid support for swapon.
 
 
 config BUSYBOX_CONFIG_FEATURE_MOUNT_NFS
 config BUSYBOX_CONFIG_FEATURE_MOUNT_NFS
 	bool "Support mounting NFS file systems"
 	bool "Support mounting NFS file systems"

+ 5 - 5
package/busybox/patches/000-autoconf.patch

@@ -1,12 +1,12 @@
 --- a/applets/Kbuild
 --- a/applets/Kbuild
 +++ b/applets/Kbuild
 +++ b/applets/Kbuild
-@@ -27,13 +27,13 @@ HOSTCFLAGS_usage.o = -I$(srctree_slash)i
- 
+@@ -28,13 +28,13 @@ HOSTCFLAGS_usage_pod.o = -I$(srctree_sla
  applets/applets.o: include/usage_compressed.h include/applet_tables.h
  applets/applets.o: include/usage_compressed.h include/applet_tables.h
  
  
--applets/usage:         .config $(srctree_slash)applets/usage_compressed
-+applets/usage:         .config $(srctree_slash)applets/usage_compressed include/autoconf.h
- applets/applet_tables: .config
+ applets/applet_tables: .config $(srctree_slash)include/applets.h
+-applets/usage:         .config $(srctree_slash)include/applets.h
++applets/usage:         .config $(srctree_slash)include/applets.h include/autoconf.h
+ applets/usage_pod:     .config include/applet_tables.h $(srctree_slash)include/applets.h
  
  
  quiet_cmd_gen_usage_compressed = GEN     include/usage_compressed.h
  quiet_cmd_gen_usage_compressed = GEN     include/usage_compressed.h
        cmd_gen_usage_compressed = $(srctree_slash)applets/usage_compressed include/usage_compressed.h applets
        cmd_gen_usage_compressed = $(srctree_slash)applets/usage_compressed include/usage_compressed.h applets

+ 1 - 1
package/busybox/patches/001-init_avoid_loop_opening_tty.patch

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

+ 2 - 2
package/busybox/patches/110-wget_getopt_fix.patch

@@ -1,6 +1,6 @@
 --- a/networking/wget.c
 --- a/networking/wget.c
 +++ b/networking/wget.c
 +++ b/networking/wget.c
-@@ -653,7 +653,7 @@ int wget_main(int argc UNUSED_PARAM, cha
+@@ -543,7 +543,7 @@ int wget_main(int argc UNUSED_PARAM, cha
  		// "tries\0"            Required_argument "t"
  		// "tries\0"            Required_argument "t"
  		// "timeout\0"          Required_argument "T"
  		// "timeout\0"          Required_argument "T"
  		/* Ignored (we always use PASV): */
  		/* Ignored (we always use PASV): */
@@ -8,4 +8,4 @@
 +		"passive-ftp\0"      No_argument       "\xfd"
 +		"passive-ftp\0"      No_argument       "\xfd"
  		"header\0"           Required_argument "\xfe"
  		"header\0"           Required_argument "\xfe"
  		"post-data\0"        Required_argument "\xfd"
  		"post-data\0"        Required_argument "\xfd"
- 		;
+ 		/* Ignored (we don't do ssl) */

+ 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
-@@ -12351,8 +12351,17 @@ exportcmd(int argc UNUSED_PARAM, char **
+@@ -12340,8 +12340,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) {
-@@ -12364,10 +12373,12 @@ exportcmd(int argc UNUSED_PARAM, char **
+@@ -12353,10 +12362,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;

+ 4 - 4
package/busybox/patches/300-netmsg.patch

@@ -1,6 +1,6 @@
 --- a/include/applets.h
 --- a/include/applets.h
 +++ b/include/applets.h
 +++ b/include/applets.h
-@@ -278,6 +278,7 @@ IF_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_D
+@@ -282,6 +282,7 @@ IF_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_D
  IF_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_DROP))
  IF_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_DROP))
  IF_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_DROP))
  IF_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_DROP))
  IF_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_DROP))
  IF_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_DROP))
@@ -10,7 +10,7 @@
  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.h
 --- a/include/usage.h
 +++ b/include/usage.h
 +++ b/include/usage.h
-@@ -3101,6 +3101,9 @@
+@@ -3166,6 +3166,9 @@
  
  
  #endif
  #endif
  
  
@@ -22,7 +22,7 @@
  #define netstat_full_usage "\n\n" \
  #define netstat_full_usage "\n\n" \
 --- a/networking/Config.in
 --- a/networking/Config.in
 +++ b/networking/Config.in
 +++ b/networking/Config.in
-@@ -617,6 +617,12 @@ config NC
+@@ -628,6 +628,12 @@ config NC
  	  A simple Unix utility which reads and writes data across network
  	  A simple Unix utility which reads and writes data across network
  	  connections.
  	  connections.
  
  
@@ -44,7 +44,7 @@
 +lib-$(CONFIG_NETMSG)       += netmsg.o
 +lib-$(CONFIG_NETMSG)       += netmsg.o
  lib-$(CONFIG_NETSTAT)      += netstat.o
  lib-$(CONFIG_NETSTAT)      += netstat.o
  lib-$(CONFIG_NSLOOKUP)     += nslookup.o
  lib-$(CONFIG_NSLOOKUP)     += nslookup.o
- lib-$(CONFIG_PING)         += ping.o
+ lib-$(CONFIG_NTPD)         += ntpd.o
 --- /dev/null
 --- /dev/null
 +++ b/networking/netmsg.c
 +++ b/networking/netmsg.c
 @@ -0,0 +1,63 @@
 @@ -0,0 +1,63 @@

+ 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
-@@ -1699,21 +1699,32 @@ static int check_user_passwd(const char 
+@@ -1716,21 +1716,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;

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

@@ -1,6 +1,6 @@
 --- a/include/applets.h
 --- a/include/applets.h
 +++ b/include/applets.h
 +++ b/include/applets.h
-@@ -233,6 +233,7 @@ IF_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN,
+@@ -234,6 +234,7 @@ IF_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN,
  IF_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_DROP))
  IF_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_DROP))
  IF_LOADFONT(APPLET(loadfont, _BB_DIR_USR_SBIN, _BB_SUID_DROP))
  IF_LOADFONT(APPLET(loadfont, _BB_DIR_USR_SBIN, _BB_SUID_DROP))
  IF_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_DROP))
  IF_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_DROP))
@@ -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.h
 --- a/include/usage.h
 +++ b/include/usage.h
 +++ b/include/usage.h
-@@ -2325,6 +2325,9 @@
+@@ -2357,6 +2357,9 @@
  #define loadkmap_example_usage \
  #define loadkmap_example_usage \
         "$ loadkmap < /etc/i18n/lang-keymap\n"
         "$ loadkmap < /etc/i18n/lang-keymap\n"
  
  
@@ -22,7 +22,7 @@
  #define logger_full_usage "\n\n" \
  #define logger_full_usage "\n\n" \
 --- a/miscutils/Config.in
 --- a/miscutils/Config.in
 +++ b/miscutils/Config.in
 +++ b/miscutils/Config.in
-@@ -456,6 +456,11 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
+@@ -463,6 +463,11 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
  	help
  	help
  	  Enables the 'hdparm -d' option to get/set using_dma flag.
  	  Enables the 'hdparm -d' option to get/set using_dma flag.
  
  
@@ -36,7 +36,7 @@
  	default n
  	default n
 --- a/miscutils/Kbuild
 --- a/miscutils/Kbuild
 +++ b/miscutils/Kbuild
 +++ b/miscutils/Kbuild
-@@ -26,6 +26,7 @@ lib-$(CONFIG_INOTIFYD)    += inotifyd.o
+@@ -27,6 +27,7 @@ lib-$(CONFIG_INOTIFYD)    += inotifyd.o
  lib-$(CONFIG_FEATURE_LAST_SMALL)+= last.o
  lib-$(CONFIG_FEATURE_LAST_SMALL)+= last.o
  lib-$(CONFIG_FEATURE_LAST_FANCY)+= last_fancy.o
  lib-$(CONFIG_FEATURE_LAST_FANCY)+= last_fancy.o
  lib-$(CONFIG_LESS)        += less.o
  lib-$(CONFIG_LESS)        += less.o

+ 11 - 11
package/busybox/patches/350-httpd_redir.patch

@@ -1,6 +1,6 @@
 --- a/include/usage.h
 --- a/include/usage.h
 +++ b/include/usage.h
 +++ b/include/usage.h
-@@ -1693,6 +1693,7 @@
+@@ -1727,6 +1727,7 @@
  	IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]") \
  	IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]") \
         " [-h HOME]\n" \
         " [-h HOME]\n" \
         "or httpd -d/-e" IF_FEATURE_HTTPD_AUTH_MD5("/-m") " STRING"
         "or httpd -d/-e" IF_FEATURE_HTTPD_AUTH_MD5("/-m") " STRING"
@@ -8,18 +8,18 @@
  #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:" \
-@@ -1710,6 +1711,8 @@
+@@ -1744,6 +1745,8 @@
       "\n	-m STRING	MD5 crypt STRING") \
       "\n	-m STRING	MD5 crypt STRING") \
       "\n	-e STRING	HTML encode STRING" \
       "\n	-e STRING	HTML encode STRING" \
       "\n	-d STRING	URL decode STRING" \
       "\n	-d STRING	URL decode STRING" \
-+     "\n	-R PATH 	Redirect target path" \
-+     "\n	-H HOST 	Redirect target host" \
++     "\n	-R PATH		Redirect target path" \
++     "\n	-H HOST		Redirect target host" \
  
  
  #define hwclock_trivial_usage \
  #define hwclock_trivial_usage \
  	IF_FEATURE_HWCLOCK_LONG_OPTIONS( \
  	IF_FEATURE_HWCLOCK_LONG_OPTIONS( \
 --- a/networking/httpd.c
 --- a/networking/httpd.c
 +++ b/networking/httpd.c
 +++ b/networking/httpd.c
-@@ -248,6 +248,8 @@ struct globals {
+@@ -250,6 +250,8 @@ struct globals {
  
  
  	const char *found_mime_type;
  	const char *found_mime_type;
  	const char *found_moved_temporarily;
  	const char *found_moved_temporarily;
@@ -28,7 +28,7 @@
  	Htaccess_IP *ip_a_d;    /* config allow/deny lines */
  	Htaccess_IP *ip_a_d;    /* config allow/deny lines */
  
  
  	IF_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
  	IF_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
-@@ -294,6 +296,8 @@ struct globals {
+@@ -296,6 +298,8 @@ struct globals {
  #define index_page        (G.index_page       )
  #define index_page        (G.index_page       )
  #define found_mime_type   (G.found_mime_type  )
  #define found_mime_type   (G.found_mime_type  )
  #define found_moved_temporarily (G.found_moved_temporarily)
  #define found_moved_temporarily (G.found_moved_temporarily)
@@ -37,7 +37,7 @@
  #define last_mod          (G.last_mod         )
  #define last_mod          (G.last_mod         )
  #define ip_a_d            (G.ip_a_d           )
  #define ip_a_d            (G.ip_a_d           )
  #define g_realm           (G.g_realm          )
  #define g_realm           (G.g_realm          )
-@@ -993,8 +997,11 @@ static void send_headers(int responseNum
+@@ -997,8 +1001,11 @@ static void send_headers(int responseNum
  	}
  	}
  #endif
  #endif
  	if (responseNum == HTTP_MOVED_TEMPORARILY) {
  	if (responseNum == HTTP_MOVED_TEMPORARILY) {
@@ -50,7 +50,7 @@
  				(g_query ? "?" : ""),
  				(g_query ? "?" : ""),
  				(g_query ? g_query : ""));
  				(g_query ? g_query : ""));
  	}
  	}
-@@ -1924,8 +1931,12 @@ static void handle_incoming_and_exit(con
+@@ -1941,8 +1948,12 @@ static void handle_incoming_and_exit(con
  	} while (*++tptr);
  	} while (*++tptr);
  	*++urlp = '\0';       /* terminate after last character */
  	*++urlp = '\0';       /* terminate after last character */
  
  
@@ -61,10 +61,10 @@
  	/* If URL is a directory, add '/' */
  	/* If URL is a directory, add '/' */
 -	if (urlp[-1] != '/') {
 -	if (urlp[-1] != '/') {
 +	if (!redirect_path && (urlp[-1] != '/')) {
 +	if (!redirect_path && (urlp[-1] != '/')) {
- 		if (is_directory(urlcopy + 1, 1, &sb)) {
+ 		if (is_directory(urlcopy + 1, 1, NULL)) {
  			found_moved_temporarily = urlcopy;
  			found_moved_temporarily = urlcopy;
  		}
  		}
-@@ -2266,7 +2277,9 @@ static void sighup_handler(int sig UNUSE
+@@ -2283,7 +2294,9 @@ static void sighup_handler(int sig UNUSE
  }
  }
  
  
  enum {
  enum {
@@ -75,7 +75,7 @@
  	d_opt_decode_url,
  	d_opt_decode_url,
  	h_opt_home_httpd,
  	h_opt_home_httpd,
  	IF_FEATURE_HTTPD_ENCODE_URL_STR(e_opt_encode_url,)
  	IF_FEATURE_HTTPD_ENCODE_URL_STR(e_opt_encode_url,)
-@@ -2315,12 +2328,13 @@ int httpd_main(int argc UNUSED_PARAM, ch
+@@ -2332,12 +2345,13 @@ int httpd_main(int argc UNUSED_PARAM, ch
  	/* We do not "absolutize" path given by -h (home) opt.
  	/* We do not "absolutize" path given by -h (home) opt.
  	 * If user gives relative path in -h,
  	 * If user gives relative path in -h,
  	 * $SCRIPT_FILENAME will not be set. */
  	 * $SCRIPT_FILENAME will not be set. */

+ 1 - 1
package/busybox/patches/410-httpd_cgi_headers.patch

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

+ 1 - 1
package/busybox/patches/440-httpd_chdir.patch

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

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

@@ -119,7 +119,7 @@
  }
  }
 --- a/modutils/Config.in
 --- a/modutils/Config.in
 +++ b/modutils/Config.in
 +++ b/modutils/Config.in
-@@ -210,7 +210,7 @@ config FEATURE_MODUTILS_SYMBOLS
+@@ -226,7 +226,7 @@ config FEATURE_MODUTILS_SYMBOLS
  config DEFAULT_MODULES_DIR
  config DEFAULT_MODULES_DIR
  	string "Default directory containing modules"
  	string "Default directory containing modules"
  	default "/lib/modules"
  	default "/lib/modules"

+ 4 - 4
package/busybox/patches/480-mount_union.patch

@@ -1,7 +1,7 @@
 --- a/util-linux/mount.c
 --- a/util-linux/mount.c
 +++ b/util-linux/mount.c
 +++ b/util-linux/mount.c
-@@ -69,6 +69,10 @@
- #define MS_DIRSYNC      128     // Directory modifications are synchronous
+@@ -77,6 +77,10 @@
+ # include <rpc/pmap_clnt.h>
  #endif
  #endif
  
  
 +#ifndef MS_UNION
 +#ifndef MS_UNION
@@ -11,7 +11,7 @@
  
  
  #if defined(__dietlibc__)
  #if defined(__dietlibc__)
  // 16.12.2006, Sampo Kellomaki ([email protected])
  // 16.12.2006, Sampo Kellomaki ([email protected])
-@@ -185,6 +189,7 @@ static const int32_t mount_options[] = {
+@@ -194,6 +198,7 @@ static const int32_t mount_options[] = {
  		/* "rslave"      */ MS_SLAVE|MS_RECURSIVE,
  		/* "rslave"      */ MS_SLAVE|MS_RECURSIVE,
  		/* "rprivate"    */ MS_SLAVE|MS_RECURSIVE,
  		/* "rprivate"    */ MS_SLAVE|MS_RECURSIVE,
  		/* "runbindable" */ MS_UNBINDABLE|MS_RECURSIVE,
  		/* "runbindable" */ MS_UNBINDABLE|MS_RECURSIVE,
@@ -19,7 +19,7 @@
  	)
  	)
  
  
  	// Always understood.
  	// Always understood.
-@@ -239,6 +244,7 @@ static const char mount_option_str[] =
+@@ -249,6 +254,7 @@ static const char mount_option_str[] =
  		"rslave\0"
  		"rslave\0"
  		"rprivate\0"
  		"rprivate\0"
  		"runbindable\0"
  		"runbindable\0"

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

@@ -15,7 +15,7 @@
  } func;
  } func;
  
  
  /* I/O stream */
  /* I/O stream */
-@@ -1420,7 +1425,8 @@ static void parse_program(char *p)
+@@ -1424,7 +1429,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 +25,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);
-@@ -1429,7 +1435,7 @@ static void parse_program(char *p)
+@@ -1433,7 +1439,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 +34,7 @@
  			chain_group();
  			chain_group();
  			clear_array(ahash);
  			clear_array(ahash);
  
  
-@@ -2410,7 +2416,8 @@ static var *evaluate(node *op, var *res)
+@@ -2446,7 +2452,8 @@ static var *evaluate(node *op, var *res)
  			break;
  			break;
  
  
  		case XC( OC_FUNC ):
  		case XC( OC_FUNC ):
@@ -43,8 +43,8 @@
 +				!op->r.f->x.body.first)
 +				!op->r.f->x.body.first)
  				syntax_error(EMSG_UNDEF_FUNC);
  				syntax_error(EMSG_UNDEF_FUNC);
  
  
- 			X.v = R.v = nvalloc(op->r.f->nargs+1);
-@@ -2427,7 +2434,10 @@ static var *evaluate(node *op, var *res)
+ 			X.v = R.v = nvalloc(op->r.f->nargs + 1);
+@@ -2463,7 +2470,10 @@ static var *evaluate(node *op, var *res)
  			fnargs = X.v;
  			fnargs = X.v;
  
  
  			L.s = g_progname;
  			L.s = g_progname;
@@ -56,7 +56,7 @@
  			g_progname = L.s;
  			g_progname = L.s;
  
  
  			nvfree(fnargs);
  			nvfree(fnargs);
-@@ -2790,6 +2800,143 @@ static rstream *next_input_file(void)
+@@ -2829,6 +2839,143 @@ static rstream *next_input_file(void)
  #undef files_happen
  #undef files_happen
  }
  }
  
  
@@ -200,7 +200,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)
  {
  {
-@@ -2855,6 +3002,9 @@ int awk_main(int argc, char **argv)
+@@ -2894,6 +3041,9 @@ int awk_main(int argc, char **argv)
  			*s1 = '=';
  			*s1 = '=';
  		}
  		}
  	}
  	}

+ 1 - 1
package/busybox/patches/902-telnetd_intr.patch

@@ -1,6 +1,6 @@
 --- a/networking/telnetd.c
 --- a/networking/telnetd.c
 +++ b/networking/telnetd.c
 +++ b/networking/telnetd.c
-@@ -306,6 +306,7 @@ make_new_session(
+@@ -308,6 +308,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);