[package] update busybox to 1.15.2 (#5926)
authorFlorian Fainelli <florian@openwrt.org>
Mon, 7 Dec 2009 16:56:04 +0000 (16:56 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Mon, 7 Dec 2009 16:56:04 +0000 (16:56 +0000)
SVN-Revision: 18684

35 files changed:
package/busybox/Makefile
package/busybox/config/Config.in
package/busybox/config/archival/Config.in
package/busybox/config/console-tools/Config.in
package/busybox/config/coreutils/Config.in
package/busybox/config/debianutils/Config.in
package/busybox/config/findutils/Config.in
package/busybox/config/init/Config.in
package/busybox/config/libbb/Config.in
package/busybox/config/loginutils/Config.in
package/busybox/config/miscutils/Config.in
package/busybox/config/modutils/Config.in
package/busybox/config/networking/Config.in
package/busybox/config/networking/udhcp/Config.in
package/busybox/config/procps/Config.in
package/busybox/config/selinux/Config.in
package/busybox/config/shell/Config.in
package/busybox/config/util-linux/Config.in
package/busybox/patches/000-autoconf.patch
package/busybox/patches/003-brctl_show_fix.patch
package/busybox/patches/110-wget_getopt_fix.patch
package/busybox/patches/240-udhcpc_retries.patch
package/busybox/patches/241-udhcpc-oversized_packets.patch
package/busybox/patches/242-udhcpc_msgs.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/340-lock_util.patch
package/busybox/patches/350-httpd_redir.patch
package/busybox/patches/430-uniq_memleak.patch
package/busybox/patches/470-insmod_search.patch
package/busybox/patches/480-mount_union.patch
package/busybox/patches/524-udhcpc_renew.patch
package/busybox/patches/902-telnetd_intr.patch

index 508c3e9..fa97ab1 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=busybox
-PKG_VERSION:=1.14.4
-PKG_RELEASE:=2
+PKG_VERSION:=1.15.2
+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:=ad6d0b271e60783a3c767c4ccbc7f98e
+PKG_MD5SUM:=d5653e5b74b17dbb1eeecda8b8f22c0a
 
 include $(INCLUDE_DIR)/package.mk
 
index cf65699..3beb0d1 100644 (file)
@@ -29,18 +29,6 @@ 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_FEATURE_ASSUME_UNICODE
-       bool "Assume that 1:1 char/glyph correspondence is not true"
-       default n
-       help
-         This makes various applets aware that one byte is not
-         one character on screen.
-
-         Busybox aims to eventually work correctly with Unicode displays.
-         Any older encodings are not guaranteed to work.
-         Probably by the time when busybox will be fully Unicode-clean,
-         other encodings will be mainly of historic interest.
-
 choice
        prompt "Buffer allocation policy"
        default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
@@ -113,7 +101,29 @@ config BUSYBOX_CONFIG_LOCALE_SUPPORT
          Enable this if your system has locale support and you would like
          busybox to support locale settings.
 
-config BUSYBOX_CONFIG_GETOPT_LONG
+config BUSYBOX_CONFIG_FEATURE_ASSUME_UNICODE
+       bool "Support Unicode"
+       default n
+       help
+         This makes various applets aware that one byte is not
+         one character on screen.
+
+         Busybox aims to eventually work correctly with Unicode displays.
+         Any older encodings are not guaranteed to work.
+         Probably by the time when busybox will be fully Unicode-clean,
+         other encodings will be mainly of historic interest.
+
+config BUSYBOX_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV
+       bool "Check $LANG environment variable"
+       default n
+       depends on BUSYBOX_CONFIG_FEATURE_ASSUME_UNICODE && !BUSYBOX_CONFIG_LOCALE_SUPPORT
+       help
+         With this option on, Unicode support is activated
+         only if LANG variable has the value of the form "xxxx.utf8"
+
+         Otherwise, Unicode support will be always enabled and active.
+
+config BUSYBOX_CONFIG_LONG_OPTS
        bool "Support for --long-options"
        default y
        help
index 81534e8..5103be4 100644 (file)
@@ -53,12 +53,12 @@ config BUSYBOX_CONFIG_AR
          probably say N here.
 
 config BUSYBOX_CONFIG_FEATURE_AR_LONG_FILENAMES
-       bool "Support for long filenames (not need for debs)"
+       bool "Support for long filenames (not needed for debs)"
        default n
        depends on BUSYBOX_CONFIG_AR
        help
-         By default the ar format can only store the first 15 characters of
-         the filename, this option removes that limitation.
+         By default the ar format can only store the first 15 characters
+         of the filename, this option removes that limitation.
          It supports the GNU ar long filename method which moves multiple long
          filenames into a the data section of a new ar entry.
 
@@ -165,6 +165,21 @@ config BUSYBOX_CONFIG_GZIP
          gzip is used to compress files.
          It's probably the most widely used UNIX compression program.
 
+config BUSYBOX_CONFIG_LZOP
+       bool "lzop"
+       default n
+       help
+         Lzop compression/decompresion.
+
+config BUSYBOX_CONFIG_LZOP_COMPR_HIGH
+       bool "lzop complession levels 7,8,9 (not very useful)"
+       default n
+       depends on BUSYBOX_CONFIG_LZOP
+       help
+         High levels (7,8,9) of lzop compression. These levels
+         are actually slower than gzip at equivalent compression ratios
+         and take up 3.2K of code.
+
 config BUSYBOX_CONFIG_RPM2CPIO
        bool "rpm2cpio"
        default n
@@ -196,11 +211,11 @@ config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
          tar archives using the `-c' option.
 
 config BUSYBOX_CONFIG_FEATURE_TAR_AUTODETECT
-       bool "Autodetect gz/bz2 compressed tarballs"
+       bool "Autodetect compressed tarballs"
        default n
        depends on BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z || BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ || BUSYBOX_CONFIG_FEATURE_SEAMLESS_BZ2 || BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA
        help
-         With this option tar can automatically detect gzip/bzip2 compressed
+         With this option tar can automatically detect compressed
          tarballs. Currently it works only on files (not pipes etc).
 
 config BUSYBOX_CONFIG_FEATURE_TAR_FROM
@@ -241,7 +256,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_GNU_EXTENSIONS
 config BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
        bool "Enable long options"
        default n
-       depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_GETOPT_LONG
+       depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_LONG_OPTS
        help
          Enable use of long options, increases size by about 400 Bytes
 
@@ -283,8 +298,8 @@ config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
        default n
        depends on BUSYBOX_CONFIG_UNLZMA
        help
-         This option reduces decompression time by about 33% at the cost of
-         a 2K bigger binary.
+         This option reduces decompression time by about 25% at the cost of
+         a 1K bigger binary.
 
 config BUSYBOX_CONFIG_UNZIP
        bool "unzip"
index ffc96d1..229cf45 100644 (file)
@@ -91,7 +91,7 @@ config BUSYBOX_CONFIG_SETCONSOLE
 config BUSYBOX_CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS
        bool "Enable long options"
        default n
-       depends on BUSYBOX_CONFIG_SETCONSOLE && BUSYBOX_CONFIG_GETOPT_LONG
+       depends on BUSYBOX_CONFIG_SETCONSOLE && BUSYBOX_CONFIG_LONG_OPTS
        help
          Support long options for the setconsole applet.
 
index 4b106cf..06e7874 100644 (file)
@@ -204,7 +204,7 @@ config BUSYBOX_CONFIG_ENV
 config BUSYBOX_CONFIG_FEATURE_ENV_LONG_OPTIONS
        bool "Enable long options"
        default n
-       depends on BUSYBOX_CONFIG_ENV && BUSYBOX_CONFIG_GETOPT_LONG
+       depends on BUSYBOX_CONFIG_ENV && BUSYBOX_CONFIG_LONG_OPTS
        help
          Support long options for the env applet.
 
@@ -217,7 +217,7 @@ config BUSYBOX_CONFIG_EXPAND
 config BUSYBOX_CONFIG_FEATURE_EXPAND_LONG_OPTIONS
        bool "Enable long options"
        default n
-       depends on BUSYBOX_CONFIG_EXPAND && BUSYBOX_CONFIG_GETOPT_LONG
+       depends on BUSYBOX_CONFIG_EXPAND && BUSYBOX_CONFIG_LONG_OPTS
        help
          Support long options for the expand applet.
 
@@ -249,6 +249,12 @@ config BUSYBOX_CONFIG_FOLD
        help
          Wrap text to fit a specific width.
 
+config BUSYBOX_CONFIG_FSYNC
+       bool "fsync"
+       default n
+       help
+         fsync is used to flush file-related cached blocks to disk.
+
 config BUSYBOX_CONFIG_HEAD
        bool "head"
        default y
@@ -285,7 +291,7 @@ config BUSYBOX_CONFIG_INSTALL
 config BUSYBOX_CONFIG_FEATURE_INSTALL_LONG_OPTIONS
        bool "Enable long options"
        default n
-       depends on BUSYBOX_CONFIG_INSTALL && BUSYBOX_CONFIG_GETOPT_LONG
+       depends on BUSYBOX_CONFIG_INSTALL && BUSYBOX_CONFIG_LONG_OPTS
        help
          Support long options for the install applet.
 
@@ -358,7 +364,7 @@ config BUSYBOX_CONFIG_FEATURE_LS_USERNAME
 config BUSYBOX_CONFIG_FEATURE_LS_COLOR
        bool "Allow use of color to identify file types"
        default y
-       depends on BUSYBOX_CONFIG_LS && BUSYBOX_CONFIG_GETOPT_LONG
+       depends on BUSYBOX_CONFIG_LS && BUSYBOX_CONFIG_LONG_OPTS
        help
          This enables the --color option to ls.
 
@@ -388,7 +394,7 @@ config BUSYBOX_CONFIG_MKDIR
 config BUSYBOX_CONFIG_FEATURE_MKDIR_LONG_OPTIONS
        bool "Enable long options"
        default n
-       depends on BUSYBOX_CONFIG_MKDIR && BUSYBOX_CONFIG_GETOPT_LONG
+       depends on BUSYBOX_CONFIG_MKDIR && BUSYBOX_CONFIG_LONG_OPTS
        help
          Support long options for the mkdir applet.
 
@@ -415,7 +421,7 @@ config BUSYBOX_CONFIG_MV
 config BUSYBOX_CONFIG_FEATURE_MV_LONG_OPTIONS
        bool "Enable long options"
        default n
-       depends on BUSYBOX_CONFIG_MV && BUSYBOX_CONFIG_GETOPT_LONG
+       depends on BUSYBOX_CONFIG_MV && BUSYBOX_CONFIG_LONG_OPTS
        help
          Support long options for the mv applet.
 
@@ -492,7 +498,7 @@ config BUSYBOX_CONFIG_RMDIR
 config BUSYBOX_CONFIG_FEATURE_RMDIR_LONG_OPTIONS
        bool "Enable long options"
        default n
-       depends on BUSYBOX_CONFIG_RMDIR && BUSYBOX_CONFIG_GETOPT_LONG
+       depends on BUSYBOX_CONFIG_RMDIR && BUSYBOX_CONFIG_LONG_OPTS
        help
          Support long options for the rmdir applet, including
          --ignore-fail-on-non-empty for compatibility with GNU rmdir.
@@ -629,7 +635,7 @@ config BUSYBOX_CONFIG_TAIL
          from files.
 
 config BUSYBOX_CONFIG_FEATURE_FANCY_TAIL
-       bool "Enable extra tail options (-q, -s, and -v)"
+       bool "Enable extra tail options (-q, -s, -v, and -F)"
        default y
        depends on BUSYBOX_CONFIG_TAIL
        help
@@ -661,7 +667,7 @@ config BUSYBOX_CONFIG_TEST
 config BUSYBOX_CONFIG_FEATURE_TEST_64
        bool "Extend test to 64 bit"
        default y
-       depends on BUSYBOX_CONFIG_TEST || BUSYBOX_CONFIG_ASH_BUILTIN_TEST
+       depends on BUSYBOX_CONFIG_TEST || BUSYBOX_CONFIG_ASH_BUILTIN_TEST || BUSYBOX_CONFIG_HUSH
        help
          Enable 64-bit support in test.
 
@@ -726,7 +732,7 @@ config BUSYBOX_CONFIG_UNEXPAND
 config BUSYBOX_CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS
        bool "Enable long options"
        default n
-       depends on BUSYBOX_CONFIG_UNEXPAND && BUSYBOX_CONFIG_GETOPT_LONG
+       depends on BUSYBOX_CONFIG_UNEXPAND && BUSYBOX_CONFIG_LONG_OPTS
        help
          Support long options for the unexpand applet.
 
index e5f0c26..e61c661 100644 (file)
@@ -35,7 +35,7 @@ config BUSYBOX_CONFIG_RUN_PARTS
 config BUSYBOX_CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS
        bool "Enable long options"
        default n
-       depends on BUSYBOX_CONFIG_RUN_PARTS && BUSYBOX_CONFIG_GETOPT_LONG
+       depends on BUSYBOX_CONFIG_RUN_PARTS && BUSYBOX_CONFIG_LONG_OPTS
        help
          Support long options for the run-parts applet.
 
@@ -69,7 +69,7 @@ config BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_FANCY
 config BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
        bool "Enable long options"
        default n
-       depends on BUSYBOX_CONFIG_START_STOP_DAEMON && BUSYBOX_CONFIG_GETOPT_LONG
+       depends on BUSYBOX_CONFIG_START_STOP_DAEMON && BUSYBOX_CONFIG_LONG_OPTS
        help
          Support long options for the start-stop-daemon applet.
 
index 991b97f..32a213b 100644 (file)
@@ -12,17 +12,17 @@ config BUSYBOX_CONFIG_FIND
          find is used to search your system to find specified files.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_PRINT0
-       bool "Enable -print0 option"
+       bool "Enable -print0: NUL-terminated output"
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
-         Causes output names to be separated by a null character
+         Causes output names to be separated by a NUL character
          rather than a newline. This allows names that contain
          newlines and other whitespace to be more easily
          interpreted by other programs.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_MTIME
-       bool "Enable modified time matching (-mtime option)"
+       bool "Enable -mtime: modified time matching"
        default n
        depends on BUSYBOX_CONFIG_FIND
        help
@@ -30,7 +30,7 @@ config BUSYBOX_CONFIG_FEATURE_FIND_MTIME
          files, in days.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_MMIN
-       bool "Enable modified time matching (-mmin option)"
+       bool "Enable -mmin: modified time matching by minutes"
        default n
        depends on BUSYBOX_CONFIG_FIND
        help
@@ -38,14 +38,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_MMIN
          files, in minutes.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_PERM
-       bool "Enable permissions matching (-perm option)"
+       bool "Enable -perm: permissions matching"
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
          Enable searching based on file permissions.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_TYPE
-       bool "Enable filetype matching (-type option)"
+       bool "Enable -type: file type matching (file/dir/link/...)"
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
@@ -53,21 +53,21 @@ config BUSYBOX_CONFIG_FEATURE_FIND_TYPE
          directory, socket, device, etc.).
 
 config BUSYBOX_CONFIG_FEATURE_FIND_XDEV
-       bool "Enable 'stay in filesystem' option (-xdev)"
+       bool "Enable -xdev: 'stay in filesystem'"
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
          This option allows find to restrict searches to a single filesystem.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_MAXDEPTH
-       bool "Enable -maxdepth N option"
+       bool "Enable -maxdepth N"
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
          This option enables -maxdepth N option.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_NEWER
-       bool "Enable -newer option for comparing file mtimes"
+       bool "Enable -newer: compare file modification times"
        default n
        depends on BUSYBOX_CONFIG_FIND
        help
@@ -75,14 +75,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_NEWER
          a modified time that is more recent than the specified FILE.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_INUM
-       bool "Enable inode number matching (-inum option)"
+       bool "Enable -inum: inode number matching"
        default n
        depends on BUSYBOX_CONFIG_FIND
        help
          Support the 'find -inum' option for searching by inode number.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_EXEC
-       bool "Enable -exec option allowing execution of commands"
+       bool "Enable -exec: execute commands"
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
@@ -90,14 +90,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_EXEC
          the files matched.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_USER
-       bool "Enable username/uid matching (-user option)"
+       bool "Enable -user: username/uid matching"
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
          Support the 'find -user' option for searching by username or uid.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_GROUP
-       bool "Enable group/gid matching (-group option)"
+       bool "Enable -group: group/gid matching"
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
@@ -113,7 +113,7 @@ config BUSYBOX_CONFIG_FEATURE_FIND_NOT
          the non-POSIX notation '-not'.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_DEPTH
-       bool "Enable the -depth option"
+       bool "Enable -depth"
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
@@ -127,14 +127,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_PAREN
          Enable usage of parens '(' to specify logical order of arguments.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_SIZE
-       bool "Enable -size option allowing matching for file size"
+       bool "Enable -size: file size matching"
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
          Support the 'find -size' option for searching by file size.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_PRUNE
-       bool "Enable -prune option allowing to exclude subdirectories"
+       bool "Enable -prune: exclude subdirectories"
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
@@ -142,7 +142,7 @@ config BUSYBOX_CONFIG_FEATURE_FIND_PRUNE
          exclusion .svn and CVS directories.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_DELETE
-       bool "Enable -delete option allowing to delete files"
+       bool "Enable -delete: delete files/dirs"
        default n
        depends on BUSYBOX_CONFIG_FIND && BUSYBOX_CONFIG_FEATURE_FIND_DEPTH
        help
@@ -151,21 +151,21 @@ config BUSYBOX_CONFIG_FEATURE_FIND_DELETE
          try to protect the user from doing stupid things. Use with care.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_PATH
-       bool "Enable -path option allowing to match pathname patterns"
+       bool "Enable -path: match pathname with shell pattern"
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
          The -path option matches whole pathname instead of just filename.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_REGEX
-       bool "Enable -regex: match pathname to regex"
+       bool "Enable -regex: match pathname with regex"
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
          The -regex option matches whole pathname against regular expression.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_CONTEXT
-       bool "Enable -context option for matching security context"
+       bool "Enable -context: security context matching"
        default n
        depends on BUSYBOX_CONFIG_FIND && BUSYBOX_CONFIG_SELINUX
        help
@@ -178,7 +178,7 @@ config BUSYBOX_CONFIG_GREP
          grep is used to search files for a specified pattern.
 
 config BUSYBOX_CONFIG_FEATURE_GREP_EGREP_ALIAS
-       bool "Support extended regular expressions (egrep & grep -E)"
+       bool "Enable extended regular expressions (egrep & grep -E)"
        default y
        depends on BUSYBOX_CONFIG_GREP
        help
@@ -193,7 +193,7 @@ config BUSYBOX_CONFIG_FEATURE_GREP_FGREP_ALIAS
        help
          fgrep sees the search pattern as a normal string rather than
          regular expressions.
-         grep -F is always builtin, this just creates the fgrep alias.
+         grep -F always works, this just creates the fgrep alias.
 
 config BUSYBOX_CONFIG_FEATURE_GREP_CONTEXT
        bool "Enable before and after context flags (-A, -B and -C)"
@@ -208,40 +208,39 @@ config BUSYBOX_CONFIG_XARGS
        bool "xargs"
        default y
        help
-         xargs is used to execute a specified command on
+         xargs is used to execute a specified command for
          every item from standard input.
 
 config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION
-       bool "Enable prompt and confirmation option -p"
+       bool "Enable -p: prompt and confirmation"
        default y
        depends on BUSYBOX_CONFIG_XARGS
        help
-         Support prompt the user about whether to run each command
+         Support -p: prompt the user whether to run each command
          line and read a line from the terminal.
 
 config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_QUOTES
-       bool "Enable support single and double quotes and backslash"
+       bool "Enable single and double quotes and backslash"
        default y
        depends on BUSYBOX_CONFIG_XARGS
        help
-         Default xargs unsupport single and double quotes
-         and backslash for can use aruments with spaces.
+         Support quoting in the input.
 
 config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT
-       bool "Enable support options -x"
+       bool "Enable -x: exit if -s or -n is exceeded"
        default y
        depends on BUSYBOX_CONFIG_XARGS
        help
-         Enable support exit if the size (see the -s or -n option)
+         Support -x: exit if the command size (see the -s or -n option)
          is exceeded.
 
 config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM
-       bool "Enable null terminated option -0"
+       bool "Enable -0: NUL-terminated input"
        default y
        depends on BUSYBOX_CONFIG_XARGS
        help
-         Enable input filenames are terminated by a null character
-         instead of by whitespace, and the quotes and backslash
+         Support -0: input items are terminated by a NUL character
+         instead of whitespace, and the quotes and backslash
          are not special.
 
 endmenu
index 75f3298..9498895 100644 (file)
@@ -93,6 +93,26 @@ config BUSYBOX_CONFIG_HALT
        help
          Stop all processes and either halt, reboot, or power off the system.
 
+config BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
+       bool "Call telinit on shutdown and reboot"
+       default n
+       depends on BUSYBOX_CONFIG_HALT && !BUSYBOX_CONFIG_INIT
+       help
+         Call an external program (normally telinit) to facilitate
+         a switch to a proper runlevel.
+
+         This option is only available if you selected halt and friends,
+         but did not select init.
+
+config BUSYBOX_CONFIG_TELINIT_PATH
+       string "Path to telinit executable"
+       default "/sbin/telinit"
+       depends on BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
+       help
+         When busybox halt and friends have to call external telinit
+         to facilitate proper shutdown, this path is to be used when
+         locating telinit executable.
+
 config BUSYBOX_CONFIG_MESG
        bool "mesg"
        default y
index e456dd8..8016ef0 100644 (file)
@@ -13,7 +13,7 @@ config BUSYBOX_CONFIG_PASSWORD_MINLEN
          Minimum allowable password length.
 
 config BUSYBOX_CONFIG_MD5_SIZE_VS_SPEED
-       int "MD5: Trade Bytes for Speed"
+       int "MD5: Trade bytes for speed (0:fast, 3:slow)"
        default 2
        range 0 3
        help
@@ -102,6 +102,28 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_FANCY_PROMPT
          Setting this option allows for prompts to use things like \w and
          \$ and escape codes.
 
+config BUSYBOX_CONFIG_FEATURE_EDITING_ASK_TERMINAL
+       bool "Query cursor position from terminal"
+       default n
+       depends on BUSYBOX_CONFIG_FEATURE_EDITING
+       help
+         Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
+         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),
+         then do not turn this option on.
+
+config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP
+       bool "Non-POSIX, but safer, copying to special nodes"
+       default y
+       help
+         With this option, "cp file symlink" will delete symlink
+         and create a regular file. This does not conform to POSIX,
+         but prevents a symlink attack.
+         Similarly, "cp file device" will not send file's data
+         to the device.
+
 config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE
        bool "Give more precise messages when copy fails (cp, mv etc)"
        default n
@@ -151,4 +173,5 @@ config BUSYBOX_CONFIG_FEATURE_HWIB
        help
          Support for printing infiniband addresses in
          network applets.
+
 endmenu
index d88876c..4498e4e 100644 (file)
@@ -97,6 +97,13 @@ config BUSYBOX_CONFIG_ADDGROUP
        help
          Utility for creating a new group account.
 
+config BUSYBOX_CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS
+       bool "Enable long options"
+       default n
+       depends on BUSYBOX_CONFIG_ADDGROUP && BUSYBOX_CONFIG_LONG_OPTS
+       help
+         Support long options for the addgroup applet.
+
 config BUSYBOX_CONFIG_FEATURE_ADDUSER_TO_GROUP
        bool "Support for adding users to groups"
        default n
@@ -141,10 +148,26 @@ config BUSYBOX_CONFIG_ADDUSER
 config BUSYBOX_CONFIG_FEATURE_ADDUSER_LONG_OPTIONS
        bool "Enable long options"
        default n
-       depends on BUSYBOX_CONFIG_ADDUSER && BUSYBOX_CONFIG_GETOPT_LONG
+       depends on BUSYBOX_CONFIG_ADDUSER && BUSYBOX_CONFIG_LONG_OPTS
        help
          Support long options for the adduser applet.
 
+config BUSYBOX_CONFIG_FIRST_SYSTEM_ID
+       int "First valid system uid or gid for adduser and addgroup"
+       depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
+       range 0 64900
+       default 100
+       help
+         First valid system uid or gid for adduser and addgroup
+
+config BUSYBOX_CONFIG_LAST_SYSTEM_ID
+       int "Last valid system uid or gid for adduser and addgroup"
+       depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
+       range 0 64900
+       default 999
+       help
+         Last valid system uid or gid for adduser and addgroup
+
 config BUSYBOX_CONFIG_DELUSER
        bool "deluser"
        default n
index 1ddfb94..9dce72e 100644 (file)
@@ -19,6 +19,28 @@ config BUSYBOX_CONFIG_BBCONFIG
          The bbconfig applet will print the config file with which
          busybox was built.
 
+config BUSYBOX_CONFIG_BEEP
+       bool "beep"
+       default n
+       help
+         The beep applets beeps in a given freq/Hz.
+
+config BUSYBOX_CONFIG_FEATURE_BEEP_FREQ
+       int "default frequency"
+       range 0 2147483647
+       default 4000
+       depends on BUSYBOX_CONFIG_BEEP
+       help
+         Frequency for default beep.
+
+config BUSYBOX_CONFIG_FEATURE_BEEP_LENGTH_MS
+       int "default length"
+       range 0 2147483647
+       default 30
+       depends on BUSYBOX_CONFIG_BEEP
+       help
+         Length in ms for default beep.
+
 config BUSYBOX_CONFIG_CHAT
        bool "chat"
        default n
@@ -250,6 +272,20 @@ config BUSYBOX_CONFIG_FBSPLASH
            "NN" (ASCII decimal number) - percentage to show on progress bar
            "exit" - well you guessed it
 
+config BUSYBOX_CONFIG_FLASH_LOCK
+       bool "flash_lock"
+       default n
+       help
+         The flash_lock binary from mtd-utils as of git head 5ec0c10d0. This
+         utility locks part or all of the flash device.
+
+config BUSYBOX_CONFIG_FLASH_UNLOCK
+       bool "flash_unlock"
+       default n
+       help
+         The flash_unlock binary from mtd-utils as of git head 5ec0c10d0. This
+         utility unlocks part or all of the flash device.
+
 config BUSYBOX_CONFIG_FLASH_ERASEALL
        bool "flash_eraseall"
        default n
@@ -576,6 +612,12 @@ config BUSYBOX_CONFIG_TTYSIZE
          error, but returns default 80x24.
          Usage in shell scripts: width=`ttysize w`.
 
+config BUSYBOX_CONFIG_VOLNAME
+       bool "volname"
+       default n
+       help
+         Prints a CD-ROM volume name.
+
 config BUSYBOX_CONFIG_WATCHDOG
        bool "watchdog"
        default y
index e2f880f..9ec54b1 100644 (file)
@@ -90,12 +90,8 @@ config BUSYBOX_CONFIG_MODPROBE
          Handle the loading of modules, and their dependencies on a high
          level.
 
-         Note that in the state, modprobe does not understand multiple
-         module options from the configuration file. See option below.
-
 config BUSYBOX_CONFIG_FEATURE_MODPROBE_BLACKLIST
-       bool
-       prompt "Blacklist support"
+       bool "Blacklist support"
        default n
        depends on BUSYBOX_CONFIG_MODPROBE
        help
index 0bde42b..35dae5f 100644 (file)
@@ -12,6 +12,17 @@ config BUSYBOX_CONFIG_FEATURE_IPV6
          Enable IPv6 support in busybox.
          This adds IPv6 support in the networking applets.
 
+config BUSYBOX_CONFIG_FEATURE_UNIX_LOCAL
+       bool "Enable Unix domain socket support (usually not needed)"
+       default n
+       help
+         Enable Unix domain socket support in all busybox networking
+         applets.  Address of the form local:/path/to/unix/socket
+         will be recognized.
+
+         This extension is almost never used in real world usage.
+         You most likely want to say N.
+
 config BUSYBOX_CONFIG_FEATURE_PREFER_IPV4_ADDRESS
        bool "Prefer IPv4 addresses from DNS queries"
        default y
@@ -121,7 +132,7 @@ config BUSYBOX_CONFIG_FTPPUT
 config BUSYBOX_CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS
        bool "Enable long options in ftpget/ftpput"
        default n
-       depends on BUSYBOX_CONFIG_GETOPT_LONG && (BUSYBOX_CONFIG_FTPGET || BUSYBOX_CONFIG_FTPPUT)
+       depends on BUSYBOX_CONFIG_LONG_OPTS && (BUSYBOX_CONFIG_FTPGET || BUSYBOX_CONFIG_FTPPUT)
        help
          Support long options for the ftpget/ftpput applet.
 
@@ -154,14 +165,6 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_USE_SENDFILE
          When enabled, httpd will use the kernel sendfile() function
          instead of read/write loop.
 
-config BUSYBOX_CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
-       bool "Support reloading of global config file on HUP signal"
-       default y
-       depends on BUSYBOX_CONFIG_HTTPD
-       help
-         This option enables processing of SIGHUP to reload cached
-         configuration settings.
-
 config BUSYBOX_CONFIG_FEATURE_HTTPD_SETUID
        bool "Enable -u <user> option"
        default n
@@ -188,14 +191,6 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_AUTH_MD5
          Enables basic per URL authentication from /etc/httpd.conf
          using md5 passwords.
 
-config BUSYBOX_CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES
-       bool "Support loading additional MIME types at run-time"
-       default y
-       depends on BUSYBOX_CONFIG_HTTPD
-       help
-         This option enables support for additional MIME types at
-         run-time to be specified in the configuration file.
-
 config BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
        bool "Support Common Gateway Interface (CGI)"
        default y
@@ -312,6 +307,12 @@ config BUSYBOX_CONFIG_IFENSLAVE
          Userspace application to bind several interfaces
          to a logical interface (use with kernel bonding driver).
 
+config BUSYBOX_CONFIG_IFPLUGD
+       bool "ifplugd"
+       default n
+       help
+         Network interface plug detection daemon.
+
 config BUSYBOX_CONFIG_IFUPDOWN
        bool "ifupdown"
        default n
@@ -577,7 +578,7 @@ config BUSYBOX_CONFIG_FEATURE_IPCALC_FANCY
 config BUSYBOX_CONFIG_FEATURE_IPCALC_LONG_OPTIONS
        bool "Enable long options"
        default n
-       depends on BUSYBOX_CONFIG_IPCALC && BUSYBOX_CONFIG_GETOPT_LONG
+       depends on BUSYBOX_CONFIG_IPCALC && BUSYBOX_CONFIG_LONG_OPTS
        help
          Support long options for the ipcalc applet.
 
@@ -842,15 +843,14 @@ config BUSYBOX_CONFIG_TFTP_DEBUG
        default n
        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
-         you run into problems.
+         Make tftp[d] print debugging messages on stderr.
+         This is useful if you are diagnosing a bug in tftp[d].
 
 config BUSYBOX_CONFIG_TRACEROUTE
        bool "traceroute"
        default y
        help
-         Utility to trace the route of IP packets
+         Utility to trace the route of IP packets.
 
 config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_VERBOSE
        bool "Enable verbose output"
@@ -916,7 +916,7 @@ config BUSYBOX_CONFIG_FEATURE_WGET_AUTHENTICATION
 config BUSYBOX_CONFIG_FEATURE_WGET_LONG_OPTIONS
        bool "Enable long options"
        default y
-       depends on BUSYBOX_CONFIG_WGET && BUSYBOX_CONFIG_GETOPT_LONG
+       depends on BUSYBOX_CONFIG_WGET && BUSYBOX_CONFIG_LONG_OPTS
        help
          Support long options for the wget applet.
 
index 10e06d5..2215623 100644 (file)
@@ -75,11 +75,16 @@ config BUSYBOX_CONFIG_FEATURE_UDHCP_PORT
          This feature is typically not needed.
 
 config BUSYBOX_CONFIG_UDHCP_DEBUG
-       bool "Compile udhcp with noisy debugging messages"
-       default n
-       depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC
+       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
        help
-         If selected, udhcpd will output extra debugging output.
+         Verbosity can be increased with multiple -v options.
+         This options controls how high it can be cranked up.
+
+         Bigger values result in bigger code. Levels above 1
+         are very verbose and useful for debugging only.
 
 config BUSYBOX_CONFIG_FEATURE_UDHCP_RFC3397
        bool "Support for RFC3397 domain search (experimental)"
index 7343592..bd21cb3 100644 (file)
@@ -91,13 +91,13 @@ config BUSYBOX_CONFIG_PS
          ps gives a snapshot of the current processes.
 
 config BUSYBOX_CONFIG_FEATURE_PS_WIDE
-       bool "Enable argument for wide output (-w)"
+       bool "Enable wide output option (-w)"
        default n
        depends on BUSYBOX_CONFIG_PS
        help
          Support argument 'w' for wide output.
-         If given once, 132 chars are printed and given more than
-         one, the length is unlimited.
+         If given once, 132 chars are printed, and if given more
+         than once, the length is unlimited.
 
 config BUSYBOX_CONFIG_FEATURE_PS_TIME
        bool "Enable time and elapsed time output"
@@ -106,6 +106,13 @@ config BUSYBOX_CONFIG_FEATURE_PS_TIME
        help
          Support -o time and -o etime output specifiers.
 
+config BUSYBOX_CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS
+       bool "Enable additional ps columns"
+       default n
+       depends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP
+       help
+         Support -o rgroup, -o ruser, -o nice output specifiers.
+
 config BUSYBOX_CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS
        bool "Support Linux prior to 2.4.0 and non-ELF systems"
        default n
index b5b2d66..dbd9606 100644 (file)
@@ -16,7 +16,7 @@ config BUSYBOX_CONFIG_CHCON
 config BUSYBOX_CONFIG_FEATURE_CHCON_LONG_OPTIONS
        bool "Enable long options"
        default n
-       depends on BUSYBOX_CONFIG_CHCON && BUSYBOX_CONFIG_GETOPT_LONG
+       depends on BUSYBOX_CONFIG_CHCON && BUSYBOX_CONFIG_LONG_OPTS
        help
          Support long options for the chcon applet.
 
@@ -67,7 +67,7 @@ config BUSYBOX_CONFIG_RUNCON
 config BUSYBOX_CONFIG_FEATURE_RUNCON_LONG_OPTIONS
        bool "Enable long options"
        default n
-       depends on BUSYBOX_CONFIG_RUNCON && BUSYBOX_CONFIG_GETOPT_LONG
+       depends on BUSYBOX_CONFIG_RUNCON && BUSYBOX_CONFIG_LONG_OPTS
        help
          Support long options for the runcon applet.
 
index 233c3a8..f3c998c 100644 (file)
@@ -24,9 +24,9 @@ config BUSYBOX_CONFIG_FEATURE_SH_IS_HUSH
 ####   select LASH
 ####   bool "lash"
 
-config BUSYBOX_CONFIG_FEATURE_SH_IS_MSH
-       select BUSYBOX_CONFIG_MSH
-       bool "msh"
+####config FEATURE_SH_IS_MSH
+####   select MSH
+####   bool "msh"
 
 config BUSYBOX_CONFIG_FEATURE_SH_IS_NONE
        bool "none"
@@ -43,9 +43,6 @@ config BUSYBOX_CONFIG_ASH
          shell (by Herbert Xu), which was created by porting the 'ash' shell
          (written by Kenneth Almquist) from NetBSD.
 
-comment "Ash Shell Options"
-       depends on BUSYBOX_CONFIG_ASH
-
 config BUSYBOX_CONFIG_ASH_BASH_COMPAT
        bool "bash-compatible extensions"
        default y
@@ -169,6 +166,13 @@ config BUSYBOX_CONFIG_HUSH
          It does not handle select, aliases, brace expansion,
          tilde expansion, &>file and >&file redirection of stdout+stderr.
 
+config BUSYBOX_CONFIG_HUSH_BASH_COMPAT
+       bool "bash-compatible extensions"
+       default y
+       depends on BUSYBOX_CONFIG_HUSH
+       help
+         Enable bash-compatible extensions.
+
 config BUSYBOX_CONFIG_HUSH_HELP
        bool "help builtin"
        default n
@@ -232,6 +236,20 @@ config BUSYBOX_CONFIG_HUSH_FUNCTIONS
        help
          Enable support for shell functions in hush. +800 bytes.
 
+config BUSYBOX_CONFIG_HUSH_LOCAL
+       bool "Support local builtin"
+       default n
+       depends on BUSYBOX_CONFIG_HUSH_FUNCTIONS
+       help
+         Enable support for local variables in functions.
+
+config BUSYBOX_CONFIG_HUSH_EXPORT_N
+       bool "Support export '-n' option"
+       default n
+       depends on BUSYBOX_CONFIG_HUSH
+       help
+         Enable support for export '-n' option in hush. It is a bash extension.
+
 config BUSYBOX_CONFIG_LASH
        bool "lash (deprecated: aliased to hush)"
        default n
@@ -242,6 +260,7 @@ config BUSYBOX_CONFIG_LASH
 config BUSYBOX_CONFIG_MSH
        bool "msh (deprecated: please use hush)"
        default n
+       select BUSYBOX_CONFIG_HUSH
        help
          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.
@@ -254,9 +273,6 @@ config BUSYBOX_CONFIG_MSH
 #        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
index 526ea00..9d5462b 100644 (file)
@@ -250,6 +250,13 @@ config BUSYBOX_CONFIG_GETOPT
          written by others, this utility may be for you. Most people will
          wisely leave this disabled.
 
+config BUSYBOX_CONFIG_FEATURE_GETOPT_LONG
+       bool "Support option -l"
+       default n if BUSYBOX_CONFIG_LONG_OPTS
+       depends on BUSYBOX_CONFIG_GETOPT
+       help
+         Enable support for long options (option -l).
+
 config BUSYBOX_CONFIG_HEXDUMP
        bool "hexdump"
        default y
@@ -286,7 +293,7 @@ config BUSYBOX_CONFIG_HWCLOCK
 config BUSYBOX_CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS
        bool "Support long options (--hctosys,...)"
        default n
-       depends on BUSYBOX_CONFIG_HWCLOCK && BUSYBOX_CONFIG_GETOPT_LONG
+       depends on BUSYBOX_CONFIG_HWCLOCK && BUSYBOX_CONFIG_LONG_OPTS
        help
          By default, the hwclock utility only uses short options. If you
          are overly fond of its long options, such as --hctosys, --utc, etc)
@@ -399,15 +406,12 @@ config BUSYBOX_CONFIG_MKSWAP
          Once you have created swap space using 'mkswap' you need to enable
          the swap space using the 'swapon' utility.
 
-config BUSYBOX_CONFIG_FEATURE_MKSWAP_V0
-       bool "Version 0 support"
+config BUSYBOX_CONFIG_FEATURE_MKSWAP_UUID
+       bool "UUID support"
        default n
        depends on BUSYBOX_CONFIG_MKSWAP
-#      depends on MKSWAP && BUSYBOX_CONFIG_DEPRECATED
        help
-         Enable support for the old v0 style.
-         If your kernel is older than 2.1.117, then v0 support is the
-         only option.
+         Generate swap spaces with universally unique identifiers.
 
 config BUSYBOX_CONFIG_MORE
        bool "more"
@@ -764,6 +768,13 @@ config BUSYBOX_CONFIG_SCRIPT
        help
          The script makes typescript of terminal session.
 
+config BUSYBOX_CONFIG_SCRIPTREPLAY
+       bool "scriptreplay"
+       default n
+       help
+         This program replays a typescript, using timing information
+         given by script -t.
+
 config BUSYBOX_CONFIG_SETARCH
        bool "setarch"
        default n
index 8cb7a4c..d0a6f61 100644 (file)
@@ -1,18 +1,18 @@
 --- a/applets/Kbuild
 +++ b/applets/Kbuild
-@@ -18,13 +18,13 @@ HOSTCFLAGS_usage.o = -I$(srctree)/includ
+@@ -27,13 +27,13 @@ HOSTCFLAGS_usage.o = -I$(srctree_slash)i
  
  applets/applets.o: include/usage_compressed.h include/applet_tables.h
  
--applets/usage:         .config $(srctree)/applets/usage_compressed
-+applets/usage:         .config $(srctree)/applets/usage_compressed include/autoconf.h
+-applets/usage:         .config $(srctree_slash)applets/usage_compressed
++applets/usage:         .config $(srctree_slash)applets/usage_compressed include/autoconf.h
  applets/applet_tables: .config
  
  quiet_cmd_gen_usage_compressed = GEN     include/usage_compressed.h
-       cmd_gen_usage_compressed = $(srctree)/applets/usage_compressed include/usage_compressed.h applets
+       cmd_gen_usage_compressed = $(srctree_slash)applets/usage_compressed include/usage_compressed.h applets
  
--include/usage_compressed.h: applets/usage $(srctree)/applets/usage_compressed
-+include/usage_compressed.h: applets/usage $(srctree)/applets/usage_compressed include/autoconf.h
+-include/usage_compressed.h: applets/usage $(srctree_slash)applets/usage_compressed
++include/usage_compressed.h: applets/usage $(srctree_slash)applets/usage_compressed include/autoconf.h
        $(call cmd,gen_usage_compressed)
  
  quiet_cmd_gen_applet_tables = GEN     include/applet_tables.h
index f3fc402..b921c78 100644 (file)
@@ -4,23 +4,23 @@
                "setageing\0" "setfd\0" "sethello\0" "setmaxage\0"
                "setpathcost\0" "setportprio\0" "setbridgeprio\0"
        )
--      USE_FEATURE_BRCTL_SHOW("showmacs\0" "show\0");
-+      USE_FEATURE_BRCTL_SHOW("show\0");
+-      IF_FEATURE_BRCTL_SHOW("showmacs\0" "show\0");
++      IF_FEATURE_BRCTL_SHOW("show\0");
  
        enum { ARG_addbr = 0, ARG_delbr, ARG_addif, ARG_delif
-               USE_FEATURE_BRCTL_FANCY(,
+               IF_FEATURE_BRCTL_FANCY(,
 @@ -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
                )
--              USE_FEATURE_BRCTL_SHOW(, ARG_showmacs, ARG_show)
-+              USE_FEATURE_BRCTL_SHOW(, ARG_show)
+-              IF_FEATURE_BRCTL_SHOW(, ARG_showmacs, ARG_show)
++              IF_FEATURE_BRCTL_SHOW(, ARG_show)
        };
  
        int fd;
 --- a/networking/Config.in
 +++ b/networking/Config.in
-@@ -66,12 +66,12 @@ config FEATURE_BRCTL_FANCY
+@@ -77,12 +77,12 @@ config FEATURE_BRCTL_FANCY
          This adds about 600 bytes.
  
  config FEATURE_BRCTL_SHOW
index abb03d4..617679e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/wget.c
 +++ b/networking/wget.c
-@@ -485,7 +485,7 @@ int wget_main(int argc UNUSED_PARAM, cha
+@@ -653,7 +653,7 @@ int wget_main(int argc UNUSED_PARAM, cha
                // "tries\0"            Required_argument "t"
                // "timeout\0"          Required_argument "T"
                /* Ignored (we always use PASV): */
index 81f120d..bfcc02b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/udhcp/dhcpc.c
 +++ b/networking/udhcp/dhcpc.c
-@@ -363,7 +363,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
+@@ -380,7 +380,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
  
                        switch (state) {
                        case INIT_SELECTING:
@@ -8,13 +8,13 @@
 +                              if (!discover_retries || packet_num < discover_retries) {
                                        if (packet_num == 0)
                                                xid = random_xid();
-@@ -394,7 +394,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
+                                       /* broadcast */
+@@ -409,7 +409,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
+                               packet_num = 0;
                                continue;
-                       case RENEW_REQUESTED:
                        case REQUESTING:
 -                              if (packet_num < discover_retries) {
 +                              if (!discover_retries || packet_num < discover_retries) {
-                                       /* send request packet */
-                                       if (state == RENEW_REQUESTED) /* unicast */
-                                               send_renew(xid, server_addr, requested_ip);
+                                       /* send broadcast select packet */
+                                       send_select(xid, server_addr, requested_ip);
+                                       timeout = discover_timeout;
index 405a7a5..0ee4c54 100644 (file)
@@ -1,39 +1,40 @@
 --- a/networking/udhcp/packet.c
 +++ b/networking/udhcp/packet.c
-@@ -120,6 +120,10 @@ uint16_t FAST_FUNC udhcp_checksum(void *
+@@ -164,6 +164,11 @@ uint16_t FAST_FUNC udhcp_checksum(void *
        return ~sum;
  }
  
-+int udhcp_get_payload_len(struct dhcpMessage *payload)
++int udhcp_get_payload_len(struct dhcp_packet *dhcp_pkt)
 +{
-+      return sizeof(struct dhcpMessage) - DHCP_OPTIONS_BUFSIZE + end_option(payload->options) + sizeof(payload->options[0]);
++      return sizeof(struct dhcp_packet) - DHCP_OPTIONS_BUFSIZE + end_option(dhcp_pkt->options) + sizeof(dhcp_pkt->options[0]);
 +}
++
  /* Construct a ip/udp header for a packet, send packet */
- int FAST_FUNC udhcp_send_raw_packet(struct dhcpMessage *payload,
-@@ -132,11 +136,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+ int FAST_FUNC udhcp_send_raw_packet(struct dhcp_packet *dhcp_pkt,
+               uint32_t source_ip, int source_port,
+@@ -175,11 +180,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
        int fd;
        int result = -1;
        const char *msg;
 -
 -      enum {
--              IP_UPD_DHCP_SIZE = sizeof(struct udp_dhcp_packet) - CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS,
--              UPD_DHCP_SIZE    = IP_UPD_DHCP_SIZE - offsetof(struct udp_dhcp_packet, udp),
+-              IP_UPD_DHCP_SIZE = sizeof(struct ip_udp_dhcp_packet) - CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS,
+-              UPD_DHCP_SIZE    = IP_UPD_DHCP_SIZE - offsetof(struct ip_udp_dhcp_packet, udp),
 -      };
-+      int p_len = udhcp_get_payload_len(payload);
++      int p_len = udhcp_get_payload_len(dhcp_pkt);
  
        fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP));
        if (fd < 0) {
-@@ -146,7 +146,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+@@ -189,7 +190,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
  
        memset(&dest, 0, sizeof(dest));
        memset(&packet, 0, sizeof(packet));
--      packet.data = *payload; /* struct copy */
-+      memcpy(&(packet.data), payload, p_len);
+-      packet.data = *dhcp_pkt; /* struct copy */
++      memcpy(&(packet.data), dhcp_pkt, p_len);
  
        dest.sll_family = AF_PACKET;
        dest.sll_protocol = htons(ETH_P_IP);
-@@ -163,23 +163,18 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+@@ -206,24 +207,19 @@ 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);
 -       * If you need to change this: last byte of the packet is
 -       * packet.data.options[end_option(packet.data.options)]
 -       */
+       udhcp_dump_packet(dhcp_pkt);
 -      result = sendto(fd, &packet, IP_UPD_DHCP_SIZE, 0,
 +      result = sendto(fd, &packet, p_len, 0,
                                (struct sockaddr *) &dest, sizeof(dest));
        msg = "sendto";
   ret_close:
-@@ -231,8 +226,7 @@ int FAST_FUNC udhcp_send_kernel_packet(s
+@@ -245,10 +241,6 @@ int FAST_FUNC udhcp_send_kernel_packet(s
+       int result = -1;
+       const char *msg;
+-      enum {
+-              DHCP_SIZE = sizeof(struct dhcp_packet) - CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS,
+-      };
+-
+       fd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
+       if (fd < 0) {
+               msg = "socket(%s)";
+@@ -274,9 +266,8 @@ int FAST_FUNC udhcp_send_kernel_packet(s
                goto ret_close;
        }
  
 -      /* Currently we send full-sized DHCP packets (see above) */
--      result = safe_write(fd, payload, DHCP_SIZE);
-+      result = safe_write(fd, payload, udhcp_get_payload_len(payload));
+       udhcp_dump_packet(dhcp_pkt);
+-      result = safe_write(fd, dhcp_pkt, DHCP_SIZE);
++      result = safe_write(fd, dhcp_pkt, udhcp_get_payload_len(dhcp_pkt));
        msg = "write";
   ret_close:
        close(fd);
index 0140c78..1200c34 100644 (file)
@@ -3,7 +3,7 @@
 @@ -126,6 +126,7 @@ int FAST_FUNC send_decline(uint32_t xid,
  int FAST_FUNC send_discover(uint32_t xid, uint32_t requested)
  {
-       struct dhcpMessage packet;
+       struct dhcp_packet packet;
 +      static int msgs = 0;
  
        init_packet(&packet, DHCPDISCOVER);
index f0ab34d..c5bf912 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/udhcp/dhcpc.c
 +++ b/networking/udhcp/dhcpc.c
-@@ -327,6 +327,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
+@@ -342,6 +342,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
                /* silence "uninitialized!" warning */
                unsigned timestamp_before_wait = timestamp_before_wait;
  
@@ -8,7 +8,7 @@
 +               * member interfaces were added/removed or if the status of the
 +               * bridge changed).
 +               * Workaround: refresh it here before processing the next packet */
-+              udhcp_read_interface(client_config.interface, &client_config.ifindex, NULL, client_config.arp);
++              udhcp_read_interface(client_config.interface, &client_config.ifindex, NULL, client_config.client_mac);
 +
                //bb_error_msg("sockfd:%d, listen_mode:%d", sockfd, listen_mode);
  
index 29313ae..e69de29 100644 (file)
@@ -1,18 +0,0 @@
---- a/networking/udhcp/options.c
-+++ b/networking/udhcp/options.c
-@@ -48,6 +48,7 @@ const struct dhcp_option dhcp_options[] 
- #if ENABLE_FEATURE_UDHCP_RFC3397
-       { OPTION_STR1035 | OPTION_LIST            , 0x77 }, /* search             */
- #endif
-+      { OPTION_U8 | OPTION_LIST |     OPTION_REQ, 0x79 }, /* cidr_static_routes */
-       /* MSIE's "Web Proxy Autodiscovery Protocol" support */
-       { OPTION_STRING                           , 0xfc }, /* wpad               */
-@@ -97,6 +98,7 @@ const char dhcp_option_strings[] ALIGN1 
- #if ENABLE_FEATURE_UDHCP_RFC3397
-       "search" "\0"
- #endif
-+      "cidrroute" "\0"   /* cidr_static_routes */
-       /* MSIE's "Web Proxy Autodiscovery Protocol" support */
-       "wpad" "\0"
-       ;
index f11cb8f..6a420e2 100644 (file)
@@ -1,6 +1,6 @@
 --- a/shell/ash.c
 +++ b/shell/ash.c
-@@ -12273,8 +12273,17 @@ exportcmd(int argc UNUSED_PARAM, char **
+@@ -12360,8 +12360,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) {
-@@ -12286,10 +12295,12 @@ exportcmd(int argc UNUSED_PARAM, char **
+@@ -12373,10 +12382,12 @@ exportcmd(int argc UNUSED_PARAM, char **
                                        vp = *findvar(hashvar(name), name);
                                        if (vp) {
                                                vp->flags |= flag;
index 641449e..aba1468 100644 (file)
@@ -1,16 +1,16 @@
 --- a/include/applets.h
 +++ b/include/applets.h
-@@ -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))
-+USE_NETMSG(APPLET(netmsg, _BB_DIR_BIN, _BB_SUID_ALWAYS))
USE_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+@@ -278,6 +278,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))
++IF_NETMSG(APPLET(netmsg, _BB_DIR_BIN, _BB_SUID_REQUIRE))
IF_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_DROP))
IF_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_DROP))
IF_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_DROP))
 --- a/include/usage.h
 +++ b/include/usage.h
-@@ -3010,6 +3010,9 @@
+@@ -3101,6 +3101,9 @@
  
  #endif
  
 +#define netmsg_full_usage ""
 +
  #define netstat_trivial_usage \
-        "[-laentuwxr"USE_FEATURE_NETSTAT_WIDE("W")USE_FEATURE_NETSTAT_PRG("p")"]"
+        "[-laentuwxr"IF_FEATURE_NETSTAT_WIDE("W")IF_FEATURE_NETSTAT_PRG("p")"]"
  #define netstat_full_usage "\n\n" \
 --- a/networking/Config.in
 +++ b/networking/Config.in
-@@ -600,6 +600,12 @@ config NC
+@@ -617,6 +617,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
-@@ -24,6 +24,7 @@ lib-$(CONFIG_IP)           += ip.o
+@@ -25,6 +25,7 @@ lib-$(CONFIG_IP)           += ip.o
  lib-$(CONFIG_IPCALC)       += ipcalc.o
  lib-$(CONFIG_NAMEIF)       += nameif.o
  lib-$(CONFIG_NC)           += nc.o
index 8cffe45..3e90558 100644 (file)
@@ -1,16 +1,16 @@
 --- a/include/applets.h
 +++ b/include/applets.h
-@@ -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))
-+USE_LOCK(APPLET(lock, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_LOGGER(APPLET(logger, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_ALWAYS))
USE_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_NEVER, logname))
+@@ -233,6 +233,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))
++IF_LOCK(APPLET(lock, _BB_DIR_BIN, _BB_SUID_DROP))
IF_LOGGER(APPLET(logger, _BB_DIR_USR_BIN, _BB_SUID_DROP))
IF_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_REQUIRE))
IF_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_DROP, logname))
 --- a/include/usage.h
 +++ b/include/usage.h
-@@ -2246,6 +2246,9 @@
+@@ -2325,6 +2325,9 @@
  #define loadkmap_example_usage \
         "$ loadkmap < /etc/i18n/lang-keymap\n"
  
 +#define lock_full_usage ""
 +
  #define logger_trivial_usage \
-        "[OPTION]... [MESSAGE]"
+        "[OPTIONS] [MESSAGE]"
  #define logger_full_usage "\n\n" \
 --- a/miscutils/Config.in
 +++ b/miscutils/Config.in
-@@ -420,6 +420,11 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
+@@ -456,6 +456,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
-@@ -23,6 +23,7 @@ lib-$(CONFIG_INOTIFYD)    += inotifyd.o
+@@ -26,6 +26,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 912cb6d..3d3e041 100644 (file)
@@ -1,24 +1,22 @@
 --- a/include/usage.h
 +++ b/include/usage.h
-@@ -1638,7 +1638,8 @@
-       USE_FEATURE_HTTPD_BASIC_AUTH(" [-r realm]") \
-       USE_FEATURE_HTTPD_AUTH_MD5(" [-m pass]") \
-        " [-h home]" \
--       " [-d/-e string]"
-+       " [-d/-e string]" \
+@@ -1693,6 +1693,7 @@
+       IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]") \
+        " [-h HOME]\n" \
+        "or httpd -d/-e" IF_FEATURE_HTTPD_AUTH_MD5("/-m") " STRING"
 +       " [-R <path> [-H <host>]]"
  #define httpd_full_usage "\n\n" \
         "Listen for incoming HTTP requests\n" \
       "\nOptions:" \
-@@ -1656,6 +1657,8 @@
-      "\n      -h HOME         Home directory (default .)" \
+@@ -1710,6 +1711,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" \
  
  #define hwclock_trivial_usage \
-       USE_FEATURE_HWCLOCK_LONG_OPTIONS( \
+       IF_FEATURE_HWCLOCK_LONG_OPTIONS( \
 --- a/networking/httpd.c
 +++ b/networking/httpd.c
 @@ -248,6 +248,8 @@ struct globals {
@@ -29,7 +27,7 @@
 +      const char *redirect_host;
        Htaccess_IP *ip_a_d;    /* config allow/deny lines */
  
-       USE_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
+       IF_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
 @@ -294,6 +296,8 @@ struct globals {
  #define index_page        (G.index_page       )
  #define found_mime_type   (G.found_mime_type  )
 +      c_opt_config_file,
        d_opt_decode_url,
        h_opt_home_httpd,
-       USE_FEATURE_HTTPD_ENCODE_URL_STR(e_opt_encode_url,)
+       IF_FEATURE_HTTPD_ENCODE_URL_STR(e_opt_encode_url,)
 @@ -2315,12 +2328,13 @@ int httpd_main(int argc UNUSED_PARAM, ch
        /* We do not "absolutize" path given by -h (home) opt.
         * If user gives relative path in -h,
         * $SCRIPT_FILENAME will not be set. */
 -      opt = getopt32(argv, "c:d:h:"
 +      opt = getopt32(argv, "R:H:c:d:h:"
-                       USE_FEATURE_HTTPD_ENCODE_URL_STR("e:")
-                       USE_FEATURE_HTTPD_BASIC_AUTH("r:")
-                       USE_FEATURE_HTTPD_AUTH_MD5("m:")
-                       USE_FEATURE_HTTPD_SETUID("u:")
+                       IF_FEATURE_HTTPD_ENCODE_URL_STR("e:")
+                       IF_FEATURE_HTTPD_BASIC_AUTH("r:")
+                       IF_FEATURE_HTTPD_AUTH_MD5("m:")
+                       IF_FEATURE_HTTPD_SETUID("u:")
                        "p:ifv",
 +                      &redirect_path, &redirect_host,
                        &opt_c_configFile, &url_for_decode, &home_httpd
-                       USE_FEATURE_HTTPD_ENCODE_URL_STR(, &url_for_encode)
-                       USE_FEATURE_HTTPD_BASIC_AUTH(, &g_realm)
+                       IF_FEATURE_HTTPD_ENCODE_URL_STR(, &url_for_encode)
+                       IF_FEATURE_HTTPD_BASIC_AUTH(, &g_realm)
index 48127a5..93f60eb 100644 (file)
@@ -8,4 +8,4 @@
 +                              free(s1);
                        }
  
-                       ++dups;  /* note: testing for overflow seems excessive. */
+                       free((char*)s1);
index cc7ca79..022ca24 100644 (file)
  }
 --- a/modutils/Config.in
 +++ b/modutils/Config.in
-@@ -211,7 +211,7 @@ config FEATURE_MODUTILS_SYMBOLS
+@@ -210,7 +210,7 @@ config FEATURE_MODUTILS_SYMBOLS
  config DEFAULT_MODULES_DIR
        string "Default directory containing modules"
        default "/lib/modules"
index 2a22322..e520d78 100644 (file)
@@ -1,6 +1,6 @@
 --- a/util-linux/mount.c
 +++ b/util-linux/mount.c
-@@ -42,6 +42,10 @@
+@@ -69,6 +69,10 @@
  #define MS_DIRSYNC      128     // Directory modifications are synchronous
  #endif
  
@@ -11,7 +11,7 @@
  
  #if defined(__dietlibc__)
  // 16.12.2006, Sampo Kellomaki (sampo@iki.fi)
-@@ -152,6 +156,7 @@ static const int32_t mount_options[] = {
+@@ -185,6 +189,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.
-@@ -206,6 +211,7 @@ static const char mount_option_str[] =
+@@ -239,6 +244,7 @@ static const char mount_option_str[] =
                "rslave\0"
                "rprivate\0"
                "runbindable\0"
index 0a43b8f..8ba4835 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/udhcp/dhcpc.c
 +++ b/networking/udhcp/dhcpc.c
-@@ -69,7 +69,6 @@ static void perform_renew(void)
+@@ -76,7 +76,6 @@ static void perform_renew(void)
                state = RENEW_REQUESTED;
                break;
        case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
index 3b84fc4..92a2d47 100644 (file)
@@ -1,8 +1,6 @@
-diff --git a/networking/telnetd.c b/networking/telnetd.c
-index 2a0ace5..c281feb 100644
 --- a/networking/telnetd.c
 +++ b/networking/telnetd.c
-@@ -308,6 +308,7 @@ make_new_session(
+@@ -306,6 +306,7 @@ make_new_session(
  
        /* Restore default signal handling ASAP */
        bb_signals((1 << SIGCHLD) + (1 << SIGPIPE), SIG_DFL);