upgrade busybox to v1.11.1 and add current upstream fixes
SVN-Revision: 12348
This commit is contained in:
parent
e3d9bc5779
commit
1e82faaa5e
58 changed files with 2195 additions and 1232 deletions
|
@ -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
|
||||||
|
@ -250,6 +264,15 @@ config BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
|
||||||
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"
|
||||||
default n
|
default n
|
||||||
|
@ -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
|
||||||
|
|
|
@ -56,6 +56,7 @@ config BUSYBOX_CONFIG_LSATTR
|
||||||
### 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
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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,25 +13,6 @@ 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
|
||||||
|
@ -51,7 +32,52 @@ config BUSYBOX_CONFIG_USE_BB_PWD_GRP
|
||||||
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"
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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/applets.o: include/usage_compressed.h
|
|
||||||
-applets/usage: .config $(srctree)/applets/usage_compressed
|
-applets/usage: .config $(srctree)/applets/usage_compressed
|
||||||
-include/usage_compressed.h: applets/usage $(srctree)/applets/usage_compressed
|
|
||||||
+applets/usage: .config $(srctree)/applets/usage_compressed include/autoconf.h
|
+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
|
||||||
|
|
||||||
|
-include/usage_compressed.h: applets/usage $(srctree)/applets/usage_compressed
|
||||||
+include/usage_compressed.h: applets/usage $(srctree)/applets/usage_compressed include/autoconf.h
|
+include/usage_compressed.h: applets/usage $(srctree)/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,18 +1,16 @@
|
||||||
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" \
|
||||||
|
@ -21,11 +19,9 @@ Index: busybox-1.8.1/include/usage.h
|
||||||
|
|
||||||
#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,13 +51,10 @@ 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)) {
|
|
||||||
- src_fd = open_or_warn(filename, O_RDONLY);
|
|
||||||
- if (src_fd < 0) {
|
- if (src_fd < 0) {
|
||||||
- return NULL;
|
- return NULL;
|
||||||
- }
|
- }
|
||||||
- }
|
|
||||||
-
|
-
|
||||||
- /* figure specific hash algorithims */
|
- /* figure specific hash algorithims */
|
||||||
- if (ENABLE_MD5SUM && hash_algo==HASH_MD5) {
|
- if (ENABLE_MD5SUM && hash_algo==HASH_MD5) {
|
||||||
|
@ -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,13 +144,10 @@ 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)) {
|
|
||||||
+ src_fd = open_or_warn(filename, O_RDONLY);
|
|
||||||
+ if (src_fd < 0) {
|
+ if (src_fd < 0) {
|
||||||
+ return NULL;
|
+ return NULL;
|
||||||
+ }
|
+ }
|
||||||
+ }
|
|
||||||
+
|
+
|
||||||
+ /* figure specific hash algorithims */
|
+ /* figure specific hash algorithims */
|
||||||
+ if (ENABLE_MD5SUM && hash_algo==HASH_MD5) {
|
+ if (ENABLE_MD5SUM && hash_algo==HASH_MD5) {
|
||||||
|
|
|
@ -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`
|
Loading…
Reference in a new issue