busybox: update to version 1.23.2
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45272
This commit is contained in:
		| @@ -73,6 +73,12 @@ config BUSYBOX_DEFAULT_UNICODE_NEUTRAL_TABLE | ||||
| config BUSYBOX_DEFAULT_UNICODE_PRESERVE_BROKEN | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_PAM | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_LONG_OPTS | ||||
| 	bool | ||||
| 	default y | ||||
| @@ -160,6 +166,9 @@ config BUSYBOX_DEFAULT_DEBUG | ||||
| config BUSYBOX_DEFAULT_DEBUG_PESSIMIZE | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_UNIT_TEST | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_WERROR | ||||
| 	bool | ||||
| 	default n | ||||
| @@ -430,6 +439,9 @@ config BUSYBOX_DEFAULT_ID | ||||
| config BUSYBOX_DEFAULT_GROUPS | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_SHUF | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_TEST | ||||
| 	bool | ||||
| 	default y | ||||
| @@ -454,6 +466,9 @@ config BUSYBOX_DEFAULT_FEATURE_TR_CLASSES | ||||
| config BUSYBOX_DEFAULT_FEATURE_TR_EQUIV | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_UNLINK | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_BASE64 | ||||
| 	bool | ||||
| 	default n | ||||
| @@ -772,6 +787,9 @@ config BUSYBOX_DEFAULT_WHOAMI | ||||
| config BUSYBOX_DEFAULT_YES | ||||
| 	bool | ||||
| 	default y | ||||
| config BUSYBOX_DEFAULT_FEATURE_VERBOSE | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FEATURE_PRESERVE_HARDLINKS | ||||
| 	bool | ||||
| 	default y | ||||
| @@ -949,6 +967,15 @@ config BUSYBOX_DEFAULT_FEATURE_VI_WIN_RESIZE | ||||
| config BUSYBOX_DEFAULT_FEATURE_VI_ASK_TERMINAL | ||||
| 	bool | ||||
| 	default y | ||||
| config BUSYBOX_DEFAULT_FEATURE_VI_UNDO | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE_MAX | ||||
| 	int | ||||
| 	default 0 | ||||
| config BUSYBOX_DEFAULT_FEATURE_ALLOW_EXEC | ||||
| 	bool | ||||
| 	default y | ||||
| @@ -985,6 +1012,9 @@ config BUSYBOX_DEFAULT_FEATURE_FIND_INUM | ||||
| config BUSYBOX_DEFAULT_FEATURE_FIND_EXEC | ||||
| 	bool | ||||
| 	default y | ||||
| config BUSYBOX_DEFAULT_FEATURE_FIND_EXEC_PLUS | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FEATURE_FIND_USER | ||||
| 	bool | ||||
| 	default y | ||||
| @@ -1048,6 +1078,9 @@ config BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_TERMOPT | ||||
| config BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_ZERO_TERM | ||||
| 	bool | ||||
| 	default y | ||||
| config BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_REPL_STR | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_BOOTCHARTD | ||||
| 	bool | ||||
| 	default n | ||||
| @@ -1132,6 +1165,9 @@ config BUSYBOX_DEFAULT_FEATURE_ADDUSER_LONG_OPTIONS | ||||
| config BUSYBOX_DEFAULT_FEATURE_CHECK_NAMES | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_LAST_ID | ||||
| 	int | ||||
| 	default 0 | ||||
| config BUSYBOX_DEFAULT_FIRST_SYSTEM_ID | ||||
| 	int | ||||
| 	default 0 | ||||
| @@ -1165,9 +1201,6 @@ config BUSYBOX_DEFAULT_LOGIN | ||||
| config BUSYBOX_DEFAULT_LOGIN_SESSION_AS_CHILD | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_PAM | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_LOGIN_SCRIPTS | ||||
| 	bool | ||||
| 	default n | ||||
| @@ -1291,6 +1324,9 @@ config BUSYBOX_DEFAULT_DEFAULT_DEPMOD_FILE | ||||
| config BUSYBOX_DEFAULT_BLOCKDEV | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FATATTR | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FSTRIM | ||||
| 	bool | ||||
| 	default n | ||||
| @@ -1504,6 +1540,9 @@ config BUSYBOX_DEFAULT_SETARCH | ||||
| config BUSYBOX_DEFAULT_SWAPONOFF | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FEATURE_SWAPON_DISCARD | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FEATURE_SWAPON_PRI | ||||
| 	bool | ||||
| 	default n | ||||
| @@ -1594,6 +1633,18 @@ config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_XFS | ||||
| config BUSYBOX_DEFAULT_CONSPY | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_CROND | ||||
| 	bool | ||||
| 	default y | ||||
| config BUSYBOX_DEFAULT_FEATURE_CROND_D | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FEATURE_CROND_CALL_SENDMAIL | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FEATURE_CROND_DIR | ||||
| 	string | ||||
| 	default "/etc" | ||||
| config BUSYBOX_DEFAULT_LESS | ||||
| 	bool | ||||
| 	default y | ||||
| @@ -1636,6 +1687,12 @@ config BUSYBOX_DEFAULT_RFKILL | ||||
| config BUSYBOX_DEFAULT_SETSERIAL | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_TASKSET | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_UBIATTACH | ||||
| 	bool | ||||
| 	default n | ||||
| @@ -1702,18 +1759,6 @@ config BUSYBOX_DEFAULT_FEATURE_CHAT_CLR_ABORT | ||||
| config BUSYBOX_DEFAULT_CHRT | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_CROND | ||||
| 	bool | ||||
| 	default y | ||||
| config BUSYBOX_DEFAULT_FEATURE_CROND_D | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FEATURE_CROND_CALL_SENDMAIL | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FEATURE_CROND_DIR | ||||
| 	string | ||||
| 	default "/etc" | ||||
| config BUSYBOX_DEFAULT_CRONTAB | ||||
| 	bool | ||||
| 	default y | ||||
| @@ -1840,12 +1885,6 @@ config BUSYBOX_DEFAULT_SETSID | ||||
| config BUSYBOX_DEFAULT_STRINGS | ||||
| 	bool | ||||
| 	default y | ||||
| config BUSYBOX_DEFAULT_TASKSET | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_TIME | ||||
| 	bool | ||||
| 	default y | ||||
| @@ -1939,6 +1978,9 @@ config BUSYBOX_DEFAULT_FEATURE_FTP_WRITE | ||||
| config BUSYBOX_DEFAULT_FEATURE_FTPD_ACCEPT_BROKEN_LIST | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FEATURE_FTP_AUTHENTICATION | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FTPGET | ||||
| 	bool | ||||
| 	default n | ||||
| @@ -1957,9 +1999,6 @@ config BUSYBOX_DEFAULT_HTTPD | ||||
| config BUSYBOX_DEFAULT_FEATURE_HTTPD_RANGES | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FEATURE_HTTPD_USE_SENDFILE | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FEATURE_HTTPD_SETUID | ||||
| 	bool | ||||
| 	default n | ||||
| @@ -2131,6 +2170,9 @@ config BUSYBOX_DEFAULT_NTPD | ||||
| config BUSYBOX_DEFAULT_FEATURE_NTPD_SERVER | ||||
| 	bool | ||||
| 	default y | ||||
| config BUSYBOX_DEFAULT_FEATURE_NTPD_CONF | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_PSCAN | ||||
| 	bool | ||||
| 	default n | ||||
| @@ -2230,6 +2272,9 @@ config BUSYBOX_DEFAULT_UDHCPC | ||||
| config BUSYBOX_DEFAULT_FEATURE_UDHCPC_ARPING | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FEATURE_UDHCPC_SANITIZEOPT | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_FEATURE_UDHCP_PORT | ||||
| 	bool | ||||
| 	default n | ||||
| @@ -2524,6 +2569,9 @@ config BUSYBOX_DEFAULT_ASH_BUILTIN_PRINTF | ||||
| config BUSYBOX_DEFAULT_ASH_BUILTIN_TEST | ||||
| 	bool | ||||
| 	default y | ||||
| config BUSYBOX_DEFAULT_ASH_HELP | ||||
| 	bool | ||||
| 	default n | ||||
| config BUSYBOX_DEFAULT_ASH_CMDCMD | ||||
| 	bool | ||||
| 	default y | ||||
|   | ||||
| @@ -8,14 +8,14 @@ | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=busybox | ||||
| PKG_VERSION:=1.22.1 | ||||
| PKG_RELEASE:=6 | ||||
| PKG_VERSION:=1.23.2 | ||||
| PKG_RELEASE:=1 | ||||
| PKG_FLAGS:=essential | ||||
|  | ||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 | ||||
| PKG_SOURCE_URL:=http://www.busybox.net/downloads \ | ||||
| 		http://distfiles.gentoo.org/distfiles/ | ||||
| PKG_MD5SUM:=337d1a15ab1cb1d4ed423168b1eb7d7e | ||||
| PKG_MD5SUM:=7925683d7dd105aabe9b6b618d48cc73 | ||||
|  | ||||
| PKG_BUILD_DEPENDS:=BUSYBOX_USE_LIBRPC:librpc BUSYBOX_CONFIG_PAM:libpam | ||||
| PKG_BUILD_PARALLEL:=1 | ||||
|   | ||||
| @@ -256,6 +256,26 @@ config BUSYBOX_CONFIG_UNICODE_PRESERVE_BROKEN | ||||
| 	  at shell prompt will list file named 0xff (single char name | ||||
| 	  with char value 255), not file named '?'. | ||||
|  | ||||
| config BUSYBOX_CONFIG_PAM | ||||
| 	bool "Support for PAM (Pluggable Authentication Modules)" | ||||
| 	default BUSYBOX_DEFAULT_PAM | ||||
| 	help | ||||
| 	  Use PAM in some busybox applets (currently login and httpd) instead | ||||
| 	  of direct access to password database. | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_USE_SENDFILE | ||||
| 	bool "Use sendfile system call" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE | ||||
| 	select BUSYBOX_CONFIG_PLATFORM_LINUX | ||||
| 	help | ||||
| 	  When enabled, busybox will use the kernel sendfile() function | ||||
| 	  instead of read/write loops to copy data between file descriptors | ||||
| 	  (for example, cp command does this a lot). | ||||
| 	  If sendfile() doesn't work, copying code falls back to read/write | ||||
| 	  loop. sendfile() was originally implemented for faster I/O | ||||
| 	  from files to sockets, but since Linux 2.6.33 it was extended | ||||
| 	  to work for many more file types. | ||||
|  | ||||
| config BUSYBOX_CONFIG_LONG_OPTS | ||||
| 	bool "Support for --long-options" | ||||
| 	default BUSYBOX_DEFAULT_LONG_OPTS | ||||
| @@ -415,10 +435,7 @@ config BUSYBOX_CONFIG_SELINUX | ||||
| 	  the option of compiling in SELinux applets. | ||||
|  | ||||
| 	  If you do not have a complete SELinux userland installed, this stuff | ||||
| 	  will not compile. Go visit | ||||
| 		http://www.nsa.gov/selinux/index.html | ||||
| 	  to download the necessary stuff to allow busybox to compile with | ||||
| 	  this option enabled. Specifially, libselinux 1.28 or better is | ||||
| 	  will not compile.  Specifially, libselinux 1.28 or better is | ||||
| 	  directly required by busybox. If the installation is located in a | ||||
| 	  non-standard directory, provide it by invoking make as follows: | ||||
| 		CFLAGS=-I<libselinux-include-path> \ | ||||
| @@ -670,6 +687,14 @@ config BUSYBOX_CONFIG_DEBUG_PESSIMIZE | ||||
| 	  in a much bigger executable that more closely matches the source | ||||
| 	  code. | ||||
|  | ||||
| config BUSYBOX_CONFIG_UNIT_TEST | ||||
| 	bool "Build unit tests" | ||||
| 	default BUSYBOX_DEFAULT_UNIT_TEST | ||||
| 	help | ||||
| 	  Say Y here if you want to build unit tests (both the framework and | ||||
| 	  test cases) as a Busybox applet. This results in bigger code, so you | ||||
| 	  probably don't want this option in production builds. | ||||
|  | ||||
| config BUSYBOX_CONFIG_WERROR | ||||
| 	bool "Abort compilation on any warning" | ||||
| 	default BUSYBOX_DEFAULT_WERROR | ||||
|   | ||||
| @@ -74,6 +74,11 @@ config BUSYBOX_CONFIG_GROUPS | ||||
| 	default BUSYBOX_DEFAULT_GROUPS | ||||
| 	help | ||||
| 	  Print the group names associated with current user id. | ||||
| config BUSYBOX_CONFIG_SHUF | ||||
| 	bool "shuf" | ||||
| 	default BUSYBOX_DEFAULT_SHUF | ||||
| 	help | ||||
| 	  Generate random permutations | ||||
| config BUSYBOX_CONFIG_TEST | ||||
| 	bool "test" | ||||
| 	default BUSYBOX_DEFAULT_TEST | ||||
| @@ -134,6 +139,11 @@ config BUSYBOX_CONFIG_FEATURE_TR_EQUIV | ||||
| 	  replace all instances of 'a' with 'xyz'. This option is mainly | ||||
| 	  useful for cases when no other way of expressing a character | ||||
| 	  is possible. | ||||
| config BUSYBOX_CONFIG_UNLINK | ||||
| 	bool "unlink" | ||||
| 	default BUSYBOX_DEFAULT_UNLINK | ||||
| 	help | ||||
| 	  unlink deletes a file by calling unlink() | ||||
| config BUSYBOX_CONFIG_BASE64 | ||||
| 	bool "base64" | ||||
| 	default BUSYBOX_DEFAULT_BASE64 | ||||
| @@ -778,12 +788,13 @@ config BUSYBOX_CONFIG_FEATURE_FANCY_TAIL | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_FANCY_TAIL | ||||
| 	depends on BUSYBOX_CONFIG_TAIL | ||||
| 	help | ||||
| 	  The options (-q, -s, and -v) are provided by GNU tail, but | ||||
| 	  The options (-q, -s, -v and -F) are provided by GNU tail, but | ||||
| 	  are not specific in the SUSv3 standard. | ||||
|  | ||||
| 	    -q      Never output headers giving file names | ||||
| 	    -s SEC  Wait SEC seconds between reads with -f | ||||
| 	    -v      Always output headers giving file names | ||||
| 	    -F      Same as -f, but keep retrying | ||||
|  | ||||
| config BUSYBOX_CONFIG_TEE | ||||
| 	bool "tee" | ||||
| @@ -883,6 +894,16 @@ config BUSYBOX_CONFIG_YES | ||||
| 	  yes is used to repeatedly output a specific string, or | ||||
| 	  the default string `y'. | ||||
|  | ||||
| comment "Common options" | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_VERBOSE | ||||
| 	bool "Support verbose options (usually -v) for various applets" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_VERBOSE | ||||
| 	help | ||||
| 	  Enable cp -v, rm -v and similar messages. | ||||
| 	  Also enables long option (--verbose) if it exists. | ||||
| 	  Without this option, -v is accepted but ignored. | ||||
|  | ||||
| comment "Common options for cp and mv" | ||||
| 	depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV | ||||
|  | ||||
|   | ||||
| @@ -192,6 +192,36 @@ config BUSYBOX_CONFIG_FEATURE_VI_ASK_TERMINAL | ||||
| 	  cursor position using "ESC [ 6 n" escape sequence, then read stdin. | ||||
|  | ||||
| 	  This is not clean but helps a lot on serial lines and such. | ||||
| config BUSYBOX_CONFIG_FEATURE_VI_UNDO | ||||
| 	bool "Support undo command 'u'" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_VI_UNDO | ||||
| 	depends on BUSYBOX_CONFIG_VI | ||||
| 	help | ||||
| 	  Support the 'u' command to undo insertion, deletion, and replacement | ||||
| 	  of text. | ||||
| config BUSYBOX_CONFIG_FEATURE_VI_UNDO_QUEUE | ||||
| 	bool "Enable undo operation queuing" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE | ||||
| 	depends on BUSYBOX_CONFIG_FEATURE_VI_UNDO | ||||
| 	help | ||||
| 	  The vi undo functions can use an intermediate queue to greatly lower | ||||
| 	  malloc() calls and overhead. When the maximum size of this queue is | ||||
| 	  reached, the contents of the queue are committed to the undo stack. | ||||
| 	  This increases the size of the undo code and allows some undo | ||||
| 	  operations (especially un-typing/backspacing) to be far more useful. | ||||
| config BUSYBOX_CONFIG_FEATURE_VI_UNDO_QUEUE_MAX | ||||
| 	int "Maximum undo character queue size" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE_MAX | ||||
| 	range 32 65536 | ||||
| 	depends on BUSYBOX_CONFIG_FEATURE_VI_UNDO_QUEUE | ||||
| 	help | ||||
| 	  This option sets the number of bytes used at runtime for the queue. | ||||
| 	  Smaller values will create more undo objects and reduce the amount | ||||
| 	  of typed or backspaced characters that are grouped into one undo | ||||
| 	  operation; larger values increase the potential size of each undo | ||||
| 	  and will generally malloc() larger objects and less frequently. | ||||
| 	  Unless you want more (or less) frequent "undo points" while typing, | ||||
| 	  you should probably leave this unchanged. | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_ALLOW_EXEC | ||||
| 	bool "Allow vi and awk to execute shell commands" | ||||
|   | ||||
| @@ -90,6 +90,16 @@ config BUSYBOX_CONFIG_FEATURE_FIND_EXEC | ||||
| 	  Support the 'find -exec' option for executing commands based upon | ||||
| 	  the files matched. | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_FIND_EXEC_PLUS | ||||
| 	bool "Enable -exec ... {} +" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_FIND_EXEC_PLUS | ||||
| 	depends on BUSYBOX_CONFIG_FEATURE_FIND_EXEC | ||||
| 	help | ||||
| 	  Support the 'find -exec ... {} +' option for executing commands | ||||
| 	  for all matched files at once. | ||||
| 	  Without this option, -exec + is a synonym for -exec ; | ||||
| 	  (IOW: it works correctly, but without expected speedup) | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_FIND_USER | ||||
| 	bool "Enable -user: username/uid matching" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_FIND_USER | ||||
| @@ -249,4 +259,11 @@ config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM | ||||
| 	  instead of whitespace, and the quotes and backslash | ||||
| 	  are not special. | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR | ||||
| 	bool "Enable -I STR: string to replace" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_REPL_STR | ||||
| 	depends on BUSYBOX_CONFIG_XARGS | ||||
| 	help | ||||
| 	  Support -I STR and -i[STR] options. | ||||
|  | ||||
| endmenu | ||||
|   | ||||
| @@ -129,10 +129,17 @@ config BUSYBOX_CONFIG_FEATURE_CHECK_NAMES | ||||
| 	  For compatibility with Samba machine accounts "$" is also supported | ||||
| 	  at the end of the user or group name. | ||||
|  | ||||
| config BUSYBOX_CONFIG_LAST_ID | ||||
| 	int "Last valid uid or gid for adduser and addgroup" | ||||
| 	depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP | ||||
| 	default BUSYBOX_DEFAULT_LAST_ID | ||||
| 	help | ||||
| 	  Last valid uid or gid for adduser and addgroup | ||||
|  | ||||
| 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 | ||||
| 	range 0 BUSYBOX_CONFIG_LAST_ID | ||||
| 	default BUSYBOX_DEFAULT_FIRST_SYSTEM_ID | ||||
| 	help | ||||
| 	  First valid system uid or gid for adduser and addgroup | ||||
| @@ -140,7 +147,7 @@ config BUSYBOX_CONFIG_FIRST_SYSTEM_ID | ||||
| 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 | ||||
| 	range BUSYBOX_CONFIG_FIRST_SYSTEM_ID BUSYBOX_CONFIG_LAST_ID | ||||
| 	default BUSYBOX_DEFAULT_LAST_SYSTEM_ID | ||||
| 	help | ||||
| 	  Last valid system uid or gid for adduser and addgroup | ||||
| @@ -227,13 +234,6 @@ config BUSYBOX_CONFIG_LOGIN_SESSION_AS_CHILD | ||||
| 	  almost always would want this to be set to Y, else PAM session | ||||
| 	  will not be cleaned up. | ||||
|  | ||||
| config BUSYBOX_CONFIG_PAM | ||||
| 	bool "Support for PAM (Pluggable Authentication Modules)" | ||||
| 	default BUSYBOX_DEFAULT_PAM | ||||
| 	depends on BUSYBOX_CONFIG_LOGIN | ||||
| 	help | ||||
| 	  Use PAM in login(1) instead of direct access to password database. | ||||
|  | ||||
| config BUSYBOX_CONFIG_LOGIN_SCRIPTS | ||||
| 	bool "Support for login scripts" | ||||
| 	depends on BUSYBOX_CONFIG_LOGIN | ||||
|   | ||||
| @@ -15,6 +15,39 @@ config BUSYBOX_CONFIG_CONSPY | ||||
| 	  example:  conspy NUM      shared access to console num | ||||
| 	  or        conspy -nd NUM  screenshot of console num | ||||
| 	  or        conspy -cs NUM  poor man's GNU screen like | ||||
| config BUSYBOX_CONFIG_CROND | ||||
| 	bool "crond" | ||||
| 	default BUSYBOX_DEFAULT_CROND | ||||
| 	select BUSYBOX_CONFIG_FEATURE_SYSLOG | ||||
| 	help | ||||
| 	  Crond is a background daemon that parses individual crontab | ||||
| 	  files and executes commands on behalf of the users in question. | ||||
| 	  This is a port of dcron from slackware. It uses files of the | ||||
| 	  format /var/spool/cron/crontabs/<username> files, for example: | ||||
| 	      $ cat /var/spool/cron/crontabs/root | ||||
| 	      # Run daily cron jobs at 4:40 every day: | ||||
| 	      40 4 * * * /etc/cron/daily > /dev/null 2>&1 | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_CROND_D | ||||
| 	bool "Support option -d to redirect output to stderr" | ||||
| 	depends on BUSYBOX_CONFIG_CROND | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_CROND_D | ||||
| 	help | ||||
| 	  -d N sets loglevel (0:most verbose) and directs all output to stderr. | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL | ||||
| 	bool "Report command output via email (using sendmail)" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_CROND_CALL_SENDMAIL | ||||
| 	depends on BUSYBOX_CONFIG_CROND | ||||
| 	help | ||||
| 	  Command output will be sent to corresponding user via email. | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_CROND_DIR | ||||
| 	string "crond spool directory" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_CROND_DIR | ||||
| 	depends on BUSYBOX_CONFIG_CROND || BUSYBOX_CONFIG_CRONTAB | ||||
| 	help | ||||
| 	  Location of crond spool. | ||||
| config BUSYBOX_CONFIG_LESS | ||||
| 	bool "less" | ||||
| 	default BUSYBOX_DEFAULT_LESS | ||||
| @@ -121,6 +154,21 @@ config BUSYBOX_CONFIG_SETSERIAL | ||||
| 	select BUSYBOX_CONFIG_PLATFORM_LINUX | ||||
| 	help | ||||
| 	  Retrieve or set Linux serial port. | ||||
| config BUSYBOX_CONFIG_TASKSET | ||||
| 	bool "taskset" | ||||
| 	default BUSYBOX_DEFAULT_TASKSET  # doesn't build on some non-x86 targets (m68k) | ||||
| 	help | ||||
| 	  Retrieve or set a processes's CPU affinity. | ||||
| 	  This requires sched_{g,s}etaffinity support in your libc. | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY | ||||
| 	bool "Fancy output" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY | ||||
| 	depends on BUSYBOX_CONFIG_TASKSET | ||||
| 	help | ||||
| 	  Add code for fancy output. This merely silences a compiler-warning | ||||
| 	  and adds about 135 Bytes. May be needed for machines with alot | ||||
| 	  of CPUs. | ||||
| config BUSYBOX_CONFIG_UBIATTACH | ||||
| 	bool "ubiattach" | ||||
| 	default BUSYBOX_DEFAULT_UBIATTACH | ||||
| @@ -295,40 +343,6 @@ config BUSYBOX_CONFIG_CHRT | ||||
| 	  manipulate real-time attributes of a process. | ||||
| 	  This requires sched_{g,s}etparam support in your libc. | ||||
|  | ||||
| config BUSYBOX_CONFIG_CROND | ||||
| 	bool "crond" | ||||
| 	default BUSYBOX_DEFAULT_CROND | ||||
| 	select BUSYBOX_CONFIG_FEATURE_SYSLOG | ||||
| 	help | ||||
| 	  Crond is a background daemon that parses individual crontab | ||||
| 	  files and executes commands on behalf of the users in question. | ||||
| 	  This is a port of dcron from slackware. It uses files of the | ||||
| 	  format /var/spool/cron/crontabs/<username> files, for example: | ||||
| 	      $ cat /var/spool/cron/crontabs/root | ||||
| 	      # Run daily cron jobs at 4:40 every day: | ||||
| 	      40 4 * * * /etc/cron/daily > /dev/null 2>&1 | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_CROND_D | ||||
| 	bool "Support option -d to redirect output to stderr" | ||||
| 	depends on BUSYBOX_CONFIG_CROND | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_CROND_D | ||||
| 	help | ||||
| 	  -d sets loglevel to 0 (most verbose) and directs all output to stderr. | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL | ||||
| 	bool "Report command output via email (using sendmail)" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_CROND_CALL_SENDMAIL | ||||
| 	depends on BUSYBOX_CONFIG_CROND | ||||
| 	help | ||||
| 	  Command output will be sent to corresponding user via email. | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_CROND_DIR | ||||
| 	string "crond spool directory" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_CROND_DIR | ||||
| 	depends on BUSYBOX_CONFIG_CROND || BUSYBOX_CONFIG_CRONTAB | ||||
| 	help | ||||
| 	  Location of crond spool. | ||||
|  | ||||
| config BUSYBOX_CONFIG_CRONTAB | ||||
| 	bool "crontab" | ||||
| 	default BUSYBOX_DEFAULT_CRONTAB | ||||
| @@ -701,22 +715,6 @@ config BUSYBOX_CONFIG_STRINGS | ||||
| 	  strings prints the printable character sequences for each file | ||||
| 	  specified. | ||||
|  | ||||
| config BUSYBOX_CONFIG_TASKSET | ||||
| 	bool "taskset" | ||||
| 	default BUSYBOX_DEFAULT_TASKSET  # doesn't build on some non-x86 targets (m68k) | ||||
| 	help | ||||
| 	  Retrieve or set a processes's CPU affinity. | ||||
| 	  This requires sched_{g,s}etaffinity support in your libc. | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY | ||||
| 	bool "Fancy output" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY | ||||
| 	depends on BUSYBOX_CONFIG_TASKSET | ||||
| 	help | ||||
| 	  Add code for fancy output. This merely silences a compiler-warning | ||||
| 	  and adds about 135 Bytes. May be needed for machines with alot | ||||
| 	  of CPUs. | ||||
|  | ||||
| config BUSYBOX_CONFIG_TIME | ||||
| 	bool "time" | ||||
| 	default BUSYBOX_DEFAULT_TIME | ||||
|   | ||||
| @@ -67,7 +67,6 @@ config BUSYBOX_CONFIG_NC_110_COMPAT | ||||
| 	bool "Netcat 1.10 compatibility (+2.5k)" | ||||
| 	default BUSYBOX_DEFAULT_NC_110_COMPAT  # off specially for Rob | ||||
| 	depends on BUSYBOX_CONFIG_NC | ||||
| 	select BUSYBOX_CONFIG_NC_SERVER | ||||
| 	help | ||||
| 	  This option makes nc closely follow original nc-1.10. | ||||
| 	  The code is about 2.5k bigger. It enables | ||||
| @@ -228,6 +227,13 @@ config BUSYBOX_CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST | ||||
| 	  it increases the code size by ~40 bytes. | ||||
| 	  Most other ftp servers seem to behave similar to this. | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_FTP_AUTHENTICATION | ||||
| 	bool "Enable authentication" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_FTP_AUTHENTICATION | ||||
| 	depends on BUSYBOX_CONFIG_FTPD | ||||
| 	help | ||||
| 	  Enable basic system login as seen in telnet etc. | ||||
|  | ||||
| config BUSYBOX_CONFIG_FTPGET | ||||
| 	bool "ftpget" | ||||
| 	default BUSYBOX_DEFAULT_FTPGET | ||||
| @@ -268,14 +274,6 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_RANGES | ||||
| 	  "Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted | ||||
| 	  downloads, seeking in multimedia players etc. | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_HTTPD_USE_SENDFILE | ||||
| 	bool "Use sendfile system call" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_HTTPD_USE_SENDFILE | ||||
| 	depends on BUSYBOX_CONFIG_HTTPD | ||||
| 	help | ||||
| 	  When enabled, httpd will use the kernel sendfile() function | ||||
| 	  instead of read/write loop. | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_HTTPD_SETUID | ||||
| 	bool "Enable -u <user> option" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_HTTPD_SETUID | ||||
| @@ -764,6 +762,14 @@ config BUSYBOX_CONFIG_FEATURE_NTPD_SERVER | ||||
| 	  Make ntpd usable as a NTP server. If you disable this option | ||||
| 	  ntpd will be usable only as a NTP client. | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_NTPD_CONF | ||||
| 	bool "Make ntpd understand /etc/ntp.conf" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_NTPD_CONF | ||||
| 	depends on BUSYBOX_CONFIG_NTPD | ||||
| 	help | ||||
| 	  Make ntpd look in /etc/ntp.conf for peers. Only "server address" | ||||
| 	  is supported. | ||||
|  | ||||
| config BUSYBOX_CONFIG_PSCAN | ||||
| 	bool "pscan" | ||||
| 	default BUSYBOX_DEFAULT_PSCAN | ||||
|   | ||||
| @@ -90,6 +90,17 @@ config BUSYBOX_CONFIG_FEATURE_UDHCPC_ARPING | ||||
| 	  will DHCPDECLINE the offer if the address is in use, | ||||
| 	  and restart the discover process. | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_UDHCPC_SANITIZEOPT | ||||
| 	bool "Do not pass malformed host and domain names" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_UDHCPC_SANITIZEOPT | ||||
| 	depends on BUSYBOX_CONFIG_UDHCPC | ||||
| 	help | ||||
| 	  If selected, udhcpc will check some options (such as option 12 - | ||||
| 	  hostname) and if they don't look like valid hostnames | ||||
| 	  (for example, if they start with dash or contain spaces), | ||||
| 	  they will be replaced with string "bad" when exporting | ||||
| 	  to the environment. | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_UDHCP_PORT | ||||
| 	bool "Enable '-P port' option for udhcpd and udhcpc" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_UDHCP_PORT | ||||
|   | ||||
| @@ -73,6 +73,13 @@ config BUSYBOX_CONFIG_ASH_BUILTIN_TEST | ||||
| 	help | ||||
| 	  Enable support for test builtin in ash. | ||||
|  | ||||
| config BUSYBOX_CONFIG_ASH_HELP | ||||
| 	bool "help builtin" | ||||
| 	default BUSYBOX_DEFAULT_ASH_HELP | ||||
| 	depends on BUSYBOX_CONFIG_ASH | ||||
| 	help | ||||
| 	  Enable help builtin in ash. | ||||
|  | ||||
| config BUSYBOX_CONFIG_ASH_CMDCMD | ||||
| 	bool "'command' command to override shell builtins" | ||||
| 	default BUSYBOX_DEFAULT_ASH_CMDCMD | ||||
|   | ||||
| @@ -11,6 +11,12 @@ config BUSYBOX_CONFIG_BLOCKDEV | ||||
| 	default BUSYBOX_DEFAULT_BLOCKDEV | ||||
| 	help | ||||
| 	  Performs some ioctls with block devices. | ||||
| config BUSYBOX_CONFIG_FATATTR | ||||
| 	bool "fatattr" | ||||
| 	default BUSYBOX_DEFAULT_FATATTR | ||||
| 	select BUSYBOX_CONFIG_PLATFORM_LINUX | ||||
| 	help | ||||
| 	  fatattr lists or changes the file attributes on a fat file system. | ||||
| config BUSYBOX_CONFIG_FSTRIM | ||||
| 	bool "fstrim" | ||||
| 	default BUSYBOX_DEFAULT_FSTRIM | ||||
| @@ -672,6 +678,15 @@ config BUSYBOX_CONFIG_SWAPONOFF | ||||
| 	  space. If you are not using any swap space, you can leave this | ||||
| 	  option disabled. | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_SWAPON_DISCARD | ||||
| 	bool "Support discard option -d" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_SWAPON_DISCARD | ||||
| 	depends on BUSYBOX_CONFIG_SWAPONOFF | ||||
| 	help | ||||
| 	  Enable support for discarding swap area blocks at swapon and/or as | ||||
| 	  the kernel frees them. This option enables both the -d option on | ||||
| 	  'swapon' and the 'discard' option for swap entries in /etc/fstab. | ||||
|  | ||||
| config BUSYBOX_CONFIG_FEATURE_SWAPON_PRI | ||||
| 	bool "Support priority option -p" | ||||
| 	default BUSYBOX_DEFAULT_FEATURE_SWAPON_PRI | ||||
|   | ||||
| @@ -41,6 +41,14 @@ while (<FIND>) { | ||||
| 			undef $default_set; | ||||
| 		} | ||||
| 		$line =~ s/^(\s*source\s+)/$1package\/utils\/busybox\/config\//; | ||||
| 		if ($line =~ /^(\s*range\s*)(\w+)(\s+)(\w+)\s*$/) { | ||||
| 			my $prefix = $1; | ||||
| 			my $r1 = $2; | ||||
| 			my $r2 = $4; | ||||
| 			$r1 =~ s/^([a-zA-Z]+)/BUSYBOX_CONFIG_$1/; | ||||
| 			$r2 =~ s/^([a-zA-Z]+)/BUSYBOX_CONFIG_$1/; | ||||
| 			$line = "$prefix$r1 $r2\n"; | ||||
| 		} | ||||
|  | ||||
| 		$line =~ s/^(\s*(prompt "[^"]+" if|config|depends|depends on|select|default|default \w if)\s+\!?)([A-Z_])/$1BUSYBOX_CONFIG_$3/g; | ||||
| 		$line =~ s/(( \|\| | \&\& | \( )!?)([A-Z_])/$1BUSYBOX_CONFIG_$3/g; | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| --- a/include/libbb.h | ||||
| +++ b/include/libbb.h | ||||
| @@ -35,6 +35,7 @@ | ||||
|  #include <sys/poll.h> | ||||
| @@ -40,6 +40,7 @@ | ||||
|  #include <poll.h> | ||||
|  #include <sys/ioctl.h> | ||||
|  #include <sys/mman.h> | ||||
| +#include <sys/resource.h> | ||||
|   | ||||
| @@ -1,11 +0,0 @@ | ||||
| --- a/shell/ash.c | ||||
| +++ b/shell/ash.c | ||||
| @@ -13014,7 +13014,7 @@ init(void) | ||||
|  		setvar2("PPID", utoa(getppid())); | ||||
|  #if ENABLE_ASH_BASH_COMPAT | ||||
|  		p = lookupvar("SHLVL"); | ||||
| -		setvar2("SHLVL", utoa(p ? atoi(p) + 1 : 1)); | ||||
| +		setvar("SHLVL", utoa((p ? atoi(p) : 0) + 1), VEXPORT); | ||||
|  #endif | ||||
|  		p = lookupvar("PWD"); | ||||
|  		if (p) { | ||||
| @@ -1,30 +0,0 @@ | ||||
| --- a/libbb/time.c | ||||
| +++ b/libbb/time.c | ||||
| @@ -68,15 +68,23 @@ void FAST_FUNC parse_datestr(const char  | ||||
|  			/* else end != NUL and we error out */ | ||||
|  		} | ||||
|  	} else | ||||
| -	/* yyyy-mm-dd HH */ | ||||
| -	if (sscanf(date_str, "%u-%u-%u %u%c", &ptm->tm_year, | ||||
| +	if (strchr(date_str, '-') | ||||
| +	    /* Why strchr('-') check? | ||||
| +	     * sscanf below will trash ptm->tm_year, this breaks | ||||
| +	     * if parse_str is "10101010" (iow, "MMddhhmm" form) | ||||
| +	     * because we destroy year. Do these sscanf | ||||
| +	     * only if we saw a dash in parse_str. | ||||
| +	     */ | ||||
| +		/* yyyy-mm-dd HH */ | ||||
| +	 && (sscanf(date_str, "%u-%u-%u %u%c", &ptm->tm_year, | ||||
|  				&ptm->tm_mon, &ptm->tm_mday, | ||||
|  				&ptm->tm_hour, | ||||
|  				&end) >= 4 | ||||
| -	/* yyyy-mm-dd */ | ||||
| -	 || sscanf(date_str, "%u-%u-%u%c", &ptm->tm_year, | ||||
| +		/* yyyy-mm-dd */ | ||||
| +	     || sscanf(date_str, "%u-%u-%u%c", &ptm->tm_year, | ||||
|  				&ptm->tm_mon, &ptm->tm_mday, | ||||
|  				&end) >= 3 | ||||
| +	    ) | ||||
|  	) { | ||||
|  		ptm->tm_year -= 1900; /* Adjust years */ | ||||
|  		ptm->tm_mon -= 1; /* Adjust month from 1-12 to 0-11 */ | ||||
| @@ -1,19 +0,0 @@ | ||||
| --- a/networking/libiproute/iplink.c | ||||
| +++ b/networking/libiproute/iplink.c | ||||
| @@ -31,6 +31,16 @@ | ||||
|  #ifndef IFLA_LINKINFO | ||||
|  # define IFLA_LINKINFO 18 | ||||
|  # define IFLA_INFO_KIND 1 | ||||
| +# define IFLA_INFO_DATA 2 | ||||
| +#endif | ||||
| + | ||||
| +#ifndef IFLA_VLAN_MAX | ||||
| +# define IFLA_VLAN_ID 1 | ||||
| +# define IFLA_VLAN_FLAGS 2 | ||||
| +struct ifla_vlan_flags { | ||||
| +	uint32_t	flags; | ||||
| +	uint32_t	mask; | ||||
| +}; | ||||
|  #endif | ||||
|   | ||||
|  /* taken from linux/sockios.h */ | ||||
| @@ -1,15 +0,0 @@ | ||||
| --- a/networking/nc_bloaty.c | ||||
| +++ b/networking/nc_bloaty.c | ||||
| @@ -175,9 +175,9 @@ enum { | ||||
|  	OPT_w = (1 << 5), | ||||
|  	OPT_l = (1 << 6) * ENABLE_NC_SERVER, | ||||
|  	OPT_k = (1 << 7) * ENABLE_NC_SERVER, | ||||
| -	OPT_i = (1 << (7+2*ENABLE_NC_SERVER)) * ENABLE_NC_EXTRA, | ||||
| -	OPT_o = (1 << (8+2*ENABLE_NC_SERVER)) * ENABLE_NC_EXTRA, | ||||
| -	OPT_z = (1 << (9+2*ENABLE_NC_SERVER)) * ENABLE_NC_EXTRA, | ||||
| +	OPT_i = (1 << (6+2*ENABLE_NC_SERVER)) * ENABLE_NC_EXTRA, | ||||
| +	OPT_o = (1 << (7+2*ENABLE_NC_SERVER)) * ENABLE_NC_EXTRA, | ||||
| +	OPT_z = (1 << (8+2*ENABLE_NC_SERVER)) * ENABLE_NC_EXTRA, | ||||
|  }; | ||||
|   | ||||
|  #define o_nflag   (option_mask32 & OPT_n) | ||||
| @@ -1,59 +0,0 @@ | ||||
| From a9dc7c2f59dc5e92870d2d46316ea5c1f14740e3 Mon Sep 17 00:00:00 2001 | ||||
| From: Denys Vlasenko <vda.linux@googlemail.com> | ||||
| Date: Mon, 30 Jun 2014 10:14:34 +0200 | ||||
| Subject: [PATCH] lzop: add overflow check | ||||
|  | ||||
| See CVE-2014-4607 | ||||
| http://www.openwall.com/lists/oss-security/2014/06/26/20 | ||||
|  | ||||
| function                                             old     new   delta | ||||
| lzo1x_decompress_safe                               1010    1031     +21 | ||||
|  | ||||
| Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> | ||||
| --- | ||||
|  archival/libarchive/liblzo.h  | 2 ++ | ||||
|  archival/libarchive/lzo1x_d.c | 3 +++ | ||||
|  2 files changed, 5 insertions(+) | ||||
|  | ||||
| --- a/archival/libarchive/liblzo.h | ||||
| +++ b/archival/libarchive/liblzo.h | ||||
| @@ -76,11 +76,13 @@ | ||||
|  #    define TEST_IP             (ip < ip_end) | ||||
|  #    define NEED_IP(x) \ | ||||
|              if ((unsigned)(ip_end - ip) < (unsigned)(x))  goto input_overrun | ||||
| +#    define TEST_IV(x)          if ((x) > (unsigned)0 - (511)) goto input_overrun | ||||
|   | ||||
|  #    undef TEST_OP              /* don't need both of the tests here */ | ||||
|  #    define TEST_OP             1 | ||||
|  #    define NEED_OP(x) \ | ||||
|              if ((unsigned)(op_end - op) < (unsigned)(x))  goto output_overrun | ||||
| +#    define TEST_OV(x)          if ((x) > (unsigned)0 - (511)) goto output_overrun | ||||
|   | ||||
|  #define HAVE_ANY_OP 1 | ||||
|   | ||||
| --- a/archival/libarchive/lzo1x_d.c | ||||
| +++ b/archival/libarchive/lzo1x_d.c | ||||
| @@ -92,6 +92,7 @@ int lzo1x_decompress_safe(const uint8_t* | ||||
|  				ip++; | ||||
|  				NEED_IP(1); | ||||
|  			} | ||||
| +			TEST_IV(t); | ||||
|  			t += 15 + *ip++; | ||||
|  		} | ||||
|  		/* copy literals */ | ||||
| @@ -224,6 +225,7 @@ int lzo1x_decompress_safe(const uint8_t* | ||||
|  						ip++; | ||||
|  						NEED_IP(1); | ||||
|  					} | ||||
| +					TEST_IV(t); | ||||
|  					t += 31 + *ip++; | ||||
|  				} | ||||
|  #if defined(COPY_DICT) | ||||
| @@ -265,6 +267,7 @@ int lzo1x_decompress_safe(const uint8_t* | ||||
|  						ip++; | ||||
|  						NEED_IP(1); | ||||
|  					} | ||||
| +					TEST_IV(t); | ||||
|  					t += 7 + *ip++; | ||||
|  				} | ||||
|  #if defined(COPY_DICT) | ||||
| @@ -1,59 +0,0 @@ | ||||
| From 28dd64a0e1a9cffcde7799f2849b66c0e16bb9cc Mon Sep 17 00:00:00 2001 | ||||
| From: Denys Vlasenko <vda.linux@googlemail.com> | ||||
| Date: Fri, 10 Jan 2014 14:06:57 +0100 | ||||
| Subject: [PATCH] libarchive: open_zipped() does not need to check extensions | ||||
|  for e.g. gzip | ||||
|  | ||||
| We only need to check for signature-less extensions, | ||||
| currently only .lzma. The rest can be happily autodetected. | ||||
|  | ||||
| This fixes "zcat FILE_WITHOUT_GZ_EXT" case, among others. | ||||
|  | ||||
| Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> | ||||
| (cherry picked from commit 7c47b560a8fc97956dd8132bd7f1863d83c19866) | ||||
| Signed-off-by: Mike Frysinger <vapier@gentoo.org> | ||||
| --- | ||||
|  archival/libarchive/open_transformer.c | 23 +++++++++++------------ | ||||
|  1 file changed, 11 insertions(+), 12 deletions(-) | ||||
|  | ||||
| --- a/archival/libarchive/open_transformer.c | ||||
| +++ b/archival/libarchive/open_transformer.c | ||||
| @@ -182,27 +182,26 @@ int FAST_FUNC setup_unzip_on_fd(int fd, | ||||
|   | ||||
|  int FAST_FUNC open_zipped(const char *fname) | ||||
|  { | ||||
| -	char *sfx; | ||||
|  	int fd; | ||||
|   | ||||
|  	fd = open(fname, O_RDONLY); | ||||
|  	if (fd < 0) | ||||
|  		return fd; | ||||
|   | ||||
| -	sfx = strrchr(fname, '.'); | ||||
| -	if (sfx) { | ||||
| -		sfx++; | ||||
| -		if (ENABLE_FEATURE_SEAMLESS_LZMA && strcmp(sfx, "lzma") == 0) | ||||
| -			/* .lzma has no header/signature, just trust it */ | ||||
| +	if (ENABLE_FEATURE_SEAMLESS_LZMA) { | ||||
| +		/* .lzma has no header/signature, can only detect it by extension */ | ||||
| +		char *sfx = strrchr(fname, '.'); | ||||
| +		if (sfx && strcmp(sfx+1, "lzma") == 0) { | ||||
|  			open_transformer_with_sig(fd, unpack_lzma_stream, "unlzma"); | ||||
| -		else | ||||
| -		if ((ENABLE_FEATURE_SEAMLESS_GZ && strcmp(sfx, "gz") == 0) | ||||
| -		 || (ENABLE_FEATURE_SEAMLESS_BZ2 && strcmp(sfx, "bz2") == 0) | ||||
| -		 || (ENABLE_FEATURE_SEAMLESS_XZ && strcmp(sfx, "xz") == 0) | ||||
| -		) { | ||||
| -			setup_unzip_on_fd(fd, /*fail_if_not_detected:*/ 1); | ||||
| +			return fd; | ||||
|  		} | ||||
|  	} | ||||
| +	if ((ENABLE_FEATURE_SEAMLESS_GZ) | ||||
| +	 || (ENABLE_FEATURE_SEAMLESS_BZ2) | ||||
| +	 || (ENABLE_FEATURE_SEAMLESS_XZ) | ||||
| +	) { | ||||
| +		setup_unzip_on_fd(fd, /*fail_if_not_detected:*/ 1); | ||||
| +	} | ||||
|   | ||||
|  	return fd; | ||||
|  } | ||||
| @@ -1,26 +0,0 @@ | ||||
| --- a/scripts/basic/docproc.c | ||||
| +++ b/scripts/basic/docproc.c | ||||
| @@ -39,7 +39,10 @@ | ||||
|  #include <limits.h> | ||||
|  #include <sys/types.h> | ||||
|  #include <sys/wait.h> | ||||
| + | ||||
| +#ifndef __FreeBSD__ | ||||
|  #include <alloca.h> | ||||
| +#endif | ||||
|   | ||||
|  /* exitstatus is used to keep track of any failing calls to kernel-doc, | ||||
|   * but execution continues. */ | ||||
| --- a/scripts/basic/fixdep.c | ||||
| +++ b/scripts/basic/fixdep.c | ||||
| @@ -113,7 +113,10 @@ | ||||
|  #include <limits.h> | ||||
|  #include <ctype.h> | ||||
|  #include <arpa/inet.h> | ||||
| + | ||||
| +#ifndef __FreeBSD__ | ||||
|  #include <alloca.h> | ||||
| +#endif | ||||
|   | ||||
|  /* bbox: not needed | ||||
|  #define INT_CONF ntohl(0x434f4e46) | ||||
| @@ -1,6 +1,6 @@ | ||||
| --- a/networking/udhcp/dhcpc.c | ||||
| +++ b/networking/udhcp/dhcpc.c | ||||
| @@ -681,6 +681,7 @@ static int bcast_or_ucast(struct dhcp_pa | ||||
| @@ -685,6 +685,7 @@ static int bcast_or_ucast(struct dhcp_pa | ||||
|  static NOINLINE int send_discover(uint32_t xid, uint32_t requested) | ||||
|  { | ||||
|  	struct dhcp_packet packet; | ||||
| @@ -8,7 +8,7 @@ | ||||
|   | ||||
|  	/* Fill in: op, htype, hlen, cookie, chaddr fields, | ||||
|  	 * random xid field (we override it below), | ||||
| @@ -698,6 +699,7 @@ static NOINLINE int send_discover(uint32 | ||||
| @@ -702,6 +703,7 @@ static NOINLINE int send_discover(uint32 | ||||
|  	 */ | ||||
|  	add_client_options(&packet); | ||||
|   | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| --- a/networking/udhcp/dhcpc.c | ||||
| +++ b/networking/udhcp/dhcpc.c | ||||
| @@ -1400,6 +1400,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c | ||||
| @@ -1410,6 +1410,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c | ||||
|  		/* silence "uninitialized!" warning */ | ||||
|  		unsigned timestamp_before_wait = timestamp_before_wait; | ||||
|   | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| --- a/networking/udhcp/dhcpc.c | ||||
| +++ b/networking/udhcp/dhcpc.c | ||||
| @@ -1087,7 +1087,6 @@ static void perform_renew(void) | ||||
| @@ -1093,7 +1093,6 @@ static void perform_renew(void) | ||||
|  		state = RENEW_REQUESTED; | ||||
|  		break; | ||||
|  	case RENEW_REQUESTED: /* impatient are we? fine, square 1 */ | ||||
|   | ||||
| @@ -1,8 +1,6 @@ | ||||
| Index: busybox-1.22.1/networking/udhcp/dhcpc.c | ||||
| =================================================================== | ||||
| --- busybox-1.22.1.orig/networking/udhcp/dhcpc.c | ||||
| +++ busybox-1.22.1/networking/udhcp/dhcpc.c | ||||
| @@ -659,10 +659,10 @@ static void add_client_options(struct dh | ||||
| --- a/networking/udhcp/dhcpc.c | ||||
| +++ b/networking/udhcp/dhcpc.c | ||||
| @@ -663,10 +663,10 @@ static void add_client_options(struct dh | ||||
|   * client reverts to using the IP broadcast address. | ||||
|   */ | ||||
|   | ||||
| @@ -15,7 +13,7 @@ Index: busybox-1.22.1/networking/udhcp/dhcpc.c | ||||
|  		/*dst*/ INADDR_BROADCAST, SERVER_PORT, MAC_BCAST_ADDR, | ||||
|  		client_config.ifindex); | ||||
|  } | ||||
| @@ -673,7 +673,7 @@ static int bcast_or_ucast(struct dhcp_pa | ||||
| @@ -677,7 +677,7 @@ static int bcast_or_ucast(struct dhcp_pa | ||||
|  		return udhcp_send_kernel_packet(packet, | ||||
|  			ciaddr, CLIENT_PORT, | ||||
|  			server, SERVER_PORT); | ||||
| @@ -24,7 +22,7 @@ Index: busybox-1.22.1/networking/udhcp/dhcpc.c | ||||
|  } | ||||
|   | ||||
|  /* Broadcast a DHCP discover packet to the network, with an optionally requested IP */ | ||||
| @@ -701,7 +701,7 @@ static NOINLINE int send_discover(uint32 | ||||
| @@ -705,7 +705,7 @@ static NOINLINE int send_discover(uint32 | ||||
|   | ||||
|  	if (msgs++ < 3) | ||||
|  	bb_info_msg("Sending discover..."); | ||||
| @@ -33,7 +31,7 @@ Index: busybox-1.22.1/networking/udhcp/dhcpc.c | ||||
|  } | ||||
|   | ||||
|  /* Broadcast a DHCP request message */ | ||||
| @@ -745,7 +745,7 @@ static NOINLINE int send_select(uint32_t | ||||
| @@ -749,7 +749,7 @@ static NOINLINE int send_select(uint32_t | ||||
|   | ||||
|  	addr.s_addr = requested; | ||||
|  	bb_info_msg("Sending select for %s...", inet_ntoa(addr)); | ||||
| @@ -42,7 +40,7 @@ Index: busybox-1.22.1/networking/udhcp/dhcpc.c | ||||
|  } | ||||
|   | ||||
|  /* Unicast or broadcast a DHCP renew message */ | ||||
| @@ -813,7 +813,7 @@ static NOINLINE int send_decline(/*uint3 | ||||
| @@ -817,7 +817,7 @@ static NOINLINE int send_decline(/*uint3 | ||||
|  	udhcp_add_simple_option(&packet, DHCP_SERVER_ID, server); | ||||
|   | ||||
|  	bb_info_msg("Sending decline..."); | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| --- a/include/applets.src.h | ||||
| +++ b/include/applets.src.h | ||||
| @@ -255,6 +255,7 @@ IF_MT(APPLET(mt, BB_DIR_BIN, BB_SUID_DRO | ||||
| @@ -254,6 +254,7 @@ IF_MT(APPLET(mt, BB_DIR_BIN, BB_SUID_DRO | ||||
|  IF_MV(APPLET(mv, BB_DIR_BIN, BB_SUID_DROP)) | ||||
|  IF_NAMEIF(APPLET(nameif, BB_DIR_SBIN, BB_SUID_DROP)) | ||||
|  IF_NC(APPLET(nc, BB_DIR_USR_BIN, BB_SUID_DROP)) | ||||
| @@ -10,7 +10,7 @@ | ||||
|  IF_NOHUP(APPLET(nohup, BB_DIR_USR_BIN, BB_SUID_DROP)) | ||||
| --- a/networking/Config.src | ||||
| +++ b/networking/Config.src | ||||
| @@ -620,6 +620,12 @@ config FEATURE_IPCALC_LONG_OPTIONS | ||||
| @@ -619,6 +619,12 @@ config FEATURE_IPCALC_LONG_OPTIONS | ||||
|  	help | ||||
|  	  Support long options for the ipcalc applet. | ||||
|   | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| --- a/include/applets.src.h | ||||
| +++ b/include/applets.src.h | ||||
| @@ -212,6 +212,7 @@ IF_LN(APPLET_NOEXEC(ln, ln, BB_DIR_BIN,  | ||||
| @@ -211,6 +211,7 @@ IF_LN(APPLET_NOEXEC(ln, ln, BB_DIR_BIN,  | ||||
|  IF_LOAD_POLICY(APPLET(load_policy, BB_DIR_USR_SBIN, BB_SUID_DROP)) | ||||
|  IF_LOADFONT(APPLET(loadfont, BB_DIR_USR_SBIN, BB_SUID_DROP)) | ||||
|  IF_LOADKMAP(APPLET(loadkmap, BB_DIR_SBIN, BB_SUID_DROP)) | ||||
| @@ -10,7 +10,7 @@ | ||||
|  IF_LOGIN(APPLET(login, BB_DIR_BIN, BB_SUID_REQUIRE)) | ||||
| --- a/miscutils/Config.src | ||||
| +++ b/miscutils/Config.src | ||||
| @@ -419,6 +419,12 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA | ||||
| @@ -385,6 +385,12 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA | ||||
|  	help | ||||
|  	  Enables the 'hdparm -d' option to get/set using_dma flag. | ||||
|   | ||||
| @@ -25,7 +25,7 @@ | ||||
|  	default y | ||||
| --- a/miscutils/Kbuild.src | ||||
| +++ b/miscutils/Kbuild.src | ||||
| @@ -29,6 +29,7 @@ lib-$(CONFIG_INOTIFYD)    += inotifyd.o | ||||
| @@ -28,6 +28,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,6 +1,6 @@ | ||||
| --- a/networking/ntpd.c | ||||
| +++ b/networking/ntpd.c | ||||
| @@ -238,6 +238,7 @@ typedef struct { | ||||
| @@ -251,6 +251,7 @@ typedef struct { | ||||
|  typedef struct { | ||||
|  	len_and_sockaddr *p_lsa; | ||||
|  	char             *p_dotted; | ||||
| @@ -8,7 +8,7 @@ | ||||
|  	int              p_fd; | ||||
|  	int              datapoint_idx; | ||||
|  	uint32_t         lastpkt_refid; | ||||
| @@ -738,8 +739,9 @@ add_peers(char *s) | ||||
| @@ -756,8 +757,9 @@ add_peers(const char *s) | ||||
|  	peer_t *p; | ||||
|   | ||||
|  	p = xzalloc(sizeof(*p)); | ||||
| @@ -20,7 +20,7 @@ | ||||
|  	p->p_fd = -1; | ||||
|  	p->p_xmt_msg.m_status = MODE_CLIENT | (NTP_VERSION << 3); | ||||
|  	p->next_action_time = G.cur_time; /* = set_next(p, 0); */ | ||||
| @@ -788,6 +790,25 @@ send_query_to_peer(peer_t *p) | ||||
| @@ -806,6 +808,25 @@ send_query_to_peer(peer_t *p) | ||||
|  	 * | ||||
|  	 * Uncomment this and use strace to see it in action: | ||||
|  	 */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau