upgrade busybox to v1.11.1 and add current upstream fixes
SVN-Revision: 12348
This commit is contained in:
		@@ -9,13 +9,13 @@
 | 
				
			|||||||
include $(TOPDIR)/rules.mk
 | 
					include $(TOPDIR)/rules.mk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PKG_NAME:=busybox
 | 
					PKG_NAME:=busybox
 | 
				
			||||||
PKG_VERSION:=1.8.2
 | 
					PKG_VERSION:=1.11.1
 | 
				
			||||||
PKG_RELEASE:=1
 | 
					PKG_RELEASE:=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 | 
					PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 | 
				
			||||||
PKG_SOURCE_URL:=http://www.busybox.net/downloads \
 | 
					PKG_SOURCE_URL:=http://www.busybox.net/downloads \
 | 
				
			||||||
		http://distfiles.gentoo.org/distfiles/
 | 
							http://distfiles.gentoo.org/distfiles/
 | 
				
			||||||
PKG_MD5SUM:=5794c6187c7cc8176c52b96af9bf2478
 | 
					PKG_MD5SUM:=c64bbb5c0c3e19f12892941a0ae86c48
 | 
				
			||||||
 | 
					
 | 
				
			||||||
include $(INCLUDE_DIR)/package.mk
 | 
					include $(INCLUDE_DIR)/package.mk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,22 +12,6 @@ menu "Busybox Settings"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
menu "General Configuration"
 | 
					menu "General Configuration"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_NITPICK
 | 
					 | 
				
			||||||
	bool "See lots more (probably unnecessary) configuration options."
 | 
					 | 
				
			||||||
	default n
 | 
					 | 
				
			||||||
	help
 | 
					 | 
				
			||||||
	  Some BusyBox applets have more configuration options than anyone
 | 
					 | 
				
			||||||
	  will ever care about.  To avoid drowining people in complexity, most
 | 
					 | 
				
			||||||
	  of the applet features that can be set to a sane default value are
 | 
					 | 
				
			||||||
	  hidden, unless you hit the above switch.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	  This is better than to telling people to edit the busybox source
 | 
					 | 
				
			||||||
	  code, but not by much.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	  See http://en.wikipedia.org/wiki/Fibber_McGee_and_Molly#The_Closet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	  You have been warned.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
config BUSYBOX_CONFIG_DESKTOP
 | 
					config BUSYBOX_CONFIG_DESKTOP
 | 
				
			||||||
	bool "Enable options for full-blown desktop systems"
 | 
						bool "Enable options for full-blown desktop systems"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
@@ -36,10 +20,21 @@ config BUSYBOX_CONFIG_DESKTOP
 | 
				
			|||||||
	  Select this only if you plan to use busybox on full-blown
 | 
						  Select this only if you plan to use busybox on full-blown
 | 
				
			||||||
	  desktop machine with common Linux distro, not on an embedded box.
 | 
						  desktop machine with common Linux distro, not on an embedded box.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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
 | 
					choice
 | 
				
			||||||
	prompt "Buffer allocation policy"
 | 
						prompt "Buffer allocation policy"
 | 
				
			||||||
	default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
 | 
						default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_NITPICK
 | 
					 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  There are 3 ways BusyBox can handle buffer allocations:
 | 
						  There are 3 ways BusyBox can handle buffer allocations:
 | 
				
			||||||
	  - Use malloc. This costs code size for the call to xmalloc.
 | 
						  - Use malloc. This costs code size for the call to xmalloc.
 | 
				
			||||||
@@ -110,7 +105,7 @@ config BUSYBOX_CONFIG_LOCALE_SUPPORT
 | 
				
			|||||||
	  busybox to support locale settings.
 | 
						  busybox to support locale settings.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_GETOPT_LONG
 | 
					config BUSYBOX_CONFIG_GETOPT_LONG
 | 
				
			||||||
	bool "Enable support for --long-options"
 | 
						bool "Support for --long-options"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  Enable this if you want busybox applets to use the gnu --long-option
 | 
						  Enable this if you want busybox applets to use the gnu --long-option
 | 
				
			||||||
@@ -129,7 +124,6 @@ config BUSYBOX_CONFIG_FEATURE_DEVPTS
 | 
				
			|||||||
config BUSYBOX_CONFIG_FEATURE_CLEAN_UP
 | 
					config BUSYBOX_CONFIG_FEATURE_CLEAN_UP
 | 
				
			||||||
	bool "Clean up all memory before exiting (usually not needed)"
 | 
						bool "Clean up all memory before exiting (usually not needed)"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_NITPICK
 | 
					 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  As a size optimization, busybox normally exits without explicitly
 | 
						  As a size optimization, busybox normally exits without explicitly
 | 
				
			||||||
	  freeing dynamically allocated memory or closing files.  This saves
 | 
						  freeing dynamically allocated memory or closing files.  This saves
 | 
				
			||||||
@@ -279,10 +273,31 @@ config BUSYBOX_CONFIG_STATIC
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	  Most people will leave this set to 'N'.
 | 
						  Most people will leave this set to 'N'.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_PIE
 | 
				
			||||||
 | 
						bool "Build BusyBox as a position independent executable"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on !BUSYBOX_CONFIG_STATIC
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  (TODO: what is it and why/when is it useful?)
 | 
				
			||||||
 | 
						  Most people will leave this set to 'N'.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_NOMMU
 | 
				
			||||||
 | 
						bool "Force NOMMU build"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Busybox tries to detect whether architecture it is being
 | 
				
			||||||
 | 
						  built against supports MMU or not. If this detection fails,
 | 
				
			||||||
 | 
						  or if you want to build NOMMU version of busybox for testing,
 | 
				
			||||||
 | 
						  you may force NOMMU build here.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  Most people will leave this set to 'N'.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# PIE can be made to work with BUILD_LIBBUSYBOX, but currently
 | 
				
			||||||
 | 
					# build system does not support that
 | 
				
			||||||
config BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
 | 
					config BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
 | 
				
			||||||
	bool "Build shared libbusybox"
 | 
						bool "Build shared libbusybox"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on !BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
 | 
						depends on !BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS && !BUSYBOX_CONFIG_PIE && !BUSYBOX_CONFIG_STATIC
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  Build a shared library libbusybox.so.N.N.N which contains all
 | 
						  Build a shared library libbusybox.so.N.N.N which contains all
 | 
				
			||||||
	  busybox code.
 | 
						  busybox code.
 | 
				
			||||||
@@ -369,6 +384,16 @@ config BUSYBOX_CONFIG_LFS
 | 
				
			|||||||
	  cp, mount, tar, and many others.  If you want to access files larger
 | 
						  cp, mount, tar, and many others.  If you want to access files larger
 | 
				
			||||||
	  than 2 Gigabytes, enable this option.  Otherwise, leave it set to 'N'.
 | 
						  than 2 Gigabytes, enable this option.  Otherwise, leave it set to 'N'.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_CROSS_COMPILER_PREFIX
 | 
				
			||||||
 | 
						string "Cross Compiler prefix"
 | 
				
			||||||
 | 
						default ""
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  If you want to build BusyBox with a cross compiler, then you
 | 
				
			||||||
 | 
						  will need to set this to the cross-compiler prefix, for example,
 | 
				
			||||||
 | 
						  "i386-uclibc-". Note that CROSS_COMPILE environment variable
 | 
				
			||||||
 | 
						  or "make CROSS_COMPILE=xxx ..." will override this selection.
 | 
				
			||||||
 | 
						  For native build leave it empty.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
endmenu
 | 
					endmenu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
menu 'Debugging Options'
 | 
					menu 'Debugging Options'
 | 
				
			||||||
@@ -384,6 +409,17 @@ config BUSYBOX_CONFIG_DEBUG
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	  Most people should answer N.
 | 
						  Most people should answer N.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_DEBUG_PESSIMIZE
 | 
				
			||||||
 | 
						bool "Disable compiler optimizations."
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_DEBUG
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  The compiler's optimization of source code can eliminate and reorder
 | 
				
			||||||
 | 
						  code, resulting in an executable that's hard to understand when
 | 
				
			||||||
 | 
						  stepping through it with a debugger.  This switches it off, resulting
 | 
				
			||||||
 | 
						  in a much bigger executable that more closely matches the source
 | 
				
			||||||
 | 
						  code.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_WERROR
 | 
					config BUSYBOX_CONFIG_WERROR
 | 
				
			||||||
	bool "Abort compilation on any warning"
 | 
						bool "Abort compilation on any warning"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
@@ -392,18 +428,6 @@ config BUSYBOX_CONFIG_WERROR
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	  Most people should answer N.
 | 
						  Most people should answer N.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Seems to be unused
 | 
					 | 
				
			||||||
#config DEBUG_PESSIMIZE
 | 
					 | 
				
			||||||
#	bool "Disable compiler optimizations."
 | 
					 | 
				
			||||||
#	default n
 | 
					 | 
				
			||||||
#	depends on DEBUG
 | 
					 | 
				
			||||||
#	help
 | 
					 | 
				
			||||||
#	  The compiler's optimization of source code can eliminate and reorder
 | 
					 | 
				
			||||||
#	  code, resulting in an executable that's hard to understand when
 | 
					 | 
				
			||||||
#	  stepping through it with a debugger.  This switches it off, resulting
 | 
					 | 
				
			||||||
#	  in a much bigger executable that more closely matches the source
 | 
					 | 
				
			||||||
#	  code.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
choice
 | 
					choice
 | 
				
			||||||
	prompt "Additional debugging library"
 | 
						prompt "Additional debugging library"
 | 
				
			||||||
	default BUSYBOX_CONFIG_NO_DEBUG_LIB
 | 
						default BUSYBOX_CONFIG_NO_DEBUG_LIB
 | 
				
			||||||
@@ -554,4 +578,4 @@ source package/busybox/config/shell/Config.in
 | 
				
			|||||||
source package/busybox/config/sysklogd/Config.in
 | 
					source package/busybox/config/sysklogd/Config.in
 | 
				
			||||||
source package/busybox/config/runit/Config.in
 | 
					source package/busybox/config/runit/Config.in
 | 
				
			||||||
source package/busybox/config/selinux/Config.in
 | 
					source package/busybox/config/selinux/Config.in
 | 
				
			||||||
source package/busybox/config/ipsvd/Config.in
 | 
					source package/busybox/config/printutils/Config.in
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,7 +29,7 @@ config BUSYBOX_CONFIG_AR
 | 
				
			|||||||
	  probably say N here.
 | 
						  probably say N here.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_AR_LONG_FILENAMES
 | 
					config BUSYBOX_CONFIG_FEATURE_AR_LONG_FILENAMES
 | 
				
			||||||
	bool "Enable support for long filenames (not need for debs)"
 | 
						bool "Support for long filenames (not need for debs)"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_AR
 | 
						depends on BUSYBOX_CONFIG_AR
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -78,6 +78,14 @@ config BUSYBOX_CONFIG_CPIO
 | 
				
			|||||||
	  Unless you have a specific application which requires cpio, you should
 | 
						  Unless you have a specific application which requires cpio, you should
 | 
				
			||||||
	  probably say N here.
 | 
						  probably say N here.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_CPIO_O
 | 
				
			||||||
 | 
						bool "Support for archive creation"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_CPIO
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  This implementation of cpio can create cpio archives in the "newc"
 | 
				
			||||||
 | 
						  format only.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_DPKG
 | 
					config BUSYBOX_CONFIG_DPKG
 | 
				
			||||||
	bool "dpkg"
 | 
						bool "dpkg"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
@@ -99,7 +107,7 @@ config BUSYBOX_CONFIG_DPKG_DEB
 | 
				
			|||||||
	  probably say N here.
 | 
						  probably say N here.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY
 | 
					config BUSYBOX_CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY
 | 
				
			||||||
	bool "extract only (-x)"
 | 
						bool "Extract only (-x)"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_DPKG_DEB
 | 
						depends on BUSYBOX_CONFIG_DPKG_DEB
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -137,8 +145,6 @@ config BUSYBOX_CONFIG_IPKG
 | 
				
			|||||||
	select BUSYBOX_CONFIG_MD5SUM
 | 
						select BUSYBOX_CONFIG_MD5SUM
 | 
				
			||||||
	select BUSYBOX_CONFIG_WGET
 | 
						select BUSYBOX_CONFIG_WGET
 | 
				
			||||||
	select BUSYBOX_CONFIG_DIFF
 | 
						select BUSYBOX_CONFIG_DIFF
 | 
				
			||||||
	select BUSYBOX_CONFIG_TAR
 | 
					 | 
				
			||||||
	select BUSYBOX_CONFIG_GUNZIP
 | 
					 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  ipkg is the itsy package management system.
 | 
						  ipkg is the itsy package management system.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -177,6 +183,14 @@ config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
 | 
				
			|||||||
	  If you enable this option you'll be able to create
 | 
						  If you enable this option you'll be able to create
 | 
				
			||||||
	  tar archives using the `-c' option.
 | 
						  tar archives using the `-c' option.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_TAR_GZIP
 | 
				
			||||||
 | 
						bool "Enable -z option"
 | 
				
			||||||
 | 
						default y
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_TAR
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  If you enable this option tar will be able to call gzip,
 | 
				
			||||||
 | 
						  when creating or extracting tar gziped archives.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_TAR_BZIP2
 | 
					config BUSYBOX_CONFIG_FEATURE_TAR_BZIP2
 | 
				
			||||||
	bool "Enable -j option to handle .tar.bz2 files"
 | 
						bool "Enable -j option to handle .tar.bz2 files"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
@@ -193,22 +207,6 @@ config BUSYBOX_CONFIG_FEATURE_TAR_LZMA
 | 
				
			|||||||
	  If you enable this option you'll be able to extract
 | 
						  If you enable this option you'll be able to extract
 | 
				
			||||||
	  archives compressed with lzma.
 | 
						  archives compressed with lzma.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_TAR_FROM
 | 
					 | 
				
			||||||
	bool "Enable -X (exclude from) and -T (include from) options)"
 | 
					 | 
				
			||||||
	default y
 | 
					 | 
				
			||||||
	depends on BUSYBOX_CONFIG_TAR
 | 
					 | 
				
			||||||
	help
 | 
					 | 
				
			||||||
	  If you enable this option you'll be able to specify
 | 
					 | 
				
			||||||
	  a list of files to include or exclude from an archive.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_TAR_GZIP
 | 
					 | 
				
			||||||
	bool "Enable -z option"
 | 
					 | 
				
			||||||
	default y
 | 
					 | 
				
			||||||
	depends on BUSYBOX_CONFIG_TAR
 | 
					 | 
				
			||||||
	help
 | 
					 | 
				
			||||||
	  If you enable this option tar will be able to call gzip,
 | 
					 | 
				
			||||||
	  when creating or extracting tar gziped archives.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_TAR_COMPRESS
 | 
					config BUSYBOX_CONFIG_FEATURE_TAR_COMPRESS
 | 
				
			||||||
	bool "Enable -Z option"
 | 
						bool "Enable -Z option"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
@@ -217,8 +215,24 @@ config BUSYBOX_CONFIG_FEATURE_TAR_COMPRESS
 | 
				
			|||||||
	  If you enable this option tar will be able to call uncompress,
 | 
						  If you enable this option tar will be able to call uncompress,
 | 
				
			||||||
	  when extracting .tar.Z archives.
 | 
						  when extracting .tar.Z archives.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_TAR_AUTODETECT
 | 
				
			||||||
 | 
						bool "Let tar autodetect gz/bz2 compresses tarballs"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_FEATURE_TAR_GZIP || BUSYBOX_CONFIG_FEATURE_TAR_BZIP2
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  With this option tar can automatically detect gzip/bzip2 compressed
 | 
				
			||||||
 | 
						  tarballs. Currently it works only on seekable streams.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_TAR_FROM
 | 
				
			||||||
 | 
						bool "Enable -X (exclude from) and -T (include from) options)"
 | 
				
			||||||
 | 
						default y
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_TAR
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  If you enable this option you'll be able to specify
 | 
				
			||||||
 | 
						  a list of files to include or exclude from an archive.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY
 | 
					config BUSYBOX_CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY
 | 
				
			||||||
	bool "Enable support for old tar header format"
 | 
						bool "Support for old tar header format"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_TAR
 | 
						depends on BUSYBOX_CONFIG_TAR
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -236,7 +250,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY
 | 
				
			|||||||
	  It is said to be fixed in newer Sun tar, but "old" tarballs still exist.
 | 
						  It is said to be fixed in newer Sun tar, but "old" tarballs still exist.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_TAR_GNU_EXTENSIONS
 | 
					config BUSYBOX_CONFIG_FEATURE_TAR_GNU_EXTENSIONS
 | 
				
			||||||
	bool "Enable support for some GNU tar extensions"
 | 
						bool "Support for GNU tar extensions (long filenames)"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_TAR
 | 
						depends on BUSYBOX_CONFIG_TAR
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -248,7 +262,16 @@ config BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
 | 
				
			|||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_GETOPT_LONG
 | 
						depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_GETOPT_LONG
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
		Enable use of long options, increases size by about 400 Bytes
 | 
						  Enable use of long options, increases size by about 400 Bytes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_TAR_UNAME_GNAME
 | 
				
			||||||
 | 
						bool "Enable use of user and group names"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_TAR
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Enables use of user and group names in tar. This affects contents
 | 
				
			||||||
 | 
						  listings (-t) and preserving permissions when unpacking (-p).
 | 
				
			||||||
 | 
						  +200 bytes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_UNCOMPRESS
 | 
					config BUSYBOX_CONFIG_UNCOMPRESS
 | 
				
			||||||
	bool "uncompress"
 | 
						bool "uncompress"
 | 
				
			||||||
@@ -273,7 +296,7 @@ config BUSYBOX_CONFIG_UNLZMA
 | 
				
			|||||||
	  should probably say N here.
 | 
						  should probably say N here.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
 | 
					config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
 | 
				
			||||||
	bool "Optimze unlzma for speed"
 | 
						bool "Optimize unlzma for speed"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_UNLZMA
 | 
						depends on BUSYBOX_CONFIG_UNLZMA
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -293,13 +316,6 @@ config BUSYBOX_CONFIG_UNZIP
 | 
				
			|||||||
comment "Common options for cpio and tar"
 | 
					comment "Common options for cpio and tar"
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_CPIO || BUSYBOX_CONFIG_TAR
 | 
						depends on BUSYBOX_CONFIG_CPIO || BUSYBOX_CONFIG_TAR
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_UNARCHIVE_TAPE
 | 
					 | 
				
			||||||
	bool "Enable tape drive support"
 | 
					 | 
				
			||||||
	default n
 | 
					 | 
				
			||||||
	depends on BUSYBOX_CONFIG_CPIO || BUSYBOX_CONFIG_TAR
 | 
					 | 
				
			||||||
	help
 | 
					 | 
				
			||||||
	  I don't think this is needed anymore.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
comment "Common options for dpkg and dpkg_deb"
 | 
					comment "Common options for dpkg and dpkg_deb"
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
 | 
						depends on BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -72,7 +72,7 @@ config BUSYBOX_CONFIG_RESIZE
 | 
				
			|||||||
	  terminal.
 | 
						  terminal.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_RESIZE_PRINT
 | 
					config BUSYBOX_CONFIG_FEATURE_RESIZE_PRINT
 | 
				
			||||||
	bool "print environment variables"
 | 
						bool "Print environment variables"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_RESIZE
 | 
						depends on BUSYBOX_CONFIG_RESIZE
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -135,6 +135,13 @@ config BUSYBOX_CONFIG_DF
 | 
				
			|||||||
	  df reports the amount of disk space used and available
 | 
						  df reports the amount of disk space used and available
 | 
				
			||||||
	  on filesystems.
 | 
						  on filesystems.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_DF_INODE
 | 
				
			||||||
 | 
						bool "Enable -i (inode information)"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_DF
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  This option enables support for df -i.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_DIRNAME
 | 
					config BUSYBOX_CONFIG_DIRNAME
 | 
				
			||||||
	bool "dirname"
 | 
						bool "dirname"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
@@ -481,6 +488,14 @@ config BUSYBOX_CONFIG_RMDIR
 | 
				
			|||||||
	help
 | 
						help
 | 
				
			||||||
	  rmdir is used to remove empty directories.
 | 
						  rmdir is used to remove empty directories.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_RMDIR_LONG_OPTIONS
 | 
				
			||||||
 | 
						bool "Enable long options"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_RMDIR && BUSYBOX_CONFIG_GETOPT_LONG
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Support long options for the rmdir applet, including
 | 
				
			||||||
 | 
						  --ignore-fail-on-non-empty for compatibility with GNU rmdir.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_SEQ
 | 
					config BUSYBOX_CONFIG_SEQ
 | 
				
			||||||
	bool "seq"
 | 
						bool "seq"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
@@ -513,7 +528,7 @@ config BUSYBOX_CONFIG_SORT
 | 
				
			|||||||
	  sort is used to sort lines of text in specified files.
 | 
						  sort is used to sort lines of text in specified files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_SORT_BIG
 | 
					config BUSYBOX_CONFIG_FEATURE_SORT_BIG
 | 
				
			||||||
	bool "full SuSv3 compliant sort (Support -ktcsbdfiozgM)"
 | 
						bool "Full SuSv3 compliant sort (support -ktcsbdfiozgM)"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_SORT
 | 
						depends on BUSYBOX_CONFIG_SORT
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -531,7 +546,7 @@ config BUSYBOX_CONFIG_SPLIT
 | 
				
			|||||||
	  split a file into pieces.
 | 
						  split a file into pieces.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_SPLIT_FANCY
 | 
					config BUSYBOX_CONFIG_FEATURE_SPLIT_FANCY
 | 
				
			||||||
	bool "fancy extensions"
 | 
						bool "Fancy extensions"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_SPLIT
 | 
						depends on BUSYBOX_CONFIG_SPLIT
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -572,6 +587,12 @@ config BUSYBOX_CONFIG_SYNC
 | 
				
			|||||||
	help
 | 
						help
 | 
				
			||||||
	  sync is used to flush filesystem buffers.
 | 
						  sync is used to flush filesystem buffers.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_TAC
 | 
				
			||||||
 | 
						bool "tac"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  tac is used to concatenate and print files in reverse.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_TAIL
 | 
					config BUSYBOX_CONFIG_TAIL
 | 
				
			||||||
	bool "tail"
 | 
						bool "tail"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
@@ -595,7 +616,7 @@ config BUSYBOX_CONFIG_TEE
 | 
				
			|||||||
	  to standard output and files.
 | 
						  to standard output and files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_TEE_USE_BLOCK_IO
 | 
					config BUSYBOX_CONFIG_FEATURE_TEE_USE_BLOCK_IO
 | 
				
			||||||
	bool "Enable block i/o (larger/faster) instead of byte i/o."
 | 
						bool "Enable block I/O (larger/faster) instead of byte I/O"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_TEE
 | 
						depends on BUSYBOX_CONFIG_TEE
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,13 +12,13 @@ config BUSYBOX_CONFIG_CHATTR
 | 
				
			|||||||
	  chattr changes the file attributes on a second extended file system.
 | 
						  chattr changes the file attributes on a second extended file system.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### config E2FSCK
 | 
					### config E2FSCK
 | 
				
			||||||
### 	bool "e2fsck"
 | 
					###	bool "e2fsck"
 | 
				
			||||||
### 	default n
 | 
					###	default n
 | 
				
			||||||
### 	help
 | 
					###	help
 | 
				
			||||||
### 	  e2fsck is used to check Linux second extended file systems (ext2fs).
 | 
					###	  e2fsck is used to check Linux second extended file systems (ext2fs).
 | 
				
			||||||
### 	  e2fsck also supports ext2 filesystems countaining a journal (ext3).
 | 
					###	  e2fsck also supports ext2 filesystems countaining a journal (ext3).
 | 
				
			||||||
### 	  The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
 | 
					###	  The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
 | 
				
			||||||
### 	  provided.
 | 
					###	  provided.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FSCK
 | 
					config BUSYBOX_CONFIG_FSCK
 | 
				
			||||||
	bool "fsck"
 | 
						bool "fsck"
 | 
				
			||||||
@@ -35,33 +35,34 @@ config BUSYBOX_CONFIG_LSATTR
 | 
				
			|||||||
	  lsattr lists the file attributes on a second extended file system.
 | 
						  lsattr lists the file attributes on a second extended file system.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### config MKE2FS
 | 
					### config MKE2FS
 | 
				
			||||||
### 	bool "mke2fs"
 | 
					###	bool "mke2fs"
 | 
				
			||||||
### 	default n
 | 
					###	default n
 | 
				
			||||||
### 	help
 | 
					###	help
 | 
				
			||||||
### 	  mke2fs is used to create an ext2/ext3 filesystem.  The normal compat
 | 
					###	  mke2fs is used to create an ext2/ext3 filesystem.  The normal compat
 | 
				
			||||||
### 	  symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
 | 
					###	  symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### config TUNE2FS
 | 
					### config TUNE2FS
 | 
				
			||||||
### 	bool "tune2fs"
 | 
					###	bool "tune2fs"
 | 
				
			||||||
### 	default n
 | 
					###	default n
 | 
				
			||||||
### 	help
 | 
					###	help
 | 
				
			||||||
### 	  tune2fs allows the system administrator to adjust various tunable
 | 
					###	  tune2fs allows the system administrator to adjust various tunable
 | 
				
			||||||
### 	  filesystem parameters on Linux ext2/ext3 filesystems.
 | 
					###	  filesystem parameters on Linux ext2/ext3 filesystems.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### config E2LABEL
 | 
					### config E2LABEL
 | 
				
			||||||
### 	bool "e2label"
 | 
					###	bool "e2label"
 | 
				
			||||||
### 	default n
 | 
					###	default n
 | 
				
			||||||
### 	depends on TUNE2FS
 | 
					###	depends on TUNE2FS
 | 
				
			||||||
### 	help
 | 
					###	help
 | 
				
			||||||
### 	  e2label will display or change the filesystem label on the ext2
 | 
					###	  e2label will display or change the filesystem label on the ext2
 | 
				
			||||||
### 	  filesystem located on device.
 | 
					###	  filesystem located on device.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### NB: this one is now provided by util-linux/volume_id/*
 | 
				
			||||||
### config FINDFS
 | 
					### config FINDFS
 | 
				
			||||||
### 	bool "findfs"
 | 
					###	bool "findfs"
 | 
				
			||||||
### 	default n
 | 
					###	default n
 | 
				
			||||||
### 	depends on TUNE2FS
 | 
					###	depends on TUNE2FS
 | 
				
			||||||
### 	help
 | 
					###	help
 | 
				
			||||||
### 	  findfs will search the disks in the system looking for a filesystem
 | 
					###	  findfs will search the disks in the system looking for a filesystem
 | 
				
			||||||
### 	  which has a label matching label or a UUID equal to uuid.
 | 
					###	  which has a label matching label or a UUID equal to uuid.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
endmenu
 | 
					endmenu
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -97,14 +97,23 @@ config BUSYBOX_CONFIG_VI
 | 
				
			|||||||
	  you may wish to use something else.
 | 
						  you may wish to use something else.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_VI_MAX_LEN
 | 
					config BUSYBOX_CONFIG_FEATURE_VI_MAX_LEN
 | 
				
			||||||
	int "Maximum line length in vi"
 | 
						int "Maximum screen width in vi"
 | 
				
			||||||
	range 256 16384
 | 
						range 256 16384
 | 
				
			||||||
	default 1024
 | 
						default 1024
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_VI
 | 
						depends on BUSYBOX_CONFIG_VI
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  vi uses on-stack buffers for intermediate line buffers.
 | 
						  Contrary to what you may think, this is not eating much.
 | 
				
			||||||
	  You may want to decrease this parameter if your target machine
 | 
						  Make it smaller than 4k only if you are very limited on memory.
 | 
				
			||||||
	  benefits from smaller stack usage.
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_VI_8BIT
 | 
				
			||||||
 | 
						bool "Allow vi to display 8-bit chars (otherwise shows dots)"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_VI
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  If your terminal can display characters with high bit set,
 | 
				
			||||||
 | 
						  you may want to enable this. Note: vi is not Unicode-capable.
 | 
				
			||||||
 | 
						  If your terminal combines several 8-bit bytes into one character
 | 
				
			||||||
 | 
						  (as in Unicode mode), this will not work properly.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_VI_COLON
 | 
					config BUSYBOX_CONFIG_FEATURE_VI_COLON
 | 
				
			||||||
	bool "Enable \":\" colon commands (no \"ex\" mode)"
 | 
						bool "Enable \":\" colon commands (no \"ex\" mode)"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,7 +22,7 @@ config BUSYBOX_CONFIG_FEATURE_FIND_PRINT0
 | 
				
			|||||||
	  interpreted by other programs.
 | 
						  interpreted by other programs.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_FIND_MTIME
 | 
					config BUSYBOX_CONFIG_FEATURE_FIND_MTIME
 | 
				
			||||||
	bool "Enable modified time matching (-mtime) option"
 | 
						bool "Enable modified time matching (-mtime option)"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_FIND
 | 
						depends on BUSYBOX_CONFIG_FIND
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -30,7 +30,7 @@ config BUSYBOX_CONFIG_FEATURE_FIND_MTIME
 | 
				
			|||||||
	  files, in days.
 | 
						  files, in days.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_FIND_MMIN
 | 
					config BUSYBOX_CONFIG_FEATURE_FIND_MMIN
 | 
				
			||||||
	bool "Enable modified time matching (-mmin) option"
 | 
						bool "Enable modified time matching (-mmin option)"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_FIND
 | 
						depends on BUSYBOX_CONFIG_FIND
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -38,14 +38,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_MMIN
 | 
				
			|||||||
	  files, in minutes.
 | 
						  files, in minutes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_FIND_PERM
 | 
					config BUSYBOX_CONFIG_FEATURE_FIND_PERM
 | 
				
			||||||
	bool "Enable permissions matching (-perm) option"
 | 
						bool "Enable permissions matching (-perm option)"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_FIND
 | 
						depends on BUSYBOX_CONFIG_FIND
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  Enable searching based on file permissions.
 | 
						  Enable searching based on file permissions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_FIND_TYPE
 | 
					config BUSYBOX_CONFIG_FEATURE_FIND_TYPE
 | 
				
			||||||
	bool "Enable filetype matching (-type) option"
 | 
						bool "Enable filetype matching (-type option)"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_FIND
 | 
						depends on BUSYBOX_CONFIG_FIND
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -53,7 +53,7 @@ config BUSYBOX_CONFIG_FEATURE_FIND_TYPE
 | 
				
			|||||||
	  directory, socket, device, etc.).
 | 
						  directory, socket, device, etc.).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_FIND_XDEV
 | 
					config BUSYBOX_CONFIG_FEATURE_FIND_XDEV
 | 
				
			||||||
	bool "Enable stay in filesystem (-xdev) option"
 | 
						bool "Enable 'stay in filesystem' option (-xdev)"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_FIND
 | 
						depends on BUSYBOX_CONFIG_FIND
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -75,14 +75,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_NEWER
 | 
				
			|||||||
	  a modified time that is more recent than the specified FILE.
 | 
						  a modified time that is more recent than the specified FILE.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_FIND_INUM
 | 
					config BUSYBOX_CONFIG_FEATURE_FIND_INUM
 | 
				
			||||||
	bool "Enable inode number matching (-inum) option"
 | 
						bool "Enable inode number matching (-inum option)"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_FIND
 | 
						depends on BUSYBOX_CONFIG_FIND
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  Support the 'find -inum' option for searching by inode number.
 | 
						  Support the 'find -inum' option for searching by inode number.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_FIND_EXEC
 | 
					config BUSYBOX_CONFIG_FEATURE_FIND_EXEC
 | 
				
			||||||
	bool "Enable (-exec) option allowing execution of commands"
 | 
						bool "Enable -exec option allowing execution of commands"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_FIND
 | 
						depends on BUSYBOX_CONFIG_FIND
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -90,14 +90,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_EXEC
 | 
				
			|||||||
	  the files matched.
 | 
						  the files matched.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_FIND_USER
 | 
					config BUSYBOX_CONFIG_FEATURE_FIND_USER
 | 
				
			||||||
	bool "Enable username/uid matching (-user) option"
 | 
						bool "Enable username/uid matching (-user option)"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_FIND
 | 
						depends on BUSYBOX_CONFIG_FIND
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  Support the 'find -user' option for searching by username or uid.
 | 
						  Support the 'find -user' option for searching by username or uid.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_FIND_GROUP
 | 
					config BUSYBOX_CONFIG_FEATURE_FIND_GROUP
 | 
				
			||||||
	bool "Enable group/gid matching (-group) option"
 | 
						bool "Enable group/gid matching (-group option)"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_FIND
 | 
						depends on BUSYBOX_CONFIG_FIND
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -127,14 +127,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_PAREN
 | 
				
			|||||||
	  Enable usage of parens '(' to specify logical order of arguments.
 | 
						  Enable usage of parens '(' to specify logical order of arguments.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_FIND_SIZE
 | 
					config BUSYBOX_CONFIG_FEATURE_FIND_SIZE
 | 
				
			||||||
	bool "Enable (-size) option allowing matching for file size"
 | 
						bool "Enable -size option allowing matching for file size"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_FIND
 | 
						depends on BUSYBOX_CONFIG_FIND
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  Support the 'find -size' option for searching by file size.
 | 
						  Support the 'find -size' option for searching by file size.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_FIND_PRUNE
 | 
					config BUSYBOX_CONFIG_FEATURE_FIND_PRUNE
 | 
				
			||||||
	bool "Enable (-prune) option allowing to exclude subdirectories"
 | 
						bool "Enable -prune option allowing to exclude subdirectories"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_FIND
 | 
						depends on BUSYBOX_CONFIG_FIND
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -165,7 +165,7 @@ config BUSYBOX_CONFIG_FEATURE_FIND_REGEX
 | 
				
			|||||||
	  The -regex option matches whole pathname against regular expression.
 | 
						  The -regex option matches whole pathname against regular expression.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_FIND_CONTEXT
 | 
					config BUSYBOX_CONFIG_FEATURE_FIND_CONTEXT
 | 
				
			||||||
	bool "Enable (-context) option for matching security context"
 | 
						bool "Enable -context option for matching security context"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_FIND && BUSYBOX_CONFIG_SELINUX
 | 
						depends on BUSYBOX_CONFIG_FIND && BUSYBOX_CONFIG_SELINUX
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,7 +13,7 @@ config BUSYBOX_CONFIG_INIT
 | 
				
			|||||||
	  init is the first program run when the system boots.
 | 
						  init is the first program run when the system boots.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_DEBUG_INIT
 | 
					config BUSYBOX_CONFIG_DEBUG_INIT
 | 
				
			||||||
	bool "debugging aid"
 | 
						bool "Debugging aid"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_INIT
 | 
						depends on BUSYBOX_CONFIG_INIT
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -27,16 +27,39 @@ config BUSYBOX_CONFIG_FEATURE_USE_INITTAB
 | 
				
			|||||||
	help
 | 
						help
 | 
				
			||||||
	  Allow init to read an inittab file when the system boot.
 | 
						  Allow init to read an inittab file when the system boot.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_KILL_REMOVED
 | 
				
			||||||
 | 
						bool "Support killing processes that have been removed from inittab"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_FEATURE_USE_INITTAB
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  When respawn entries are removed from inittab and a SIGHUP is
 | 
				
			||||||
 | 
						  sent to init, this feature will kill the processes that have
 | 
				
			||||||
 | 
						  been removed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_KILL_DELAY
 | 
				
			||||||
 | 
						int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED
 | 
				
			||||||
 | 
						range 0 1024
 | 
				
			||||||
 | 
						default 0
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  With nonzero setting, init sends TERM, forks, child waits N
 | 
				
			||||||
 | 
						  seconds, sends KILL and exits. Setting it too high is unwise
 | 
				
			||||||
 | 
						  (child will hang around for too long and can actually kill
 | 
				
			||||||
 | 
						  wrong process!)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_INIT_SCTTY
 | 
					config BUSYBOX_CONFIG_FEATURE_INIT_SCTTY
 | 
				
			||||||
	bool "Support running commands with a controlling-tty"
 | 
						bool "Run commands with leading dash with controlling tty"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_INIT
 | 
						depends on BUSYBOX_CONFIG_INIT
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  If this option is enabled a command starting with hyphen (-)
 | 
						  If this option is enabled, init will try to give a controlling
 | 
				
			||||||
	  is run in its own session (setsid(2)) and possibly with a
 | 
						  tty to any command which has leading hyphen (often it's "-/bin/sh").
 | 
				
			||||||
	  controlling tty (TIOCSCTTY).  This is not the traditional init
 | 
						  More precisely, init will do "ioctl(STDIN_FILENO, TIOCSCTTY, 0)".
 | 
				
			||||||
	  behavour, but is often what you want in an embedded system where
 | 
						  If device attached to STDIN_FILENO can be a ctty but is not yet
 | 
				
			||||||
	  the console is only accessed during development or for maintenance.
 | 
						  a ctty for other session, it will become this process' ctty.
 | 
				
			||||||
 | 
						  This is not the traditional init behavour, but is often what you want
 | 
				
			||||||
 | 
						  in an embedded system where the console is only accessed during
 | 
				
			||||||
 | 
						  development or for maintenance.
 | 
				
			||||||
 | 
						  NB: using cttyhack applet may work better.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_INIT_SYSLOG
 | 
					config BUSYBOX_CONFIG_FEATURE_INIT_SYSLOG
 | 
				
			||||||
	bool "Enable init to write to syslog"
 | 
						bool "Enable init to write to syslog"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,7 +13,7 @@ config BUSYBOX_CONFIG_PASSWORD_MINLEN
 | 
				
			|||||||
	  Minimum allowable password length.
 | 
						  Minimum allowable password length.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_MD5_SIZE_VS_SPEED
 | 
					config BUSYBOX_CONFIG_MD5_SIZE_VS_SPEED
 | 
				
			||||||
	int " MD5: Trade Bytes for Speed"
 | 
						int "MD5: Trade Bytes for Speed"
 | 
				
			||||||
	default 2
 | 
						default 2
 | 
				
			||||||
	range 0 3
 | 
						range 0 3
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -57,14 +57,6 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_MAX_LEN
 | 
				
			|||||||
	  You may want to decrease this parameter if your target machine
 | 
						  You may want to decrease this parameter if your target machine
 | 
				
			||||||
	  benefits from smaller stack usage.
 | 
						  benefits from smaller stack usage.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_EDITING_FANCY_KEYS
 | 
					 | 
				
			||||||
	bool "Additional editing keys"
 | 
					 | 
				
			||||||
	default y
 | 
					 | 
				
			||||||
	depends on BUSYBOX_CONFIG_FEATURE_EDITING
 | 
					 | 
				
			||||||
	help
 | 
					 | 
				
			||||||
	  Enable additonal editing keys (Ctrl-E, Ctrl-U etc).
 | 
					 | 
				
			||||||
	  Arrow keys, Home/End/Delete and Ctrl-W work even without this option.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_EDITING_VI
 | 
					config BUSYBOX_CONFIG_FEATURE_EDITING_VI
 | 
				
			||||||
	bool "vi-style line editing commands"
 | 
						bool "vi-style line editing commands"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
@@ -110,6 +102,31 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_FANCY_PROMPT
 | 
				
			|||||||
	  Setting this option allows for prompts to use things like \w and
 | 
						  Setting this option allows for prompts to use things like \w and
 | 
				
			||||||
	  \$ and escape codes.
 | 
						  \$ and escape codes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE
 | 
				
			||||||
 | 
						bool "Give more precise messages when copy fails (cp, mv etc)"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Error messages with this feature enabled:
 | 
				
			||||||
 | 
						    $ cp file /does_not_exist/file
 | 
				
			||||||
 | 
						    cp: cannot create '/does_not_exist/file': Path does not exist
 | 
				
			||||||
 | 
						    $ cp file /vmlinuz/file
 | 
				
			||||||
 | 
						    cp: cannot stat '/vmlinuz/file': Path has non-directory component
 | 
				
			||||||
 | 
						  If this feature is not enabled, they will be, respectively:
 | 
				
			||||||
 | 
						    cp: cannot remove '/does_not_exist/file': No such file or directory
 | 
				
			||||||
 | 
						    cp: cannot stat '/vmlinuz/file': Not a directory
 | 
				
			||||||
 | 
						  respectively.
 | 
				
			||||||
 | 
						  This will cost you ~60 bytes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB
 | 
				
			||||||
 | 
						int "Copy buffer size, in kilobytes"
 | 
				
			||||||
 | 
						range 1 1024
 | 
				
			||||||
 | 
						default 4
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Size of buffer used by cp, mv, install etc.
 | 
				
			||||||
 | 
						  Buffers which are 4 kb or less will be allocated on stack.
 | 
				
			||||||
 | 
						  Bigger buffers will be allocated with mmap, with fallback to 4 kb
 | 
				
			||||||
 | 
						  stack buffer if mmap fails.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_MONOTONIC_SYSCALL
 | 
					config BUSYBOX_CONFIG_MONOTONIC_SYSCALL
 | 
				
			||||||
	bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
 | 
						bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
@@ -127,4 +144,11 @@ config BUSYBOX_CONFIG_IOCTL_HEX2STR_ERROR
 | 
				
			|||||||
	  Use ioctl names rather than hex values in error messages
 | 
						  Use ioctl names rather than hex values in error messages
 | 
				
			||||||
	  (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
 | 
						  (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
 | 
				
			||||||
	  saves about 1400 bytes.
 | 
						  saves about 1400 bytes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_HWIB
 | 
				
			||||||
 | 
						bool "Support infiniband HW"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Support for printing infiniband addresses in
 | 
				
			||||||
 | 
						  network applets.
 | 
				
			||||||
endmenu
 | 
					endmenu
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,45 +13,71 @@ config BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
 | 
				
			|||||||
	  readable by root and thus the encrypted passwords are no longer
 | 
						  readable by root and thus the encrypted passwords are no longer
 | 
				
			||||||
	  publicly readable.
 | 
						  publicly readable.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_USE_BB_SHADOW
 | 
					 | 
				
			||||||
	bool "  Use busybox shadow password functions"
 | 
					 | 
				
			||||||
	default n
 | 
					 | 
				
			||||||
	depends on BUSYBOX_CONFIG_USE_BB_PWD_GRP && BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
 | 
					 | 
				
			||||||
	help
 | 
					 | 
				
			||||||
	    If you leave this disabled, busybox will use the system's shadow
 | 
					 | 
				
			||||||
	    password handling functions.  And if you are using the GNU C library
 | 
					 | 
				
			||||||
	    (glibc), you will then need to install the /etc/nsswitch.conf
 | 
					 | 
				
			||||||
	    configuration file and the required /lib/libnss_* libraries in
 | 
					 | 
				
			||||||
	    order for the shadow password functions to work.  This generally
 | 
					 | 
				
			||||||
	    makes your embedded system quite a bit larger.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	    Enabling this option will cause busybox to directly access the
 | 
					 | 
				
			||||||
	    system's /etc/shadow file when handling shadow passwords.  This
 | 
					 | 
				
			||||||
	    makes your system smaller and I will get fewer emails asking about
 | 
					 | 
				
			||||||
	    how glibc NSS works).  When this option is enabled, you will not be
 | 
					 | 
				
			||||||
	    able to use PAM to access shadow passwords from remote LDAP
 | 
					 | 
				
			||||||
	    password servers and whatnot.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
config BUSYBOX_CONFIG_USE_BB_PWD_GRP
 | 
					config BUSYBOX_CONFIG_USE_BB_PWD_GRP
 | 
				
			||||||
	bool "Use internal password and group functions rather than system functions"
 | 
						bool "Use internal password and group functions rather than system functions"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	    If you leave this disabled, busybox will use the system's password
 | 
						  If you leave this disabled, busybox will use the system's password
 | 
				
			||||||
	    and group functions.  And if you are using the GNU C library
 | 
						  and group functions.  And if you are using the GNU C library
 | 
				
			||||||
	    (glibc), you will then need to install the /etc/nsswitch.conf
 | 
						  (glibc), you will then need to install the /etc/nsswitch.conf
 | 
				
			||||||
	    configuration file and the required /lib/libnss_* libraries in
 | 
						  configuration file and the required /lib/libnss_* libraries in
 | 
				
			||||||
	    order for the password and group functions to work.  This generally
 | 
						  order for the password and group functions to work.  This generally
 | 
				
			||||||
	    makes your embedded system quite a bit larger.
 | 
						  makes your embedded system quite a bit larger.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	    Enabling this option will cause busybox to directly access the
 | 
						  Enabling this option will cause busybox to directly access the
 | 
				
			||||||
	    system's /etc/password, /etc/group files (and your system will be
 | 
						  system's /etc/password, /etc/group files (and your system will be
 | 
				
			||||||
	    smaller, and I will get fewer emails asking about how glibc NSS
 | 
						  smaller, and I will get fewer emails asking about how glibc NSS
 | 
				
			||||||
	    works).  When this option is enabled, you will not be able to use
 | 
						  works).  When this option is enabled, you will not be able to use
 | 
				
			||||||
	    PAM to access remote LDAP password servers and whatnot.  And if you
 | 
						  PAM to access remote LDAP password servers and whatnot.  And if you
 | 
				
			||||||
	    want hostname resolution to work with glibc, you still need the
 | 
						  want hostname resolution to work with glibc, you still need the
 | 
				
			||||||
	    /lib/libnss_* libraries.
 | 
						  /lib/libnss_* libraries.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	    If you enable this option, it will add about 1.5k to busybox.
 | 
						  If you need to use glibc's nsswitch.conf mechanism
 | 
				
			||||||
 | 
						  (e.g. if user/group database is NOT stored in /etc/passwd etc),
 | 
				
			||||||
 | 
						  you must NOT use this option.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  If you enable this option, it will add about 1.5k.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_USE_BB_SHADOW
 | 
				
			||||||
 | 
						bool "Use internal shadow password functions"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_USE_BB_PWD_GRP && BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  If you leave this disabled, busybox will use the system's shadow
 | 
				
			||||||
 | 
						  password handling functions.  And if you are using the GNU C library
 | 
				
			||||||
 | 
						  (glibc), you will then need to install the /etc/nsswitch.conf
 | 
				
			||||||
 | 
						  configuration file and the required /lib/libnss_* libraries in
 | 
				
			||||||
 | 
						  order for the shadow password functions to work.  This generally
 | 
				
			||||||
 | 
						  makes your embedded system quite a bit larger.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  Enabling this option will cause busybox to directly access the
 | 
				
			||||||
 | 
						  system's /etc/shadow file when handling shadow passwords.  This
 | 
				
			||||||
 | 
						  makes your system smaller (and I will get fewer emails asking about
 | 
				
			||||||
 | 
						  how glibc NSS works).  When this option is enabled, you will not be
 | 
				
			||||||
 | 
						  able to use PAM to access shadow passwords from remote LDAP
 | 
				
			||||||
 | 
						  password servers and whatnot.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_USE_BB_CRYPT
 | 
				
			||||||
 | 
						bool "Use internal DES and MD5 crypt functions"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Busybox has internal DES and MD5 crypt functions.
 | 
				
			||||||
 | 
						  They produce results which are identical to corresponding
 | 
				
			||||||
 | 
						  standard C library functions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  If you leave this disabled, busybox will use the system's
 | 
				
			||||||
 | 
						  crypt functions.  Most C libraries use large (~70k)
 | 
				
			||||||
 | 
						  static buffers there, and also combine them with more general
 | 
				
			||||||
 | 
						  DES encryption/decryption.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  For busybox, having large static buffers is undesirable,
 | 
				
			||||||
 | 
						  especially on NOMMU machines. Busybox also doesn't need
 | 
				
			||||||
 | 
						  DES encryption/decryption and can do with smaller code.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  If you enable this option, it will add about 4.8k of code
 | 
				
			||||||
 | 
						  if you are building dynamically linked executable.
 | 
				
			||||||
 | 
						  In static build, it makes code _smaller_ by about 1.2k,
 | 
				
			||||||
 | 
						  and likely many kilobytes less of bss.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_ADDGROUP
 | 
					config BUSYBOX_CONFIG_ADDGROUP
 | 
				
			||||||
	bool "addgroup"
 | 
						bool "addgroup"
 | 
				
			||||||
@@ -82,12 +108,31 @@ config BUSYBOX_CONFIG_FEATURE_DEL_USER_FROM_GROUP
 | 
				
			|||||||
	  If called with two non-option arguments, deluser
 | 
						  If called with two non-option arguments, deluser
 | 
				
			||||||
	  or delgroup will remove an user from a specified group.
 | 
						  or delgroup will remove an user from a specified group.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_CHECK_NAMES
 | 
				
			||||||
 | 
						bool "Enable sanity check on user/group names in adduser and addgroup"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Enable sanity check on user and group names in adduser and addgroup.
 | 
				
			||||||
 | 
						  To avoid problems, the user or group name should consist only of
 | 
				
			||||||
 | 
						  letters, digits, underscores, periods, at signs and dashes,
 | 
				
			||||||
 | 
						  and not start with a dash (as defined by IEEE Std 1003.1-2001).
 | 
				
			||||||
 | 
						  For compatibility with Samba machine accounts "$" is also supported
 | 
				
			||||||
 | 
						  at the end of the user or group name.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_ADDUSER
 | 
					config BUSYBOX_CONFIG_ADDUSER
 | 
				
			||||||
	bool "adduser"
 | 
						bool "adduser"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  Utility for creating a new user account.
 | 
						  Utility for creating a new user account.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_ADDUSER_LONG_OPTIONS
 | 
				
			||||||
 | 
						bool "Enable long options"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_ADDUSER && BUSYBOX_CONFIG_GETOPT_LONG
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Support long options for the adduser applet.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_DELUSER
 | 
					config BUSYBOX_CONFIG_DELUSER
 | 
				
			||||||
	bool "deluser"
 | 
						bool "deluser"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
@@ -236,4 +281,3 @@ config BUSYBOX_CONFIG_VLOCK
 | 
				
			|||||||
	  work properly.
 | 
						  work properly.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
endmenu
 | 
					endmenu
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,6 +19,73 @@ config BUSYBOX_CONFIG_BBCONFIG
 | 
				
			|||||||
	  The bbconfig applet will print the config file with which
 | 
						  The bbconfig applet will print the config file with which
 | 
				
			||||||
	  busybox was built.
 | 
						  busybox was built.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_CHAT
 | 
				
			||||||
 | 
						bool "chat"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Simple chat utility.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_CHAT_NOFAIL
 | 
				
			||||||
 | 
						bool "Enable NOFAIL expect strings"
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_CHAT
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  When enabled expect strings which are started with a dash trigger
 | 
				
			||||||
 | 
						  no-fail mode. That is when expectation is not met within timeout
 | 
				
			||||||
 | 
						  the script is not terminated but sends next SEND string and waits
 | 
				
			||||||
 | 
						  for next EXPECT string. This allows to compose far more flexible
 | 
				
			||||||
 | 
						  scripts.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_CHAT_TTY_HIFI
 | 
				
			||||||
 | 
						bool "Force STDIN to be a TTY"
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_CHAT
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Original chat always treats STDIN as a TTY device and sets for it
 | 
				
			||||||
 | 
						  so-called raw mode. This option turns on such behaviour.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_CHAT_IMPLICIT_CR
 | 
				
			||||||
 | 
						bool "Enable implicit Carriage Return"
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_CHAT
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  When enabled make chat to terminate all SEND strings with a "\r"
 | 
				
			||||||
 | 
						  unless "\c" is met anywhere in the string.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_CHAT_SWALLOW_OPTS
 | 
				
			||||||
 | 
						bool "Swallow options"
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_CHAT
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Busybox chat require no options. To make it not fail when used
 | 
				
			||||||
 | 
						  in place of original chat (which has a bunch of options) turn
 | 
				
			||||||
 | 
						  this on.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_CHAT_SEND_ESCAPES
 | 
				
			||||||
 | 
						bool "Support weird SEND escapes"
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_CHAT
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Original chat uses some escape sequences in SEND arguments which
 | 
				
			||||||
 | 
						  are not sent to device but rather performs special actions.
 | 
				
			||||||
 | 
						  E.g. "\K" means to send a break sequence to device.
 | 
				
			||||||
 | 
						  "\d" delays execution for a second, "\p" -- for a 1/100 of second.
 | 
				
			||||||
 | 
						  Before turning this option on think twice: do you really need them?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_CHAT_VAR_ABORT_LEN
 | 
				
			||||||
 | 
						bool "Support variable-length ABORT conditions"
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_CHAT
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Original chat uses fixed 50-bytes length ABORT conditions. Say N here.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_CHAT_CLR_ABORT
 | 
				
			||||||
 | 
						bool "Support revoking of ABORT conditions"
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_CHAT
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Support CLR_ABORT directive.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_CHRT
 | 
					config BUSYBOX_CONFIG_CHRT
 | 
				
			||||||
	bool "chrt"
 | 
						bool "chrt"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
@@ -39,15 +106,13 @@ config BUSYBOX_CONFIG_CROND
 | 
				
			|||||||
	      $ cat /var/spool/cron/crontabs/root
 | 
						      $ cat /var/spool/cron/crontabs/root
 | 
				
			||||||
	      # Run daily cron jobs at 4:40 every day:
 | 
						      # Run daily cron jobs at 4:40 every day:
 | 
				
			||||||
	      40 4 * * * /etc/cron/daily > /dev/null 2>&1
 | 
						      40 4 * * * /etc/cron/daily > /dev/null 2>&1
 | 
				
			||||||
	  Note that Busybox binary must be setuid root for this applet to
 | 
					 | 
				
			||||||
	  work properly.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_DEBUG_CROND_OPTION
 | 
					config BUSYBOX_CONFIG_DEBUG_CROND_OPTION
 | 
				
			||||||
	bool "Support debug option -d"
 | 
						bool "Support option -d to redirect output to stderr"
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_CROND
 | 
						depends on BUSYBOX_CONFIG_CROND
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  Support option -d to enter debug mode.
 | 
						  -d sets loglevel to 0 (most verbose) and directs all output to stderr.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
 | 
					config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
 | 
				
			||||||
	bool "Using /usr/sbin/sendmail?"
 | 
						bool "Using /usr/sbin/sendmail?"
 | 
				
			||||||
@@ -63,6 +128,8 @@ config BUSYBOX_CONFIG_CRONTAB
 | 
				
			|||||||
	help
 | 
						help
 | 
				
			||||||
	  Crontab manipulates the crontab for a particular user.  Only
 | 
						  Crontab manipulates the crontab for a particular user.  Only
 | 
				
			||||||
	  the superuser may specify a different user and/or crontab directory.
 | 
						  the superuser may specify a different user and/or crontab directory.
 | 
				
			||||||
 | 
						  Note that Busybox binary must be setuid root for this applet to
 | 
				
			||||||
 | 
						  work properly.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_DC
 | 
					config BUSYBOX_CONFIG_DC
 | 
				
			||||||
	bool "dc"
 | 
						bool "dc"
 | 
				
			||||||
@@ -111,7 +178,7 @@ config BUSYBOX_CONFIG_DEVFSD_VERBOSE
 | 
				
			|||||||
	  Increases logging to stderr or syslog.
 | 
						  Increases logging to stderr or syslog.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_DEVFS
 | 
					config BUSYBOX_CONFIG_FEATURE_DEVFS
 | 
				
			||||||
	bool "  Use devfs names for all devices (obsolete)"
 | 
						bool "Use devfs names for all devices (obsolete)"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  This is obsolete and will be going away at the end of 2008..
 | 
						  This is obsolete and will be going away at the end of 2008..
 | 
				
			||||||
@@ -126,6 +193,41 @@ config BUSYBOX_CONFIG_EJECT
 | 
				
			|||||||
	help
 | 
						help
 | 
				
			||||||
	  Used to eject cdroms.  (defaults to /dev/cdrom)
 | 
						  Used to eject cdroms.  (defaults to /dev/cdrom)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_EJECT_SCSI
 | 
				
			||||||
 | 
						bool "SCSI support"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_EJECT
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Add the -s option to eject, this allows to eject SCSI-Devices and
 | 
				
			||||||
 | 
						  usb-storage devices.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FBSPLASH
 | 
				
			||||||
 | 
						bool "fbsplash"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Shows splash image and progress bar on framebuffer device.
 | 
				
			||||||
 | 
						  Can be used during boot phase of an embedded device. ~2kb.
 | 
				
			||||||
 | 
						  Usage:
 | 
				
			||||||
 | 
						  - use kernel option 'vga=xxx' or otherwise enable fb device.
 | 
				
			||||||
 | 
						  - put somewhere fbsplash.cfg file and an image in .ppm format.
 | 
				
			||||||
 | 
						  - $ setsid fbsplash [params] &
 | 
				
			||||||
 | 
						    -c: hide cursor
 | 
				
			||||||
 | 
						    -d /dev/fbN: framebuffer device (if not /dev/fb0)
 | 
				
			||||||
 | 
						    -s path_to_image_file (can be "-" for stdin)
 | 
				
			||||||
 | 
						    -i path_to_cfg_file (can be "-" for stdin)
 | 
				
			||||||
 | 
						    -f path_to_fifo (can be "-" for stdin)
 | 
				
			||||||
 | 
						  - if you want to run it only in presence of kernel parameter:
 | 
				
			||||||
 | 
						    grep -q "fbsplash=on" </proc/cmdline && setsid fbsplash [params] &
 | 
				
			||||||
 | 
						  - commands for fifo:
 | 
				
			||||||
 | 
						    "NN" (ASCII decimal number) - percentage to show on progress bar
 | 
				
			||||||
 | 
						    "exit" - well you guessed it
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_INOTIFYD
 | 
				
			||||||
 | 
						bool "inotifyd"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Simple inotify daemon. Reports filesystem changes. Requires kernel >= 2.6.13
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_LAST
 | 
					config BUSYBOX_CONFIG_LAST
 | 
				
			||||||
	bool "last"
 | 
						bool "last"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
@@ -133,6 +235,24 @@ config BUSYBOX_CONFIG_LAST
 | 
				
			|||||||
	help
 | 
						help
 | 
				
			||||||
	  'last' displays a list of the last users that logged into the system.
 | 
						  'last' displays a list of the last users that logged into the system.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					choice
 | 
				
			||||||
 | 
						prompt "Choose last implementation"
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_LAST
 | 
				
			||||||
 | 
						default BUSYBOX_CONFIG_FEATURE_LAST_SMALL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_LAST_SMALL
 | 
				
			||||||
 | 
						bool "small"
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  This is a small version of last with just the basic set of
 | 
				
			||||||
 | 
						  features.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_LAST_FANCY
 | 
				
			||||||
 | 
						bool "huge"
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  'last' displays detailed information about the last users that
 | 
				
			||||||
 | 
						  logged into the system (mimics sysvinit last). +900 bytes.
 | 
				
			||||||
 | 
					endchoice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_LESS
 | 
					config BUSYBOX_CONFIG_LESS
 | 
				
			||||||
	bool "less"
 | 
						bool "less"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
@@ -282,6 +402,12 @@ config BUSYBOX_CONFIG_FEATURE_MAKEDEVS_TABLE
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
endchoice
 | 
					endchoice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_MAN
 | 
				
			||||||
 | 
						bool "man"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Format and display manual pages.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_MICROCOM
 | 
					config BUSYBOX_CONFIG_MICROCOM
 | 
				
			||||||
	bool "microcom"
 | 
						bool "microcom"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
@@ -320,7 +446,7 @@ config BUSYBOX_CONFIG_READAHEAD
 | 
				
			|||||||
	  This applet just calls the readahead(2) system call on each file.
 | 
						  This applet just calls the readahead(2) system call on each file.
 | 
				
			||||||
	  It is mainly useful in system startup scripts to preload files
 | 
						  It is mainly useful in system startup scripts to preload files
 | 
				
			||||||
	  or executables before they are used.  When used at the right time
 | 
						  or executables before they are used.  When used at the right time
 | 
				
			||||||
	  (in particular when a CPU boundprocess is running) it can
 | 
						  (in particular when a CPU bound process is running) it can
 | 
				
			||||||
	  significantly speed up system startup.
 | 
						  significantly speed up system startup.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	  As readahead(2) blocks until each file has been read, it is best to
 | 
						  As readahead(2) blocks until each file has been read, it is best to
 | 
				
			||||||
@@ -341,6 +467,12 @@ config BUSYBOX_CONFIG_RX
 | 
				
			|||||||
	help
 | 
						help
 | 
				
			||||||
	  Receive files using the Xmodem protocol.
 | 
						  Receive files using the Xmodem protocol.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_SETSID
 | 
				
			||||||
 | 
						bool "setsid"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  setsid runs a program in a new session
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_STRINGS
 | 
					config BUSYBOX_CONFIG_STRINGS
 | 
				
			||||||
	bool "strings"
 | 
						bool "strings"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
@@ -348,12 +480,6 @@ config BUSYBOX_CONFIG_STRINGS
 | 
				
			|||||||
	  strings prints the printable character sequences for each file
 | 
						  strings prints the printable character sequences for each file
 | 
				
			||||||
	  specified.
 | 
						  specified.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_SETSID
 | 
					 | 
				
			||||||
	bool "setsid"
 | 
					 | 
				
			||||||
	default n
 | 
					 | 
				
			||||||
	help
 | 
					 | 
				
			||||||
	  setsid runs a program in a new session
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
config BUSYBOX_CONFIG_TASKSET
 | 
					config BUSYBOX_CONFIG_TASKSET
 | 
				
			||||||
	bool "taskset"
 | 
						bool "taskset"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
@@ -362,7 +488,7 @@ config BUSYBOX_CONFIG_TASKSET
 | 
				
			|||||||
	  This requires sched_{g,s}etaffinity support in your libc.
 | 
						  This requires sched_{g,s}etaffinity support in your libc.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY
 | 
					config BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY
 | 
				
			||||||
	bool "fancy output"
 | 
						bool "Fancy output"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_TASKSET
 | 
						depends on BUSYBOX_CONFIG_TASKSET
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -398,4 +524,3 @@ config BUSYBOX_CONFIG_WATCHDOG
 | 
				
			|||||||
	  hung, and will cause the hardware to reboot.
 | 
						  hung, and will cause the hardware to reboot.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
endmenu
 | 
					endmenu
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,6 +5,36 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
menu "Linux Module Utilities"
 | 
					menu "Linux Module Utilities"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_DEPMOD
 | 
				
			||||||
 | 
						bool "depmod"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  depmod generates modules.dep (FIXME: elaborate)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_DEPMOD_PRUNE_FANCY
 | 
				
			||||||
 | 
						bool "fancy dependency pruning"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_DEPMOD
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  By default modules.dep contains all dependencies as listed by
 | 
				
			||||||
 | 
						  the modules.
 | 
				
			||||||
 | 
						  If you enable this option then we remove implied modules from
 | 
				
			||||||
 | 
						  the dependencies.
 | 
				
			||||||
 | 
						  This makes depmod somewhat bigger but generates a smaller
 | 
				
			||||||
 | 
						  modules.dep file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  If unsure, say N.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_DEPMOD_ALIAS
 | 
				
			||||||
 | 
						bool "alias support"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_DEPMOD
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  By default modules.dep does not contain alias information.
 | 
				
			||||||
 | 
						  Enable this to emit aliases of the form:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						    alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_INSMOD
 | 
					config BUSYBOX_CONFIG_INSMOD
 | 
				
			||||||
	bool "insmod"
 | 
						bool "insmod"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
@@ -73,7 +103,7 @@ config BUSYBOX_CONFIG_LSMOD
 | 
				
			|||||||
	  lsmod is used to display a list of loaded modules.
 | 
						  lsmod is used to display a list of loaded modules.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
 | 
					config BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
 | 
				
			||||||
	bool "lsmod pretty output for 2.6.x Linux kernels "
 | 
						bool "Pretty output for 2.6.x Linux kernels"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_LSMOD
 | 
						depends on BUSYBOX_CONFIG_LSMOD
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -92,7 +122,7 @@ config BUSYBOX_CONFIG_MODPROBE
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS
 | 
					config BUSYBOX_CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS
 | 
				
			||||||
	bool
 | 
						bool
 | 
				
			||||||
	prompt "Multiple options parsing" if BUSYBOX_CONFIG_NITPICK
 | 
						prompt "Multiple options parsing"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_MODPROBE
 | 
						depends on BUSYBOX_CONFIG_MODPROBE
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -109,7 +139,7 @@ config BUSYBOX_CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_MODPROBE_FANCY_ALIAS
 | 
					config BUSYBOX_CONFIG_FEATURE_MODPROBE_FANCY_ALIAS
 | 
				
			||||||
	bool
 | 
						bool
 | 
				
			||||||
	prompt "Fancy alias parsing" if BUSYBOX_CONFIG_NITPICK
 | 
						prompt "Fancy alias parsing"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_MODPROBE && BUSYBOX_CONFIG_FEATURE_2_6_MODULES
 | 
						depends on BUSYBOX_CONFIG_MODPROBE && BUSYBOX_CONFIG_FEATURE_2_6_MODULES
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -117,8 +147,20 @@ config BUSYBOX_CONFIG_FEATURE_MODPROBE_FANCY_ALIAS
 | 
				
			|||||||
	  mismatch between module name and file name, along with bus-specific
 | 
						  mismatch between module name and file name, along with bus-specific
 | 
				
			||||||
	  aliases (such as pci:... or usb:... aliases).
 | 
						  aliases (such as pci:... or usb:... aliases).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_MODPROBE_BLACKLIST
 | 
				
			||||||
 | 
						bool
 | 
				
			||||||
 | 
						prompt "Blacklist support"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_MODPROBE && BUSYBOX_CONFIG_FEATURE_2_6_MODULES
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Say 'y' here to enable support for the 'blacklist' command in
 | 
				
			||||||
 | 
						  modprobe.conf. This prevents the alias resolver to resolve
 | 
				
			||||||
 | 
						  blacklisted modules. This is useful if you want to prevent your
 | 
				
			||||||
 | 
						  hardware autodetection scripts to load modules like evdev, frame
 | 
				
			||||||
 | 
						  buffer drivers etc.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
comment "Options common to multiple modutils"
 | 
					comment "Options common to multiple modutils"
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_LSMOD
 | 
						depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_LSMOD || BUSYBOX_CONFIG_DEPMOD
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
 | 
					config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
 | 
				
			||||||
	# Simulate indentation
 | 
						# Simulate indentation
 | 
				
			||||||
@@ -139,6 +181,9 @@ config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
 | 
				
			|||||||
	help
 | 
						help
 | 
				
			||||||
	  Support module loading for 2.2.x and 2.4.x Linux kernels.
 | 
						  Support module loading for 2.2.x and 2.4.x Linux kernels.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  Note:
 | 
				
			||||||
 | 
						  This is automatically enabled if 2.6 modules are not enabled.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_2_6_MODULES
 | 
					config BUSYBOX_CONFIG_FEATURE_2_6_MODULES
 | 
				
			||||||
	# Simulate indentation
 | 
						# Simulate indentation
 | 
				
			||||||
	bool "Support version 2.6.x Linux kernels"
 | 
						bool "Support version 2.6.x Linux kernels"
 | 
				
			||||||
@@ -147,12 +192,27 @@ config BUSYBOX_CONFIG_FEATURE_2_6_MODULES
 | 
				
			|||||||
	help
 | 
						help
 | 
				
			||||||
	  Support module loading for newer 2.6.x Linux kernels.
 | 
						  Support module loading for newer 2.6.x Linux kernels.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_DEFAULT_MODULES_DIR
 | 
				
			||||||
 | 
						# Simulate indentation
 | 
				
			||||||
 | 
						string "Default directory containing modules"
 | 
				
			||||||
 | 
						default "/lib/modules"
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_DEPMOD
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Directory that contains kernel modules.
 | 
				
			||||||
 | 
						  Defaults to "/lib/modules"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_DEFAULT_DEPMOD_FILE
 | 
				
			||||||
 | 
						# Simulate indentation
 | 
				
			||||||
 | 
						string "Default name of modules.dep"
 | 
				
			||||||
 | 
						default "modules.dep"
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_DEPMOD
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Filename that contains kernel modules dependencies.
 | 
				
			||||||
 | 
						  Defaults to "modules.dep"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_QUERY_MODULE_INTERFACE
 | 
					config BUSYBOX_CONFIG_FEATURE_QUERY_MODULE_INTERFACE
 | 
				
			||||||
	bool
 | 
						bool
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && !BUSYBOX_CONFIG_FEATURE_2_6_MODULES
 | 
						depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && !BUSYBOX_CONFIG_FEATURE_2_6_MODULES
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
endmenu
 | 
					endmenu
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,6 +12,21 @@ config BUSYBOX_CONFIG_FEATURE_IPV6
 | 
				
			|||||||
	  Enable IPv6 support in busybox.
 | 
						  Enable IPv6 support in busybox.
 | 
				
			||||||
	  This adds IPv6 support in the networking applets.
 | 
						  This adds IPv6 support in the networking applets.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_PREFER_IPV4_ADDRESS
 | 
				
			||||||
 | 
						bool "Preferentially use IPv4 addresses from DNS queries"
 | 
				
			||||||
 | 
						default y
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_FEATURE_IPV6
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Use IPv4 address of network host if it has one.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  If this option is off, the first returned address will be used.
 | 
				
			||||||
 | 
						  This may cause problems when your DNS server is IPv6-capable and
 | 
				
			||||||
 | 
						  is returning IPv6 host addresses too. If IPv6 address
 | 
				
			||||||
 | 
						  precedes IPv4 one in DNS reply, busybox network applets
 | 
				
			||||||
 | 
						  (e.g. wget) will use IPv6 address. On an IPv6-incapable host
 | 
				
			||||||
 | 
						  or network applets will fail to connect to the host
 | 
				
			||||||
 | 
						  using IPv6 address.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_VERBOSE_RESOLUTION_ERRORS
 | 
					config BUSYBOX_CONFIG_VERBOSE_RESOLUTION_ERRORS
 | 
				
			||||||
	bool "Verbose resolution errors"
 | 
						bool "Verbose resolution errors"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
@@ -32,6 +47,32 @@ config BUSYBOX_CONFIG_ARPING
 | 
				
			|||||||
	help
 | 
						help
 | 
				
			||||||
	  Ping hosts by ARP packets.
 | 
						  Ping hosts by ARP packets.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_BRCTL
 | 
				
			||||||
 | 
						bool "brctl"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Manage ethernet bridges.
 | 
				
			||||||
 | 
						  Supports addbr/delbr and addif/delif.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_BRCTL_FANCY
 | 
				
			||||||
 | 
						bool "Fancy options"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_BRCTL
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Add support for extended option like:
 | 
				
			||||||
 | 
						    setageing, setfd, sethello, setmaxage,
 | 
				
			||||||
 | 
						    setpathcost, setportprio, setbridgeprio,
 | 
				
			||||||
 | 
						    stp
 | 
				
			||||||
 | 
						  This adds about 600 bytes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_BRCTL_SHOW
 | 
				
			||||||
 | 
						bool "Support show, showmac and showstp"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_BRCTL && BUSYBOX_CONFIG_FEATURE_BRCTL_FANCY
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Add support for option which prints the current config:
 | 
				
			||||||
 | 
						    showmacs, showstp, show
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_DNSD
 | 
					config BUSYBOX_CONFIG_DNSD
 | 
				
			||||||
	bool "dnsd"
 | 
						bool "dnsd"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
@@ -101,7 +142,7 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_USE_SENDFILE
 | 
				
			|||||||
	  instead of read/write loop.
 | 
						  instead of read/write loop.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
 | 
					config BUSYBOX_CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
 | 
				
			||||||
	bool "Support reloading the global config file using hup signal"
 | 
						bool "Support reloading of global config file on HUP signal"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_HTTPD
 | 
						depends on BUSYBOX_CONFIG_HTTPD
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -151,7 +192,7 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
 | 
				
			|||||||
	  when specific URLs are requested.
 | 
						  when specific URLs are requested.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
 | 
					config BUSYBOX_CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
 | 
				
			||||||
	bool "Enable support for running scripts through an interpreter"
 | 
						bool "Support for running scripts through an interpreter"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
 | 
						depends on BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -162,7 +203,7 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
 | 
				
			|||||||
	  *.php:/path/to/your/php
 | 
						  *.php:/path/to/your/php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
 | 
					config BUSYBOX_CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
 | 
				
			||||||
	bool "Support the REMOTE_PORT environment variable for CGI"
 | 
						bool "Set REMOTE_PORT environment variable for CGI"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
 | 
						depends on BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -170,17 +211,17 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
 | 
				
			|||||||
	  references that contain a unique port number.
 | 
						  references that contain a unique port number.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_HTTPD_ENCODE_URL_STR
 | 
					config BUSYBOX_CONFIG_FEATURE_HTTPD_ENCODE_URL_STR
 | 
				
			||||||
	bool "Enable the -e option for shell script CGI simplification."
 | 
						bool "Enable -e option (useful for CGIs written as shell scripts)"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_HTTPD
 | 
						depends on BUSYBOX_CONFIG_HTTPD
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  This option allows html encoding arbitrary
 | 
						  This option allows html encoding of arbitrary strings for display
 | 
				
			||||||
	  strings for display of the browser.  Output goes to stdout.
 | 
						  by the browser.  Output goes to stdout.
 | 
				
			||||||
	  For example, httpd -e "<Hello World>" as
 | 
						  For example, httpd -e "<Hello World>" produces
 | 
				
			||||||
	  "<Hello World>".
 | 
						  "<Hello World>".
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_HTTPD_ERROR_PAGES
 | 
					config BUSYBOX_CONFIG_FEATURE_HTTPD_ERROR_PAGES
 | 
				
			||||||
	bool "Enable support for custom error pages"
 | 
						bool "Support for custom error pages"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_HTTPD
 | 
						depends on BUSYBOX_CONFIG_HTTPD
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -193,7 +234,7 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_ERROR_PAGES
 | 
				
			|||||||
	  message.
 | 
						  message.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_HTTPD_PROXY
 | 
					config BUSYBOX_CONFIG_FEATURE_HTTPD_PROXY
 | 
				
			||||||
	bool "Enable support for reverse proxy"
 | 
						bool "Support for reverse proxy"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_HTTPD
 | 
						depends on BUSYBOX_CONFIG_HTTPD
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -251,6 +292,13 @@ config BUSYBOX_CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS
 | 
				
			|||||||
	  Setting this will make ifconfig attempt to find the broadcast
 | 
						  Setting this will make ifconfig attempt to find the broadcast
 | 
				
			||||||
	  automatically if the value '+' is used.
 | 
						  automatically if the value '+' is used.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_IFENSLAVE
 | 
				
			||||||
 | 
						bool "ifenslave"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Userspace application to bind several interfaces
 | 
				
			||||||
 | 
						  to a logical interface (use with kernel bonding driver).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_IFUPDOWN
 | 
					config BUSYBOX_CONFIG_IFUPDOWN
 | 
				
			||||||
	bool "ifupdown"
 | 
						bool "ifupdown"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
@@ -315,14 +363,14 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
 | 
				
			|||||||
	  work.
 | 
						  work.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV4
 | 
					config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV4
 | 
				
			||||||
	bool "Enable support for IPv4"
 | 
						bool "Support for IPv4"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_IFUPDOWN
 | 
						depends on BUSYBOX_CONFIG_IFUPDOWN
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  If you want ifup/ifdown to talk IPv4, leave this on.
 | 
						  If you want ifup/ifdown to talk IPv4, leave this on.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV6
 | 
					config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV6
 | 
				
			||||||
	bool "Enable support for IPv6"
 | 
						bool "Support for IPv6"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_FEATURE_IPV6
 | 
						depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_FEATURE_IPV6
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -330,7 +378,7 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV6
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
### UNUSED
 | 
					### UNUSED
 | 
				
			||||||
###config FEATURE_IFUPDOWN_IPX
 | 
					###config FEATURE_IFUPDOWN_IPX
 | 
				
			||||||
###	bool "Enable support for IPX"
 | 
					###	bool "Support for IPX"
 | 
				
			||||||
###	default n
 | 
					###	default n
 | 
				
			||||||
###	depends on IFUPDOWN
 | 
					###	depends on IFUPDOWN
 | 
				
			||||||
###	help
 | 
					###	help
 | 
				
			||||||
@@ -346,7 +394,7 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_MAPPING
 | 
				
			|||||||
	  a weird network setup you don't need it.
 | 
						  a weird network setup you don't need it.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP
 | 
					config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP
 | 
				
			||||||
	bool "Enable support for external dhcp clients"
 | 
						bool "Support for external dhcp clients"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_IFUPDOWN
 | 
						depends on BUSYBOX_CONFIG_IFUPDOWN
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -449,7 +497,7 @@ config BUSYBOX_CONFIG_FEATURE_IP_RULE
 | 
				
			|||||||
	  Add support for rule commands to "ip".
 | 
						  Add support for rule commands to "ip".
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS
 | 
					config BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS
 | 
				
			||||||
	bool "Support short forms of ip commands."
 | 
						bool "Support short forms of ip commands"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_IP
 | 
						depends on BUSYBOX_CONFIG_IP
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -528,12 +576,25 @@ config BUSYBOX_CONFIG_NAMEIF
 | 
				
			|||||||
	  Renamed interfaces MUST be in the down state.
 | 
						  Renamed interfaces MUST be in the down state.
 | 
				
			||||||
	  It is possible to use a file (default: /etc/mactab)
 | 
						  It is possible to use a file (default: /etc/mactab)
 | 
				
			||||||
	  with list of new interface names and MACs.
 | 
						  with list of new interface names and MACs.
 | 
				
			||||||
	  Maximum interface name length: IF_NAMESIZE = 16
 | 
						  Maximum interface name length: IFNAMSIZ = 16
 | 
				
			||||||
	  File fields are separated by space or tab.
 | 
						  File fields are separated by space or tab.
 | 
				
			||||||
	  File format:
 | 
						  File format:
 | 
				
			||||||
	  # Comment
 | 
						  # Comment
 | 
				
			||||||
	  new_interface_name    XX:XX:XX:XX:XX:XX
 | 
						  new_interface_name    XX:XX:XX:XX:XX:XX
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_NAMEIF_EXTENDED
 | 
				
			||||||
 | 
						bool "Extended nameif"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_NAMEIF
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  This extends the nameif syntax to support the bus_info and driver
 | 
				
			||||||
 | 
						  checks. The syntax is compatible to the normal nameif.
 | 
				
			||||||
 | 
						  File format:
 | 
				
			||||||
 | 
						    new_interface_name  driver=asix bus=usb-0000:00:08.2-3
 | 
				
			||||||
 | 
						    new_interface_name  bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5
 | 
				
			||||||
 | 
						    new_interface_name  mac=00:80:C8:38:91:B5
 | 
				
			||||||
 | 
						    new_interface_name  00:80:C8:38:91:B5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_NC
 | 
					config BUSYBOX_CONFIG_NC
 | 
				
			||||||
	bool "nc"
 | 
						bool "nc"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
@@ -570,7 +631,7 @@ config BUSYBOX_CONFIG_NETSTAT
 | 
				
			|||||||
	  netstat prints information about the Linux networking subsystem.
 | 
						  netstat prints information about the Linux networking subsystem.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_NETSTAT_WIDE
 | 
					config BUSYBOX_CONFIG_FEATURE_NETSTAT_WIDE
 | 
				
			||||||
	bool "  Enable wide netstat output"
 | 
						bool "Enable wide netstat output"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_NETSTAT
 | 
						depends on BUSYBOX_CONFIG_NETSTAT
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -597,12 +658,6 @@ config BUSYBOX_CONFIG_PING6
 | 
				
			|||||||
	help
 | 
						help
 | 
				
			||||||
	  This will give you a ping that can talk IPv6.
 | 
						  This will give you a ping that can talk IPv6.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_PSCAN
 | 
					 | 
				
			||||||
	bool "pscan"
 | 
					 | 
				
			||||||
	default n
 | 
					 | 
				
			||||||
	help
 | 
					 | 
				
			||||||
	  Simple network port scanner.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_FANCY_PING
 | 
					config BUSYBOX_CONFIG_FEATURE_FANCY_PING
 | 
				
			||||||
	bool "Enable fancy ping output"
 | 
						bool "Enable fancy ping output"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
@@ -611,12 +666,30 @@ config BUSYBOX_CONFIG_FEATURE_FANCY_PING
 | 
				
			|||||||
	  Make the output from the ping applet include statistics, and at the
 | 
						  Make the output from the ping applet include statistics, and at the
 | 
				
			||||||
	  same time provide full support for ICMP packets.
 | 
						  same time provide full support for ICMP packets.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_PSCAN
 | 
				
			||||||
 | 
						bool "pscan"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Simple network port scanner.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_ROUTE
 | 
					config BUSYBOX_CONFIG_ROUTE
 | 
				
			||||||
	bool "route"
 | 
						bool "route"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  Route displays or manipulates the kernel's IP routing tables.
 | 
						  Route displays or manipulates the kernel's IP routing tables.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_SENDMAIL
 | 
				
			||||||
 | 
						bool "sendmail"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Barebones sendmail.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FETCHMAIL
 | 
				
			||||||
 | 
						bool "fetchmail"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Barebones fetchmail.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_SLATTACH
 | 
					config BUSYBOX_CONFIG_SLATTACH
 | 
				
			||||||
	bool "slattach"
 | 
						bool "slattach"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
@@ -707,28 +780,41 @@ config BUSYBOX_CONFIG_TFTP
 | 
				
			|||||||
	  is usually used for simple, small transfers such as a root image
 | 
						  is usually used for simple, small transfers such as a root image
 | 
				
			||||||
	  for a network-enabled bootloader.
 | 
						  for a network-enabled bootloader.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_TFTPD
 | 
				
			||||||
 | 
						bool "tftpd"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  This enables the Trivial File Transfer Protocol server program.
 | 
				
			||||||
 | 
						  It expects that stdin is a datagram socket and a packet
 | 
				
			||||||
 | 
						  is already pending on it. It will exit after one transfer.
 | 
				
			||||||
 | 
						  In other words: it should be run from inetd in nowait mode,
 | 
				
			||||||
 | 
						  or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_TFTP_GET
 | 
					config BUSYBOX_CONFIG_FEATURE_TFTP_GET
 | 
				
			||||||
	bool "Enable \"get\" command"
 | 
						bool "Enable \"get\" command"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_TFTP
 | 
						depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  Add support for the GET command within the TFTP client.  This allows
 | 
						  Add support for the GET command within the TFTP client.  This allows
 | 
				
			||||||
	  a client to retrieve a file from a TFTP server.
 | 
						  a client to retrieve a file from a TFTP server.
 | 
				
			||||||
 | 
						  Also enable upload support in tftpd, if tftpd is selected.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_TFTP_PUT
 | 
					config BUSYBOX_CONFIG_FEATURE_TFTP_PUT
 | 
				
			||||||
	bool "Enable \"put\" command"
 | 
						bool "Enable \"put\" command"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_TFTP
 | 
						depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  Add support for the PUT command within the TFTP client.  This allows
 | 
						  Add support for the PUT command within the TFTP client.  This allows
 | 
				
			||||||
	  a client to transfer a file to a TFTP server.
 | 
						  a client to transfer a file to a TFTP server.
 | 
				
			||||||
 | 
						  Also enable download support in tftpd, if tftpd is selected.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE
 | 
					config BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE
 | 
				
			||||||
	bool "Enable \"blocksize\" command"
 | 
						bool "Enable \"blksize\" protocol option"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_TFTP
 | 
						depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  Allow the client to specify the desired block size for transfers.
 | 
						  Allow tftp to specify block size, and tftpd to understand
 | 
				
			||||||
 | 
						  "blksize" option.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_DEBUG_TFTP
 | 
					config BUSYBOX_CONFIG_DEBUG_TFTP
 | 
				
			||||||
	bool "Enable debug"
 | 
						bool "Enable debug"
 | 
				
			||||||
@@ -816,4 +902,16 @@ config BUSYBOX_CONFIG_ZCIP
 | 
				
			|||||||
	  See http://www.zeroconf.org for further details, and "zcip.script"
 | 
						  See http://www.zeroconf.org for further details, and "zcip.script"
 | 
				
			||||||
	  in the busybox examples.
 | 
						  in the busybox examples.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_TCPSVD
 | 
				
			||||||
 | 
						bool "tcpsvd"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  tcpsvd listens on a TCP port and runs a program for each new connection
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_UDPSVD
 | 
				
			||||||
 | 
						bool "udpsvd"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  udpsvd listens on an UDP port and runs a program for each new connection
 | 
				
			||||||
 | 
					
 | 
				
			||||||
endmenu
 | 
					endmenu
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,14 +4,12 @@
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_APP_UDHCPD
 | 
					config BUSYBOX_CONFIG_APP_UDHCPD
 | 
				
			||||||
	bool "udhcp Server (udhcpd)"
 | 
						bool "udhcp server (udhcpd)"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  uDHCPd is a DHCP server geared primarily toward embedded systems,
 | 
						  udhcpd is a DHCP server geared primarily toward embedded systems,
 | 
				
			||||||
	  while striving to be fully functional and RFC compliant.
 | 
						  while striving to be fully functional and RFC compliant.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	  See http://udhcp.busybox.net for further details.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
config BUSYBOX_CONFIG_APP_DHCPRELAY
 | 
					config BUSYBOX_CONFIG_APP_DHCPRELAY
 | 
				
			||||||
	bool "dhcprelay"
 | 
						bool "dhcprelay"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
@@ -30,40 +28,58 @@ config BUSYBOX_CONFIG_APP_DUMPLEASES
 | 
				
			|||||||
	  Lease times are stored in the file by time remaining in lease, or
 | 
						  Lease times are stored in the file by time remaining in lease, or
 | 
				
			||||||
	  by the absolute time that it expires in seconds from epoch.
 | 
						  by the absolute time that it expires in seconds from epoch.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	  See http://udhcp.busybox.net for further details.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY
 | 
					config BUSYBOX_CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY
 | 
				
			||||||
	bool "Rewrite the lease file at every new acknowledge"
 | 
						bool "Rewrite the lease file at every new acknowledge"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_APP_UDHCPD
 | 
						depends on BUSYBOX_CONFIG_APP_UDHCPD
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  If selected, udhcpd will write a new file with leases every
 | 
						  If selected, udhcpd will write a new file with leases every
 | 
				
			||||||
	  time a new lease has been accepted, thus eleminating the need
 | 
						  time a new lease has been accepted, thus eliminating the need
 | 
				
			||||||
	  to send SIGUSR1 for the initial writing, or updating. Any timed
 | 
						  to send SIGUSR1 for the initial writing or updating. Any timed
 | 
				
			||||||
	  rewriting remains undisturbed
 | 
						  rewriting remains undisturbed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_DHCPD_LEASES_FILE
 | 
				
			||||||
 | 
						string "Absolute path to lease file"
 | 
				
			||||||
 | 
						default "/var/run/udhcpd.leases"
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_APP_UDHCPD
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  udhcpd stores addresses in a lease file. This is the absolute path
 | 
				
			||||||
 | 
						  of the file. Normally it is safe to leave it untouched.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_APP_UDHCPC
 | 
					config BUSYBOX_CONFIG_APP_UDHCPC
 | 
				
			||||||
	bool "udhcp Client (udhcpc)"
 | 
						bool "udhcp client (udhcpc)"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  uDHCPc is a DHCP client geared primarily toward embedded systems,
 | 
						  udhcpc is a DHCP client geared primarily toward embedded systems,
 | 
				
			||||||
	  while striving to be fully functional and RFC compliant.
 | 
						  while striving to be fully functional and RFC compliant.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	  The udhcp client negotiates a lease with the DHCP server and
 | 
						  The udhcp client negotiates a lease with the DHCP server and
 | 
				
			||||||
	  notifies a set of scripts when a lease is obtained or lost.
 | 
						  runs a script when a lease is obtained or lost.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	  See http://udhcp.busybox.net for further details.
 | 
					config BUSYBOX_CONFIG_FEATURE_UDHCPC_ARPING
 | 
				
			||||||
 | 
						bool "Verify that the offered address is free, using ARP ping"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_APP_UDHCPC
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  If selected, udhcpc will send ARP probes and make sure
 | 
				
			||||||
 | 
						  the offered address is really not in use by anyone. The client
 | 
				
			||||||
 | 
						  will DHCPDECLINE the offer if the address is in use,
 | 
				
			||||||
 | 
						  and restart the discover process.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_UDHCP_PORT
 | 
				
			||||||
 | 
						bool "Enable '-P port' option for udhcpd and udhcpc"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  At the cost of ~300 bytes, enables -P port option.
 | 
				
			||||||
 | 
						  This feature is typically not needed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_UDHCP_DEBUG
 | 
					config BUSYBOX_CONFIG_FEATURE_UDHCP_DEBUG
 | 
				
			||||||
	bool "Compile udhcp with noisy debugging messages"
 | 
						bool "Compile udhcp with noisy debugging messages"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC
 | 
						depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  If selected, udhcpd will output extra debugging output.  If using
 | 
						  If selected, udhcpd will output extra debugging output.
 | 
				
			||||||
	  this option, compile uDHCP with "-g", and do not fork the daemon to
 | 
					 | 
				
			||||||
	  the background.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	  See http://udhcp.busybox.net for further details.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_RFC3397
 | 
					config BUSYBOX_CONFIG_FEATURE_RFC3397
 | 
				
			||||||
	bool "Support for RFC3397 domain search (experimental)"
 | 
						bool "Support for RFC3397 domain search (experimental)"
 | 
				
			||||||
@@ -72,3 +88,35 @@ config BUSYBOX_CONFIG_FEATURE_RFC3397
 | 
				
			|||||||
	help
 | 
						help
 | 
				
			||||||
	  If selected, both client and server will support passing of domain
 | 
						  If selected, both client and server will support passing of domain
 | 
				
			||||||
	  search lists via option 119, specified in RFC3397.
 | 
						  search lists via option 119, specified in RFC3397.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_DHCPC_DEFAULT_SCRIPT
 | 
				
			||||||
 | 
						string "Absolute path to config script"
 | 
				
			||||||
 | 
						default "/usr/share/udhcpc/default.script"
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_APP_UDHCPC
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  This script is called after udhcpc receives an answer. See
 | 
				
			||||||
 | 
						  examples/udhcp for a working example. Normally it is safe
 | 
				
			||||||
 | 
						  to leave this untouched.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS
 | 
				
			||||||
 | 
						int "DHCP options slack buffer size"
 | 
				
			||||||
 | 
						default 80
 | 
				
			||||||
 | 
						range 0 924
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Some buggy DHCP servers send DHCP offer packets with option
 | 
				
			||||||
 | 
						  field larger than we expect (which might also be considered a
 | 
				
			||||||
 | 
						  buffer overflow attempt). These packets are normally discarded.
 | 
				
			||||||
 | 
						  If circumstances beyond your control force you to support such
 | 
				
			||||||
 | 
						  servers, this may help. The upper limit (924) makes dhcpc accept
 | 
				
			||||||
 | 
						  even 1500 byte packets (maximum-sized ethernet packets).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  This option does not make dhcp[cd] emit non-standard
 | 
				
			||||||
 | 
						  sized packets.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  Known buggy DHCP servers:
 | 
				
			||||||
 | 
						  3Com OfficeConnect Remote 812 ADSL Router:
 | 
				
			||||||
 | 
						    seems to confuse maximum allowed UDP packet size with
 | 
				
			||||||
 | 
						    maximum size of entire IP packet, and sends packets which are
 | 
				
			||||||
 | 
						    28 bytes too large.
 | 
				
			||||||
 | 
						  Seednet (ISP) VDSL: sends packets 2 bytes too large.
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										21
									
								
								package/busybox/config/printutils/Config.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								package/busybox/config/printutils/Config.in
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					menu "Print Utilities"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_LPD
 | 
				
			||||||
 | 
						bool "lpd"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  lpd is a print spooling daemon.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_LPR
 | 
				
			||||||
 | 
						bool "lpr"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  lpr sends files (or standard input) to a print spooling daemon.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_LPQ
 | 
				
			||||||
 | 
						bool "lpq"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  lpq is a print spool queue examination and manipulation program.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					endmenu
 | 
				
			||||||
@@ -99,6 +99,21 @@ config BUSYBOX_CONFIG_FEATURE_PS_WIDE
 | 
				
			|||||||
	  If given once, 132 chars are printed and given more than
 | 
						  If given once, 132 chars are printed and given more than
 | 
				
			||||||
	  one, the length is unlimited.
 | 
						  one, the length is unlimited.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_PS_TIME
 | 
				
			||||||
 | 
						bool "Enable time and elapsed time output"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Support -o time and -o etime output specifiers.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS
 | 
				
			||||||
 | 
						bool "Support Linux prior to 2.4.0 and non-ELF systems"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_FEATURE_PS_TIME
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Include support for measuring HZ on old kernels and non-ELF systems
 | 
				
			||||||
 | 
						  (if you are on Linux 2.4.0+ and use ELF, you don't need this)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_RENICE
 | 
					config BUSYBOX_CONFIG_RENICE
 | 
				
			||||||
	bool "renice"
 | 
						bool "renice"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -112,5 +112,12 @@ config BUSYBOX_CONFIG_SETSEBOOL
 | 
				
			|||||||
	  Enable support for change boolean.
 | 
						  Enable support for change boolean.
 | 
				
			||||||
	  semanage and -P option is not supported yet.
 | 
						  semanage and -P option is not supported yet.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_SESTATUS
 | 
				
			||||||
 | 
						bool "sestatus"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_SELINUX
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Displays the status of SELinux.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
endmenu
 | 
					endmenu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,9 +20,9 @@ config BUSYBOX_CONFIG_FEATURE_SH_IS_HUSH
 | 
				
			|||||||
	select BUSYBOX_CONFIG_HUSH
 | 
						select BUSYBOX_CONFIG_HUSH
 | 
				
			||||||
	bool "hush"
 | 
						bool "hush"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_SH_IS_LASH
 | 
					####config FEATURE_SH_IS_LASH
 | 
				
			||||||
	select BUSYBOX_CONFIG_LASH
 | 
					####	select LASH
 | 
				
			||||||
	bool "lash"
 | 
					####	bool "lash"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_SH_IS_MSH
 | 
					config BUSYBOX_CONFIG_FEATURE_SH_IS_MSH
 | 
				
			||||||
	select BUSYBOX_CONFIG_MSH
 | 
						select BUSYBOX_CONFIG_MSH
 | 
				
			||||||
@@ -36,7 +36,6 @@ endchoice
 | 
				
			|||||||
config BUSYBOX_CONFIG_ASH
 | 
					config BUSYBOX_CONFIG_ASH
 | 
				
			||||||
	bool "ash"
 | 
						bool "ash"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	select BUSYBOX_CONFIG_TEST
 | 
					 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  Tha 'ash' shell adds about 60k in the default configuration and is
 | 
						  Tha 'ash' shell adds about 60k in the default configuration and is
 | 
				
			||||||
	  the most complete and most pedantically correct shell included with
 | 
						  the most complete and most pedantically correct shell included with
 | 
				
			||||||
@@ -47,6 +46,13 @@ config BUSYBOX_CONFIG_ASH
 | 
				
			|||||||
comment "Ash Shell Options"
 | 
					comment "Ash Shell Options"
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_ASH
 | 
						depends on BUSYBOX_CONFIG_ASH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_ASH_BASH_COMPAT
 | 
				
			||||||
 | 
						bool "bash-compatible extensions"
 | 
				
			||||||
 | 
						default y
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_ASH
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Enable bash-conpatible extensions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_ASH_JOB_CONTROL
 | 
					config BUSYBOX_CONFIG_ASH_JOB_CONTROL
 | 
				
			||||||
	bool "Job control"
 | 
						bool "Job control"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
@@ -104,15 +110,20 @@ config BUSYBOX_CONFIG_ASH_GETOPTS
 | 
				
			|||||||
config BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
 | 
					config BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
 | 
				
			||||||
	bool "Builtin version of 'echo'"
 | 
						bool "Builtin version of 'echo'"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	select BUSYBOX_CONFIG_ECHO
 | 
					 | 
				
			||||||
	depends on BUSYBOX_CONFIG_ASH
 | 
						depends on BUSYBOX_CONFIG_ASH
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  Enable support for echo, builtin to ash.
 | 
						  Enable support for echo, builtin to ash.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_ASH_BUILTIN_PRINTF
 | 
				
			||||||
 | 
						bool "Builtin version of 'printf'"
 | 
				
			||||||
 | 
						default y
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_ASH
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Enable support for printf, builtin to ash.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_ASH_BUILTIN_TEST
 | 
					config BUSYBOX_CONFIG_ASH_BUILTIN_TEST
 | 
				
			||||||
	bool "Builtin version of 'test'"
 | 
						bool "Builtin version of 'test'"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	select BUSYBOX_CONFIG_TEST
 | 
					 | 
				
			||||||
	depends on BUSYBOX_CONFIG_ASH
 | 
						depends on BUSYBOX_CONFIG_ASH
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  Enable support for test, builtin to ash.
 | 
						  Enable support for test, builtin to ash.
 | 
				
			||||||
@@ -163,9 +174,6 @@ config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
 | 
				
			|||||||
config BUSYBOX_CONFIG_HUSH
 | 
					config BUSYBOX_CONFIG_HUSH
 | 
				
			||||||
	bool "hush"
 | 
						bool "hush"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	select BUSYBOX_CONFIG_TRUE
 | 
					 | 
				
			||||||
	select BUSYBOX_CONFIG_FALSE
 | 
					 | 
				
			||||||
	select BUSYBOX_CONFIG_TEST
 | 
					 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  hush is a very small shell (just 18k) and it has fairly complete
 | 
						  hush is a very small shell (just 18k) and it has fairly complete
 | 
				
			||||||
	  Bourne shell grammar.  It even handles all the normal flow control
 | 
						  Bourne shell grammar.  It even handles all the normal flow control
 | 
				
			||||||
@@ -228,24 +236,13 @@ config BUSYBOX_CONFIG_HUSH_LOOPS
 | 
				
			|||||||
config BUSYBOX_CONFIG_LASH
 | 
					config BUSYBOX_CONFIG_LASH
 | 
				
			||||||
	bool "lash"
 | 
						bool "lash"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	select BUSYBOX_CONFIG_TRUE
 | 
						select BUSYBOX_CONFIG_HUSH
 | 
				
			||||||
	select BUSYBOX_CONFIG_FALSE
 | 
					 | 
				
			||||||
	select BUSYBOX_CONFIG_TEST
 | 
					 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  lash is the very smallest shell (adds just 10k) and it is quite
 | 
						  lash is deprecated and will be removed, please migrate to hush.
 | 
				
			||||||
	  usable as a command prompt, but it is not suitable for any but the
 | 
					 | 
				
			||||||
	  most trivial scripting (such as an initrd that calls insmod a few
 | 
					 | 
				
			||||||
	  times) since it does not understand any Bourne shell grammar.  It
 | 
					 | 
				
			||||||
	  does handle pipes, redirects, and job control though.  Adding in
 | 
					 | 
				
			||||||
	  command editing makes it a very nice lightweight command prompt.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_MSH
 | 
					config BUSYBOX_CONFIG_MSH
 | 
				
			||||||
	bool "msh"
 | 
						bool "msh"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	select BUSYBOX_CONFIG_TRUE
 | 
					 | 
				
			||||||
	select BUSYBOX_CONFIG_FALSE
 | 
					 | 
				
			||||||
	select BUSYBOX_CONFIG_TEST
 | 
					 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  The minix shell (adds just 30k) is quite complete and handles things
 | 
						  The minix shell (adds just 30k) is quite complete and handles things
 | 
				
			||||||
	  like for/do/done, case/esac and all the things you expect a Bourne
 | 
						  like for/do/done, case/esac and all the things you expect a Bourne
 | 
				
			||||||
@@ -297,6 +294,23 @@ config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
 | 
				
			|||||||
#	  that exact location with that exact name, this option will not work at
 | 
					#	  that exact location with that exact name, this option will not work at
 | 
				
			||||||
#	  all.
 | 
					#	  all.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_SH_NOFORK
 | 
				
			||||||
 | 
						bool "Run 'nofork' applets directly"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on (BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH) && BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  This option causes busybox shells [currently only ash]
 | 
				
			||||||
 | 
						  to not execute typical fork/exec/wait sequence, but call <applet>_main
 | 
				
			||||||
 | 
						  directly, if possible. (Sometimes it is not possible: for example,
 | 
				
			||||||
 | 
						  this is not possible in pipes).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  This will be done only for some applets (those which are marked
 | 
				
			||||||
 | 
						  NOFORK in include/applets.h).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  This may significantly speed up some shell scripts.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  This feature is relatively new. Use with care.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_CTTYHACK
 | 
					config BUSYBOX_CONFIG_CTTYHACK
 | 
				
			||||||
	bool "cttyhack"
 | 
						bool "cttyhack"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -42,6 +42,14 @@ config BUSYBOX_CONFIG_FEATURE_REMOTE_LOG
 | 
				
			|||||||
	  measure to prevent system logs from being tampered with
 | 
						  measure to prevent system logs from being tampered with
 | 
				
			||||||
	  by an intruder.
 | 
						  by an intruder.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_SYSLOGD_DUP
 | 
				
			||||||
 | 
						bool "Support -D (drop dups) option"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_SYSLOGD
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Option -D instructs syslogd to drop consecutive messages
 | 
				
			||||||
 | 
						  which are totally the same.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
 | 
					config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
 | 
				
			||||||
	bool "Circular Buffer support"
 | 
						bool "Circular Buffer support"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
@@ -57,7 +65,7 @@ config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
 | 
				
			|||||||
	  break badly.
 | 
						  break badly.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE
 | 
					config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE
 | 
				
			||||||
	int "    Circular buffer size in Kbytes (minimum 4KB)"
 | 
						int "Circular buffer size in Kbytes (minimum 4KB)"
 | 
				
			||||||
	default 16
 | 
						default 16
 | 
				
			||||||
	range 4 2147483647
 | 
						range 4 2147483647
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
 | 
						depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
 | 
				
			||||||
@@ -76,7 +84,7 @@ config BUSYBOX_CONFIG_LOGREAD
 | 
				
			|||||||
	  stored in the syslogd circular buffer.
 | 
						  stored in the syslogd circular buffer.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING
 | 
					config BUSYBOX_CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING
 | 
				
			||||||
	bool "logread double buffering"
 | 
						bool "Double buffering"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_LOGREAD
 | 
						depends on BUSYBOX_CONFIG_LOGREAD
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,7 +18,7 @@ config BUSYBOX_CONFIG_DMESG
 | 
				
			|||||||
	  wish to enable the 'dmesg' utility.
 | 
						  wish to enable the 'dmesg' utility.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_DMESG_PRETTY
 | 
					config BUSYBOX_CONFIG_FEATURE_DMESG_PRETTY
 | 
				
			||||||
	bool "pretty dmesg output"
 | 
						bool "Pretty dmesg output"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_DMESG
 | 
						depends on BUSYBOX_CONFIG_DMESG
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -93,7 +93,7 @@ config BUSYBOX_CONFIG_FDISK
 | 
				
			|||||||
	  'disk slices' that are defined on a hard drive.
 | 
						  'disk slices' that are defined on a hard drive.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FDISK_SUPPORT_LARGE_DISKS
 | 
					config BUSYBOX_CONFIG_FDISK_SUPPORT_LARGE_DISKS
 | 
				
			||||||
	bool "support over 4GB disks"
 | 
						bool "Support over 4GB disks"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_FDISK
 | 
						depends on BUSYBOX_CONFIG_FDISK
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -150,6 +150,17 @@ config BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED
 | 
				
			|||||||
	  partition, and similarly evil things.  Unless you have a very good
 | 
						  partition, and similarly evil things.  Unless you have a very good
 | 
				
			||||||
	  reason you would be wise to leave this disabled.
 | 
						  reason you would be wise to leave this disabled.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FINDFS
 | 
				
			||||||
 | 
						bool "findfs"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						select BUSYBOX_CONFIG_VOLUMEID
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  This is similar to the findfs program that is part of the e2fsprogs
 | 
				
			||||||
 | 
						  package.  However, the e2fsprogs version only support ext2/3.  This
 | 
				
			||||||
 | 
						  version supports those in addition to FAT, swap, and ReiserFS.
 | 
				
			||||||
 | 
						  WARNING:
 | 
				
			||||||
 | 
						  With all submodules selected, it will add ~8k to busybox.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FREERAMDISK
 | 
					config BUSYBOX_CONFIG_FREERAMDISK
 | 
				
			||||||
	bool "freeramdisk"
 | 
						bool "freeramdisk"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
@@ -210,6 +221,23 @@ config BUSYBOX_CONFIG_HEXDUMP
 | 
				
			|||||||
	  The hexdump utility is used to display binary data in a readable
 | 
						  The hexdump utility is used to display binary data in a readable
 | 
				
			||||||
	  way that is comparable to the output from most hex editors.
 | 
						  way that is comparable to the output from most hex editors.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_HEXDUMP_REVERSE
 | 
				
			||||||
 | 
						bool "Support -R, reverse of 'hexdump -Cv'"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_HEXDUMP
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  The hexdump utility is used to display binary data in an ascii
 | 
				
			||||||
 | 
						  readable way. This option creates binary data from an ascii input.
 | 
				
			||||||
 | 
						  NB: this option is non-standard. It's unwise to use it in scripts
 | 
				
			||||||
 | 
						  aimed to be portable.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_HD
 | 
				
			||||||
 | 
						bool "hd"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						select BUSYBOX_CONFIG_HEXDUMP
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  hd is an alias to hexdump -C.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_HWCLOCK
 | 
					config BUSYBOX_CONFIG_HWCLOCK
 | 
				
			||||||
	bool "hwclock"
 | 
						bool "hwclock"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
@@ -284,6 +312,22 @@ config BUSYBOX_CONFIG_FEATURE_MDEV_CONF
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	  For more information, please see docs/mdev.txt
 | 
						  For more information, please see docs/mdev.txt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_MDEV_RENAME
 | 
				
			||||||
 | 
						bool "Support subdirs/symlinks"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_FEATURE_MDEV_CONF
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Add support for renaming devices and creating symlinks.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  For more information, please see docs/mdev.txt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_MDEV_RENAME_REGEXP
 | 
				
			||||||
 | 
						bool "Support regular expressions substitutions when renaming device"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_FEATURE_MDEV_RENAME
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Add support for regular expressions substitutions when renaming device.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_MDEV_EXEC
 | 
					config BUSYBOX_CONFIG_FEATURE_MDEV_EXEC
 | 
				
			||||||
	bool "Support command execution at device addition/removal"
 | 
						bool "Support command execution at device addition/removal"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
@@ -319,7 +363,7 @@ config BUSYBOX_CONFIG_MKSWAP
 | 
				
			|||||||
	  the swap space using the 'swapon' utility.
 | 
						  the swap space using the 'swapon' utility.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_MKSWAP_V0
 | 
					config BUSYBOX_CONFIG_FEATURE_MKSWAP_V0
 | 
				
			||||||
	bool "version 0 support"
 | 
						bool "Version 0 support"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_MKSWAP
 | 
						depends on BUSYBOX_CONFIG_MKSWAP
 | 
				
			||||||
#	depends on MKSWAP && BUSYBOX_CONFIG_DEPRECATED
 | 
					#	depends on MKSWAP && BUSYBOX_CONFIG_DEPRECATED
 | 
				
			||||||
@@ -341,7 +385,7 @@ config BUSYBOX_CONFIG_MORE
 | 
				
			|||||||
config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
 | 
					config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
 | 
				
			||||||
	bool "Use termios to manipulate the screen"
 | 
						bool "Use termios to manipulate the screen"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_MORE
 | 
						depends on BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TOP
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  This option allows utilities such as 'more' and 'top' to determine
 | 
						  This option allows utilities such as 'more' and 'top' to determine
 | 
				
			||||||
	  the size of the screen.  If you leave this disabled, your utilities
 | 
						  the size of the screen.  If you leave this disabled, your utilities
 | 
				
			||||||
@@ -349,6 +393,216 @@ config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
 | 
				
			|||||||
	  will be unable to determine the current screen size, and will be
 | 
						  will be unable to determine the current screen size, and will be
 | 
				
			||||||
	  unable to move the cursor.
 | 
						  unable to move the cursor.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_VOLUMEID
 | 
				
			||||||
 | 
						bool "Routines for detecting label and uuid on common filesystems"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXT
 | 
				
			||||||
 | 
						bool "Ext filesystem"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_VOLUMEID
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_VOLUMEID_REISERFS
 | 
				
			||||||
 | 
						bool "Reiser filesystem"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_VOLUMEID
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_VOLUMEID_FAT
 | 
				
			||||||
 | 
						bool "fat filesystem"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_VOLUMEID
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_VOLUMEID_HFS
 | 
				
			||||||
 | 
						bool "hfs filesystem"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_VOLUMEID
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_VOLUMEID_JFS
 | 
				
			||||||
 | 
						bool "jfs filesystem"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_VOLUMEID
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### config FEATURE_VOLUMEID_UFS
 | 
				
			||||||
 | 
					###	bool "ufs filesystem"
 | 
				
			||||||
 | 
					###	default n
 | 
				
			||||||
 | 
					###	depends on VOLUMEID
 | 
				
			||||||
 | 
					###	help
 | 
				
			||||||
 | 
					###	  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_VOLUMEID_XFS
 | 
				
			||||||
 | 
						bool "xfs filesystem"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_VOLUMEID
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_VOLUMEID_NTFS
 | 
				
			||||||
 | 
						bool "ntfs filesystem"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_VOLUMEID
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ISO9660
 | 
				
			||||||
 | 
						bool "iso9660 filesystem"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_VOLUMEID
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UDF
 | 
				
			||||||
 | 
						bool "udf filesystem"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_VOLUMEID
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LUKS
 | 
				
			||||||
 | 
						bool "luks filesystem"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_VOLUMEID
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXSWAP
 | 
				
			||||||
 | 
						bool "linux swap filesystem"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_VOLUMEID
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### config FEATURE_VOLUMEID_LVM
 | 
				
			||||||
 | 
					###	bool "lvm"
 | 
				
			||||||
 | 
					###	default n
 | 
				
			||||||
 | 
					###	depends on VOLUMEID
 | 
				
			||||||
 | 
					###	help
 | 
				
			||||||
 | 
					###	  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_VOLUMEID_CRAMFS
 | 
				
			||||||
 | 
						bool "cramfs filesystem"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_VOLUMEID
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### config FEATURE_VOLUMEID_HPFS
 | 
				
			||||||
 | 
					###	bool "hpfs filesystem"
 | 
				
			||||||
 | 
					###	default n
 | 
				
			||||||
 | 
					###	depends on VOLUMEID
 | 
				
			||||||
 | 
					###	help
 | 
				
			||||||
 | 
					###	  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ROMFS
 | 
				
			||||||
 | 
						bool "romfs filesystem"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_VOLUMEID
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_VOLUMEID_SYSV
 | 
				
			||||||
 | 
						bool "sysv filesystem"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_VOLUMEID
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### config FEATURE_VOLUMEID_MINIX
 | 
				
			||||||
 | 
					###	bool "minix filesystem"
 | 
				
			||||||
 | 
					###	default n
 | 
				
			||||||
 | 
					###	depends on VOLUMEID
 | 
				
			||||||
 | 
					###	help
 | 
				
			||||||
 | 
					###	  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### These only detect partition tables - not used (yet?)
 | 
				
			||||||
 | 
					### config FEATURE_VOLUMEID_MAC
 | 
				
			||||||
 | 
					###	bool "mac filesystem"
 | 
				
			||||||
 | 
					###	default n
 | 
				
			||||||
 | 
					###	depends on VOLUMEID
 | 
				
			||||||
 | 
					###	help
 | 
				
			||||||
 | 
					###	  TODO
 | 
				
			||||||
 | 
					###
 | 
				
			||||||
 | 
					### config FEATURE_VOLUMEID_MSDOS
 | 
				
			||||||
 | 
					###	bool "msdos filesystem"
 | 
				
			||||||
 | 
					###	default n
 | 
				
			||||||
 | 
					###	depends on VOLUMEID
 | 
				
			||||||
 | 
					###	help
 | 
				
			||||||
 | 
					###	  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_VOLUMEID_OCFS2
 | 
				
			||||||
 | 
						bool "ocfs2 filesystem"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_VOLUMEID
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### config FEATURE_VOLUMEID_HIGHPOINTRAID
 | 
				
			||||||
 | 
					###	bool "highpoint raid"
 | 
				
			||||||
 | 
					###	default n
 | 
				
			||||||
 | 
					###	depends on VOLUMEID
 | 
				
			||||||
 | 
					###	help
 | 
				
			||||||
 | 
					###	  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### config FEATURE_VOLUMEID_ISWRAID
 | 
				
			||||||
 | 
					###	bool "intel raid"
 | 
				
			||||||
 | 
					###	default n
 | 
				
			||||||
 | 
					###	depends on VOLUMEID
 | 
				
			||||||
 | 
					###	help
 | 
				
			||||||
 | 
					###	  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### config FEATURE_VOLUMEID_LSIRAID
 | 
				
			||||||
 | 
					###	bool "lsi raid"
 | 
				
			||||||
 | 
					###	default n
 | 
				
			||||||
 | 
					###	depends on VOLUMEID
 | 
				
			||||||
 | 
					###	help
 | 
				
			||||||
 | 
					###	  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### config FEATURE_VOLUMEID_VIARAID
 | 
				
			||||||
 | 
					###	bool "via raid"
 | 
				
			||||||
 | 
					###	default n
 | 
				
			||||||
 | 
					###	depends on VOLUMEID
 | 
				
			||||||
 | 
					###	help
 | 
				
			||||||
 | 
					###	  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### config FEATURE_VOLUMEID_SILICONRAID
 | 
				
			||||||
 | 
					###	bool "silicon raid"
 | 
				
			||||||
 | 
					###	default n
 | 
				
			||||||
 | 
					###	depends on VOLUMEID
 | 
				
			||||||
 | 
					###	help
 | 
				
			||||||
 | 
					###	  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### config FEATURE_VOLUMEID_NVIDIARAID
 | 
				
			||||||
 | 
					###	bool "nvidia raid"
 | 
				
			||||||
 | 
					###	default n
 | 
				
			||||||
 | 
					###	depends on VOLUMEID
 | 
				
			||||||
 | 
					###	help
 | 
				
			||||||
 | 
					###	  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### config FEATURE_VOLUMEID_PROMISERAID
 | 
				
			||||||
 | 
					###	bool "promise raid"
 | 
				
			||||||
 | 
					###	default n
 | 
				
			||||||
 | 
					###	depends on VOLUMEID
 | 
				
			||||||
 | 
					###	help
 | 
				
			||||||
 | 
					###	  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXRAID
 | 
				
			||||||
 | 
						bool "linuxraid"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_VOLUMEID
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_MOUNT
 | 
					config BUSYBOX_CONFIG_MOUNT
 | 
				
			||||||
	bool "mount"
 | 
						bool "mount"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
@@ -360,15 +614,42 @@ config BUSYBOX_CONFIG_MOUNT
 | 
				
			|||||||
	  NFS filesystems.  Most people using BusyBox will also want to enable
 | 
						  NFS filesystems.  Most people using BusyBox will also want to enable
 | 
				
			||||||
	  the 'mount' utility.
 | 
						  the 'mount' utility.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_MOUNT_FAKE
 | 
				
			||||||
 | 
						bool "Support option -f"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_MOUNT
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Enable support for faking a file system mount.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_MOUNT_VERBOSE
 | 
				
			||||||
 | 
						bool "Support option -v"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_MOUNT
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Enable multi-level -v[vv...] verbose messages. Useful if you
 | 
				
			||||||
 | 
						  debug mount problems and want to see what is exactly passed
 | 
				
			||||||
 | 
						  to the kernel.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_MOUNT_HELPERS
 | 
					config BUSYBOX_CONFIG_FEATURE_MOUNT_HELPERS
 | 
				
			||||||
	bool "Support mount helpers"
 | 
						bool "Support mount helpers"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_MOUNT
 | 
						depends on BUSYBOX_CONFIG_MOUNT
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  Enable mounting of virtual file systems via external helpers.
 | 
						  Enable mounting of virtual file systems via external helpers.
 | 
				
			||||||
	  E.g. mount obexfs#-b00.11.22.33.44.55 /mnt will in effect call
 | 
						  E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
 | 
				
			||||||
	  obexfs -b00.11.22.33.44.55 /mnt
 | 
						  "obexfs -b00.11.22.33.44.55 /mnt"
 | 
				
			||||||
	  The idea is to use such virtual filesystems in /etc/fstab
 | 
						  Also "mount -t sometype [-o opts] fs /mnt" will try
 | 
				
			||||||
 | 
						  "sometype [-o opts] fs /mnt" if simple mount syscall fails.
 | 
				
			||||||
 | 
						  The idea is to use such virtual filesystems in /etc/fstab.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_MOUNT_LABEL
 | 
				
			||||||
 | 
						bool "Support specifiying devices by label or UUID"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_MOUNT
 | 
				
			||||||
 | 
						select BUSYBOX_CONFIG_VOLUMEID
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  This allows for specifying a device by label or uuid, rather than by
 | 
				
			||||||
 | 
						  name.  This feature utilizes the same functionality as findfs.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_MOUNT_NFS
 | 
					config BUSYBOX_CONFIG_FEATURE_MOUNT_NFS
 | 
				
			||||||
	bool "Support mounting NFS file systems"
 | 
						bool "Support mounting NFS file systems"
 | 
				
			||||||
@@ -430,6 +711,18 @@ config BUSYBOX_CONFIG_READPROFILE
 | 
				
			|||||||
	help
 | 
						help
 | 
				
			||||||
	  This allows you to parse /proc/profile for basic profiling.
 | 
						  This allows you to parse /proc/profile for basic profiling.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_RTCWAKE
 | 
				
			||||||
 | 
						bool "rtcwake"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Enter a system sleep state until specified wakeup time.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_SCRIPT
 | 
				
			||||||
 | 
						bool "script"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  The script makes typescript of terminal session.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_SETARCH
 | 
					config BUSYBOX_CONFIG_SETARCH
 | 
				
			||||||
	bool "setarch"
 | 
						bool "setarch"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
@@ -450,6 +743,13 @@ config BUSYBOX_CONFIG_SWAPONOFF
 | 
				
			|||||||
	  space.  If you are not using any swap space, you can leave this
 | 
						  space.  If you are not using any swap space, you can leave this
 | 
				
			||||||
	  option disabled.
 | 
						  option disabled.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BUSYBOX_CONFIG_FEATURE_SWAPON_PRI
 | 
				
			||||||
 | 
						bool "Support priority option -p"
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						depends on BUSYBOX_CONFIG_SWAPONOFF
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Enable support for setting swap device priority in swapon.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_SWITCH_ROOT
 | 
					config BUSYBOX_CONFIG_SWITCH_ROOT
 | 
				
			||||||
	bool "switch_root"
 | 
						bool "switch_root"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
@@ -479,7 +779,7 @@ config BUSYBOX_CONFIG_UMOUNT
 | 
				
			|||||||
	  also want to enable 'umount'.
 | 
						  also want to enable 'umount'.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BUSYBOX_CONFIG_FEATURE_UMOUNT_ALL
 | 
					config BUSYBOX_CONFIG_FEATURE_UMOUNT_ALL
 | 
				
			||||||
	bool "umount -a option"
 | 
						bool "Support option -a"
 | 
				
			||||||
	default y
 | 
						default y
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_UMOUNT
 | 
						depends on BUSYBOX_CONFIG_UMOUNT
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
@@ -508,6 +808,7 @@ config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
 | 
				
			|||||||
	bool "Support for the old /etc/mtab file"
 | 
						bool "Support for the old /etc/mtab file"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
	depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
 | 
						depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
 | 
				
			||||||
 | 
						select BUSYBOX_CONFIG_FEATURE_MOUNT_FAKE
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  Historically, Unix systems kept track of the currently mounted
 | 
						  Historically, Unix systems kept track of the currently mounted
 | 
				
			||||||
	  partitions in the file "/etc/mtab".  These days, the kernel exports
 | 
						  partitions in the file "/etc/mtab".  These days, the kernel exports
 | 
				
			||||||
@@ -528,4 +829,3 @@ config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
 | 
				
			|||||||
	  your kernel.
 | 
						  your kernel.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
endmenu
 | 
					endmenu
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,13 +1,18 @@
 | 
				
			|||||||
Index: busybox-1.7.2/applets/Kbuild
 | 
					--- a/applets/Kbuild
 | 
				
			||||||
===================================================================
 | 
					+++ b/applets/Kbuild
 | 
				
			||||||
--- busybox-1.7.2.orig/applets/Kbuild	2007-10-30 15:35:00.000000000 -0500
 | 
					@@ -18,13 +18,13 @@
 | 
				
			||||||
+++ busybox-1.7.2/applets/Kbuild	2007-10-30 15:35:00.000000000 -0500
 | 
					 
 | 
				
			||||||
@@ -20,6 +20,6 @@
 | 
					 applets/applets.o: include/usage_compressed.h include/applet_tables.h
 | 
				
			||||||
 HOSTCFLAGS_usage.o = -I$(srctree)/include
 | 
					 
 | 
				
			||||||
 | 
					-applets/usage:         .config $(srctree)/applets/usage_compressed
 | 
				
			||||||
 | 
					+applets/usage:         .config $(srctree)/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
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 applets/applets.o:          include/usage_compressed.h
 | 
					 | 
				
			||||||
-applets/usage:              .config $(srctree)/applets/usage_compressed
 | 
					 | 
				
			||||||
-include/usage_compressed.h: applets/usage $(srctree)/applets/usage_compressed
 | 
					-include/usage_compressed.h: applets/usage $(srctree)/applets/usage_compressed
 | 
				
			||||||
+applets/usage:              .config $(srctree)/applets/usage_compressed include/autoconf.h
 | 
					 | 
				
			||||||
+include/usage_compressed.h: applets/usage $(srctree)/applets/usage_compressed include/autoconf.h
 | 
					+include/usage_compressed.h: applets/usage $(srctree)/applets/usage_compressed include/autoconf.h
 | 
				
			||||||
 	$(call cmd,gen_usage_compressed)
 | 
					 	$(call cmd,gen_usage_compressed)
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 quiet_cmd_gen_applet_tables = GEN     include/applet_tables.h
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					--- a/init/init.c
 | 
				
			||||||
 | 
					+++ b/init/init.c
 | 
				
			||||||
 | 
					@@ -505,12 +505,11 @@
 | 
				
			||||||
 | 
					 	for (a = init_action_list; a; a = tmp) {
 | 
				
			||||||
 | 
					 		tmp = a->next;
 | 
				
			||||||
 | 
					 		if (a->action_type & action_type) {
 | 
				
			||||||
 | 
					-			// Pointless: run() will error out if open of device fails.
 | 
				
			||||||
 | 
					-			///* a->terminal of "" means "init's console" */
 | 
				
			||||||
 | 
					-			//if (a->terminal[0] && access(a->terminal, R_OK | W_OK)) {
 | 
				
			||||||
 | 
					-			//	//message(L_LOG | L_CONSOLE, "Device %s cannot be opened in RW mode", a->terminal /*, strerror(errno)*/);
 | 
				
			||||||
 | 
					-			//	delete_init_action(a);
 | 
				
			||||||
 | 
					-			//} else
 | 
				
			||||||
 | 
					+			/* a->terminal of "" means "init's console" */
 | 
				
			||||||
 | 
					+			if (a->terminal[0] && access(a->terminal, R_OK | W_OK)) {
 | 
				
			||||||
 | 
					+				//message(L_LOG | L_CONSOLE, "Device %s cannot be opened in RW mode", a->terminal /*, strerror(errno)*/);
 | 
				
			||||||
 | 
					+				delete_init_action(a);
 | 
				
			||||||
 | 
					+			} else
 | 
				
			||||||
 | 
					 			if (a->action_type & (SYSINIT | WAIT | CTRLALTDEL | SHUTDOWN | RESTART)) {
 | 
				
			||||||
 | 
					 				waitfor(run(a));
 | 
				
			||||||
 | 
					 				delete_init_action(a);
 | 
				
			||||||
@@ -1,8 +1,6 @@
 | 
				
			|||||||
Index: busybox-1.7.2/networking/wget.c
 | 
					--- a/networking/wget.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/networking/wget.c
 | 
				
			||||||
--- busybox-1.7.2.orig/networking/wget.c	2007-10-30 15:35:00.000000000 -0500
 | 
					@@ -437,7 +437,7 @@
 | 
				
			||||||
+++ busybox-1.7.2/networking/wget.c	2007-10-30 15:35:00.000000000 -0500
 | 
					 | 
				
			||||||
@@ -140,7 +140,7 @@
 | 
					 | 
				
			||||||
 		"directory-prefix\0" Required_argument "P"
 | 
					 		"directory-prefix\0" Required_argument "P"
 | 
				
			||||||
 		"proxy\0"            Required_argument "Y"
 | 
					 		"proxy\0"            Required_argument "Y"
 | 
				
			||||||
 		"user-agent\0"       Required_argument "U"
 | 
					 		"user-agent\0"       Required_argument "U"
 | 
				
			||||||
@@ -10,4 +8,4 @@ Index: busybox-1.7.2/networking/wget.c
 | 
				
			|||||||
+		"passive-ftp\0"      No_argument       "\xfd"
 | 
					+		"passive-ftp\0"      No_argument       "\xfd"
 | 
				
			||||||
 		"header\0"           Required_argument "\xfe"
 | 
					 		"header\0"           Required_argument "\xfe"
 | 
				
			||||||
 		;
 | 
					 		;
 | 
				
			||||||
 	applet_long_options = wget_longopts;
 | 
					 #endif
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,5 @@
 | 
				
			|||||||
Index: busybox-1.7.2/scripts/trylink
 | 
					--- a/scripts/trylink
 | 
				
			||||||
===================================================================
 | 
					+++ b/scripts/trylink
 | 
				
			||||||
--- busybox-1.7.2.orig/scripts/trylink	2007-10-30 15:35:00.000000000 -0500
 | 
					 | 
				
			||||||
+++ busybox-1.7.2/scripts/trylink	2007-10-30 15:35:00.000000000 -0500
 | 
					 | 
				
			||||||
@@ -1,4 +1,4 @@
 | 
					@@ -1,4 +1,4 @@
 | 
				
			||||||
-#!/bin/sh
 | 
					-#!/bin/sh
 | 
				
			||||||
+#!/usr/bin/env bash
 | 
					+#!/usr/bin/env bash
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,7 @@
 | 
				
			|||||||
Index: busybox-1.7.2/miscutils/crond.c
 | 
					--- a/miscutils/crond.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/miscutils/crond.c
 | 
				
			||||||
--- busybox-1.7.2.orig/miscutils/crond.c	2007-10-30 15:35:00.000000000 -0500
 | 
					@@ -24,7 +24,7 @@
 | 
				
			||||||
+++ busybox-1.7.2/miscutils/crond.c	2007-10-30 15:35:00.000000000 -0500
 | 
					 
 | 
				
			||||||
@@ -15,7 +15,7 @@
 | 
					 | 
				
			||||||
 #include "libbb.h"
 | 
					 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 #ifndef CRONTABS
 | 
					 #ifndef CRONTABS
 | 
				
			||||||
-#define CRONTABS        "/var/spool/cron/crontabs"
 | 
					-#define CRONTABS        "/var/spool/cron/crontabs"
 | 
				
			||||||
@@ -11,10 +9,8 @@ Index: busybox-1.7.2/miscutils/crond.c
 | 
				
			|||||||
 #endif
 | 
					 #endif
 | 
				
			||||||
 #ifndef TMPDIR
 | 
					 #ifndef TMPDIR
 | 
				
			||||||
 #define TMPDIR          "/var/spool/cron"
 | 
					 #define TMPDIR          "/var/spool/cron"
 | 
				
			||||||
Index: busybox-1.7.2/miscutils/crontab.c
 | 
					--- a/miscutils/crontab.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/miscutils/crontab.c
 | 
				
			||||||
--- busybox-1.7.2.orig/miscutils/crontab.c	2007-10-30 15:35:00.000000000 -0500
 | 
					 | 
				
			||||||
+++ busybox-1.7.2/miscutils/crontab.c	2007-10-30 15:35:00.000000000 -0500
 | 
					 | 
				
			||||||
@@ -13,7 +13,7 @@
 | 
					@@ -13,7 +13,7 @@
 | 
				
			||||||
 #include "libbb.h"
 | 
					 #include "libbb.h"
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -22,5 +18,5 @@ Index: busybox-1.7.2/miscutils/crontab.c
 | 
				
			|||||||
-#define CRONTABS        "/var/spool/cron/crontabs"
 | 
					-#define CRONTABS        "/var/spool/cron/crontabs"
 | 
				
			||||||
+#define CRONTABS        "/etc/crontabs"
 | 
					+#define CRONTABS        "/etc/crontabs"
 | 
				
			||||||
 #endif
 | 
					 #endif
 | 
				
			||||||
 #ifndef TMPDIR
 | 
					 #ifndef CRONUPDATE
 | 
				
			||||||
 #define TMPDIR          "/var/spool/cron"
 | 
					 #define CRONUPDATE      "cron.update"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,22 +1,20 @@
 | 
				
			|||||||
Index: busybox-1.7.2/networking/udhcp/dhcpc.c
 | 
					--- a/networking/udhcp/dhcpc.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/networking/udhcp/dhcpc.c
 | 
				
			||||||
--- busybox-1.7.2.orig/networking/udhcp/dhcpc.c	2007-10-30 15:35:00.000000000 -0500
 | 
					@@ -352,7 +352,7 @@
 | 
				
			||||||
+++ busybox-1.7.2/networking/udhcp/dhcpc.c	2007-10-30 15:35:01.000000000 -0500
 | 
					 
 | 
				
			||||||
@@ -334,7 +334,7 @@
 | 
					 | 
				
			||||||
 			/* timeout dropped to zero */
 | 
					 | 
				
			||||||
 			switch (state) {
 | 
					 			switch (state) {
 | 
				
			||||||
 			case INIT_SELECTING:
 | 
					 			case INIT_SELECTING:
 | 
				
			||||||
-				if (packet_num < client_config.retries) {
 | 
					-				if (packet_num < discover_retries) {
 | 
				
			||||||
+				if (!client_config.retries || (packet_num < client_config.retries)) {
 | 
					+				if (!discover_retries || packet_num < discover_retries) {
 | 
				
			||||||
 					if (packet_num == 0)
 | 
					 					if (packet_num == 0)
 | 
				
			||||||
 						xid = random_xid();
 | 
					 						xid = random_xid();
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -360,7 +360,7 @@
 | 
					@@ -382,7 +382,7 @@
 | 
				
			||||||
 				break;
 | 
					 				continue;
 | 
				
			||||||
 			case RENEW_REQUESTED:
 | 
					 			case RENEW_REQUESTED:
 | 
				
			||||||
 			case REQUESTING:
 | 
					 			case REQUESTING:
 | 
				
			||||||
-				if (packet_num < client_config.retries) {
 | 
					-				if (packet_num < discover_retries) {
 | 
				
			||||||
+				if (!client_config.retries || (packet_num < client_config.retries)) {
 | 
					+				if (!discover_retries || packet_num < discover_retries) {
 | 
				
			||||||
 					/* send request packet */
 | 
					 					/* send request packet */
 | 
				
			||||||
 					if (state == RENEW_REQUESTED)
 | 
					 					if (state == RENEW_REQUESTED) /* unicast */
 | 
				
			||||||
 						send_renew(xid, server_addr, requested_ip); /* unicast */
 | 
					 						send_renew(xid, server_addr, requested_ip);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,89 +1,75 @@
 | 
				
			|||||||
Index: busybox-1.7.2/networking/udhcp/packet.c
 | 
					--- a/networking/udhcp/packet.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/networking/udhcp/packet.c
 | 
				
			||||||
--- busybox-1.7.2.orig/networking/udhcp/packet.c	2007-10-30 15:35:00.000000000 -0500
 | 
					@@ -114,6 +114,10 @@
 | 
				
			||||||
+++ busybox-1.7.2/networking/udhcp/packet.c	2007-10-30 15:35:01.000000000 -0500
 | 
					 | 
				
			||||||
@@ -121,6 +121,10 @@
 | 
					 | 
				
			||||||
 	return ~sum;
 | 
					 	return ~sum;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
+int udhcp_get_payload_len(struct dhcpMessage *payload)
 | 
					+int udhcp_get_payload_len(struct dhcpMessage *payload)
 | 
				
			||||||
+{
 | 
					+{
 | 
				
			||||||
+	return sizeof(struct dhcpMessage) - MAX_OPTIONS_LEN + end_option(payload->options) + sizeof(payload->options[0]);
 | 
					+	return sizeof(struct dhcpMessage) - DHCP_OPTIONS_BUFSIZE + end_option(payload->options) + sizeof(payload->options[0]);
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 /* Construct a ip/udp header for a packet, and specify the source and dest hardware address */
 | 
					 /* Construct a ip/udp header for a packet, send packet */
 | 
				
			||||||
 void BUG_sizeof_struct_udp_dhcp_packet_must_be_576(void);
 | 
					 int udhcp_send_raw_packet(struct dhcpMessage *payload,
 | 
				
			||||||
@@ -132,6 +136,7 @@
 | 
					@@ -125,11 +129,7 @@
 | 
				
			||||||
 	int result;
 | 
					 	int fd;
 | 
				
			||||||
 	struct sockaddr_ll dest;
 | 
					 	int result = -1;
 | 
				
			||||||
 	struct udp_dhcp_packet packet;
 | 
					 	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),
 | 
				
			||||||
 | 
					-	};
 | 
				
			||||||
+	int p_len = udhcp_get_payload_len(payload);
 | 
					+	int p_len = udhcp_get_payload_len(payload);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP));
 | 
					 	fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP));
 | 
				
			||||||
 	if (fd < 0) {
 | 
					 	if (fd < 0) {
 | 
				
			||||||
@@ -141,6 +146,7 @@
 | 
					@@ -139,7 +139,7 @@
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	memset(&dest, 0, sizeof(dest));
 | 
					 	memset(&dest, 0, sizeof(dest));
 | 
				
			||||||
 	memset(&packet, 0, sizeof(packet));
 | 
					 	memset(&packet, 0, sizeof(packet));
 | 
				
			||||||
 | 
					-	packet.data = *payload; /* struct copy */
 | 
				
			||||||
+	memcpy(&(packet.data), payload, p_len);
 | 
					+	memcpy(&(packet.data), payload, p_len);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	dest.sll_family = AF_PACKET;
 | 
					 	dest.sll_family = AF_PACKET;
 | 
				
			||||||
 	dest.sll_protocol = htons(ETH_P_IP);
 | 
					 	dest.sll_protocol = htons(ETH_P_IP);
 | 
				
			||||||
@@ -158,12 +164,13 @@
 | 
					@@ -156,23 +156,18 @@
 | 
				
			||||||
 	packet.ip.daddr = dest_ip;
 | 
					 	packet.ip.daddr = dest_ip;
 | 
				
			||||||
 	packet.udp.source = htons(source_port);
 | 
					 	packet.udp.source = htons(source_port);
 | 
				
			||||||
 	packet.udp.dest = htons(dest_port);
 | 
					 	packet.udp.dest = htons(dest_port);
 | 
				
			||||||
-	packet.udp.len = htons(sizeof(packet.udp) + sizeof(struct dhcpMessage)); /* cheat on the psuedo-header */
 | 
					-	/* size, excluding IP header: */
 | 
				
			||||||
 | 
					-	packet.udp.len = htons(UPD_DHCP_SIZE);
 | 
				
			||||||
 | 
					-	/* for UDP checksumming, ip.len is set to UDP packet len */
 | 
				
			||||||
+	p_len += sizeof(packet.udp);
 | 
					+	p_len += sizeof(packet.udp);
 | 
				
			||||||
+	packet.udp.len = htons(p_len);
 | 
					+	packet.udp.len = htons(p_len);
 | 
				
			||||||
 	packet.ip.tot_len = packet.udp.len;
 | 
					 	packet.ip.tot_len = packet.udp.len;
 | 
				
			||||||
-	memcpy(&(packet.data), payload, sizeof(struct dhcpMessage));
 | 
					-	packet.udp.check = udhcp_checksum(&packet, IP_UPD_DHCP_SIZE);
 | 
				
			||||||
-	packet.udp.check = udhcp_checksum(&packet, sizeof(struct udp_dhcp_packet));
 | 
					-	/* but for sending, it is set to IP packet len */
 | 
				
			||||||
 | 
					-	packet.ip.tot_len = htons(IP_UPD_DHCP_SIZE);
 | 
				
			||||||
+	p_len += sizeof(packet.ip);
 | 
					+	p_len += sizeof(packet.ip);
 | 
				
			||||||
+	packet.udp.check = udhcp_checksum(&packet, p_len);
 | 
					+	packet.udp.check = udhcp_checksum(&packet, p_len);
 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-	packet.ip.tot_len = htons(sizeof(struct udp_dhcp_packet));
 | 
					 | 
				
			||||||
+	packet.ip.tot_len = htons(p_len);
 | 
					+	packet.ip.tot_len = htons(p_len);
 | 
				
			||||||
 	packet.ip.ihl = sizeof(packet.ip) >> 2;
 | 
					 	packet.ip.ihl = sizeof(packet.ip) >> 2;
 | 
				
			||||||
 	packet.ip.version = IPVERSION;
 | 
					 	packet.ip.version = IPVERSION;
 | 
				
			||||||
 	packet.ip.ttl = IPDEFTTL;
 | 
					 	packet.ip.ttl = IPDEFTTL;
 | 
				
			||||||
@@ -172,7 +179,7 @@
 | 
					 	packet.ip.check = udhcp_checksum(&packet.ip, sizeof(packet.ip));
 | 
				
			||||||
 	if (sizeof(struct udp_dhcp_packet) != 576)
 | 
					 | 
				
			||||||
 		BUG_sizeof_struct_udp_dhcp_packet_must_be_576();
 | 
					 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
-	result = sendto(fd, &packet, sizeof(struct udp_dhcp_packet), 0,
 | 
					-	/* Currently we send full-sized DHCP packets (zero padded).
 | 
				
			||||||
 | 
					-	 * If you need to change this: last byte of the packet is
 | 
				
			||||||
 | 
					-	 * packet.data.options[end_option(packet.data.options)]
 | 
				
			||||||
 | 
					-	 */
 | 
				
			||||||
 | 
					-	result = sendto(fd, &packet, IP_UPD_DHCP_SIZE, 0,
 | 
				
			||||||
+	result = sendto(fd, &packet, p_len, 0,
 | 
					+	result = sendto(fd, &packet, p_len, 0,
 | 
				
			||||||
 			(struct sockaddr *) &dest, sizeof(dest));
 | 
					 				(struct sockaddr *) &dest, sizeof(dest));
 | 
				
			||||||
 	if (result <= 0) {
 | 
					 	msg = "sendto";
 | 
				
			||||||
 		bb_perror_msg("sendto");
 | 
					  ret_close:
 | 
				
			||||||
@@ -216,7 +223,7 @@
 | 
					@@ -224,8 +219,7 @@
 | 
				
			||||||
 		return -1;
 | 
					 		goto ret_close;
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
-	result = write(fd, payload, sizeof(struct dhcpMessage));
 | 
					-	/* Currently we send full-sized DHCP packets (see above) */
 | 
				
			||||||
+	result = write(fd, payload, udhcp_get_payload_len(payload));
 | 
					-	result = safe_write(fd, payload, DHCP_SIZE);
 | 
				
			||||||
 | 
					+	result = safe_write(fd, payload, udhcp_get_payload_len(payload));
 | 
				
			||||||
 | 
					 	msg = "write";
 | 
				
			||||||
 | 
					  ret_close:
 | 
				
			||||||
 	close(fd);
 | 
					 	close(fd);
 | 
				
			||||||
 	return result;
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
Index: busybox-1.7.2/networking/udhcp/common.h
 | 
					 | 
				
			||||||
===================================================================
 | 
					 | 
				
			||||||
--- busybox-1.7.2.orig/networking/udhcp/common.h	2007-10-30 15:35:00.000000000 -0500
 | 
					 | 
				
			||||||
+++ busybox-1.7.2/networking/udhcp/common.h	2007-10-30 15:35:01.000000000 -0500
 | 
					 | 
				
			||||||
@@ -21,6 +21,8 @@
 | 
					 | 
				
			||||||
 #include <netinet/udp.h>
 | 
					 | 
				
			||||||
 #include <netinet/ip.h>
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+#define MAX_OPTIONS_LEN  308
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 struct dhcpMessage {
 | 
					 | 
				
			||||||
 	uint8_t op;
 | 
					 | 
				
			||||||
 	uint8_t htype;
 | 
					 | 
				
			||||||
@@ -37,7 +39,7 @@
 | 
					 | 
				
			||||||
 	uint8_t sname[64];
 | 
					 | 
				
			||||||
 	uint8_t file[128];
 | 
					 | 
				
			||||||
 	uint32_t cookie;
 | 
					 | 
				
			||||||
-	uint8_t options[308]; /* 312 - cookie */
 | 
					 | 
				
			||||||
+	uint8_t options[MAX_OPTIONS_LEN]; /* 312 - cookie */
 | 
					 | 
				
			||||||
 };
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 struct udp_dhcp_packet {
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,6 @@
 | 
				
			|||||||
Index: busybox-1.7.2/networking/udhcp/clientpacket.c
 | 
					--- a/networking/udhcp/clientpacket.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/networking/udhcp/clientpacket.c
 | 
				
			||||||
--- busybox-1.7.2.orig/networking/udhcp/clientpacket.c	2007-10-30 15:35:00.000000000 -0500
 | 
					@@ -101,6 +101,7 @@
 | 
				
			||||||
+++ busybox-1.7.2/networking/udhcp/clientpacket.c	2007-10-30 15:35:02.000000000 -0500
 | 
					 | 
				
			||||||
@@ -74,6 +74,7 @@
 | 
					 | 
				
			||||||
 int send_discover(uint32_t xid, uint32_t requested)
 | 
					 int send_discover(uint32_t xid, uint32_t requested)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	struct dhcpMessage packet;
 | 
					 	struct dhcpMessage packet;
 | 
				
			||||||
@@ -10,13 +8,11 @@ Index: busybox-1.7.2/networking/udhcp/clientpacket.c
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 	init_packet(&packet, DHCPDISCOVER);
 | 
					 	init_packet(&packet, DHCPDISCOVER);
 | 
				
			||||||
 	packet.xid = xid;
 | 
					 	packet.xid = xid;
 | 
				
			||||||
@@ -81,7 +82,8 @@
 | 
					@@ -113,6 +114,7 @@
 | 
				
			||||||
 		add_simple_option(packet.options, DHCP_REQUESTED_IP, requested);
 | 
					 
 | 
				
			||||||
 | 
					 	add_param_req_option(&packet);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	add_requests(&packet);
 | 
					 | 
				
			||||||
-	bb_info_msg("Sending discover...");
 | 
					 | 
				
			||||||
+	if (msgs++ < 3)
 | 
					+	if (msgs++ < 3)
 | 
				
			||||||
+		bb_info_msg("Sending discover...");
 | 
					 	bb_info_msg("Sending discover...");
 | 
				
			||||||
 	return udhcp_raw_packet(&packet, INADDR_ANY, CLIENT_PORT, INADDR_BROADCAST,
 | 
					 	return udhcp_send_raw_packet(&packet, INADDR_ANY, CLIENT_PORT, INADDR_BROADCAST,
 | 
				
			||||||
 			SERVER_PORT, MAC_BCAST_ADDR, client_config.ifindex);
 | 
					 			SERVER_PORT, MAC_BCAST_ADDR, client_config.ifindex);
 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,8 @@
 | 
				
			|||||||
Index: busybox-1.7.2/networking/udhcp/dhcpc.c
 | 
					--- a/networking/udhcp/dhcpc.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/networking/udhcp/dhcpc.c
 | 
				
			||||||
--- busybox-1.7.2.orig/networking/udhcp/dhcpc.c	2007-10-30 15:35:01.000000000 -0500
 | 
					@@ -319,6 +319,12 @@
 | 
				
			||||||
+++ busybox-1.7.2/networking/udhcp/dhcpc.c	2007-10-30 15:35:02.000000000 -0500
 | 
					 	for (;;) {
 | 
				
			||||||
@@ -309,6 +309,12 @@
 | 
					 		unsigned timestamp_before_wait;
 | 
				
			||||||
  jump_in:
 | 
					 | 
				
			||||||
 		tv.tv_usec = 0;
 | 
					 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
+		/* When running on a bridge, the ifindex may have changed (e.g. if
 | 
					+		/* When running on a bridge, the ifindex may have changed (e.g. if
 | 
				
			||||||
+		 * member interfaces were added/removed or if the status of the
 | 
					+		 * member interfaces were added/removed or if the status of the
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,15 +1,11 @@
 | 
				
			|||||||
Index: busybox-1.7.2/shell/ash.c
 | 
					--- a/shell/ash.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/shell/ash.c
 | 
				
			||||||
--- busybox-1.7.2.orig/shell/ash.c	2007-10-30 15:34:59.000000000 -0500
 | 
					@@ -11875,8 +11875,17 @@
 | 
				
			||||||
+++ busybox-1.7.2/shell/ash.c	2007-10-30 15:35:02.000000000 -0500
 | 
					 | 
				
			||||||
@@ -11310,8 +11310,18 @@
 | 
					 | 
				
			||||||
 	const char *p;
 | 
					 	const char *p;
 | 
				
			||||||
 	char **aptr;
 | 
					 	char **aptr;
 | 
				
			||||||
 	int flag = argv[0][0] == 'r'? VREADONLY : VEXPORT;
 | 
					 	int flag = argv[0][0] == 'r'? VREADONLY : VEXPORT;
 | 
				
			||||||
+	int mask = ~0;
 | 
					+	int mask = ~0;
 | 
				
			||||||
+	int nopt;
 | 
					+	int nopt;
 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-	if (nextopt("p") != 'p') {
 | 
					 | 
				
			||||||
+	while ((nopt = nextopt("np"))) {
 | 
					+	while ((nopt = nextopt("np"))) {
 | 
				
			||||||
+		if (nopt == 'n') {
 | 
					+		if (nopt == 'n') {
 | 
				
			||||||
+				mask = ~flag;
 | 
					+				mask = ~flag;
 | 
				
			||||||
@@ -17,12 +13,13 @@ Index: busybox-1.7.2/shell/ash.c
 | 
				
			|||||||
+			break;
 | 
					+			break;
 | 
				
			||||||
+		}
 | 
					+		}
 | 
				
			||||||
+	}
 | 
					+	}
 | 
				
			||||||
+
 | 
					 
 | 
				
			||||||
 | 
					-	if (nextopt("p") != 'p') {
 | 
				
			||||||
+	if (nopt != 'p') {
 | 
					+	if (nopt != 'p') {
 | 
				
			||||||
 		aptr = argptr;
 | 
					 		aptr = argptr;
 | 
				
			||||||
 		name = *aptr;
 | 
					 		name = *aptr;
 | 
				
			||||||
 		if (name) {
 | 
					 		if (name) {
 | 
				
			||||||
@@ -11323,10 +11333,11 @@
 | 
					@@ -11888,10 +11897,12 @@
 | 
				
			||||||
 					vp = *findvar(hashvar(name), name);
 | 
					 					vp = *findvar(hashvar(name), name);
 | 
				
			||||||
 					if (vp) {
 | 
					 					if (vp) {
 | 
				
			||||||
 						vp->flags |= flag;
 | 
					 						vp->flags |= flag;
 | 
				
			||||||
@@ -30,7 +27,7 @@ Index: busybox-1.7.2/shell/ash.c
 | 
				
			|||||||
 						continue;
 | 
					 						continue;
 | 
				
			||||||
 					}
 | 
					 					}
 | 
				
			||||||
 				}
 | 
					 				}
 | 
				
			||||||
-				setvar(name, p, flag);
 | 
					 				setvar(name, p, flag);
 | 
				
			||||||
+				setvar(name, p, flag & mask);
 | 
					+				setvar(name, p, flag & mask);
 | 
				
			||||||
 			} while ((name = *++aptr) != NULL);
 | 
					 			} while ((name = *++aptr) != NULL);
 | 
				
			||||||
 			return 0;
 | 
					 			return 0;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,37 +1,43 @@
 | 
				
			|||||||
Index: busybox-1.7.2/include/applets.h
 | 
					--- a/include/applets.h
 | 
				
			||||||
===================================================================
 | 
					+++ b/include/applets.h
 | 
				
			||||||
--- busybox-1.7.2.orig/include/applets.h	2007-10-30 15:34:59.000000000 -0500
 | 
					@@ -257,6 +257,7 @@
 | 
				
			||||||
+++ busybox-1.7.2/include/applets.h	2007-10-30 15:35:03.000000000 -0500
 | 
					 | 
				
			||||||
@@ -241,6 +241,7 @@
 | 
					 | 
				
			||||||
 USE_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_NEVER))
 | 
					 USE_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_NEVER))
 | 
				
			||||||
 USE_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _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_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 | 
				
			||||||
+USE_NETMSG(APPLET_NOUSAGE(netmsg, netmsg, _BB_DIR_BIN, _BB_SUID_ALWAYS))
 | 
					+USE_NETMSG(APPLET(netmsg, _BB_DIR_BIN, _BB_SUID_ALWAYS))
 | 
				
			||||||
 USE_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_NEVER))
 | 
					 USE_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_NEVER))
 | 
				
			||||||
 USE_NICE(APPLET(nice, _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))
 | 
					 USE_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 | 
				
			||||||
Index: busybox-1.7.2/networking/Config.in
 | 
					--- a/include/usage.h
 | 
				
			||||||
===================================================================
 | 
					+++ b/include/usage.h
 | 
				
			||||||
--- busybox-1.7.2.orig/networking/Config.in	2007-10-30 15:34:59.000000000 -0500
 | 
					@@ -2815,6 +2815,9 @@
 | 
				
			||||||
+++ busybox-1.7.2/networking/Config.in	2007-10-30 15:35:03.000000000 -0500
 | 
					 
 | 
				
			||||||
@@ -508,6 +508,12 @@
 | 
					 #endif
 | 
				
			||||||
 	help
 | 
					 
 | 
				
			||||||
 | 
					+#define netmsg_trivial_usage NOUSAGE_STR
 | 
				
			||||||
 | 
					+#define netmsg_full_usage ""
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 #define netstat_trivial_usage \
 | 
				
			||||||
 | 
					        "[-laentuwxr"USE_FEATURE_NETSTAT_WIDE("W")"]"
 | 
				
			||||||
 | 
					 #define netstat_full_usage "\n\n" \
 | 
				
			||||||
 | 
					--- a/networking/Config.in
 | 
				
			||||||
 | 
					+++ b/networking/Config.in
 | 
				
			||||||
 | 
					@@ -602,6 +602,12 @@
 | 
				
			||||||
 	  A simple Unix utility which reads and writes data across network
 | 
					 	  A simple Unix utility which reads and writes data across network
 | 
				
			||||||
 	  connections.
 | 
					 	  connections.
 | 
				
			||||||
+	  
 | 
					 
 | 
				
			||||||
+config NETMSG
 | 
					+config NETMSG
 | 
				
			||||||
+	bool "netmsg"
 | 
					+	bool "netmsg"
 | 
				
			||||||
+	default n
 | 
					+	default n
 | 
				
			||||||
+	help
 | 
					+	help
 | 
				
			||||||
+	  simple program for sending udp broadcast messages
 | 
					+	  simple program for sending udp broadcast messages
 | 
				
			||||||
 
 | 
					+
 | 
				
			||||||
 config NC_SERVER
 | 
					 config NC_SERVER
 | 
				
			||||||
 	bool "Netcat server options (-l)"
 | 
					 	bool "Netcat server options (-l)"
 | 
				
			||||||
Index: busybox-1.7.2/networking/Kbuild
 | 
					 	default n
 | 
				
			||||||
===================================================================
 | 
					--- a/networking/Kbuild
 | 
				
			||||||
--- busybox-1.7.2.orig/networking/Kbuild	2007-10-30 15:34:59.000000000 -0500
 | 
					+++ b/networking/Kbuild
 | 
				
			||||||
+++ busybox-1.7.2/networking/Kbuild	2007-10-30 15:35:03.000000000 -0500
 | 
					@@ -24,6 +24,7 @@
 | 
				
			||||||
@@ -21,6 +21,7 @@
 | 
					 | 
				
			||||||
 lib-$(CONFIG_IPCALC)       += ipcalc.o
 | 
					 lib-$(CONFIG_IPCALC)       += ipcalc.o
 | 
				
			||||||
 lib-$(CONFIG_NAMEIF)       += nameif.o
 | 
					 lib-$(CONFIG_NAMEIF)       += nameif.o
 | 
				
			||||||
 lib-$(CONFIG_NC)           += nc.o
 | 
					 lib-$(CONFIG_NC)           += nc.o
 | 
				
			||||||
@@ -39,10 +45,8 @@ Index: busybox-1.7.2/networking/Kbuild
 | 
				
			|||||||
 lib-$(CONFIG_NETSTAT)      += netstat.o
 | 
					 lib-$(CONFIG_NETSTAT)      += netstat.o
 | 
				
			||||||
 lib-$(CONFIG_NSLOOKUP)     += nslookup.o
 | 
					 lib-$(CONFIG_NSLOOKUP)     += nslookup.o
 | 
				
			||||||
 lib-$(CONFIG_PING)         += ping.o
 | 
					 lib-$(CONFIG_PING)         += ping.o
 | 
				
			||||||
Index: busybox-1.7.2/networking/netmsg.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/networking/netmsg.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.7.2/networking/netmsg.c	2007-10-30 15:35:03.000000000 -0500
 | 
					 | 
				
			||||||
@@ -0,0 +1,63 @@
 | 
					@@ -0,0 +1,63 @@
 | 
				
			||||||
+/*
 | 
					+/*
 | 
				
			||||||
+ * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
 | 
					+ * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,45 +0,0 @@
 | 
				
			|||||||
 | 
					 | 
				
			||||||
	Copyright (C) 2006 OpenWrt.org
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Index: busybox-1.7.2/networking/httpd.c
 | 
					 | 
				
			||||||
===================================================================
 | 
					 | 
				
			||||||
--- busybox-1.7.2.orig/networking/httpd.c	2007-10-30 15:34:59.000000000 -0500
 | 
					 | 
				
			||||||
+++ busybox-1.7.2/networking/httpd.c	2007-10-30 15:35:03.000000000 -0500
 | 
					 | 
				
			||||||
@@ -1527,12 +1527,26 @@
 | 
					 | 
				
			||||||
 			if (ENABLE_FEATURE_HTTPD_AUTH_MD5) {
 | 
					 | 
				
			||||||
 				char *cipher;
 | 
					 | 
				
			||||||
 				char *pp;
 | 
					 | 
				
			||||||
+				char *ppnew = NULL;
 | 
					 | 
				
			||||||
+				struct passwd *pwd = NULL;
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 				if (strncmp(p, request, u - request) != 0) {
 | 
					 | 
				
			||||||
 					/* user doesn't match */
 | 
					 | 
				
			||||||
 					continue;
 | 
					 | 
				
			||||||
 				}
 | 
					 | 
				
			||||||
 				pp = strchr(p, ':');
 | 
					 | 
				
			||||||
+				if(pp && pp[1] == '$' && pp[2] == 'p' &&
 | 
					 | 
				
			||||||
+						 pp[3] == '$' && pp[4] &&
 | 
					 | 
				
			||||||
+					 (pwd = getpwnam(&pp[4])) != NULL) {
 | 
					 | 
				
			||||||
+					if(pwd->pw_passwd && pwd->pw_passwd[0] == '!') {
 | 
					 | 
				
			||||||
+						prev = NULL;
 | 
					 | 
				
			||||||
+						continue;
 | 
					 | 
				
			||||||
+					}
 | 
					 | 
				
			||||||
+					ppnew = xrealloc(ppnew, 5 + strlen(pwd->pw_passwd));
 | 
					 | 
				
			||||||
+					ppnew[0] = ':';
 | 
					 | 
				
			||||||
+					strcpy(ppnew + 1, pwd->pw_passwd);
 | 
					 | 
				
			||||||
+					pp = ppnew;
 | 
					 | 
				
			||||||
+				}
 | 
					 | 
				
			||||||
 				if (pp && pp[1] == '$' && pp[2] == '1'
 | 
					 | 
				
			||||||
 				 && pp[3] == '$' && pp[4]
 | 
					 | 
				
			||||||
 				) {
 | 
					 | 
				
			||||||
@@ -1543,6 +1557,10 @@
 | 
					 | 
				
			||||||
 					/* unauthorized */
 | 
					 | 
				
			||||||
 					continue;
 | 
					 | 
				
			||||||
 				}
 | 
					 | 
				
			||||||
+				if (ppnew) {
 | 
					 | 
				
			||||||
+					free(ppnew);
 | 
					 | 
				
			||||||
+					ppnew = NULL;
 | 
					 | 
				
			||||||
+				}
 | 
					 | 
				
			||||||
 			}
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 			if (strcmp(p, request) == 0) {
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,28 @@
 | 
				
			|||||||
Index: busybox-1.8.1/include/applets.h
 | 
					--- a/include/applets.h
 | 
				
			||||||
===================================================================
 | 
					+++ b/include/applets.h
 | 
				
			||||||
--- busybox-1.8.1.orig/include/applets.h	2007-11-10 16:54:28.318054115 +0100
 | 
					@@ -220,6 +220,7 @@
 | 
				
			||||||
+++ busybox-1.8.1/include/applets.h	2007-11-10 17:39:21.487529096 +0100
 | 
					 | 
				
			||||||
@@ -218,6 +218,7 @@
 | 
					 | 
				
			||||||
 USE_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
 | 
					 USE_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
 | 
				
			||||||
 USE_LOADFONT(APPLET(loadfont, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 | 
					 USE_LOADFONT(APPLET(loadfont, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 | 
				
			||||||
 USE_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_NEVER))
 | 
					 USE_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_NEVER))
 | 
				
			||||||
+USE_LOCK(APPLET_NOUSAGE(lock, lock, _BB_DIR_BIN, _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_LOGGER(APPLET(logger, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 | 
				
			||||||
 USE_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_ALWAYS))
 | 
					 USE_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_ALWAYS))
 | 
				
			||||||
 USE_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_NEVER, logname))
 | 
					 USE_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_NEVER, logname))
 | 
				
			||||||
Index: busybox-1.8.1/miscutils/Config.in
 | 
					--- a/include/usage.h
 | 
				
			||||||
===================================================================
 | 
					+++ b/include/usage.h
 | 
				
			||||||
--- busybox-1.8.1.orig/miscutils/Config.in	2007-11-10 16:54:16.477379354 +0100
 | 
					@@ -2138,6 +2138,9 @@
 | 
				
			||||||
+++ busybox-1.8.1/miscutils/Config.in	2007-11-10 16:54:28.366056851 +0100
 | 
					 #define loadkmap_example_usage \
 | 
				
			||||||
@@ -244,6 +244,12 @@
 | 
					        "$ loadkmap < /etc/i18n/lang-keymap\n"
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+#define lock_trivial_usage NOUSAGE_STR
 | 
				
			||||||
 | 
					+#define lock_full_usage ""
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 #define logger_trivial_usage \
 | 
				
			||||||
 | 
					        "[OPTION]... [MESSAGE]"
 | 
				
			||||||
 | 
					 #define logger_full_usage "\n\n" \
 | 
				
			||||||
 | 
					--- a/miscutils/Config.in
 | 
				
			||||||
 | 
					+++ b/miscutils/Config.in
 | 
				
			||||||
 | 
					@@ -364,6 +364,12 @@
 | 
				
			||||||
 	  Enables the 'hdparm -d' option to get/set using_dma flag.
 | 
					 	  Enables the 'hdparm -d' option to get/set using_dma flag.
 | 
				
			||||||
 	  This is dangerous stuff, so you should probably say N.
 | 
					 	  This is dangerous stuff, so you should probably say N.
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -27,22 +35,18 @@ Index: busybox-1.8.1/miscutils/Config.in
 | 
				
			|||||||
 config MAKEDEVS
 | 
					 config MAKEDEVS
 | 
				
			||||||
 	bool "makedevs"
 | 
					 	bool "makedevs"
 | 
				
			||||||
 	default n
 | 
					 	default n
 | 
				
			||||||
Index: busybox-1.8.1/miscutils/Kbuild
 | 
					--- a/miscutils/Kbuild
 | 
				
			||||||
===================================================================
 | 
					+++ b/miscutils/Kbuild
 | 
				
			||||||
--- busybox-1.8.1.orig/miscutils/Kbuild	2007-11-10 16:54:16.481379580 +0100
 | 
					@@ -20,6 +20,7 @@
 | 
				
			||||||
+++ busybox-1.8.1/miscutils/Kbuild	2007-11-10 16:54:28.370057076 +0100
 | 
					 lib-$(CONFIG_FEATURE_LAST_SMALL)+= last.o
 | 
				
			||||||
@@ -16,6 +16,7 @@
 | 
					 lib-$(CONFIG_FEATURE_LAST_FANCY)+= last_fancy.o
 | 
				
			||||||
 lib-$(CONFIG_HDPARM)      += hdparm.o
 | 
					 | 
				
			||||||
 lib-$(CONFIG_LAST)        += last.o
 | 
					 | 
				
			||||||
 lib-$(CONFIG_LESS)        += less.o
 | 
					 lib-$(CONFIG_LESS)        += less.o
 | 
				
			||||||
+lib-$(CONFIG_LOCK)        += lock.o
 | 
					+lib-$(CONFIG_LOCK)        += lock.o
 | 
				
			||||||
 lib-$(CONFIG_MAKEDEVS)    += makedevs.o
 | 
					 lib-$(CONFIG_MAKEDEVS)    += makedevs.o
 | 
				
			||||||
 | 
					 lib-$(CONFIG_MAN)         += man.o
 | 
				
			||||||
 lib-$(CONFIG_MICROCOM)    += microcom.o
 | 
					 lib-$(CONFIG_MICROCOM)    += microcom.o
 | 
				
			||||||
 lib-$(CONFIG_MOUNTPOINT)  += mountpoint.o
 | 
					--- /dev/null
 | 
				
			||||||
Index: busybox-1.8.1/miscutils/lock.c
 | 
					+++ b/miscutils/lock.c
 | 
				
			||||||
===================================================================
 | 
					 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/miscutils/lock.c	2007-11-10 17:40:37.203843924 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,132 @@
 | 
					@@ -0,0 +1,132 @@
 | 
				
			||||||
+/*
 | 
					+/*
 | 
				
			||||||
+ * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
 | 
					+ * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,31 +1,27 @@
 | 
				
			|||||||
Index: busybox-1.8.1/include/usage.h
 | 
					--- a/include/usage.h
 | 
				
			||||||
===================================================================
 | 
					+++ b/include/usage.h
 | 
				
			||||||
--- busybox-1.8.1.orig/include/usage.h	2007-11-10 16:54:16.433376848 +0100
 | 
					@@ -1558,7 +1558,8 @@
 | 
				
			||||||
+++ busybox-1.8.1/include/usage.h	2007-11-10 16:54:29.970148260 +0100
 | 
					 | 
				
			||||||
@@ -1418,7 +1418,8 @@
 | 
					 | 
				
			||||||
 	USE_FEATURE_HTTPD_BASIC_AUTH(" [-r realm]") \
 | 
					 	USE_FEATURE_HTTPD_BASIC_AUTH(" [-r realm]") \
 | 
				
			||||||
 	USE_FEATURE_HTTPD_AUTH_MD5(" [-m pass]") \
 | 
					 	USE_FEATURE_HTTPD_AUTH_MD5(" [-m pass]") \
 | 
				
			||||||
        " [-h home]" \
 | 
					        " [-h home]" \
 | 
				
			||||||
-       " [-d/-e string]"
 | 
					-       " [-d/-e string]"
 | 
				
			||||||
+       " [-d/-e string]" \
 | 
					+       " [-d/-e string]" \
 | 
				
			||||||
+       " [-R <path> [-H <host>]]"
 | 
					+       " [-R <path> [-H <host>]]"
 | 
				
			||||||
 #define httpd_full_usage \
 | 
					 #define httpd_full_usage "\n\n" \
 | 
				
			||||||
        "Listen for incoming HTTP requests" \
 | 
					        "Listen for incoming HTTP requests\n" \
 | 
				
			||||||
        "\n\nOptions:" \
 | 
					      "\nOptions:" \
 | 
				
			||||||
@@ -1436,6 +1437,8 @@
 | 
					@@ -1576,6 +1577,8 @@
 | 
				
			||||||
        "\n	-h HOME		Home directory (default .)" \
 | 
					      "\n	-h HOME		Home directory (default .)" \
 | 
				
			||||||
        "\n	-e STRING	HTML encode STRING" \
 | 
					      "\n	-e STRING	HTML encode STRING" \
 | 
				
			||||||
        "\n	-d STRING	URL decode STRING" \
 | 
					      "\n	-d STRING	URL decode STRING" \
 | 
				
			||||||
+       "\n	-R PATH 	Redirect target path" \
 | 
					+     "\n	-R PATH 	Redirect target path" \
 | 
				
			||||||
+       "\n	-H HOST 	Redirect target host" \
 | 
					+     "\n	-H HOST 	Redirect target host" \
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 #define hwclock_trivial_usage \
 | 
					 #define hwclock_trivial_usage \
 | 
				
			||||||
 	USE_GETOPT_LONG( \
 | 
					 	USE_GETOPT_LONG( \
 | 
				
			||||||
Index: busybox-1.8.1/networking/httpd.c
 | 
					--- a/networking/httpd.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/networking/httpd.c
 | 
				
			||||||
--- busybox-1.8.1.orig/networking/httpd.c	2007-11-10 16:54:28.346055711 +0100
 | 
					@@ -247,6 +247,8 @@
 | 
				
			||||||
+++ busybox-1.8.1/networking/httpd.c	2007-11-10 16:54:56.639668071 +0100
 | 
					 | 
				
			||||||
@@ -253,6 +253,8 @@
 | 
					 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	const char *found_mime_type;
 | 
					 	const char *found_mime_type;
 | 
				
			||||||
 	const char *found_moved_temporarily;
 | 
					 	const char *found_moved_temporarily;
 | 
				
			||||||
@@ -34,8 +30,8 @@ Index: busybox-1.8.1/networking/httpd.c
 | 
				
			|||||||
 	Htaccess_IP *ip_a_d;    /* config allow/deny lines */
 | 
					 	Htaccess_IP *ip_a_d;    /* config allow/deny lines */
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	USE_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
 | 
					 	USE_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
 | 
				
			||||||
@@ -297,6 +299,8 @@
 | 
					@@ -292,6 +294,8 @@
 | 
				
			||||||
 #define home_httpd        (G.home_httpd       )
 | 
					 #define index_page        (G.index_page       )
 | 
				
			||||||
 #define found_mime_type   (G.found_mime_type  )
 | 
					 #define found_mime_type   (G.found_mime_type  )
 | 
				
			||||||
 #define found_moved_temporarily (G.found_moved_temporarily)
 | 
					 #define found_moved_temporarily (G.found_moved_temporarily)
 | 
				
			||||||
+#define redirect_path     (G.redirect_path    )
 | 
					+#define redirect_path     (G.redirect_path    )
 | 
				
			||||||
@@ -43,7 +39,7 @@ Index: busybox-1.8.1/networking/httpd.c
 | 
				
			|||||||
 #define last_mod          (G.last_mod         )
 | 
					 #define last_mod          (G.last_mod         )
 | 
				
			||||||
 #define ip_a_d            (G.ip_a_d           )
 | 
					 #define ip_a_d            (G.ip_a_d           )
 | 
				
			||||||
 #define g_realm           (G.g_realm          )
 | 
					 #define g_realm           (G.g_realm          )
 | 
				
			||||||
@@ -988,8 +992,11 @@
 | 
					@@ -991,8 +995,11 @@
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
 #endif
 | 
					 #endif
 | 
				
			||||||
 	if (responseNum == HTTP_MOVED_TEMPORARILY) {
 | 
					 	if (responseNum == HTTP_MOVED_TEMPORARILY) {
 | 
				
			||||||
@@ -56,21 +52,21 @@ Index: busybox-1.8.1/networking/httpd.c
 | 
				
			|||||||
 				(g_query ? "?" : ""),
 | 
					 				(g_query ? "?" : ""),
 | 
				
			||||||
 				(g_query ? g_query : ""));
 | 
					 				(g_query ? g_query : ""));
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
@@ -1907,8 +1914,12 @@
 | 
					@@ -1912,8 +1919,12 @@
 | 
				
			||||||
 	*++urlp = '\0';       /* so keep last character */
 | 
					 	} while (*++tptr);
 | 
				
			||||||
 	tptr = urlp;          /* end ptr */
 | 
					 	*++urlp = '\0';       /* terminate after last character */
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
+	/* redirect active */
 | 
					+	/* redirect active */
 | 
				
			||||||
+	if (redirect_path && (strncmp(urlcopy, redirect_path, strlen(redirect_path)) != 0))
 | 
					+	if (redirect_path && (strncmp(urlcopy, redirect_path, strlen(redirect_path)) != 0))
 | 
				
			||||||
+		found_moved_temporarily = redirect_path;
 | 
					+		found_moved_temporarily = redirect_path;
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
 	/* If URL is a directory, add '/' */
 | 
					 	/* If URL is a directory, add '/' */
 | 
				
			||||||
-	if (tptr[-1] != '/') {
 | 
					-	if (urlp[-1] != '/') {
 | 
				
			||||||
+	if (!redirect_path && (tptr[-1] != '/')) {
 | 
					+	if (!redirect_path && (urlp[-1] != '/')) {
 | 
				
			||||||
 		if (is_directory(urlcopy + 1, 1, &sb)) {
 | 
					 		if (is_directory(urlcopy + 1, 1, &sb)) {
 | 
				
			||||||
 			found_moved_temporarily = urlcopy;
 | 
					 			found_moved_temporarily = urlcopy;
 | 
				
			||||||
 		}
 | 
					 		}
 | 
				
			||||||
@@ -2252,7 +2263,9 @@
 | 
					@@ -2263,7 +2274,9 @@
 | 
				
			||||||
 #endif
 | 
					 #endif
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 enum {
 | 
					 enum {
 | 
				
			||||||
@@ -81,10 +77,10 @@ Index: busybox-1.8.1/networking/httpd.c
 | 
				
			|||||||
 	d_opt_decode_url,
 | 
					 	d_opt_decode_url,
 | 
				
			||||||
 	h_opt_home_httpd,
 | 
					 	h_opt_home_httpd,
 | 
				
			||||||
 	USE_FEATURE_HTTPD_ENCODE_URL_STR(e_opt_encode_url,)
 | 
					 	USE_FEATURE_HTTPD_ENCODE_URL_STR(e_opt_encode_url,)
 | 
				
			||||||
@@ -2301,12 +2314,13 @@
 | 
					@@ -2312,12 +2325,13 @@
 | 
				
			||||||
 	/* We do not "absolutize" path given by -h (home) opt.
 | 
					 	/* We do not "absolutize" path given by -h (home) opt.
 | 
				
			||||||
 	 * If user gives relative path in -h, $SCRIPT_FILENAME can end up
 | 
					 	 * If user gives relative path in -h,
 | 
				
			||||||
 	 * relative too. */
 | 
					 	 * $SCRIPT_FILENAME will not be set. */
 | 
				
			||||||
-	opt = getopt32(argv, "c:d:h:"
 | 
					-	opt = getopt32(argv, "c:d:h:"
 | 
				
			||||||
+	opt = getopt32(argv, "R:H:c:d:h:"
 | 
					+	opt = getopt32(argv, "R:H:c:d:h:"
 | 
				
			||||||
 			USE_FEATURE_HTTPD_ENCODE_URL_STR("e:")
 | 
					 			USE_FEATURE_HTTPD_ENCODE_URL_STR("e:")
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,72 +0,0 @@
 | 
				
			|||||||
Index: busybox-1.7.2/editors/awk.c
 | 
					 | 
				
			||||||
===================================================================
 | 
					 | 
				
			||||||
--- busybox-1.7.2.orig/editors/awk.c	2007-10-30 15:34:59.000000000 -0500
 | 
					 | 
				
			||||||
+++ busybox-1.7.2/editors/awk.c	2007-10-30 15:35:03.000000000 -0500
 | 
					 | 
				
			||||||
@@ -2757,6 +2757,7 @@
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
 	unsigned opt;
 | 
					 | 
				
			||||||
 	char *opt_F, *opt_W;
 | 
					 | 
				
			||||||
+	llist_t *opt_f = NULL;
 | 
					 | 
				
			||||||
 	llist_t *opt_v = NULL;
 | 
					 | 
				
			||||||
 	int i, j, flen;
 | 
					 | 
				
			||||||
 	var *v;
 | 
					 | 
				
			||||||
@@ -2816,8 +2817,8 @@
 | 
					 | 
				
			||||||
 			*s1 = '=';
 | 
					 | 
				
			||||||
 		}
 | 
					 | 
				
			||||||
 	}
 | 
					 | 
				
			||||||
-	opt_complementary = "v::";
 | 
					 | 
				
			||||||
-	opt = getopt32(argv, "F:v:f:W:", &opt_F, &opt_v, &g_progname, &opt_W);
 | 
					 | 
				
			||||||
+	opt_complementary = "v::f::";
 | 
					 | 
				
			||||||
+	opt = getopt32(argv, "F:v:f:W:", &opt_F, &opt_v, &opt_f, &opt_W);
 | 
					 | 
				
			||||||
 	argv += optind;
 | 
					 | 
				
			||||||
 	argc -= optind;
 | 
					 | 
				
			||||||
 	if (opt & 0x1)
 | 
					 | 
				
			||||||
@@ -2826,25 +2827,31 @@
 | 
					 | 
				
			||||||
 		if (!is_assignment(llist_pop(&opt_v)))
 | 
					 | 
				
			||||||
 			bb_show_usage();
 | 
					 | 
				
			||||||
 	}
 | 
					 | 
				
			||||||
-	if (opt & 0x4) { // -f
 | 
					 | 
				
			||||||
-		char *s = s; /* die, gcc, die */
 | 
					 | 
				
			||||||
-		FILE *from_file = afopen(g_progname, "r");
 | 
					 | 
				
			||||||
-		/* one byte is reserved for some trick in next_token */
 | 
					 | 
				
			||||||
-		if (fseek(from_file, 0, SEEK_END) == 0) {
 | 
					 | 
				
			||||||
-			flen = ftell(from_file);
 | 
					 | 
				
			||||||
-			s = xmalloc(flen + 4);
 | 
					 | 
				
			||||||
-			fseek(from_file, 0, SEEK_SET);
 | 
					 | 
				
			||||||
-			i = 1 + fread(s + 1, 1, flen, from_file);
 | 
					 | 
				
			||||||
-		} else {
 | 
					 | 
				
			||||||
-			for (i = j = 1; j > 0; i += j) {
 | 
					 | 
				
			||||||
-				s = xrealloc(s, i + 4096);
 | 
					 | 
				
			||||||
-				j = fread(s + i, 1, 4094, from_file);
 | 
					 | 
				
			||||||
+	if (opt_f != NULL) { // -f
 | 
					 | 
				
			||||||
+		while (opt_f != NULL) {
 | 
					 | 
				
			||||||
+			char *s = NULL;
 | 
					 | 
				
			||||||
+			FILE *from_file;
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
+			g_progname = opt_f->data;
 | 
					 | 
				
			||||||
+			from_file = afopen(g_progname, "r");
 | 
					 | 
				
			||||||
+			/* one byte is reserved for some trick in next_token */
 | 
					 | 
				
			||||||
+			if (fseek(from_file, 0, SEEK_END) == 0) {
 | 
					 | 
				
			||||||
+				flen = ftell(from_file);
 | 
					 | 
				
			||||||
+				s = xmalloc(flen + 4);
 | 
					 | 
				
			||||||
+				fseek(from_file, 0, SEEK_SET);
 | 
					 | 
				
			||||||
+				i = 1 + fread(s + 1, 1, flen, from_file);
 | 
					 | 
				
			||||||
+			} else {
 | 
					 | 
				
			||||||
+				for (i = j = 1; j > 0; i += j) {
 | 
					 | 
				
			||||||
+					s = xrealloc(s, i + 4096);
 | 
					 | 
				
			||||||
+					j = fread(s + i, 1, 4094, from_file);
 | 
					 | 
				
			||||||
+				}
 | 
					 | 
				
			||||||
 			}
 | 
					 | 
				
			||||||
+			s[i] = '\0';
 | 
					 | 
				
			||||||
+			fclose(from_file);
 | 
					 | 
				
			||||||
+			parse_program(s + 1);
 | 
					 | 
				
			||||||
+			free(s);
 | 
					 | 
				
			||||||
+			opt_f = opt_f->link;
 | 
					 | 
				
			||||||
 		}
 | 
					 | 
				
			||||||
-		s[i] = '\0';
 | 
					 | 
				
			||||||
-		fclose(from_file);
 | 
					 | 
				
			||||||
-		parse_program(s + 1);
 | 
					 | 
				
			||||||
-		free(s);
 | 
					 | 
				
			||||||
 	} else { // no -f: take program from 1st parameter
 | 
					 | 
				
			||||||
 		if (!argc)
 | 
					 | 
				
			||||||
 			bb_show_usage();
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,39 +0,0 @@
 | 
				
			|||||||
Index: busybox-1.7.2/include/platform.h
 | 
					 | 
				
			||||||
===================================================================
 | 
					 | 
				
			||||||
--- busybox-1.7.2.orig/include/platform.h	2007-10-30 15:34:59.000000000 -0500
 | 
					 | 
				
			||||||
+++ busybox-1.7.2/include/platform.h	2007-10-30 15:35:04.000000000 -0500
 | 
					 | 
				
			||||||
@@ -137,9 +137,11 @@
 | 
					 | 
				
			||||||
 # include <netinet/in.h>
 | 
					 | 
				
			||||||
 #endif
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+#ifndef __APPLE__
 | 
					 | 
				
			||||||
 #ifndef __socklen_t_defined
 | 
					 | 
				
			||||||
 typedef int socklen_t;
 | 
					 | 
				
			||||||
 #endif
 | 
					 | 
				
			||||||
+#endif
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 /* ---- Compiler dependent settings ------------------------- */
 | 
					 | 
				
			||||||
 #if (defined __digital__ && defined __unix__)
 | 
					 | 
				
			||||||
@@ -179,7 +181,7 @@
 | 
					 | 
				
			||||||
 #define HAVE_STDINT_H
 | 
					 | 
				
			||||||
 #else
 | 
					 | 
				
			||||||
 /* Largest integral types.  */
 | 
					 | 
				
			||||||
-#if __BIG_ENDIAN__
 | 
					 | 
				
			||||||
+#if __BIG_ENDIAN__ && !__APPLE__
 | 
					 | 
				
			||||||
 typedef long                intmax_t;
 | 
					 | 
				
			||||||
 typedef unsigned long       uintmax_t;
 | 
					 | 
				
			||||||
 #else
 | 
					 | 
				
			||||||
Index: busybox-1.7.2/include/libbb.h
 | 
					 | 
				
			||||||
===================================================================
 | 
					 | 
				
			||||||
--- busybox-1.7.2.orig/include/libbb.h	2007-10-30 15:34:59.000000000 -0500
 | 
					 | 
				
			||||||
+++ busybox-1.7.2/include/libbb.h	2007-10-30 15:35:04.000000000 -0500
 | 
					 | 
				
			||||||
@@ -31,7 +31,9 @@
 | 
					 | 
				
			||||||
 #include <sys/mman.h>
 | 
					 | 
				
			||||||
 #include <sys/socket.h>
 | 
					 | 
				
			||||||
 #include <sys/stat.h>
 | 
					 | 
				
			||||||
+#ifndef __APPLE__
 | 
					 | 
				
			||||||
 #include <sys/statfs.h>
 | 
					 | 
				
			||||||
+#endif
 | 
					 | 
				
			||||||
 #include <sys/time.h>
 | 
					 | 
				
			||||||
 #include <sys/types.h>
 | 
					 | 
				
			||||||
 #include <sys/wait.h>
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,7 @@
 | 
				
			|||||||
Index: busybox-1.7.2/networking/httpd.c
 | 
					--- a/networking/httpd.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/networking/httpd.c
 | 
				
			||||||
--- busybox-1.7.2.orig/networking/httpd.c	2007-10-30 15:35:03.000000000 -0500
 | 
					@@ -1247,10 +1247,10 @@
 | 
				
			||||||
+++ busybox-1.7.2/networking/httpd.c	2007-10-30 15:35:04.000000000 -0500
 | 
					 						if (full_write(STDOUT_FILENO, HTTP_200, sizeof(HTTP_200)-1) != sizeof(HTTP_200)-1)
 | 
				
			||||||
@@ -1316,10 +1316,10 @@
 | 
					 | 
				
			||||||
 						if (full_write(1, HTTP_200, sizeof(HTTP_200)-1) != sizeof(HTTP_200)-1)
 | 
					 | 
				
			||||||
 							break;
 | 
					 							break;
 | 
				
			||||||
 					}
 | 
					 					}
 | 
				
			||||||
-					/* Commented out:
 | 
					-					/* Commented out:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,13 +1,11 @@
 | 
				
			|||||||
Index: busybox-1.7.2/coreutils/uniq.c
 | 
					--- a/coreutils/uniq.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/coreutils/uniq.c
 | 
				
			||||||
--- busybox-1.7.2.orig/coreutils/uniq.c	2007-10-30 15:34:59.000000000 -0500
 | 
					@@ -82,6 +82,8 @@
 | 
				
			||||||
+++ busybox-1.7.2/coreutils/uniq.c	2007-10-30 15:35:04.000000000 -0500
 | 
					 | 
				
			||||||
@@ -83,6 +83,8 @@
 | 
					 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 			if (!s0 || strcmp(e0, e1)) {
 | 
					 			if (!s0 || strncmp(e0, e1, max_chars)) {
 | 
				
			||||||
 				break;
 | 
					 				break;
 | 
				
			||||||
+			} else {
 | 
					+			} else {
 | 
				
			||||||
+				free(s1);
 | 
					+				free(s1);
 | 
				
			||||||
 			}
 | 
					 			}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 			++dups;		 /* Note: Testing for overflow seems excessive. */
 | 
					 			++dups;	 /* note: testing for overflow seems excessive. */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,8 @@
 | 
				
			|||||||
Index: busybox-1.7.2/networking/httpd.c
 | 
					--- a/networking/httpd.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/networking/httpd.c
 | 
				
			||||||
--- busybox-1.7.2.orig/networking/httpd.c	2007-10-30 15:35:04.000000000 -0500
 | 
					@@ -1797,6 +1797,7 @@
 | 
				
			||||||
+++ busybox-1.7.2/networking/httpd.c	2007-10-30 15:35:04.000000000 -0500
 | 
					 	char *header_ptr = header_ptr;
 | 
				
			||||||
@@ -1618,6 +1618,7 @@
 | 
					 	Htaccess_Proxy *proxy_entry;
 | 
				
			||||||
 #if ENABLE_FEATURE_HTTPD_BASIC_AUTH
 | 
					 | 
				
			||||||
 	int credentials = -1;  /* if not required this is Ok */
 | 
					 | 
				
			||||||
 #endif
 | 
					 #endif
 | 
				
			||||||
+	xchdir(home_httpd);
 | 
					+	xchdir(home_httpd);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,12 +0,0 @@
 | 
				
			|||||||
Index: busybox-1.7.2/applets/usage_compressed
 | 
					 | 
				
			||||||
===================================================================
 | 
					 | 
				
			||||||
--- busybox-1.7.2.orig/applets/usage_compressed	2007-10-30 15:34:59.000000000 -0500
 | 
					 | 
				
			||||||
+++ busybox-1.7.2/applets/usage_compressed	2007-10-30 15:35:04.000000000 -0500
 | 
					 | 
				
			||||||
@@ -14,6 +14,6 @@
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 echo 'static const char packed_usage[] ALIGN1 = '
 | 
					 | 
				
			||||||
 "$loc/usage" | bzip2 -1 | od -v -t x1 \
 | 
					 | 
				
			||||||
-| $SED -e 's/^[^ ]*//' -e 's/  *\(..\)/\\x\1/g' -e 's/^\(.*\)$/"\1"/'
 | 
					 | 
				
			||||||
+| $SED -e 's/^[^ ]*//' -e 's/  *\([a-f0-9][a-f0-9]\)/\\x\1/g' -e 's/^\(.*\)$/"\1"/'
 | 
					 | 
				
			||||||
 echo ';'
 | 
					 | 
				
			||||||
 echo '#define SIZEOF_usage_messages' `expr 0 + $sz`
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,5 @@
 | 
				
			|||||||
Index: busybox-1.7.2/networking/ping.c
 | 
					--- a/networking/ping.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/networking/ping.c
 | 
				
			||||||
--- busybox-1.7.2.orig/networking/ping.c	2007-10-30 15:34:59.000000000 -0500
 | 
					 | 
				
			||||||
+++ busybox-1.7.2/networking/ping.c	2007-10-30 15:35:05.000000000 -0500
 | 
					 | 
				
			||||||
@@ -91,7 +91,7 @@
 | 
					@@ -91,7 +91,7 @@
 | 
				
			||||||
 	struct sockaddr_in pingaddr;
 | 
					 	struct sockaddr_in pingaddr;
 | 
				
			||||||
 	struct icmp *pkt;
 | 
					 	struct icmp *pkt;
 | 
				
			||||||
@@ -10,7 +8,7 @@ Index: busybox-1.7.2/networking/ping.c
 | 
				
			|||||||
+	char packet[datalen + ICMP_MINLEN + MAXIPLEN + MAXICMPLEN];
 | 
					+	char packet[datalen + ICMP_MINLEN + MAXIPLEN + MAXICMPLEN];
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	pingsock = create_icmp_socket();
 | 
					 	pingsock = create_icmp_socket();
 | 
				
			||||||
 	pingaddr = lsa->sin;
 | 
					 	pingaddr = lsa->u.sin;
 | 
				
			||||||
@@ -101,7 +101,7 @@
 | 
					@@ -101,7 +101,7 @@
 | 
				
			||||||
 	pkt->icmp_type = ICMP_ECHO;
 | 
					 	pkt->icmp_type = ICMP_ECHO;
 | 
				
			||||||
 	pkt->icmp_cksum = in_cksum((unsigned short *) pkt, sizeof(packet));
 | 
					 	pkt->icmp_cksum = in_cksum((unsigned short *) pkt, sizeof(packet));
 | 
				
			||||||
@@ -28,7 +26,7 @@ Index: busybox-1.7.2/networking/ping.c
 | 
				
			|||||||
+	char packet[datalen + ICMP_MINLEN + MAXIPLEN + MAXICMPLEN];
 | 
					+	char packet[datalen + ICMP_MINLEN + MAXIPLEN + MAXICMPLEN];
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	pingsock = create_icmp6_socket();
 | 
					 	pingsock = create_icmp6_socket();
 | 
				
			||||||
 	pingaddr = lsa->sin6;
 | 
					 	pingaddr = lsa->u.sin6;
 | 
				
			||||||
@@ -147,7 +147,7 @@
 | 
					@@ -147,7 +147,7 @@
 | 
				
			||||||
 	sockopt = offsetof(struct icmp6_hdr, icmp6_cksum);
 | 
					 	sockopt = offsetof(struct icmp6_hdr, icmp6_cksum);
 | 
				
			||||||
 	setsockopt(pingsock, SOL_RAW, IPV6_CHECKSUM, &sockopt, sizeof(sockopt));
 | 
					 	setsockopt(pingsock, SOL_RAW, IPV6_CHECKSUM, &sockopt, sizeof(sockopt));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,5 @@
 | 
				
			|||||||
Index: busybox-1.8.1/modutils/insmod.c
 | 
					--- a/modutils/insmod.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/modutils/insmod.c
 | 
				
			||||||
--- busybox-1.8.1.orig/modutils/insmod.c	2007-11-10 02:40:49.000000000 +0100
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/modutils/insmod.c	2007-11-10 17:28:44.391223047 +0100
 | 
					 | 
				
			||||||
@@ -61,21 +61,117 @@
 | 
					@@ -61,21 +61,117 @@
 | 
				
			||||||
 #include "libbb.h"
 | 
					 #include "libbb.h"
 | 
				
			||||||
 #include <libgen.h>
 | 
					 #include <libgen.h>
 | 
				
			||||||
@@ -27,9 +25,9 @@ Index: busybox-1.8.1/modutils/insmod.c
 | 
				
			|||||||
 #if ENABLE_FEATURE_2_6_MODULES
 | 
					 #if ENABLE_FEATURE_2_6_MODULES
 | 
				
			||||||
-static int insmod_ng_main(int argc, char **argv);
 | 
					-static int insmod_ng_main(int argc, char **argv);
 | 
				
			||||||
+int insmod_main_26(int argc, char **argv);
 | 
					+int insmod_main_26(int argc, char **argv);
 | 
				
			||||||
+#endif
 | 
					 #endif
 | 
				
			||||||
+int insmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 | 
					+int insmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 | 
				
			||||||
+
 | 
					 
 | 
				
			||||||
+static char *g_filename = NULL;
 | 
					+static char *g_filename = NULL;
 | 
				
			||||||
+#define _PATH_MODULES	"/lib/modules"
 | 
					+#define _PATH_MODULES	"/lib/modules"
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -69,7 +67,7 @@ Index: busybox-1.8.1/modutils/insmod.c
 | 
				
			|||||||
+	if (k_version <= 4)
 | 
					+	if (k_version <= 4)
 | 
				
			||||||
+		suffix = ".o";
 | 
					+		suffix = ".o";
 | 
				
			||||||
+	else
 | 
					+	else
 | 
				
			||||||
 #endif
 | 
					+#endif
 | 
				
			||||||
+		suffix = ".ko";
 | 
					+		suffix = ".ko";
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+	len = strlen(filename);
 | 
					+	len = strlen(filename);
 | 
				
			||||||
@@ -111,7 +109,7 @@ Index: busybox-1.8.1/modutils/insmod.c
 | 
				
			|||||||
+		ret = 0;
 | 
					+		ret = 0;
 | 
				
			||||||
+	else
 | 
					+	else
 | 
				
			||||||
+		free(g_filename);
 | 
					+		free(g_filename);
 | 
				
			||||||
 
 | 
					+
 | 
				
			||||||
+done:
 | 
					+done:
 | 
				
			||||||
+	free(filename);
 | 
					+	free(filename);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -125,23 +123,50 @@ Index: busybox-1.8.1/modutils/insmod.c
 | 
				
			|||||||
 #if ENABLE_FEATURE_INSMOD_LOADINKMEM
 | 
					 #if ENABLE_FEATURE_INSMOD_LOADINKMEM
 | 
				
			||||||
 #define LOADBITS 0
 | 
					 #define LOADBITS 0
 | 
				
			||||||
 #else
 | 
					 #else
 | 
				
			||||||
@@ -673,7 +769,6 @@
 | 
					@@ -184,7 +280,6 @@
 | 
				
			||||||
 | 
					 /* Microblaze */
 | 
				
			||||||
 | 
					 #if defined(__microblaze__)
 | 
				
			||||||
 | 
					 #define USE_SINGLE
 | 
				
			||||||
 | 
					-#include <linux/elf-em.h>
 | 
				
			||||||
 | 
					 #define MATCH_MACHINE(x) (x == EM_XILINX_MICROBLAZE)
 | 
				
			||||||
 | 
					 #define SHT_RELM	SHT_RELA
 | 
				
			||||||
 | 
					 #define Elf32_RelM	Elf32_Rela
 | 
				
			||||||
 | 
					@@ -452,7 +547,7 @@
 | 
				
			||||||
 | 
					 /* The system calls unchanged between 2.0 and 2.1.  */
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 unsigned long create_module(const char *, size_t);
 | 
				
			||||||
 | 
					-int delete_module(const char *module, unsigned int flags);
 | 
				
			||||||
 | 
					+int delete_module(const char *);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 #endif /* module.h */
 | 
				
			||||||
 | 
					@@ -652,7 +747,7 @@
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 static enum obj_reloc arch_apply_relocation(struct obj_file *f,
 | 
				
			||||||
 | 
					 				      struct obj_section *targsec,
 | 
				
			||||||
 | 
					-				      /*struct obj_section *symsec,*/
 | 
				
			||||||
 | 
					+				      struct obj_section *symsec,
 | 
				
			||||||
 | 
					 				      struct obj_symbol *sym,
 | 
				
			||||||
 | 
					 				      ElfW(RelM) *rel, ElfW(Addr) value);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					@@ -673,6 +768,7 @@
 | 
				
			||||||
 | 
					 #define SPFX	""
 | 
				
			||||||
 #endif
 | 
					 #endif
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 
 | 
					+
 | 
				
			||||||
-#define _PATH_MODULES	"/lib/modules"
 | 
					 | 
				
			||||||
 enum { STRVERSIONLEN = 64 };
 | 
					 enum { STRVERSIONLEN = 64 };
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 /*======================================================================*/
 | 
					 /*======================================================================*/
 | 
				
			||||||
@@ -789,27 +884,6 @@
 | 
					@@ -788,28 +884,6 @@
 | 
				
			||||||
 static char *m_fullName;
 | 
					 static char *m_fullName;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
-/*======================================================================*/
 | 
					-/*======================================================================*/
 | 
				
			||||||
-
 | 
					-
 | 
				
			||||||
-
 | 
					-
 | 
				
			||||||
-static int check_module_name_match(const char *filename, struct stat *statbuf,
 | 
					-static int check_module_name_match(const char *filename,
 | 
				
			||||||
-				void *userdata, int depth)
 | 
					-		struct stat *statbuf ATTRIBUTE_UNUSED,
 | 
				
			||||||
 | 
					-		void *userdata, int depth ATTRIBUTE_UNUSED)
 | 
				
			||||||
-{
 | 
					-{
 | 
				
			||||||
-	char *fullname = (char *) userdata;
 | 
					-	char *fullname = (char *) userdata;
 | 
				
			||||||
-	char *tmp;
 | 
					-	char *tmp;
 | 
				
			||||||
@@ -161,7 +186,170 @@ Index: busybox-1.8.1/modutils/insmod.c
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 /*======================================================================*/
 | 
					 /*======================================================================*/
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -3897,145 +3971,57 @@
 | 
					@@ -835,27 +909,18 @@
 | 
				
			||||||
 | 
					 static enum obj_reloc
 | 
				
			||||||
 | 
					 arch_apply_relocation(struct obj_file *f,
 | 
				
			||||||
 | 
					 				struct obj_section *targsec,
 | 
				
			||||||
 | 
					-				/*struct obj_section *symsec,*/
 | 
				
			||||||
 | 
					+				struct obj_section *symsec,
 | 
				
			||||||
 | 
					 				struct obj_symbol *sym,
 | 
				
			||||||
 | 
					 				ElfW(RelM) *rel, ElfW(Addr) v)
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					-#if defined(__arm__) || defined(__i386__) || defined(__mc68000__) \
 | 
				
			||||||
 | 
					- || defined(__sh__) || defined(__s390__) || defined(__x86_64__)
 | 
				
			||||||
 | 
					 	struct arch_file *ifile = (struct arch_file *) f;
 | 
				
			||||||
 | 
					-#endif
 | 
				
			||||||
 | 
					 	enum obj_reloc ret = obj_reloc_ok;
 | 
				
			||||||
 | 
					 	ElfW(Addr) *loc = (ElfW(Addr) *) (targsec->contents + rel->r_offset);
 | 
				
			||||||
 | 
					-#if defined(__arm__) || defined(__H8300H__) || defined(__H8300S__) \
 | 
				
			||||||
 | 
					- || defined(__i386__) || defined(__mc68000__) || defined(__microblaze__) \
 | 
				
			||||||
 | 
					- || defined(__mips__) || defined(__nios2__) || defined(__powerpc__) \
 | 
				
			||||||
 | 
					- || defined(__s390__) || defined(__sh__) || defined(__x86_64__)
 | 
				
			||||||
 | 
					 	ElfW(Addr) dot = targsec->header.sh_addr + rel->r_offset;
 | 
				
			||||||
 | 
					-#endif
 | 
				
			||||||
 | 
					 #if defined(USE_GOT_ENTRIES) || defined(USE_PLT_ENTRIES)
 | 
				
			||||||
 | 
					 	struct arch_symbol *isym = (struct arch_symbol *) sym;
 | 
				
			||||||
 | 
					 #endif
 | 
				
			||||||
 | 
					-#if defined(__arm__) || defined(__i386__) || defined(__mc68000__) \
 | 
				
			||||||
 | 
					- || defined(__sh__) || defined(__s390__)
 | 
				
			||||||
 | 
					+#if defined(__arm__) || defined(__i386__) || defined(__mc68000__) || defined(__sh__) || defined(__s390__)
 | 
				
			||||||
 | 
					 #if defined(USE_GOT_ENTRIES)
 | 
				
			||||||
 | 
					 	ElfW(Addr) got = ifile->got ? ifile->got->header.sh_addr : 0;
 | 
				
			||||||
 | 
					 #endif
 | 
				
			||||||
 | 
					@@ -953,7 +1018,6 @@
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 		case R_386_PLT32:
 | 
				
			||||||
 | 
					 		case R_386_PC32:
 | 
				
			||||||
 | 
					-		case R_386_GOTOFF:
 | 
				
			||||||
 | 
					 			*loc += v - dot;
 | 
				
			||||||
 | 
					 			break;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					@@ -972,6 +1036,9 @@
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 		case R_386_GOT32:
 | 
				
			||||||
 | 
					 			goto bb_use_got;
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+		case R_386_GOTOFF:
 | 
				
			||||||
 | 
					+			*loc += v - got;
 | 
				
			||||||
 | 
					 			break;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 #elif defined(__microblaze__)
 | 
				
			||||||
 | 
					@@ -1758,7 +1825,7 @@
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 #if defined(USE_SINGLE)
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-static int arch_single_init(/*ElfW(RelM) *rel,*/ struct arch_single_entry *single,
 | 
				
			||||||
 | 
					+static int arch_single_init(ElfW(RelM) *rel, struct arch_single_entry *single,
 | 
				
			||||||
 | 
					 			     int offset, int size)
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					 	if (single->allocated == 0) {
 | 
				
			||||||
 | 
					@@ -1906,7 +1973,7 @@
 | 
				
			||||||
 | 
					 #if defined(USE_GOT_ENTRIES)
 | 
				
			||||||
 | 
					 			if (got_allocate) {
 | 
				
			||||||
 | 
					 				got_offset += arch_single_init(
 | 
				
			||||||
 | 
					-						/*rel,*/ &intsym->gotent,
 | 
				
			||||||
 | 
					+						rel, &intsym->gotent,
 | 
				
			||||||
 | 
					 						got_offset, GOT_ENTRY_SIZE);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 				got_needed = 1;
 | 
				
			||||||
 | 
					@@ -1920,7 +1987,7 @@
 | 
				
			||||||
 | 
					 						plt_offset, PLT_ENTRY_SIZE);
 | 
				
			||||||
 | 
					 #else
 | 
				
			||||||
 | 
					 				plt_offset += arch_single_init(
 | 
				
			||||||
 | 
					-						/*rel,*/ &intsym->pltent,
 | 
				
			||||||
 | 
					+						rel, &intsym->pltent,
 | 
				
			||||||
 | 
					 						plt_offset, PLT_ENTRY_SIZE);
 | 
				
			||||||
 | 
					 #endif
 | 
				
			||||||
 | 
					 				plt_needed = 1;
 | 
				
			||||||
 | 
					@@ -1958,8 +2025,7 @@
 | 
				
			||||||
 | 
					 	while (n > 0) {
 | 
				
			||||||
 | 
					 		ch = *name++;
 | 
				
			||||||
 | 
					 		h = (h << 4) + ch;
 | 
				
			||||||
 | 
					-		g = (h & 0xf0000000);
 | 
				
			||||||
 | 
					-		if (g != 0) {
 | 
				
			||||||
 | 
					+		if ((g = (h & 0xf0000000)) != 0) {
 | 
				
			||||||
 | 
					 			h ^= g >> 24;
 | 
				
			||||||
 | 
					 			h &= ~g;
 | 
				
			||||||
 | 
					 		}
 | 
				
			||||||
 | 
					@@ -2038,7 +2104,7 @@
 | 
				
			||||||
 | 
					 	int n_type = ELF_ST_TYPE(info);
 | 
				
			||||||
 | 
					 	int n_binding = ELF_ST_BIND(info);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-	for (sym = f->symtab[hash]; sym; sym = sym->next) {
 | 
				
			||||||
 | 
					+	for (sym = f->symtab[hash]; sym; sym = sym->next)
 | 
				
			||||||
 | 
					 		if (f->symbol_cmp(sym->name, name) == 0) {
 | 
				
			||||||
 | 
					 			int o_secidx = sym->secidx;
 | 
				
			||||||
 | 
					 			int o_info = sym->info;
 | 
				
			||||||
 | 
					@@ -2097,14 +2163,14 @@
 | 
				
			||||||
 | 
					 				return sym;
 | 
				
			||||||
 | 
					 			}
 | 
				
			||||||
 | 
					 		}
 | 
				
			||||||
 | 
					-	}
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 	/* Completely new symbol.  */
 | 
				
			||||||
 | 
					 	sym = arch_new_symbol();
 | 
				
			||||||
 | 
					 	sym->next = f->symtab[hash];
 | 
				
			||||||
 | 
					 	f->symtab[hash] = sym;
 | 
				
			||||||
 | 
					 	sym->ksymidx = -1;
 | 
				
			||||||
 | 
					-	if (ELF_ST_BIND(info) == STB_LOCAL && symidx != (unsigned long)(-1)) {
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+	if (ELF_ST_BIND(info) == STB_LOCAL && symidx != -1) {
 | 
				
			||||||
 | 
					 		if (symidx >= f->local_symtab_size)
 | 
				
			||||||
 | 
					 			bb_error_msg("local symbol %s with index %ld exceeds local_symtab_size %ld",
 | 
				
			||||||
 | 
					 					name, (long) symidx, (long) f->local_symtab_size);
 | 
				
			||||||
 | 
					@@ -3227,7 +3293,7 @@
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 			/* Do it! */
 | 
				
			||||||
 | 
					 			switch (arch_apply_relocation
 | 
				
			||||||
 | 
					-					(f, targsec, /*symsec,*/ intsym, rel, value)
 | 
				
			||||||
 | 
					+					(f, targsec, symsec, intsym, rel, value)
 | 
				
			||||||
 | 
					 			) {
 | 
				
			||||||
 | 
					 			case obj_reloc_ok:
 | 
				
			||||||
 | 
					 				break;
 | 
				
			||||||
 | 
					@@ -3306,11 +3372,11 @@
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 /*======================================================================*/
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-static struct obj_file *obj_load(FILE * fp, int loadprogbits ATTRIBUTE_UNUSED)
 | 
				
			||||||
 | 
					+static struct obj_file *obj_load(FILE * fp, int loadprogbits)
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					 	struct obj_file *f;
 | 
				
			||||||
 | 
					 	ElfW(Shdr) * section_headers;
 | 
				
			||||||
 | 
					-	size_t shnum, i;
 | 
				
			||||||
 | 
					+	int shnum, i;
 | 
				
			||||||
 | 
					 	char *shstrtab;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 	/* Read the file header.  */
 | 
				
			||||||
 | 
					@@ -3582,7 +3648,7 @@
 | 
				
			||||||
 | 
					 		while (ptr < endptr) {
 | 
				
			||||||
 | 
					 			value = strchr(ptr, '=');
 | 
				
			||||||
 | 
					 			if (value && strncmp(ptr, "license", value-ptr) == 0) {
 | 
				
			||||||
 | 
					-				unsigned i;
 | 
				
			||||||
 | 
					+				int i;
 | 
				
			||||||
 | 
					 				if (license)
 | 
				
			||||||
 | 
					 					*license = value+1;
 | 
				
			||||||
 | 
					 				for (i = 0; i < ARRAY_SIZE(gpl_licenses); ++i) {
 | 
				
			||||||
 | 
					@@ -3686,9 +3752,6 @@
 | 
				
			||||||
 | 
					  * start of some sections.  this info is used by ksymoops to do better
 | 
				
			||||||
 | 
					  * debugging.
 | 
				
			||||||
 | 
					  */
 | 
				
			||||||
 | 
					-#if !ENABLE_FEATURE_INSMOD_VERSION_CHECKING
 | 
				
			||||||
 | 
					-#define get_module_version(f, str) get_module_version(str)
 | 
				
			||||||
 | 
					-#endif
 | 
				
			||||||
 | 
					 static int
 | 
				
			||||||
 | 
					 get_module_version(struct obj_file *f, char str[STRVERSIONLEN])
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					@@ -3721,8 +3784,7 @@
 | 
				
			||||||
 | 
					 	struct obj_symbol *sym;
 | 
				
			||||||
 | 
					 	char *name, *absolute_filename;
 | 
				
			||||||
 | 
					 	char str[STRVERSIONLEN];
 | 
				
			||||||
 | 
					-	unsigned i;
 | 
				
			||||||
 | 
					-	int l, lm_name, lfilename, use_ksymtab, version;
 | 
				
			||||||
 | 
					+	int i, l, lm_name, lfilename, use_ksymtab, version;
 | 
				
			||||||
 | 
					 	struct stat statbuf;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 	/* WARNING: was using realpath, but replaced by readlink to stop using
 | 
				
			||||||
 | 
					@@ -3909,145 +3971,57 @@
 | 
				
			||||||
 void print_load_map(struct obj_file *f);
 | 
					 void print_load_map(struct obj_file *f);
 | 
				
			||||||
 #endif
 | 
					 #endif
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -257,10 +445,8 @@ Index: busybox-1.8.1/modutils/insmod.c
 | 
				
			|||||||
-	} else {
 | 
					-	} else {
 | 
				
			||||||
-		free(tmp1);
 | 
					-		free(tmp1);
 | 
				
			||||||
-		tmp1 = NULL;       /* flag for free(m_name) before exit() */
 | 
					-		tmp1 = NULL;       /* flag for free(m_name) before exit() */
 | 
				
			||||||
+		tmp = xstrdup(arg1);
 | 
					-	}
 | 
				
			||||||
+		m_name = basename(tmp);
 | 
					-
 | 
				
			||||||
 	}
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-	/* Get a filedesc for the module.  Check that we have a complete path */
 | 
					-	/* Get a filedesc for the module.  Check that we have a complete path */
 | 
				
			||||||
-	if (stat(arg1, &st) < 0 || !S_ISREG(st.st_mode)
 | 
					-	if (stat(arg1, &st) < 0 || !S_ISREG(st.st_mode)
 | 
				
			||||||
-	 || (fp = fopen(arg1, "r")) == NULL
 | 
					-	 || (fp = fopen(arg1, "r")) == NULL
 | 
				
			||||||
@@ -271,7 +457,7 @@ Index: busybox-1.8.1/modutils/insmod.c
 | 
				
			|||||||
-			char *module_dir;
 | 
					-			char *module_dir;
 | 
				
			||||||
-			char *tmdn;
 | 
					-			char *tmdn;
 | 
				
			||||||
-
 | 
					-
 | 
				
			||||||
-			tmdn = concat_path_file(_PATH_MODULES, myuname.release);
 | 
					-			tmdn = concat_path_file(CONFIG_DEFAULT_MODULES_DIR, myuname.release);
 | 
				
			||||||
-			/* Jump through hoops in case /lib/modules/`uname -r`
 | 
					-			/* Jump through hoops in case /lib/modules/`uname -r`
 | 
				
			||||||
-			 * is a symlink.  We do not want recursive_action to
 | 
					-			 * is a symlink.  We do not want recursive_action to
 | 
				
			||||||
-			 * follow symlinks, but we do want to follow the
 | 
					-			 * follow symlinks, but we do want to follow the
 | 
				
			||||||
@@ -293,9 +479,9 @@ Index: busybox-1.8.1/modutils/insmod.c
 | 
				
			|||||||
-
 | 
					-
 | 
				
			||||||
-			free(m_filename);
 | 
					-			free(m_filename);
 | 
				
			||||||
-			m_filename = NULL;
 | 
					-			m_filename = NULL;
 | 
				
			||||||
-			module_dir = xmalloc_readlink(_PATH_MODULES);
 | 
					-			module_dir = xmalloc_readlink(CONFIG_DEFAULT_MODULES_DIR);
 | 
				
			||||||
-			if (!module_dir)
 | 
					-			if (!module_dir)
 | 
				
			||||||
-				module_dir = xstrdup(_PATH_MODULES);
 | 
					-				module_dir = xstrdup(CONFIG_DEFAULT_MODULES_DIR);
 | 
				
			||||||
-			/* No module found under /lib/modules/`uname -r`, this
 | 
					-			/* No module found under /lib/modules/`uname -r`, this
 | 
				
			||||||
-			 * time cast the net a bit wider.  Search /lib/modules/ */
 | 
					-			 * time cast the net a bit wider.  Search /lib/modules/ */
 | 
				
			||||||
-			r = recursive_action(module_dir, ACTION_RECURSE,
 | 
					-			r = recursive_action(module_dir, ACTION_RECURSE,
 | 
				
			||||||
@@ -308,10 +494,12 @@ Index: busybox-1.8.1/modutils/insmod.c
 | 
				
			|||||||
-			) {
 | 
					-			) {
 | 
				
			||||||
-				bb_error_msg_and_die("%s: module not found", m_fullName);
 | 
					-				bb_error_msg_and_die("%s: module not found", m_fullName);
 | 
				
			||||||
-			}
 | 
					-			}
 | 
				
			||||||
-		}
 | 
					+		tmp = xstrdup(arg1);
 | 
				
			||||||
 | 
					+		m_name = basename(tmp);
 | 
				
			||||||
 | 
					 		}
 | 
				
			||||||
-	} else
 | 
					-	} else
 | 
				
			||||||
-		m_filename = xstrdup(arg1);
 | 
					-		m_filename = xstrdup(arg1);
 | 
				
			||||||
-
 | 
					 
 | 
				
			||||||
-	if (flag_verbose)
 | 
					-	if (flag_verbose)
 | 
				
			||||||
-		printf("Using %s\n", m_filename);
 | 
					-		printf("Using %s\n", m_filename);
 | 
				
			||||||
-
 | 
					-
 | 
				
			||||||
@@ -329,7 +517,7 @@ Index: busybox-1.8.1/modutils/insmod.c
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 	f = obj_load(fp, LOADBITS);
 | 
					 	f = obj_load(fp, LOADBITS);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -4062,7 +4048,7 @@
 | 
					@@ -4074,7 +4048,7 @@
 | 
				
			||||||
 				"\t%s was compiled for kernel version %s\n"
 | 
					 				"\t%s was compiled for kernel version %s\n"
 | 
				
			||||||
 				"\twhile this kernel is version %s",
 | 
					 				"\twhile this kernel is version %s",
 | 
				
			||||||
 				flag_force_load ? "warning: " : "",
 | 
					 				flag_force_load ? "warning: " : "",
 | 
				
			||||||
@@ -338,7 +526,7 @@ Index: busybox-1.8.1/modutils/insmod.c
 | 
				
			|||||||
 			if (!flag_force_load)
 | 
					 			if (!flag_force_load)
 | 
				
			||||||
 				goto out;
 | 
					 				goto out;
 | 
				
			||||||
 		}
 | 
					 		}
 | 
				
			||||||
@@ -4104,7 +4090,7 @@
 | 
					@@ -4116,7 +4090,7 @@
 | 
				
			||||||
 	hide_special_symbols(f);
 | 
					 	hide_special_symbols(f);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 #if ENABLE_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
 | 
					 #if ENABLE_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
 | 
				
			||||||
@@ -347,7 +535,37 @@ Index: busybox-1.8.1/modutils/insmod.c
 | 
				
			|||||||
 #endif /* FEATURE_INSMOD_KSYMOOPS_SYMBOLS */
 | 
					 #endif /* FEATURE_INSMOD_KSYMOOPS_SYMBOLS */
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	new_create_module_ksymtab(f);
 | 
					 	new_create_module_ksymtab(f);
 | 
				
			||||||
@@ -4147,18 +4133,19 @@
 | 
					@@ -4125,7 +4099,7 @@
 | 
				
			||||||
 | 
					 	m_size = obj_load_size(f);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 	m_addr = create_module(m_name, m_size);
 | 
				
			||||||
 | 
					-	if (m_addr == (ElfW(Addr))(-1)) switch (errno) {
 | 
				
			||||||
 | 
					+	if (m_addr == -1) switch (errno) {
 | 
				
			||||||
 | 
					 		case EEXIST:
 | 
				
			||||||
 | 
					 			bb_error_msg_and_die("a module named %s already exists", m_name);
 | 
				
			||||||
 | 
					 		case ENOMEM:
 | 
				
			||||||
 | 
					@@ -4141,36 +4115,37 @@
 | 
				
			||||||
 | 
					 	 * now we can load them directly into the kernel memory
 | 
				
			||||||
 | 
					 	 */
 | 
				
			||||||
 | 
					 	if (!obj_load_progbits(fp, f, (char*)m_addr)) {
 | 
				
			||||||
 | 
					-		delete_module(m_name, 0);
 | 
				
			||||||
 | 
					+		delete_module(m_name);
 | 
				
			||||||
 | 
					 		goto out;
 | 
				
			||||||
 | 
					 	}
 | 
				
			||||||
 | 
					 #endif
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 	if (!obj_relocate(f, m_addr)) {
 | 
				
			||||||
 | 
					-		delete_module(m_name, 0);
 | 
				
			||||||
 | 
					+		delete_module(m_name);
 | 
				
			||||||
 | 
					 		goto out;
 | 
				
			||||||
 | 
					 	}
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 	if (!new_init_module(m_name, f, m_size)) {
 | 
				
			||||||
 | 
					-		delete_module(m_name, 0);
 | 
				
			||||||
 | 
					+		delete_module(m_name);
 | 
				
			||||||
 | 
					 		goto out;
 | 
				
			||||||
 | 
					 	}
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 	if (flag_print_load_map)
 | 
					 	if (flag_print_load_map)
 | 
				
			||||||
 		print_load_map(f);
 | 
					 		print_load_map(f);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -372,19 +590,34 @@ Index: busybox-1.8.1/modutils/insmod.c
 | 
				
			|||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 #endif /* ENABLE_FEATURE_2_4_MODULES */
 | 
					 #endif /* ENABLE_FEATURE_2_4_MODULES */
 | 
				
			||||||
@@ -4190,23 +4177,32 @@
 | 
					@@ -4182,15 +4157,8 @@
 | 
				
			||||||
 | 
					 #if ENABLE_FEATURE_2_6_MODULES
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 #include <sys/mman.h>
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
 | 
					-#if defined __UCLIBC__ && !ENABLE_FEATURE_2_4_MODULES
 | 
				
			||||||
 | 
					-/* big time suckage. The old prototype above renders our nice fwd-decl wrong */
 | 
				
			||||||
 | 
					-extern int init_module(void *module, unsigned long len, const char *options);
 | 
				
			||||||
 | 
					-#else
 | 
				
			||||||
 | 
					 #include <asm/unistd.h>
 | 
				
			||||||
 | 
					 #include <sys/syscall.h>
 | 
				
			||||||
 | 
					-#define init_module(mod, len, opts) syscall(__NR_init_module, mod, len, opts)
 | 
				
			||||||
 | 
					-#endif
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 /* We use error numbers in a loose translation... */
 | 
				
			||||||
 | 
					 static const char *moderror(int err)
 | 
				
			||||||
 | 
					@@ -4209,22 +4177,32 @@
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
-#if !ENABLE_FEATURE_2_4_MODULES
 | 
					-#if !ENABLE_FEATURE_2_4_MODULES
 | 
				
			||||||
-int insmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 | 
					-int insmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 | 
				
			||||||
-int insmod_main(int argc, char **argv)
 | 
					-int insmod_main(int argc ATTRIBUTE_UNUSED, char **argv)
 | 
				
			||||||
-#else
 | 
					-#else
 | 
				
			||||||
-static int insmod_ng_main(int argc, char **argv)
 | 
					-static int insmod_ng_main(int argc ATTRIBUTE_UNUSED, char **argv)
 | 
				
			||||||
-#endif
 | 
					-#endif
 | 
				
			||||||
+int insmod_main_26(int argc, char **argv)
 | 
					+int insmod_main_26(int argc, char **argv)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
-	long ret;
 | 
					 | 
				
			||||||
-	size_t len;
 | 
					-	size_t len;
 | 
				
			||||||
+	char *filename, *options;
 | 
					+	char *filename, *options;
 | 
				
			||||||
+	struct utsname myuname;
 | 
					+	struct utsname myuname;
 | 
				
			||||||
@@ -414,12 +647,20 @@ Index: busybox-1.8.1/modutils/insmod.c
 | 
				
			|||||||
 	/* Rest is options */
 | 
					 	/* Rest is options */
 | 
				
			||||||
 	options = xzalloc(1);
 | 
					 	options = xzalloc(1);
 | 
				
			||||||
 	optlen = 0;
 | 
					 	optlen = 0;
 | 
				
			||||||
@@ -4216,36 +4212,47 @@
 | 
					@@ -4234,41 +4212,47 @@
 | 
				
			||||||
 		optlen += sprintf(options + optlen, (strchr(*argv,' ') ? "\"%s\" " : "%s "), *argv);
 | 
					 		optlen += sprintf(options + optlen, (strchr(*argv,' ') ? "\"%s\" " : "%s "), *argv);
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
-#if 0
 | 
					-#if 0
 | 
				
			||||||
-	/* Any special reason why mmap? It isn't performace critical... */
 | 
					-	/* Any special reason why mmap? It isn't performance critical. -vda */
 | 
				
			||||||
 | 
					-	/* Yes, xmalloc'ing can use *alot* of RAM. Don't forget that there are
 | 
				
			||||||
 | 
					-	 * modules out there that are half a megabyte! mmap()ing is way nicer
 | 
				
			||||||
 | 
					-	 * for small mem boxes, i guess. */
 | 
				
			||||||
 | 
					-	/* But after load, these modules will take up that 0.5mb in kernel
 | 
				
			||||||
 | 
					-	 * anyway. Using malloc here causes only a transient spike to 1mb,
 | 
				
			||||||
 | 
					-	 * after module is loaded, we go back to normal 0.5mb usage
 | 
				
			||||||
 | 
					-	 * (in kernel). Also, mmap isn't magic - when we touch mapped data,
 | 
				
			||||||
 | 
					-	 * we use memory. -vda */
 | 
				
			||||||
-	int fd;
 | 
					-	int fd;
 | 
				
			||||||
-	struct stat st;
 | 
					-	struct stat st;
 | 
				
			||||||
-	unsigned long len;
 | 
					-	unsigned long len;
 | 
				
			||||||
@@ -440,18 +681,19 @@ Index: busybox-1.8.1/modutils/insmod.c
 | 
				
			|||||||
 	len = MAXINT(ssize_t);
 | 
					 	len = MAXINT(ssize_t);
 | 
				
			||||||
-	map = xmalloc_open_read_close(filename, &len);
 | 
					-	map = xmalloc_open_read_close(filename, &len);
 | 
				
			||||||
-#endif
 | 
					-#endif
 | 
				
			||||||
-
 | 
					 | 
				
			||||||
+	map = xmalloc_open_read_close(g_filename, &len);
 | 
					+	map = xmalloc_open_read_close(g_filename, &len);
 | 
				
			||||||
 	ret = syscall(__NR_init_module, map, len, options);
 | 
					+	ret = syscall(__NR_init_module, map, len, options);
 | 
				
			||||||
 	if (ret != 0) {
 | 
					+	if (ret != 0) {
 | 
				
			||||||
 		bb_perror_msg_and_die("cannot insert '%s': %s (%li)",
 | 
					+		bb_perror_msg_and_die("cannot insert '%s': %s (%li)",
 | 
				
			||||||
-				filename, moderror(errno), ret);
 | 
					 | 
				
			||||||
+				g_filename, moderror(errno), ret);
 | 
					+				g_filename, moderror(errno), ret);
 | 
				
			||||||
 	}
 | 
					+	}
 | 
				
			||||||
+done:
 | 
					+done:
 | 
				
			||||||
+	if (g_filename && (g_filename != filename))
 | 
					+	if (g_filename && (g_filename != filename))
 | 
				
			||||||
+		free(g_filename);
 | 
					+		free(g_filename);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
					-	if (init_module(map, len, options) != 0)
 | 
				
			||||||
 | 
					-		bb_error_msg_and_die("cannot insert '%s': %s",
 | 
				
			||||||
 | 
					-				filename, moderror(errno));
 | 
				
			||||||
-	return 0;
 | 
					-	return 0;
 | 
				
			||||||
+	return ret;
 | 
					+	return ret;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,40 +0,0 @@
 | 
				
			|||||||
Index: busybox-1.8.1/editors/awk.c
 | 
					 | 
				
			||||||
===================================================================
 | 
					 | 
				
			||||||
--- busybox-1.8.1.orig/editors/awk.c	2007-11-10 23:53:16.950053243 +0100
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/editors/awk.c	2007-11-10 23:53:23.422422084 +0100
 | 
					 | 
				
			||||||
@@ -446,7 +446,7 @@
 | 
					 | 
				
			||||||
 	tsplitter fsplitter, rsplitter;
 | 
					 | 
				
			||||||
 };
 | 
					 | 
				
			||||||
 #define G1 (ptr_to_globals[-1])
 | 
					 | 
				
			||||||
-#define G (*(struct globals2 *const)ptr_to_globals)
 | 
					 | 
				
			||||||
+#define G (*(struct globals2 *)ptr_to_globals)
 | 
					 | 
				
			||||||
 /* For debug. nm --size-sort awk.o | grep -vi ' [tr] ' */
 | 
					 | 
				
			||||||
 /* char G1size[sizeof(G1)]; - 0x6c */
 | 
					 | 
				
			||||||
 /* char Gsize[sizeof(G)]; - 0x1cc */
 | 
					 | 
				
			||||||
Index: busybox-1.8.1/include/libbb.h
 | 
					 | 
				
			||||||
===================================================================
 | 
					 | 
				
			||||||
--- busybox-1.8.1.orig/include/libbb.h	2007-11-10 23:53:38.135260518 +0100
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/include/libbb.h	2007-11-10 23:54:15.773405393 +0100
 | 
					 | 
				
			||||||
@@ -1111,8 +1111,10 @@
 | 
					 | 
				
			||||||
 struct globals;
 | 
					 | 
				
			||||||
 /* '*const' ptr makes gcc optimize code much better.
 | 
					 | 
				
			||||||
  * Magic prevents ptr_to_globals from going into rodata.
 | 
					 | 
				
			||||||
- * If you want to assign a value, use PTR_TO_GLOBALS = xxx */
 | 
					 | 
				
			||||||
-extern struct globals *const ptr_to_globals;
 | 
					 | 
				
			||||||
+ * If you want to assign a value, use PTR_TO_GLOBALS = xxx 
 | 
					 | 
				
			||||||
+ * unfortunately the above hack doesn't work properly :P
 | 
					 | 
				
			||||||
+ */
 | 
					 | 
				
			||||||
+extern struct globals *ptr_to_globals;
 | 
					 | 
				
			||||||
 #define PTR_TO_GLOBALS (*(struct globals**)&ptr_to_globals)
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
Index: busybox-1.8.1/libbb/messages.c
 | 
					 | 
				
			||||||
===================================================================
 | 
					 | 
				
			||||||
--- busybox-1.8.1.orig/libbb/messages.c	2007-11-10 23:52:47.116353117 +0100
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/libbb/messages.c	2007-11-10 23:52:57.752959269 +0100
 | 
					 | 
				
			||||||
@@ -74,4 +74,4 @@
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 struct globals;
 | 
					 | 
				
			||||||
 /* Make it reside in R/W memory: */
 | 
					 | 
				
			||||||
-struct globals *const ptr_to_globals __attribute__ ((section (".data")));
 | 
					 | 
				
			||||||
+struct globals *ptr_to_globals __attribute__ ((section (".data")));
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,6 @@
 | 
				
			|||||||
Index: busybox-1.8.1/archival/Config.in
 | 
					--- a/archival/Config.in
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/Config.in
 | 
				
			||||||
--- busybox-1.8.1.orig/archival/Config.in	2007-11-10 17:39:21.063504932 +0100
 | 
					@@ -139,6 +139,15 @@
 | 
				
			||||||
+++ busybox-1.8.1/archival/Config.in	2007-11-10 17:40:53.320762376 +0100
 | 
					 | 
				
			||||||
@@ -131,6 +131,15 @@
 | 
					 | 
				
			||||||
 	  gzip is used to compress files.
 | 
					 	  gzip is used to compress files.
 | 
				
			||||||
 	  It's probably the most widely used UNIX compression program.
 | 
					 	  It's probably the most widely used UNIX compression program.
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -18,11 +16,9 @@ Index: busybox-1.8.1/archival/Config.in
 | 
				
			|||||||
 config RPM2CPIO
 | 
					 config RPM2CPIO
 | 
				
			||||||
 	bool "rpm2cpio"
 | 
					 	bool "rpm2cpio"
 | 
				
			||||||
 	default n
 | 
					 	default n
 | 
				
			||||||
Index: busybox-1.8.1/archival/dpkg.c
 | 
					--- a/archival/dpkg.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/dpkg.c
 | 
				
			||||||
--- busybox-1.8.1.orig/archival/dpkg.c	2007-11-10 17:39:21.071505389 +0100
 | 
					@@ -1482,6 +1482,10 @@
 | 
				
			||||||
+++ busybox-1.8.1/archival/dpkg.c	2007-11-10 17:40:53.320762376 +0100
 | 
					 | 
				
			||||||
@@ -1455,6 +1455,10 @@
 | 
					 | 
				
			||||||
 	return ar_handle->sub_archive->buffer;
 | 
					 	return ar_handle->sub_archive->buffer;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -33,7 +29,7 @@ Index: busybox-1.8.1/archival/dpkg.c
 | 
				
			|||||||
 static void data_extract_all_prefix(archive_handle_t *archive_handle)
 | 
					 static void data_extract_all_prefix(archive_handle_t *archive_handle)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	char *name_ptr = archive_handle->file_header->name;
 | 
					 	char *name_ptr = archive_handle->file_header->name;
 | 
				
			||||||
@@ -1466,6 +1470,8 @@
 | 
					@@ -1493,6 +1497,8 @@
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -42,10 +38,8 @@ Index: busybox-1.8.1/archival/dpkg.c
 | 
				
			|||||||
 static void unpack_package(deb_file_t *deb_file)
 | 
					 static void unpack_package(deb_file_t *deb_file)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	const char *package_name = name_hashtable[package_hashtable[deb_file->package]->name];
 | 
					 	const char *package_name = name_hashtable[package_hashtable[deb_file->package]->name];
 | 
				
			||||||
Index: busybox-1.8.1/archival/ipkg.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/ipkg.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/ipkg.c	2007-11-10 17:41:16.866104145 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,27 @@
 | 
					@@ -0,0 +1,27 @@
 | 
				
			||||||
+/* ipkg.c - the itsy package management system
 | 
					+/* ipkg.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -74,10 +68,8 @@ Index: busybox-1.8.1/archival/ipkg.c
 | 
				
			|||||||
+{
 | 
					+{
 | 
				
			||||||
+	return ipkg_op(argc, argv);
 | 
					+	return ipkg_op(argc, argv);
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
Index: busybox-1.8.1/archival/Kbuild
 | 
					--- a/archival/Kbuild
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/Kbuild
 | 
				
			||||||
--- busybox-1.8.1.orig/archival/Kbuild	2007-11-10 17:39:21.083506071 +0100
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/Kbuild	2007-11-10 17:40:53.332763058 +0100
 | 
					 | 
				
			||||||
@@ -16,6 +16,7 @@
 | 
					@@ -16,6 +16,7 @@
 | 
				
			||||||
 lib-$(CONFIG_DPKG_DEB)		+= dpkg_deb.o
 | 
					 lib-$(CONFIG_DPKG_DEB)		+= dpkg_deb.o
 | 
				
			||||||
 lib-$(CONFIG_GUNZIP)		+= bbunzip.o
 | 
					 lib-$(CONFIG_GUNZIP)		+= bbunzip.o
 | 
				
			||||||
@@ -86,10 +78,8 @@ Index: busybox-1.8.1/archival/Kbuild
 | 
				
			|||||||
 lib-$(CONFIG_RPM2CPIO)		+= rpm2cpio.o
 | 
					 lib-$(CONFIG_RPM2CPIO)		+= rpm2cpio.o
 | 
				
			||||||
 lib-$(CONFIG_RPM)		+= rpm.o
 | 
					 lib-$(CONFIG_RPM)		+= rpm.o
 | 
				
			||||||
 lib-$(CONFIG_TAR)		+= tar.o
 | 
					 lib-$(CONFIG_TAR)		+= tar.o
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/args.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/args.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/args.c	2007-11-10 17:40:53.336763287 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,242 @@
 | 
					@@ -0,0 +1,242 @@
 | 
				
			||||||
+/* args.c - parse command-line args
 | 
					+/* args.c - parse command-line args
 | 
				
			||||||
+ 
 | 
					+ 
 | 
				
			||||||
@@ -333,10 +323,8 @@ Index: busybox-1.8.1/archival/libipkg/args.c
 | 
				
			|||||||
+{
 | 
					+{
 | 
				
			||||||
+	bb_error_msg("version %s\n", IPKG_VERSION);
 | 
					+	bb_error_msg("version %s\n", IPKG_VERSION);
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/args.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/args.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/args.h	2007-11-10 17:40:53.340763516 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,72 @@
 | 
					@@ -0,0 +1,72 @@
 | 
				
			||||||
+/* args.h - parse command-line args
 | 
					+/* args.h - parse command-line args
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -410,10 +398,8 @@ Index: busybox-1.8.1/archival/libipkg/args.h
 | 
				
			|||||||
+void args_usage(char *complaint);
 | 
					+void args_usage(char *complaint);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/conffile.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/conffile.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/conffile.c	2007-11-10 17:40:53.340763516 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,64 @@
 | 
					@@ -0,0 +1,64 @@
 | 
				
			||||||
+/* conffile.c - the itsy package management system
 | 
					+/* conffile.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -479,10 +465,8 @@ Index: busybox-1.8.1/archival/libipkg/conffile.c
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
+    return ret;
 | 
					+    return ret;
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/conffile.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/conffile.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/conffile.h	2007-11-10 17:40:53.340763516 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,30 @@
 | 
					@@ -0,0 +1,30 @@
 | 
				
			||||||
+/* conffile.h - the itsy package management system
 | 
					+/* conffile.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -514,10 +498,8 @@ Index: busybox-1.8.1/archival/libipkg/conffile.h
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/conffile_list.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/conffile_list.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/conffile_list.c	2007-11-10 17:40:53.340763516 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,47 @@
 | 
					@@ -0,0 +1,47 @@
 | 
				
			||||||
+/* conffile_list.c - the itsy package management system
 | 
					+/* conffile_list.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -566,10 +548,8 @@ Index: busybox-1.8.1/archival/libipkg/conffile_list.c
 | 
				
			|||||||
+    return nv_pair_list_pop(list);
 | 
					+    return nv_pair_list_pop(list);
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/conffile_list.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/conffile_list.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/conffile_list.h	2007-11-10 17:40:53.340763516 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,36 @@
 | 
					@@ -0,0 +1,36 @@
 | 
				
			||||||
+/* conffile_list.h - the itsy package management system
 | 
					+/* conffile_list.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -607,10 +587,8 @@ Index: busybox-1.8.1/archival/libipkg/conffile_list.h
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/file_util.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/file_util.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/file_util.c	2007-11-10 17:40:53.340763516 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,132 @@
 | 
					@@ -0,0 +1,132 @@
 | 
				
			||||||
+/* file_util.c - convenience routines for common stat operations
 | 
					+/* file_util.c - convenience routines for common stat operations
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -744,10 +722,8 @@ Index: busybox-1.8.1/archival/libipkg/file_util.c
 | 
				
			|||||||
+	return hash_file(file_name, HASH_MD5);
 | 
					+	return hash_file(file_name, HASH_MD5);
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/file_util.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/file_util.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/file_util.h	2007-11-10 17:40:53.344763742 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,29 @@
 | 
					@@ -0,0 +1,29 @@
 | 
				
			||||||
+/* file_util.h - convenience routines for common file operations
 | 
					+/* file_util.h - convenience routines for common file operations
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -778,10 +754,8 @@ Index: busybox-1.8.1/archival/libipkg/file_util.h
 | 
				
			|||||||
+char *file_md5sum_alloc(const char *file_name);
 | 
					+char *file_md5sum_alloc(const char *file_name);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/hash_table.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/hash_table.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/hash_table.c	2007-11-10 17:40:53.344763742 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,155 @@
 | 
					@@ -0,0 +1,155 @@
 | 
				
			||||||
+/* hash.c - hash tables for ipkg
 | 
					+/* hash.c - hash tables for ipkg
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -938,10 +912,8 @@ Index: busybox-1.8.1/archival/libipkg/hash_table.c
 | 
				
			|||||||
+    }
 | 
					+    }
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/hash_table.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/hash_table.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/hash_table.h	2007-11-10 17:40:53.344763742 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,44 @@
 | 
					@@ -0,0 +1,44 @@
 | 
				
			||||||
+/* hash.h - hash tables for ipkg
 | 
					+/* hash.h - hash tables for ipkg
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -987,10 +959,8 @@ Index: busybox-1.8.1/archival/libipkg/hash_table.h
 | 
				
			|||||||
+void hash_table_foreach(hash_table_t *hash, void (*f)(const char *key, void *entry, void *data), void *data);
 | 
					+void hash_table_foreach(hash_table_t *hash, void (*f)(const char *key, void *entry, void *data), void *data);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif /* _HASH_TABLE_H_ */
 | 
					+#endif /* _HASH_TABLE_H_ */
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg_cmd.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_cmd.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg_cmd.c	2007-11-10 17:40:53.344763742 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,1431 @@
 | 
					@@ -0,0 +1,1431 @@
 | 
				
			||||||
+/* ipkg_cmd.c - the itsy package management system
 | 
					+/* ipkg_cmd.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -2423,10 +2393,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_cmd.c
 | 
				
			|||||||
+}
 | 
					+}
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg_cmd.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_cmd.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg_cmd.h	2007-11-10 17:40:53.348763971 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,46 @@
 | 
					@@ -0,0 +1,46 @@
 | 
				
			||||||
+/* ipkg_cmd.h - the itsy package management system
 | 
					+/* ipkg_cmd.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -2474,10 +2442,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_cmd.h
 | 
				
			|||||||
+int pkg_mark_provides(pkg_t *pkg);
 | 
					+int pkg_mark_provides(pkg_t *pkg);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg_conf.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_conf.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg_conf.c	2007-11-10 17:40:53.348763971 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,711 @@
 | 
					@@ -0,0 +1,711 @@
 | 
				
			||||||
+/* ipkg_conf.c - the itsy package management system
 | 
					+/* ipkg_conf.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -3190,10 +3156,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_conf.c
 | 
				
			|||||||
+     sprintf_alloc(&root_filename, "%s%s", (conf->offline_root ? conf->offline_root : ""), filename);
 | 
					+     sprintf_alloc(&root_filename, "%s%s", (conf->offline_root ? conf->offline_root : ""), filename);
 | 
				
			||||||
+     return root_filename;
 | 
					+     return root_filename;
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg_conf.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_conf.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg_conf.h	2007-11-10 17:40:53.348763971 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,107 @@
 | 
					@@ -0,0 +1,107 @@
 | 
				
			||||||
+/* ipkg_conf.h - the itsy package management system
 | 
					+/* ipkg_conf.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -3302,10 +3266,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_conf.h
 | 
				
			|||||||
+char *root_filename_alloc(ipkg_conf_t *conf, char *filename);
 | 
					+char *root_filename_alloc(ipkg_conf_t *conf, char *filename);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg_configure.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_configure.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg_configure.c	2007-11-10 17:40:53.348763971 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,40 @@
 | 
					@@ -0,0 +1,40 @@
 | 
				
			||||||
+/* ipkg_configure.c - the itsy package management system
 | 
					+/* ipkg_configure.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -3347,10 +3309,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_configure.c
 | 
				
			|||||||
+    return 0;
 | 
					+    return 0;
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg_configure.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_configure.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg_configure.h	2007-11-10 17:40:53.348763971 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,25 @@
 | 
					@@ -0,0 +1,25 @@
 | 
				
			||||||
+/* ipkg_configure.h - the itsy package management system
 | 
					+/* ipkg_configure.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -3377,10 +3337,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_configure.h
 | 
				
			|||||||
+int ipkg_configure(ipkg_conf_t *ipkg_conf, pkg_t *pkg);
 | 
					+int ipkg_configure(ipkg_conf_t *ipkg_conf, pkg_t *pkg);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg_download.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_download.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg_download.c	2007-11-10 17:40:53.352764197 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,195 @@
 | 
					@@ -0,0 +1,195 @@
 | 
				
			||||||
+/* ipkg_download.c - the itsy package management system
 | 
					+/* ipkg_download.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -3577,10 +3535,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_download.c
 | 
				
			|||||||
+     }
 | 
					+     }
 | 
				
			||||||
+     return 0;
 | 
					+     return 0;
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg_download.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_download.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg_download.h	2007-11-10 17:40:53.352764197 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,30 @@
 | 
					@@ -0,0 +1,30 @@
 | 
				
			||||||
+/* ipkg_download.h - the itsy package management system
 | 
					+/* ipkg_download.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -3612,10 +3568,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_download.h
 | 
				
			|||||||
+int ipkg_prepare_url_for_install(ipkg_conf_t *conf, const char *url, char **namep);
 | 
					+int ipkg_prepare_url_for_install(ipkg_conf_t *conf, const char *url, char **namep);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg.h	2007-11-10 17:40:53.352764197 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,74 @@
 | 
					@@ -0,0 +1,74 @@
 | 
				
			||||||
+/* ipkg.h - the itsy package management system
 | 
					+/* ipkg.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -3691,10 +3645,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg.h
 | 
				
			|||||||
+extern ipkg_conf_t *global_conf;
 | 
					+extern ipkg_conf_t *global_conf;
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg_includes.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_includes.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg_includes.h	2007-11-10 17:40:53.352764197 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,79 @@
 | 
					@@ -0,0 +1,79 @@
 | 
				
			||||||
+#ifndef IPKG_INCLUDES_H
 | 
					+#ifndef IPKG_INCLUDES_H
 | 
				
			||||||
+#define IPKG_INCLUDES_H
 | 
					+#define IPKG_INCLUDES_H
 | 
				
			||||||
@@ -3775,10 +3727,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_includes.h
 | 
				
			|||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif /* IPKG_INCLUDES_H */
 | 
					+#endif /* IPKG_INCLUDES_H */
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg_install.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_install.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg_install.c	2007-11-10 17:40:53.356764426 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,1942 @@
 | 
					@@ -0,0 +1,1942 @@
 | 
				
			||||||
+/* ipkg_install.c - the itsy package management system
 | 
					+/* ipkg_install.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -5722,10 +5672,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_install.c
 | 
				
			|||||||
+}
 | 
					+}
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg_install.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_install.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg_install.h	2007-11-10 17:40:53.356764426 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,35 @@
 | 
					@@ -0,0 +1,35 @@
 | 
				
			||||||
+/* ipkg_install.h - the itsy package management system
 | 
					+/* ipkg_install.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -5762,10 +5710,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_install.h
 | 
				
			|||||||
+int name_mark_dependencies_for_installation(ipkg_conf_t *conf, const char *pkg_name, pkg_vec_t *pkgs_needed);
 | 
					+int name_mark_dependencies_for_installation(ipkg_conf_t *conf, const char *pkg_name, pkg_vec_t *pkgs_needed);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg_message.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_message.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg_message.c	2007-11-10 17:40:53.356764426 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,61 @@
 | 
					@@ -0,0 +1,61 @@
 | 
				
			||||||
+/* ipkg_message.c - the itsy package management system
 | 
					+/* ipkg_message.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -5828,10 +5774,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_message.c
 | 
				
			|||||||
+	}
 | 
					+	}
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg_message.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_message.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg_message.h	2007-11-10 17:40:53.356764426 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,32 @@
 | 
					@@ -0,0 +1,32 @@
 | 
				
			||||||
+/* ipkg_message.h - the itsy package management system
 | 
					+/* ipkg_message.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -5865,10 +5809,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_message.h
 | 
				
			|||||||
+extern void ipkg_message(ipkg_conf_t *conf, message_level_t level, const char *fmt, ...);
 | 
					+extern void ipkg_message(ipkg_conf_t *conf, message_level_t level, const char *fmt, ...);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif /* _IPKG_MESSAGE_H_ */
 | 
					+#endif /* _IPKG_MESSAGE_H_ */
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg_remove.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_remove.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg_remove.c	2007-11-10 17:40:53.360764656 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,383 @@
 | 
					@@ -0,0 +1,383 @@
 | 
				
			||||||
+/* ipkg_remove.c - the itsy package management system
 | 
					+/* ipkg_remove.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -6253,10 +6195,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_remove.c
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
+    return 0;
 | 
					+    return 0;
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg_remove.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_remove.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg_remove.h	2007-11-10 17:40:53.360764656 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,33 @@
 | 
					@@ -0,0 +1,33 @@
 | 
				
			||||||
+/* ipkg_remove.h - the itsy package management system
 | 
					+/* ipkg_remove.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -6291,10 +6231,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_remove.h
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg_upgrade.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_upgrade.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg_upgrade.c	2007-11-10 17:40:53.360764656 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,77 @@
 | 
					@@ -0,0 +1,77 @@
 | 
				
			||||||
+/* ipkg_upgrade.c - the itsy package management system
 | 
					+/* ipkg_upgrade.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -6373,10 +6311,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_upgrade.c
 | 
				
			|||||||
+     new->state_flag |= SF_USER;
 | 
					+     new->state_flag |= SF_USER;
 | 
				
			||||||
+     return ipkg_install_pkg(conf, new,1);
 | 
					+     return ipkg_install_pkg(conf, new,1);
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg_upgrade.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_upgrade.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg_upgrade.h	2007-11-10 17:40:53.360764656 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,18 @@
 | 
					@@ -0,0 +1,18 @@
 | 
				
			||||||
+/* ipkg_upgrade.c - the itsy package management system
 | 
					+/* ipkg_upgrade.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -6396,10 +6332,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_upgrade.h
 | 
				
			|||||||
+#include "ipkg.h"
 | 
					+#include "ipkg.h"
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+int ipkg_upgrade_pkg(ipkg_conf_t *conf, pkg_t *old);
 | 
					+int ipkg_upgrade_pkg(ipkg_conf_t *conf, pkg_t *old);
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg_utils.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_utils.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg_utils.c	2007-11-10 17:40:53.360764656 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,181 @@
 | 
					@@ -0,0 +1,181 @@
 | 
				
			||||||
+/* ipkg_utils.c - the itsy package management system
 | 
					+/* ipkg_utils.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -6582,10 +6516,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_utils.c
 | 
				
			|||||||
+}
 | 
					+}
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+       
 | 
					+       
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/ipkg_utils.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_utils.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/ipkg_utils.h	2007-11-10 17:40:53.360764656 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,29 @@
 | 
					@@ -0,0 +1,29 @@
 | 
				
			||||||
+/* ipkg_utils.h - the itsy package management system
 | 
					+/* ipkg_utils.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -6616,10 +6548,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_utils.h
 | 
				
			|||||||
+int line_is_blank(const char *line);
 | 
					+int line_is_blank(const char *line);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/Kbuild
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/Kbuild
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/Kbuild	2007-11-10 17:40:53.364764882 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,60 @@
 | 
					@@ -0,0 +1,60 @@
 | 
				
			||||||
+# Makefile for busybox
 | 
					+# Makefile for busybox
 | 
				
			||||||
+#
 | 
					+#
 | 
				
			||||||
@@ -6681,10 +6611,8 @@ Index: busybox-1.8.1/archival/libipkg/Kbuild
 | 
				
			|||||||
+IPKG_ARCH:=$(TARGET_ARCH)
 | 
					+IPKG_ARCH:=$(TARGET_ARCH)
 | 
				
			||||||
+endif
 | 
					+endif
 | 
				
			||||||
+CFLAGS += -DIPKG_LIB -DIPKGLIBDIR="\"/usr/lib\"" -DHOST_CPU_STR="\"$(IPKG_ARCH)\""
 | 
					+CFLAGS += -DIPKG_LIB -DIPKGLIBDIR="\"/usr/lib\"" -DHOST_CPU_STR="\"$(IPKG_ARCH)\""
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/libipkg.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/libipkg.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/libipkg.c	2007-11-10 17:40:53.364764882 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,527 @@
 | 
					@@ -0,0 +1,527 @@
 | 
				
			||||||
+/* ipkglib.c - the itsy package management system
 | 
					+/* ipkglib.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -7213,10 +7141,8 @@ Index: busybox-1.8.1/archival/libipkg/libipkg.c
 | 
				
			|||||||
+}
 | 
					+}
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif /* IPKG_LIB */
 | 
					+#endif /* IPKG_LIB */
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/libipkg.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/libipkg.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/libipkg.h	2007-11-10 17:40:53.364764882 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,88 @@
 | 
					@@ -0,0 +1,88 @@
 | 
				
			||||||
+/* ipkglib.h - the itsy package management system
 | 
					+/* ipkglib.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -7306,10 +7232,8 @@ Index: busybox-1.8.1/archival/libipkg/libipkg.h
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/nv_pair.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/nv_pair.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/nv_pair.c	2007-11-10 17:40:53.364764882 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,40 @@
 | 
					@@ -0,0 +1,40 @@
 | 
				
			||||||
+/* nv_pair.c - the itsy package management system
 | 
					+/* nv_pair.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -7351,10 +7275,8 @@ Index: busybox-1.8.1/archival/libipkg/nv_pair.c
 | 
				
			|||||||
+}
 | 
					+}
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/nv_pair.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/nv_pair.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/nv_pair.h	2007-11-10 17:40:53.372765337 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,32 @@
 | 
					@@ -0,0 +1,32 @@
 | 
				
			||||||
+/* nv_pair.h - the itsy package management system
 | 
					+/* nv_pair.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -7388,10 +7310,8 @@ Index: busybox-1.8.1/archival/libipkg/nv_pair.h
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/nv_pair_list.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/nv_pair_list.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/nv_pair_list.c	2007-11-10 17:40:53.372765337 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,98 @@
 | 
					@@ -0,0 +1,98 @@
 | 
				
			||||||
+/* nv_pair_list.c - the itsy package management system
 | 
					+/* nv_pair_list.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -7491,10 +7411,8 @@ Index: busybox-1.8.1/archival/libipkg/nv_pair_list.c
 | 
				
			|||||||
+     }    
 | 
					+     }    
 | 
				
			||||||
+     return NULL;
 | 
					+     return NULL;
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/nv_pair_list.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/nv_pair_list.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/nv_pair_list.h	2007-11-10 17:40:53.372765337 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,60 @@
 | 
					@@ -0,0 +1,60 @@
 | 
				
			||||||
+/* nv_pair_list.h - the itsy package management system
 | 
					+/* nv_pair_list.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -7556,10 +7474,8 @@ Index: busybox-1.8.1/archival/libipkg/nv_pair_list.h
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg.c	2007-11-10 17:40:53.376765566 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,1747 @@
 | 
					@@ -0,0 +1,1747 @@
 | 
				
			||||||
+/* pkg.c - the itsy package management system
 | 
					+/* pkg.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -9308,10 +9224,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg.c
 | 
				
			|||||||
+     }
 | 
					+     }
 | 
				
			||||||
+     return 0;
 | 
					+     return 0;
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg_depends.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_depends.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg_depends.c	2007-11-10 17:40:53.376765566 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,1031 @@
 | 
					@@ -0,0 +1,1031 @@
 | 
				
			||||||
+/* pkg_depends.c - the itsy package management system
 | 
					+/* pkg_depends.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -10344,10 +10258,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_depends.c
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
+     return 0;
 | 
					+     return 0;
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg_depends.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_depends.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg_depends.h	2007-11-10 17:40:53.376765566 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,105 @@
 | 
					@@ -0,0 +1,105 @@
 | 
				
			||||||
+/* pkg_depends.h - the itsy package management system
 | 
					+/* pkg_depends.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -10454,10 +10366,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_depends.h
 | 
				
			|||||||
+int pkg_dependence_satisfied(ipkg_conf_t *conf, depend_t *depend);
 | 
					+int pkg_dependence_satisfied(ipkg_conf_t *conf, depend_t *depend);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg_dest.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_dest.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg_dest.c	2007-11-10 17:40:53.376765566 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,92 @@
 | 
					@@ -0,0 +1,92 @@
 | 
				
			||||||
+/* pkg_dest.c - the itsy package management system
 | 
					+/* pkg_dest.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -10551,10 +10461,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_dest.c
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
+    dest->root_dir = NULL;
 | 
					+    dest->root_dir = NULL;
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg_dest.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_dest.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg_dest.h	2007-11-10 17:40:53.380765796 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,38 @@
 | 
					@@ -0,0 +1,38 @@
 | 
				
			||||||
+/* pkg_dest.h - the itsy package management system
 | 
					+/* pkg_dest.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -10594,10 +10502,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_dest.h
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg_dest_list.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_dest_list.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg_dest_list.c	2007-11-10 17:40:53.380765796 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,85 @@
 | 
					@@ -0,0 +1,85 @@
 | 
				
			||||||
+/* pkg_dest_list.c - the itsy package management system
 | 
					+/* pkg_dest_list.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -10684,10 +10590,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_dest_list.c
 | 
				
			|||||||
+{
 | 
					+{
 | 
				
			||||||
+    return (pkg_dest_list_elt_t *) void_list_pop((void_list_t *) list);
 | 
					+    return (pkg_dest_list_elt_t *) void_list_pop((void_list_t *) list);
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg_dest_list.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_dest_list.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg_dest_list.h	2007-11-10 17:40:53.380765796 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,50 @@
 | 
					@@ -0,0 +1,50 @@
 | 
				
			||||||
+/* pkg_dest_list.h - the itsy package management system
 | 
					+/* pkg_dest_list.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -10739,10 +10643,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_dest_list.h
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg_extract.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_extract.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg_extract.c	2007-11-10 17:40:53.380765796 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,224 @@
 | 
					@@ -0,0 +1,224 @@
 | 
				
			||||||
+/* pkg_extract.c - the itsy package management system
 | 
					+/* pkg_extract.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -10968,10 +10870,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_extract.c
 | 
				
			|||||||
+	
 | 
					+	
 | 
				
			||||||
+	return 0;
 | 
					+	return 0;
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg_extract.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_extract.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg_extract.h	2007-11-10 17:40:53.380765796 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,32 @@
 | 
					@@ -0,0 +1,32 @@
 | 
				
			||||||
+/* pkg_extract.c - the itsy package management system
 | 
					+/* pkg_extract.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -11005,10 +10905,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_extract.h
 | 
				
			|||||||
+int pkg_extract_data_file_names_to_stream(pkg_t *pkg, FILE *file);
 | 
					+int pkg_extract_data_file_names_to_stream(pkg_t *pkg, FILE *file);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg.h	2007-11-10 17:40:53.384766022 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,229 @@
 | 
					@@ -0,0 +1,229 @@
 | 
				
			||||||
+/* pkg.h - the itsy package management system
 | 
					+/* pkg.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -11239,10 +11137,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg.h
 | 
				
			|||||||
+int pkg_write_changed_filelists(ipkg_conf_t *conf);
 | 
					+int pkg_write_changed_filelists(ipkg_conf_t *conf);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg_hash.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_hash.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg_hash.c	2007-11-10 17:40:53.388766251 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,616 @@
 | 
					@@ -0,0 +1,616 @@
 | 
				
			||||||
+/* ipkg_hash.c - the itsy package management system
 | 
					+/* ipkg_hash.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -11860,10 +11756,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_hash.c
 | 
				
			|||||||
+}
 | 
					+}
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg_hash.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_hash.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg_hash.h	2007-11-10 17:40:53.388766251 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,61 @@
 | 
					@@ -0,0 +1,61 @@
 | 
				
			||||||
+/* pkg_hash.h - the itsy package management system
 | 
					+/* pkg_hash.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -11926,10 +11820,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_hash.h
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg_parse.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_parse.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg_parse.c	2007-11-10 17:40:53.388766251 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,366 @@
 | 
					@@ -0,0 +1,366 @@
 | 
				
			||||||
+/* pkg_parse.c - the itsy package management system
 | 
					+/* pkg_parse.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -12297,10 +12189,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_parse.c
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
+    return 0;
 | 
					+    return 0;
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg_parse.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_parse.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg_parse.h	2007-11-10 17:40:53.392766477 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,31 @@
 | 
					@@ -0,0 +1,31 @@
 | 
				
			||||||
+/* pkg_parse.h - the itsy package management system
 | 
					+/* pkg_parse.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -12333,10 +12223,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_parse.h
 | 
				
			|||||||
+int pkg_valorize_other_field(pkg_t *pkg, char ***raw);
 | 
					+int pkg_valorize_other_field(pkg_t *pkg, char ***raw);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg_src.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_src.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg_src.c	2007-11-10 17:40:53.392766477 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,43 @@
 | 
					@@ -0,0 +1,43 @@
 | 
				
			||||||
+/* pkg_src.c - the itsy package management system
 | 
					+/* pkg_src.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -12381,10 +12269,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_src.c
 | 
				
			|||||||
+}
 | 
					+}
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg_src.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_src.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg_src.h	2007-11-10 17:40:53.392766477 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,34 @@
 | 
					@@ -0,0 +1,34 @@
 | 
				
			||||||
+/* pkg_src.h - the itsy package management system
 | 
					+/* pkg_src.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -12420,10 +12306,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_src.h
 | 
				
			|||||||
+void pkg_src_deinit(pkg_src_t *src);
 | 
					+void pkg_src_deinit(pkg_src_t *src);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg_src_list.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_src_list.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg_src_list.c	2007-11-10 17:40:53.392766477 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,75 @@
 | 
					@@ -0,0 +1,75 @@
 | 
				
			||||||
+/* pkg_src_list.c - the itsy package management system
 | 
					+/* pkg_src_list.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -12500,10 +12384,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_src_list.c
 | 
				
			|||||||
+{
 | 
					+{
 | 
				
			||||||
+    return (pkg_src_list_elt_t *) void_list_pop((void_list_t *) list);
 | 
					+    return (pkg_src_list_elt_t *) void_list_pop((void_list_t *) list);
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg_src_list.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_src_list.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg_src_list.h	2007-11-10 17:40:53.396766706 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,57 @@
 | 
					@@ -0,0 +1,57 @@
 | 
				
			||||||
+/* pkg_src_list.h - the itsy package management system
 | 
					+/* pkg_src_list.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -12562,10 +12444,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_src_list.h
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg_vec.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_vec.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg_vec.c	2007-11-10 17:40:53.396766706 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,230 @@
 | 
					@@ -0,0 +1,230 @@
 | 
				
			||||||
+/* pkg_vec.c - the itsy package management system
 | 
					+/* pkg_vec.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -12797,10 +12677,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_vec.c
 | 
				
			|||||||
+     qsort(vec->pkgs, vec->len, sizeof(pkg_t *), (compare_fcn_t)compar);
 | 
					+     qsort(vec->pkgs, vec->len, sizeof(pkg_t *), (compare_fcn_t)compar);
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/pkg_vec.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_vec.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/pkg_vec.h	2007-11-10 17:40:53.396766706 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,64 @@
 | 
					@@ -0,0 +1,64 @@
 | 
				
			||||||
+/* pkg_vec.h - the itsy package management system
 | 
					+/* pkg_vec.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -12866,10 +12744,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_vec.h
 | 
				
			|||||||
+void abstract_pkg_vec_sort(pkg_vec_t *vec, int (*compar)(abstract_pkg_t *, abstract_pkg_t *));
 | 
					+void abstract_pkg_vec_sort(pkg_vec_t *vec, int (*compar)(abstract_pkg_t *, abstract_pkg_t *));
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/sprintf_alloc.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/sprintf_alloc.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/sprintf_alloc.h	2007-11-10 17:40:53.396766706 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,25 @@
 | 
					@@ -0,0 +1,25 @@
 | 
				
			||||||
+/* sprintf_alloca.c -- like sprintf with memory allocation
 | 
					+/* sprintf_alloca.c -- like sprintf with memory allocation
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -12896,10 +12772,8 @@ Index: busybox-1.8.1/archival/libipkg/sprintf_alloc.h
 | 
				
			|||||||
+#define sprintf_alloc(str, fmt, args...)  *str = xasprintf(fmt, ## args)
 | 
					+#define sprintf_alloc(str, fmt, args...)  *str = xasprintf(fmt, ## args)
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/str_list.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/str_list.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/str_list.c	2007-11-10 17:40:53.396766706 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,76 @@
 | 
					@@ -0,0 +1,76 @@
 | 
				
			||||||
+/* str_list.c - the itsy package management system
 | 
					+/* str_list.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -12977,10 +12851,8 @@ Index: busybox-1.8.1/archival/libipkg/str_list.c
 | 
				
			|||||||
+					 (void *)target_str,
 | 
					+					 (void *)target_str,
 | 
				
			||||||
+					 (void_list_cmp_t)strcmp);
 | 
					+					 (void_list_cmp_t)strcmp);
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/str_list.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/str_list.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/str_list.h	2007-11-10 17:40:53.400766935 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,51 @@
 | 
					@@ -0,0 +1,51 @@
 | 
				
			||||||
+/* str_list.h - the itsy package management system
 | 
					+/* str_list.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -13033,10 +12905,8 @@ Index: busybox-1.8.1/archival/libipkg/str_list.h
 | 
				
			|||||||
+char *str_list_remove_elt(str_list_t *list, const char *target_str);
 | 
					+char *str_list_remove_elt(str_list_t *list, const char *target_str);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/str_util.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/str_util.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/str_util.c	2007-11-10 17:40:53.400766935 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,63 @@
 | 
					@@ -0,0 +1,63 @@
 | 
				
			||||||
+/* str_utils.c - the itsy package management system
 | 
					+/* str_utils.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -13101,10 +12971,8 @@ Index: busybox-1.8.1/archival/libipkg/str_util.c
 | 
				
			|||||||
+    return str ? strdup(str) : NULL;
 | 
					+    return str ? strdup(str) : NULL;
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/str_util.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/str_util.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/str_util.h	2007-11-10 17:40:53.400766935 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,27 @@
 | 
					@@ -0,0 +1,27 @@
 | 
				
			||||||
+/* str_utils.h - the itsy package management system
 | 
					+/* str_utils.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -13133,10 +13001,8 @@ Index: busybox-1.8.1/archival/libipkg/str_util.h
 | 
				
			|||||||
+char *str_dup_safe(const char *str);
 | 
					+char *str_dup_safe(const char *str);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/user.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/user.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/user.c	2007-11-10 17:40:53.400766935 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,58 @@
 | 
					@@ -0,0 +1,58 @@
 | 
				
			||||||
+/* user.c - the itsy package management system
 | 
					+/* user.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -13196,10 +13062,8 @@ Index: busybox-1.8.1/archival/libipkg/user.c
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
+     return response;
 | 
					+     return response;
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/user.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/user.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/user.h	2007-11-10 17:40:53.400766935 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,23 @@
 | 
					@@ -0,0 +1,23 @@
 | 
				
			||||||
+/* user.c - the itsy package management system
 | 
					+/* user.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -13224,10 +13088,8 @@ Index: busybox-1.8.1/archival/libipkg/user.h
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
+char *get_user_response(const char *format, ...);
 | 
					+char *get_user_response(const char *format, ...);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/void_list.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/void_list.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/void_list.c	2007-11-10 17:40:53.404767161 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,194 @@
 | 
					@@ -0,0 +1,194 @@
 | 
				
			||||||
+/* void_list.c - the itsy package management system
 | 
					+/* void_list.c - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -13423,10 +13285,8 @@ Index: busybox-1.8.1/archival/libipkg/void_list.c
 | 
				
			|||||||
+     else
 | 
					+     else
 | 
				
			||||||
+	  return NULL;
 | 
					+	  return NULL;
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/void_list.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/void_list.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/void_list.h	2007-11-10 17:40:53.404767161 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,59 @@
 | 
					@@ -0,0 +1,59 @@
 | 
				
			||||||
+/* void_list.h - the itsy package management system
 | 
					+/* void_list.h - the itsy package management system
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -13487,10 +13347,8 @@ Index: busybox-1.8.1/archival/libipkg/void_list.h
 | 
				
			|||||||
+void *void_list_remove_elt(void_list_t *list, const void *target_data, void_list_cmp_t cmp);
 | 
					+void *void_list_remove_elt(void_list_t *list, const void *target_data, void_list_cmp_t cmp);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/xsystem.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/xsystem.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/xsystem.c	2007-11-10 17:40:53.404767161 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,64 @@
 | 
					@@ -0,0 +1,64 @@
 | 
				
			||||||
+/* xsystem.c - system(3) with error messages
 | 
					+/* xsystem.c - system(3) with error messages
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -13556,10 +13414,8 @@ Index: busybox-1.8.1/archival/libipkg/xsystem.c
 | 
				
			|||||||
+    return -1;
 | 
					+    return -1;
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
+	 
 | 
					+	 
 | 
				
			||||||
Index: busybox-1.8.1/archival/libipkg/xsystem.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/xsystem.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libipkg/xsystem.h	2007-11-10 17:40:53.404767161 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,34 @@
 | 
					@@ -0,0 +1,34 @@
 | 
				
			||||||
+/* xsystem.h - system(3) with error messages
 | 
					+/* xsystem.h - system(3) with error messages
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -13595,11 +13451,9 @@ Index: busybox-1.8.1/archival/libipkg/xsystem.h
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
+	 
 | 
					+	 
 | 
				
			||||||
Index: busybox-1.8.1/archival/libunarchive/data_extract_all.c
 | 
					--- a/archival/libunarchive/data_extract_all.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libunarchive/data_extract_all.c
 | 
				
			||||||
--- busybox-1.8.1.orig/archival/libunarchive/data_extract_all.c	2007-11-10 17:39:21.471528185 +0100
 | 
					@@ -144,3 +144,17 @@
 | 
				
			||||||
+++ busybox-1.8.1/archival/libunarchive/data_extract_all.c	2007-11-10 17:40:53.404767161 +0100
 | 
					 | 
				
			||||||
@@ -129,3 +129,17 @@
 | 
					 | 
				
			||||||
 		}
 | 
					 		}
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
@@ -13617,10 +13471,8 @@ Index: busybox-1.8.1/archival/libunarchive/data_extract_all.c
 | 
				
			|||||||
+	}
 | 
					+	}
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/archival/libunarchive/Kbuild
 | 
					--- a/archival/libunarchive/Kbuild
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libunarchive/Kbuild
 | 
				
			||||||
--- busybox-1.8.1.orig/archival/libunarchive/Kbuild	2007-11-10 17:39:21.479528641 +0100
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/archival/libunarchive/Kbuild	2007-11-10 17:40:53.408767391 +0100
 | 
					 | 
				
			||||||
@@ -54,6 +54,7 @@
 | 
					@@ -54,6 +54,7 @@
 | 
				
			||||||
 lib-$(CONFIG_FEATURE_DEB_TAR_LZMA)      += decompress_unlzma.o get_header_tar_lzma.o
 | 
					 lib-$(CONFIG_FEATURE_DEB_TAR_LZMA)      += decompress_unlzma.o get_header_tar_lzma.o
 | 
				
			||||||
 lib-$(CONFIG_GUNZIP)                    += decompress_unzip.o
 | 
					 lib-$(CONFIG_GUNZIP)                    += decompress_unzip.o
 | 
				
			||||||
@@ -13629,11 +13481,9 @@ Index: busybox-1.8.1/archival/libunarchive/Kbuild
 | 
				
			|||||||
 lib-$(CONFIG_RPM2CPIO)                  += decompress_unzip.o get_header_cpio.o
 | 
					 lib-$(CONFIG_RPM2CPIO)                  += decompress_unzip.o get_header_cpio.o
 | 
				
			||||||
 lib-$(CONFIG_RPM)                       += decompress_unzip.o get_header_cpio.o
 | 
					 lib-$(CONFIG_RPM)                       += decompress_unzip.o get_header_cpio.o
 | 
				
			||||||
 lib-$(CONFIG_FEATURE_RPM_BZ2)           += decompress_bunzip2.o
 | 
					 lib-$(CONFIG_FEATURE_RPM_BZ2)           += decompress_bunzip2.o
 | 
				
			||||||
Index: busybox-1.8.1/include/applets.h
 | 
					--- a/include/applets.h
 | 
				
			||||||
===================================================================
 | 
					+++ b/include/applets.h
 | 
				
			||||||
--- busybox-1.8.1.orig/include/applets.h	2007-11-10 17:39:21.487529096 +0100
 | 
					@@ -200,6 +200,7 @@
 | 
				
			||||||
+++ busybox-1.8.1/include/applets.h	2007-11-10 17:40:53.408767391 +0100
 | 
					 | 
				
			||||||
@@ -198,6 +198,7 @@
 | 
					 | 
				
			||||||
 USE_IPCALC(APPLET(ipcalc, _BB_DIR_BIN, _BB_SUID_NEVER))
 | 
					 USE_IPCALC(APPLET(ipcalc, _BB_DIR_BIN, _BB_SUID_NEVER))
 | 
				
			||||||
 USE_IPCRM(APPLET(ipcrm, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
 | 
					 USE_IPCRM(APPLET(ipcrm, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
 | 
				
			||||||
 USE_IPCS(APPLET(ipcs, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
 | 
					 USE_IPCS(APPLET(ipcs, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
 | 
				
			||||||
@@ -13641,11 +13491,9 @@ Index: busybox-1.8.1/include/applets.h
 | 
				
			|||||||
 USE_IPLINK(APPLET(iplink, _BB_DIR_BIN, _BB_SUID_NEVER))
 | 
					 USE_IPLINK(APPLET(iplink, _BB_DIR_BIN, _BB_SUID_NEVER))
 | 
				
			||||||
 USE_IPROUTE(APPLET(iproute, _BB_DIR_BIN, _BB_SUID_NEVER))
 | 
					 USE_IPROUTE(APPLET(iproute, _BB_DIR_BIN, _BB_SUID_NEVER))
 | 
				
			||||||
 USE_IPRULE(APPLET(iprule, _BB_DIR_BIN, _BB_SUID_NEVER))
 | 
					 USE_IPRULE(APPLET(iprule, _BB_DIR_BIN, _BB_SUID_NEVER))
 | 
				
			||||||
Index: busybox-1.8.1/include/unarchive.h
 | 
					--- a/include/unarchive.h
 | 
				
			||||||
===================================================================
 | 
					+++ b/include/unarchive.h
 | 
				
			||||||
--- busybox-1.8.1.orig/include/unarchive.h	2007-11-10 17:39:21.495529554 +0100
 | 
					@@ -82,6 +82,7 @@
 | 
				
			||||||
+++ busybox-1.8.1/include/unarchive.h	2007-11-10 17:40:53.408767391 +0100
 | 
					 | 
				
			||||||
@@ -74,6 +74,7 @@
 | 
					 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 extern void data_skip(archive_handle_t *archive_handle);
 | 
					 extern void data_skip(archive_handle_t *archive_handle);
 | 
				
			||||||
 extern void data_extract_all(archive_handle_t *archive_handle);
 | 
					 extern void data_extract_all(archive_handle_t *archive_handle);
 | 
				
			||||||
@@ -13653,11 +13501,9 @@ Index: busybox-1.8.1/include/unarchive.h
 | 
				
			|||||||
 extern void data_extract_to_stdout(archive_handle_t *archive_handle);
 | 
					 extern void data_extract_to_stdout(archive_handle_t *archive_handle);
 | 
				
			||||||
 extern void data_extract_to_buffer(archive_handle_t *archive_handle);
 | 
					 extern void data_extract_to_buffer(archive_handle_t *archive_handle);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
Index: busybox-1.8.1/include/usage.h
 | 
					--- a/include/usage.h
 | 
				
			||||||
===================================================================
 | 
					+++ b/include/usage.h
 | 
				
			||||||
--- busybox-1.8.1.orig/include/usage.h	2007-11-10 17:40:53.208755993 +0100
 | 
					@@ -1425,6 +1425,82 @@
 | 
				
			||||||
+++ busybox-1.8.1/include/usage.h	2007-11-10 17:40:53.412767617 +0100
 | 
					 | 
				
			||||||
@@ -1294,6 +1294,82 @@
 | 
					 | 
				
			||||||
        "$ ls -la /tmp/busybox*\n" \
 | 
					        "$ ls -la /tmp/busybox*\n" \
 | 
				
			||||||
        "-rw-rw-r--    1 andersen andersen   554058 Apr 14 17:49 /tmp/busybox.tar.gz\n"
 | 
					        "-rw-rw-r--    1 andersen andersen   554058 Apr 14 17:49 /tmp/busybox.tar.gz\n"
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -13739,12 +13585,10 @@ Index: busybox-1.8.1/include/usage.h
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
 #define halt_trivial_usage \
 | 
					 #define halt_trivial_usage \
 | 
				
			||||||
        "[-d delay] [-n] [-f]"
 | 
					        "[-d delay] [-n] [-f]"
 | 
				
			||||||
 #define halt_full_usage \
 | 
					 #define halt_full_usage "\n\n" \
 | 
				
			||||||
Index: busybox-1.8.1/Makefile
 | 
					--- a/Makefile
 | 
				
			||||||
===================================================================
 | 
					+++ b/Makefile
 | 
				
			||||||
--- busybox-1.8.1.orig/Makefile	2007-11-10 17:39:21.511530465 +0100
 | 
					@@ -444,6 +444,7 @@
 | 
				
			||||||
+++ busybox-1.8.1/Makefile	2007-11-10 17:40:53.412767617 +0100
 | 
					 | 
				
			||||||
@@ -428,6 +428,7 @@
 | 
					 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 libs-y		:= \
 | 
					 libs-y		:= \
 | 
				
			||||||
 		archival/ \
 | 
					 		archival/ \
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,25 @@
 | 
				
			|||||||
Index: busybox-1.8.1/coreutils/md5_sha1_sum.c
 | 
					--- a/include/libbb.h
 | 
				
			||||||
===================================================================
 | 
					+++ b/include/libbb.h
 | 
				
			||||||
--- busybox-1.8.1.orig/coreutils/md5_sha1_sum.c	2007-11-10 02:40:51.000000000 +0100
 | 
					@@ -1211,6 +1211,7 @@
 | 
				
			||||||
+++ busybox-1.8.1/coreutils/md5_sha1_sum.c	2007-11-10 17:05:59.957468399 +0100
 | 
					 extern const char bb_uuenc_tbl_std[];
 | 
				
			||||||
@@ -8,75 +8,10 @@
 | 
					 void bb_uuencode(char *store, const void *s, int length, const char *tbl);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+typedef enum { HASH_SHA1, HASH_MD5 } hash_algo_t;
 | 
				
			||||||
 | 
					 typedef struct sha1_ctx_t {
 | 
				
			||||||
 | 
					 	uint32_t count[2];
 | 
				
			||||||
 | 
					 	uint32_t hash[5];
 | 
				
			||||||
 | 
					@@ -1232,6 +1233,8 @@
 | 
				
			||||||
 | 
					 void md5_begin(md5_ctx_t *ctx);
 | 
				
			||||||
 | 
					 void md5_hash(const void *data, size_t length, md5_ctx_t *ctx);
 | 
				
			||||||
 | 
					 void *md5_end(void *resbuf, md5_ctx_t *ctx);
 | 
				
			||||||
 | 
					+unsigned char *hash_bin_to_hex(unsigned char *hash_value, unsigned hash_length);
 | 
				
			||||||
 | 
					+uint8_t *hash_file(const char *filename, hash_algo_t hash_algo);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 uint32_t *crc32_filltable(uint32_t *tbl256, int endian);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					--- a/coreutils/md5_sha1_sum.c
 | 
				
			||||||
 | 
					+++ b/coreutils/md5_sha1_sum.c
 | 
				
			||||||
 | 
					@@ -8,72 +8,10 @@
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 #include "libbb.h"
 | 
					 #include "libbb.h"
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -19,7 +36,7 @@ Index: busybox-1.8.1/coreutils/md5_sha1_sum.c
 | 
				
			|||||||
-	/* xzalloc zero-terminates */
 | 
					-	/* xzalloc zero-terminates */
 | 
				
			||||||
-	char *hex_value = xzalloc((hash_length * 2) + 1);
 | 
					-	char *hex_value = xzalloc((hash_length * 2) + 1);
 | 
				
			||||||
-	bin2hex(hex_value, (char*)hash_value, hash_length);
 | 
					-	bin2hex(hex_value, (char*)hash_value, hash_length);
 | 
				
			||||||
-	return hex_value;
 | 
					-	return (unsigned char *)hex_value;
 | 
				
			||||||
-}
 | 
					-}
 | 
				
			||||||
-
 | 
					-
 | 
				
			||||||
-static uint8_t *hash_file(const char *filename, hash_algo_t hash_algo)
 | 
					-static uint8_t *hash_file(const char *filename, hash_algo_t hash_algo)
 | 
				
			||||||
@@ -34,12 +51,9 @@ Index: busybox-1.8.1/coreutils/md5_sha1_sum.c
 | 
				
			|||||||
-	void (*update)(const void*, size_t, void*);
 | 
					-	void (*update)(const void*, size_t, void*);
 | 
				
			||||||
-	void (*final)(void*, void*);
 | 
					-	void (*final)(void*, void*);
 | 
				
			||||||
-
 | 
					-
 | 
				
			||||||
-	src_fd = STDIN_FILENO;
 | 
					-	src_fd = open_or_warn_stdin(filename);
 | 
				
			||||||
-	if (NOT_LONE_DASH(filename)) {
 | 
					-	if (src_fd < 0) {
 | 
				
			||||||
-		src_fd = open_or_warn(filename, O_RDONLY);
 | 
					-		return NULL;
 | 
				
			||||||
-		if (src_fd < 0) {
 | 
					 | 
				
			||||||
-			return NULL;
 | 
					 | 
				
			||||||
-		}
 | 
					 | 
				
			||||||
-	}
 | 
					-	}
 | 
				
			||||||
-
 | 
					-
 | 
				
			||||||
-	/* figure specific hash algorithims */
 | 
					-	/* figure specific hash algorithims */
 | 
				
			||||||
@@ -76,46 +90,21 @@ Index: busybox-1.8.1/coreutils/md5_sha1_sum.c
 | 
				
			|||||||
-}
 | 
					-}
 | 
				
			||||||
-
 | 
					-
 | 
				
			||||||
 int md5_sha1_sum_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 | 
					 int md5_sha1_sum_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 | 
				
			||||||
 int md5_sha1_sum_main(int argc, char **argv)
 | 
					 int md5_sha1_sum_main(int argc ATTRIBUTE_UNUSED, char **argv)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
Index: busybox-1.8.1/include/libbb.h
 | 
					--- a/libbb/Kbuild
 | 
				
			||||||
===================================================================
 | 
					+++ b/libbb/Kbuild
 | 
				
			||||||
--- busybox-1.8.1.orig/include/libbb.h	2007-11-10 16:55:07.048261223 +0100
 | 
					@@ -40,6 +40,7 @@
 | 
				
			||||||
+++ busybox-1.8.1/include/libbb.h	2007-11-10 17:04:07.543062264 +0100
 | 
					 | 
				
			||||||
@@ -1022,6 +1022,7 @@
 | 
					 | 
				
			||||||
 extern const char bb_uuenc_tbl_std[];
 | 
					 | 
				
			||||||
 void bb_uuencode(char *store, const void *s, int length, const char *tbl);
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+typedef enum { HASH_SHA1, HASH_MD5 } hash_algo_t;
 | 
					 | 
				
			||||||
 typedef struct sha1_ctx_t {
 | 
					 | 
				
			||||||
 	uint32_t count[2];
 | 
					 | 
				
			||||||
 	uint32_t hash[5];
 | 
					 | 
				
			||||||
@@ -1043,6 +1044,8 @@
 | 
					 | 
				
			||||||
 void md5_begin(md5_ctx_t *ctx);
 | 
					 | 
				
			||||||
 void md5_hash(const void *data, size_t length, md5_ctx_t *ctx);
 | 
					 | 
				
			||||||
 void *md5_end(void *resbuf, md5_ctx_t *ctx);
 | 
					 | 
				
			||||||
+unsigned char *hash_bin_to_hex(unsigned char *hash_value, unsigned hash_length);
 | 
					 | 
				
			||||||
+uint8_t *hash_file(const char *filename, hash_algo_t hash_algo);
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 uint32_t *crc32_filltable(uint32_t *tbl256, int endian);
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
Index: busybox-1.8.1/libbb/Kbuild
 | 
					 | 
				
			||||||
===================================================================
 | 
					 | 
				
			||||||
--- busybox-1.8.1.orig/libbb/Kbuild	2007-11-10 02:40:52.000000000 +0100
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/libbb/Kbuild	2007-11-10 17:04:07.547062497 +0100
 | 
					 | 
				
			||||||
@@ -39,6 +39,7 @@
 | 
					 | 
				
			||||||
 lib-y += get_last_path_component.o
 | 
					 lib-y += get_last_path_component.o
 | 
				
			||||||
 lib-y += get_line_from_file.o
 | 
					 lib-y += get_line_from_file.o
 | 
				
			||||||
 lib-y += getopt32.o
 | 
					 lib-y += getopt32.o
 | 
				
			||||||
+lib-y += hash.o
 | 
					+lib-y += hash.o
 | 
				
			||||||
 | 
					 lib-y += getpty.o
 | 
				
			||||||
 lib-y += herror_msg.o
 | 
					 lib-y += herror_msg.o
 | 
				
			||||||
 lib-y += herror_msg_and_die.o
 | 
					 lib-y += herror_msg_and_die.o
 | 
				
			||||||
 lib-y += human_readable.o
 | 
					--- /dev/null
 | 
				
			||||||
Index: busybox-1.8.1/libbb/hash.c
 | 
					+++ b/libbb/hash.c
 | 
				
			||||||
===================================================================
 | 
					@@ -0,0 +1,78 @@
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/libbb/hash.c	2007-11-10 17:04:07.551062729 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,81 @@
 | 
					 | 
				
			||||||
+/*
 | 
					+/*
 | 
				
			||||||
+ *  Copyright (C) 2003 Glenn L. McGrath
 | 
					+ *  Copyright (C) 2003 Glenn L. McGrath
 | 
				
			||||||
+ *  Copyright (C) 2003-2004 Erik Andersen
 | 
					+ *  Copyright (C) 2003-2004 Erik Andersen
 | 
				
			||||||
@@ -155,12 +144,9 @@ Index: busybox-1.8.1/libbb/hash.c
 | 
				
			|||||||
+	void (*update)(const void*, size_t, void*);
 | 
					+	void (*update)(const void*, size_t, void*);
 | 
				
			||||||
+	void (*final)(void*, void*);
 | 
					+	void (*final)(void*, void*);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+	src_fd = STDIN_FILENO;
 | 
					+	src_fd = open_or_warn_stdin(filename);
 | 
				
			||||||
+	if (NOT_LONE_DASH(filename)) {
 | 
					+	if (src_fd < 0) {
 | 
				
			||||||
+		src_fd = open_or_warn(filename, O_RDONLY);
 | 
					+		return NULL;
 | 
				
			||||||
+		if (src_fd < 0) {
 | 
					 | 
				
			||||||
+			return NULL;
 | 
					 | 
				
			||||||
+		}
 | 
					 | 
				
			||||||
+	}
 | 
					+	}
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+	/* figure specific hash algorithims */
 | 
					+	/* figure specific hash algorithims */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,6 @@
 | 
				
			|||||||
Index: busybox-1.8.1/editors/awk.c
 | 
					--- a/editors/awk.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/editors/awk.c
 | 
				
			||||||
--- busybox-1.8.1.orig/editors/awk.c	2007-11-10 16:55:07.032260312 +0100
 | 
					@@ -32,6 +32,11 @@
 | 
				
			||||||
+++ busybox-1.8.1/editors/awk.c	2007-11-10 17:07:04.493146078 +0100
 | 
					 | 
				
			||||||
@@ -33,6 +33,11 @@
 | 
					 | 
				
			||||||
 /* these flags are static, don't change them when value is changed */
 | 
					 /* these flags are static, don't change them when value is changed */
 | 
				
			||||||
 #define	VF_DONTTOUCH    (VF_ARRAY | VF_SPECIAL | VF_WALK | VF_CHILD | VF_DIRTY)
 | 
					 #define	VF_DONTTOUCH    (VF_ARRAY | VF_SPECIAL | VF_WALK | VF_CHILD | VF_DIRTY)
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -14,23 +12,22 @@ Index: busybox-1.8.1/editors/awk.c
 | 
				
			|||||||
 /* Variable */
 | 
					 /* Variable */
 | 
				
			||||||
 typedef struct var_s {
 | 
					 typedef struct var_s {
 | 
				
			||||||
 	unsigned type;            /* flags */
 | 
					 	unsigned type;            /* flags */
 | 
				
			||||||
@@ -54,9 +59,14 @@
 | 
					@@ -53,9 +58,14 @@
 | 
				
			||||||
 } chain;
 | 
					 } chain;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 /* Function */
 | 
					 /* Function */
 | 
				
			||||||
+typedef var *(*awk_cfunc)(var *res, var *args, int nargs);
 | 
					+typedef var *(*awk_cfunc)(var *res, var *args, int nargs);
 | 
				
			||||||
 typedef struct func_s {
 | 
					 typedef struct func_s {
 | 
				
			||||||
 	unsigned nargs;
 | 
					 	unsigned nargs;
 | 
				
			||||||
-	struct chain_s body;
 | 
					 | 
				
			||||||
+	enum { AWKFUNC, CFUNC } type;
 | 
					+	enum { AWKFUNC, CFUNC } type;
 | 
				
			||||||
+	union {
 | 
					+	union {
 | 
				
			||||||
+		awk_cfunc cfunc;
 | 
					+		awk_cfunc cfunc;
 | 
				
			||||||
+		struct chain_s body;
 | 
					 	struct chain_s body;
 | 
				
			||||||
+	} x;
 | 
					+	} x;
 | 
				
			||||||
 } func;
 | 
					 } func;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 /* I/O stream */
 | 
					 /* I/O stream */
 | 
				
			||||||
@@ -1400,7 +1410,8 @@
 | 
					@@ -1395,7 +1405,8 @@
 | 
				
			||||||
 			next_token(TC_FUNCTION);
 | 
					 			next_token(TC_FUNCTION);
 | 
				
			||||||
 			g_pos++;
 | 
					 			g_pos++;
 | 
				
			||||||
 			f = newfunc(t_string);
 | 
					 			f = newfunc(t_string);
 | 
				
			||||||
@@ -40,7 +37,7 @@ Index: busybox-1.8.1/editors/awk.c
 | 
				
			|||||||
 			f->nargs = 0;
 | 
					 			f->nargs = 0;
 | 
				
			||||||
 			while (next_token(TC_VARIABLE | TC_SEQTERM) & TC_VARIABLE) {
 | 
					 			while (next_token(TC_VARIABLE | TC_SEQTERM) & TC_VARIABLE) {
 | 
				
			||||||
 				v = findvar(ahash, t_string);
 | 
					 				v = findvar(ahash, t_string);
 | 
				
			||||||
@@ -1409,7 +1420,7 @@
 | 
					@@ -1404,7 +1415,7 @@
 | 
				
			||||||
 				if (next_token(TC_COMMA | TC_SEQTERM) & TC_SEQTERM)
 | 
					 				if (next_token(TC_COMMA | TC_SEQTERM) & TC_SEQTERM)
 | 
				
			||||||
 					break;
 | 
					 					break;
 | 
				
			||||||
 			}
 | 
					 			}
 | 
				
			||||||
@@ -49,7 +46,7 @@ Index: busybox-1.8.1/editors/awk.c
 | 
				
			|||||||
 			chain_group();
 | 
					 			chain_group();
 | 
				
			||||||
 			clear_array(ahash);
 | 
					 			clear_array(ahash);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -2372,7 +2383,8 @@
 | 
					@@ -2367,7 +2378,8 @@
 | 
				
			||||||
 			break;
 | 
					 			break;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 		case XC( OC_FUNC ):
 | 
					 		case XC( OC_FUNC ):
 | 
				
			||||||
@@ -59,7 +56,7 @@ Index: busybox-1.8.1/editors/awk.c
 | 
				
			|||||||
 				syntax_error(EMSG_UNDEF_FUNC);
 | 
					 				syntax_error(EMSG_UNDEF_FUNC);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 			X.v = R.v = nvalloc(op->r.f->nargs+1);
 | 
					 			X.v = R.v = nvalloc(op->r.f->nargs+1);
 | 
				
			||||||
@@ -2389,7 +2401,10 @@
 | 
					@@ -2384,7 +2396,10 @@
 | 
				
			||||||
 			fnargs = X.v;
 | 
					 			fnargs = X.v;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 			L.s = g_progname;
 | 
					 			L.s = g_progname;
 | 
				
			||||||
@@ -71,7 +68,7 @@ Index: busybox-1.8.1/editors/awk.c
 | 
				
			|||||||
 			g_progname = L.s;
 | 
					 			g_progname = L.s;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 			nvfree(fnargs);
 | 
					 			nvfree(fnargs);
 | 
				
			||||||
@@ -2753,6 +2768,12 @@
 | 
					@@ -2748,6 +2763,12 @@
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 int awk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 | 
					 int awk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 | 
				
			||||||
@@ -84,7 +81,7 @@ Index: busybox-1.8.1/editors/awk.c
 | 
				
			|||||||
 int awk_main(int argc, char **argv)
 | 
					 int awk_main(int argc, char **argv)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	unsigned opt;
 | 
					 	unsigned opt;
 | 
				
			||||||
@@ -2817,6 +2838,11 @@
 | 
					@@ -2812,6 +2833,11 @@
 | 
				
			||||||
 			*s1 = '=';
 | 
					 			*s1 = '=';
 | 
				
			||||||
 		}
 | 
					 		}
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
@@ -93,13 +90,11 @@ Index: busybox-1.8.1/editors/awk.c
 | 
				
			|||||||
+	do_awx(argc, argv);
 | 
					+	do_awx(argc, argv);
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
 	opt_complementary = "v::f::";
 | 
					 	opt_complementary = "v::f::"; /* -v and -f can occur multiple times */
 | 
				
			||||||
 	opt = getopt32(argv, "F:v:f:W:", &opt_F, &opt_v, &opt_f, &opt_W);
 | 
					 	opt = getopt32(argv, "F:v:f:W:", &opt_F, &list_v, &list_f, &opt_W);
 | 
				
			||||||
 	argv += optind;
 | 
					 	argv += optind;
 | 
				
			||||||
Index: busybox-1.8.1/editors/awx.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/editors/awx.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/editors/awx.c	2007-11-10 17:06:19.258568308 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,636 @@
 | 
					@@ -0,0 +1,636 @@
 | 
				
			||||||
+/*
 | 
					+/*
 | 
				
			||||||
+ * awk web extension
 | 
					+ * awk web extension
 | 
				
			||||||
@@ -737,10 +732,8 @@ Index: busybox-1.8.1/editors/awx.c
 | 
				
			|||||||
+	return awk_main(argc, argv);
 | 
					+	return awk_main(argc, argv);
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Index: busybox-1.8.1/editors/awx_parser.h
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/editors/awx_parser.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/editors/awx_parser.h	2007-11-10 17:06:19.266568760 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,38 @@
 | 
					@@ -0,0 +1,38 @@
 | 
				
			||||||
+#ifndef __TEMPLATE_PARSER_H
 | 
					+#ifndef __TEMPLATE_PARSER_H
 | 
				
			||||||
+#define __TEMPLATE_PARSER_H
 | 
					+#define __TEMPLATE_PARSER_H
 | 
				
			||||||
@@ -780,10 +773,8 @@ Index: busybox-1.8.1/editors/awx_parser.h
 | 
				
			|||||||
+void free_template(struct template_cb *cb, struct template_element *e);
 | 
					+void free_template(struct template_cb *cb, struct template_element *e);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/editors/awx_parser.l
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/editors/awx_parser.l
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/editors/awx_parser.l	2007-11-10 17:06:19.270568989 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,302 @@
 | 
					@@ -0,0 +1,302 @@
 | 
				
			||||||
+%{
 | 
					+%{
 | 
				
			||||||
+#include <stdio.h>
 | 
					+#include <stdio.h>
 | 
				
			||||||
@@ -1087,10 +1078,8 @@ Index: busybox-1.8.1/editors/awx_parser.l
 | 
				
			|||||||
+	free(e);
 | 
					+	free(e);
 | 
				
			||||||
+	return free_template(cb, next);
 | 
					+	return free_template(cb, next);
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
Index: busybox-1.8.1/editors/Config.in
 | 
					--- a/editors/Config.in
 | 
				
			||||||
===================================================================
 | 
					+++ b/editors/Config.in
 | 
				
			||||||
--- busybox-1.8.1.orig/editors/Config.in	2007-11-10 02:40:54.000000000 +0100
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/editors/Config.in	2007-11-10 17:06:19.274569218 +0100
 | 
					 | 
				
			||||||
@@ -12,6 +12,13 @@
 | 
					@@ -12,6 +12,13 @@
 | 
				
			||||||
 	  Awk is used as a pattern scanning and processing language.  This is
 | 
					 	  Awk is used as a pattern scanning and processing language.  This is
 | 
				
			||||||
 	  the BusyBox implementation of that programming language.
 | 
					 	  the BusyBox implementation of that programming language.
 | 
				
			||||||
@@ -1105,10 +1094,8 @@ Index: busybox-1.8.1/editors/Config.in
 | 
				
			|||||||
 config FEATURE_AWK_MATH
 | 
					 config FEATURE_AWK_MATH
 | 
				
			||||||
 	bool "Enable math functions (requires libm)"
 | 
					 	bool "Enable math functions (requires libm)"
 | 
				
			||||||
 	default y
 | 
					 	default y
 | 
				
			||||||
Index: busybox-1.8.1/editors/Kbuild
 | 
					--- a/editors/Kbuild
 | 
				
			||||||
===================================================================
 | 
					+++ b/editors/Kbuild
 | 
				
			||||||
--- busybox-1.8.1.orig/editors/Kbuild	2007-11-10 02:40:54.000000000 +0100
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/editors/Kbuild	2007-11-10 17:06:19.278569448 +0100
 | 
					 | 
				
			||||||
@@ -12,3 +12,12 @@
 | 
					@@ -12,3 +12,12 @@
 | 
				
			||||||
 lib-$(CONFIG_PATCH)     += patch.o
 | 
					 lib-$(CONFIG_PATCH)     += patch.o
 | 
				
			||||||
 lib-$(CONFIG_SED)       += sed.o
 | 
					 lib-$(CONFIG_SED)       += sed.o
 | 
				
			||||||
@@ -1122,22 +1109,30 @@ Index: busybox-1.8.1/editors/Kbuild
 | 
				
			|||||||
+editors/awx_parser.o: editors/awx_parser.c FORCE
 | 
					+editors/awx_parser.o: editors/awx_parser.c FORCE
 | 
				
			||||||
+	$(call cmd,force_checksrc)
 | 
					+	$(call cmd,force_checksrc)
 | 
				
			||||||
+	$(call if_changed_rule,cc_o_c)
 | 
					+	$(call if_changed_rule,cc_o_c)
 | 
				
			||||||
Index: busybox-1.8.1/include/applets.h
 | 
					--- a/include/applets.h
 | 
				
			||||||
===================================================================
 | 
					+++ b/include/applets.h
 | 
				
			||||||
--- busybox-1.8.1.orig/include/applets.h	2007-11-10 17:03:38.957433264 +0100
 | 
					@@ -77,6 +77,7 @@
 | 
				
			||||||
+++ busybox-1.8.1/include/applets.h	2007-11-10 17:06:19.282569674 +0100
 | 
					 | 
				
			||||||
@@ -83,6 +83,7 @@
 | 
					 | 
				
			||||||
 USE_ARPING(APPLET(arping, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 | 
					 USE_ARPING(APPLET(arping, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 | 
				
			||||||
 USE_ASH(APPLET_NOUSAGE(ash, ash, _BB_DIR_BIN, _BB_SUID_NEVER))
 | 
					 USE_ASH(APPLET(ash, _BB_DIR_BIN, _BB_SUID_NEVER))
 | 
				
			||||||
 USE_AWK(APPLET_NOEXEC(awk, awk, _BB_DIR_USR_BIN, _BB_SUID_NEVER, awk))
 | 
					 USE_AWK(APPLET_NOEXEC(awk, awk, _BB_DIR_USR_BIN, _BB_SUID_NEVER, awk))
 | 
				
			||||||
+USE_AWX(APPLET_NOUSAGE(awx, awx, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 
 | 
					+USE_AWK(APPLET_ODDNAME(awx, awk, _BB_DIR_USR_BIN, _BB_SUID_NEVER, awx)) 
 | 
				
			||||||
 USE_BASENAME(APPLET_NOFORK(basename, basename, _BB_DIR_USR_BIN, _BB_SUID_NEVER, basename))
 | 
					 USE_BASENAME(APPLET_NOFORK(basename, basename, _BB_DIR_USR_BIN, _BB_SUID_NEVER, basename))
 | 
				
			||||||
 USE_BBCONFIG(APPLET(bbconfig, _BB_DIR_BIN, _BB_SUID_NEVER))
 | 
					 USE_BBCONFIG(APPLET(bbconfig, _BB_DIR_BIN, _BB_SUID_NEVER))
 | 
				
			||||||
 //USE_BBSH(APPLET(bbsh, _BB_DIR_BIN, _BB_SUID_NEVER))
 | 
					 //USE_BBSH(APPLET(bbsh, _BB_DIR_BIN, _BB_SUID_NEVER))
 | 
				
			||||||
Index: busybox-1.8.1/include/cgi.h
 | 
					--- a/include/usage.h
 | 
				
			||||||
===================================================================
 | 
					+++ b/include/usage.h
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					@@ -114,6 +114,9 @@
 | 
				
			||||||
+++ busybox-1.8.1/include/cgi.h	2007-11-10 17:06:19.282569674 +0100
 | 
					      "\n	-F sep		Use sep as field separator" \
 | 
				
			||||||
 | 
					      "\n	-f file		Read program from file" \
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+#define awx_trivial_usage NOUSAGE_STR
 | 
				
			||||||
 | 
					+#define awx_full_usage ""
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 #define basename_trivial_usage \
 | 
				
			||||||
 | 
					        "FILE [SUFFIX]"
 | 
				
			||||||
 | 
					 #define basename_full_usage "\n\n" \
 | 
				
			||||||
 | 
					--- /dev/null
 | 
				
			||||||
 | 
					+++ b/include/cgi.h
 | 
				
			||||||
@@ -0,0 +1,8 @@
 | 
					@@ -0,0 +1,8 @@
 | 
				
			||||||
+#ifndef CGI_H
 | 
					+#ifndef CGI_H
 | 
				
			||||||
+#define CGI_H
 | 
					+#define CGI_H
 | 
				
			||||||
@@ -1147,10 +1142,8 @@ Index: busybox-1.8.1/include/cgi.h
 | 
				
			|||||||
+int cgi_init(var_handler);
 | 
					+int cgi_init(var_handler);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
Index: busybox-1.8.1/libbb/cgi.c
 | 
					--- /dev/null
 | 
				
			||||||
===================================================================
 | 
					+++ b/libbb/cgi.c
 | 
				
			||||||
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
 | 
					 | 
				
			||||||
+++ busybox-1.8.1/libbb/cgi.c	2007-11-10 17:06:19.282569674 +0100
 | 
					 | 
				
			||||||
@@ -0,0 +1,457 @@
 | 
					@@ -0,0 +1,457 @@
 | 
				
			||||||
+/* --------------------------------------------------------------------------
 | 
					+/* --------------------------------------------------------------------------
 | 
				
			||||||
+ * functions for processing cgi form data
 | 
					+ * functions for processing cgi form data
 | 
				
			||||||
@@ -1609,11 +1602,9 @@ Index: busybox-1.8.1/libbb/cgi.c
 | 
				
			|||||||
+
 | 
					+
 | 
				
			||||||
+	return retval;
 | 
					+	return retval;
 | 
				
			||||||
+} 
 | 
					+} 
 | 
				
			||||||
Index: busybox-1.8.1/libbb/Kbuild
 | 
					--- a/libbb/Kbuild
 | 
				
			||||||
===================================================================
 | 
					+++ b/libbb/Kbuild
 | 
				
			||||||
--- busybox-1.8.1.orig/libbb/Kbuild	2007-11-10 17:04:07.547062497 +0100
 | 
					@@ -112,6 +112,7 @@
 | 
				
			||||||
+++ busybox-1.8.1/libbb/Kbuild	2007-11-10 17:06:19.282569674 +0100
 | 
					 | 
				
			||||||
@@ -101,6 +101,7 @@
 | 
					 | 
				
			||||||
 lib-y += xreadlink.o
 | 
					 lib-y += xreadlink.o
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 # conditionally compiled objects:
 | 
					 # conditionally compiled objects:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,5 @@
 | 
				
			|||||||
Index: busybox-1.7.2/archival/libipkg/ipkg_conf.c
 | 
					--- a/archival/libipkg/ipkg_conf.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_conf.c
 | 
				
			||||||
--- busybox-1.7.2.orig/archival/libipkg/ipkg_conf.c	2007-10-30 15:38:45.000000000 -0500
 | 
					 | 
				
			||||||
+++ busybox-1.7.2/archival/libipkg/ipkg_conf.c	2007-10-30 15:38:47.000000000 -0500
 | 
					 | 
				
			||||||
@@ -66,6 +66,8 @@
 | 
					@@ -66,6 +66,8 @@
 | 
				
			||||||
 	  { "offline_root_pre_script_cmd", IPKG_OPT_TYPE_STRING, &conf->offline_root_pre_script_cmd },
 | 
					 	  { "offline_root_pre_script_cmd", IPKG_OPT_TYPE_STRING, &conf->offline_root_pre_script_cmd },
 | 
				
			||||||
 	  { "proxy_passwd", IPKG_OPT_TYPE_STRING, &conf->proxy_passwd },
 | 
					 	  { "proxy_passwd", IPKG_OPT_TYPE_STRING, &conf->proxy_passwd },
 | 
				
			||||||
@@ -21,10 +19,8 @@ Index: busybox-1.7.2/archival/libipkg/ipkg_conf.c
 | 
				
			|||||||
      pkg_hash_init("pkg-hash", &conf->pkg_hash, IPKG_CONF_DEFAULT_HASH_LEN);
 | 
					      pkg_hash_init("pkg-hash", &conf->pkg_hash, IPKG_CONF_DEFAULT_HASH_LEN);
 | 
				
			||||||
      hash_table_init("file-hash", &conf->file_hash, IPKG_CONF_DEFAULT_HASH_LEN);
 | 
					      hash_table_init("file-hash", &conf->file_hash, IPKG_CONF_DEFAULT_HASH_LEN);
 | 
				
			||||||
      hash_table_init("obs-file-hash", &conf->obs_file_hash, IPKG_CONF_DEFAULT_HASH_LEN);
 | 
					      hash_table_init("obs-file-hash", &conf->obs_file_hash, IPKG_CONF_DEFAULT_HASH_LEN);
 | 
				
			||||||
Index: busybox-1.7.2/archival/libipkg/ipkg_conf.h
 | 
					--- a/archival/libipkg/ipkg_conf.h
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_conf.h
 | 
				
			||||||
--- busybox-1.7.2.orig/archival/libipkg/ipkg_conf.h	2007-10-30 15:38:45.000000000 -0500
 | 
					 | 
				
			||||||
+++ busybox-1.7.2/archival/libipkg/ipkg_conf.h	2007-10-30 15:38:47.000000000 -0500
 | 
					 | 
				
			||||||
@@ -79,6 +79,10 @@
 | 
					@@ -79,6 +79,10 @@
 | 
				
			||||||
      char *proxy_user;
 | 
					      char *proxy_user;
 | 
				
			||||||
      char *proxy_passwd;
 | 
					      char *proxy_passwd;
 | 
				
			||||||
@@ -36,10 +32,8 @@ Index: busybox-1.7.2/archival/libipkg/ipkg_conf.h
 | 
				
			|||||||
      hash_table_t pkg_hash;
 | 
					      hash_table_t pkg_hash;
 | 
				
			||||||
      hash_table_t file_hash;
 | 
					      hash_table_t file_hash;
 | 
				
			||||||
      hash_table_t obs_file_hash;
 | 
					      hash_table_t obs_file_hash;
 | 
				
			||||||
Index: busybox-1.7.2/archival/libipkg/ipkg_download.c
 | 
					--- a/archival/libipkg/ipkg_download.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_download.c
 | 
				
			||||||
--- busybox-1.7.2.orig/archival/libipkg/ipkg_download.c	2007-10-30 15:38:45.000000000 -0500
 | 
					 | 
				
			||||||
+++ busybox-1.7.2/archival/libipkg/ipkg_download.c	2007-10-30 15:38:47.000000000 -0500
 | 
					 | 
				
			||||||
@@ -69,8 +69,12 @@
 | 
					@@ -69,8 +69,12 @@
 | 
				
			||||||
     }
 | 
					     }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,5 @@
 | 
				
			|||||||
Index: busybox-1.7.2/archival/libipkg/ipkg_install.c
 | 
					--- a/archival/libipkg/ipkg_install.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/ipkg_install.c
 | 
				
			||||||
--- busybox-1.7.2.orig/archival/libipkg/ipkg_install.c	2007-10-30 17:15:31.000000000 -0500
 | 
					 | 
				
			||||||
+++ busybox-1.7.2/archival/libipkg/ipkg_install.c	2007-10-30 17:15:33.000000000 -0500
 | 
					 | 
				
			||||||
@@ -136,6 +136,7 @@
 | 
					@@ -136,6 +136,7 @@
 | 
				
			||||||
 ipkg_error_t ipkg_install_by_name(ipkg_conf_t *conf, const char *pkg_name)
 | 
					 ipkg_error_t ipkg_install_by_name(ipkg_conf_t *conf, const char *pkg_name)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,5 @@
 | 
				
			|||||||
Index: busybox-1.8.2/archival/libipkg/pkg.c
 | 
					--- a/archival/libipkg/pkg.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg.c
 | 
				
			||||||
--- busybox-1.8.2.orig/archival/libipkg/pkg.c	2008-01-03 17:25:55.000000000 +0100
 | 
					 | 
				
			||||||
+++ busybox-1.8.2/archival/libipkg/pkg.c	2008-01-03 17:33:57.000000000 +0100
 | 
					 | 
				
			||||||
@@ -575,25 +575,28 @@
 | 
					@@ -575,25 +575,28 @@
 | 
				
			||||||
 		    return temp;
 | 
					 		    return temp;
 | 
				
			||||||
 	       }
 | 
					 	       }
 | 
				
			||||||
@@ -36,16 +34,10 @@ Index: busybox-1.8.2/archival/libipkg/pkg.c
 | 
				
			|||||||
 	  } else if (strcasecmp(field, "Conflicts") == 0) {
 | 
					 	  } else if (strcasecmp(field, "Conflicts") == 0) {
 | 
				
			||||||
 	       int i;
 | 
					 	       int i;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
Index: busybox-1.8.2/archival/libipkg/pkg_parse.c
 | 
					--- a/archival/libipkg/pkg_parse.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_parse.c
 | 
				
			||||||
--- busybox-1.8.2.orig/archival/libipkg/pkg_parse.c	2008-01-03 17:25:55.000000000 +0100
 | 
					@@ -88,17 +88,14 @@
 | 
				
			||||||
+++ busybox-1.8.2/archival/libipkg/pkg_parse.c	2008-01-03 17:30:14.000000000 +0100
 | 
					     if(!strncmp(raw, "Conffiles:", 10))
 | 
				
			||||||
 -85,20 +85,17 @@
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
     char file_name[1048], md5sum[1048];  /* please tell me there aren't any longer that 1k */
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-    if(!strncmp(raw, "Conffiles:", 10))
 | 
					 | 
				
			||||||
+    if(!strncmp(raw, "Conffiles:",10))
 | 
					 | 
				
			||||||
 	raw += strlen("Conffiles:");
 | 
					 	raw += strlen("Conffiles:");
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
+    while(*raw && isspace(*raw)) raw++;
 | 
					+    while(*raw && isspace(*raw)) raw++;
 | 
				
			||||||
@@ -55,14 +47,13 @@ Index: busybox-1.8.2/archival/libipkg/pkg_parse.c
 | 
				
			|||||||
-	while (*raw && isspace(*raw)) {
 | 
					-	while (*raw && isspace(*raw)) {
 | 
				
			||||||
-	    raw++;
 | 
					-	    raw++;
 | 
				
			||||||
-	}
 | 
					-	}
 | 
				
			||||||
-	raw += strlen(file_name);
 | 
					 	raw += strlen(file_name);
 | 
				
			||||||
-	while (*raw && isspace(*raw)) {
 | 
					-	while (*raw && isspace(*raw)) {
 | 
				
			||||||
-	    raw++;
 | 
					-	    raw++;
 | 
				
			||||||
-	}
 | 
					-	}
 | 
				
			||||||
-	raw += strlen(md5sum);
 | 
					 | 
				
			||||||
+        raw += strlen(file_name);
 | 
					 | 
				
			||||||
+	while(*raw && isspace(*raw)) raw++;
 | 
					+	while(*raw && isspace(*raw)) raw++;
 | 
				
			||||||
+        raw += strlen(md5sum);
 | 
					 	raw += strlen(md5sum);
 | 
				
			||||||
+        while(*raw && isspace(*raw)) raw++;
 | 
					+	while(*raw && isspace(*raw)) raw++;
 | 
				
			||||||
     }
 | 
					     }
 | 
				
			||||||
 }    
 | 
					 }    
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,5 @@
 | 
				
			|||||||
Index: busybox-1.8.2/archival/libipkg/pkg.c
 | 
					--- a/archival/libipkg/pkg.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg.c
 | 
				
			||||||
--- busybox-1.8.2.orig/archival/libipkg/pkg.c	2008-01-06 03:14:12.003658206 +0100
 | 
					 | 
				
			||||||
+++ busybox-1.8.2/archival/libipkg/pkg.c	2008-01-06 03:24:18.187737063 +0100
 | 
					 | 
				
			||||||
@@ -224,8 +224,7 @@
 | 
					@@ -224,8 +224,7 @@
 | 
				
			||||||
      if (err) { return err; }
 | 
					      if (err) { return err; }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -12,10 +10,8 @@ Index: busybox-1.8.2/archival/libipkg/pkg.c
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
      fclose(control_file);
 | 
					      fclose(control_file);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
Index: busybox-1.8.2/archival/libipkg/pkg_hash.c
 | 
					--- a/archival/libipkg/pkg_hash.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_hash.c
 | 
				
			||||||
--- busybox-1.8.2.orig/archival/libipkg/pkg_hash.c	2008-01-06 03:14:12.231671203 +0100
 | 
					 | 
				
			||||||
+++ busybox-1.8.2/archival/libipkg/pkg_hash.c	2008-01-06 03:28:38.218555373 +0100
 | 
					 | 
				
			||||||
@@ -89,20 +89,20 @@
 | 
					@@ -89,20 +89,20 @@
 | 
				
			||||||
 			   pkg_src_t *src, pkg_dest_t *dest, int is_status_file)
 | 
					 			   pkg_src_t *src, pkg_dest_t *dest, int is_status_file)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
@@ -58,11 +54,9 @@ Index: busybox-1.8.2/archival/libipkg/pkg_hash.c
 | 
				
			|||||||
      return 0;
 | 
					      return 0;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
Index: busybox-1.8.2/archival/libipkg/pkg_parse.c
 | 
					--- a/archival/libipkg/pkg_parse.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_parse.c
 | 
				
			||||||
--- busybox-1.8.2.orig/archival/libipkg/pkg_parse.c	2008-01-06 03:14:12.283674167 +0100
 | 
					@@ -224,6 +224,161 @@
 | 
				
			||||||
+++ busybox-1.8.2/archival/libipkg/pkg_parse.c	2008-01-06 03:38:24.111943535 +0100
 | 
					 | 
				
			||||||
@@ -227,6 +227,161 @@
 | 
					 | 
				
			||||||
    Enhances, perhaps we could generalize all of these and save some
 | 
					    Enhances, perhaps we could generalize all of these and save some
 | 
				
			||||||
    code duplication.
 | 
					    code duplication.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -224,7 +218,7 @@ Index: busybox-1.8.2/archival/libipkg/pkg_parse.c
 | 
				
			|||||||
 int pkg_parse_raw(pkg_t *pkg, char ***raw, pkg_src_t *src, pkg_dest_t *dest)
 | 
					 int pkg_parse_raw(pkg_t *pkg, char ***raw, pkg_src_t *src, pkg_dest_t *dest)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
     int reading_conffiles, reading_description;
 | 
					     int reading_conffiles, reading_description;
 | 
				
			||||||
@@ -345,6 +500,7 @@
 | 
					@@ -342,6 +497,7 @@
 | 
				
			||||||
 	return EINVAL;
 | 
					 	return EINVAL;
 | 
				
			||||||
     }
 | 
					     }
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
@@ -232,10 +226,8 @@ Index: busybox-1.8.2/archival/libipkg/pkg_parse.c
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 int pkg_valorize_other_field(pkg_t *pkg, char ***raw)
 | 
					 int pkg_valorize_other_field(pkg_t *pkg, char ***raw)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
Index: busybox-1.8.2/archival/libipkg/pkg_parse.h
 | 
					--- a/archival/libipkg/pkg_parse.h
 | 
				
			||||||
===================================================================
 | 
					+++ b/archival/libipkg/pkg_parse.h
 | 
				
			||||||
--- busybox-1.8.2.orig/archival/libipkg/pkg_parse.h	2008-01-06 03:14:12.303675307 +0100
 | 
					 | 
				
			||||||
+++ busybox-1.8.2/archival/libipkg/pkg_parse.h	2008-01-06 03:39:03.954214018 +0100
 | 
					 | 
				
			||||||
@@ -25,7 +25,10 @@
 | 
					@@ -25,7 +25,10 @@
 | 
				
			||||||
 char ** parseDependsString(char * raw, int * depends_count);
 | 
					 char ** parseDependsString(char * raw, int * depends_count);
 | 
				
			||||||
 int parseVersion(pkg_t *pkg, char *raw);
 | 
					 int parseVersion(pkg_t *pkg, char *raw);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,12 +1,10 @@
 | 
				
			|||||||
Index: busybox-1.8.2/networking/udhcp/dhcpc.c
 | 
					--- a/networking/udhcp/dhcpc.c
 | 
				
			||||||
===================================================================
 | 
					+++ b/networking/udhcp/dhcpc.c
 | 
				
			||||||
--- busybox-1.8.2.orig/networking/udhcp/dhcpc.c	2008-01-03 05:00:31.506419917 +0100
 | 
					@@ -63,7 +63,6 @@
 | 
				
			||||||
+++ busybox-1.8.2/networking/udhcp/dhcpc.c	2008-01-03 05:00:44.311149618 +0100
 | 
					 | 
				
			||||||
@@ -65,7 +65,6 @@
 | 
					 | 
				
			||||||
 		state = RENEW_REQUESTED;
 | 
					 		state = RENEW_REQUESTED;
 | 
				
			||||||
 		break;
 | 
					 		break;
 | 
				
			||||||
 	case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
 | 
					 	case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
 | 
				
			||||||
-		udhcp_run_script(NULL, "deconfig");
 | 
					-		udhcp_run_script(NULL, "deconfig");
 | 
				
			||||||
 	case REQUESTING:
 | 
					 	case REQUESTING:
 | 
				
			||||||
 	case RELEASED:
 | 
					 	case RELEASED:
 | 
				
			||||||
 		change_mode(LISTEN_RAW);
 | 
					 		change_listen_mode(LISTEN_RAW);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,5 @@
 | 
				
			|||||||
diff -urN busybox-1.8.2.old/archival/libipkg/pkg_extract.c busybox-1.8.2.dev/archival/libipkg/pkg_extract.c
 | 
					--- a/archival/libipkg/pkg_extract.c
 | 
				
			||||||
--- busybox-1.8.2.old/archival/libipkg/pkg_extract.c	2008-01-23 22:18:44.000000000 +0100
 | 
					+++ b/archival/libipkg/pkg_extract.c
 | 
				
			||||||
+++ busybox-1.8.2.dev/archival/libipkg/pkg_extract.c	2008-01-23 22:20:31.000000000 +0100
 | 
					 | 
				
			||||||
@@ -85,6 +85,7 @@
 | 
					@@ -85,6 +85,7 @@
 | 
				
			||||||
 	free(archive->buffer);
 | 
					 	free(archive->buffer);
 | 
				
			||||||
 	free(archive->accept);
 | 
					 	free(archive->accept);
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										43
									
								
								package/busybox/patches/526-ipkg_fix_pkg_comparison.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								package/busybox/patches/526-ipkg_fix_pkg_comparison.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
				
			|||||||
 | 
					--- a/archival/libipkg/pkg.c
 | 
				
			||||||
 | 
					+++ b/archival/libipkg/pkg.c
 | 
				
			||||||
 | 
					@@ -1139,8 +1139,12 @@
 | 
				
			||||||
 | 
					      return 0;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-int pkg_name_version_and_architecture_compare(pkg_t *a, pkg_t *b)
 | 
				
			||||||
 | 
					+int pkg_name_version_and_architecture_compare(const void *pkg_a, const void *pkg_b)
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					+     pkg_t * const *p1 = pkg_a;
 | 
				
			||||||
 | 
					+     pkg_t * const *p2 = pkg_b;
 | 
				
			||||||
 | 
					+     const pkg_t *a = *p1;
 | 
				
			||||||
 | 
					+     const pkg_t *b = *p2;
 | 
				
			||||||
 | 
					      int namecmp;
 | 
				
			||||||
 | 
					      int vercmp;
 | 
				
			||||||
 | 
					      if (!a->name || !b->name) {
 | 
				
			||||||
 | 
					@@ -1167,8 +1171,12 @@
 | 
				
			||||||
 | 
					      return 0;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-int abstract_pkg_name_compare(abstract_pkg_t *a, abstract_pkg_t *b)
 | 
				
			||||||
 | 
					+int abstract_pkg_name_compare(const void *apkg_a, const void *apkg_b)
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					+     abstract_pkg_t * const *ap1 = apkg_a;
 | 
				
			||||||
 | 
					+     abstract_pkg_t * const *ap2 = apkg_b;
 | 
				
			||||||
 | 
					+     const abstract_pkg_t *a = *ap1;
 | 
				
			||||||
 | 
					+     const abstract_pkg_t *b = *ap2;
 | 
				
			||||||
 | 
					      if (!a->name || !b->name) {
 | 
				
			||||||
 | 
					        fprintf(stderr, "abstract_pkg_name_compare: a=%p a->name=%p b=%p b->name=%p\n",
 | 
				
			||||||
 | 
					 	       a, a->name, b, b->name);
 | 
				
			||||||
 | 
					--- a/archival/libipkg/pkg.h
 | 
				
			||||||
 | 
					+++ b/archival/libipkg/pkg.h
 | 
				
			||||||
 | 
					@@ -191,8 +191,8 @@
 | 
				
			||||||
 | 
					 char *pkg_version_str_alloc(pkg_t *pkg);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 int pkg_compare_versions(const pkg_t *pkg, const pkg_t *ref_pkg);
 | 
				
			||||||
 | 
					-int pkg_name_version_and_architecture_compare(pkg_t *a, pkg_t *b);
 | 
				
			||||||
 | 
					-int abstract_pkg_name_compare(abstract_pkg_t *a, abstract_pkg_t *b);
 | 
				
			||||||
 | 
					+int pkg_name_version_and_architecture_compare(const void *pkg_a, const void *pkg_b);
 | 
				
			||||||
 | 
					+int abstract_pkg_name_compare(const void *apkg_a, const void *apkg_b);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 char * pkg_formatted_info(pkg_t *pkg );
 | 
				
			||||||
 | 
					 char * pkg_formatted_field(pkg_t *pkg, const char *field );
 | 
				
			||||||
							
								
								
									
										9
									
								
								package/busybox/patches/901-basename.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								package/busybox/patches/901-basename.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					--- a/coreutils/basename.c
 | 
				
			||||||
 | 
					+++ b/coreutils/basename.c
 | 
				
			||||||
 | 
					@@ -48,5 +48,5 @@
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 	/* puts(s) will do, but we can do without stdio this way: */
 | 
				
			||||||
 | 
					 	s[m++] = '\n';
 | 
				
			||||||
 | 
					-	return full_write(STDOUT_FILENO, s, m) == (ssize_t)m;
 | 
				
			||||||
 | 
					+	return full_write(STDOUT_FILENO, s, m) != (ssize_t)m;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
							
								
								
									
										55
									
								
								package/busybox/patches/902-tar.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								package/busybox/patches/902-tar.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
				
			|||||||
 | 
					--- a/archival/libunarchive/get_header_tar.c
 | 
				
			||||||
 | 
					+++ b/archival/libunarchive/get_header_tar.c
 | 
				
			||||||
 | 
					@@ -261,26 +261,33 @@
 | 
				
			||||||
 | 
					 	case '0':
 | 
				
			||||||
 | 
					 #if ENABLE_FEATURE_TAR_OLDGNU_COMPATIBILITY
 | 
				
			||||||
 | 
					 		if (last_char_is(file_header->name, '/')) {
 | 
				
			||||||
 | 
					-			file_header->mode |= S_IFDIR;
 | 
				
			||||||
 | 
					-		} else
 | 
				
			||||||
 | 
					+			goto set_dir;
 | 
				
			||||||
 | 
					+		}
 | 
				
			||||||
 | 
					 #endif
 | 
				
			||||||
 | 
					 		file_header->mode |= S_IFREG;
 | 
				
			||||||
 | 
					 		break;
 | 
				
			||||||
 | 
					 	case '2':
 | 
				
			||||||
 | 
					 		file_header->mode |= S_IFLNK;
 | 
				
			||||||
 | 
					+		/* have seen tarballs with size field containing
 | 
				
			||||||
 | 
					+		 * the size of the link target's name */
 | 
				
			||||||
 | 
					+ size0:
 | 
				
			||||||
 | 
					+		file_header->size = 0;
 | 
				
			||||||
 | 
					 		break;
 | 
				
			||||||
 | 
					 	case '3':
 | 
				
			||||||
 | 
					 		file_header->mode |= S_IFCHR;
 | 
				
			||||||
 | 
					-		break;
 | 
				
			||||||
 | 
					+		goto size0; /* paranoia */
 | 
				
			||||||
 | 
					 	case '4':
 | 
				
			||||||
 | 
					 		file_header->mode |= S_IFBLK;
 | 
				
			||||||
 | 
					-		break;
 | 
				
			||||||
 | 
					+		goto size0;
 | 
				
			||||||
 | 
					 	case '5':
 | 
				
			||||||
 | 
					+#if ENABLE_FEATURE_TAR_OLDGNU_COMPATIBILITY
 | 
				
			||||||
 | 
					+ set_dir:
 | 
				
			||||||
 | 
					+#endif
 | 
				
			||||||
 | 
					 		file_header->mode |= S_IFDIR;
 | 
				
			||||||
 | 
					-		break;
 | 
				
			||||||
 | 
					+		goto size0;
 | 
				
			||||||
 | 
					 	case '6':
 | 
				
			||||||
 | 
					 		file_header->mode |= S_IFIFO;
 | 
				
			||||||
 | 
					-		break;
 | 
				
			||||||
 | 
					+		goto size0;
 | 
				
			||||||
 | 
					 #if ENABLE_FEATURE_TAR_GNU_EXTENSIONS
 | 
				
			||||||
 | 
					 	case 'L':
 | 
				
			||||||
 | 
					 		/* free: paranoia: tar with several consecutive longnames */
 | 
				
			||||||
 | 
					--- a/archival/libunarchive/seek_by_jump.c
 | 
				
			||||||
 | 
					+++ b/archival/libunarchive/seek_by_jump.c
 | 
				
			||||||
 | 
					@@ -8,7 +8,9 @@
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 void seek_by_jump(const archive_handle_t *archive_handle, unsigned amount)
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					-	if (lseek(archive_handle->src_fd, (off_t) amount, SEEK_CUR) == (off_t) -1) {
 | 
				
			||||||
 | 
					+	if (amount
 | 
				
			||||||
 | 
					+	 && lseek(archive_handle->src_fd, (off_t) amount, SEEK_CUR) == (off_t) -1
 | 
				
			||||||
 | 
					+	) {
 | 
				
			||||||
 | 
					 		if (errno == ESPIPE)
 | 
				
			||||||
 | 
					 			seek_by_read(archive_handle, amount);
 | 
				
			||||||
 | 
					 		else
 | 
				
			||||||
							
								
								
									
										155
									
								
								package/busybox/patches/903-ash.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										155
									
								
								package/busybox/patches/903-ash.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,155 @@
 | 
				
			|||||||
 | 
					--- a/shell/ash.c
 | 
				
			||||||
 | 
					+++ b/shell/ash.c
 | 
				
			||||||
 | 
					@@ -1569,14 +1569,14 @@
 | 
				
			||||||
 | 
					 static char *optptr;                   /* used by nextopt */
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 /*
 | 
				
			||||||
 | 
					- * XXX - should get rid of.  have all builtins use getopt(3).  the
 | 
				
			||||||
 | 
					- * library getopt must have the BSD extension static variable "optreset"
 | 
				
			||||||
 | 
					- * otherwise it can't be used within the shell safely.
 | 
				
			||||||
 | 
					+ * XXX - should get rid of. Have all builtins use getopt(3).
 | 
				
			||||||
 | 
					+ * The library getopt must have the BSD extension static variable
 | 
				
			||||||
 | 
					+ * "optreset", otherwise it can't be used within the shell safely.
 | 
				
			||||||
 | 
					  *
 | 
				
			||||||
 | 
					- * Standard option processing (a la getopt) for builtin routines.  The
 | 
				
			||||||
 | 
					- * only argument that is passed to nextopt is the option string; the
 | 
				
			||||||
 | 
					- * other arguments are unnecessary.  It return the character, or '\0' on
 | 
				
			||||||
 | 
					- * end of input.
 | 
				
			||||||
 | 
					+ * Standard option processing (a la getopt) for builtin routines.
 | 
				
			||||||
 | 
					+ * The only argument that is passed to nextopt is the option string;
 | 
				
			||||||
 | 
					+ * the other arguments are unnecessary. It returns the character,
 | 
				
			||||||
 | 
					+ * or '\0' on end of input.
 | 
				
			||||||
 | 
					  */
 | 
				
			||||||
 | 
					 static int
 | 
				
			||||||
 | 
					 nextopt(const char *optstring)
 | 
				
			||||||
 | 
					@@ -1587,13 +1587,20 @@
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 	p = optptr;
 | 
				
			||||||
 | 
					 	if (p == NULL || *p == '\0') {
 | 
				
			||||||
 | 
					+		/* We ate entire "-param", take next one */
 | 
				
			||||||
 | 
					 		p = *argptr;
 | 
				
			||||||
 | 
					-		if (p == NULL || *p != '-' || *++p == '\0')
 | 
				
			||||||
 | 
					+		if (p == NULL)
 | 
				
			||||||
 | 
					+			return '\0';
 | 
				
			||||||
 | 
					+		if (*p != '-')
 | 
				
			||||||
 | 
					+			return '\0';
 | 
				
			||||||
 | 
					+		if (*++p == '\0') /* just "-" ? */
 | 
				
			||||||
 | 
					 			return '\0';
 | 
				
			||||||
 | 
					 		argptr++;
 | 
				
			||||||
 | 
					-		if (LONE_DASH(p))        /* check for "--" */
 | 
				
			||||||
 | 
					+		if (LONE_DASH(p)) /* "--" ? */
 | 
				
			||||||
 | 
					 			return '\0';
 | 
				
			||||||
 | 
					+		/* p => next "-param" */
 | 
				
			||||||
 | 
					 	}
 | 
				
			||||||
 | 
					+	/* p => some option char in the middle of a "-param" */
 | 
				
			||||||
 | 
					 	c = *p++;
 | 
				
			||||||
 | 
					 	for (q = optstring; *q != c;) {
 | 
				
			||||||
 | 
					 		if (*q == '\0')
 | 
				
			||||||
 | 
					@@ -1602,8 +1609,11 @@
 | 
				
			||||||
 | 
					 			q++;
 | 
				
			||||||
 | 
					 	}
 | 
				
			||||||
 | 
					 	if (*++q == ':') {
 | 
				
			||||||
 | 
					-		if (*p == '\0' && (p = *argptr++) == NULL)
 | 
				
			||||||
 | 
					-			ash_msg_and_raise_error("no arg for -%c option", c);
 | 
				
			||||||
 | 
					+		if (*p == '\0') {
 | 
				
			||||||
 | 
					+			p = *argptr++;
 | 
				
			||||||
 | 
					+			if (p == NULL)
 | 
				
			||||||
 | 
					+				ash_msg_and_raise_error("no arg for -%c option", c);
 | 
				
			||||||
 | 
					+		}
 | 
				
			||||||
 | 
					 		optionarg = p;
 | 
				
			||||||
 | 
					 		p = NULL;
 | 
				
			||||||
 | 
					 	}
 | 
				
			||||||
 | 
					@@ -7428,8 +7438,10 @@
 | 
				
			||||||
 | 
					 		else if (c != 'p')
 | 
				
			||||||
 | 
					 			abort();
 | 
				
			||||||
 | 
					 #endif
 | 
				
			||||||
 | 
					-	if (verify)
 | 
				
			||||||
 | 
					+	/* Mimic bash: just "command -v" doesn't complain, it's a nop */
 | 
				
			||||||
 | 
					+	if (verify && (*argptr != NULL)) {
 | 
				
			||||||
 | 
					 		return describe_command(*argptr, verify - VERIFY_BRIEF);
 | 
				
			||||||
 | 
					+	}
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 	return 0;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					@@ -7788,16 +7800,33 @@
 | 
				
			||||||
 | 
					 static void
 | 
				
			||||||
 | 
					 evaltree(union node *n, int flags)
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+	struct jmploc *volatile savehandler = exception_handler;
 | 
				
			||||||
 | 
					+	struct jmploc jmploc;
 | 
				
			||||||
 | 
					 	int checkexit = 0;
 | 
				
			||||||
 | 
					 	void (*evalfn)(union node *, int);
 | 
				
			||||||
 | 
					-	unsigned isor;
 | 
				
			||||||
 | 
					 	int status;
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 	if (n == NULL) {
 | 
				
			||||||
 | 
					 		TRACE(("evaltree(NULL) called\n"));
 | 
				
			||||||
 | 
					-		goto out;
 | 
				
			||||||
 | 
					+		goto out1;
 | 
				
			||||||
 | 
					 	}
 | 
				
			||||||
 | 
					 	TRACE(("pid %d, evaltree(%p: %d, %d) called\n",
 | 
				
			||||||
 | 
					 			getpid(), n, n->type, flags));
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+	exception_handler = &jmploc;
 | 
				
			||||||
 | 
					+	{
 | 
				
			||||||
 | 
					+		int err = setjmp(jmploc.loc);
 | 
				
			||||||
 | 
					+		if (err) {
 | 
				
			||||||
 | 
					+			/* if it was a signal, check for trap handlers */
 | 
				
			||||||
 | 
					+			if (exception == EXSIG)
 | 
				
			||||||
 | 
					+				goto out;
 | 
				
			||||||
 | 
					+			/* continue on the way out */
 | 
				
			||||||
 | 
					+			exception_handler = savehandler;
 | 
				
			||||||
 | 
					+			longjmp(exception_handler->loc, err);
 | 
				
			||||||
 | 
					+		}
 | 
				
			||||||
 | 
					+	}
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 	switch (n->type) {
 | 
				
			||||||
 | 
					 	default:
 | 
				
			||||||
 | 
					 #if DEBUG
 | 
				
			||||||
 | 
					@@ -7843,19 +7872,20 @@
 | 
				
			||||||
 | 
					 		goto calleval;
 | 
				
			||||||
 | 
					 	case NAND:
 | 
				
			||||||
 | 
					 	case NOR:
 | 
				
			||||||
 | 
					-	case NSEMI:
 | 
				
			||||||
 | 
					+	case NSEMI: {
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 #if NAND + 1 != NOR
 | 
				
			||||||
 | 
					 #error NAND + 1 != NOR
 | 
				
			||||||
 | 
					 #endif
 | 
				
			||||||
 | 
					 #if NOR + 1 != NSEMI
 | 
				
			||||||
 | 
					 #error NOR + 1 != NSEMI
 | 
				
			||||||
 | 
					 #endif
 | 
				
			||||||
 | 
					-		isor = n->type - NAND;
 | 
				
			||||||
 | 
					+		unsigned is_or = n->type - NAND;
 | 
				
			||||||
 | 
					 		evaltree(
 | 
				
			||||||
 | 
					 			n->nbinary.ch1,
 | 
				
			||||||
 | 
					-			(flags | ((isor >> 1) - 1)) & EV_TESTED
 | 
				
			||||||
 | 
					+			(flags | ((is_or >> 1) - 1)) & EV_TESTED
 | 
				
			||||||
 | 
					 		);
 | 
				
			||||||
 | 
					-		if (!exitstatus == isor)
 | 
				
			||||||
 | 
					+		if (!exitstatus == is_or)
 | 
				
			||||||
 | 
					 			break;
 | 
				
			||||||
 | 
					 		if (!evalskip) {
 | 
				
			||||||
 | 
					 			n = n->nbinary.ch2;
 | 
				
			||||||
 | 
					@@ -7866,6 +7896,7 @@
 | 
				
			||||||
 | 
					 			break;
 | 
				
			||||||
 | 
					 		}
 | 
				
			||||||
 | 
					 		break;
 | 
				
			||||||
 | 
					+	}
 | 
				
			||||||
 | 
					 	case NIF:
 | 
				
			||||||
 | 
					 		evaltree(n->nif.test, EV_TESTED);
 | 
				
			||||||
 | 
					 		if (evalskip)
 | 
				
			||||||
 | 
					@@ -7886,8 +7917,11 @@
 | 
				
			||||||
 | 
					 		exitstatus = status;
 | 
				
			||||||
 | 
					 		break;
 | 
				
			||||||
 | 
					 	}
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					  out:
 | 
				
			||||||
 | 
					-	if ((checkexit & exitstatus))
 | 
				
			||||||
 | 
					+	exception_handler = savehandler;
 | 
				
			||||||
 | 
					+ out1:
 | 
				
			||||||
 | 
					+	if (checkexit & exitstatus)
 | 
				
			||||||
 | 
					 		evalskip |= SKIPEVAL;
 | 
				
			||||||
 | 
					 	else if (pendingsig && dotrap())
 | 
				
			||||||
 | 
					 		goto exexit;
 | 
				
			||||||
							
								
								
									
										28
									
								
								package/busybox/patches/904-build.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								package/busybox/patches/904-build.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					--- a/applets/usage_compressed
 | 
				
			||||||
 | 
					+++ b/applets/usage_compressed
 | 
				
			||||||
 | 
					@@ -14,14 +14,21 @@
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 echo 'static const char packed_usage[] ALIGN1 = {'
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-# Extra effort to avoid using "od -t x1": -t is not available
 | 
				
			||||||
 | 
					-# in non-CONFIG_DESKTOPed busybox od
 | 
				
			||||||
 | 
					+## Breaks on big-endian systems!
 | 
				
			||||||
 | 
					+## # Extra effort to avoid using "od -t x1": -t is not available
 | 
				
			||||||
 | 
					+## # in non-CONFIG_DESKTOPed busybox od
 | 
				
			||||||
 | 
					+## 
 | 
				
			||||||
 | 
					+## "$loc/usage" | bzip2 -1 | od -v -x \
 | 
				
			||||||
 | 
					+## | $SED -e 's/^[^ ]*//' \
 | 
				
			||||||
 | 
					+## | $SED -e 's/ //g' \
 | 
				
			||||||
 | 
					+## | grep -v '^$' \
 | 
				
			||||||
 | 
					+## | $SED -e 's/\(..\)\(..\)/0x\2,0x\1,/g'
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-"$loc/usage" | bzip2 -1 | od -v -x \
 | 
				
			||||||
 | 
					+"$loc/usage" | bzip2 -1 | od -v -t x1 \
 | 
				
			||||||
 | 
					 | $SED -e 's/^[^ ]*//' \
 | 
				
			||||||
 | 
					 | $SED -e 's/ //g' \
 | 
				
			||||||
 | 
					 | grep -v '^$' \
 | 
				
			||||||
 | 
					-| $SED -e 's/\(..\)\(..\)/0x\2,0x\1,/g'
 | 
				
			||||||
 | 
					+| $SED -e 's/\(..\)/0x\1,/g'
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 echo '};'
 | 
				
			||||||
 | 
					 echo '#define SIZEOF_usage_messages' `expr 0 + $sz`
 | 
				
			||||||
		Reference in New Issue
	
	Block a user