busybox: update to v1.16.1 (based on v1.16.0 update patch from Peter Wagner)

SVN-Revision: 20661
v19.07.3_mercusys_ac12_duma
Nicolas Thill 14 years ago
parent 15f9699e98
commit 8be628f50a

@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=busybox
PKG_VERSION:=1.15.3
PKG_VERSION:=1.16.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:=6059ac9456de6fb18dc8ee4cd0ec9240
PKG_MD5SUM:=319486ec65078d07fde26eb620fecde7
include $(INCLUDE_DIR)/package.mk

@ -29,6 +29,23 @@ config BUSYBOX_CONFIG_EXTRA_COMPAT
some GNU extensions in libc. You probably only need this option
if you plan to run busybox on desktop.
config BUSYBOX_CONFIG_INCLUDE_SUSv2
bool "Enable obsolete features removed before SUSv3"
default y
help
This option will enable backwards compatibility with SuSv2,
specifically, old-style numeric options ('command -1 <file>')
will be supported in head, tail, and fold. (Note: should
affect renice too.)
config BUSYBOX_CONFIG_USE_PORTABLE_CODE
bool "Avoid using GCC-specific code constructs"
default n
help
Use this option if you are trying to compile busybox with
compiler other than gcc.
If you do use gcc, this option may needlessly increase code size.
choice
prompt "Buffer allocation policy"
default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
@ -502,17 +519,8 @@ config BUSYBOX_CONFIG_EFENCE
endchoice
config BUSYBOX_CONFIG_INCLUDE_SUSv2
bool "Enable obsolete features removed before SUSv3?"
default y
help
This option will enable backwards compatibility with SuSv2,
specifically, old-style numeric options ('command -1 <file>')
will be supported in head, tail, and fold. (Note: should
affect renice too.)
### config PARSE
### bool "Uniform config file parser debugging applet: parse"
### bool "Uniform config file parser debugging applet: parse"
endmenu

@ -165,6 +165,13 @@ config BUSYBOX_CONFIG_GZIP
gzip is used to compress files.
It's probably the most widely used UNIX compression program.
config BUSYBOX_CONFIG_FEATURE_GZIP_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_GZIP && BUSYBOX_CONFIG_LONG_OPTS
help
Enable use of long options, increases size by about 106 Bytes
config BUSYBOX_CONFIG_LZOP
bool "lzop"
default n
@ -269,6 +276,14 @@ config BUSYBOX_CONFIG_FEATURE_TAR_UNAME_GNAME
listings (-t) and preserving permissions when unpacking (-p).
+200 bytes.
config BUSYBOX_CONFIG_FEATURE_TAR_NOPRESERVE_TIME
bool "Enable -m (do not preserve time) option"
default n
depends on BUSYBOX_CONFIG_TAR
help
With this option busybox supports GNU tar -m
(do not preserve time) option.
endif #tar
config BUSYBOX_CONFIG_UNCOMPRESS

@ -52,6 +52,13 @@ config BUSYBOX_CONFIG_CHOWN
chown is used to change the user and/or group ownership
of files.
config BUSYBOX_CONFIG_FEATURE_CHOWN_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_CHOWN && BUSYBOX_CONFIG_LONG_OPTS
help
Enable use of long options
config BUSYBOX_CONFIG_CHROOT
bool "chroot"
default y
@ -78,6 +85,14 @@ config BUSYBOX_CONFIG_CP
help
cp is used to copy files and directories.
config BUSYBOX_CONFIG_FEATURE_CP_LONG_OPTIONS
bool "Enable long options for cp"
default n
depends on BUSYBOX_CONFIG_CP && BUSYBOX_CONFIG_LONG_OPTS
help
Enable long options for cp.
Also add support for --parents option.
config BUSYBOX_CONFIG_CUT
bool "cut"
default y
@ -100,6 +115,22 @@ config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
Enable option (-I) to output an ISO-8601 compliant
date/time string.
config BUSYBOX_CONFIG_FEATURE_DATE_COMPAT
bool "Support weird 'date MMDDhhmm[[YY]YY][.ss]' format"
default n
depends on BUSYBOX_CONFIG_DATE
help
System time can be set by 'date -s DATE' and simply 'date DATE',
but formats of DATE string are different. 'date DATE' accepts
a rather weird MMDDhhmm[[YY]YY][.ss] format with completely
unnatural placement of year between minutes and seconds.
date -s (and other commands like touch -d) use more sensible
formats (for one, ISO format YYYY-MM-DD hh:mm:ss.ssssss).
With this option off, 'date DATE' is 'date -s DATE' support
the same format. With it on, 'date DATE' additionally supports
MMDDhhmm[[YY]YY][.ss] format.
config BUSYBOX_CONFIG_DD
bool "dd"
default y
@ -113,13 +144,22 @@ config BUSYBOX_CONFIG_FEATURE_DD_SIGNAL_HANDLING
default y
depends on BUSYBOX_CONFIG_DD
help
sending a SIGUSR1 signal to a running `dd' process makes it
Sending a SIGUSR1 signal to a running `dd' process makes it
print to standard error the number of records read and written
so far, then to resume copying.
$ dd if=/dev/zero of=/dev/null&
$ pid=$! kill -USR1 $pid; sleep 1; kill $pid
10899206+0 records in 10899206+0 records out
10899206+0 records in
10899206+0 records out
config BUSYBOX_CONFIG_FEATURE_DD_THIRD_STATUS_LINE
bool "Enable the third status line upon signal"
default n
depends on BUSYBOX_CONFIG_DD && BUSYBOX_CONFIG_FEATURE_DD_SIGNAL_HANDLING
help
Displays a coreutils-like third status line with transferred bytes,
elapsed time and speed.
config BUSYBOX_CONFIG_FEATURE_DD_IBS_OBS
bool "Enable ibs, obs and conv options"
@ -829,13 +869,13 @@ config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE
help
Allow df, du, and ls to have human readable output.
comment "Common options for md5sum, sha1sum"
depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM
comment "Common options for md5sum, sha1sum, sha256sum, sha512sum"
depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM
config BUSYBOX_CONFIG_FEATURE_MD5_SHA1_SUM_CHECK
bool "Enable -c, -s and -w options"
default y
depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM
depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM
help
Enabling the -c options allows files to be checked
against pre-calculated hash values.

@ -35,13 +35,12 @@ config BUSYBOX_CONFIG_DIFF
differences between them in a form that can be given to
the patch command.
config BUSYBOX_CONFIG_FEATURE_DIFF_BINARY
bool "Enable checks for binary files"
config BUSYBOX_CONFIG_FEATURE_DIFF_LONG_OPTIONS
bool "Enable long options"
default n
depends on BUSYBOX_CONFIG_DIFF
depends on BUSYBOX_CONFIG_DIFF && BUSYBOX_CONFIG_LONG_OPTS
help
This option enables support for checking for binary files
before a comparison is carried out.
Enable use of long options.
config BUSYBOX_CONFIG_FEATURE_DIFF_DIR
bool "Enable directory support"
@ -51,14 +50,6 @@ config BUSYBOX_CONFIG_FEATURE_DIFF_DIR
This option enables support for directory and subdirectory
comparison.
config BUSYBOX_CONFIG_FEATURE_DIFF_MINIMAL
bool "Enable -d option to find smaller sets of changes"
default n
depends on BUSYBOX_CONFIG_DIFF
help
Enabling this option allows the use of -d to make diff
try hard to find the smallest possible set of changes.
config BUSYBOX_CONFIG_ED
bool "ed"
default n

@ -171,6 +171,13 @@ config BUSYBOX_CONFIG_FEATURE_FIND_CONTEXT
help
Support the 'find -context' option for matching security context.
config BUSYBOX_CONFIG_FEATURE_FIND_LINKS
bool "Enable -links: link count matching"
default n
depends on BUSYBOX_CONFIG_FIND
help
Support the 'find -links' option for matching number of links.
config BUSYBOX_CONFIG_GREP
bool "grep"
default y

@ -111,7 +111,7 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_ASK_TERMINAL
current cursor position. This information is used to make line
editing more robust in some cases.
If you are not sure whether your terminals respond to this code
correctly, or want to save on code size (about 300 bytes),
correctly, or want to save on code size (about 400 bytes),
then do not turn this option on.
config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP
@ -134,9 +134,8 @@ config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE
$ 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 create '/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

@ -137,11 +137,11 @@ config BUSYBOX_CONFIG_FEATURE_CROND_D
-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?"
bool "Report command output via email (using sendmail)"
default n
depends on BUSYBOX_CONFIG_CROND
help
Support calling /usr/sbin/sendmail for send cmd outputs.
Command output will be sent to corresponding user via email.
config BUSYBOX_CONFIG_FEATURE_CROND_DIR
string "crond spool directory"
@ -272,6 +272,13 @@ config BUSYBOX_CONFIG_FBSPLASH
"NN" (ASCII decimal number) - percentage to show on progress bar
"exit" - well you guessed it
config BUSYBOX_CONFIG_FLASHCP
bool "flashcp"
default n
help
The flashcp binary, inspired by mtd-utils as of git head 5eceb74f7.
This utility is used to copy images into a MTD device.
config BUSYBOX_CONFIG_FLASH_LOCK
bool "flash_lock"
default n
@ -618,6 +625,12 @@ config BUSYBOX_CONFIG_VOLNAME
help
Prints a CD-ROM volume name.
config BUSYBOX_CONFIG_WALL
bool "wall"
default n
help
Write a message to all users that are logged in.
config BUSYBOX_CONFIG_WATCHDOG
bool "watchdog"
default y

@ -121,6 +121,22 @@ config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
This increases size considerably. Say N unless you plan
to run ancient kernels.
config BUSYBOX_CONFIG_FEATURE_INSMOD_TRY_MMAP
bool "Try to load module from a mmap'ed area"
default n
depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE_SMALL
help
This option causes module loading code to try to mmap
module first. If it does not work (for example,
it does not work for compressed modules), module will be read
(and unpacked if needed) into a memory block allocated by malloc.
The only case when mmap works but malloc does not is when
you are trying to load a big module on a very memory-constrained
machine. Malloc will momentarily need 2x as much memory as mmap.
Choosing N saves about 250 bytes of code (on 32-bit x86).
config BUSYBOX_CONFIG_FEATURE_INSMOD_VERSION_CHECKING
bool "Enable module version checking"
default n

@ -117,6 +117,17 @@ config BUSYBOX_CONFIG_FEATURE_FTP_WRITE
help
Enable all kinds of FTP upload commands (-w option)
config BUSYBOX_CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST
bool "Enable workaround for RFC-violating clients"
default n
depends on BUSYBOX_CONFIG_FTPD
help
Some ftp-clients (among them KDE's Konqueror) issue illegal
"LIST -la" requests. This option works around those problems.
It might prevent you from listing files starting with "-" and
it increases the code size by ~40 bytes.
Most other ftp servers seem to behave similar to this.
config BUSYBOX_CONFIG_FTPGET
bool "ftpget"
default n
@ -667,6 +678,20 @@ config BUSYBOX_CONFIG_NSLOOKUP
help
nslookup is a tool to query Internet name servers.
config BUSYBOX_CONFIG_NTPD
bool "ntpd"
default n
help
The NTP client/server daemon.
config BUSYBOX_CONFIG_FEATURE_NTPD_SERVER
bool "Make ntpd usable as a NTP server"
default n
depends on BUSYBOX_CONFIG_NTPD
help
Make ntpd usable as a NTP server. If you disable this option
ntpd will be usable only as a NTP client.
config BUSYBOX_CONFIG_PING
bool "ping"
default y
@ -794,6 +819,27 @@ config BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE
help
Selecting this will make telnetd able to run standalone.
config BUSYBOX_CONFIG_FEATURE_TELNETD_INETD_WAIT
bool "Support -w SEC option (inetd wait mode)"
default n
depends on BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE
help
This option allows you to run telnetd in "inet wait" mode.
Example inetd.conf line (note "wait", not usual "nowait"):
telnet stream tcp wait root /bin/telnetd telnetd -w10
In this example, inetd passes _listening_ socket_ as fd 0
to telnetd when connection appears.
telnetd will wait for connections until all existing
connections are closed, and no new connections
appear during 10 seconds. Then it exits, and inetd continues
to listen for new connections.
This option is rarely used. "tcp nowait" is much more usual
way of running tcp services, including telnetd.
You most probably want to say N here.
config BUSYBOX_CONFIG_TFTP
bool "tftp"
default n
@ -831,12 +877,19 @@ config BUSYBOX_CONFIG_FEATURE_TFTP_PUT
Also enable download support in tftpd, if tftpd is selected.
config BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE
bool "Enable \"blksize\" protocol option"
bool "Enable 'blksize' and 'tsize' protocol options"
default n
depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
help
Allow tftp to specify block size, and tftpd to understand
"blksize" option.
"blksize" and "tsize" options.
config BUSYBOX_CONFIG_FEATURE_TFTP_PROGRESS_BAR
bool "Enable tftp progress meter"
default n
depends on BUSYBOX_CONFIG_TFTP && BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE
help
Show progress bar.
config BUSYBOX_CONFIG_TFTP_DEBUG
bool "Enable debug"
@ -852,6 +905,13 @@ config BUSYBOX_CONFIG_TRACEROUTE
help
Utility to trace the route of IP packets.
config BUSYBOX_CONFIG_TRACEROUTE6
bool "traceroute6"
default n
depends on BUSYBOX_CONFIG_FEATURE_IPV6 && BUSYBOX_CONFIG_TRACEROUTE
help
Utility to trace the route of IPv6 packets.
config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_VERBOSE
bool "Enable verbose output"
default y
@ -880,7 +940,7 @@ source package/busybox/config/networking/udhcp/Config.in
config BUSYBOX_CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS
string "ifup udhcpc command line options"
default "-R -n"
depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_APP_UDHCPC
depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_UDHCPC
help
Command line options to pass to udhcpc from ifup.
Intended to alter options not available in /etc/network/interfaces.

@ -3,26 +3,26 @@
# see scripts/kbuild/config-language.txt.
#
config BUSYBOX_CONFIG_APP_UDHCPD
config BUSYBOX_CONFIG_UDHCPD
bool "udhcp server (udhcpd)"
default n
help
udhcpd is a DHCP server geared primarily toward embedded systems,
while striving to be fully functional and RFC compliant.
config BUSYBOX_CONFIG_APP_DHCPRELAY
config BUSYBOX_CONFIG_DHCPRELAY
bool "dhcprelay"
default n
depends on BUSYBOX_CONFIG_APP_UDHCPD
depends on BUSYBOX_CONFIG_UDHCPD
help
dhcprelay listens for dhcp requests on one or more interfaces
and forwards these requests to a different interface or dhcp
server.
config BUSYBOX_CONFIG_APP_DUMPLEASES
config BUSYBOX_CONFIG_DUMPLEASES
bool "Lease display utility (dumpleases)"
default n
depends on BUSYBOX_CONFIG_APP_UDHCPD
depends on BUSYBOX_CONFIG_UDHCPD
help
dumpleases displays the leases written out by the udhcpd server.
Lease times are stored in the file by time remaining in lease, or
@ -31,7 +31,7 @@ config BUSYBOX_CONFIG_APP_DUMPLEASES
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
depends on BUSYBOX_CONFIG_UDHCPD
help
If selected, udhcpd will write a new file with leases every
time a new lease has been accepted, thus eliminating the need
@ -41,12 +41,12 @@ config BUSYBOX_CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY
config BUSYBOX_CONFIG_DHCPD_LEASES_FILE
string "Absolute path to lease file"
default "/var/run/udhcpd.leases"
depends on BUSYBOX_CONFIG_APP_UDHCPD
depends on BUSYBOX_CONFIG_UDHCPD
help
udhcpd stores addresses in a lease file. This is the absolute path
of the file. Normally it is safe to leave it untouched.
config BUSYBOX_CONFIG_APP_UDHCPC
config BUSYBOX_CONFIG_UDHCPC
bool "udhcp client (udhcpc)"
default y
help
@ -59,7 +59,7 @@ config BUSYBOX_CONFIG_APP_UDHCPC
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
depends on BUSYBOX_CONFIG_UDHCPC
help
If selected, udhcpc will send ARP probes and make sure
the offered address is really not in use by anyone. The client
@ -69,7 +69,7 @@ config BUSYBOX_CONFIG_FEATURE_UDHCPC_ARPING
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
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
help
At the cost of ~300 bytes, enables -P port option.
This feature is typically not needed.
@ -78,7 +78,7 @@ config BUSYBOX_CONFIG_UDHCP_DEBUG
int "Maximum verbosity level for udhcp applets (0..9)"
default 0
range 0 9
depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC || BUSYBOX_CONFIG_APP_DHCPRELAY
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC || BUSYBOX_CONFIG_DHCPRELAY
help
Verbosity can be increased with multiple -v options.
This options controls how high it can be cranked up.
@ -89,7 +89,7 @@ config BUSYBOX_CONFIG_UDHCP_DEBUG
config BUSYBOX_CONFIG_FEATURE_UDHCP_RFC3397
bool "Support for RFC3397 domain search (experimental)"
default y
depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
help
If selected, both client and server will support passing of domain
search lists via option 119, specified in RFC3397.
@ -97,7 +97,7 @@ config BUSYBOX_CONFIG_FEATURE_UDHCP_RFC3397
config BUSYBOX_CONFIG_UDHCPC_DEFAULT_SCRIPT
string "Absolute path to config script"
default "/usr/share/udhcpc/default.script"
depends on BUSYBOX_CONFIG_APP_UDHCPC
depends on BUSYBOX_CONFIG_UDHCPC
help
This script is called after udhcpc receives an answer. See
examples/udhcp for a working example. Normally it is safe
@ -107,7 +107,7 @@ 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
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
help
Some buggy DHCP servers send DHCP offer packets with option
field larger than we expect (which might also be considered a

@ -188,6 +188,13 @@ config BUSYBOX_CONFIG_FEATURE_TOPMEM
help
Enable 's' in top (gives lots of memory info).
config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS
bool "Support for showing threads in ps/top"
default n
depends on BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_TOP
help
Enables ps -T option and 'h' command in top
config BUSYBOX_CONFIG_UPTIME
bool "uptime"
default y
@ -203,5 +210,4 @@ config BUSYBOX_CONFIG_WATCH
watch is used to execute a program periodically, showing
output to the screen.
endmenu

@ -15,6 +15,7 @@ choice
config BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
select BUSYBOX_CONFIG_ASH
bool "ash"
depends on !BUSYBOX_CONFIG_NOMMU
config BUSYBOX_CONFIG_FEATURE_SH_IS_HUSH
select BUSYBOX_CONFIG_HUSH
@ -36,6 +37,7 @@ endchoice
config BUSYBOX_CONFIG_ASH
bool "ash"
default y
depends on !BUSYBOX_CONFIG_NOMMU
help
Tha 'ash' shell adds about 60k in the default configuration and is
the most complete and most pedantically correct shell included with
@ -57,23 +59,6 @@ config BUSYBOX_CONFIG_ASH_JOB_CONTROL
help
Enable job control in the ash shell.
config BUSYBOX_CONFIG_ASH_READ_NCHARS
bool "'read -n N' and 'read -s' support"
default n
depends on BUSYBOX_CONFIG_ASH
help
'read -n N' will return a value after N characters have been read.
'read -s' will read without echoing the user's input.
config BUSYBOX_CONFIG_ASH_READ_TIMEOUT
bool "'read -t S' support"
default y
depends on BUSYBOX_CONFIG_ASH
help
'read -t S' will return a value after S seconds have passed.
This implementation will allow fractional seconds, expressed
as a decimal fraction, e.g. 'read -t 2.5 foo'.
config BUSYBOX_CONFIG_ASH_ALIAS
bool "alias support"
default y
@ -187,7 +172,7 @@ config BUSYBOX_CONFIG_HUSH_INTERACTIVE
help
Enable interactive mode (prompt and command editing).
Without this, hush simply reads and executes commands
from stdin just like a shell script from the file.
from stdin just like a shell script from a file.
No prompt, no PS1/PS2 magic shell variables.
config BUSYBOX_CONFIG_HUSH_JOB
@ -250,6 +235,14 @@ config BUSYBOX_CONFIG_HUSH_EXPORT_N
help
Enable support for export '-n' option in hush. It is a bash extension.
config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
bool "Pseudorandom generator and $RANDOM variable"
default n
depends on BUSYBOX_CONFIG_HUSH
help
Enable pseudorandom generator and dynamic variable "$RANDOM".
Each read of "$RANDOM" will generate a new pseudorandom value.
config BUSYBOX_CONFIG_LASH
bool "lash (deprecated: aliased to hush)"
default n

@ -213,6 +213,12 @@ config BUSYBOX_CONFIG_FSCK_MINIX
check for and attempt to repair any corruption that occurs to a minix
filesystem.
config BUSYBOX_CONFIG_MKFS_EXT2
bool "mkfs_ext2"
default n
help
Utility to create EXT2 filesystems.
config BUSYBOX_CONFIG_MKFS_MINIX
bool "mkfs_minix"
default n
@ -233,6 +239,12 @@ config BUSYBOX_CONFIG_FEATURE_MINIX2
this. If you enabled 'mkfs_minix' then you almost certainly want to
be using the version 2 filesystem support.
config BUSYBOX_CONFIG_MKFS_REISER
bool "mkfs_reiser"
default n
help
Utility to create ReiserFS filesystems.
config BUSYBOX_CONFIG_MKFS_VFAT
bool "mkfs_vfat"
default n
@ -336,6 +348,24 @@ config BUSYBOX_CONFIG_LOSETUP
file or block device, and to query the status of a loop device. This
version does not currently support enabling data encryption.
config BUSYBOX_CONFIG_LSPCI
bool "lspci"
default n
help
lspci is a utility for displaying information about PCI buses in the
system and devices connected to them.
This version uses sysfs (/sys/bus/pci/devices) only.
config BUSYBOX_CONFIG_LSUSB
bool "lsusb"
default n
help
lsusb is a utility for displaying information about USB buses in the
system and devices connected to them.
This version uses sysfs (/sys/bus/usb/devices) only.
config BUSYBOX_CONFIG_MDEV
bool "mdev"
default n
@ -445,6 +475,13 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXT
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BTRFS
bool "btrfs filesystem"
default n
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_REISERFS
bool "Reiser filesystem"
default n
@ -689,6 +726,7 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_LABEL
help
This allows for specifying a device by label or uuid, rather than by
name. This feature utilizes the same functionality as blkid/findfs.
This also enables label or uuid support for swapon.
config BUSYBOX_CONFIG_FEATURE_MOUNT_NFS
bool "Support mounting NFS file systems"

@ -1,12 +1,12 @@
--- a/applets/Kbuild
+++ b/applets/Kbuild
@@ -27,13 +27,13 @@ HOSTCFLAGS_usage.o = -I$(srctree_slash)i
@@ -28,13 +28,13 @@ HOSTCFLAGS_usage_pod.o = -I$(srctree_sla
applets/applets.o: include/usage_compressed.h include/applet_tables.h
-applets/usage: .config $(srctree_slash)applets/usage_compressed
+applets/usage: .config $(srctree_slash)applets/usage_compressed include/autoconf.h
applets/applet_tables: .config
applets/applet_tables: .config $(srctree_slash)include/applets.h
-applets/usage: .config $(srctree_slash)include/applets.h
+applets/usage: .config $(srctree_slash)include/applets.h include/autoconf.h
applets/usage_pod: .config include/applet_tables.h $(srctree_slash)include/applets.h
quiet_cmd_gen_usage_compressed = GEN include/usage_compressed.h
cmd_gen_usage_compressed = $(srctree_slash)applets/usage_compressed include/usage_compressed.h applets

@ -1,6 +1,6 @@
--- a/init/init.c
+++ b/init/init.c
@@ -451,8 +451,11 @@ static void run_actions(int action_type)
@@ -456,8 +456,11 @@ static void run_actions(int action_type)
/* Only run stuff with pid == 0. If pid != 0,
* it is already running
*/

@ -1,6 +1,6 @@
--- a/networking/wget.c
+++ b/networking/wget.c
@@ -653,7 +653,7 @@ int wget_main(int argc UNUSED_PARAM, cha
@@ -543,7 +543,7 @@ int wget_main(int argc UNUSED_PARAM, cha
// "tries\0" Required_argument "t"
// "timeout\0" Required_argument "T"
/* Ignored (we always use PASV): */
@ -8,4 +8,4 @@
+ "passive-ftp\0" No_argument "\xfd"
"header\0" Required_argument "\xfe"
"post-data\0" Required_argument "\xfd"
;
/* Ignored (we don't do ssl) */

@ -1,6 +1,6 @@
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -12351,8 +12351,17 @@ exportcmd(int argc UNUSED_PARAM, char **
@@ -12340,8 +12340,17 @@ exportcmd(int argc UNUSED_PARAM, char **
const char *p;
char **aptr;
int flag = argv[0][0] == 'r' ? VREADONLY : VEXPORT;
@ -19,7 +19,7 @@
aptr = argptr;
name = *aptr;
if (name) {
@@ -12364,10 +12373,12 @@ exportcmd(int argc UNUSED_PARAM, char **
@@ -12353,10 +12362,12 @@ exportcmd(int argc UNUSED_PARAM, char **
vp = *findvar(hashvar(name), name);
if (vp) {
vp->flags |= flag;

@ -1,6 +1,6 @@
--- a/include/applets.h
+++ b/include/applets.h
@@ -278,6 +278,7 @@ IF_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_D
@@ -282,6 +282,7 @@ IF_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_D
IF_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_DROP))
IF_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_DROP))
IF_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_DROP))
@ -10,7 +10,7 @@
IF_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_DROP))
--- a/include/usage.h
+++ b/include/usage.h
@@ -3101,6 +3101,9 @@
@@ -3166,6 +3166,9 @@
#endif
@ -22,7 +22,7 @@
#define netstat_full_usage "\n\n" \
--- a/networking/Config.in
+++ b/networking/Config.in
@@ -617,6 +617,12 @@ config NC
@@ -628,6 +628,12 @@ config NC
A simple Unix utility which reads and writes data across network
connections.
@ -44,7 +44,7 @@
+lib-$(CONFIG_NETMSG) += netmsg.o
lib-$(CONFIG_NETSTAT) += netstat.o
lib-$(CONFIG_NSLOOKUP) += nslookup.o
lib-$(CONFIG_PING) += ping.o
lib-$(CONFIG_NTPD) += ntpd.o
--- /dev/null
+++ b/networking/netmsg.c
@@ -0,0 +1,63 @@

@ -3,7 +3,7 @@
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -1699,21 +1699,32 @@ static int check_user_passwd(const char
@@ -1716,21 +1716,32 @@ static int check_user_passwd(const char
if (ENABLE_FEATURE_HTTPD_AUTH_MD5) {
char *md5_passwd;

@ -1,6 +1,6 @@
--- a/include/applets.h
+++ b/include/applets.h
@@ -233,6 +233,7 @@ IF_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN,
@@ -234,6 +234,7 @@ IF_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN,
IF_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_DROP))
IF_LOADFONT(APPLET(loadfont, _BB_DIR_USR_SBIN, _BB_SUID_DROP))
IF_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_DROP))
@ -10,7 +10,7 @@
IF_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_DROP, logname))
--- a/include/usage.h
+++ b/include/usage.h
@@ -2325,6 +2325,9 @@
@@ -2357,6 +2357,9 @@
#define loadkmap_example_usage \
"$ loadkmap < /etc/i18n/lang-keymap\n"
@ -22,7 +22,7 @@
#define logger_full_usage "\n\n" \
--- a/miscutils/Config.in
+++ b/miscutils/Config.in
@@ -456,6 +456,11 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
@@ -463,6 +463,11 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
help
Enables the 'hdparm -d' option to get/set using_dma flag.
@ -36,7 +36,7 @@
default n
--- a/miscutils/Kbuild
+++ b/miscutils/Kbuild
@@ -26,6 +26,7 @@ lib-$(CONFIG_INOTIFYD) += inotifyd.o
@@ -27,6 +27,7 @@ lib-$(CONFIG_INOTIFYD) += inotifyd.o
lib-$(CONFIG_FEATURE_LAST_SMALL)+= last.o
lib-$(CONFIG_FEATURE_LAST_FANCY)+= last_fancy.o
lib-$(CONFIG_LESS) += less.o

@ -1,6 +1,6 @@
--- a/include/usage.h
+++ b/include/usage.h
@@ -1693,6 +1693,7 @@
@@ -1727,6 +1727,7 @@
IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]") \
" [-h HOME]\n" \
"or httpd -d/-e" IF_FEATURE_HTTPD_AUTH_MD5("/-m") " STRING"
@ -8,18 +8,18 @@
#define httpd_full_usage "\n\n" \
"Listen for incoming HTTP requests\n" \
"\nOptions:" \
@@ -1710,6 +1711,8 @@
@@ -1744,6 +1745,8 @@
"\n -m STRING MD5 crypt STRING") \
"\n -e STRING HTML encode STRING" \
"\n -d STRING URL decode STRING" \
+ "\n -R PATH Redirect target path" \
+ "\n -H HOST Redirect target host" \
+ "\n -R PATH Redirect target path" \
+ "\n -H HOST Redirect target host" \
#define hwclock_trivial_usage \
IF_FEATURE_HWCLOCK_LONG_OPTIONS( \
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -248,6 +248,8 @@ struct globals {
@@ -250,6 +250,8 @@ struct globals {
const char *found_mime_type;
const char *found_moved_temporarily;
@ -28,7 +28,7 @@
Htaccess_IP *ip_a_d; /* config allow/deny lines */
IF_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
@@ -294,6 +296,8 @@ struct globals {
@@ -296,6 +298,8 @@ struct globals {
#define index_page (G.index_page )
#define found_mime_type (G.found_mime_type )
#define found_moved_temporarily (G.found_moved_temporarily)
@ -37,7 +37,7 @@
#define last_mod (G.last_mod )
#define ip_a_d (G.ip_a_d )
#define g_realm (G.g_realm )
@@ -993,8 +997,11 @@ static void send_headers(int responseNum
@@ -997,8 +1001,11 @@ static void send_headers(int responseNum
}
#endif
if (responseNum == HTTP_MOVED_TEMPORARILY) {
@ -50,7 +50,7 @@
(g_query ? "?" : ""),
(g_query ? g_query : ""));
}
@@ -1924,8 +1931,12 @@ static void handle_incoming_and_exit(con
@@ -1941,8 +1948,12 @@ static void handle_incoming_and_exit(con
} while (*++tptr);
*++urlp = '\0'; /* terminate after last character */
@ -61,10 +61,10 @@
/* If URL is a directory, add '/' */
- if (urlp[-1] != '/') {
+ if (!redirect_path && (urlp[-1] != '/')) {
if (is_directory(urlcopy + 1, 1, &sb)) {
if (is_directory(urlcopy + 1, 1, NULL)) {
found_moved_temporarily = urlcopy;
}
@@ -2266,7 +2277,9 @@ static void sighup_handler(int sig UNUSE
@@ -2283,7 +2294,9 @@ static void sighup_handler(int sig UNUSE
}
enum {
@ -75,7 +75,7 @@
d_opt_decode_url,
h_opt_home_httpd,
IF_FEATURE_HTTPD_ENCODE_URL_STR(e_opt_encode_url,)
@@ -2315,12 +2328,13 @@ int httpd_main(int argc UNUSED_PARAM, ch
@@ -2332,12 +2345,13 @@ int httpd_main(int argc UNUSED_PARAM, ch
/* We do not "absolutize" path given by -h (home) opt.
* If user gives relative path in -h,
* $SCRIPT_FILENAME will not be set. */

@ -1,6 +1,6 @@
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -1250,10 +1250,10 @@ static NOINLINE void cgi_io_loop_and_exi
@@ -1254,10 +1254,10 @@ static NOINLINE void cgi_io_loop_and_exi
if (full_write(STDOUT_FILENO, HTTP_200, sizeof(HTTP_200)-1) != sizeof(HTTP_200)-1)
break;
}

@ -1,6 +1,6 @@
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -1810,6 +1810,7 @@ static void handle_incoming_and_exit(con
@@ -1827,6 +1827,7 @@ static void handle_incoming_and_exit(con
char *header_ptr = header_ptr;
Htaccess_Proxy *proxy_entry;
#endif

@ -119,7 +119,7 @@
}
--- a/modutils/Config.in
+++ b/modutils/Config.in
@@ -210,7 +210,7 @@ config FEATURE_MODUTILS_SYMBOLS
@@ -226,7 +226,7 @@ config FEATURE_MODUTILS_SYMBOLS
config DEFAULT_MODULES_DIR
string "Default directory containing modules"
default "/lib/modules"

@ -1,7 +1,7 @@
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
@@ -69,6 +69,10 @@
#define MS_DIRSYNC 128 // Directory modifications are synchronous
@@ -77,6 +77,10 @@
# include <rpc/pmap_clnt.h>
#endif
+#ifndef MS_UNION
@ -11,7 +11,7 @@
#if defined(__dietlibc__)
// 16.12.2006, Sampo Kellomaki (sampo@iki.fi)
@@ -185,6 +189,7 @@ static const int32_t mount_options[] = {
@@ -194,6 +198,7 @@ static const int32_t mount_options[] = {
/* "rslave" */ MS_SLAVE|MS_RECURSIVE,
/* "rprivate" */ MS_SLAVE|MS_RECURSIVE,
/* "runbindable" */ MS_UNBINDABLE|MS_RECURSIVE,
@ -19,7 +19,7 @@
)
// Always understood.
@@ -239,6 +244,7 @@ static const char mount_option_str[] =
@@ -249,6 +254,7 @@ static const char mount_option_str[] =
"rslave\0"
"rprivate\0"
"runbindable\0"

@ -15,7 +15,7 @@
} func;
/* I/O stream */
@@ -1420,7 +1425,8 @@ static void parse_program(char *p)
@@ -1424,7 +1429,8 @@ static void parse_program(char *p)
next_token(TC_FUNCTION);
g_pos++;
f = newfunc(t_string);
@ -25,7 +25,7 @@
f->nargs = 0;
while (next_token(TC_VARIABLE | TC_SEQTERM) & TC_VARIABLE) {
v = findvar(ahash, t_string);
@@ -1429,7 +1435,7 @@ static void parse_program(char *p)
@@ -1433,7 +1439,7 @@ static void parse_program(char *p)
if (next_token(TC_COMMA | TC_SEQTERM) & TC_SEQTERM)
break;
}
@ -34,7 +34,7 @@
chain_group();
clear_array(ahash);
@@ -2410,7 +2416,8 @@ static var *evaluate(node *op, var *res)
@@ -2446,7 +2452,8 @@ static var *evaluate(node *op, var *res)
break;
case XC( OC_FUNC ):
@ -43,8 +43,8 @@
+ !op->r.f->x.body.first)
syntax_error(EMSG_UNDEF_FUNC);
X.v = R.v = nvalloc(op->r.f->nargs+1);
@@ -2427,7 +2434,10 @@ static var *evaluate(node *op, var *res)
X.v = R.v = nvalloc(op->r.f->nargs + 1);
@@ -2463,7 +2470,10 @@ static var *evaluate(node *op, var *res)
fnargs = X.v;
L.s = g_progname;
@ -56,7 +56,7 @@
g_progname = L.s;
nvfree(fnargs);
@@ -2790,6 +2800,143 @@ static rstream *next_input_file(void)
@@ -2829,6 +2839,143 @@ static rstream *next_input_file(void)
#undef files_happen
}
@ -200,7 +200,7 @@
int awk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int awk_main(int argc, char **argv)
{
@@ -2855,6 +3002,9 @@ int awk_main(int argc, char **argv)
@@ -2894,6 +3041,9 @@ int awk_main(int argc, char **argv)
*s1 = '=';
}
}

@ -1,6 +1,6 @@
--- a/networking/telnetd.c
+++ b/networking/telnetd.c
@@ -306,6 +306,7 @@ make_new_session(
@@ -308,6 +308,7 @@ make_new_session(
/* Restore default signal handling ASAP */
bb_signals((1 << SIGCHLD) + (1 << SIGPIPE), SIG_DFL);

Loading…
Cancel
Save