update busybox to 1.15.2 (#5926)

SVN-Revision: 18684
master
Florian Fainelli 15 years ago
parent a653c7602e
commit 6b306ba7b8
  1. 6
      package/busybox/Makefile
  2. 36
      package/busybox/config/Config.in
  3. 31
      package/busybox/config/archival/Config.in
  4. 2
      package/busybox/config/console-tools/Config.in
  5. 26
      package/busybox/config/coreutils/Config.in
  6. 4
      package/busybox/config/debianutils/Config.in
  7. 65
      package/busybox/config/findutils/Config.in
  8. 20
      package/busybox/config/init/Config.in
  9. 25
      package/busybox/config/libbb/Config.in
  10. 25
      package/busybox/config/loginutils/Config.in
  11. 42
      package/busybox/config/miscutils/Config.in
  12. 6
      package/busybox/config/modutils/Config.in
  13. 46
      package/busybox/config/networking/Config.in
  14. 13
      package/busybox/config/networking/udhcp/Config.in
  15. 13
      package/busybox/config/procps/Config.in
  16. 4
      package/busybox/config/selinux/Config.in
  17. 34
      package/busybox/config/shell/Config.in
  18. 25
      package/busybox/config/util-linux/Config.in
  19. 12
      package/busybox/patches/000-autoconf.patch
  20. 12
      package/busybox/patches/003-brctl_show_fix.patch
  21. 2
      package/busybox/patches/110-wget_getopt_fix.patch
  22. 14
      package/busybox/patches/240-udhcpc_retries.patch
  23. 46
      package/busybox/patches/241-udhcpc-oversized_packets.patch
  24. 2
      package/busybox/patches/242-udhcpc_msgs.patch
  25. 4
      package/busybox/patches/243-udhcpc_changed_ifindex.patch
  26. 18
      package/busybox/patches/244-udhcpc_cidrroute.patch
  27. 4
      package/busybox/patches/250-ash_export-n.patch
  28. 24
      package/busybox/patches/300-netmsg.patch
  29. 24
      package/busybox/patches/340-lock_util.patch
  30. 32
      package/busybox/patches/350-httpd_redir.patch
  31. 2
      package/busybox/patches/430-uniq_memleak.patch
  32. 2
      package/busybox/patches/470-insmod_search.patch
  33. 6
      package/busybox/patches/480-mount_union.patch
  34. 2
      package/busybox/patches/524-udhcpc_renew.patch
  35. 4
      package/busybox/patches/902-telnetd_intr.patch

@ -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

@ -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

@ -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"

@ -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.

@ -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.

@ -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.

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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.

@ -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)"

@ -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

@ -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.

@ -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

@ -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

@ -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

@ -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

@ -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): */

@ -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;

@ -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);

@ -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);

@ -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);

@ -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"
;

@ -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;

@ -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

@ -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

@ -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 )
@ -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)

@ -8,4 +8,4 @@
+ free(s1);
}
++dups; /* note: testing for overflow seems excessive. */
free((char*)s1);

@ -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"

@ -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"

@ -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 */

@ -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);

Loading…
Cancel
Save