Преглед изворни кода

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
 
 PKG_NAME:=busybox
-PKG_VERSION:=1.15.3
+PKG_VERSION:=1.16.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://www.busybox.net/downloads \
 		http://distfiles.gentoo.org/distfiles/
-PKG_MD5SUM:=6059ac9456de6fb18dc8ee4cd0ec9240
+PKG_MD5SUM:=319486ec65078d07fde26eb620fecde7
 
 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
 	  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
 	prompt "Buffer allocation policy"
 	default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
@@ -502,17 +519,8 @@ config BUSYBOX_CONFIG_EFENCE
 
 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
-### 	bool "Uniform config file parser debugging applet: parse"
+###	bool "Uniform config file parser debugging applet: parse"
 
 endmenu
 

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

@@ -165,6 +165,13 @@ config BUSYBOX_CONFIG_GZIP
 	  gzip is used to compress files.
 	  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
 	bool "lzop"
 	default n
@@ -269,6 +276,14 @@ config BUSYBOX_CONFIG_FEATURE_TAR_UNAME_GNAME
 	  listings (-t) and preserving permissions when unpacking (-p).
 	  +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
 
 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
 	  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
 	bool "chroot"
 	default y
@@ -78,6 +85,14 @@ config BUSYBOX_CONFIG_CP
 	help
 	  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
 	bool "cut"
 	default y
@@ -100,6 +115,22 @@ config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
 	  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
 	bool "dd"
 	default y
@@ -113,13 +144,22 @@ config BUSYBOX_CONFIG_FEATURE_DD_SIGNAL_HANDLING
 	default y
 	depends on BUSYBOX_CONFIG_DD
 	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
 	  so far, then to resume copying.
 
 	  $ dd if=/dev/zero of=/dev/null&
 	  $ 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
 	bool "Enable ibs, obs and conv options"
@@ -829,13 +869,13 @@ config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE
 	help
 	  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
 	bool "Enable -c, -s and -w options"
 	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
 	  Enabling the -c options allows files to be checked
 	  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
 	  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
-	depends on BUSYBOX_CONFIG_DIFF
+	depends on BUSYBOX_CONFIG_DIFF && BUSYBOX_CONFIG_LONG_OPTS
 	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
 	bool "Enable directory support"
@@ -51,14 +50,6 @@ config BUSYBOX_CONFIG_FEATURE_DIFF_DIR
 	  This option enables support for directory and subdirectory
 	  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
 	bool "ed"
 	default n

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

@@ -171,6 +171,13 @@ config BUSYBOX_CONFIG_FEATURE_FIND_CONTEXT
 	help
 	  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
 	bool "grep"
 	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
 	  editing more robust in some cases.
 	  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.
 
 config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP
@@ -134,9 +134,8 @@ config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE
 	    $ cp file /vmlinuz/file
 	    cp: cannot stat '/vmlinuz/file': Path has non-directory component
 	  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
-	  respectively.
 	  This will cost you ~60 bytes.
 
 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.
 
 config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
-	bool "Using /usr/sbin/sendmail?"
+	bool "Report command output via email (using sendmail)"
 	default n
 	depends on BUSYBOX_CONFIG_CROND
 	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
 	string "crond spool directory"
@@ -272,6 +272,13 @@ config BUSYBOX_CONFIG_FBSPLASH
 	    "NN" (ASCII decimal number) - percentage to show on progress bar
 	    "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
 	bool "flash_lock"
 	default n
@@ -618,6 +625,12 @@ config BUSYBOX_CONFIG_VOLNAME
 	help
 	  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
 	bool "watchdog"
 	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
 	  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
 	bool "Enable module version checking"
 	default n

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

@@ -117,6 +117,17 @@ config BUSYBOX_CONFIG_FEATURE_FTP_WRITE
 	help
 	  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
 	bool "ftpget"
 	default n
@@ -667,6 +678,20 @@ config BUSYBOX_CONFIG_NSLOOKUP
 	help
 	  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
 	bool "ping"
 	default y
@@ -794,6 +819,27 @@ config BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE
 	help
 	  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
 	bool "tftp"
 	default n
@@ -831,12 +877,19 @@ config BUSYBOX_CONFIG_FEATURE_TFTP_PUT
 	  Also enable download support in tftpd, if tftpd is selected.
 
 config BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE
-	bool "Enable \"blksize\" protocol option"
+	bool "Enable 'blksize' and 'tsize' protocol options"
 	default n
 	depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
 	help
 	  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
 	bool "Enable debug"
@@ -852,6 +905,13 @@ config BUSYBOX_CONFIG_TRACEROUTE
 	help
 	  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
 	bool "Enable verbose output"
 	default y
@@ -880,7 +940,7 @@ source package/busybox/config/networking/udhcp/Config.in
 config BUSYBOX_CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS
 	string "ifup udhcpc command line options"
 	default "-R -n"
-	depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_APP_UDHCPC
+	depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_UDHCPC
 	help
 	  Command line options to pass to udhcpc from ifup.
 	  Intended to alter options not available in /etc/network/interfaces.

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

@@ -3,26 +3,26 @@
 # see scripts/kbuild/config-language.txt.
 #
 
-config BUSYBOX_CONFIG_APP_UDHCPD
+config BUSYBOX_CONFIG_UDHCPD
 	bool "udhcp server (udhcpd)"
 	default n
 	help
 	  udhcpd is a DHCP server geared primarily toward embedded systems,
 	  while striving to be fully functional and RFC compliant.
 
-config BUSYBOX_CONFIG_APP_DHCPRELAY
+config BUSYBOX_CONFIG_DHCPRELAY
 	bool "dhcprelay"
 	default n
-	depends on BUSYBOX_CONFIG_APP_UDHCPD
+	depends on BUSYBOX_CONFIG_UDHCPD
 	help
 	  dhcprelay listens for dhcp requests on one or more interfaces
 	  and forwards these requests to a different interface or dhcp
 	  server.
 
-config BUSYBOX_CONFIG_APP_DUMPLEASES
+config BUSYBOX_CONFIG_DUMPLEASES
 	bool "Lease display utility (dumpleases)"
 	default n
-	depends on BUSYBOX_CONFIG_APP_UDHCPD
+	depends on BUSYBOX_CONFIG_UDHCPD
 	help
 	  dumpleases displays the leases written out by the udhcpd server.
 	  Lease times are stored in the file by time remaining in lease, or
@@ -31,7 +31,7 @@ config BUSYBOX_CONFIG_APP_DUMPLEASES
 config BUSYBOX_CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY
 	bool "Rewrite the lease file at every new acknowledge"
 	default n
-	depends on BUSYBOX_CONFIG_APP_UDHCPD
+	depends on BUSYBOX_CONFIG_UDHCPD
 	help
 	  If selected, udhcpd will write a new file with leases every
 	  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
 	string "Absolute path to lease file"
 	default "/var/run/udhcpd.leases"
-	depends on BUSYBOX_CONFIG_APP_UDHCPD
+	depends on BUSYBOX_CONFIG_UDHCPD
 	help
 	  udhcpd stores addresses in a lease file. This is the absolute path
 	  of the file. Normally it is safe to leave it untouched.
 
-config BUSYBOX_CONFIG_APP_UDHCPC
+config BUSYBOX_CONFIG_UDHCPC
 	bool "udhcp client (udhcpc)"
 	default y
 	help
@@ -59,7 +59,7 @@ config BUSYBOX_CONFIG_APP_UDHCPC
 config BUSYBOX_CONFIG_FEATURE_UDHCPC_ARPING
 	bool "Verify that the offered address is free, using ARP ping"
 	default n
-	depends on BUSYBOX_CONFIG_APP_UDHCPC
+	depends on BUSYBOX_CONFIG_UDHCPC
 	help
 	  If selected, udhcpc will send ARP probes and make sure
 	  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
 	bool "Enable '-P port' option for udhcpd and udhcpc"
 	default n
-	depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC
+	depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
 	help
 	  At the cost of ~300 bytes, enables -P port option.
 	  This feature is typically not needed.
@@ -78,7 +78,7 @@ config BUSYBOX_CONFIG_UDHCP_DEBUG
 	int "Maximum verbosity level for udhcp applets (0..9)"
 	default 0
 	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
 	  Verbosity can be increased with multiple -v options.
 	  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
 	bool "Support for RFC3397 domain search (experimental)"
 	default y
-	depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC
+	depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
 	help
 	  If selected, both client and server will support passing of domain
 	  search lists via option 119, specified in RFC3397.
@@ -97,7 +97,7 @@ config BUSYBOX_CONFIG_FEATURE_UDHCP_RFC3397
 config BUSYBOX_CONFIG_UDHCPC_DEFAULT_SCRIPT
 	string "Absolute path to config script"
 	default "/usr/share/udhcpc/default.script"
-	depends on BUSYBOX_CONFIG_APP_UDHCPC
+	depends on BUSYBOX_CONFIG_UDHCPC
 	help
 	  This script is called after udhcpc receives an answer. See
 	  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"
 	default 80
 	range 0 924
-	depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC
+	depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
 	help
 	  Some buggy DHCP servers send DHCP offer packets with option
 	  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
 	  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
 	bool "uptime"
 	default y
@@ -203,5 +210,4 @@ config BUSYBOX_CONFIG_WATCH
 	  watch is used to execute a program periodically, showing
 	  output to the screen.
 
-
 endmenu

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

@@ -15,6 +15,7 @@ choice
 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
@@ -36,6 +37,7 @@ endchoice
 config BUSYBOX_CONFIG_ASH
 	bool "ash"
 	default y
+	depends on !BUSYBOX_CONFIG_NOMMU
 	help
 	  Tha 'ash' shell adds about 60k in the default configuration and is
 	  the most complete and most pedantically correct shell included with
@@ -57,23 +59,6 @@ config BUSYBOX_CONFIG_ASH_JOB_CONTROL
 	help
 	  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
 	bool "alias support"
 	default y
@@ -187,7 +172,7 @@ config BUSYBOX_CONFIG_HUSH_INTERACTIVE
 	help
 	  Enable interactive mode (prompt and command editing).
 	  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.
 
 config BUSYBOX_CONFIG_HUSH_JOB
@@ -250,6 +235,14 @@ config BUSYBOX_CONFIG_HUSH_EXPORT_N
 	help
 	  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
 	bool "lash (deprecated: aliased to hush)"
 	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
 	  filesystem.
 
+config BUSYBOX_CONFIG_MKFS_EXT2
+	bool "mkfs_ext2"
+	default n
+	help
+	  Utility to create EXT2 filesystems.
+
 config BUSYBOX_CONFIG_MKFS_MINIX
 	bool "mkfs_minix"
 	default n
@@ -233,6 +239,12 @@ config BUSYBOX_CONFIG_FEATURE_MINIX2
 	  this. If you enabled 'mkfs_minix' then you almost certainly want to
 	  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
 	bool "mkfs_vfat"
 	default n
@@ -336,6 +348,24 @@ config BUSYBOX_CONFIG_LOSETUP
 	  file or block device, and to query the status of a loop device. This
 	  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
 	bool "mdev"
 	default n
@@ -445,6 +475,13 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXT
 	help
 	  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
 	bool "Reiser filesystem"
 	default n
@@ -689,6 +726,7 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_LABEL
 	help
 	  This allows for specifying a device by label or uuid, rather than by
 	  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
 	bool "Support mounting NFS file systems"

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

@@ -1,12 +1,12 @@
 --- a/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/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
        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
 +++ 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,
  			 * it is already running
  			 */

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

@@ -1,6 +1,6 @@
 --- a/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"
  		// "timeout\0"          Required_argument "T"
  		/* Ignored (we always use PASV): */
@@ -8,4 +8,4 @@
 +		"passive-ftp\0"      No_argument       "\xfd"
  		"header\0"           Required_argument "\xfe"
  		"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
 +++ 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;
  	char **aptr;
  	int flag = argv[0][0] == 'r' ? VREADONLY : VEXPORT;
@@ -19,7 +19,7 @@
  		aptr = argptr;
  		name = *aptr;
  		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);
  					if (vp) {
  						vp->flags |= flag;

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

@@ -1,6 +1,6 @@
 --- a/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_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _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))
 --- a/include/usage.h
 +++ b/include/usage.h
-@@ -3101,6 +3101,9 @@
+@@ -3166,6 +3166,9 @@
  
  #endif
  
@@ -22,7 +22,7 @@
  #define netstat_full_usage "\n\n" \
 --- a/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
  	  connections.
  
@@ -44,7 +44,7 @@
 +lib-$(CONFIG_NETMSG)       += netmsg.o
  lib-$(CONFIG_NETSTAT)      += netstat.o
  lib-$(CONFIG_NSLOOKUP)     += nslookup.o
- lib-$(CONFIG_PING)         += ping.o
+ lib-$(CONFIG_NTPD)         += ntpd.o
 --- /dev/null
 +++ b/networking/netmsg.c
 @@ -0,0 +1,63 @@

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

@@ -3,7 +3,7 @@
 
 --- a/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) {
  			char *md5_passwd;

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

@@ -1,6 +1,6 @@
 --- a/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_LOADFONT(APPLET(loadfont, _BB_DIR_USR_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))
 --- a/include/usage.h
 +++ b/include/usage.h
-@@ -2325,6 +2325,9 @@
+@@ -2357,6 +2357,9 @@
  #define loadkmap_example_usage \
         "$ loadkmap < /etc/i18n/lang-keymap\n"
  
@@ -22,7 +22,7 @@
  #define logger_full_usage "\n\n" \
 --- a/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
  	  Enables the 'hdparm -d' option to get/set using_dma flag.
  
@@ -36,7 +36,7 @@
  	default n
 --- a/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_FANCY)+= last_fancy.o
  lib-$(CONFIG_LESS)        += less.o

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

@@ -1,6 +1,6 @@
 --- a/include/usage.h
 +++ b/include/usage.h
-@@ -1693,6 +1693,7 @@
+@@ -1727,6 +1727,7 @@
  	IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]") \
         " [-h HOME]\n" \
         "or httpd -d/-e" IF_FEATURE_HTTPD_AUTH_MD5("/-m") " STRING"
@@ -8,18 +8,18 @@
  #define httpd_full_usage "\n\n" \
         "Listen for incoming HTTP requests\n" \
       "\nOptions:" \
-@@ -1710,6 +1711,8 @@
+@@ -1744,6 +1745,8 @@
       "\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" \
++     "\n	-R PATH		Redirect target path" \
++     "\n	-H HOST		Redirect target host" \
  
  #define hwclock_trivial_usage \
  	IF_FEATURE_HWCLOCK_LONG_OPTIONS( \
 --- a/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_moved_temporarily;
@@ -28,7 +28,7 @@
  	Htaccess_IP *ip_a_d;    /* config allow/deny lines */
  
  	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 found_mime_type   (G.found_mime_type  )
  #define found_moved_temporarily (G.found_moved_temporarily)
@@ -37,7 +37,7 @@
  #define last_mod          (G.last_mod         )
  #define ip_a_d            (G.ip_a_d           )
  #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
  	if (responseNum == HTTP_MOVED_TEMPORARILY) {
@@ -50,7 +50,7 @@
  				(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);
  	*++urlp = '\0';       /* terminate after last character */
  
@@ -61,10 +61,10 @@
  	/* If URL is a directory, add '/' */
 -	if (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;
  		}
-@@ -2266,7 +2277,9 @@ static void sighup_handler(int sig UNUSE
+@@ -2283,7 +2294,9 @@ static void sighup_handler(int sig UNUSE
  }
  
  enum {
@@ -75,7 +75,7 @@
  	d_opt_decode_url,
  	h_opt_home_httpd,
  	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.
  	 * If user gives relative path in -h,
  	 * $SCRIPT_FILENAME will not be set. */

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

@@ -1,6 +1,6 @@
 --- a/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)
  							break;
  					}

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

@@ -1,6 +1,6 @@
 --- a/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;
  	Htaccess_Proxy *proxy_entry;
  #endif

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

@@ -119,7 +119,7 @@
  }
 --- a/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
  	string "Default directory containing modules"
  	default "/lib/modules"

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

@@ -1,7 +1,7 @@
 --- a/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
  
 +#ifndef MS_UNION
@@ -11,7 +11,7 @@
  
  #if defined(__dietlibc__)
  // 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,
  		/* "rprivate"    */ MS_SLAVE|MS_RECURSIVE,
  		/* "runbindable" */ MS_UNBINDABLE|MS_RECURSIVE,
@@ -19,7 +19,7 @@
  	)
  
  	// Always understood.
-@@ -239,6 +244,7 @@ static const char mount_option_str[] =
+@@ -249,6 +254,7 @@ static const char mount_option_str[] =
  		"rslave\0"
  		"rprivate\0"
  		"runbindable\0"

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

@@ -15,7 +15,7 @@
  } func;
  
  /* 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);
  			g_pos++;
  			f = newfunc(t_string);
@@ -25,7 +25,7 @@
  			f->nargs = 0;
  			while (next_token(TC_VARIABLE | TC_SEQTERM) & TC_VARIABLE) {
  				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)
  					break;
  			}
@@ -34,7 +34,7 @@
  			chain_group();
  			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;
  
  		case XC( OC_FUNC ):
@@ -43,8 +43,8 @@
 +				!op->r.f->x.body.first)
  				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;
  
  			L.s = g_progname;
@@ -56,7 +56,7 @@
  			g_progname = L.s;
  
  			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
  }
  
@@ -200,7 +200,7 @@
  int awk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  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 = '=';
  		}
  	}

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

@@ -1,6 +1,6 @@
 --- a/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 */
  	bb_signals((1 << SIGCHLD) + (1 << SIGPIPE), SIG_DFL);