upgrade busybox to v1.11.1 and add current upstream fixes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@12348 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
57db106670
commit
088d86511f
|
@ -9,13 +9,13 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=busybox
|
||||
PKG_VERSION:=1.8.2
|
||||
PKG_VERSION:=1.11.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=http://www.busybox.net/downloads \
|
||||
http://distfiles.gentoo.org/distfiles/
|
||||
PKG_MD5SUM:=5794c6187c7cc8176c52b96af9bf2478
|
||||
PKG_MD5SUM:=c64bbb5c0c3e19f12892941a0ae86c48
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -12,22 +12,6 @@ menu "Busybox Settings"
|
|||
|
||||
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
|
||||
bool "Enable options for full-blown desktop systems"
|
||||
default n
|
||||
|
@ -36,10 +20,21 @@ config BUSYBOX_CONFIG_DESKTOP
|
|||
Select this only if you plan to use busybox on full-blown
|
||||
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
|
||||
prompt "Buffer allocation policy"
|
||||
default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
|
||||
depends on BUSYBOX_CONFIG_NITPICK
|
||||
help
|
||||
There are 3 ways BusyBox can handle buffer allocations:
|
||||
- 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.
|
||||
|
||||
config BUSYBOX_CONFIG_GETOPT_LONG
|
||||
bool "Enable support for --long-options"
|
||||
bool "Support for --long-options"
|
||||
default y
|
||||
help
|
||||
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
|
||||
bool "Clean up all memory before exiting (usually not needed)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_NITPICK
|
||||
help
|
||||
As a size optimization, busybox normally exits without explicitly
|
||||
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'.
|
||||
|
||||
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
|
||||
bool "Build shared libbusybox"
|
||||
default n
|
||||
depends on !BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
|
||||
depends on !BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS && !BUSYBOX_CONFIG_PIE && !BUSYBOX_CONFIG_STATIC
|
||||
help
|
||||
Build a shared library libbusybox.so.N.N.N which contains all
|
||||
busybox code.
|
||||
|
@ -369,6 +384,16 @@ config BUSYBOX_CONFIG_LFS
|
|||
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'.
|
||||
|
||||
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
|
||||
|
||||
menu 'Debugging Options'
|
||||
|
@ -384,6 +409,17 @@ config BUSYBOX_CONFIG_DEBUG
|
|||
|
||||
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
|
||||
bool "Abort compilation on any warning"
|
||||
default n
|
||||
|
@ -392,18 +428,6 @@ config BUSYBOX_CONFIG_WERROR
|
|||
|
||||
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
|
||||
prompt "Additional debugging library"
|
||||
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/runit/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.
|
||||
|
||||
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
|
||||
depends on BUSYBOX_CONFIG_AR
|
||||
help
|
||||
|
@ -78,6 +78,14 @@ config BUSYBOX_CONFIG_CPIO
|
|||
Unless you have a specific application which requires cpio, you should
|
||||
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
|
||||
bool "dpkg"
|
||||
default n
|
||||
|
@ -99,7 +107,7 @@ config BUSYBOX_CONFIG_DPKG_DEB
|
|||
probably say N here.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY
|
||||
bool "extract only (-x)"
|
||||
bool "Extract only (-x)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DPKG_DEB
|
||||
help
|
||||
|
@ -137,8 +145,6 @@ config BUSYBOX_CONFIG_IPKG
|
|||
select BUSYBOX_CONFIG_MD5SUM
|
||||
select BUSYBOX_CONFIG_WGET
|
||||
select BUSYBOX_CONFIG_DIFF
|
||||
select BUSYBOX_CONFIG_TAR
|
||||
select BUSYBOX_CONFIG_GUNZIP
|
||||
help
|
||||
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
|
||||
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
|
||||
bool "Enable -j option to handle .tar.bz2 files"
|
||||
default y
|
||||
|
@ -193,22 +207,6 @@ config BUSYBOX_CONFIG_FEATURE_TAR_LZMA
|
|||
If you enable this option you'll be able to extract
|
||||
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
|
||||
bool "Enable -Z option"
|
||||
default n
|
||||
|
@ -217,8 +215,24 @@ config BUSYBOX_CONFIG_FEATURE_TAR_COMPRESS
|
|||
If you enable this option tar will be able to call uncompress,
|
||||
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
|
||||
bool "Enable support for old tar header format"
|
||||
bool "Support for old tar header format"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TAR
|
||||
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.
|
||||
|
||||
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
|
||||
depends on BUSYBOX_CONFIG_TAR
|
||||
help
|
||||
|
@ -248,7 +262,16 @@ config BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
|
|||
default n
|
||||
depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_GETOPT_LONG
|
||||
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
|
||||
bool "uncompress"
|
||||
|
@ -273,7 +296,7 @@ config BUSYBOX_CONFIG_UNLZMA
|
|||
should probably say N here.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
|
||||
bool "Optimze unlzma for speed"
|
||||
bool "Optimize unlzma for speed"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UNLZMA
|
||||
help
|
||||
|
@ -293,13 +316,6 @@ config BUSYBOX_CONFIG_UNZIP
|
|||
comment "Common options for cpio and 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"
|
||||
depends on BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
|
||||
|
||||
|
|
|
@ -72,7 +72,7 @@ config BUSYBOX_CONFIG_RESIZE
|
|||
terminal.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_RESIZE_PRINT
|
||||
bool "print environment variables"
|
||||
bool "Print environment variables"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_RESIZE
|
||||
help
|
||||
|
|
|
@ -135,6 +135,13 @@ config BUSYBOX_CONFIG_DF
|
|||
df reports the amount of disk space used and available
|
||||
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
|
||||
bool "dirname"
|
||||
default y
|
||||
|
@ -481,6 +488,14 @@ config BUSYBOX_CONFIG_RMDIR
|
|||
help
|
||||
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
|
||||
bool "seq"
|
||||
default y
|
||||
|
@ -513,7 +528,7 @@ config BUSYBOX_CONFIG_SORT
|
|||
sort is used to sort lines of text in specified files.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SORT_BIG
|
||||
bool "full SuSv3 compliant sort (Support -ktcsbdfiozgM)"
|
||||
bool "Full SuSv3 compliant sort (support -ktcsbdfiozgM)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SORT
|
||||
help
|
||||
|
@ -531,7 +546,7 @@ config BUSYBOX_CONFIG_SPLIT
|
|||
split a file into pieces.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SPLIT_FANCY
|
||||
bool "fancy extensions"
|
||||
bool "Fancy extensions"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SPLIT
|
||||
help
|
||||
|
@ -572,6 +587,12 @@ config BUSYBOX_CONFIG_SYNC
|
|||
help
|
||||
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
|
||||
bool "tail"
|
||||
default y
|
||||
|
@ -595,7 +616,7 @@ config BUSYBOX_CONFIG_TEE
|
|||
to standard output and files.
|
||||
|
||||
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
|
||||
depends on BUSYBOX_CONFIG_TEE
|
||||
help
|
||||
|
|
|
@ -12,13 +12,13 @@ config BUSYBOX_CONFIG_CHATTR
|
|||
chattr changes the file attributes on a second extended file system.
|
||||
|
||||
### config E2FSCK
|
||||
### bool "e2fsck"
|
||||
### default n
|
||||
### help
|
||||
### e2fsck is used to check Linux second extended file systems (ext2fs).
|
||||
### e2fsck also supports ext2 filesystems countaining a journal (ext3).
|
||||
### The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
|
||||
### provided.
|
||||
### bool "e2fsck"
|
||||
### default n
|
||||
### help
|
||||
### e2fsck is used to check Linux second extended file systems (ext2fs).
|
||||
### e2fsck also supports ext2 filesystems countaining a journal (ext3).
|
||||
### The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
|
||||
### provided.
|
||||
|
||||
config BUSYBOX_CONFIG_FSCK
|
||||
bool "fsck"
|
||||
|
@ -35,33 +35,34 @@ config BUSYBOX_CONFIG_LSATTR
|
|||
lsattr lists the file attributes on a second extended file system.
|
||||
|
||||
### config MKE2FS
|
||||
### bool "mke2fs"
|
||||
### default n
|
||||
### help
|
||||
### mke2fs is used to create an ext2/ext3 filesystem. The normal compat
|
||||
### symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
|
||||
### bool "mke2fs"
|
||||
### default n
|
||||
### help
|
||||
### mke2fs is used to create an ext2/ext3 filesystem. The normal compat
|
||||
### symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
|
||||
|
||||
### config TUNE2FS
|
||||
### bool "tune2fs"
|
||||
### default n
|
||||
### help
|
||||
### tune2fs allows the system administrator to adjust various tunable
|
||||
### filesystem parameters on Linux ext2/ext3 filesystems.
|
||||
### bool "tune2fs"
|
||||
### default n
|
||||
### help
|
||||
### tune2fs allows the system administrator to adjust various tunable
|
||||
### filesystem parameters on Linux ext2/ext3 filesystems.
|
||||
|
||||
### config E2LABEL
|
||||
### bool "e2label"
|
||||
### default n
|
||||
### depends on TUNE2FS
|
||||
### help
|
||||
### e2label will display or change the filesystem label on the ext2
|
||||
### filesystem located on device.
|
||||
### bool "e2label"
|
||||
### default n
|
||||
### depends on TUNE2FS
|
||||
### help
|
||||
### e2label will display or change the filesystem label on the ext2
|
||||
### filesystem located on device.
|
||||
|
||||
### NB: this one is now provided by util-linux/volume_id/*
|
||||
### config FINDFS
|
||||
### bool "findfs"
|
||||
### default n
|
||||
### depends on TUNE2FS
|
||||
### help
|
||||
### findfs will search the disks in the system looking for a filesystem
|
||||
### which has a label matching label or a UUID equal to uuid.
|
||||
### bool "findfs"
|
||||
### default n
|
||||
### depends on TUNE2FS
|
||||
### help
|
||||
### findfs will search the disks in the system looking for a filesystem
|
||||
### which has a label matching label or a UUID equal to uuid.
|
||||
|
||||
endmenu
|
||||
|
|
|
@ -97,14 +97,23 @@ config BUSYBOX_CONFIG_VI
|
|||
you may wish to use something else.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VI_MAX_LEN
|
||||
int "Maximum line length in vi"
|
||||
int "Maximum screen width in vi"
|
||||
range 256 16384
|
||||
default 1024
|
||||
depends on BUSYBOX_CONFIG_VI
|
||||
help
|
||||
vi uses on-stack buffers for intermediate line buffers.
|
||||
You may want to decrease this parameter if your target machine
|
||||
benefits from smaller stack usage.
|
||||
Contrary to what you may think, this is not eating much.
|
||||
Make it smaller than 4k only if you are very limited on memory.
|
||||
|
||||
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
|
||||
bool "Enable \":\" colon commands (no \"ex\" mode)"
|
||||
|
|
|
@ -22,7 +22,7 @@ config BUSYBOX_CONFIG_FEATURE_FIND_PRINT0
|
|||
interpreted by other programs.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_MTIME
|
||||
bool "Enable modified time matching (-mtime) option"
|
||||
bool "Enable modified time matching (-mtime option)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
|
@ -30,7 +30,7 @@ config BUSYBOX_CONFIG_FEATURE_FIND_MTIME
|
|||
files, in days.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_MMIN
|
||||
bool "Enable modified time matching (-mmin) option"
|
||||
bool "Enable modified time matching (-mmin option)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
|
@ -38,14 +38,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_MMIN
|
|||
files, in minutes.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_PERM
|
||||
bool "Enable permissions matching (-perm) option"
|
||||
bool "Enable permissions matching (-perm option)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Enable searching based on file permissions.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_TYPE
|
||||
bool "Enable filetype matching (-type) option"
|
||||
bool "Enable filetype matching (-type option)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
|
@ -53,7 +53,7 @@ config BUSYBOX_CONFIG_FEATURE_FIND_TYPE
|
|||
directory, socket, device, etc.).
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_XDEV
|
||||
bool "Enable stay in filesystem (-xdev) option"
|
||||
bool "Enable 'stay in filesystem' option (-xdev)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
|
@ -75,14 +75,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_NEWER
|
|||
a modified time that is more recent than the specified FILE.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_INUM
|
||||
bool "Enable inode number matching (-inum) option"
|
||||
bool "Enable inode number matching (-inum option)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Support the 'find -inum' option for searching by inode number.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_EXEC
|
||||
bool "Enable (-exec) option allowing execution of commands"
|
||||
bool "Enable -exec option allowing execution of commands"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
|
@ -90,14 +90,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_EXEC
|
|||
the files matched.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_USER
|
||||
bool "Enable username/uid matching (-user) option"
|
||||
bool "Enable username/uid matching (-user option)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Support the 'find -user' option for searching by username or uid.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_GROUP
|
||||
bool "Enable group/gid matching (-group) option"
|
||||
bool "Enable group/gid matching (-group option)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
|
@ -127,14 +127,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_PAREN
|
|||
Enable usage of parens '(' to specify logical order of arguments.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_SIZE
|
||||
bool "Enable (-size) option allowing matching for file size"
|
||||
bool "Enable -size option allowing matching for file size"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Support the 'find -size' option for searching by file size.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_PRUNE
|
||||
bool "Enable (-prune) option allowing to exclude subdirectories"
|
||||
bool "Enable -prune option allowing to exclude subdirectories"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
|
@ -165,7 +165,7 @@ config BUSYBOX_CONFIG_FEATURE_FIND_REGEX
|
|||
The -regex option matches whole pathname against regular expression.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_CONTEXT
|
||||
bool "Enable (-context) option for matching security context"
|
||||
bool "Enable -context option for matching security context"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FIND && BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
|
|
|
@ -13,7 +13,7 @@ config BUSYBOX_CONFIG_INIT
|
|||
init is the first program run when the system boots.
|
||||
|
||||
config BUSYBOX_CONFIG_DEBUG_INIT
|
||||
bool "debugging aid"
|
||||
bool "Debugging aid"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_INIT
|
||||
help
|
||||
|
@ -27,16 +27,39 @@ config BUSYBOX_CONFIG_FEATURE_USE_INITTAB
|
|||
help
|
||||
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
|
||||
bool "Support running commands with a controlling-tty"
|
||||
bool "Run commands with leading dash with controlling tty"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_INIT
|
||||
help
|
||||
If this option is enabled a command starting with hyphen (-)
|
||||
is run in its own session (setsid(2)) and possibly with a
|
||||
controlling tty (TIOCSCTTY). 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.
|
||||
If this option is enabled, init will try to give a controlling
|
||||
tty to any command which has leading hyphen (often it's "-/bin/sh").
|
||||
More precisely, init will do "ioctl(STDIN_FILENO, TIOCSCTTY, 0)".
|
||||
If device attached to STDIN_FILENO can be a ctty but is not yet
|
||||
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
|
||||
bool "Enable init to write to syslog"
|
||||
|
|
|
@ -13,7 +13,7 @@ config BUSYBOX_CONFIG_PASSWORD_MINLEN
|
|||
Minimum allowable password length.
|
||||
|
||||
config BUSYBOX_CONFIG_MD5_SIZE_VS_SPEED
|
||||
int " MD5: Trade Bytes for Speed"
|
||||
int "MD5: Trade Bytes for Speed"
|
||||
default 2
|
||||
range 0 3
|
||||
help
|
||||
|
@ -57,14 +57,6 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_MAX_LEN
|
|||
You may want to decrease this parameter if your target machine
|
||||
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
|
||||
bool "vi-style line editing commands"
|
||||
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
|
||||
\$ 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
|
||||
bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
|
||||
default n
|
||||
|
@ -127,4 +144,11 @@ config BUSYBOX_CONFIG_IOCTL_HEX2STR_ERROR
|
|||
Use ioctl names rather than hex values in error messages
|
||||
(e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
|
||||
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
|
||||
|
|
|
@ -13,45 +13,71 @@ config BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
|
|||
readable by root and thus the encrypted passwords are no longer
|
||||
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
|
||||
bool "Use internal password and group functions rather than system functions"
|
||||
default n
|
||||
help
|
||||
If you leave this disabled, busybox will use the system's password
|
||||
and group 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 password and group functions to work. This generally
|
||||
makes your embedded system quite a bit larger.
|
||||
If you leave this disabled, busybox will use the system's password
|
||||
and group 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 password and group 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/password, /etc/group files (and your system will be
|
||||
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 remote LDAP password servers and whatnot. And if you
|
||||
want hostname resolution to work with glibc, you still need the
|
||||
/lib/libnss_* libraries.
|
||||
Enabling this option will cause busybox to directly access the
|
||||
system's /etc/password, /etc/group files (and your system will be
|
||||
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 remote LDAP password servers and whatnot. And if you
|
||||
want hostname resolution to work with glibc, you still need the
|
||||
/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
|
||||
bool "addgroup"
|
||||
|
@ -82,12 +108,31 @@ config BUSYBOX_CONFIG_FEATURE_DEL_USER_FROM_GROUP
|
|||
If called with two non-option arguments, deluser
|
||||
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
|
||||
bool "adduser"
|
||||
default n
|
||||
help
|
||||
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
|
||||
bool "deluser"
|
||||
default n
|
||||
|
@ -236,4 +281,3 @@ config BUSYBOX_CONFIG_VLOCK
|
|||
work properly.
|
||||
|
||||
endmenu
|
||||
|
||||
|
|
|
@ -19,6 +19,73 @@ config BUSYBOX_CONFIG_BBCONFIG
|
|||
The bbconfig applet will print the config file with which
|
||||
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
|
||||
bool "chrt"
|
||||
default n
|
||||
|
@ -39,15 +106,13 @@ config BUSYBOX_CONFIG_CROND
|
|||
$ cat /var/spool/cron/crontabs/root
|
||||
# Run daily cron jobs at 4:40 every day:
|
||||
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
|
||||
bool "Support debug option -d"
|
||||
bool "Support option -d to redirect output to stderr"
|
||||
depends on BUSYBOX_CONFIG_CROND
|
||||
default n
|
||||
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
|
||||
bool "Using /usr/sbin/sendmail?"
|
||||
|
@ -63,6 +128,8 @@ config BUSYBOX_CONFIG_CRONTAB
|
|||
help
|
||||
Crontab manipulates the crontab for a particular user. Only
|
||||
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
|
||||
bool "dc"
|
||||
|
@ -111,7 +178,7 @@ config BUSYBOX_CONFIG_DEVFSD_VERBOSE
|
|||
Increases logging to stderr or syslog.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DEVFS
|
||||
bool " Use devfs names for all devices (obsolete)"
|
||||
bool "Use devfs names for all devices (obsolete)"
|
||||
default n
|
||||
help
|
||||
This is obsolete and will be going away at the end of 2008..
|
||||
|
@ -126,6 +193,41 @@ config BUSYBOX_CONFIG_EJECT
|
|||
help
|
||||
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
|
||||
bool "last"
|
||||
default n
|
||||
|
@ -133,6 +235,24 @@ config BUSYBOX_CONFIG_LAST
|
|||
help
|
||||
'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
|
||||
bool "less"
|
||||
default y
|
||||
|
@ -282,6 +402,12 @@ config BUSYBOX_CONFIG_FEATURE_MAKEDEVS_TABLE
|
|||
|
||||
endchoice
|
||||
|
||||
config BUSYBOX_CONFIG_MAN
|
||||
bool "man"
|
||||
default n
|
||||
help
|
||||
Format and display manual pages.
|
||||
|
||||
config BUSYBOX_CONFIG_MICROCOM
|
||||
bool "microcom"
|
||||
default n
|
||||
|
@ -320,7 +446,7 @@ config BUSYBOX_CONFIG_READAHEAD
|
|||
This applet just calls the readahead(2) system call on each file.
|
||||
It is mainly useful in system startup scripts to preload files
|
||||
or executables before they are used. When used at the right time
|
||||
(in particular when a CPU boundprocess is running) it can
|
||||
(in particular when a CPU bound process is running) it can
|
||||
significantly speed up system startup.
|
||||
|
||||
As readahead(2) blocks until each file has been read, it is best to
|
||||
|
@ -341,6 +467,12 @@ config BUSYBOX_CONFIG_RX
|
|||
help
|
||||
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
|
||||
bool "strings"
|
||||
default y
|
||||
|
@ -348,12 +480,6 @@ config BUSYBOX_CONFIG_STRINGS
|
|||
strings prints the printable character sequences for each file
|
||||
specified.
|
||||
|
||||
config BUSYBOX_CONFIG_SETSID
|
||||
bool "setsid"
|
||||
default n
|
||||
help
|
||||
setsid runs a program in a new session
|
||||
|
||||
config BUSYBOX_CONFIG_TASKSET
|
||||
bool "taskset"
|
||||
default n
|
||||
|
@ -362,7 +488,7 @@ config BUSYBOX_CONFIG_TASKSET
|
|||
This requires sched_{g,s}etaffinity support in your libc.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY
|
||||
bool "fancy output"
|
||||
bool "Fancy output"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TASKSET
|
||||
help
|
||||
|
@ -398,4 +524,3 @@ config BUSYBOX_CONFIG_WATCHDOG
|
|||
hung, and will cause the hardware to reboot.
|
||||
|
||||
endmenu
|
||||
|
||||
|
|
|
@ -5,6 +5,36 @@
|
|||
|
||||
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
|
||||
bool "insmod"
|
||||
default y
|
||||
|
@ -73,7 +103,7 @@ config BUSYBOX_CONFIG_LSMOD
|
|||
lsmod is used to display a list of loaded modules.
|
||||
|
||||
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
|
||||
depends on BUSYBOX_CONFIG_LSMOD
|
||||
help
|
||||
|
@ -92,7 +122,7 @@ config BUSYBOX_CONFIG_MODPROBE
|
|||
|
||||
config BUSYBOX_CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS
|
||||
bool
|
||||
prompt "Multiple options parsing" if BUSYBOX_CONFIG_NITPICK
|
||||
prompt "Multiple options parsing"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MODPROBE
|
||||
help
|
||||
|
@ -109,7 +139,7 @@ config BUSYBOX_CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS
|
|||
|
||||
config BUSYBOX_CONFIG_FEATURE_MODPROBE_FANCY_ALIAS
|
||||
bool
|
||||
prompt "Fancy alias parsing" if BUSYBOX_CONFIG_NITPICK
|
||||
prompt "Fancy alias parsing"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MODPROBE && BUSYBOX_CONFIG_FEATURE_2_6_MODULES
|
||||
help
|
||||
|
@ -117,8 +147,20 @@ config BUSYBOX_CONFIG_FEATURE_MODPROBE_FANCY_ALIAS
|
|||
mismatch between module name and file name, along with bus-specific
|
||||
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"
|
||||
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
|
||||
# Simulate indentation
|
||||
|
@ -139,6 +181,9 @@ config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
|
|||
help
|
||||
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
|
||||
# Simulate indentation
|
||||
bool "Support version 2.6.x Linux kernels"
|
||||
|
@ -147,12 +192,27 @@ config BUSYBOX_CONFIG_FEATURE_2_6_MODULES
|
|||
help
|
||||
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
|
||||
bool
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && !BUSYBOX_CONFIG_FEATURE_2_6_MODULES
|
||||
|
||||
|
||||
endmenu
|
||||
|
||||
|
|
|
@ -12,6 +12,21 @@ config BUSYBOX_CONFIG_FEATURE_IPV6
|
|||
Enable IPv6 support in busybox.
|
||||
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
|
||||
bool "Verbose resolution errors"
|
||||
default y
|
||||
|
@ -32,6 +47,32 @@ config BUSYBOX_CONFIG_ARPING
|
|||
help
|
||||
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
|
||||
bool "dnsd"
|
||||
default n
|
||||
|
@ -101,7 +142,7 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_USE_SENDFILE
|
|||
instead of read/write loop.
|
||||
|
||||
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
|
||||
depends on BUSYBOX_CONFIG_HTTPD
|
||||
help
|
||||
|
@ -151,7 +192,7 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
|
|||
when specific URLs are requested.
|
||||
|
||||
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
|
||||
depends on BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
|
||||
help
|
||||
|
@ -162,7 +203,7 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
|
|||
*.php:/path/to/your/php
|
||||
|
||||
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
|
||||
depends on BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
|
||||
help
|
||||
|
@ -170,17 +211,17 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
|
|||
references that contain a unique port number.
|
||||
|
||||
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
|
||||
depends on BUSYBOX_CONFIG_HTTPD
|
||||
help
|
||||
This option allows html encoding arbitrary
|
||||
strings for display of the browser. Output goes to stdout.
|
||||
For example, httpd -e "<Hello World>" as
|
||||
This option allows html encoding of arbitrary strings for display
|
||||
by the browser. Output goes to stdout.
|
||||
For example, httpd -e "<Hello World>" produces
|
||||
"<Hello World>".
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_HTTPD_ERROR_PAGES
|
||||
bool "Enable support for custom error pages"
|
||||
bool "Support for custom error pages"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_HTTPD
|
||||
help
|
||||
|
@ -193,7 +234,7 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_ERROR_PAGES
|
|||
message.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_HTTPD_PROXY
|
||||
bool "Enable support for reverse proxy"
|
||||
bool "Support for reverse proxy"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HTTPD
|
||||
help
|
||||
|
@ -251,6 +292,13 @@ config BUSYBOX_CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS
|
|||
Setting this will make ifconfig attempt to find the broadcast
|
||||
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
|
||||
bool "ifupdown"
|
||||
default n
|
||||
|
@ -315,14 +363,14 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
|
|||
work.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV4
|
||||
bool "Enable support for IPv4"
|
||||
bool "Support for IPv4"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_IFUPDOWN
|
||||
help
|
||||
If you want ifup/ifdown to talk IPv4, leave this on.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV6
|
||||
bool "Enable support for IPv6"
|
||||
bool "Support for IPv6"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_FEATURE_IPV6
|
||||
help
|
||||
|
@ -330,7 +378,7 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV6
|
|||
|
||||
### UNUSED
|
||||
###config FEATURE_IFUPDOWN_IPX
|
||||
### bool "Enable support for IPX"
|
||||
### bool "Support for IPX"
|
||||
### default n
|
||||
### depends on IFUPDOWN
|
||||
### help
|
||||
|
@ -346,7 +394,7 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_MAPPING
|
|||
a weird network setup you don't need it.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP
|
||||
bool "Enable support for external dhcp clients"
|
||||
bool "Support for external dhcp clients"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_IFUPDOWN
|
||||
help
|
||||
|
@ -449,7 +497,7 @@ config BUSYBOX_CONFIG_FEATURE_IP_RULE
|
|||
Add support for rule commands to "ip".
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS
|
||||
bool "Support short forms of ip commands."
|
||||
bool "Support short forms of ip commands"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_IP
|
||||
help
|
||||
|
@ -528,12 +576,25 @@ config BUSYBOX_CONFIG_NAMEIF
|
|||
Renamed interfaces MUST be in the down state.
|
||||
It is possible to use a file (default: /etc/mactab)
|
||||
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 format:
|
||||
# Comment
|
||||
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
|
||||
bool "nc"
|
||||
default y
|
||||
|
@ -570,7 +631,7 @@ config BUSYBOX_CONFIG_NETSTAT
|
|||
netstat prints information about the Linux networking subsystem.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_NETSTAT_WIDE
|
||||
bool " Enable wide netstat output"
|
||||
bool "Enable wide netstat output"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_NETSTAT
|
||||
help
|
||||
|
@ -597,12 +658,6 @@ config BUSYBOX_CONFIG_PING6
|
|||
help
|
||||
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
|
||||
bool "Enable fancy ping output"
|
||||
default y
|
||||
|
@ -611,12 +666,30 @@ config BUSYBOX_CONFIG_FEATURE_FANCY_PING
|
|||
Make the output from the ping applet include statistics, and at the
|
||||
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
|
||||
bool "route"
|
||||
default y
|
||||
help
|
||||
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
|
||||
bool "slattach"
|
||||
default n
|
||||
|
@ -707,28 +780,41 @@ config BUSYBOX_CONFIG_TFTP
|
|||
is usually used for simple, small transfers such as a root image
|
||||
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
|
||||
bool "Enable \"get\" command"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TFTP
|
||||
depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
|
||||
help
|
||||
Add support for the GET command within the TFTP client. This allows
|
||||
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
|
||||
bool "Enable \"put\" command"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TFTP
|
||||
depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
|
||||
help
|
||||
Add support for the PUT command within the TFTP client. This allows
|
||||
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
|
||||
bool "Enable \"blocksize\" command"
|
||||
bool "Enable \"blksize\" protocol option"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TFTP
|
||||
depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
|
||||
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
|
||||
bool "Enable debug"
|
||||
|
@ -816,4 +902,16 @@ config BUSYBOX_CONFIG_ZCIP
|
|||
See http://www.zeroconf.org for further details, and "zcip.script"
|
||||
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
|
||||
|
|
|
@ -4,14 +4,12 @@
|
|||
#
|
||||
|
||||
config BUSYBOX_CONFIG_APP_UDHCPD
|
||||
bool "udhcp Server (udhcpd)"
|
||||
bool "udhcp server (udhcpd)"
|
||||
default n
|
||||
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.
|
||||
|
||||
See http://udhcp.busybox.net for further details.
|
||||
|
||||
config BUSYBOX_CONFIG_APP_DHCPRELAY
|
||||
bool "dhcprelay"
|
||||
default n
|
||||
|
@ -30,40 +28,58 @@ config BUSYBOX_CONFIG_APP_DUMPLEASES
|
|||
Lease times are stored in the file by time remaining in lease, or
|
||||
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
|
||||
bool "Rewrite the lease file at every new acknowledge"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_APP_UDHCPD
|
||||
help
|
||||
If selected, udhcpd will write a new file with leases every
|
||||
time a new lease has been accepted, thus eleminating the need
|
||||
to send SIGUSR1 for the initial writing, or updating. Any timed
|
||||
time a new lease has been accepted, thus eliminating the need
|
||||
to send SIGUSR1 for the initial writing or updating. Any timed
|
||||
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
|
||||
bool "udhcp Client (udhcpc)"
|
||||
bool "udhcp client (udhcpc)"
|
||||
default y
|
||||
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.
|
||||
|
||||
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
|
||||
bool "Compile udhcp with noisy debugging messages"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC
|
||||
help
|
||||
If selected, udhcpd will output extra debugging output. If using
|
||||
this option, compile uDHCP with "-g", and do not fork the daemon to
|
||||
the background.
|
||||
|
||||
See http://udhcp.busybox.net for further details.
|
||||
If selected, udhcpd will output extra debugging output.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_RFC3397
|
||||
bool "Support for RFC3397 domain search (experimental)"
|
||||
|
@ -72,3 +88,35 @@ config BUSYBOX_CONFIG_FEATURE_RFC3397
|
|||
help
|
||||
If selected, both client and server will support passing of domain
|
||||
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.
|
||||
|
|
|
@ -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
|
||||
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
|
||||
bool "renice"
|
||||
default n
|
||||
|
|
|
@ -112,5 +112,12 @@ config BUSYBOX_CONFIG_SETSEBOOL
|
|||
Enable support for change boolean.
|
||||
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
|
||||
|
||||
|
|
|
@ -20,9 +20,9 @@ config BUSYBOX_CONFIG_FEATURE_SH_IS_HUSH
|
|||
select BUSYBOX_CONFIG_HUSH
|
||||
bool "hush"
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SH_IS_LASH
|
||||
select BUSYBOX_CONFIG_LASH
|
||||
bool "lash"
|
||||
####config FEATURE_SH_IS_LASH
|
||||
#### select LASH
|
||||
#### bool "lash"
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SH_IS_MSH
|
||||
select BUSYBOX_CONFIG_MSH
|
||||
|
@ -36,7 +36,6 @@ endchoice
|
|||
config BUSYBOX_CONFIG_ASH
|
||||
bool "ash"
|
||||
default y
|
||||
select BUSYBOX_CONFIG_TEST
|
||||
help
|
||||
Tha 'ash' shell adds about 60k in the default configuration and is
|
||||
the most complete and most pedantically correct shell included with
|
||||
|
@ -47,6 +46,13 @@ config BUSYBOX_CONFIG_ASH
|
|||
comment "Ash Shell Options"
|
||||
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
|
||||
bool "Job control"
|
||||
default y
|
||||
|
@ -104,15 +110,20 @@ config BUSYBOX_CONFIG_ASH_GETOPTS
|
|||
config BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
|
||||
bool "Builtin version of 'echo'"
|
||||
default y
|
||||
select BUSYBOX_CONFIG_ECHO
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
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
|
||||
bool "Builtin version of 'test'"
|
||||
default y
|
||||
select BUSYBOX_CONFIG_TEST
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable support for test, builtin to ash.
|
||||
|
@ -163,9 +174,6 @@ config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
|
|||
config BUSYBOX_CONFIG_HUSH
|
||||
bool "hush"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_TRUE
|
||||
select BUSYBOX_CONFIG_FALSE
|
||||
select BUSYBOX_CONFIG_TEST
|
||||
help
|
||||
hush is a very small shell (just 18k) and it has fairly complete
|
||||
Bourne shell grammar. It even handles all the normal flow control
|
||||
|
@ -228,24 +236,13 @@ config BUSYBOX_CONFIG_HUSH_LOOPS
|
|||
config BUSYBOX_CONFIG_LASH
|
||||
bool "lash"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_TRUE
|
||||
select BUSYBOX_CONFIG_FALSE
|
||||
select BUSYBOX_CONFIG_TEST
|
||||
select BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
lash is the very smallest shell (adds just 10k) and it is quite
|
||||
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.
|
||||
|
||||
lash is deprecated and will be removed, please migrate to hush.
|
||||
|
||||
config BUSYBOX_CONFIG_MSH
|
||||
bool "msh"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_TRUE
|
||||
select BUSYBOX_CONFIG_FALSE
|
||||
select BUSYBOX_CONFIG_TEST
|
||||
help
|
||||
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
|
||||
|
@ -297,6 +294,23 @@ config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
|
|||
# that exact location with that exact name, this option will not work at
|
||||
# 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
|
||||
bool "cttyhack"
|
||||
default n
|
||||
|
|
|
@ -42,6 +42,14 @@ config BUSYBOX_CONFIG_FEATURE_REMOTE_LOG
|
|||
measure to prevent system logs from being tampered with
|
||||
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
|
||||
bool "Circular Buffer support"
|
||||
default y
|
||||
|
@ -57,7 +65,7 @@ config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
|
|||
break badly.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE
|
||||
int " Circular buffer size in Kbytes (minimum 4KB)"
|
||||
int "Circular buffer size in Kbytes (minimum 4KB)"
|
||||
default 16
|
||||
range 4 2147483647
|
||||
depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
|
||||
|
@ -76,7 +84,7 @@ config BUSYBOX_CONFIG_LOGREAD
|
|||
stored in the syslogd circular buffer.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING
|
||||
bool "logread double buffering"
|
||||
bool "Double buffering"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_LOGREAD
|
||||
help
|
||||
|
|
|
@ -18,7 +18,7 @@ config BUSYBOX_CONFIG_DMESG
|
|||
wish to enable the 'dmesg' utility.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DMESG_PRETTY
|
||||
bool "pretty dmesg output"
|
||||
bool "Pretty dmesg output"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_DMESG
|
||||
help
|
||||
|
@ -93,7 +93,7 @@ config BUSYBOX_CONFIG_FDISK
|
|||
'disk slices' that are defined on a hard drive.
|
||||
|
||||
config BUSYBOX_CONFIG_FDISK_SUPPORT_LARGE_DISKS
|
||||
bool "support over 4GB disks"
|
||||
bool "Support over 4GB disks"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FDISK
|
||||
help
|
||||
|
@ -150,6 +150,17 @@ config BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED
|
|||
partition, and similarly evil things. Unless you have a very good
|
||||
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
|
||||
bool "freeramdisk"
|
||||
default n
|
||||
|
@ -210,6 +221,23 @@ config BUSYBOX_CONFIG_HEXDUMP
|
|||
The hexdump utility is used to display binary data in a readable
|
||||
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
|
||||
bool "hwclock"
|
||||
default y
|
||||
|
@ -284,6 +312,22 @@ config BUSYBOX_CONFIG_FEATURE_MDEV_CONF
|
|||
|
||||
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
|
||||
bool "Support command execution at device addition/removal"
|
||||
default n
|
||||
|
@ -319,7 +363,7 @@ config BUSYBOX_CONFIG_MKSWAP
|
|||
the swap space using the 'swapon' utility.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MKSWAP_V0
|
||||
bool "version 0 support"
|
||||
bool "Version 0 support"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MKSWAP
|
||||
# depends on MKSWAP && BUSYBOX_CONFIG_DEPRECATED
|
||||
|
@ -341,7 +385,7 @@ config BUSYBOX_CONFIG_MORE
|
|||
config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
|
||||
bool "Use termios to manipulate the screen"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MORE
|
||||
depends on BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TOP
|
||||
help
|
||||
This option allows utilities such as 'more' and 'top' to determine
|
||||
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
|
||||
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
|
||||
bool "mount"
|
||||
default y
|
||||
|
@ -360,15 +614,42 @@ config BUSYBOX_CONFIG_MOUNT
|
|||
NFS filesystems. Most people using BusyBox will also want to enable
|
||||
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
|
||||
bool "Support mount helpers"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MOUNT
|
||||
help
|
||||
Enable mounting of virtual file systems via external helpers.
|
||||
E.g. mount obexfs#-b00.11.22.33.44.55 /mnt will in effect call
|
||||
obexfs -b00.11.22.33.44.55 /mnt
|
||||
The idea is to use such virtual filesystems in /etc/fstab
|
||||
E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
|
||||
"obexfs -b00.11.22.33.44.55 /mnt"
|
||||
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
|
||||
bool "Support mounting NFS file systems"
|
||||
|
@ -430,6 +711,18 @@ config BUSYBOX_CONFIG_READPROFILE
|
|||
help
|
||||
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
|
||||
bool "setarch"
|
||||
default n
|
||||
|
@ -450,6 +743,13 @@ config BUSYBOX_CONFIG_SWAPONOFF
|
|||
space. If you are not using any swap space, you can leave this
|
||||
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
|
||||
bool "switch_root"
|
||||
default y
|
||||
|
@ -479,7 +779,7 @@ config BUSYBOX_CONFIG_UMOUNT
|
|||
also want to enable 'umount'.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_UMOUNT_ALL
|
||||
bool "umount -a option"
|
||||
bool "Support option -a"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_UMOUNT
|
||||
help
|
||||
|
@ -508,6 +808,7 @@ config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
|
|||
bool "Support for the old /etc/mtab file"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
|
||||
select BUSYBOX_CONFIG_FEATURE_MOUNT_FAKE
|
||||
help
|
||||
Historically, Unix systems kept track of the currently mounted
|
||||
partitions in the file "/etc/mtab". These days, the kernel exports
|
||||
|
@ -528,4 +829,3 @@ config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
|
|||
your kernel.
|
||||
|
||||
endmenu
|
||||
|
||||
|
|
|
@ -1,13 +1,18 @@
|
|||
Index: busybox-1.7.2/applets/Kbuild
|
||||
===================================================================
|
||||
--- busybox-1.7.2.orig/applets/Kbuild 2007-10-30 15:35:00.000000000 -0500
|
||||
+++ busybox-1.7.2/applets/Kbuild 2007-10-30 15:35:00.000000000 -0500
|
||||
@@ -20,6 +20,6 @@
|
||||
HOSTCFLAGS_usage.o = -I$(srctree)/include
|
||||
--- a/applets/Kbuild
|
||||
+++ b/applets/Kbuild
|
||||
@@ -18,13 +18,13 @@
|
||||
|
||||
applets/applets.o: include/usage_compressed.h include/applet_tables.h
|
||||
|
||||
-applets/usage: .config $(srctree)/applets/usage_compressed
|
||||
+applets/usage: .config $(srctree)/applets/usage_compressed include/autoconf.h
|
||||
applets/applet_tables: .config
|
||||
|
||||
quiet_cmd_gen_usage_compressed = GEN include/usage_compressed.h
|
||||
cmd_gen_usage_compressed = $(srctree)/applets/usage_compressed include/usage_compressed.h applets
|
||||
|
||||
applets/applets.o: include/usage_compressed.h
|
||||
-applets/usage: .config $(srctree)/applets/usage_compressed
|
||||
-include/usage_compressed.h: applets/usage $(srctree)/applets/usage_compressed
|
||||
+applets/usage: .config $(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)
|
||||
|
||||
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
|
||||
===================================================================
|
||||
--- busybox-1.7.2.orig/networking/wget.c 2007-10-30 15:35:00.000000000 -0500
|
||||
+++ busybox-1.7.2/networking/wget.c 2007-10-30 15:35:00.000000000 -0500
|
||||
@@ -140,7 +140,7 @@
|
||||
--- a/networking/wget.c
|
||||
+++ b/networking/wget.c
|
||||
@@ -437,7 +437,7 @@
|
||||
"directory-prefix\0" Required_argument "P"
|
||||
"proxy\0" Required_argument "Y"
|
||||
"user-agent\0" Required_argument "U"
|
||||
|
@ -10,4 +8,4 @@ Index: busybox-1.7.2/networking/wget.c
|
|||
+ "passive-ftp\0" No_argument "\xfd"
|
||||
"header\0" Required_argument "\xfe"
|
||||
;
|
||||
applet_long_options = wget_longopts;
|
||||
#endif
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
Index: busybox-1.7.2/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
|
||||
--- a/scripts/trylink
|
||||
+++ b/scripts/trylink
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/sh
|
||||
+#!/usr/bin/env bash
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
Index: busybox-1.7.2/miscutils/crond.c
|
||||
===================================================================
|
||||
--- busybox-1.7.2.orig/miscutils/crond.c 2007-10-30 15:35:00.000000000 -0500
|
||||
+++ busybox-1.7.2/miscutils/crond.c 2007-10-30 15:35:00.000000000 -0500
|
||||
@@ -15,7 +15,7 @@
|
||||
#include "libbb.h"
|
||||
--- a/miscutils/crond.c
|
||||
+++ b/miscutils/crond.c
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
|
||||
#ifndef CRONTABS
|
||||
-#define CRONTABS "/var/spool/cron/crontabs"
|
||||
|
@ -11,10 +9,8 @@ Index: busybox-1.7.2/miscutils/crond.c
|
|||
#endif
|
||||
#ifndef TMPDIR
|
||||
#define TMPDIR "/var/spool/cron"
|
||||
Index: busybox-1.7.2/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
|
||||
--- a/miscutils/crontab.c
|
||||
+++ b/miscutils/crontab.c
|
||||
@@ -13,7 +13,7 @@
|
||||
#include "libbb.h"
|
||||
|
||||
|
@ -22,5 +18,5 @@ Index: busybox-1.7.2/miscutils/crontab.c
|
|||
-#define CRONTABS "/var/spool/cron/crontabs"
|
||||
+#define CRONTABS "/etc/crontabs"
|
||||
#endif
|
||||
#ifndef TMPDIR
|
||||
#define TMPDIR "/var/spool/cron"
|
||||
#ifndef CRONUPDATE
|
||||
#define CRONUPDATE "cron.update"
|
||||
|
|
|
@ -1,22 +1,20 @@
|
|||
Index: busybox-1.7.2/networking/udhcp/dhcpc.c
|
||||
===================================================================
|
||||
--- busybox-1.7.2.orig/networking/udhcp/dhcpc.c 2007-10-30 15:35:00.000000000 -0500
|
||||
+++ busybox-1.7.2/networking/udhcp/dhcpc.c 2007-10-30 15:35:01.000000000 -0500
|
||||
@@ -334,7 +334,7 @@
|
||||
/* timeout dropped to zero */
|
||||
--- a/networking/udhcp/dhcpc.c
|
||||
+++ b/networking/udhcp/dhcpc.c
|
||||
@@ -352,7 +352,7 @@
|
||||
|
||||
switch (state) {
|
||||
case INIT_SELECTING:
|
||||
- if (packet_num < client_config.retries) {
|
||||
+ if (!client_config.retries || (packet_num < client_config.retries)) {
|
||||
- if (packet_num < discover_retries) {
|
||||
+ if (!discover_retries || packet_num < discover_retries) {
|
||||
if (packet_num == 0)
|
||||
xid = random_xid();
|
||||
|
||||
@@ -360,7 +360,7 @@
|
||||
break;
|
||||
@@ -382,7 +382,7 @@
|
||||
continue;
|
||||
case RENEW_REQUESTED:
|
||||
case REQUESTING:
|
||||
- if (packet_num < client_config.retries) {
|
||||
+ if (!client_config.retries || (packet_num < client_config.retries)) {
|
||||
- if (packet_num < discover_retries) {
|
||||
+ if (!discover_retries || packet_num < discover_retries) {
|
||||
/* send request packet */
|
||||
if (state == RENEW_REQUESTED)
|
||||
send_renew(xid, server_addr, requested_ip); /* unicast */
|
||||
if (state == RENEW_REQUESTED) /* unicast */
|
||||
send_renew(xid, server_addr, requested_ip);
|
||||
|
|
|
@ -1,89 +1,75 @@
|
|||
Index: busybox-1.7.2/networking/udhcp/packet.c
|
||||
===================================================================
|
||||
--- busybox-1.7.2.orig/networking/udhcp/packet.c 2007-10-30 15:35:00.000000000 -0500
|
||||
+++ busybox-1.7.2/networking/udhcp/packet.c 2007-10-30 15:35:01.000000000 -0500
|
||||
@@ -121,6 +121,10 @@
|
||||
--- a/networking/udhcp/packet.c
|
||||
+++ b/networking/udhcp/packet.c
|
||||
@@ -114,6 +114,10 @@
|
||||
return ~sum;
|
||||
}
|
||||
|
||||
+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 */
|
||||
void BUG_sizeof_struct_udp_dhcp_packet_must_be_576(void);
|
||||
@@ -132,6 +136,7 @@
|
||||
int result;
|
||||
struct sockaddr_ll dest;
|
||||
struct udp_dhcp_packet packet;
|
||||
/* Construct a ip/udp header for a packet, send packet */
|
||||
int udhcp_send_raw_packet(struct dhcpMessage *payload,
|
||||
@@ -125,11 +129,7 @@
|
||||
int fd;
|
||||
int result = -1;
|
||||
const char *msg;
|
||||
-
|
||||
- enum {
|
||||
- IP_UPD_DHCP_SIZE = sizeof(struct udp_dhcp_packet) - CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS,
|
||||
- UPD_DHCP_SIZE = IP_UPD_DHCP_SIZE - offsetof(struct udp_dhcp_packet, udp),
|
||||
- };
|
||||
+ int p_len = udhcp_get_payload_len(payload);
|
||||
|
||||
fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP));
|
||||
if (fd < 0) {
|
||||
@@ -141,6 +146,7 @@
|
||||
@@ -139,7 +139,7 @@
|
||||
|
||||
memset(&dest, 0, sizeof(dest));
|
||||
memset(&packet, 0, sizeof(packet));
|
||||
- packet.data = *payload; /* struct copy */
|
||||
+ memcpy(&(packet.data), payload, p_len);
|
||||
|
||||
dest.sll_family = AF_PACKET;
|
||||
dest.sll_protocol = htons(ETH_P_IP);
|
||||
@@ -158,12 +164,13 @@
|
||||
@@ -156,23 +156,18 @@
|
||||
packet.ip.daddr = dest_ip;
|
||||
packet.udp.source = htons(source_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);
|
||||
+ packet.udp.len = htons(p_len);
|
||||
packet.ip.tot_len = packet.udp.len;
|
||||
- memcpy(&(packet.data), payload, sizeof(struct dhcpMessage));
|
||||
- packet.udp.check = udhcp_checksum(&packet, sizeof(struct udp_dhcp_packet));
|
||||
- packet.udp.check = udhcp_checksum(&packet, IP_UPD_DHCP_SIZE);
|
||||
- /* but for sending, it is set to IP packet len */
|
||||
- packet.ip.tot_len = htons(IP_UPD_DHCP_SIZE);
|
||||
+ p_len += sizeof(packet.ip);
|
||||
+ 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.ihl = sizeof(packet.ip) >> 2;
|
||||
packet.ip.version = IPVERSION;
|
||||
packet.ip.ttl = IPDEFTTL;
|
||||
@@ -172,7 +179,7 @@
|
||||
if (sizeof(struct udp_dhcp_packet) != 576)
|
||||
BUG_sizeof_struct_udp_dhcp_packet_must_be_576();
|
||||
packet.ip.check = udhcp_checksum(&packet.ip, sizeof(packet.ip));
|
||||
|
||||
- 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,
|
||||
(struct sockaddr *) &dest, sizeof(dest));
|
||||
if (result <= 0) {
|
||||
bb_perror_msg("sendto");
|
||||
@@ -216,7 +223,7 @@
|
||||
return -1;
|
||||
(struct sockaddr *) &dest, sizeof(dest));
|
||||
msg = "sendto";
|
||||
ret_close:
|
||||
@@ -224,8 +219,7 @@
|
||||
goto ret_close;
|
||||
}
|
||||
|
||||
- result = write(fd, payload, sizeof(struct dhcpMessage));
|
||||
+ result = write(fd, payload, udhcp_get_payload_len(payload));
|
||||
- /* Currently we send full-sized DHCP packets (see above) */
|
||||
- result = safe_write(fd, payload, DHCP_SIZE);
|
||||
+ result = safe_write(fd, payload, udhcp_get_payload_len(payload));
|
||||
msg = "write";
|
||||
ret_close:
|
||||
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
|
||||
===================================================================
|
||||
--- busybox-1.7.2.orig/networking/udhcp/clientpacket.c 2007-10-30 15:35:00.000000000 -0500
|
||||
+++ busybox-1.7.2/networking/udhcp/clientpacket.c 2007-10-30 15:35:02.000000000 -0500
|
||||
@@ -74,6 +74,7 @@
|
||||
--- a/networking/udhcp/clientpacket.c
|
||||
+++ b/networking/udhcp/clientpacket.c
|
||||
@@ -101,6 +101,7 @@
|
||||
int send_discover(uint32_t xid, uint32_t requested)
|
||||
{
|
||||
struct dhcpMessage packet;
|
||||
|
@ -10,13 +8,11 @@ Index: busybox-1.7.2/networking/udhcp/clientpacket.c
|
|||
|
||||
init_packet(&packet, DHCPDISCOVER);
|
||||
packet.xid = xid;
|
||||
@@ -81,7 +82,8 @@
|
||||
add_simple_option(packet.options, DHCP_REQUESTED_IP, requested);
|
||||
@@ -113,6 +114,7 @@
|
||||
|
||||
add_param_req_option(&packet);
|
||||
|
||||
add_requests(&packet);
|
||||
- bb_info_msg("Sending discover...");
|
||||
+ if (msgs++ < 3)
|
||||
+ bb_info_msg("Sending discover...");
|
||||
return udhcp_raw_packet(&packet, INADDR_ANY, CLIENT_PORT, INADDR_BROADCAST,
|
||||
bb_info_msg("Sending discover...");
|
||||
return udhcp_send_raw_packet(&packet, INADDR_ANY, CLIENT_PORT, INADDR_BROADCAST,
|
||||
SERVER_PORT, MAC_BCAST_ADDR, client_config.ifindex);
|
||||
}
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
Index: busybox-1.7.2/networking/udhcp/dhcpc.c
|
||||
===================================================================
|
||||
--- busybox-1.7.2.orig/networking/udhcp/dhcpc.c 2007-10-30 15:35:01.000000000 -0500
|
||||
+++ busybox-1.7.2/networking/udhcp/dhcpc.c 2007-10-30 15:35:02.000000000 -0500
|
||||
@@ -309,6 +309,12 @@
|
||||
jump_in:
|
||||
tv.tv_usec = 0;
|
||||
--- a/networking/udhcp/dhcpc.c
|
||||
+++ b/networking/udhcp/dhcpc.c
|
||||
@@ -319,6 +319,12 @@
|
||||
for (;;) {
|
||||
unsigned timestamp_before_wait;
|
||||
|
||||
+ /* When running on a bridge, the ifindex may have changed (e.g. if
|
||||
+ * member interfaces were added/removed or if the status of the
|
||||
|
|
|
@ -1,15 +1,11 @@
|
|||
Index: busybox-1.7.2/shell/ash.c
|
||||
===================================================================
|
||||
--- busybox-1.7.2.orig/shell/ash.c 2007-10-30 15:34:59.000000000 -0500
|
||||
+++ busybox-1.7.2/shell/ash.c 2007-10-30 15:35:02.000000000 -0500
|
||||
@@ -11310,8 +11310,18 @@
|
||||
--- a/shell/ash.c
|
||||
+++ b/shell/ash.c
|
||||
@@ -11875,8 +11875,17 @@
|
||||
const char *p;
|
||||
char **aptr;
|
||||
int flag = argv[0][0] == 'r'? VREADONLY : VEXPORT;
|
||||
+ int mask = ~0;
|
||||
+ int nopt;
|
||||
|
||||
- if (nextopt("p") != 'p') {
|
||||
+ while ((nopt = nextopt("np"))) {
|
||||
+ if (nopt == 'n') {
|
||||
+ mask = ~flag;
|
||||
|
@ -17,12 +13,13 @@ Index: busybox-1.7.2/shell/ash.c
|
|||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
|
||||
- if (nextopt("p") != 'p') {
|
||||
+ if (nopt != 'p') {
|
||||
aptr = argptr;
|
||||
name = *aptr;
|
||||
if (name) {
|
||||
@@ -11323,10 +11333,11 @@
|
||||
@@ -11888,10 +11897,12 @@
|
||||
vp = *findvar(hashvar(name), name);
|
||||
if (vp) {
|
||||
vp->flags |= flag;
|
||||
|
@ -30,7 +27,7 @@ Index: busybox-1.7.2/shell/ash.c
|
|||
continue;
|
||||
}
|
||||
}
|
||||
- setvar(name, p, flag);
|
||||
setvar(name, p, flag);
|
||||
+ setvar(name, p, flag & mask);
|
||||
} while ((name = *++aptr) != NULL);
|
||||
return 0;
|
||||
|
|
|
@ -1,37 +1,43 @@
|
|||
Index: busybox-1.7.2/include/applets.h
|
||||
===================================================================
|
||||
--- busybox-1.7.2.orig/include/applets.h 2007-10-30 15:34:59.000000000 -0500
|
||||
+++ busybox-1.7.2/include/applets.h 2007-10-30 15:35:03.000000000 -0500
|
||||
@@ -241,6 +241,7 @@
|
||||
--- a/include/applets.h
|
||||
+++ b/include/applets.h
|
||||
@@ -257,6 +257,7 @@
|
||||
USE_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_NEVER))
|
||||
USE_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_NEVER))
|
||||
USE_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
|
||||
+USE_NETMSG(APPLET_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_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_NEVER))
|
||||
USE_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
|
||||
Index: busybox-1.7.2/networking/Config.in
|
||||
===================================================================
|
||||
--- busybox-1.7.2.orig/networking/Config.in 2007-10-30 15:34:59.000000000 -0500
|
||||
+++ busybox-1.7.2/networking/Config.in 2007-10-30 15:35:03.000000000 -0500
|
||||
@@ -508,6 +508,12 @@
|
||||
help
|
||||
--- a/include/usage.h
|
||||
+++ b/include/usage.h
|
||||
@@ -2815,6 +2815,9 @@
|
||||
|
||||
#endif
|
||||
|
||||
+#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
|
||||
connections.
|
||||
+
|
||||
|
||||
+config NETMSG
|
||||
+ bool "netmsg"
|
||||
+ default n
|
||||
+ help
|
||||
+ simple program for sending udp broadcast messages
|
||||
|
||||
+
|
||||
config NC_SERVER
|
||||
bool "Netcat server options (-l)"
|
||||
Index: busybox-1.7.2/networking/Kbuild
|
||||
===================================================================
|
||||
--- busybox-1.7.2.orig/networking/Kbuild 2007-10-30 15:34:59.000000000 -0500
|
||||
+++ busybox-1.7.2/networking/Kbuild 2007-10-30 15:35:03.000000000 -0500
|
||||
@@ -21,6 +21,7 @@
|
||||
default n
|
||||
--- a/networking/Kbuild
|
||||
+++ b/networking/Kbuild
|
||||
@@ -24,6 +24,7 @@
|
||||
lib-$(CONFIG_IPCALC) += ipcalc.o
|
||||
lib-$(CONFIG_NAMEIF) += nameif.o
|
||||
lib-$(CONFIG_NC) += nc.o
|
||||
|
@ -39,10 +45,8 @@ Index: busybox-1.7.2/networking/Kbuild
|
|||
lib-$(CONFIG_NETSTAT) += netstat.o
|
||||
lib-$(CONFIG_NSLOOKUP) += nslookup.o
|
||||
lib-$(CONFIG_PING) += ping.o
|
||||
Index: busybox-1.7.2/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
|
||||
--- /dev/null
|
||||
+++ b/networking/netmsg.c
|
||||
@@ -0,0 +1,63 @@
|
||||
+/*
|
||||
+ * 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
|
||||
===================================================================
|
||||
--- busybox-1.8.1.orig/include/applets.h 2007-11-10 16:54:28.318054115 +0100
|
||||
+++ busybox-1.8.1/include/applets.h 2007-11-10 17:39:21.487529096 +0100
|
||||
@@ -218,6 +218,7 @@
|
||||
--- a/include/applets.h
|
||||
+++ b/include/applets.h
|
||||
@@ -220,6 +220,7 @@
|
||||
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_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_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_ALWAYS))
|
||||
USE_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_NEVER, logname))
|
||||
Index: busybox-1.8.1/miscutils/Config.in
|
||||
===================================================================
|
||||
--- busybox-1.8.1.orig/miscutils/Config.in 2007-11-10 16:54:16.477379354 +0100
|
||||
+++ busybox-1.8.1/miscutils/Config.in 2007-11-10 16:54:28.366056851 +0100
|
||||
@@ -244,6 +244,12 @@
|
||||
--- a/include/usage.h
|
||||
+++ b/include/usage.h
|
||||
@@ -2138,6 +2138,9 @@
|
||||
#define loadkmap_example_usage \
|
||||
"$ 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.
|
||||
This is dangerous stuff, so you should probably say N.
|
||||
|
||||
|
@ -27,22 +35,18 @@ Index: busybox-1.8.1/miscutils/Config.in
|
|||
config MAKEDEVS
|
||||
bool "makedevs"
|
||||
default n
|
||||
Index: busybox-1.8.1/miscutils/Kbuild
|
||||
===================================================================
|
||||
--- busybox-1.8.1.orig/miscutils/Kbuild 2007-11-10 16:54:16.481379580 +0100
|
||||
+++ busybox-1.8.1/miscutils/Kbuild 2007-11-10 16:54:28.370057076 +0100
|
||||
@@ -16,6 +16,7 @@
|
||||
lib-$(CONFIG_HDPARM) += hdparm.o
|
||||
lib-$(CONFIG_LAST) += last.o
|
||||
--- a/miscutils/Kbuild
|
||||
+++ b/miscutils/Kbuild
|
||||
@@ -20,6 +20,7 @@
|
||||
lib-$(CONFIG_FEATURE_LAST_SMALL)+= last.o
|
||||
lib-$(CONFIG_FEATURE_LAST_FANCY)+= last_fancy.o
|
||||
lib-$(CONFIG_LESS) += less.o
|
||||
+lib-$(CONFIG_LOCK) += lock.o
|
||||
lib-$(CONFIG_MAKEDEVS) += makedevs.o
|
||||
lib-$(CONFIG_MAN) += man.o
|
||||
lib-$(CONFIG_MICROCOM) += microcom.o
|
||||
lib-$(CONFIG_MOUNTPOINT) += mountpoint.o
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/miscutils/lock.c
|
||||
@@ -0,0 +1,132 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
|
||||
|
|
|
@ -1,31 +1,27 @@
|
|||
Index: busybox-1.8.1/include/usage.h
|
||||
===================================================================
|
||||
--- busybox-1.8.1.orig/include/usage.h 2007-11-10 16:54:16.433376848 +0100
|
||||
+++ busybox-1.8.1/include/usage.h 2007-11-10 16:54:29.970148260 +0100
|
||||
@@ -1418,7 +1418,8 @@
|
||||
--- a/include/usage.h
|
||||
+++ b/include/usage.h
|
||||
@@ -1558,7 +1558,8 @@
|
||||
USE_FEATURE_HTTPD_BASIC_AUTH(" [-r realm]") \
|
||||
USE_FEATURE_HTTPD_AUTH_MD5(" [-m pass]") \
|
||||
" [-h home]" \
|
||||
- " [-d/-e string]"
|
||||
+ " [-d/-e string]" \
|
||||
+ " [-R <path> [-H <host>]]"
|
||||
#define httpd_full_usage \
|
||||
"Listen for incoming HTTP requests" \
|
||||
"\n\nOptions:" \
|
||||
@@ -1436,6 +1437,8 @@
|
||||
"\n -h HOME Home directory (default .)" \
|
||||
"\n -e STRING HTML encode STRING" \
|
||||
"\n -d STRING URL decode STRING" \
|
||||
+ "\n -R PATH Redirect target path" \
|
||||
+ "\n -H HOST Redirect target host" \
|
||||
#define httpd_full_usage "\n\n" \
|
||||
"Listen for incoming HTTP requests\n" \
|
||||
"\nOptions:" \
|
||||
@@ -1576,6 +1577,8 @@
|
||||
"\n -h HOME Home directory (default .)" \
|
||||
"\n -e STRING HTML encode STRING" \
|
||||
"\n -d STRING URL decode STRING" \
|
||||
+ "\n -R PATH Redirect target path" \
|
||||
+ "\n -H HOST Redirect target host" \
|
||||
|
||||
#define hwclock_trivial_usage \
|
||||
USE_GETOPT_LONG( \
|
||||
Index: busybox-1.8.1/networking/httpd.c
|
||||
===================================================================
|
||||
--- busybox-1.8.1.orig/networking/httpd.c 2007-11-10 16:54:28.346055711 +0100
|
||||
+++ busybox-1.8.1/networking/httpd.c 2007-11-10 16:54:56.639668071 +0100
|
||||
@@ -253,6 +253,8 @@
|
||||
--- a/networking/httpd.c
|
||||
+++ b/networking/httpd.c
|
||||
@@ -247,6 +247,8 @@
|
||||
|
||||
const char *found_mime_type;
|
||||
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 */
|
||||
|
||||
USE_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
|
||||
@@ -297,6 +299,8 @@
|
||||
#define home_httpd (G.home_httpd )
|
||||
@@ -292,6 +294,8 @@
|
||||
#define index_page (G.index_page )
|
||||
#define found_mime_type (G.found_mime_type )
|
||||
#define found_moved_temporarily (G.found_moved_temporarily)
|
||||
+#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 ip_a_d (G.ip_a_d )
|
||||
#define g_realm (G.g_realm )
|
||||
@@ -988,8 +992,11 @@
|
||||
@@ -991,8 +995,11 @@
|
||||
}
|
||||
#endif
|
||||
if (responseNum == HTTP_MOVED_TEMPORARILY) {
|
||||
|
@ -56,21 +52,21 @@ Index: busybox-1.8.1/networking/httpd.c
|
|||
(g_query ? "?" : ""),
|
||||
(g_query ? g_query : ""));
|
||||
}
|
||||
@@ -1907,8 +1914,12 @@
|
||||
*++urlp = '\0'; /* so keep last character */
|
||||
tptr = urlp; /* end ptr */
|
||||
@@ -1912,8 +1919,12 @@
|
||||
} while (*++tptr);
|
||||
*++urlp = '\0'; /* terminate after last character */
|
||||
|
||||
+ /* redirect active */
|
||||
+ if (redirect_path && (strncmp(urlcopy, redirect_path, strlen(redirect_path)) != 0))
|
||||
+ found_moved_temporarily = redirect_path;
|
||||
+
|
||||
/* If URL is a directory, add '/' */
|
||||
- if (tptr[-1] != '/') {
|
||||
+ if (!redirect_path && (tptr[-1] != '/')) {
|
||||
- if (urlp[-1] != '/') {
|
||||
+ if (!redirect_path && (urlp[-1] != '/')) {
|
||||
if (is_directory(urlcopy + 1, 1, &sb)) {
|
||||
found_moved_temporarily = urlcopy;
|
||||
}
|
||||
@@ -2252,7 +2263,9 @@
|
||||
@@ -2263,7 +2274,9 @@
|
||||
#endif
|
||||
|
||||
enum {
|
||||
|
@ -81,10 +77,10 @@ Index: busybox-1.8.1/networking/httpd.c
|
|||
d_opt_decode_url,
|
||||
h_opt_home_httpd,
|
||||
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.
|
||||
* If user gives relative path in -h, $SCRIPT_FILENAME can end up
|
||||
* relative too. */
|
||||
* If user gives relative path in -h,
|
||||
* $SCRIPT_FILENAME will not be set. */
|
||||
- opt = getopt32(argv, "c:d:h:"
|
||||
+ opt = getopt32(argv, "R:H:c:d:h:"
|
||||
USE_FEATURE_HTTPD_ENCODE_URL_STR("e:")
|
||||
|
|
|
@ -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
|
||||
===================================================================
|
||||
--- busybox-1.7.2.orig/networking/httpd.c 2007-10-30 15:35:03.000000000 -0500
|
||||
+++ busybox-1.7.2/networking/httpd.c 2007-10-30 15:35:04.000000000 -0500
|
||||
@@ -1316,10 +1316,10 @@
|
||||
if (full_write(1, HTTP_200, sizeof(HTTP_200)-1) != sizeof(HTTP_200)-1)
|
||||
--- a/networking/httpd.c
|
||||
+++ b/networking/httpd.c
|
||||
@@ -1247,10 +1247,10 @@
|
||||
if (full_write(STDOUT_FILENO, HTTP_200, sizeof(HTTP_200)-1) != sizeof(HTTP_200)-1)
|
||||
break;
|
||||
}
|
||||
- /* Commented out:
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
Index: busybox-1.7.2/coreutils/uniq.c
|
||||
===================================================================
|
||||
--- busybox-1.7.2.orig/coreutils/uniq.c 2007-10-30 15:34:59.000000000 -0500
|
||||
+++ busybox-1.7.2/coreutils/uniq.c 2007-10-30 15:35:04.000000000 -0500
|
||||
@@ -83,6 +83,8 @@
|
||||
--- a/coreutils/uniq.c
|
||||
+++ b/coreutils/uniq.c
|
||||
@@ -82,6 +82,8 @@
|
||||
|
||||
if (!s0 || strcmp(e0, e1)) {
|
||||
if (!s0 || strncmp(e0, e1, max_chars)) {
|
||||
break;
|
||||
+ } else {
|
||||
+ 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
|
||||
===================================================================
|
||||
--- busybox-1.7.2.orig/networking/httpd.c 2007-10-30 15:35:04.000000000 -0500
|
||||
+++ busybox-1.7.2/networking/httpd.c 2007-10-30 15:35:04.000000000 -0500
|
||||
@@ -1618,6 +1618,7 @@
|
||||
#if ENABLE_FEATURE_HTTPD_BASIC_AUTH
|
||||
int credentials = -1; /* if not required this is Ok */
|
||||
--- a/networking/httpd.c
|
||||
+++ b/networking/httpd.c
|
||||
@@ -1797,6 +1797,7 @@
|
||||
char *header_ptr = header_ptr;
|
||||
Htaccess_Proxy *proxy_entry;
|
||||
#endif
|
||||
+ 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
|
||||
===================================================================
|
||||
--- 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
|
||||
--- a/networking/ping.c
|
||||
+++ b/networking/ping.c
|
||||
@@ -91,7 +91,7 @@
|
||||
struct sockaddr_in pingaddr;
|
||||
struct icmp *pkt;
|
||||
|
@ -10,7 +8,7 @@ Index: busybox-1.7.2/networking/ping.c
|
|||
+ char packet[datalen + ICMP_MINLEN + MAXIPLEN + MAXICMPLEN];
|
||||
|
||||
pingsock = create_icmp_socket();
|
||||
pingaddr = lsa->sin;
|
||||
pingaddr = lsa->u.sin;
|
||||
@@ -101,7 +101,7 @@
|
||||
pkt->icmp_type = ICMP_ECHO;
|
||||
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];
|
||||
|
||||
pingsock = create_icmp6_socket();
|
||||
pingaddr = lsa->sin6;
|
||||
pingaddr = lsa->u.sin6;
|
||||
@@ -147,7 +147,7 @@
|
||||
sockopt = offsetof(struct icmp6_hdr, icmp6_cksum);
|
||||
setsockopt(pingsock, SOL_RAW, IPV6_CHECKSUM, &sockopt, sizeof(sockopt));
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
Index: busybox-1.8.1/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
|
||||
--- a/modutils/insmod.c
|
||||
+++ b/modutils/insmod.c
|
||||
@@ -61,21 +61,117 @@
|
||||
#include "libbb.h"
|
||||
#include <libgen.h>
|
||||
|
@ -27,9 +25,9 @@ Index: busybox-1.8.1/modutils/insmod.c
|
|||
#if ENABLE_FEATURE_2_6_MODULES
|
||||
-static int insmod_ng_main(int argc, char **argv);
|
||||
+int insmod_main_26(int argc, char **argv);
|
||||
+#endif
|
||||
#endif
|
||||
+int insmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
||||
+
|
||||
|
||||
+static char *g_filename = NULL;
|
||||
+#define _PATH_MODULES "/lib/modules"
|
||||
+
|
||||
|
@ -69,7 +67,7 @@ Index: busybox-1.8.1/modutils/insmod.c
|
|||
+ if (k_version <= 4)
|
||||
+ suffix = ".o";
|
||||
+ else
|
||||
#endif
|
||||
+#endif
|
||||
+ suffix = ".ko";
|
||||
+
|
||||
+ len = strlen(filename);
|
||||
|
@ -111,7 +109,7 @@ Index: busybox-1.8.1/modutils/insmod.c
|
|||
+ ret = 0;
|
||||
+ else
|
||||
+ free(g_filename);
|
||||
|
||||
+
|
||||
+done:
|
||||
+ free(filename);
|
||||
+
|
||||
|
@ -125,23 +123,50 @@ Index: busybox-1.8.1/modutils/insmod.c
|
|||
#if ENABLE_FEATURE_INSMOD_LOADINKMEM
|
||||
#define LOADBITS 0
|
||||
#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
|
||||
|
||||
|
||||
-#define _PATH_MODULES "/lib/modules"
|
||||
+
|
||||
enum { STRVERSIONLEN = 64 };
|
||||
|
||||
/*======================================================================*/
|
||||
@@ -789,27 +884,6 @@
|
||||
@@ -788,28 +884,6 @@
|
||||
static char *m_fullName;
|
||||
|
||||
|
||||
-/*======================================================================*/
|
||||
-
|
||||
-
|
||||
-static int check_module_name_match(const char *filename, struct stat *statbuf,
|
||||
- void *userdata, int depth)
|
||||
-static int check_module_name_match(const char *filename,
|
||||
- struct stat *statbuf ATTRIBUTE_UNUSED,
|
||||
- void *userdata, int depth ATTRIBUTE_UNUSED)
|
||||
-{
|
||||
- char *fullname = (char *) userdata;
|
||||
- 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);
|
||||
#endif
|
||||
|
||||
|
@ -257,10 +445,8 @@ Index: busybox-1.8.1/modutils/insmod.c
|
|||
- } else {
|
||||
- free(tmp1);
|
||||
- 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 */
|
||||
- if (stat(arg1, &st) < 0 || !S_ISREG(st.st_mode)
|
||||
- || (fp = fopen(arg1, "r")) == NULL
|
||||
|
@ -271,7 +457,7 @@ Index: busybox-1.8.1/modutils/insmod.c
|
|||
- char *module_dir;
|
||||
- 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`
|
||||
- * is a symlink. We do not want recursive_action to
|
||||
- * follow symlinks, but we do want to follow the
|
||||
|
@ -293,9 +479,9 @@ Index: busybox-1.8.1/modutils/insmod.c
|
|||
-
|
||||
- free(m_filename);
|
||||
- m_filename = NULL;
|
||||
- module_dir = xmalloc_readlink(_PATH_MODULES);
|
||||
- module_dir = xmalloc_readlink(CONFIG_DEFAULT_MODULES_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
|
||||
- * time cast the net a bit wider. Search /lib/modules/ */
|
||||
- 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);
|
||||
- }
|
||||
- }
|
||||
+ tmp = xstrdup(arg1);
|
||||
+ m_name = basename(tmp);
|
||||
}
|
||||
- } else
|
||||
- m_filename = xstrdup(arg1);
|
||||
-
|
||||
|
||||
- if (flag_verbose)
|
||||
- printf("Using %s\n", m_filename);
|
||||
-
|
||||
|
@ -329,7 +517,7 @@ Index: busybox-1.8.1/modutils/insmod.c
|
|||
|
||||
f = obj_load(fp, LOADBITS);
|
||||
|
||||
@@ -4062,7 +4048,7 @@
|
||||
@@ -4074,7 +4048,7 @@
|
||||
"\t%s was compiled for kernel version %s\n"
|
||||
"\twhile this kernel is version %s",
|
||||
flag_force_load ? "warning: " : "",
|
||||
|
@ -338,7 +526,7 @@ Index: busybox-1.8.1/modutils/insmod.c
|
|||
if (!flag_force_load)
|
||||
goto out;
|
||||
}
|
||||
@@ -4104,7 +4090,7 @@
|
||||
@@ -4116,7 +4090,7 @@
|
||||
hide_special_symbols(f);
|
||||
|
||||
#if ENABLE_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
|
||||
|
@ -347,7 +535,37 @@ Index: busybox-1.8.1/modutils/insmod.c
|
|||
#endif /* FEATURE_INSMOD_KSYMOOPS_SYMBOLS */
|
||||
|
||||
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)
|
||||
print_load_map(f);
|
||||
|
||||
|
@ -372,19 +590,34 @@ Index: busybox-1.8.1/modutils/insmod.c
|
|||
}
|
||||
|
||||
#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
|
||||
-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
|
||||
-static int insmod_ng_main(int argc, char **argv)
|
||||
-static int insmod_ng_main(int argc ATTRIBUTE_UNUSED, char **argv)
|
||||
-#endif
|
||||
+int insmod_main_26(int argc, char **argv)
|
||||
{
|
||||
- long ret;
|
||||
- size_t len;
|
||||
+ char *filename, *options;
|
||||
+ struct utsname myuname;
|
||||
|
@ -414,12 +647,20 @@ Index: busybox-1.8.1/modutils/insmod.c
|
|||
/* Rest is options */
|
||||
options = xzalloc(1);
|
||||
optlen = 0;
|
||||
@@ -4216,36 +4212,47 @@
|
||||
@@ -4234,41 +4212,47 @@
|
||||
optlen += sprintf(options + optlen, (strchr(*argv,' ') ? "\"%s\" " : "%s "), *argv);
|
||||
}
|
||||
|
||||
-#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;
|
||||
- struct stat st;
|
||||
- unsigned long len;
|
||||
|
@ -440,18 +681,19 @@ Index: busybox-1.8.1/modutils/insmod.c
|
|||
len = MAXINT(ssize_t);
|
||||
- map = xmalloc_open_read_close(filename, &len);
|
||||
-#endif
|
||||
-
|
||||
+ map = xmalloc_open_read_close(g_filename, &len);
|
||||
ret = syscall(__NR_init_module, map, len, options);
|
||||
if (ret != 0) {
|
||||
bb_perror_msg_and_die("cannot insert '%s': %s (%li)",
|
||||
- filename, moderror(errno), ret);
|
||||
+ ret = syscall(__NR_init_module, map, len, options);
|
||||
+ if (ret != 0) {
|
||||
+ bb_perror_msg_and_die("cannot insert '%s': %s (%li)",
|
||||
+ g_filename, moderror(errno), ret);
|
||||
}
|
||||
+ }
|
||||
+done:
|
||||
+ if (g_filename && (g_filename != 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 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
|
||||
===================================================================
|
||||
--- busybox-1.8.1.orig/archival/Config.in 2007-11-10 17:39:21.063504932 +0100
|
||||
+++ busybox-1.8.1/archival/Config.in 2007-11-10 17:40:53.320762376 +0100
|
||||
@@ -131,6 +131,15 @@
|
||||
--- a/archival/Config.in
|
||||
+++ b/archival/Config.in
|
||||
@@ -139,6 +139,15 @@
|
||||
gzip is used to compress files.
|
||||
It's probably the most widely used UNIX compression program.
|
||||
|
||||
|
@ -18,11 +16,9 @@ Index: busybox-1.8.1/archival/Config.in
|
|||
config RPM2CPIO
|
||||
bool "rpm2cpio"
|
||||
default n
|
||||
Index: busybox-1.8.1/archival/dpkg.c
|
||||
===================================================================
|
||||
--- busybox-1.8.1.orig/archival/dpkg.c 2007-11-10 17:39:21.071505389 +0100
|
||||
+++ busybox-1.8.1/archival/dpkg.c 2007-11-10 17:40:53.320762376 +0100
|
||||
@@ -1455,6 +1455,10 @@
|
||||
--- a/archival/dpkg.c
|
||||
+++ b/archival/dpkg.c
|
||||
@@ -1482,6 +1482,10 @@
|
||||
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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
const char *package_name = name_hashtable[package_hashtable[deb_file->package]->name];
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/ipkg.c
|
||||
@@ -0,0 +1,27 @@
|
||||
+/* ipkg.c - the itsy package management system
|
||||
+
|
||||
|
@ -74,10 +68,8 @@ Index: busybox-1.8.1/archival/ipkg.c
|
|||
+{
|
||||
+ return ipkg_op(argc, argv);
|
||||
+}
|
||||
Index: busybox-1.8.1/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
|
||||
--- a/archival/Kbuild
|
||||
+++ b/archival/Kbuild
|
||||
@@ -16,6 +16,7 @@
|
||||
lib-$(CONFIG_DPKG_DEB) += dpkg_deb.o
|
||||
lib-$(CONFIG_GUNZIP) += bbunzip.o
|
||||
|
@ -86,10 +78,8 @@ Index: busybox-1.8.1/archival/Kbuild
|
|||
lib-$(CONFIG_RPM2CPIO) += rpm2cpio.o
|
||||
lib-$(CONFIG_RPM) += rpm.o
|
||||
lib-$(CONFIG_TAR) += tar.o
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/args.c
|
||||
@@ -0,0 +1,242 @@
|
||||
+/* 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);
|
||||
+}
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/args.h
|
||||
@@ -0,0 +1,72 @@
|
||||
+/* args.h - parse command-line args
|
||||
+
|
||||
|
@ -410,10 +398,8 @@ Index: busybox-1.8.1/archival/libipkg/args.h
|
|||
+void args_usage(char *complaint);
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/conffile.c
|
||||
@@ -0,0 +1,64 @@
|
||||
+/* conffile.c - the itsy package management system
|
||||
+
|
||||
|
@ -479,10 +465,8 @@ Index: busybox-1.8.1/archival/libipkg/conffile.c
|
|||
+
|
||||
+ return ret;
|
||||
+}
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/conffile.h
|
||||
@@ -0,0 +1,30 @@
|
||||
+/* conffile.h - the itsy package management system
|
||||
+
|
||||
|
@ -514,10 +498,8 @@ Index: busybox-1.8.1/archival/libipkg/conffile.h
|
|||
+
|
||||
+#endif
|
||||
+
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/conffile_list.c
|
||||
@@ -0,0 +1,47 @@
|
||||
+/* 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);
|
||||
+}
|
||||
+
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/conffile_list.h
|
||||
@@ -0,0 +1,36 @@
|
||||
+/* conffile_list.h - the itsy package management system
|
||||
+
|
||||
|
@ -607,10 +587,8 @@ Index: busybox-1.8.1/archival/libipkg/conffile_list.h
|
|||
+
|
||||
+#endif
|
||||
+
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/file_util.c
|
||||
@@ -0,0 +1,132 @@
|
||||
+/* 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);
|
||||
+}
|
||||
+
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/file_util.h
|
||||
@@ -0,0 +1,29 @@
|
||||
+/* 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);
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/hash_table.c
|
||||
@@ -0,0 +1,155 @@
|
||||
+/* 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 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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/hash_table.h
|
||||
@@ -0,0 +1,44 @@
|
||||
+/* 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);
|
||||
+
|
||||
+#endif /* _HASH_TABLE_H_ */
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg_cmd.c
|
||||
@@ -0,0 +1,1431 @@
|
||||
+/* 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 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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg_cmd.h
|
||||
@@ -0,0 +1,46 @@
|
||||
+/* 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);
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg_conf.c
|
||||
@@ -0,0 +1,711 @@
|
||||
+/* 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);
|
||||
+ return root_filename;
|
||||
+}
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg_conf.h
|
||||
@@ -0,0 +1,107 @@
|
||||
+/* 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);
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg_configure.c
|
||||
@@ -0,0 +1,40 @@
|
||||
+/* ipkg_configure.c - the itsy package management system
|
||||
+
|
||||
|
@ -3347,10 +3309,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_configure.c
|
|||
+ return 0;
|
||||
+}
|
||||
+
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg_configure.h
|
||||
@@ -0,0 +1,25 @@
|
||||
+/* 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);
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg_download.c
|
||||
@@ -0,0 +1,195 @@
|
||||
+/* ipkg_download.c - the itsy package management system
|
||||
+
|
||||
|
@ -3577,10 +3535,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_download.c
|
|||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg_download.h
|
||||
@@ -0,0 +1,30 @@
|
||||
+/* 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);
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg.h
|
||||
@@ -0,0 +1,74 @@
|
||||
+/* 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;
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg_includes.h
|
||||
@@ -0,0 +1,79 @@
|
||||
+#ifndef IPKG_INCLUDES_H
|
||||
+#define IPKG_INCLUDES_H
|
||||
|
@ -3775,10 +3727,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_includes.h
|
|||
+#endif
|
||||
+
|
||||
+#endif /* IPKG_INCLUDES_H */
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg_install.c
|
||||
@@ -0,0 +1,1942 @@
|
||||
+/* ipkg_install.c - the itsy package management system
|
||||
+
|
||||
|
@ -5722,10 +5672,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_install.c
|
|||
+}
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg_install.h
|
||||
@@ -0,0 +1,35 @@
|
||||
+/* 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);
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg_message.c
|
||||
@@ -0,0 +1,61 @@
|
||||
+/* ipkg_message.c - the itsy package management system
|
||||
+
|
||||
|
@ -5828,10 +5774,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_message.c
|
|||
+ }
|
||||
+}
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg_message.h
|
||||
@@ -0,0 +1,32 @@
|
||||
+/* 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, ...);
|
||||
+
|
||||
+#endif /* _IPKG_MESSAGE_H_ */
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg_remove.c
|
||||
@@ -0,0 +1,383 @@
|
||||
+/* ipkg_remove.c - the itsy package management system
|
||||
+
|
||||
|
@ -6253,10 +6195,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_remove.c
|
|||
+
|
||||
+ return 0;
|
||||
+}
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg_remove.h
|
||||
@@ -0,0 +1,33 @@
|
||||
+/* ipkg_remove.h - the itsy package management system
|
||||
+
|
||||
|
@ -6291,10 +6231,8 @@ Index: busybox-1.8.1/archival/libipkg/ipkg_remove.h
|
|||
+
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg_upgrade.c
|
||||
@@ -0,0 +1,77 @@
|
||||
+/* 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;
|
||||
+ return ipkg_install_pkg(conf, new,1);
|
||||
+}
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg_upgrade.h
|
||||
@@ -0,0 +1,18 @@
|
||||
+/* 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"
|
||||
+
|
||||
+int ipkg_upgrade_pkg(ipkg_conf_t *conf, pkg_t *old);
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg_utils.c
|
||||
@@ -0,0 +1,181 @@
|
||||
+/* 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 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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/ipkg_utils.h
|
||||
@@ -0,0 +1,29 @@
|
||||
+/* 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);
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/Kbuild
|
||||
@@ -0,0 +1,60 @@
|
||||
+# Makefile for busybox
|
||||
+#
|
||||
|
@ -6681,10 +6611,8 @@ Index: busybox-1.8.1/archival/libipkg/Kbuild
|
|||
+IPKG_ARCH:=$(TARGET_ARCH)
|
||||
+endif
|
||||
+CFLAGS += -DIPKG_LIB -DIPKGLIBDIR="\"/usr/lib\"" -DHOST_CPU_STR="\"$(IPKG_ARCH)\""
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/libipkg.c
|
||||
@@ -0,0 +1,527 @@
|
||||
+/* ipkglib.c - the itsy package management system
|
||||
+
|
||||
|
@ -7213,10 +7141,8 @@ Index: busybox-1.8.1/archival/libipkg/libipkg.c
|
|||
+}
|
||||
+
|
||||
+#endif /* IPKG_LIB */
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/libipkg.h
|
||||
@@ -0,0 +1,88 @@
|
||||
+/* ipkglib.h - the itsy package management system
|
||||
+
|
||||
|
@ -7306,10 +7232,8 @@ Index: busybox-1.8.1/archival/libipkg/libipkg.h
|
|||
+
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/nv_pair.c
|
||||
@@ -0,0 +1,40 @@
|
||||
+/* 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 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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/nv_pair.h
|
||||
@@ -0,0 +1,32 @@
|
||||
+/* nv_pair.h - the itsy package management system
|
||||
+
|
||||
|
@ -7388,10 +7310,8 @@ Index: busybox-1.8.1/archival/libipkg/nv_pair.h
|
|||
+
|
||||
+#endif
|
||||
+
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/nv_pair_list.c
|
||||
@@ -0,0 +1,98 @@
|
||||
+/* 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;
|
||||
+}
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/nv_pair_list.h
|
||||
@@ -0,0 +1,60 @@
|
||||
+/* 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
|
||||
+
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg.c
|
||||
@@ -0,0 +1,1747 @@
|
||||
+/* pkg.c - the itsy package management system
|
||||
+
|
||||
|
@ -9308,10 +9224,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg.c
|
|||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg_depends.c
|
||||
@@ -0,0 +1,1031 @@
|
||||
+/* pkg_depends.c - the itsy package management system
|
||||
+
|
||||
|
@ -10344,10 +10258,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_depends.c
|
|||
+
|
||||
+ return 0;
|
||||
+}
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg_depends.h
|
||||
@@ -0,0 +1,105 @@
|
||||
+/* 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);
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg_dest.c
|
||||
@@ -0,0 +1,92 @@
|
||||
+/* 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;
|
||||
+}
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg_dest.h
|
||||
@@ -0,0 +1,38 @@
|
||||
+/* pkg_dest.h - the itsy package management system
|
||||
+
|
||||
|
@ -10594,10 +10502,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_dest.h
|
|||
+
|
||||
+#endif
|
||||
+
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg_dest_list.c
|
||||
@@ -0,0 +1,85 @@
|
||||
+/* 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);
|
||||
+}
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg_dest_list.h
|
||||
@@ -0,0 +1,50 @@
|
||||
+/* 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
|
||||
+
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg_extract.c
|
||||
@@ -0,0 +1,224 @@
|
||||
+/* pkg_extract.c - the itsy package management system
|
||||
+
|
||||
|
@ -10968,10 +10870,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_extract.c
|
|||
+
|
||||
+ return 0;
|
||||
+}
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg_extract.h
|
||||
@@ -0,0 +1,32 @@
|
||||
+/* 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);
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg.h
|
||||
@@ -0,0 +1,229 @@
|
||||
+/* 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);
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg_hash.c
|
||||
@@ -0,0 +1,616 @@
|
||||
+/* 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 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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg_hash.h
|
||||
@@ -0,0 +1,61 @@
|
||||
+/* pkg_hash.h - the itsy package management system
|
||||
+
|
||||
|
@ -11926,10 +11820,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_hash.h
|
|||
+
|
||||
+#endif
|
||||
+
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg_parse.c
|
||||
@@ -0,0 +1,366 @@
|
||||
+/* pkg_parse.c - the itsy package management system
|
||||
+
|
||||
|
@ -12297,10 +12189,8 @@ Index: busybox-1.8.1/archival/libipkg/pkg_parse.c
|
|||
+
|
||||
+ return 0;
|
||||
+}
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg_parse.h
|
||||
@@ -0,0 +1,31 @@
|
||||
+/* 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);
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg_src.c
|
||||
@@ -0,0 +1,43 @@
|
||||
+/* 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 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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg_src.h
|
||||
@@ -0,0 +1,34 @@
|
||||
+/* 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);
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg_src_list.c
|
||||
@@ -0,0 +1,75 @@
|
||||
+/* 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);
|
||||
+}
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg_src_list.h
|
||||
@@ -0,0 +1,57 @@
|
||||
+/* 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
|
||||
+
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg_vec.c
|
||||
@@ -0,0 +1,230 @@
|
||||
+/* 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);
|
||||
+}
|
||||
+
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/pkg_vec.h
|
||||
@@ -0,0 +1,64 @@
|
||||
+/* 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 *));
|
||||
+#endif
|
||||
+
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/sprintf_alloc.h
|
||||
@@ -0,0 +1,25 @@
|
||||
+/* 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)
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/str_list.c
|
||||
@@ -0,0 +1,76 @@
|
||||
+/* 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_list_cmp_t)strcmp);
|
||||
+}
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/str_list.h
|
||||
@@ -0,0 +1,51 @@
|
||||
+/* 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);
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/str_util.c
|
||||
@@ -0,0 +1,63 @@
|
||||
+/* 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;
|
||||
+}
|
||||
+
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/str_util.h
|
||||
@@ -0,0 +1,27 @@
|
||||
+/* 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);
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/user.c
|
||||
@@ -0,0 +1,58 @@
|
||||
+/* user.c - the itsy package management system
|
||||
+
|
||||
|
@ -13196,10 +13062,8 @@ Index: busybox-1.8.1/archival/libipkg/user.c
|
|||
+
|
||||
+ return response;
|
||||
+}
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/user.h
|
||||
@@ -0,0 +1,23 @@
|
||||
+/* 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, ...);
|
||||
+
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/void_list.c
|
||||
@@ -0,0 +1,194 @@
|
||||
+/* void_list.c - the itsy package management system
|
||||
+
|
||||
|
@ -13423,10 +13285,8 @@ Index: busybox-1.8.1/archival/libipkg/void_list.c
|
|||
+ else
|
||||
+ return NULL;
|
||||
+}
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/void_list.h
|
||||
@@ -0,0 +1,59 @@
|
||||
+/* 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);
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/xsystem.c
|
||||
@@ -0,0 +1,64 @@
|
||||
+/* xsystem.c - system(3) with error messages
|
||||
+
|
||||
|
@ -13556,10 +13414,8 @@ Index: busybox-1.8.1/archival/libipkg/xsystem.c
|
|||
+ return -1;
|
||||
+}
|
||||
+
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/archival/libipkg/xsystem.h
|
||||
@@ -0,0 +1,34 @@
|
||||
+/* xsystem.h - system(3) with error messages
|
||||
+
|
||||
|
@ -13595,11 +13451,9 @@ Index: busybox-1.8.1/archival/libipkg/xsystem.h
|
|||
+
|
||||
+#endif
|
||||
+
|
||||
Index: busybox-1.8.1/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
|
||||
+++ busybox-1.8.1/archival/libunarchive/data_extract_all.c 2007-11-10 17:40:53.404767161 +0100
|
||||
@@ -129,3 +129,17 @@
|
||||
--- a/archival/libunarchive/data_extract_all.c
|
||||
+++ b/archival/libunarchive/data_extract_all.c
|
||||
@@ -144,3 +144,17 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -13617,10 +13471,8 @@ Index: busybox-1.8.1/archival/libunarchive/data_extract_all.c
|
|||
+ }
|
||||
+}
|
||||
+
|
||||
Index: busybox-1.8.1/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
|
||||
--- a/archival/libunarchive/Kbuild
|
||||
+++ b/archival/libunarchive/Kbuild
|
||||
@@ -54,6 +54,7 @@
|
||||
lib-$(CONFIG_FEATURE_DEB_TAR_LZMA) += decompress_unlzma.o get_header_tar_lzma.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_RPM) += decompress_unzip.o get_header_cpio.o
|
||||
lib-$(CONFIG_FEATURE_RPM_BZ2) += decompress_bunzip2.o
|
||||
Index: busybox-1.8.1/include/applets.h
|
||||
===================================================================
|
||||
--- busybox-1.8.1.orig/include/applets.h 2007-11-10 17:39:21.487529096 +0100
|
||||
+++ busybox-1.8.1/include/applets.h 2007-11-10 17:40:53.408767391 +0100
|
||||
@@ -198,6 +198,7 @@
|
||||
--- a/include/applets.h
|
||||
+++ b/include/applets.h
|
||||
@@ -200,6 +200,7 @@
|
||||
USE_IPCALC(APPLET(ipcalc, _BB_DIR_BIN, _BB_SUID_NEVER))
|
||||
USE_IPCRM(APPLET(ipcrm, _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_IPROUTE(APPLET(iproute, _BB_DIR_BIN, _BB_SUID_NEVER))
|
||||
USE_IPRULE(APPLET(iprule, _BB_DIR_BIN, _BB_SUID_NEVER))
|
||||
Index: busybox-1.8.1/include/unarchive.h
|
||||
===================================================================
|
||||
--- busybox-1.8.1.orig/include/unarchive.h 2007-11-10 17:39:21.495529554 +0100
|
||||
+++ busybox-1.8.1/include/unarchive.h 2007-11-10 17:40:53.408767391 +0100
|
||||
@@ -74,6 +74,7 @@
|
||||
--- a/include/unarchive.h
|
||||
+++ b/include/unarchive.h
|
||||
@@ -82,6 +82,7 @@
|
||||
|
||||
extern void data_skip(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_buffer(archive_handle_t *archive_handle);
|
||||
|
||||
Index: busybox-1.8.1/include/usage.h
|
||||
===================================================================
|
||||
--- busybox-1.8.1.orig/include/usage.h 2007-11-10 17:40:53.208755993 +0100
|
||||
+++ busybox-1.8.1/include/usage.h 2007-11-10 17:40:53.412767617 +0100
|
||||
@@ -1294,6 +1294,82 @@
|
||||
--- a/include/usage.h
|
||||
+++ b/include/usage.h
|
||||
@@ -1425,6 +1425,82 @@
|
||||
"$ ls -la /tmp/busybox*\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 \
|
||||
"[-d delay] [-n] [-f]"
|
||||
#define halt_full_usage \
|
||||
Index: busybox-1.8.1/Makefile
|
||||
===================================================================
|
||||
--- busybox-1.8.1.orig/Makefile 2007-11-10 17:39:21.511530465 +0100
|
||||
+++ busybox-1.8.1/Makefile 2007-11-10 17:40:53.412767617 +0100
|
||||
@@ -428,6 +428,7 @@
|
||||
#define halt_full_usage "\n\n" \
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -444,6 +444,7 @@
|
||||
|
||||
libs-y := \
|
||||
archival/ \
|
||||
|
|
|
@ -1,8 +1,25 @@
|
|||
Index: busybox-1.8.1/coreutils/md5_sha1_sum.c
|
||||
===================================================================
|
||||
--- busybox-1.8.1.orig/coreutils/md5_sha1_sum.c 2007-11-10 02:40:51.000000000 +0100
|
||||
+++ busybox-1.8.1/coreutils/md5_sha1_sum.c 2007-11-10 17:05:59.957468399 +0100
|
||||
@@ -8,75 +8,10 @@
|
||||
--- a/include/libbb.h
|
||||
+++ b/include/libbb.h
|
||||
@@ -1211,6 +1211,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];
|
||||
@@ -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"
|
||||
|
||||
|
@ -19,7 +36,7 @@ Index: busybox-1.8.1/coreutils/md5_sha1_sum.c
|
|||
- /* xzalloc zero-terminates */
|
||||
- char *hex_value = xzalloc((hash_length * 2) + 1);
|
||||
- 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)
|
||||
|
@ -34,12 +51,9 @@ Index: busybox-1.8.1/coreutils/md5_sha1_sum.c
|
|||
- void (*update)(const void*, size_t, void*);
|
||||
- void (*final)(void*, void*);
|
||||
-
|
||||
- src_fd = STDIN_FILENO;
|
||||
- if (NOT_LONE_DASH(filename)) {
|
||||
- src_fd = open_or_warn(filename, O_RDONLY);
|
||||
- if (src_fd < 0) {
|
||||
- return NULL;
|
||||
- }
|
||||
- src_fd = open_or_warn_stdin(filename);
|
||||
- if (src_fd < 0) {
|
||||
- return NULL;
|
||||
- }
|
||||
-
|
||||
- /* figure specific hash algorithims */
|
||||
|
@ -76,46 +90,21 @@ Index: busybox-1.8.1/coreutils/md5_sha1_sum.c
|
|||
-}
|
||||
-
|
||||
int md5_sha1_sum_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
||||
int md5_sha1_sum_main(int argc, char **argv)
|
||||
int md5_sha1_sum_main(int argc ATTRIBUTE_UNUSED, char **argv)
|
||||
{
|
||||
Index: busybox-1.8.1/include/libbb.h
|
||||
===================================================================
|
||||
--- busybox-1.8.1.orig/include/libbb.h 2007-11-10 16:55:07.048261223 +0100
|
||||
+++ 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 @@
|
||||
--- a/libbb/Kbuild
|
||||
+++ b/libbb/Kbuild
|
||||
@@ -40,6 +40,7 @@
|
||||
lib-y += get_last_path_component.o
|
||||
lib-y += get_line_from_file.o
|
||||
lib-y += getopt32.o
|
||||
+lib-y += hash.o
|
||||
lib-y += getpty.o
|
||||
lib-y += herror_msg.o
|
||||
lib-y += herror_msg_and_die.o
|
||||
lib-y += human_readable.o
|
||||
Index: busybox-1.8.1/libbb/hash.c
|
||||
===================================================================
|
||||
--- /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 @@
|
||||
--- /dev/null
|
||||
+++ b/libbb/hash.c
|
||||
@@ -0,0 +1,78 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003 Glenn L. McGrath
|
||||
+ * Copyright (C) 2003-2004 Erik Andersen
|
||||
|
@ -155,12 +144,9 @@ Index: busybox-1.8.1/libbb/hash.c
|
|||
+ void (*update)(const void*, size_t, void*);
|
||||
+ void (*final)(void*, void*);
|
||||
+
|
||||
+ src_fd = STDIN_FILENO;
|
||||
+ if (NOT_LONE_DASH(filename)) {
|
||||
+ src_fd = open_or_warn(filename, O_RDONLY);
|
||||
+ if (src_fd < 0) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+ src_fd = open_or_warn_stdin(filename);
|
||||
+ if (src_fd < 0) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ /* figure specific hash algorithims */
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
Index: busybox-1.8.1/editors/awk.c
|
||||
===================================================================
|
||||
--- busybox-1.8.1.orig/editors/awk.c 2007-11-10 16:55:07.032260312 +0100
|
||||
+++ busybox-1.8.1/editors/awk.c 2007-11-10 17:07:04.493146078 +0100
|
||||
@@ -33,6 +33,11 @@
|
||||
--- a/editors/awk.c
|
||||
+++ b/editors/awk.c
|
||||
@@ -32,6 +32,11 @@
|
||||
/* 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)
|
||||
|
||||
|
@ -14,23 +12,22 @@ Index: busybox-1.8.1/editors/awk.c
|
|||
/* Variable */
|
||||
typedef struct var_s {
|
||||
unsigned type; /* flags */
|
||||
@@ -54,9 +59,14 @@
|
||||
@@ -53,9 +58,14 @@
|
||||
} chain;
|
||||
|
||||
/* Function */
|
||||
+typedef var *(*awk_cfunc)(var *res, var *args, int nargs);
|
||||
typedef struct func_s {
|
||||
unsigned nargs;
|
||||
- struct chain_s body;
|
||||
+ enum { AWKFUNC, CFUNC } type;
|
||||
+ union {
|
||||
+ awk_cfunc cfunc;
|
||||
+ struct chain_s body;
|
||||
struct chain_s body;
|
||||
+ } x;
|
||||
} func;
|
||||
|
||||
/* I/O stream */
|
||||
@@ -1400,7 +1410,8 @@
|
||||
@@ -1395,7 +1405,8 @@
|
||||
next_token(TC_FUNCTION);
|
||||
g_pos++;
|
||||
f = newfunc(t_string);
|
||||
|
@ -40,7 +37,7 @@ Index: busybox-1.8.1/editors/awk.c
|
|||
f->nargs = 0;
|
||||
while (next_token(TC_VARIABLE | TC_SEQTERM) & TC_VARIABLE) {
|
||||
v = findvar(ahash, t_string);
|
||||
@@ -1409,7 +1420,7 @@
|
||||
@@ -1404,7 +1415,7 @@
|
||||
if (next_token(TC_COMMA | TC_SEQTERM) & TC_SEQTERM)
|
||||
break;
|
||||
}
|
||||
|
@ -49,7 +46,7 @@ Index: busybox-1.8.1/editors/awk.c
|
|||
chain_group();
|
||||
clear_array(ahash);
|
||||
|
||||
@@ -2372,7 +2383,8 @@
|
||||
@@ -2367,7 +2378,8 @@
|
||||
break;
|
||||
|
||||
case XC( OC_FUNC ):
|
||||
|
@ -59,7 +56,7 @@ Index: busybox-1.8.1/editors/awk.c
|
|||
syntax_error(EMSG_UNDEF_FUNC);
|
||||
|
||||
X.v = R.v = nvalloc(op->r.f->nargs+1);
|
||||
@@ -2389,7 +2401,10 @@
|
||||
@@ -2384,7 +2396,10 @@
|
||||
fnargs = X.v;
|
||||
|
||||
L.s = g_progname;
|
||||
|
@ -71,7 +68,7 @@ Index: busybox-1.8.1/editors/awk.c
|
|||
g_progname = L.s;
|
||||
|
||||
nvfree(fnargs);
|
||||
@@ -2753,6 +2768,12 @@
|
||||
@@ -2748,6 +2763,12 @@
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
unsigned opt;
|
||||
@@ -2817,6 +2838,11 @@
|
||||
@@ -2812,6 +2833,11 @@
|
||||
*s1 = '=';
|
||||
}
|
||||
}
|
||||
|
@ -93,13 +90,11 @@ Index: busybox-1.8.1/editors/awk.c
|
|||
+ do_awx(argc, argv);
|
||||
+#endif
|
||||
+
|
||||
opt_complementary = "v::f::";
|
||||
opt = getopt32(argv, "F:v:f:W:", &opt_F, &opt_v, &opt_f, &opt_W);
|
||||
opt_complementary = "v::f::"; /* -v and -f can occur multiple times */
|
||||
opt = getopt32(argv, "F:v:f:W:", &opt_F, &list_v, &list_f, &opt_W);
|
||||
argv += optind;
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/editors/awx.c
|
||||
@@ -0,0 +1,636 @@
|
||||
+/*
|
||||
+ * awk web extension
|
||||
|
@ -737,10 +732,8 @@ Index: busybox-1.8.1/editors/awx.c
|
|||
+ return awk_main(argc, argv);
|
||||
+}
|
||||
+
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/editors/awx_parser.h
|
||||
@@ -0,0 +1,38 @@
|
||||
+#ifndef __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);
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/editors/awx_parser.l
|
||||
@@ -0,0 +1,302 @@
|
||||
+%{
|
||||
+#include <stdio.h>
|
||||
|
@ -1087,10 +1078,8 @@ Index: busybox-1.8.1/editors/awx_parser.l
|
|||
+ free(e);
|
||||
+ return free_template(cb, next);
|
||||
+}
|
||||
Index: busybox-1.8.1/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
|
||||
--- a/editors/Config.in
|
||||
+++ b/editors/Config.in
|
||||
@@ -12,6 +12,13 @@
|
||||
Awk is used as a pattern scanning and processing language. This is
|
||||
the BusyBox implementation of that programming language.
|
||||
|
@ -1105,10 +1094,8 @@ Index: busybox-1.8.1/editors/Config.in
|
|||
config FEATURE_AWK_MATH
|
||||
bool "Enable math functions (requires libm)"
|
||||
default y
|
||||
Index: busybox-1.8.1/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
|
||||
--- a/editors/Kbuild
|
||||
+++ b/editors/Kbuild
|
||||
@@ -12,3 +12,12 @@
|
||||
lib-$(CONFIG_PATCH) += patch.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
|
||||
+ $(call cmd,force_checksrc)
|
||||
+ $(call if_changed_rule,cc_o_c)
|
||||
Index: busybox-1.8.1/include/applets.h
|
||||
===================================================================
|
||||
--- busybox-1.8.1.orig/include/applets.h 2007-11-10 17:03:38.957433264 +0100
|
||||
+++ busybox-1.8.1/include/applets.h 2007-11-10 17:06:19.282569674 +0100
|
||||
@@ -83,6 +83,7 @@
|
||||
--- a/include/applets.h
|
||||
+++ b/include/applets.h
|
||||
@@ -77,6 +77,7 @@
|
||||
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_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_BBCONFIG(APPLET(bbconfig, _BB_DIR_BIN, _BB_SUID_NEVER))
|
||||
//USE_BBSH(APPLET(bbsh, _BB_DIR_BIN, _BB_SUID_NEVER))
|
||||
Index: busybox-1.8.1/include/cgi.h
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ busybox-1.8.1/include/cgi.h 2007-11-10 17:06:19.282569674 +0100
|
||||
--- a/include/usage.h
|
||||
+++ b/include/usage.h
|
||||
@@ -114,6 +114,9 @@
|
||||
"\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 @@
|
||||
+#ifndef CGI_H
|
||||
+#define CGI_H
|
||||
|
@ -1147,10 +1142,8 @@ Index: busybox-1.8.1/include/cgi.h
|
|||
+int cgi_init(var_handler);
|
||||
+
|
||||
+#endif
|
||||
Index: busybox-1.8.1/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
|
||||
--- /dev/null
|
||||
+++ b/libbb/cgi.c
|
||||
@@ -0,0 +1,457 @@
|
||||
+/* --------------------------------------------------------------------------
|
||||
+ * functions for processing cgi form data
|
||||
|
@ -1609,11 +1602,9 @@ Index: busybox-1.8.1/libbb/cgi.c
|
|||
+
|
||||
+ return retval;
|
||||
+}
|
||||
Index: busybox-1.8.1/libbb/Kbuild
|
||||
===================================================================
|
||||
--- busybox-1.8.1.orig/libbb/Kbuild 2007-11-10 17:04:07.547062497 +0100
|
||||
+++ busybox-1.8.1/libbb/Kbuild 2007-11-10 17:06:19.282569674 +0100
|
||||
@@ -101,6 +101,7 @@
|
||||
--- a/libbb/Kbuild
|
||||
+++ b/libbb/Kbuild
|
||||
@@ -112,6 +112,7 @@
|
||||
lib-y += xreadlink.o
|
||||
|
||||
# conditionally compiled objects:
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
Index: busybox-1.7.2/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
|
||||
--- a/archival/libipkg/ipkg_conf.c
|
||||
+++ b/archival/libipkg/ipkg_conf.c
|
||||
@@ -66,6 +66,8 @@
|
||||
{ "offline_root_pre_script_cmd", IPKG_OPT_TYPE_STRING, &conf->offline_root_pre_script_cmd },
|
||||
{ "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);
|
||||
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);
|
||||
Index: busybox-1.7.2/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
|
||||
--- a/archival/libipkg/ipkg_conf.h
|
||||
+++ b/archival/libipkg/ipkg_conf.h
|
||||
@@ -79,6 +79,10 @@
|
||||
char *proxy_user;
|
||||
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 file_hash;
|
||||
hash_table_t obs_file_hash;
|
||||
Index: busybox-1.7.2/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
|
||||
--- a/archival/libipkg/ipkg_download.c
|
||||
+++ b/archival/libipkg/ipkg_download.c
|
||||
@@ -69,8 +69,12 @@
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
Index: busybox-1.7.2/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
|
||||
--- a/archival/libipkg/ipkg_install.c
|
||||
+++ b/archival/libipkg/ipkg_install.c
|
||||
@@ -136,6 +136,7 @@
|
||||
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
|
||||
===================================================================
|
||||
--- 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
|
||||
--- a/archival/libipkg/pkg.c
|
||||
+++ b/archival/libipkg/pkg.c
|
||||
@@ -575,25 +575,28 @@
|
||||
return temp;
|
||||
}
|
||||
|
@ -36,16 +34,10 @@ Index: busybox-1.8.2/archival/libipkg/pkg.c
|
|||
} else if (strcasecmp(field, "Conflicts") == 0) {
|
||||
int i;
|
||||
|
||||
Index: busybox-1.8.2/archival/libipkg/pkg_parse.c
|
||||
===================================================================
|
||||
--- busybox-1.8.2.orig/archival/libipkg/pkg_parse.c 2008-01-03 17:25:55.000000000 +0100
|
||||
+++ busybox-1.8.2/archival/libipkg/pkg_parse.c 2008-01-03 17:30:14.000000000 +0100
|
||||
-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))
|
||||
--- a/archival/libipkg/pkg_parse.c
|
||||
+++ b/archival/libipkg/pkg_parse.c
|
||||
@@ -88,17 +88,14 @@
|
||||
if(!strncmp(raw, "Conffiles:", 10))
|
||||
raw += strlen("Conffiles:");
|
||||
|
||||
+ while(*raw && isspace(*raw)) raw++;
|
||||
|
@ -55,14 +47,13 @@ Index: busybox-1.8.2/archival/libipkg/pkg_parse.c
|
|||
- while (*raw && isspace(*raw)) {
|
||||
- raw++;
|
||||
- }
|
||||
- raw += strlen(file_name);
|
||||
raw += strlen(file_name);
|
||||
- while (*raw && isspace(*raw)) {
|
||||
- raw++;
|
||||
- }
|
||||
- raw += strlen(md5sum);
|
||||
+ raw += strlen(file_name);
|
||||
+ while(*raw && isspace(*raw)) raw++;
|
||||
+ raw += strlen(md5sum);
|
||||
+ while(*raw && isspace(*raw)) raw++;
|
||||
raw += strlen(md5sum);
|
||||
+ while(*raw && isspace(*raw)) raw++;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
Index: busybox-1.8.2/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
|
||||
--- a/archival/libipkg/pkg.c
|
||||
+++ b/archival/libipkg/pkg.c
|
||||
@@ -224,8 +224,7 @@
|
||||
if (err) { return err; }
|
||||
|
||||
|
@ -12,10 +10,8 @@ Index: busybox-1.8.2/archival/libipkg/pkg.c
|
|||
|
||||
fclose(control_file);
|
||||
|
||||
Index: busybox-1.8.2/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
|
||||
--- a/archival/libipkg/pkg_hash.c
|
||||
+++ b/archival/libipkg/pkg_hash.c
|
||||
@@ -89,20 +89,20 @@
|
||||
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;
|
||||
}
|
||||
|
||||
Index: busybox-1.8.2/archival/libipkg/pkg_parse.c
|
||||
===================================================================
|
||||
--- busybox-1.8.2.orig/archival/libipkg/pkg_parse.c 2008-01-06 03:14:12.283674167 +0100
|
||||
+++ busybox-1.8.2/archival/libipkg/pkg_parse.c 2008-01-06 03:38:24.111943535 +0100
|
||||
@@ -227,6 +227,161 @@
|
||||
--- a/archival/libipkg/pkg_parse.c
|
||||
+++ b/archival/libipkg/pkg_parse.c
|
||||
@@ -224,6 +224,161 @@
|
||||
Enhances, perhaps we could generalize all of these and save some
|
||||
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 reading_conffiles, reading_description;
|
||||
@@ -345,6 +500,7 @@
|
||||
@@ -342,6 +497,7 @@
|
||||
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)
|
||||
{
|
||||
Index: busybox-1.8.2/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
|
||||
--- a/archival/libipkg/pkg_parse.h
|
||||
+++ b/archival/libipkg/pkg_parse.h
|
||||
@@ -25,7 +25,10 @@
|
||||
char ** parseDependsString(char * raw, int * depends_count);
|
||||
int parseVersion(pkg_t *pkg, char *raw);
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
Index: busybox-1.8.2/networking/udhcp/dhcpc.c
|
||||
===================================================================
|
||||
--- busybox-1.8.2.orig/networking/udhcp/dhcpc.c 2008-01-03 05:00:31.506419917 +0100
|
||||
+++ busybox-1.8.2/networking/udhcp/dhcpc.c 2008-01-03 05:00:44.311149618 +0100
|
||||
@@ -65,7 +65,6 @@
|
||||
--- a/networking/udhcp/dhcpc.c
|
||||
+++ b/networking/udhcp/dhcpc.c
|
||||
@@ -63,7 +63,6 @@
|
||||
state = RENEW_REQUESTED;
|
||||
break;
|
||||
case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
|
||||
- udhcp_run_script(NULL, "deconfig");
|
||||
case REQUESTING:
|
||||
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
|
||||
--- busybox-1.8.2.old/archival/libipkg/pkg_extract.c 2008-01-23 22:18:44.000000000 +0100
|
||||
+++ busybox-1.8.2.dev/archival/libipkg/pkg_extract.c 2008-01-23 22:20:31.000000000 +0100
|
||||
--- a/archival/libipkg/pkg_extract.c
|
||||
+++ b/archival/libipkg/pkg_extract.c
|
||||
@@ -85,6 +85,7 @@
|
||||
free(archive->buffer);
|
||||
free(archive->accept);
|
||||
|
|
|
@ -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 );
|
|
@ -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;
|
||||
}
|
|
@ -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
|
|
@ -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;
|
|
@ -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 New Issue