busybox: update to v1.14.4 (closes: #5619)
authorNicolas Thill <nico@openwrt.org>
Mon, 28 Sep 2009 12:38:46 +0000 (12:38 +0000)
committerNicolas Thill <nico@openwrt.org>
Mon, 28 Sep 2009 12:38:46 +0000 (12:38 +0000)
SVN-Revision: 17782

36 files changed:
package/busybox/Makefile
package/busybox/config/Config.in
package/busybox/config/archival/Config.in
package/busybox/config/coreutils/Config.in
package/busybox/config/init/Config.in
package/busybox/config/loginutils/Config.in
package/busybox/config/mailutils/Config.in
package/busybox/config/miscutils/Config.in
package/busybox/config/modutils/Config.in
package/busybox/config/networking/Config.in
package/busybox/config/shell/Config.in
package/busybox/config/util-linux/Config.in
package/busybox/patches/001-init_avoid_loop_opening_tty.patch
package/busybox/patches/003-brctl_show_fix.patch
package/busybox/patches/110-wget_getopt_fix.patch
package/busybox/patches/200-etc_crontabs.patch
package/busybox/patches/240-udhcpc_retries.patch
package/busybox/patches/241-udhcpc-oversized_packets.patch
package/busybox/patches/243-udhcpc_changed_ifindex.patch
package/busybox/patches/244-udhcpc_cidrroute.patch
package/busybox/patches/250-ash_export-n.patch
package/busybox/patches/300-netmsg.patch
package/busybox/patches/310-passwd_access.patch
package/busybox/patches/340-lock_util.patch
package/busybox/patches/350-httpd_redir.patch
package/busybox/patches/410-httpd_cgi_headers.patch
package/busybox/patches/440-httpd_chdir.patch
package/busybox/patches/470-insmod_search.patch
package/busybox/patches/480-mount_union.patch
package/busybox/patches/510-awk_include.patch
package/busybox/patches/524-udhcpc_renew.patch
package/busybox/patches/530-watchdog_fix.patch
package/busybox/patches/801-brctl_zero_time.patch
package/busybox/patches/802-brctl_linux24.patch
package/busybox/patches/803-id_getgrouplist.patch
package/busybox/patches/901-df_human_readable.patch

index 9abbe348a976f38180c37d97e1fa339573a55c56..eb0f0987e75a3729f8f9de77df02da596504aacf 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=busybox
-PKG_VERSION:=1.13.4
+PKG_VERSION:=1.14.4
 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:=8a5eb7f15d4077d18fa97bda7a4e5412
+PKG_MD5SUM:=ad6d0b271e60783a3c767c4ccbc7f98e
 
 include $(INCLUDE_DIR)/package.mk
 
index e8c77bfa691785e033e1e22715e1d21737352682..cf656998cfc8614c78c1dd8debcb7a2f8e7a8127 100644 (file)
@@ -410,6 +410,12 @@ config BUSYBOX_CONFIG_CROSS_COMPILER_PREFIX
 
          Native builds leave this empty.
 
+config BUSYBOX_CONFIG_EXTRA_CFLAGS
+       string "Additional CFLAGS"
+       default ""
+       help
+         Additional CFLAGS to pass to the compiler verbatim.
+
 endmenu
 
 menu 'Debugging Options'
index f1e4d77018dd4a879ff03da041c2060553060540..81534e84027134f81ad700d32a59c5da630a3b28 100644 (file)
@@ -110,6 +110,13 @@ config BUSYBOX_CONFIG_FEATURE_CPIO_O
          This implementation of cpio can create cpio archives in the "newc"
          format only.
 
+config BUSYBOX_CONFIG_FEATURE_CPIO_P
+       bool "Support for passthrough mode"
+       default n
+       depends on BUSYBOX_CONFIG_FEATURE_CPIO_O
+       help
+         Passthrough mode. Rarely used.
+
 config BUSYBOX_CONFIG_DPKG
        bool "dpkg"
        default n
index 0775b4cbc78c187ef24dbc59eb7ac52d11f2ab3a..f7b8f320f76dd7f8ed4b1792453147ba749320d7 100644 (file)
@@ -189,7 +189,7 @@ config BUSYBOX_CONFIG_ECHO
 config BUSYBOX_CONFIG_FEATURE_FANCY_ECHO
        bool "Enable echo options (-n and -e)"
        default y
-       depends on BUSYBOX_CONFIG_ECHO || BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
+       depends on BUSYBOX_CONFIG_ECHO || BUSYBOX_CONFIG_ASH_BUILTIN_ECHO || BUSYBOX_CONFIG_HUSH
        help
          This adds options (-n and -e) to echo.
 
@@ -509,6 +509,18 @@ config BUSYBOX_CONFIG_SHA1SUM
        help
          Compute and check SHA1 message digest
 
+config BUSYBOX_CONFIG_SHA256SUM
+       bool "sha256sum"
+       default n
+       help
+         Compute and check SHA256 message digest
+
+config BUSYBOX_CONFIG_SHA512SUM
+       bool "sha512sum"
+       default n
+       help
+         Compute and check SHA512 message digest
+
 config BUSYBOX_CONFIG_SLEEP
        bool "sleep"
        default y
@@ -754,7 +766,7 @@ config BUSYBOX_CONFIG_FEATURE_WC_LARGE
        default n
        depends on BUSYBOX_CONFIG_WC
        help
-         Use "unsigned long long" in wc for count variables.
+         Use "unsigned long long" in wc for counter variables.
 
 config BUSYBOX_CONFIG_WHO
        bool "who"
index a84169d46ede5e86fc82f9e71775aca39b85f23d..75f3298170daf1e0944ada9a17025dfe231a5703 100644 (file)
@@ -32,11 +32,12 @@ config BUSYBOX_CONFIG_FEATURE_KILL_DELAY
        int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED
        range 0 1024
        default 0
+       depends on BUSYBOX_CONFIG_FEATURE_KILL_REMOVED
        help
          With nonzero setting, init sends TERM, forks, child waits N
          seconds, sends KILL and exits. Setting it too high is unwise
-         (child will hang around for too long and can actually kill
-         wrong process!)
+         (child will hang around for too long and could actually kill
+         the wrong process!)
 
 config BUSYBOX_CONFIG_FEATURE_INIT_SCTTY
        bool "Run commands with leading dash with controlling tty"
index d100b3bb2ec68ac1efcc16b3b30433b57dc5d53d..d88876cf93f4e399bab4cec5bed4350ef84cc6c5 100644 (file)
@@ -58,7 +58,7 @@ config BUSYBOX_CONFIG_USE_BB_SHADOW
          password servers and whatnot.
 
 config BUSYBOX_CONFIG_USE_BB_CRYPT
-       bool "Use internal DES and MD5 crypt functions"
+       bool "Use internal crypt functions"
        default n
        help
          Busybox has internal DES and MD5 crypt functions.
@@ -79,6 +79,18 @@ config BUSYBOX_CONFIG_USE_BB_CRYPT
          In static build, it makes code _smaller_ by about 1.2k,
          and likely many kilobytes less of bss.
 
+config BUSYBOX_CONFIG_USE_BB_CRYPT_SHA
+       bool "Enable SHA256/512 crypt functions"
+       default n
+       depends on BUSYBOX_CONFIG_USE_BB_CRYPT
+       help
+         Enable this if you have passwords starting with "$5$" or "$6$"
+         in your /etc/passwd or /etc/shadow files. These passwords
+         are hashed using SHA256 and SHA512 algorithms. Support for them
+         was added to glibc in 2008.
+         With this option off, login will fail password check for any
+         user which has password encrypted with these algorithms.
+
 config BUSYBOX_CONFIG_ADDGROUP
        bool "addgroup"
        default n
@@ -230,15 +242,16 @@ config BUSYBOX_CONFIG_CRYPTPW
        bool "cryptpw"
        default n
        help
-         Applet for crypting a string.
+         Encrypts the given password with the crypt(3) libc function
+         using the given salt. Debian has this utility under mkpasswd
+         name. Busybox provides mkpasswd as an alias for cryptpw.
 
 config BUSYBOX_CONFIG_CHPASSWD
        bool "chpasswd"
        default n
        help
-         chpasswd reads a file of user name and password pairs from
-         standard input and uses this information to update a group of
-         existing users.
+         Reads a file of user name and password pairs from standard input
+         and uses this information to update a group of existing users.
 
 config BUSYBOX_CONFIG_SU
        bool "su"
index 9fb5a13ec7e5ce3584bcc57de59da2f9b4c17a0d..c879583c8ecfac575542d2c763e59df67dadb8a0 100644 (file)
@@ -50,20 +50,4 @@ config BUSYBOX_CONFIG_SENDMAIL
        help
          Barebones sendmail.
 
-config BUSYBOX_CONFIG_FEATURE_SENDMAIL_MAILX
-       bool "Allow to specify subject, attachments, their charset etc"
-       default n
-       depends on BUSYBOX_CONFIG_SENDMAIL
-       help
-         Allow to specify subject, attachments and their charset.
-         Allow to use custom connection helper.
-
-config BUSYBOX_CONFIG_FEATURE_SENDMAIL_MAILXX
-       bool "Allow to specify Cc: addresses and some additional headers"
-       default n
-       depends on BUSYBOX_CONFIG_FEATURE_SENDMAIL_MAILX
-       help
-         Allow to specify Cc: addresses and some additional headers:
-         Errors-To:
-
 endmenu
index e1541c97da7e041f054811453ad3af719e699614..1ddfb940a8e6408e59f3c5ccdd93694ae6f496b0 100644 (file)
@@ -121,6 +121,13 @@ config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
        help
          Support calling /usr/sbin/sendmail for send cmd outputs.
 
+config BUSYBOX_CONFIG_FEATURE_CROND_DIR
+       string "crond spool directory"
+       default "/var/spool/cron"
+       depends on BUSYBOX_CONFIG_CROND || BUSYBOX_CONFIG_CRONTAB
+       help
+         Location of crond spool.
+
 config BUSYBOX_CONFIG_CRONTAB
        bool "crontab"
        default y
@@ -151,7 +158,10 @@ config BUSYBOX_CONFIG_DEVFSD
        default n
        select BUSYBOX_CONFIG_FEATURE_SYSLOG
        help
-         This is deprecated, and will be removed at the end of 2008.
+         This is deprecated and should NOT be used anymore.
+         Use linux >= 2.6 (optionally with hotplug) and mdev instead!
+         See docs/mdev.txt for detailed instructions on how to use mdev
+         instead.
 
          Provides compatibility with old device names on a devfs systems.
          You should set it to true if you have devfs enabled.
@@ -160,7 +170,7 @@ config BUSYBOX_CONFIG_DEVFSD
          "PERMISSIONS", "EXECUTE", "COPY", "IGNORE",
          "MKOLDCOMPAT", "MKNEWCOMPAT","RMOLDCOMPAT", "RMNEWCOMPAT".
 
-          But only if they are written UPPERCASE!!!!!!!!
+         But only if they are written UPPERCASE!!!!!!!!
 
 config BUSYBOX_CONFIG_DEVFSD_MODLOAD
        bool "Adds support for MODLOAD keyword in devsfd.conf"
@@ -190,9 +200,11 @@ config BUSYBOX_CONFIG_FEATURE_DEVFS
        bool "Use devfs names for all devices (obsolete)"
        default n
        help
-         This is obsolete and will be going away at the end of 2008..
+         This is obsolete and should NOT be used anymore.
+         Use linux >= 2.6 (optionally with hotplug) and mdev instead!
 
-         This tells busybox to look for names like /dev/loop/0 instead of
+         For legacy systems -- if there is no way around devfsd -- this
+         tells busybox to look for names like /dev/loop/0 instead of
          /dev/loop0. If your /dev directory has normal names instead of
          devfs names, you don't want this.
 
@@ -238,6 +250,20 @@ config BUSYBOX_CONFIG_FBSPLASH
            "NN" (ASCII decimal number) - percentage to show on progress bar
            "exit" - well you guessed it
 
+config BUSYBOX_CONFIG_FLASH_ERASEALL
+       bool "flash_eraseall"
+       default n
+       help
+         The flash_eraseall binary from mtd-utils as of git head c4c6a59eb.
+         This utility is used to erase the whole MTD device.
+
+config BUSYBOX_CONFIG_IONICE
+       bool "ionice"
+       default n
+       help
+         Set/set program io scheduling class and priority
+         Requires kernel >= 2.6.13
+
 config BUSYBOX_CONFIG_INOTIFYD
        bool "inotifyd"
        default n
@@ -300,14 +326,6 @@ config BUSYBOX_CONFIG_FEATURE_LESS_FLAGS
          The -M flag enables a more sophisticated status line.
          The -m flag enables a simpler status line with a percentage.
 
-config BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
-       bool "Enable flag changes ('-' command)"
-       default n
-       depends on BUSYBOX_CONFIG_LESS
-       help
-         This enables the ability to change command-line flags within
-         less itself ('-' keyboard command).
-
 config BUSYBOX_CONFIG_FEATURE_LESS_MARKS
        bool "Enable marks"
        default n
@@ -322,13 +340,6 @@ config BUSYBOX_CONFIG_FEATURE_LESS_REGEXP
        help
          Enable regular expressions, allowing complex file searches.
 
-config BUSYBOX_CONFIG_FEATURE_LESS_LINENUMS
-       bool "Enable dynamic switching of line numbers"
-       default n
-       depends on BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
-       help
-         Enable "-N" command.
-
 config BUSYBOX_CONFIG_FEATURE_LESS_WINCH
        bool "Enable automatic resizing on window size changes"
        default n
@@ -336,6 +347,21 @@ config BUSYBOX_CONFIG_FEATURE_LESS_WINCH
        help
          Makes less track window size changes.
 
+config BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
+       bool "Enable flag changes ('-' command)"
+       default n
+       depends on BUSYBOX_CONFIG_LESS
+       help
+         This enables the ability to change command-line flags within
+         less itself ('-' keyboard command).
+
+config BUSYBOX_CONFIG_FEATURE_LESS_LINENUMS
+       bool "Enable dynamic switching of line numbers"
+       default n
+       depends on BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
+       help
+         Enable "-N" command.
+
 config BUSYBOX_CONFIG_HDPARM
        bool "hdparm"
        default n
@@ -388,12 +414,11 @@ config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
          stuff, so you should probably say N.
 
 config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
-       bool "Get/set using_dma flag (DANGEROUS)"
+       bool "Get/set using_dma flag"
        default n
        depends on BUSYBOX_CONFIG_HDPARM
        help
          Enables the 'hdparm -d' option to get/set using_dma flag.
-         This is dangerous stuff, so you should probably say N.
 
 config BUSYBOX_CONFIG_LOCK
        bool "lock"
@@ -535,6 +560,13 @@ config BUSYBOX_CONFIG_TIME
          When the command finishes, time writes a message to standard output
          giving timing statistics about this program run.
 
+config BUSYBOX_CONFIG_TIMEOUT
+       bool "timeout"
+       default n
+       help
+         Runs a program and watches it. If it does not terminate in
+         specified number of seconds, it is sent a signal.
+
 config BUSYBOX_CONFIG_TTYSIZE
        bool "ttysize"
        default n
index f02f03178e06bf66b62455bca9d40ce8f0e5eb2c..e2f880faf2ce9d06c5a9850a285c91fd5c4871c0 100644 (file)
@@ -5,20 +5,6 @@
 
 menu "Linux Module Utilities"
 
-config BUSYBOX_CONFIG_DEFAULT_MODULES_DIR
-       string "Default directory containing modules"
-       default "/lib/modules"
-       help
-         Directory that contains kernel modules.
-         Defaults to "/lib/modules"
-
-config BUSYBOX_CONFIG_DEFAULT_DEPMOD_FILE
-       string "Default name of modules.dep"
-       default "modules.dep"
-       help
-         Filename that contains kernel modules dependencies.
-         Defaults to "modules.dep"
-
 config BUSYBOX_CONFIG_MODPROBE_SMALL
        bool "Simplified modutils"
        default n
@@ -58,7 +44,6 @@ config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
        depends on BUSYBOX_CONFIG_MODPROBE_SMALL
        help
          Allow insmod and modprobe take module options from command line.
-         N.B. Very bloaty.
 
 config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
        bool "Skip loading of already loaded modules"
@@ -66,7 +51,6 @@ config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
        depends on BUSYBOX_CONFIG_MODPROBE_SMALL
        help
          Check if the module is already loaded.
-         N.B. It's racy.
 
 config BUSYBOX_CONFIG_INSMOD
        bool "insmod"
@@ -157,7 +141,7 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
          By adding module symbols to the kernel symbol table, Oops messages
          occuring within kernel modules can be properly debugged. By enabling
          this feature, module symbols will always be added to the kernel symbol
-         table for properly debugging support. If you are not interested in
+         table for proper debugging support. If you are not interested in
          Oops messages from kernel modules, say N.
 
 config BUSYBOX_CONFIG_FEATURE_INSMOD_LOADINKMEM
@@ -193,7 +177,7 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL
 config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
        bool "Support tainted module checking with new kernels"
        default y
-       depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
+       depends on (BUSYBOX_CONFIG_LSMOD || BUSYBOX_CONFIG_FEATURE_2_4_MODULES) && !BUSYBOX_CONFIG_MODPROBE_SMALL
        help
          Support checking for tainted modules. These are usually binary
          only modules that will make the linux-kernel list ignore your
@@ -227,4 +211,20 @@ config BUSYBOX_CONFIG_FEATURE_MODUTILS_SYMBOLS
 
          Say Y if unsure.
 
+config BUSYBOX_CONFIG_DEFAULT_MODULES_DIR
+       string "Default directory containing modules"
+       default "/lib/modules"
+       depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL
+       help
+         Directory that contains kernel modules.
+         Defaults to "/lib/modules"
+
+config BUSYBOX_CONFIG_DEFAULT_DEPMOD_FILE
+       string "Default name of modules.dep"
+       default "modules.dep"
+       depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL
+       help
+         Filename that contains kernel modules dependencies.
+         Defaults to "modules.dep"
+
 endmenu
index de7484aa99e316c677bc88794af602164c5b7250..0bde42b14fd3206c228ad8892df56529dc190f7c 100644 (file)
@@ -13,7 +13,7 @@ config BUSYBOX_CONFIG_FEATURE_IPV6
          This adds IPv6 support in the networking applets.
 
 config BUSYBOX_CONFIG_FEATURE_PREFER_IPV4_ADDRESS
-       bool "Preferentially use IPv4 addresses from DNS queries"
+       bool "Prefer IPv4 addresses from DNS queries"
        default y
        depends on BUSYBOX_CONFIG_FEATURE_IPV6
        help
@@ -66,12 +66,12 @@ config BUSYBOX_CONFIG_FEATURE_BRCTL_FANCY
          This adds about 600 bytes.
 
 config BUSYBOX_CONFIG_FEATURE_BRCTL_SHOW
-       bool "Support show, showmac and showstp"
+       bool "Support show"
        default y
        depends on BUSYBOX_CONFIG_BRCTL && BUSYBOX_CONFIG_FEATURE_BRCTL_FANCY
        help
          Add support for option which prints the current config:
-           showmacs, showstp, show
+           show
 
 config BUSYBOX_CONFIG_DNSD
        bool "dnsd"
@@ -93,6 +93,19 @@ config BUSYBOX_CONFIG_FAKEIDENTD
          fakeidentd listens on the ident port and returns a predefined
          fake value on any query.
 
+config BUSYBOX_CONFIG_FTPD
+       bool "ftpd"
+       default n
+       help
+         simple FTP daemon. You have to run it via inetd.
+
+config BUSYBOX_CONFIG_FEATURE_FTP_WRITE
+       bool "Enable upload commands"
+       default n
+       depends on BUSYBOX_CONFIG_FTPD
+       help
+         Enable all kinds of FTP upload commands (-w option)
+
 config BUSYBOX_CONFIG_FTPGET
        bool "ftpget"
        default n
@@ -827,7 +840,7 @@ config BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE
 config BUSYBOX_CONFIG_TFTP_DEBUG
        bool "Enable debug"
        default n
-       depends on BUSYBOX_CONFIG_TFTP
+       depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
        help
          Enable debug settings for tftp. This is useful if you're running
          into problems with tftp as the protocol doesn't help you much when
@@ -844,7 +857,7 @@ config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_VERBOSE
        default y
        depends on BUSYBOX_CONFIG_TRACEROUTE
        help
-         Add some verbosity to traceroute. This includes amongst other things
+         Add some verbosity to traceroute. This includes among other things
          hostnames and ICMP response types.
 
 config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
@@ -860,10 +873,19 @@ config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_USE_ICMP
        default n
        depends on BUSYBOX_CONFIG_TRACEROUTE
        help
-         Add feature to allow for ICMP ECHO instead of UDP datagrams.
+         Add option -I to use ICMP ECHO instead of UDP datagrams.
 
 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
+       help
+         Command line options to pass to udhcpc from ifup.
+         Intended to alter options not available in /etc/network/interfaces.
+         (IE: --syslog --background etc...)
+
 config BUSYBOX_CONFIG_VCONFIG
        bool "vconfig"
        default y
@@ -917,6 +939,20 @@ config BUSYBOX_CONFIG_TCPSVD
          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
index 4107e127d4b6b30f042e1e73029c5e458b4d740c..233c3a8f419f3cd99748c840af4b4425d62bdda3 100644 (file)
@@ -84,22 +84,6 @@ config BUSYBOX_CONFIG_ASH_ALIAS
        help
          Enable alias support in the ash shell.
 
-config BUSYBOX_CONFIG_ASH_MATH_SUPPORT
-       bool "Posix math support"
-       default y
-       depends on BUSYBOX_CONFIG_ASH
-       help
-         Enable math support in the ash shell.
-
-config BUSYBOX_CONFIG_ASH_MATH_SUPPORT_64
-       bool "Extend Posix math support to 64 bit"
-       default y
-       depends on BUSYBOX_CONFIG_ASH_MATH_SUPPORT
-       help
-         Enable 64-bit math support in the ash shell. This will make
-         the shell slightly larger, but will allow computation with very
-         large numbers.
-
 config BUSYBOX_CONFIG_ASH_GETOPTS
        bool "Builtin getopt to parse positional parameters"
        default y
@@ -152,14 +136,14 @@ config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
          Compile ash for reduced size at the price of speed.
 
 config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
-       bool "Pseudorandom generator and variable $RANDOM"
+       bool "Pseudorandom generator and $RANDOM variable"
        default n
        depends on BUSYBOX_CONFIG_ASH
        help
          Enable pseudorandom generator and dynamic variable "$RANDOM".
          Each read of "$RANDOM" will generate a new pseudorandom value.
          You can reset the generator by using a specified start value.
-         After "unset RANDOM" then generator will switch off and this
+         After "unset RANDOM" the generator will switch off and this
          variable will no longer have special treatment.
 
 config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
@@ -167,7 +151,7 @@ config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
        default y
        depends on BUSYBOX_CONFIG_ASH
        help
-         "PS#" may be contain volatile content, such as backquote commands.
+         "PS#" may contain volatile content, such as backquote commands.
          This option recreates the prompt string from the environment
          variable each time it is displayed.
 
@@ -175,16 +159,15 @@ config BUSYBOX_CONFIG_HUSH
        bool "hush"
        default n
        help
-         hush is a very small shell (just 18k) and it has fairly complete
-         Bourne shell grammar. It even handles all the normal flow control
-         options such as if/then/elif/else/fi, for/in/do/done, while loops,
-         case/esac.
+         hush is a small shell (22k). It handles the normal flow control
+         constructs such as if/then/elif/else/fi, for/in/do/done, while loops,
+         case/esac. Redirections, here documents, $((arithmetic))
+         and functions are supported.
 
-         It uses only vfork, so it can be used on uClinux systems.
+         It will compile and work on no-mmu systems.
 
-         It does not handle select, functions, here documents ( <<
-         word ), arithmetic expansion, aliases, brace expansion, tilde
-         expansion, &> and >& redirection of stdout+stderr, etc.
+         It does not handle select, aliases, brace expansion,
+         tilde expansion, &>file and >&file redirection of stdout+stderr.
 
 config BUSYBOX_CONFIG_HUSH_HELP
        bool "help builtin"
@@ -234,7 +217,6 @@ config BUSYBOX_CONFIG_HUSH_LOOPS
        depends on BUSYBOX_CONFIG_HUSH
        help
          Enable for, while and until loops in hush.
-         As of 2008-07, break and continue statements are not supported.
 
 config BUSYBOX_CONFIG_HUSH_CASE
        bool "Support case ... esac statement"
@@ -243,27 +225,54 @@ config BUSYBOX_CONFIG_HUSH_CASE
        help
          Enable case ... esac statement in hush. +400 bytes.
 
+config BUSYBOX_CONFIG_HUSH_FUNCTIONS
+       bool "Support funcname() { commands; } syntax"
+       default n
+       depends on BUSYBOX_CONFIG_HUSH
+       help
+         Enable support for shell functions in hush. +800 bytes.
+
 config BUSYBOX_CONFIG_LASH
-       bool "lash"
+       bool "lash (deprecated: aliased to hush)"
        default n
        select BUSYBOX_CONFIG_HUSH
        help
          lash is deprecated and will be removed, please migrate to hush.
 
 config BUSYBOX_CONFIG_MSH
-       bool "msh"
+       bool "msh (deprecated: please use hush)"
        default n
        help
-         The minix shell (adds just 30k) is quite complete and handles things
-         like for/do/done, case/esac and all the things you expect a Bourne
-         shell to do. It is not always pedantically correct about Bourne
-         shell grammar (try running the shell testscript "tests/sh.testcases"
-         on it and compare vs bash) but for most things it works quite well.
-         It uses only vfork, so it can be used on uClinux systems.
+         msh is deprecated and will be removed, please migrate to hush.
+         If there is a feature msh has but hush does not, please let us know.
+
+#        The minix shell (adds just 30k) is quite complete and handles things
+#        like for/do/done, case/esac and all the things you expect a Bourne
+#        shell to do. It is not always pedantically correct about Bourne
+#        shell grammar (try running the shell testscript "tests/sh.testcases"
+#        on it and compare vs bash) but for most things it works quite well.
+#        It uses only vfork, so it can be used on uClinux systems.
+
 
 comment "Bourne Shell Options"
        depends on BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
 
+config BUSYBOX_CONFIG_SH_MATH_SUPPORT
+       bool "POSIX math support"
+       default y
+       depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH
+       help
+         Enable math support in the shell via $((...)) syntax.
+
+config BUSYBOX_CONFIG_SH_MATH_SUPPORT_64
+       bool "Extend POSIX math support to 64 bit"
+       default y
+       depends on BUSYBOX_CONFIG_SH_MATH_SUPPORT
+       help
+         Enable 64-bit math support in the shell. This will make the shell
+         slightly larger, but will allow computation with very large numbers.
+         This is not in POSIX, so do not rely on this in portable code.
+
 config BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET
        bool "Hide message on interactive shell startup"
        default n
index 6b8dcdf7f6438c310ff5c54bf00297bd60f84f8a..526ea00cc07e8ae2b08bf60e6112875f9c90e73a 100644 (file)
@@ -5,6 +5,28 @@
 
 menu "Linux System Utilities"
 
+config BUSYBOX_CONFIG_ACPID
+       bool "acpid"
+       default n
+       help
+         acpid listens to ACPI events coming either in textual form from
+         /proc/acpi/event (though it is marked deprecated it is still widely
+         used and _is_ a standard) or in binary form from specified evdevs
+         (just use /dev/input/event*).
+
+         It parses the event to retrieve ACTION and a possible PARAMETER.
+         It then spawns /etc/acpi/<ACTION>[/<PARAMETER>] either via run-parts
+         (if the resulting path is a directory) or directly as an executable.
+
+         N.B. acpid relies on run-parts so have the latter installed.
+
+config BUSYBOX_CONFIG_FEATURE_ACPID_COMPAT
+       bool "Accept and ignore redundant options"
+       default n
+       depends on BUSYBOX_CONFIG_ACPID
+       help
+         Accept and ignore compatibility options -g -m -s -S -v.
+
 config BUSYBOX_CONFIG_BLKID
        bool "blkid"
        default n
@@ -211,6 +233,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_VFAT
+       bool "mkfs_vfat"
+       default n
+       help
+         Utility to create FAT32 filesystems.
+
 config BUSYBOX_CONFIG_GETOPT
        bool "getopt"
        default n
index ed790d807b2e149dd953900f507a98224910c9c6..8cc9ca2c89b16e87333421858b852f34e6907c78 100644 (file)
@@ -1,20 +1,15 @@
 --- a/init/init.c
 +++ b/init/init.c
-@@ -497,12 +497,11 @@ static void run_actions(int action_type)
-       for (a = init_action_list; a; a = tmp) {
-               tmp = a->next;
-               if (a->action_type & action_type) {
--                      // Pointless: run() will error out if open of device fails.
--                      ///* a->terminal of "" means "init's console" */
--                      //if (a->terminal[0] && access(a->terminal, R_OK | W_OK)) {
--                      //      //message(L_LOG | L_CONSOLE, "Device %s cannot be opened in RW mode", a->terminal /*, strerror(errno)*/);
--                      //      delete_init_action(a);
--                      //} else
-+                      /* a->terminal of "" means "init's console" */
-+                      if (a->terminal[0] && access(a->terminal, R_OK | W_OK)) {
-+                              //message(L_LOG | L_CONSOLE, "Device %s cannot be opened in RW mode", a->terminal /*, strerror(errno)*/);
-+                              delete_init_action(a);
-+                      } else
-                       if (a->action_type & (SYSINIT | WAIT | CTRLALTDEL | SHUTDOWN | RESTART)) {
-                               waitfor(run(a));
-                               delete_init_action(a);
+@@ -451,8 +451,11 @@ static void run_actions(int action_type)
+                       /* Only run stuff with pid == 0. If pid != 0,
+                        * it is already running
+                        */
+-                      if (a->pid == 0)
++                      if (a->pid == 0) {
++                              if (a->terminal && access(a->terminal, R_OK | W_OK))
++                                      continue;
+                               a->pid = run(a);
++                      }
+               }
+       }
+ }
index 51b0cf709d2d7fd28d7b76db7a09a308724cb5b1..f3fc402880ed499a4d633caaf3a6df801ed8da72 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/brctl.c
 +++ b/networking/brctl.c
-@@ -90,7 +90,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
+@@ -104,7 +104,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
                "setageing\0" "setfd\0" "sethello\0" "setmaxage\0"
                "setpathcost\0" "setportprio\0" "setbridgeprio\0"
        )
@@ -9,7 +9,7 @@
  
        enum { ARG_addbr = 0, ARG_delbr, ARG_addif, ARG_delif
                USE_FEATURE_BRCTL_FANCY(,
-@@ -98,7 +98,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
+@@ -112,7 +112,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
                   ARG_setageing, ARG_setfd, ARG_sethello, ARG_setmaxage,
                   ARG_setpathcost, ARG_setportprio, ARG_setbridgeprio
                )
index 187603d059d472db39e2ddbb5f579e7a72c4c1b3..abb03d49f58b40683b603851843bbe02f649b5e2 100644 (file)
@@ -1,11 +1,11 @@
 --- a/networking/wget.c
 +++ b/networking/wget.c
-@@ -443,7 +443,7 @@ int wget_main(int argc UNUSED_PARAM, cha
+@@ -485,7 +485,7 @@ int wget_main(int argc UNUSED_PARAM, cha
                // "tries\0"            Required_argument "t"
                // "timeout\0"          Required_argument "T"
                /* Ignored (we always use PASV): */
 -              "passive-ftp\0"      No_argument       "\xff"
 +              "passive-ftp\0"      No_argument       "\xfd"
                "header\0"           Required_argument "\xfe"
+               "post-data\0"        Required_argument "\xfd"
                ;
- #endif
index bc3010ee2a9c74c313de35d4a215324718467653..936ef7ef81630ff10d1f99b7f85d308bdb6658b7 100644 (file)
@@ -3,20 +3,20 @@
 @@ -24,7 +24,7 @@
  
  
- #ifndef CRONTABS
--#define CRONTABS        "/var/spool/cron/crontabs"
+ #define TMPDIR          CONFIG_FEATURE_CROND_DIR
+-#define CRONTABS        CONFIG_FEATURE_CROND_DIR "/crontabs"
 +#define CRONTABS        "/etc/crontabs"
+ #ifndef SENDMAIL
+ #define SENDMAIL        "sendmail"
  #endif
- #ifndef TMPDIR
- #define TMPDIR          "/var/spool/cron"
 --- a/miscutils/crontab.c
 +++ b/miscutils/crontab.c
-@@ -13,7 +13,7 @@
+@@ -12,7 +12,7 @@
  #include "libbb.h"
  
- #ifndef CRONTABS
--#define CRONTABS        "/var/spool/cron/crontabs"
+-#define CRONTABS        CONFIG_FEATURE_CROND_DIR "/crontabs"
 +#define CRONTABS        "/etc/crontabs"
- #endif
  #ifndef CRONUPDATE
  #define CRONUPDATE      "cron.update"
+ #endif
index be452c076ab3ef71bb4c2576cd181a4eaaf0dacf..81f120d8e6ddf4e3477464d3ac4a9acfeb8415ca 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/udhcp/dhcpc.c
 +++ b/networking/udhcp/dhcpc.c
-@@ -353,7 +353,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
+@@ -363,7 +363,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
  
                        switch (state) {
                        case INIT_SELECTING:
@@ -9,7 +9,7 @@
                                        if (packet_num == 0)
                                                xid = random_xid();
  
-@@ -384,7 +384,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
+@@ -394,7 +394,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
                                continue;
                        case RENEW_REQUESTED:
                        case REQUESTING:
index 6019297b24ed0f06259b783a7b4e9ff653e6930c..405a7a52ea1abf478658481f8606e6018275e921 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/udhcp/packet.c
 +++ b/networking/udhcp/packet.c
-@@ -114,6 +114,10 @@ uint16_t FAST_FUNC udhcp_checksum(void *
+@@ -120,6 +120,10 @@ uint16_t FAST_FUNC udhcp_checksum(void *
        return ~sum;
  }
  
@@ -11,7 +11,7 @@
  
  /* Construct a ip/udp header for a packet, send packet */
  int FAST_FUNC udhcp_send_raw_packet(struct dhcpMessage *payload,
-@@ -126,11 +130,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+@@ -132,11 +136,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
        int fd;
        int result = -1;
        const char *msg;
@@ -24,7 +24,7 @@
  
        fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP));
        if (fd < 0) {
-@@ -140,7 +140,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+@@ -146,7 +146,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
  
        memset(&dest, 0, sizeof(dest));
        memset(&packet, 0, sizeof(packet));
@@ -33,7 +33,7 @@
  
        dest.sll_family = AF_PACKET;
        dest.sll_protocol = htons(ETH_P_IP);
-@@ -157,23 +157,18 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+@@ -163,23 +163,18 @@ int FAST_FUNC udhcp_send_raw_packet(stru
        packet.ip.daddr = dest_ip;
        packet.udp.source = htons(source_port);
        packet.udp.dest = htons(dest_port);
@@ -63,7 +63,7 @@
                                (struct sockaddr *) &dest, sizeof(dest));
        msg = "sendto";
   ret_close:
-@@ -225,8 +220,7 @@ int FAST_FUNC udhcp_send_kernel_packet(s
+@@ -231,8 +226,7 @@ int FAST_FUNC udhcp_send_kernel_packet(s
                goto ret_close;
        }
  
index 29727556d18c2a4368b2225d8e43264b6cfa4f12..f0ab34d26ae6121621912381e9c898fdfcc9e598 100644 (file)
@@ -1,8 +1,8 @@
 --- a/networking/udhcp/dhcpc.c
 +++ b/networking/udhcp/dhcpc.c
-@@ -320,6 +320,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
-       for (;;) {
-               unsigned timestamp_before_wait;
+@@ -327,6 +327,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
+               /* silence "uninitialized!" warning */
+               unsigned timestamp_before_wait = timestamp_before_wait;
  
 +              /* When running on a bridge, the ifindex may have changed (e.g. if
 +               * member interfaces were added/removed or if the status of the
@@ -10,6 +10,6 @@
 +               * Workaround: refresh it here before processing the next packet */
 +              udhcp_read_interface(client_config.interface, &client_config.ifindex, NULL, client_config.arp);
 +
-               if (listen_mode != LISTEN_NONE && sockfd < 0) {
-                       if (listen_mode == LISTEN_KERNEL)
-                               sockfd = udhcp_listen_socket(/*INADDR_ANY,*/ CLIENT_PORT, client_config.interface);
+               //bb_error_msg("sockfd:%d, listen_mode:%d", sockfd, listen_mode);
+               /* Was opening raw or udp socket here
index 7267750358ca4deb988caa3ef360bfd02072386f..29313ae79da445f1cd6c5c852610349328fdbb7b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/udhcp/options.c
 +++ b/networking/udhcp/options.c
-@@ -46,6 +46,7 @@ const struct dhcp_option dhcp_options[] 
+@@ -48,6 +48,7 @@ const struct dhcp_option dhcp_options[] 
  #if ENABLE_FEATURE_UDHCP_RFC3397
        { OPTION_STR1035 | OPTION_LIST            , 0x77 }, /* search             */
  #endif
@@ -8,7 +8,7 @@
        /* MSIE's "Web Proxy Autodiscovery Protocol" support */
        { OPTION_STRING                           , 0xfc }, /* wpad               */
  
-@@ -95,6 +96,7 @@ const char dhcp_option_strings[] ALIGN1 
+@@ -97,6 +98,7 @@ const char dhcp_option_strings[] ALIGN1 
  #if ENABLE_FEATURE_UDHCP_RFC3397
        "search" "\0"
  #endif
index 71697b116e8aef634816dd326d1ca672208d92bf..f11cb8f799f91de2fba7adbccf7e07633f532233 100644 (file)
@@ -1,6 +1,6 @@
 --- a/shell/ash.c
 +++ b/shell/ash.c
-@@ -12159,8 +12159,17 @@ exportcmd(int argc UNUSED_PARAM, char **
+@@ -12273,8 +12273,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) {
-@@ -12172,10 +12181,12 @@ exportcmd(int argc UNUSED_PARAM, char **
+@@ -12286,10 +12295,12 @@ exportcmd(int argc UNUSED_PARAM, char **
                                        vp = *findvar(hashvar(name), name);
                                        if (vp) {
                                                vp->flags |= flag;
index 575f5873c1805dd07b989a8e3aea6c57a3a70980..641449eca161ca5c53b9915cfc934456ebbe9a91 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/applets.h
 +++ b/include/applets.h
-@@ -263,6 +263,7 @@ USE_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_
+@@ -271,6 +271,7 @@ USE_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_
  USE_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_NEVER))
  USE_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_NEVER))
  USE_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
@@ -10,7 +10,7 @@
  USE_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 --- a/include/usage.h
 +++ b/include/usage.h
-@@ -2849,6 +2849,9 @@
+@@ -3010,6 +3010,9 @@
  
  #endif
  
@@ -22,7 +22,7 @@
  #define netstat_full_usage "\n\n" \
 --- a/networking/Config.in
 +++ b/networking/Config.in
-@@ -603,6 +603,12 @@ config NC
+@@ -600,6 +600,12 @@ config NC
          A simple Unix utility which reads and writes data across network
          connections.
  
@@ -37,7 +37,7 @@
        default n
 --- a/networking/Kbuild
 +++ b/networking/Kbuild
-@@ -23,6 +23,7 @@ lib-$(CONFIG_IP)           += ip.o
+@@ -24,6 +24,7 @@ lib-$(CONFIG_IP)           += ip.o
  lib-$(CONFIG_IPCALC)       += ipcalc.o
  lib-$(CONFIG_NAMEIF)       += nameif.o
  lib-$(CONFIG_NC)           += nc.o
index f90c840bafbf5cdcb2a53603a195b0eac02b65ad..6ab6d4b8c4ee8dad702c7ca4f768bcb47e1d29f1 100644 (file)
@@ -3,7 +3,7 @@
 
 --- a/networking/httpd.c
 +++ b/networking/httpd.c
-@@ -1713,21 +1713,32 @@ static int check_user_passwd(const char 
+@@ -1699,21 +1699,32 @@ static int check_user_passwd(const char 
  
                if (ENABLE_FEATURE_HTTPD_AUTH_MD5) {
                        char *md5_passwd;
index d5f8ac849bd0612af5ac00d68b92991282f3efa2..fc235b3e7cc0fabe4a4087407bf744878e6640a1 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/applets.h
 +++ b/include/applets.h
-@@ -223,6 +223,7 @@ USE_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN
+@@ -228,6 +228,7 @@ USE_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN
  USE_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
  USE_LOADFONT(APPLET(loadfont, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
  USE_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_NEVER))
@@ -10,7 +10,7 @@
  USE_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_NEVER, logname))
 --- a/include/usage.h
 +++ b/include/usage.h
-@@ -2150,6 +2150,9 @@
+@@ -2246,6 +2246,9 @@
  #define loadkmap_example_usage \
         "$ loadkmap < /etc/i18n/lang-keymap\n"
  
@@ -22,9 +22,9 @@
  #define logger_full_usage "\n\n" \
 --- a/miscutils/Config.in
 +++ b/miscutils/Config.in
-@@ -395,6 +395,12 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
+@@ -420,6 +420,12 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
+       help
          Enables the 'hdparm -d' option to get/set using_dma flag.
-         This is dangerous stuff, so you should probably say N.
  
 +config LOCK
 +      bool "lock"
@@ -37,7 +37,7 @@
        default n
 --- a/miscutils/Kbuild
 +++ b/miscutils/Kbuild
-@@ -21,6 +21,7 @@ lib-$(CONFIG_INOTIFYD)    += inotifyd.o
+@@ -23,6 +23,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
index da2fab695d83332adecd187d87286a70a43f1881..912cb6d49775c8ce77abc3a995a041b01034e918 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/usage.h
 +++ b/include/usage.h
-@@ -1558,7 +1558,8 @@
+@@ -1638,7 +1638,8 @@
        USE_FEATURE_HTTPD_BASIC_AUTH(" [-r realm]") \
        USE_FEATURE_HTTPD_AUTH_MD5(" [-m pass]") \
         " [-h home]" \
@@ -10,7 +10,7 @@
  #define httpd_full_usage "\n\n" \
         "Listen for incoming HTTP requests\n" \
       "\nOptions:" \
-@@ -1576,6 +1577,8 @@
+@@ -1656,6 +1657,8 @@
       "\n      -h HOME         Home directory (default .)" \
       "\n      -e STRING       HTML encode STRING" \
       "\n      -d STRING       URL decode STRING" \
@@ -30,7 +30,7 @@
        Htaccess_IP *ip_a_d;    /* config allow/deny lines */
  
        USE_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
-@@ -295,6 +297,8 @@ struct globals {
+@@ -294,6 +296,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)
@@ -39,7 +39,7 @@
  #define last_mod          (G.last_mod         )
  #define ip_a_d            (G.ip_a_d           )
  #define g_realm           (G.g_realm          )
-@@ -1003,8 +1007,11 @@ static void send_headers(int responseNum
+@@ -993,8 +997,11 @@ static void send_headers(int responseNum
        }
  #endif
        if (responseNum == HTTP_MOVED_TEMPORARILY) {
@@ -52,7 +52,7 @@
                                (g_query ? "?" : ""),
                                (g_query ? g_query : ""));
        }
-@@ -1939,8 +1946,12 @@ static void handle_incoming_and_exit(con
+@@ -1924,8 +1931,12 @@ static void handle_incoming_and_exit(con
        } while (*++tptr);
        *++urlp = '\0';       /* terminate after last character */
  
@@ -66,8 +66,8 @@
                if (is_directory(urlcopy + 1, 1, &sb)) {
                        found_moved_temporarily = urlcopy;
                }
-@@ -2293,7 +2304,9 @@ static void sighup_handler(int sig)
- #endif
+@@ -2266,7 +2277,9 @@ static void sighup_handler(int sig UNUSE
+ }
  
  enum {
 -      c_opt_config_file = 0,
@@ -77,7 +77,7 @@
        d_opt_decode_url,
        h_opt_home_httpd,
        USE_FEATURE_HTTPD_ENCODE_URL_STR(e_opt_encode_url,)
-@@ -2342,12 +2355,13 @@ int httpd_main(int argc UNUSED_PARAM, ch
+@@ -2315,12 +2328,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. */
@@ -89,6 +89,6 @@
                        USE_FEATURE_HTTPD_SETUID("u:")
                        "p:ifv",
 +                      &redirect_path, &redirect_host,
-                       &configFile, &url_for_decode, &home_httpd
+                       &opt_c_configFile, &url_for_decode, &home_httpd
                        USE_FEATURE_HTTPD_ENCODE_URL_STR(, &url_for_encode)
                        USE_FEATURE_HTTPD_BASIC_AUTH(, &g_realm)
index 4339462a80b6dfbef2172f7f34e40b544675a862..2f464608f1b0311f0a23c1d69518dc317684692a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/httpd.c
 +++ b/networking/httpd.c
-@@ -1259,10 +1259,10 @@ static NOINLINE void cgi_io_loop_and_exi
+@@ -1250,10 +1250,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;
                                        }
index 0d5769651b29304845aa9c3cbe9d1366e789ad38..0abea5dc3b89a807502ade3adbc9250a0e3d954a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/httpd.c
 +++ b/networking/httpd.c
-@@ -1824,6 +1824,7 @@ static void handle_incoming_and_exit(con
+@@ -1810,6 +1810,7 @@ static void handle_incoming_and_exit(con
        char *header_ptr = header_ptr;
        Htaccess_Proxy *proxy_entry;
  #endif
index 5825dac9f2a5aa01825469a41c1ea05d07c5b1f4..cc7ca79ce0c5a32e08fd295dafd24f044884a063 100644 (file)
  
  int insmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  int insmod_main(int argc UNUSED_PARAM, char **argv)
-@@ -25,9 +118,14 @@ int insmod_main(int argc UNUSED_PARAM, c
+@@ -33,9 +126,15 @@ int insmod_main(int argc UNUSED_PARAM, c
        if (!filename)
                bb_show_usage();
  
 +
 +      rc = bb_init_module(g_filename, parse_cmdline_module_options(argv));
        if (rc)
-               bb_error_msg("cannot insert '%s': %s", filename, moderror(rc));
--
+               bb_error_msg("can't insert '%s': %s", filename, moderror(rc));
 +      free (g_filename);
 +done:
        return rc;
  }
+--- a/modutils/Config.in
++++ b/modutils/Config.in
+@@ -211,7 +211,7 @@ config FEATURE_MODUTILS_SYMBOLS
+ config DEFAULT_MODULES_DIR
+       string "Default directory containing modules"
+       default "/lib/modules"
+-      depends on DEPMOD || MODPROBE || MODPROBE_SMALL
++      depends on DEPMOD || INSMOD || MODPROBE || MODPROBE_SMALL
+       help
+         Directory that contains kernel modules.
+         Defaults to "/lib/modules"
index 7585d68ddda7f119b9002322abece5cfe754a9bf..2a22322aee3646e46f80d3b46291f680bcc3ef37 100644 (file)
@@ -1,7 +1,7 @@
 --- a/util-linux/mount.c
 +++ b/util-linux/mount.c
 @@ -42,6 +42,10 @@
- #define MS_DIRSYNC      128     /* Directory modifications are synchronous */
+ #define MS_DIRSYNC      128     // Directory modifications are synchronous
  #endif
  
 +#ifndef MS_UNION
@@ -10,8 +10,8 @@
 +
  
  #if defined(__dietlibc__)
- /* 16.12.2006, Sampo Kellomaki (sampo@iki.fi)
-@@ -152,6 +156,7 @@
+ // 16.12.2006, Sampo Kellomaki (sampo@iki.fi)
+@@ -152,6 +156,7 @@ static const int32_t mount_options[] = {
                /* "rslave"      */ MS_SLAVE|MS_RECURSIVE,
                /* "rprivate"    */ MS_SLAVE|MS_RECURSIVE,
                /* "runbindable" */ MS_UNBINDABLE|MS_RECURSIVE,
        )
  
        // Always understood.
-@@ -206,6 +211,7 @@
-               "rslave" "\0"
-               "rprivate" "\0"
-               "runbindable" "\0"
+@@ -206,6 +211,7 @@ static const char mount_option_str[] =
+               "rslave\0"
+               "rprivate\0"
+               "runbindable\0"
 +              "union" "\0"
        )
  
index 7284bbcac689084a558b57dd6be4c8b503896d96..50f6cc549af001c57925a13cbb50788f9e655d85 100644 (file)
@@ -15,7 +15,7 @@
  } func;
  
  /* I/O stream */
-@@ -1423,7 +1428,8 @@ static void parse_program(char *p)
+@@ -1420,7 +1425,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);
-@@ -1432,7 +1438,7 @@ static void parse_program(char *p)
+@@ -1429,7 +1435,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);
  
-@@ -2397,7 +2403,8 @@ static var *evaluate(node *op, var *res)
+@@ -2408,7 +2414,8 @@ static var *evaluate(node *op, var *res)
                        break;
  
                case XC( OC_FUNC ):
@@ -44,7 +44,7 @@
                                syntax_error(EMSG_UNDEF_FUNC);
  
                        X.v = R.v = nvalloc(op->r.f->nargs+1);
-@@ -2414,7 +2421,10 @@ static var *evaluate(node *op, var *res)
+@@ -2425,7 +2432,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);
-@@ -2777,6 +2787,143 @@ static rstream *next_input_file(void)
+@@ -2788,6 +2798,143 @@ static rstream *next_input_file(void)
  #undef files_happen
  }
  
  int awk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  int awk_main(int argc, char **argv)
  {
-@@ -2842,6 +2989,9 @@ int awk_main(int argc, char **argv)
+@@ -2853,6 +3000,9 @@ int awk_main(int argc, char **argv)
                        *s1 = '=';
                }
        }
index 02bafaa97c0400f264329678d764d6477f6fefc6..0a43b8fe32734d1c0c084dec8efcaf5e9930fd4d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/udhcp/dhcpc.c
 +++ b/networking/udhcp/dhcpc.c
-@@ -63,7 +63,6 @@ static void perform_renew(void)
+@@ -69,7 +69,6 @@ static void perform_renew(void)
                state = RENEW_REQUESTED;
                break;
        case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
index 64e6dd5fd164461b87a377f2773dcd42324e3a25..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,12 +0,0 @@
---- a/miscutils/watchdog.c
-+++ b/miscutils/watchdog.c
-@@ -10,7 +10,8 @@
-  */
- #include "libbb.h"
--#include "linux/watchdog.h"
-+#include <linux/types.h>
-+#include <linux/watchdog.h>
- #define OPT_FOREGROUND  (1 << 0)
- #define OPT_STIMER      (1 << 1)
index e083f9f71f5a8a0ea0e44e8f4dd7b75566fecc4f..52e5623e64e14e44a8574dc89ed2d163f5a86371 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/brctl.c
 +++ b/networking/brctl.c
-@@ -34,8 +34,9 @@ static ALWAYS_INLINE void strtotimeval(s
+@@ -48,8 +48,9 @@ static ALWAYS_INLINE void strtotimeval(s
  {
        double secs;
  #if BRCTL_USE_INTERNAL
index 84321e0c72d56ab56dfb8c94f8812861a1b89e6f..9081e5adc475ee74534f255a59a7195107dd8a2e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/brctl.c
 +++ b/networking/brctl.c
-@@ -18,7 +18,7 @@
+@@ -32,7 +32,7 @@
  
  /* Maximum number of ports supported per bridge interface.  */
  #ifndef MAX_PORTS
@@ -9,7 +9,7 @@
  #endif
  
  /* Use internal number parsing and not the "exact" conversion.  */
-@@ -155,6 +155,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
+@@ -169,6 +169,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
                                printf(bi.stp_enabled ? "\tyes" : "\tno");
  
                                /* print interface list */
@@ -17,7 +17,7 @@
                                arm_ioctl(args, BRCTL_GET_PORT_LIST,
                                                        (unsigned long) ifidx, MAX_PORTS);
                                xioctl(fd, SIOCDEVPRIVATE, &ifr);
-@@ -183,9 +184,19 @@ int brctl_main(int argc UNUSED_PARAM, ch
+@@ -197,9 +198,19 @@ int brctl_main(int argc UNUSED_PARAM, ch
                br = *argv++;
  
                if (key == ARG_addbr || key == ARG_delbr) { /* addbr or delbr */
@@ -40,9 +40,9 @@
                        goto done;
                }
  
-@@ -194,14 +205,27 @@ int brctl_main(int argc UNUSED_PARAM, ch
+@@ -208,14 +219,27 @@ int brctl_main(int argc UNUSED_PARAM, ch
  
-               strncpy(ifr.ifr_name, br, IFNAMSIZ);
+               strncpy_IFNAMSIZ(ifr.ifr_name, br);
                if (key == ARG_addif || key == ARG_delif) { /* addif or delif */
 +                      int ret;
 +                      int if_index;
index ddc89f269b8dd082b55cdaf5e8781be99f7482da..dd2dee66f6323de61048b4b87cd9d30680104a0a 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Nicolas Thill <nico@openwrt.org>
  #endif
  #endif
  #endif
-@@ -86,7 +88,11 @@ static int get_groups(const char *userna
+@@ -82,7 +84,11 @@ static int get_groups(const char *userna
                /* If the user is a member of more than
                 * *n groups, then -1 is returned. Otherwise >= 0.
                 * (and no defined way of detecting errors?!) */
@@ -31,7 +31,7 @@ Signed-off-by: Nicolas Thill <nico@openwrt.org>
                /* I guess *n < 0 might indicate error. Anyway,
                 * malloc'ing -1 bytes won't be good, so: */
                //if (*n < 0)
-@@ -160,6 +166,7 @@ int id_main(int argc UNUSED_PARAM, char 
+@@ -154,6 +160,7 @@ int id_main(int argc UNUSED_PARAM, char 
                        if (egid != rgid)
                                status |= print_group(egid, " ");
                }
@@ -39,7 +39,7 @@ Signed-off-by: Nicolas Thill <nico@openwrt.org>
                /* We are supplying largish buffer, trying
                 * to not run get_groups() twice. That might be slow
                 * ("user database in remote SQL server" case) */
-@@ -187,6 +194,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)
                        free(groups);
index 1dadbac0e2866cf46058da0e2450fb7a814ecf6b..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,13 +0,0 @@
---- a/coreutils/df.c
-+++ b/coreutils/df.c
-@@ -53,8 +53,8 @@ int df_main(int argc, char **argv)
-               OPT_ALL   = (1 << 2) * ENABLE_FEATURE_DF_FANCY,
-               OPT_INODE = (1 << 3) * ENABLE_FEATURE_DF_FANCY,
-               OPT_BSIZE = (1 << 4) * ENABLE_FEATURE_DF_FANCY,
--              OPT_HUMAN = (1 << 5) * ENABLE_FEATURE_HUMAN_READABLE,
--              OPT_MEGA  = (1 << 6) * ENABLE_FEATURE_HUMAN_READABLE,
-+              OPT_HUMAN = (1 << (2 + 3*ENABLE_FEATURE_DF_FANCY)) * ENABLE_FEATURE_HUMAN_READABLE,
-+              OPT_MEGA  = (1 << (3 + 3*ENABLE_FEATURE_DF_FANCY)) * ENABLE_FEATURE_HUMAN_READABLE,
-       };
-       const char *disp_units_hdr = NULL;
-       char *chp;