From: Florian Fainelli Date: Mon, 7 Dec 2009 16:56:04 +0000 (+0000) Subject: update busybox to 1.15.2 (#5926) X-Git-Tag: v19.07.0-rc1~32373 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=6b306ba7b836261b2abcee6977ff27f909338282;p=openwrt%2Fstaging%2Fhauke.git update busybox to 1.15.2 (#5926) SVN-Revision: 18684 --- diff --git a/package/busybox/Makefile b/package/busybox/Makefile index 508c3e99ad..fa97ab1bb1 100644 --- a/package/busybox/Makefile +++ b/package/busybox/Makefile @@ -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 diff --git a/package/busybox/config/Config.in b/package/busybox/config/Config.in index cf656998cf..3beb0d12a0 100644 --- a/package/busybox/config/Config.in +++ b/package/busybox/config/Config.in @@ -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 diff --git a/package/busybox/config/archival/Config.in b/package/busybox/config/archival/Config.in index 81534e8402..5103be4848 100644 --- a/package/busybox/config/archival/Config.in +++ b/package/busybox/config/archival/Config.in @@ -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" diff --git a/package/busybox/config/console-tools/Config.in b/package/busybox/config/console-tools/Config.in index ffc96d1b6c..229cf45c5a 100644 --- a/package/busybox/config/console-tools/Config.in +++ b/package/busybox/config/console-tools/Config.in @@ -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. diff --git a/package/busybox/config/coreutils/Config.in b/package/busybox/config/coreutils/Config.in index 4b106cf42e..06e7874e2e 100644 --- a/package/busybox/config/coreutils/Config.in +++ b/package/busybox/config/coreutils/Config.in @@ -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. diff --git a/package/busybox/config/debianutils/Config.in b/package/busybox/config/debianutils/Config.in index e5f0c26161..e61c661fc4 100644 --- a/package/busybox/config/debianutils/Config.in +++ b/package/busybox/config/debianutils/Config.in @@ -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. diff --git a/package/busybox/config/findutils/Config.in b/package/busybox/config/findutils/Config.in index 991b97fac5..32a213b468 100644 --- a/package/busybox/config/findutils/Config.in +++ b/package/busybox/config/findutils/Config.in @@ -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 diff --git a/package/busybox/config/init/Config.in b/package/busybox/config/init/Config.in index 75f3298170..9498895631 100644 --- a/package/busybox/config/init/Config.in +++ b/package/busybox/config/init/Config.in @@ -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 diff --git a/package/busybox/config/libbb/Config.in b/package/busybox/config/libbb/Config.in index e456dd8e75..8016ef0800 100644 --- a/package/busybox/config/libbb/Config.in +++ b/package/busybox/config/libbb/Config.in @@ -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 diff --git a/package/busybox/config/loginutils/Config.in b/package/busybox/config/loginutils/Config.in index d88876cf93..4498e4e2d4 100644 --- a/package/busybox/config/loginutils/Config.in +++ b/package/busybox/config/loginutils/Config.in @@ -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 diff --git a/package/busybox/config/miscutils/Config.in b/package/busybox/config/miscutils/Config.in index 1ddfb940a8..9dce72ebd5 100644 --- a/package/busybox/config/miscutils/Config.in +++ b/package/busybox/config/miscutils/Config.in @@ -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 diff --git a/package/busybox/config/modutils/Config.in b/package/busybox/config/modutils/Config.in index e2f880faf2..9ec54b1e92 100644 --- a/package/busybox/config/modutils/Config.in +++ b/package/busybox/config/modutils/Config.in @@ -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 diff --git a/package/busybox/config/networking/Config.in b/package/busybox/config/networking/Config.in index 0bde42b14f..35dae5f593 100644 --- a/package/busybox/config/networking/Config.in +++ b/package/busybox/config/networking/Config.in @@ -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 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. diff --git a/package/busybox/config/networking/udhcp/Config.in b/package/busybox/config/networking/udhcp/Config.in index 10e06d5e36..22156232f9 100644 --- a/package/busybox/config/networking/udhcp/Config.in +++ b/package/busybox/config/networking/udhcp/Config.in @@ -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)" diff --git a/package/busybox/config/procps/Config.in b/package/busybox/config/procps/Config.in index 7343592607..bd21cb377f 100644 --- a/package/busybox/config/procps/Config.in +++ b/package/busybox/config/procps/Config.in @@ -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 diff --git a/package/busybox/config/selinux/Config.in b/package/busybox/config/selinux/Config.in index b5b2d663e6..dbd960630e 100644 --- a/package/busybox/config/selinux/Config.in +++ b/package/busybox/config/selinux/Config.in @@ -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. diff --git a/package/busybox/config/shell/Config.in b/package/busybox/config/shell/Config.in index 233c3a8f41..f3c998cd83 100644 --- a/package/busybox/config/shell/Config.in +++ b/package/busybox/config/shell/Config.in @@ -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 diff --git a/package/busybox/config/util-linux/Config.in b/package/busybox/config/util-linux/Config.in index 526ea00cc0..9d5462b26a 100644 --- a/package/busybox/config/util-linux/Config.in +++ b/package/busybox/config/util-linux/Config.in @@ -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 diff --git a/package/busybox/patches/000-autoconf.patch b/package/busybox/patches/000-autoconf.patch index 8cb7a4cc76..d0a6f61270 100644 --- a/package/busybox/patches/000-autoconf.patch +++ b/package/busybox/patches/000-autoconf.patch @@ -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 diff --git a/package/busybox/patches/003-brctl_show_fix.patch b/package/busybox/patches/003-brctl_show_fix.patch index f3fc402880..b921c7890e 100644 --- a/package/busybox/patches/003-brctl_show_fix.patch +++ b/package/busybox/patches/003-brctl_show_fix.patch @@ -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 diff --git a/package/busybox/patches/110-wget_getopt_fix.patch b/package/busybox/patches/110-wget_getopt_fix.patch index abb03d49f5..617679eab3 100644 --- a/package/busybox/patches/110-wget_getopt_fix.patch +++ b/package/busybox/patches/110-wget_getopt_fix.patch @@ -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): */ diff --git a/package/busybox/patches/240-udhcpc_retries.patch b/package/busybox/patches/240-udhcpc_retries.patch index 81f120d8e6..bfcc02b7fb 100644 --- a/package/busybox/patches/240-udhcpc_retries.patch +++ b/package/busybox/patches/240-udhcpc_retries.patch @@ -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; diff --git a/package/busybox/patches/241-udhcpc-oversized_packets.patch b/package/busybox/patches/241-udhcpc-oversized_packets.patch index 405a7a52ea..0ee4c542ee 100644 --- a/package/busybox/patches/241-udhcpc-oversized_packets.patch +++ b/package/busybox/patches/241-udhcpc-oversized_packets.patch @@ -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); @@ -58,18 +59,31 @@ - * 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); diff --git a/package/busybox/patches/242-udhcpc_msgs.patch b/package/busybox/patches/242-udhcpc_msgs.patch index 0140c7854f..1200c34c7d 100644 --- a/package/busybox/patches/242-udhcpc_msgs.patch +++ b/package/busybox/patches/242-udhcpc_msgs.patch @@ -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); diff --git a/package/busybox/patches/243-udhcpc_changed_ifindex.patch b/package/busybox/patches/243-udhcpc_changed_ifindex.patch index f0ab34d26a..c5bf9123db 100644 --- a/package/busybox/patches/243-udhcpc_changed_ifindex.patch +++ b/package/busybox/patches/243-udhcpc_changed_ifindex.patch @@ -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); diff --git a/package/busybox/patches/244-udhcpc_cidrroute.patch b/package/busybox/patches/244-udhcpc_cidrroute.patch index 29313ae79d..e69de29bb2 100644 --- a/package/busybox/patches/244-udhcpc_cidrroute.patch +++ b/package/busybox/patches/244-udhcpc_cidrroute.patch @@ -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" - ; diff --git a/package/busybox/patches/250-ash_export-n.patch b/package/busybox/patches/250-ash_export-n.patch index f11cb8f799..6a420e221f 100644 --- a/package/busybox/patches/250-ash_export-n.patch +++ b/package/busybox/patches/250-ash_export-n.patch @@ -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; diff --git a/package/busybox/patches/300-netmsg.patch b/package/busybox/patches/300-netmsg.patch index 641449eca1..aba146872c 100644 --- a/package/busybox/patches/300-netmsg.patch +++ b/package/busybox/patches/300-netmsg.patch @@ -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 @@ -18,11 +18,11 @@ +#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 diff --git a/package/busybox/patches/340-lock_util.patch b/package/busybox/patches/340-lock_util.patch index 8cffe45fda..3e90558622 100644 --- a/package/busybox/patches/340-lock_util.patch +++ b/package/busybox/patches/340-lock_util.patch @@ -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" @@ -18,11 +18,11 @@ +#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 diff --git a/package/busybox/patches/350-httpd_redir.patch b/package/busybox/patches/350-httpd_redir.patch index 912cb6d497..3d3e041ce8 100644 --- a/package/busybox/patches/350-httpd_redir.patch +++ b/package/busybox/patches/350-httpd_redir.patch @@ -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 [-H ]]" #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 ) @@ -76,19 +74,19 @@ + 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) diff --git a/package/busybox/patches/430-uniq_memleak.patch b/package/busybox/patches/430-uniq_memleak.patch index 48127a57ce..93f60eb004 100644 --- a/package/busybox/patches/430-uniq_memleak.patch +++ b/package/busybox/patches/430-uniq_memleak.patch @@ -8,4 +8,4 @@ + free(s1); } - ++dups; /* note: testing for overflow seems excessive. */ + free((char*)s1); diff --git a/package/busybox/patches/470-insmod_search.patch b/package/busybox/patches/470-insmod_search.patch index cc7ca79ce0..022ca24e6a 100644 --- a/package/busybox/patches/470-insmod_search.patch +++ b/package/busybox/patches/470-insmod_search.patch @@ -119,7 +119,7 @@ } --- 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" diff --git a/package/busybox/patches/480-mount_union.patch b/package/busybox/patches/480-mount_union.patch index 2a22322aee..e520d781b2 100644 --- a/package/busybox/patches/480-mount_union.patch +++ b/package/busybox/patches/480-mount_union.patch @@ -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" diff --git a/package/busybox/patches/524-udhcpc_renew.patch b/package/busybox/patches/524-udhcpc_renew.patch index 0a43b8fe32..8ba4835ae7 100644 --- a/package/busybox/patches/524-udhcpc_renew.patch +++ b/package/busybox/patches/524-udhcpc_renew.patch @@ -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 */ diff --git a/package/busybox/patches/902-telnetd_intr.patch b/package/busybox/patches/902-telnetd_intr.patch index 3b84fc4d3e..92a2d4725c 100644 --- a/package/busybox/patches/902-telnetd_intr.patch +++ b/package/busybox/patches/902-telnetd_intr.patch @@ -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);