parent
6fa03d63d4
commit
91750d01a7
36 changed files with 336 additions and 227 deletions
|
@ -8,13 +8,13 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=busybox
|
||||
PKG_VERSION:=1.13.4
|
||||
PKG_VERSION:=1.14.4
|
||||
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:=8a5eb7f15d4077d18fa97bda7a4e5412
|
||||
PKG_MD5SUM:=ad6d0b271e60783a3c767c4ccbc7f98e
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -410,6 +410,12 @@ config BUSYBOX_CONFIG_CROSS_COMPILER_PREFIX
|
|||
|
||||
Native builds leave this empty.
|
||||
|
||||
config BUSYBOX_CONFIG_EXTRA_CFLAGS
|
||||
string "Additional CFLAGS"
|
||||
default ""
|
||||
help
|
||||
Additional CFLAGS to pass to the compiler verbatim.
|
||||
|
||||
endmenu
|
||||
|
||||
menu 'Debugging Options'
|
||||
|
|
|
@ -110,6 +110,13 @@ config BUSYBOX_CONFIG_FEATURE_CPIO_O
|
|||
This implementation of cpio can create cpio archives in the "newc"
|
||||
format only.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CPIO_P
|
||||
bool "Support for passthrough mode"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_CPIO_O
|
||||
help
|
||||
Passthrough mode. Rarely used.
|
||||
|
||||
config BUSYBOX_CONFIG_DPKG
|
||||
bool "dpkg"
|
||||
default n
|
||||
|
|
|
@ -189,7 +189,7 @@ config BUSYBOX_CONFIG_ECHO
|
|||
config BUSYBOX_CONFIG_FEATURE_FANCY_ECHO
|
||||
bool "Enable echo options (-n and -e)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_ECHO || BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
|
||||
depends on BUSYBOX_CONFIG_ECHO || BUSYBOX_CONFIG_ASH_BUILTIN_ECHO || BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
This adds options (-n and -e) to echo.
|
||||
|
||||
|
@ -509,6 +509,18 @@ config BUSYBOX_CONFIG_SHA1SUM
|
|||
help
|
||||
Compute and check SHA1 message digest
|
||||
|
||||
config BUSYBOX_CONFIG_SHA256SUM
|
||||
bool "sha256sum"
|
||||
default n
|
||||
help
|
||||
Compute and check SHA256 message digest
|
||||
|
||||
config BUSYBOX_CONFIG_SHA512SUM
|
||||
bool "sha512sum"
|
||||
default n
|
||||
help
|
||||
Compute and check SHA512 message digest
|
||||
|
||||
config BUSYBOX_CONFIG_SLEEP
|
||||
bool "sleep"
|
||||
default y
|
||||
|
@ -754,7 +766,7 @@ config BUSYBOX_CONFIG_FEATURE_WC_LARGE
|
|||
default n
|
||||
depends on BUSYBOX_CONFIG_WC
|
||||
help
|
||||
Use "unsigned long long" in wc for count variables.
|
||||
Use "unsigned long long" in wc for counter variables.
|
||||
|
||||
config BUSYBOX_CONFIG_WHO
|
||||
bool "who"
|
||||
|
|
|
@ -32,11 +32,12 @@ 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
|
||||
depends on BUSYBOX_CONFIG_FEATURE_KILL_REMOVED
|
||||
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!)
|
||||
(child will hang around for too long and could actually kill
|
||||
the wrong process!)
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_INIT_SCTTY
|
||||
bool "Run commands with leading dash with controlling tty"
|
||||
|
|
|
@ -58,7 +58,7 @@ config BUSYBOX_CONFIG_USE_BB_SHADOW
|
|||
password servers and whatnot.
|
||||
|
||||
config BUSYBOX_CONFIG_USE_BB_CRYPT
|
||||
bool "Use internal DES and MD5 crypt functions"
|
||||
bool "Use internal crypt functions"
|
||||
default n
|
||||
help
|
||||
Busybox has internal DES and MD5 crypt functions.
|
||||
|
@ -79,6 +79,18 @@ config BUSYBOX_CONFIG_USE_BB_CRYPT
|
|||
In static build, it makes code _smaller_ by about 1.2k,
|
||||
and likely many kilobytes less of bss.
|
||||
|
||||
config BUSYBOX_CONFIG_USE_BB_CRYPT_SHA
|
||||
bool "Enable SHA256/512 crypt functions"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_USE_BB_CRYPT
|
||||
help
|
||||
Enable this if you have passwords starting with "$5$" or "$6$"
|
||||
in your /etc/passwd or /etc/shadow files. These passwords
|
||||
are hashed using SHA256 and SHA512 algorithms. Support for them
|
||||
was added to glibc in 2008.
|
||||
With this option off, login will fail password check for any
|
||||
user which has password encrypted with these algorithms.
|
||||
|
||||
config BUSYBOX_CONFIG_ADDGROUP
|
||||
bool "addgroup"
|
||||
default n
|
||||
|
@ -230,15 +242,16 @@ config BUSYBOX_CONFIG_CRYPTPW
|
|||
bool "cryptpw"
|
||||
default n
|
||||
help
|
||||
Applet for crypting a string.
|
||||
Encrypts the given password with the crypt(3) libc function
|
||||
using the given salt. Debian has this utility under mkpasswd
|
||||
name. Busybox provides mkpasswd as an alias for cryptpw.
|
||||
|
||||
config BUSYBOX_CONFIG_CHPASSWD
|
||||
bool "chpasswd"
|
||||
default n
|
||||
help
|
||||
chpasswd reads a file of user name and password pairs from
|
||||
standard input and uses this information to update a group of
|
||||
existing users.
|
||||
Reads a file of user name and password pairs from standard input
|
||||
and uses this information to update a group of existing users.
|
||||
|
||||
config BUSYBOX_CONFIG_SU
|
||||
bool "su"
|
||||
|
|
|
@ -50,20 +50,4 @@ config BUSYBOX_CONFIG_SENDMAIL
|
|||
help
|
||||
Barebones sendmail.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SENDMAIL_MAILX
|
||||
bool "Allow to specify subject, attachments, their charset etc"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SENDMAIL
|
||||
help
|
||||
Allow to specify subject, attachments and their charset.
|
||||
Allow to use custom connection helper.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SENDMAIL_MAILXX
|
||||
bool "Allow to specify Cc: addresses and some additional headers"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_SENDMAIL_MAILX
|
||||
help
|
||||
Allow to specify Cc: addresses and some additional headers:
|
||||
Errors-To:
|
||||
|
||||
endmenu
|
||||
|
|
|
@ -121,6 +121,13 @@ config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
|
|||
help
|
||||
Support calling /usr/sbin/sendmail for send cmd outputs.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CROND_DIR
|
||||
string "crond spool directory"
|
||||
default "/var/spool/cron"
|
||||
depends on BUSYBOX_CONFIG_CROND || BUSYBOX_CONFIG_CRONTAB
|
||||
help
|
||||
Location of crond spool.
|
||||
|
||||
config BUSYBOX_CONFIG_CRONTAB
|
||||
bool "crontab"
|
||||
default y
|
||||
|
@ -151,7 +158,10 @@ config BUSYBOX_CONFIG_DEVFSD
|
|||
default n
|
||||
select BUSYBOX_CONFIG_FEATURE_SYSLOG
|
||||
help
|
||||
This is deprecated, and will be removed at the end of 2008.
|
||||
This is deprecated and should NOT be used anymore.
|
||||
Use linux >= 2.6 (optionally with hotplug) and mdev instead!
|
||||
See docs/mdev.txt for detailed instructions on how to use mdev
|
||||
instead.
|
||||
|
||||
Provides compatibility with old device names on a devfs systems.
|
||||
You should set it to true if you have devfs enabled.
|
||||
|
@ -190,9 +200,11 @@ config BUSYBOX_CONFIG_FEATURE_DEVFS
|
|||
bool "Use devfs names for all devices (obsolete)"
|
||||
default n
|
||||
help
|
||||
This is obsolete and will be going away at the end of 2008..
|
||||
This is obsolete and should NOT be used anymore.
|
||||
Use linux >= 2.6 (optionally with hotplug) and mdev instead!
|
||||
|
||||
This tells busybox to look for names like /dev/loop/0 instead of
|
||||
For legacy systems -- if there is no way around devfsd -- this
|
||||
tells busybox to look for names like /dev/loop/0 instead of
|
||||
/dev/loop0. If your /dev directory has normal names instead of
|
||||
devfs names, you don't want this.
|
||||
|
||||
|
@ -238,6 +250,20 @@ config BUSYBOX_CONFIG_FBSPLASH
|
|||
"NN" (ASCII decimal number) - percentage to show on progress bar
|
||||
"exit" - well you guessed it
|
||||
|
||||
config BUSYBOX_CONFIG_FLASH_ERASEALL
|
||||
bool "flash_eraseall"
|
||||
default n
|
||||
help
|
||||
The flash_eraseall binary from mtd-utils as of git head c4c6a59eb.
|
||||
This utility is used to erase the whole MTD device.
|
||||
|
||||
config BUSYBOX_CONFIG_IONICE
|
||||
bool "ionice"
|
||||
default n
|
||||
help
|
||||
Set/set program io scheduling class and priority
|
||||
Requires kernel >= 2.6.13
|
||||
|
||||
config BUSYBOX_CONFIG_INOTIFYD
|
||||
bool "inotifyd"
|
||||
default n
|
||||
|
@ -300,14 +326,6 @@ config BUSYBOX_CONFIG_FEATURE_LESS_FLAGS
|
|||
The -M flag enables a more sophisticated status line.
|
||||
The -m flag enables a simpler status line with a percentage.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
|
||||
bool "Enable flag changes ('-' command)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_LESS
|
||||
help
|
||||
This enables the ability to change command-line flags within
|
||||
less itself ('-' keyboard command).
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LESS_MARKS
|
||||
bool "Enable marks"
|
||||
default n
|
||||
|
@ -322,13 +340,6 @@ config BUSYBOX_CONFIG_FEATURE_LESS_REGEXP
|
|||
help
|
||||
Enable regular expressions, allowing complex file searches.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LESS_LINENUMS
|
||||
bool "Enable dynamic switching of line numbers"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
|
||||
help
|
||||
Enable "-N" command.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LESS_WINCH
|
||||
bool "Enable automatic resizing on window size changes"
|
||||
default n
|
||||
|
@ -336,6 +347,21 @@ config BUSYBOX_CONFIG_FEATURE_LESS_WINCH
|
|||
help
|
||||
Makes less track window size changes.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
|
||||
bool "Enable flag changes ('-' command)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_LESS
|
||||
help
|
||||
This enables the ability to change command-line flags within
|
||||
less itself ('-' keyboard command).
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LESS_LINENUMS
|
||||
bool "Enable dynamic switching of line numbers"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
|
||||
help
|
||||
Enable "-N" command.
|
||||
|
||||
config BUSYBOX_CONFIG_HDPARM
|
||||
bool "hdparm"
|
||||
default n
|
||||
|
@ -388,12 +414,11 @@ config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
|
|||
stuff, so you should probably say N.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
|
||||
bool "Get/set using_dma flag (DANGEROUS)"
|
||||
bool "Get/set using_dma flag"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HDPARM
|
||||
help
|
||||
Enables the 'hdparm -d' option to get/set using_dma flag.
|
||||
This is dangerous stuff, so you should probably say N.
|
||||
|
||||
config BUSYBOX_CONFIG_LOCK
|
||||
bool "lock"
|
||||
|
@ -535,6 +560,13 @@ config BUSYBOX_CONFIG_TIME
|
|||
When the command finishes, time writes a message to standard output
|
||||
giving timing statistics about this program run.
|
||||
|
||||
config BUSYBOX_CONFIG_TIMEOUT
|
||||
bool "timeout"
|
||||
default n
|
||||
help
|
||||
Runs a program and watches it. If it does not terminate in
|
||||
specified number of seconds, it is sent a signal.
|
||||
|
||||
config BUSYBOX_CONFIG_TTYSIZE
|
||||
bool "ttysize"
|
||||
default n
|
||||
|
|
|
@ -5,20 +5,6 @@
|
|||
|
||||
menu "Linux Module Utilities"
|
||||
|
||||
config BUSYBOX_CONFIG_DEFAULT_MODULES_DIR
|
||||
string "Default directory containing modules"
|
||||
default "/lib/modules"
|
||||
help
|
||||
Directory that contains kernel modules.
|
||||
Defaults to "/lib/modules"
|
||||
|
||||
config BUSYBOX_CONFIG_DEFAULT_DEPMOD_FILE
|
||||
string "Default name of modules.dep"
|
||||
default "modules.dep"
|
||||
help
|
||||
Filename that contains kernel modules dependencies.
|
||||
Defaults to "modules.dep"
|
||||
|
||||
config BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
bool "Simplified modutils"
|
||||
default n
|
||||
|
@ -58,7 +44,6 @@ config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
|
|||
depends on BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
help
|
||||
Allow insmod and modprobe take module options from command line.
|
||||
N.B. Very bloaty.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
|
||||
bool "Skip loading of already loaded modules"
|
||||
|
@ -66,7 +51,6 @@ config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
|
|||
depends on BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
help
|
||||
Check if the module is already loaded.
|
||||
N.B. It's racy.
|
||||
|
||||
config BUSYBOX_CONFIG_INSMOD
|
||||
bool "insmod"
|
||||
|
@ -157,7 +141,7 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
|
|||
By adding module symbols to the kernel symbol table, Oops messages
|
||||
occuring within kernel modules can be properly debugged. By enabling
|
||||
this feature, module symbols will always be added to the kernel symbol
|
||||
table for properly debugging support. If you are not interested in
|
||||
table for proper debugging support. If you are not interested in
|
||||
Oops messages from kernel modules, say N.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_INSMOD_LOADINKMEM
|
||||
|
@ -193,7 +177,7 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL
|
|||
config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
|
||||
bool "Support tainted module checking with new kernels"
|
||||
default y
|
||||
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
depends on (BUSYBOX_CONFIG_LSMOD || BUSYBOX_CONFIG_FEATURE_2_4_MODULES) && !BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
help
|
||||
Support checking for tainted modules. These are usually binary
|
||||
only modules that will make the linux-kernel list ignore your
|
||||
|
@ -227,4 +211,20 @@ config BUSYBOX_CONFIG_FEATURE_MODUTILS_SYMBOLS
|
|||
|
||||
Say Y if unsure.
|
||||
|
||||
config BUSYBOX_CONFIG_DEFAULT_MODULES_DIR
|
||||
string "Default directory containing modules"
|
||||
default "/lib/modules"
|
||||
depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
help
|
||||
Directory that contains kernel modules.
|
||||
Defaults to "/lib/modules"
|
||||
|
||||
config BUSYBOX_CONFIG_DEFAULT_DEPMOD_FILE
|
||||
string "Default name of modules.dep"
|
||||
default "modules.dep"
|
||||
depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
help
|
||||
Filename that contains kernel modules dependencies.
|
||||
Defaults to "modules.dep"
|
||||
|
||||
endmenu
|
||||
|
|
|
@ -13,7 +13,7 @@ config BUSYBOX_CONFIG_FEATURE_IPV6
|
|||
This adds IPv6 support in the networking applets.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PREFER_IPV4_ADDRESS
|
||||
bool "Preferentially use IPv4 addresses from DNS queries"
|
||||
bool "Prefer IPv4 addresses from DNS queries"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FEATURE_IPV6
|
||||
help
|
||||
|
@ -66,12 +66,12 @@ config BUSYBOX_CONFIG_FEATURE_BRCTL_FANCY
|
|||
This adds about 600 bytes.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BRCTL_SHOW
|
||||
bool "Support show, showmac and showstp"
|
||||
bool "Support show"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_BRCTL && BUSYBOX_CONFIG_FEATURE_BRCTL_FANCY
|
||||
help
|
||||
Add support for option which prints the current config:
|
||||
showmacs, showstp, show
|
||||
show
|
||||
|
||||
config BUSYBOX_CONFIG_DNSD
|
||||
bool "dnsd"
|
||||
|
@ -93,6 +93,19 @@ config BUSYBOX_CONFIG_FAKEIDENTD
|
|||
fakeidentd listens on the ident port and returns a predefined
|
||||
fake value on any query.
|
||||
|
||||
config BUSYBOX_CONFIG_FTPD
|
||||
bool "ftpd"
|
||||
default n
|
||||
help
|
||||
simple FTP daemon. You have to run it via inetd.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FTP_WRITE
|
||||
bool "Enable upload commands"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FTPD
|
||||
help
|
||||
Enable all kinds of FTP upload commands (-w option)
|
||||
|
||||
config BUSYBOX_CONFIG_FTPGET
|
||||
bool "ftpget"
|
||||
default n
|
||||
|
@ -827,7 +840,7 @@ config BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE
|
|||
config BUSYBOX_CONFIG_TFTP_DEBUG
|
||||
bool "Enable debug"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TFTP
|
||||
depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
|
||||
help
|
||||
Enable debug settings for tftp. This is useful if you're running
|
||||
into problems with tftp as the protocol doesn't help you much when
|
||||
|
@ -844,7 +857,7 @@ config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_VERBOSE
|
|||
default y
|
||||
depends on BUSYBOX_CONFIG_TRACEROUTE
|
||||
help
|
||||
Add some verbosity to traceroute. This includes amongst other things
|
||||
Add some verbosity to traceroute. This includes among other things
|
||||
hostnames and ICMP response types.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
|
||||
|
@ -860,10 +873,19 @@ config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_USE_ICMP
|
|||
default n
|
||||
depends on BUSYBOX_CONFIG_TRACEROUTE
|
||||
help
|
||||
Add feature to allow for ICMP ECHO instead of UDP datagrams.
|
||||
Add option -I to use ICMP ECHO instead of UDP datagrams.
|
||||
|
||||
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
|
||||
help
|
||||
Command line options to pass to udhcpc from ifup.
|
||||
Intended to alter options not available in /etc/network/interfaces.
|
||||
(IE: --syslog --background etc...)
|
||||
|
||||
config BUSYBOX_CONFIG_VCONFIG
|
||||
bool "vconfig"
|
||||
default y
|
||||
|
@ -917,6 +939,20 @@ config BUSYBOX_CONFIG_TCPSVD
|
|||
tcpsvd listens on a TCP port and runs a program for each new
|
||||
connection.
|
||||
|
||||
config BUSYBOX_CONFIG_TUNCTL
|
||||
bool "tunctl"
|
||||
default n
|
||||
help
|
||||
tunctl creates or deletes tun devices.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TUNCTL_UG
|
||||
bool "Support owner:group assignment"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TUNCTL
|
||||
help
|
||||
Allow to specify owner and group of newly created interface.
|
||||
340 bytes of pure bloat. Say no here.
|
||||
|
||||
config BUSYBOX_CONFIG_UDPSVD
|
||||
bool "udpsvd"
|
||||
default n
|
||||
|
|
|
@ -84,22 +84,6 @@ config BUSYBOX_CONFIG_ASH_ALIAS
|
|||
help
|
||||
Enable alias support in the ash shell.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_MATH_SUPPORT
|
||||
bool "Posix math support"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable math support in the ash shell.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_MATH_SUPPORT_64
|
||||
bool "Extend Posix math support to 64 bit"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_ASH_MATH_SUPPORT
|
||||
help
|
||||
Enable 64-bit math support in the ash shell. This will make
|
||||
the shell slightly larger, but will allow computation with very
|
||||
large numbers.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_GETOPTS
|
||||
bool "Builtin getopt to parse positional parameters"
|
||||
default y
|
||||
|
@ -152,14 +136,14 @@ config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
|
|||
Compile ash for reduced size at the price of speed.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
|
||||
bool "Pseudorandom generator and variable $RANDOM"
|
||||
bool "Pseudorandom generator and $RANDOM variable"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable pseudorandom generator and dynamic variable "$RANDOM".
|
||||
Each read of "$RANDOM" will generate a new pseudorandom value.
|
||||
You can reset the generator by using a specified start value.
|
||||
After "unset RANDOM" then generator will switch off and this
|
||||
After "unset RANDOM" the generator will switch off and this
|
||||
variable will no longer have special treatment.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
|
||||
|
@ -167,7 +151,7 @@ config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
|
|||
default y
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
"PS#" may be contain volatile content, such as backquote commands.
|
||||
"PS#" may contain volatile content, such as backquote commands.
|
||||
This option recreates the prompt string from the environment
|
||||
variable each time it is displayed.
|
||||
|
||||
|
@ -175,16 +159,15 @@ config BUSYBOX_CONFIG_HUSH
|
|||
bool "hush"
|
||||
default n
|
||||
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
|
||||
options such as if/then/elif/else/fi, for/in/do/done, while loops,
|
||||
case/esac.
|
||||
hush is a small shell (22k). It handles the normal flow control
|
||||
constructs such as if/then/elif/else/fi, for/in/do/done, while loops,
|
||||
case/esac. Redirections, here documents, $((arithmetic))
|
||||
and functions are supported.
|
||||
|
||||
It uses only vfork, so it can be used on uClinux systems.
|
||||
It will compile and work on no-mmu systems.
|
||||
|
||||
It does not handle select, functions, here documents ( <<
|
||||
word ), arithmetic expansion, aliases, brace expansion, tilde
|
||||
expansion, &> and >& redirection of stdout+stderr, etc.
|
||||
It does not handle select, aliases, brace expansion,
|
||||
tilde expansion, &>file and >&file redirection of stdout+stderr.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_HELP
|
||||
bool "help builtin"
|
||||
|
@ -234,7 +217,6 @@ config BUSYBOX_CONFIG_HUSH_LOOPS
|
|||
depends on BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
Enable for, while and until loops in hush.
|
||||
As of 2008-07, break and continue statements are not supported.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_CASE
|
||||
bool "Support case ... esac statement"
|
||||
|
@ -243,27 +225,54 @@ config BUSYBOX_CONFIG_HUSH_CASE
|
|||
help
|
||||
Enable case ... esac statement in hush. +400 bytes.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_FUNCTIONS
|
||||
bool "Support funcname() { commands; } syntax"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
Enable support for shell functions in hush. +800 bytes.
|
||||
|
||||
config BUSYBOX_CONFIG_LASH
|
||||
bool "lash"
|
||||
bool "lash (deprecated: aliased to hush)"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
lash is deprecated and will be removed, please migrate to hush.
|
||||
|
||||
config BUSYBOX_CONFIG_MSH
|
||||
bool "msh"
|
||||
bool "msh (deprecated: please use hush)"
|
||||
default n
|
||||
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
|
||||
shell to do. It is not always pedantically correct about Bourne
|
||||
shell grammar (try running the shell testscript "tests/sh.testcases"
|
||||
on it and compare vs bash) but for most things it works quite well.
|
||||
It uses only vfork, so it can be used on uClinux systems.
|
||||
msh is deprecated and will be removed, please migrate to hush.
|
||||
If there is a feature msh has but hush does not, please let us know.
|
||||
|
||||
# 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
|
||||
# shell to do. It is not always pedantically correct about Bourne
|
||||
# shell grammar (try running the shell testscript "tests/sh.testcases"
|
||||
# on it and compare vs bash) but for most things it works quite well.
|
||||
# It uses only vfork, so it can be used on uClinux systems.
|
||||
|
||||
|
||||
comment "Bourne Shell Options"
|
||||
depends on BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
|
||||
|
||||
config BUSYBOX_CONFIG_SH_MATH_SUPPORT
|
||||
bool "POSIX math support"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
Enable math support in the shell via $((...)) syntax.
|
||||
|
||||
config BUSYBOX_CONFIG_SH_MATH_SUPPORT_64
|
||||
bool "Extend POSIX math support to 64 bit"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_SH_MATH_SUPPORT
|
||||
help
|
||||
Enable 64-bit math support in the shell. This will make the shell
|
||||
slightly larger, but will allow computation with very large numbers.
|
||||
This is not in POSIX, so do not rely on this in portable code.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET
|
||||
bool "Hide message on interactive shell startup"
|
||||
default n
|
||||
|
|
|
@ -5,6 +5,28 @@
|
|||
|
||||
menu "Linux System Utilities"
|
||||
|
||||
config BUSYBOX_CONFIG_ACPID
|
||||
bool "acpid"
|
||||
default n
|
||||
help
|
||||
acpid listens to ACPI events coming either in textual form from
|
||||
/proc/acpi/event (though it is marked deprecated it is still widely
|
||||
used and _is_ a standard) or in binary form from specified evdevs
|
||||
(just use /dev/input/event*).
|
||||
|
||||
It parses the event to retrieve ACTION and a possible PARAMETER.
|
||||
It then spawns /etc/acpi/<ACTION>[/<PARAMETER>] either via run-parts
|
||||
(if the resulting path is a directory) or directly as an executable.
|
||||
|
||||
N.B. acpid relies on run-parts so have the latter installed.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_ACPID_COMPAT
|
||||
bool "Accept and ignore redundant options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_ACPID
|
||||
help
|
||||
Accept and ignore compatibility options -g -m -s -S -v.
|
||||
|
||||
config BUSYBOX_CONFIG_BLKID
|
||||
bool "blkid"
|
||||
default n
|
||||
|
@ -211,6 +233,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_VFAT
|
||||
bool "mkfs_vfat"
|
||||
default n
|
||||
help
|
||||
Utility to create FAT32 filesystems.
|
||||
|
||||
config BUSYBOX_CONFIG_GETOPT
|
||||
bool "getopt"
|
||||
default n
|
||||
|
|
|
@ -1,20 +1,15 @@
|
|||
--- a/init/init.c
|
||||
+++ b/init/init.c
|
||||
@@ -497,12 +497,11 @@ static void run_actions(int action_type)
|
||||
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);
|
||||
@@ -451,8 +451,11 @@ static void run_actions(int action_type)
|
||||
/* Only run stuff with pid == 0. If pid != 0,
|
||||
* it is already running
|
||||
*/
|
||||
- if (a->pid == 0)
|
||||
+ if (a->pid == 0) {
|
||||
+ if (a->terminal && access(a->terminal, R_OK | W_OK))
|
||||
+ continue;
|
||||
a->pid = run(a);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/networking/brctl.c
|
||||
+++ b/networking/brctl.c
|
||||
@@ -90,7 +90,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
|
||||
@@ -104,7 +104,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
|
||||
"setageing\0" "setfd\0" "sethello\0" "setmaxage\0"
|
||||
"setpathcost\0" "setportprio\0" "setbridgeprio\0"
|
||||
)
|
||||
|
@ -9,7 +9,7 @@
|
|||
|
||||
enum { ARG_addbr = 0, ARG_delbr, ARG_addif, ARG_delif
|
||||
USE_FEATURE_BRCTL_FANCY(,
|
||||
@@ -98,7 +98,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
|
||||
@@ -112,7 +112,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
|
||||
ARG_setageing, ARG_setfd, ARG_sethello, ARG_setmaxage,
|
||||
ARG_setpathcost, ARG_setportprio, ARG_setbridgeprio
|
||||
)
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
--- a/networking/wget.c
|
||||
+++ b/networking/wget.c
|
||||
@@ -443,7 +443,7 @@ int wget_main(int argc UNUSED_PARAM, cha
|
||||
@@ -485,7 +485,7 @@ int wget_main(int argc UNUSED_PARAM, cha
|
||||
// "tries\0" Required_argument "t"
|
||||
// "timeout\0" Required_argument "T"
|
||||
/* Ignored (we always use PASV): */
|
||||
- "passive-ftp\0" No_argument "\xff"
|
||||
+ "passive-ftp\0" No_argument "\xfd"
|
||||
"header\0" Required_argument "\xfe"
|
||||
"post-data\0" Required_argument "\xfd"
|
||||
;
|
||||
#endif
|
||||
|
|
|
@ -3,20 +3,20 @@
|
|||
@@ -24,7 +24,7 @@
|
||||
|
||||
|
||||
#ifndef CRONTABS
|
||||
-#define CRONTABS "/var/spool/cron/crontabs"
|
||||
#define TMPDIR CONFIG_FEATURE_CROND_DIR
|
||||
-#define CRONTABS CONFIG_FEATURE_CROND_DIR "/crontabs"
|
||||
+#define CRONTABS "/etc/crontabs"
|
||||
#ifndef SENDMAIL
|
||||
#define SENDMAIL "sendmail"
|
||||
#endif
|
||||
#ifndef TMPDIR
|
||||
#define TMPDIR "/var/spool/cron"
|
||||
--- a/miscutils/crontab.c
|
||||
+++ b/miscutils/crontab.c
|
||||
@@ -13,7 +13,7 @@
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
#include "libbb.h"
|
||||
|
||||
#ifndef CRONTABS
|
||||
-#define CRONTABS "/var/spool/cron/crontabs"
|
||||
-#define CRONTABS CONFIG_FEATURE_CROND_DIR "/crontabs"
|
||||
+#define CRONTABS "/etc/crontabs"
|
||||
#endif
|
||||
#ifndef CRONUPDATE
|
||||
#define CRONUPDATE "cron.update"
|
||||
#endif
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/networking/udhcp/dhcpc.c
|
||||
+++ b/networking/udhcp/dhcpc.c
|
||||
@@ -353,7 +353,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
|
||||
@@ -363,7 +363,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
|
||||
|
||||
switch (state) {
|
||||
case INIT_SELECTING:
|
||||
|
@ -9,7 +9,7 @@
|
|||
if (packet_num == 0)
|
||||
xid = random_xid();
|
||||
|
||||
@@ -384,7 +384,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
|
||||
@@ -394,7 +394,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
|
||||
continue;
|
||||
case RENEW_REQUESTED:
|
||||
case REQUESTING:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/networking/udhcp/packet.c
|
||||
+++ b/networking/udhcp/packet.c
|
||||
@@ -114,6 +114,10 @@ uint16_t FAST_FUNC udhcp_checksum(void *
|
||||
@@ -120,6 +120,10 @@ uint16_t FAST_FUNC udhcp_checksum(void *
|
||||
return ~sum;
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
|||
|
||||
/* Construct a ip/udp header for a packet, send packet */
|
||||
int FAST_FUNC udhcp_send_raw_packet(struct dhcpMessage *payload,
|
||||
@@ -126,11 +130,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
|
||||
@@ -132,11 +136,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
|
||||
int fd;
|
||||
int result = -1;
|
||||
const char *msg;
|
||||
|
@ -24,7 +24,7 @@
|
|||
|
||||
fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP));
|
||||
if (fd < 0) {
|
||||
@@ -140,7 +140,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
|
||||
@@ -146,7 +146,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
|
||||
|
||||
memset(&dest, 0, sizeof(dest));
|
||||
memset(&packet, 0, sizeof(packet));
|
||||
|
@ -33,7 +33,7 @@
|
|||
|
||||
dest.sll_family = AF_PACKET;
|
||||
dest.sll_protocol = htons(ETH_P_IP);
|
||||
@@ -157,23 +157,18 @@ int FAST_FUNC udhcp_send_raw_packet(stru
|
||||
@@ -163,23 +163,18 @@ int FAST_FUNC udhcp_send_raw_packet(stru
|
||||
packet.ip.daddr = dest_ip;
|
||||
packet.udp.source = htons(source_port);
|
||||
packet.udp.dest = htons(dest_port);
|
||||
|
@ -63,7 +63,7 @@
|
|||
(struct sockaddr *) &dest, sizeof(dest));
|
||||
msg = "sendto";
|
||||
ret_close:
|
||||
@@ -225,8 +220,7 @@ int FAST_FUNC udhcp_send_kernel_packet(s
|
||||
@@ -231,8 +226,7 @@ int FAST_FUNC udhcp_send_kernel_packet(s
|
||||
goto ret_close;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
--- a/networking/udhcp/dhcpc.c
|
||||
+++ b/networking/udhcp/dhcpc.c
|
||||
@@ -320,6 +320,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
|
||||
for (;;) {
|
||||
unsigned timestamp_before_wait;
|
||||
@@ -327,6 +327,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
|
||||
/* silence "uninitialized!" warning */
|
||||
unsigned timestamp_before_wait = 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
|
||||
|
@ -10,6 +10,6 @@
|
|||
+ * Workaround: refresh it here before processing the next packet */
|
||||
+ udhcp_read_interface(client_config.interface, &client_config.ifindex, NULL, client_config.arp);
|
||||
+
|
||||
if (listen_mode != LISTEN_NONE && sockfd < 0) {
|
||||
if (listen_mode == LISTEN_KERNEL)
|
||||
sockfd = udhcp_listen_socket(/*INADDR_ANY,*/ CLIENT_PORT, client_config.interface);
|
||||
//bb_error_msg("sockfd:%d, listen_mode:%d", sockfd, listen_mode);
|
||||
|
||||
/* Was opening raw or udp socket here
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/networking/udhcp/options.c
|
||||
+++ b/networking/udhcp/options.c
|
||||
@@ -46,6 +46,7 @@ const struct dhcp_option dhcp_options[]
|
||||
@@ -48,6 +48,7 @@ const struct dhcp_option dhcp_options[]
|
||||
#if ENABLE_FEATURE_UDHCP_RFC3397
|
||||
{ OPTION_STR1035 | OPTION_LIST , 0x77 }, /* search */
|
||||
#endif
|
||||
|
@ -8,7 +8,7 @@
|
|||
/* MSIE's "Web Proxy Autodiscovery Protocol" support */
|
||||
{ OPTION_STRING , 0xfc }, /* wpad */
|
||||
|
||||
@@ -95,6 +96,7 @@ const char dhcp_option_strings[] ALIGN1
|
||||
@@ -97,6 +98,7 @@ const char dhcp_option_strings[] ALIGN1
|
||||
#if ENABLE_FEATURE_UDHCP_RFC3397
|
||||
"search" "\0"
|
||||
#endif
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/shell/ash.c
|
||||
+++ b/shell/ash.c
|
||||
@@ -12159,8 +12159,17 @@ exportcmd(int argc UNUSED_PARAM, char **
|
||||
@@ -12273,8 +12273,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) {
|
||||
@@ -12172,10 +12181,12 @@ exportcmd(int argc UNUSED_PARAM, char **
|
||||
@@ -12286,10 +12295,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
|
||||
@@ -263,6 +263,7 @@ USE_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_
|
||||
@@ -271,6 +271,7 @@ USE_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_
|
||||
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))
|
||||
|
@ -10,7 +10,7 @@
|
|||
USE_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
|
||||
--- a/include/usage.h
|
||||
+++ b/include/usage.h
|
||||
@@ -2849,6 +2849,9 @@
|
||||
@@ -3010,6 +3010,9 @@
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
|||
#define netstat_full_usage "\n\n" \
|
||||
--- a/networking/Config.in
|
||||
+++ b/networking/Config.in
|
||||
@@ -603,6 +603,12 @@ config NC
|
||||
@@ -600,6 +600,12 @@ config NC
|
||||
A simple Unix utility which reads and writes data across network
|
||||
connections.
|
||||
|
||||
|
@ -37,7 +37,7 @@
|
|||
default n
|
||||
--- a/networking/Kbuild
|
||||
+++ b/networking/Kbuild
|
||||
@@ -23,6 +23,7 @@ lib-$(CONFIG_IP) += ip.o
|
||||
@@ -24,6 +24,7 @@ lib-$(CONFIG_IP) += ip.o
|
||||
lib-$(CONFIG_IPCALC) += ipcalc.o
|
||||
lib-$(CONFIG_NAMEIF) += nameif.o
|
||||
lib-$(CONFIG_NC) += nc.o
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
--- a/networking/httpd.c
|
||||
+++ b/networking/httpd.c
|
||||
@@ -1713,21 +1713,32 @@ static int check_user_passwd(const char
|
||||
@@ -1699,21 +1699,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
|
||||
@@ -223,6 +223,7 @@ USE_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN
|
||||
@@ -228,6 +228,7 @@ USE_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN
|
||||
USE_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
|
||||
USE_LOADFONT(APPLET(loadfont, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
|
||||
USE_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_NEVER))
|
||||
|
@ -10,7 +10,7 @@
|
|||
USE_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_NEVER, logname))
|
||||
--- a/include/usage.h
|
||||
+++ b/include/usage.h
|
||||
@@ -2150,6 +2150,9 @@
|
||||
@@ -2246,6 +2246,9 @@
|
||||
#define loadkmap_example_usage \
|
||||
"$ loadkmap < /etc/i18n/lang-keymap\n"
|
||||
|
||||
|
@ -22,9 +22,9 @@
|
|||
#define logger_full_usage "\n\n" \
|
||||
--- a/miscutils/Config.in
|
||||
+++ b/miscutils/Config.in
|
||||
@@ -395,6 +395,12 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
|
||||
@@ -420,6 +420,12 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
|
||||
help
|
||||
Enables the 'hdparm -d' option to get/set using_dma flag.
|
||||
This is dangerous stuff, so you should probably say N.
|
||||
|
||||
+config LOCK
|
||||
+ bool "lock"
|
||||
|
@ -37,7 +37,7 @@
|
|||
default n
|
||||
--- a/miscutils/Kbuild
|
||||
+++ b/miscutils/Kbuild
|
||||
@@ -21,6 +21,7 @@ lib-$(CONFIG_INOTIFYD) += inotifyd.o
|
||||
@@ -23,6 +23,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
|
||||
@@ -1558,7 +1558,8 @@
|
||||
@@ -1638,7 +1638,8 @@
|
||||
USE_FEATURE_HTTPD_BASIC_AUTH(" [-r realm]") \
|
||||
USE_FEATURE_HTTPD_AUTH_MD5(" [-m pass]") \
|
||||
" [-h home]" \
|
||||
|
@ -10,7 +10,7 @@
|
|||
#define httpd_full_usage "\n\n" \
|
||||
"Listen for incoming HTTP requests\n" \
|
||||
"\nOptions:" \
|
||||
@@ -1576,6 +1577,8 @@
|
||||
@@ -1656,6 +1657,8 @@
|
||||
"\n -h HOME Home directory (default .)" \
|
||||
"\n -e STRING HTML encode STRING" \
|
||||
"\n -d STRING URL decode STRING" \
|
||||
|
@ -30,7 +30,7 @@
|
|||
Htaccess_IP *ip_a_d; /* config allow/deny lines */
|
||||
|
||||
USE_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
|
||||
@@ -295,6 +297,8 @@ struct globals {
|
||||
@@ -294,6 +296,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)
|
||||
|
@ -39,7 +39,7 @@
|
|||
#define last_mod (G.last_mod )
|
||||
#define ip_a_d (G.ip_a_d )
|
||||
#define g_realm (G.g_realm )
|
||||
@@ -1003,8 +1007,11 @@ static void send_headers(int responseNum
|
||||
@@ -993,8 +997,11 @@ static void send_headers(int responseNum
|
||||
}
|
||||
#endif
|
||||
if (responseNum == HTTP_MOVED_TEMPORARILY) {
|
||||
|
@ -52,7 +52,7 @@
|
|||
(g_query ? "?" : ""),
|
||||
(g_query ? g_query : ""));
|
||||
}
|
||||
@@ -1939,8 +1946,12 @@ static void handle_incoming_and_exit(con
|
||||
@@ -1924,8 +1931,12 @@ static void handle_incoming_and_exit(con
|
||||
} while (*++tptr);
|
||||
*++urlp = '\0'; /* terminate after last character */
|
||||
|
||||
|
@ -66,8 +66,8 @@
|
|||
if (is_directory(urlcopy + 1, 1, &sb)) {
|
||||
found_moved_temporarily = urlcopy;
|
||||
}
|
||||
@@ -2293,7 +2304,9 @@ static void sighup_handler(int sig)
|
||||
#endif
|
||||
@@ -2266,7 +2277,9 @@ static void sighup_handler(int sig UNUSE
|
||||
}
|
||||
|
||||
enum {
|
||||
- c_opt_config_file = 0,
|
||||
|
@ -77,7 +77,7 @@
|
|||
d_opt_decode_url,
|
||||
h_opt_home_httpd,
|
||||
USE_FEATURE_HTTPD_ENCODE_URL_STR(e_opt_encode_url,)
|
||||
@@ -2342,12 +2355,13 @@ int httpd_main(int argc UNUSED_PARAM, ch
|
||||
@@ -2315,12 +2328,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. */
|
||||
|
@ -89,6 +89,6 @@
|
|||
USE_FEATURE_HTTPD_SETUID("u:")
|
||||
"p:ifv",
|
||||
+ &redirect_path, &redirect_host,
|
||||
&configFile, &url_for_decode, &home_httpd
|
||||
&opt_c_configFile, &url_for_decode, &home_httpd
|
||||
USE_FEATURE_HTTPD_ENCODE_URL_STR(, &url_for_encode)
|
||||
USE_FEATURE_HTTPD_BASIC_AUTH(, &g_realm)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/networking/httpd.c
|
||||
+++ b/networking/httpd.c
|
||||
@@ -1259,10 +1259,10 @@ static NOINLINE void cgi_io_loop_and_exi
|
||||
@@ -1250,10 +1250,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
|
||||
@@ -1824,6 +1824,7 @@ static void handle_incoming_and_exit(con
|
||||
@@ -1810,6 +1810,7 @@ static void handle_incoming_and_exit(con
|
||||
char *header_ptr = header_ptr;
|
||||
Htaccess_Proxy *proxy_entry;
|
||||
#endif
|
||||
|
|
|
@ -100,7 +100,7 @@
|
|||
|
||||
int insmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
||||
int insmod_main(int argc UNUSED_PARAM, char **argv)
|
||||
@@ -25,9 +118,14 @@ int insmod_main(int argc UNUSED_PARAM, c
|
||||
@@ -33,9 +126,15 @@ int insmod_main(int argc UNUSED_PARAM, c
|
||||
if (!filename)
|
||||
bb_show_usage();
|
||||
|
||||
|
@ -111,9 +111,20 @@
|
|||
+
|
||||
+ rc = bb_init_module(g_filename, parse_cmdline_module_options(argv));
|
||||
if (rc)
|
||||
bb_error_msg("cannot insert '%s': %s", filename, moderror(rc));
|
||||
-
|
||||
bb_error_msg("can't insert '%s': %s", filename, moderror(rc));
|
||||
+ free (g_filename);
|
||||
|
||||
+done:
|
||||
return rc;
|
||||
}
|
||||
--- a/modutils/Config.in
|
||||
+++ b/modutils/Config.in
|
||||
@@ -211,7 +211,7 @@ config FEATURE_MODUTILS_SYMBOLS
|
||||
config DEFAULT_MODULES_DIR
|
||||
string "Default directory containing modules"
|
||||
default "/lib/modules"
|
||||
- depends on DEPMOD || MODPROBE || MODPROBE_SMALL
|
||||
+ depends on DEPMOD || INSMOD || MODPROBE || MODPROBE_SMALL
|
||||
help
|
||||
Directory that contains kernel modules.
|
||||
Defaults to "/lib/modules"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
--- a/util-linux/mount.c
|
||||
+++ b/util-linux/mount.c
|
||||
@@ -42,6 +42,10 @@
|
||||
#define MS_DIRSYNC 128 /* Directory modifications are synchronous */
|
||||
#define MS_DIRSYNC 128 // Directory modifications are synchronous
|
||||
#endif
|
||||
|
||||
+#ifndef MS_UNION
|
||||
|
@ -10,8 +10,8 @@
|
|||
+
|
||||
|
||||
#if defined(__dietlibc__)
|
||||
/* 16.12.2006, Sampo Kellomaki (sampo@iki.fi)
|
||||
@@ -152,6 +156,7 @@
|
||||
// 16.12.2006, Sampo Kellomaki (sampo@iki.fi)
|
||||
@@ -152,6 +156,7 @@ static const int32_t mount_options[] = {
|
||||
/* "rslave" */ MS_SLAVE|MS_RECURSIVE,
|
||||
/* "rprivate" */ MS_SLAVE|MS_RECURSIVE,
|
||||
/* "runbindable" */ MS_UNBINDABLE|MS_RECURSIVE,
|
||||
|
@ -19,10 +19,10 @@
|
|||
)
|
||||
|
||||
// Always understood.
|
||||
@@ -206,6 +211,7 @@
|
||||
"rslave" "\0"
|
||||
"rprivate" "\0"
|
||||
"runbindable" "\0"
|
||||
@@ -206,6 +211,7 @@ static const char mount_option_str[] =
|
||||
"rslave\0"
|
||||
"rprivate\0"
|
||||
"runbindable\0"
|
||||
+ "union" "\0"
|
||||
)
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
} func;
|
||||
|
||||
/* I/O stream */
|
||||
@@ -1423,7 +1428,8 @@ static void parse_program(char *p)
|
||||
@@ -1420,7 +1425,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);
|
||||
@@ -1432,7 +1438,7 @@ static void parse_program(char *p)
|
||||
@@ -1429,7 +1435,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);
|
||||
|
||||
@@ -2397,7 +2403,8 @@ static var *evaluate(node *op, var *res)
|
||||
@@ -2408,7 +2414,8 @@ static var *evaluate(node *op, var *res)
|
||||
break;
|
||||
|
||||
case XC( OC_FUNC ):
|
||||
|
@ -44,7 +44,7 @@
|
|||
syntax_error(EMSG_UNDEF_FUNC);
|
||||
|
||||
X.v = R.v = nvalloc(op->r.f->nargs+1);
|
||||
@@ -2414,7 +2421,10 @@ static var *evaluate(node *op, var *res)
|
||||
@@ -2425,7 +2432,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);
|
||||
@@ -2777,6 +2787,143 @@ static rstream *next_input_file(void)
|
||||
@@ -2788,6 +2798,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)
|
||||
{
|
||||
@@ -2842,6 +2989,9 @@ int awk_main(int argc, char **argv)
|
||||
@@ -2853,6 +3000,9 @@ int awk_main(int argc, char **argv)
|
||||
*s1 = '=';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/networking/udhcp/dhcpc.c
|
||||
+++ b/networking/udhcp/dhcpc.c
|
||||
@@ -63,7 +63,6 @@ static void perform_renew(void)
|
||||
@@ -69,7 +69,6 @@ static void perform_renew(void)
|
||||
state = RENEW_REQUESTED;
|
||||
break;
|
||||
case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
--- a/miscutils/watchdog.c
|
||||
+++ b/miscutils/watchdog.c
|
||||
@@ -10,7 +10,8 @@
|
||||
*/
|
||||
|
||||
#include "libbb.h"
|
||||
-#include "linux/watchdog.h"
|
||||
+#include <linux/types.h>
|
||||
+#include <linux/watchdog.h>
|
||||
|
||||
#define OPT_FOREGROUND (1 << 0)
|
||||
#define OPT_STIMER (1 << 1)
|
|
@ -1,6 +1,6 @@
|
|||
--- a/networking/brctl.c
|
||||
+++ b/networking/brctl.c
|
||||
@@ -34,8 +34,9 @@ static ALWAYS_INLINE void strtotimeval(s
|
||||
@@ -48,8 +48,9 @@ static ALWAYS_INLINE void strtotimeval(s
|
||||
{
|
||||
double secs;
|
||||
#if BRCTL_USE_INTERNAL
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/networking/brctl.c
|
||||
+++ b/networking/brctl.c
|
||||
@@ -18,7 +18,7 @@
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
/* Maximum number of ports supported per bridge interface. */
|
||||
#ifndef MAX_PORTS
|
||||
|
@ -9,7 +9,7 @@
|
|||
#endif
|
||||
|
||||
/* Use internal number parsing and not the "exact" conversion. */
|
||||
@@ -155,6 +155,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
|
||||
@@ -169,6 +169,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
|
||||
printf(bi.stp_enabled ? "\tyes" : "\tno");
|
||||
|
||||
/* print interface list */
|
||||
|
@ -17,7 +17,7 @@
|
|||
arm_ioctl(args, BRCTL_GET_PORT_LIST,
|
||||
(unsigned long) ifidx, MAX_PORTS);
|
||||
xioctl(fd, SIOCDEVPRIVATE, &ifr);
|
||||
@@ -183,9 +184,19 @@ int brctl_main(int argc UNUSED_PARAM, ch
|
||||
@@ -197,9 +198,19 @@ int brctl_main(int argc UNUSED_PARAM, ch
|
||||
br = *argv++;
|
||||
|
||||
if (key == ARG_addbr || key == ARG_delbr) { /* addbr or delbr */
|
||||
|
@ -40,9 +40,9 @@
|
|||
goto done;
|
||||
}
|
||||
|
||||
@@ -194,14 +205,27 @@ int brctl_main(int argc UNUSED_PARAM, ch
|
||||
@@ -208,14 +219,27 @@ int brctl_main(int argc UNUSED_PARAM, ch
|
||||
|
||||
strncpy(ifr.ifr_name, br, IFNAMSIZ);
|
||||
strncpy_IFNAMSIZ(ifr.ifr_name, br);
|
||||
if (key == ARG_addif || key == ARG_delif) { /* addif or delif */
|
||||
+ int ret;
|
||||
+ int if_index;
|
||||
|
|
|
@ -19,7 +19,7 @@ Signed-off-by: Nicolas Thill <nico@openwrt.org>
|
|||
#endif
|
||||
#endif
|
||||
#endif
|
||||
@@ -86,7 +88,11 @@ static int get_groups(const char *userna
|
||||
@@ -82,7 +84,11 @@ static int get_groups(const char *userna
|
||||
/* If the user is a member of more than
|
||||
* *n groups, then -1 is returned. Otherwise >= 0.
|
||||
* (and no defined way of detecting errors?!) */
|
||||
|
@ -31,7 +31,7 @@ Signed-off-by: Nicolas Thill <nico@openwrt.org>
|
|||
/* I guess *n < 0 might indicate error. Anyway,
|
||||
* malloc'ing -1 bytes won't be good, so: */
|
||||
//if (*n < 0)
|
||||
@@ -160,6 +166,7 @@ int id_main(int argc UNUSED_PARAM, char
|
||||
@@ -154,6 +160,7 @@ int id_main(int argc UNUSED_PARAM, char
|
||||
if (egid != rgid)
|
||||
status |= print_group(egid, " ");
|
||||
}
|
||||
|
@ -39,7 +39,7 @@ Signed-off-by: Nicolas Thill <nico@openwrt.org>
|
|||
/* We are supplying largish buffer, trying
|
||||
* to not run get_groups() twice. That might be slow
|
||||
* ("user database in remote SQL server" case) */
|
||||
@@ -187,6 +194,7 @@ int id_main(int argc UNUSED_PARAM, char
|
||||
@@ -181,6 +188,7 @@ int id_main(int argc UNUSED_PARAM, char
|
||||
}
|
||||
if (ENABLE_FEATURE_CLEAN_UP)
|
||||
free(groups);
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
--- a/coreutils/df.c
|
||||
+++ b/coreutils/df.c
|
||||
@@ -53,8 +53,8 @@ int df_main(int argc, char **argv)
|
||||
OPT_ALL = (1 << 2) * ENABLE_FEATURE_DF_FANCY,
|
||||
OPT_INODE = (1 << 3) * ENABLE_FEATURE_DF_FANCY,
|
||||
OPT_BSIZE = (1 << 4) * ENABLE_FEATURE_DF_FANCY,
|
||||
- OPT_HUMAN = (1 << 5) * ENABLE_FEATURE_HUMAN_READABLE,
|
||||
- OPT_MEGA = (1 << 6) * ENABLE_FEATURE_HUMAN_READABLE,
|
||||
+ OPT_HUMAN = (1 << (2 + 3*ENABLE_FEATURE_DF_FANCY)) * ENABLE_FEATURE_HUMAN_READABLE,
|
||||
+ OPT_MEGA = (1 << (3 + 3*ENABLE_FEATURE_DF_FANCY)) * ENABLE_FEATURE_HUMAN_READABLE,
|
||||
};
|
||||
const char *disp_units_hdr = NULL;
|
||||
char *chp;
|
Loading…
Reference in a new issue