package/busybox: add missing bits from 1.17.1 update (mostly config stuff), rename upstream patches so they're applied first

SVN-Revision: 22665
v19.07.3_mercusys_ac12_duma
Nicolas Thill 14 years ago
parent 26f323dcf5
commit 2c57634be3

@ -82,7 +82,7 @@ config BUSYBOX_CONFIG_SHOW_USAGE
config BUSYBOX_CONFIG_FEATURE_VERBOSE_USAGE
bool "Show verbose applet usage messages"
default y
select BUSYBOX_CONFIG_SHOW_USAGE
depends on BUSYBOX_CONFIG_SHOW_USAGE
help
All BusyBox applets will show more verbose help messages when
busybox is invoked with --help. This will add a lot of text to the
@ -118,7 +118,7 @@ config BUSYBOX_CONFIG_LOCALE_SUPPORT
Enable this if your system has locale support and you would like
busybox to support locale settings.
config BUSYBOX_CONFIG_FEATURE_ASSUME_UNICODE
config BUSYBOX_CONFIG_UNICODE_SUPPORT
bool "Support Unicode"
default n
help
@ -130,16 +130,109 @@ config BUSYBOX_CONFIG_FEATURE_ASSUME_UNICODE
Probably by the time when busybox will be fully Unicode-clean,
other encodings will be mainly of historic interest.
config BUSYBOX_CONFIG_UNICODE_USING_LOCALE
bool "Use libc routines for Unicode (else uses internal ones)"
default n
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && BUSYBOX_CONFIG_LOCALE_SUPPORT
help
With this option on, Unicode support is implemented using libc
routines. Otherwise, internal implementation is used.
config BUSYBOX_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV
bool "Check $LANG environment variable"
default n
depends on BUSYBOX_CONFIG_FEATURE_ASSUME_UNICODE && !BUSYBOX_CONFIG_LOCALE_SUPPORT
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
help
With this option on, Unicode support is activated
only if LANG variable has the value of the form "xxxx.utf8"
Otherwise, Unicode support will be always enabled and active.
config BUSYBOX_CONFIG_SUBST_WCHAR
int "Character code to substitute unprintable characters with"
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
default 63
help
Typical values are 63 for '?' (works with any output device),
30 for ASCII substitute control code,
65533 (0xfffd) for Unicode replacement character.
config BUSYBOX_CONFIG_LAST_SUPPORTED_WCHAR
int "Range of supported Unicode characters"
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
default 767
help
Any character with Unicode value bigger than this is assumed
to be non-printable on output device. Many applets replace
such chars with substitution character.
The idea is that many valid printable Unicode chars are
nevertheless are not displayed correctly. Think about
combining charachers, double-wide hieroglyphs, obscure
characters in dozens of ancient scripts...
Many terminals, terminal emulators, xterms etc will fail
to handle them correctly. Choose the smallest value
which suits your needs.
Typical values are:
126 - ASCII only
767 (0x2ff) - there are no combining chars in [0..767] range
(the range includes Latin 1, Latin Ext. A and B),
code is ~700 bytes smaller for this case.
4351 (0x10ff) - there are no double-wide chars in [0..4351] range,
code is ~300 bytes smaller for this case.
12799 (0x31ff) - nearly all non-ideographic characters are
available in [0..12799] range, including
East Asian scripts like katakana, hiragana, hangul,
bopomofo...
0 - off, any valid printable Unicode character will be printed.
config BUSYBOX_CONFIG_UNICODE_COMBINING_WCHARS
bool "Allow zero-width Unicode characters on output"
default n
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
help
With this option off, any Unicode char with width of 0
is substituted on output.
config BUSYBOX_CONFIG_UNICODE_WIDE_WCHARS
bool "Allow wide Unicode characters on output"
default n
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
help
With this option off, any Unicode char with width > 1
is substituted on output.
config BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
bool "Bidirectional character-aware line input"
default n
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
help
With this option on, right-to-left Unicode characters
are treated differently on input (e.g. cursor movement).
config BUSYBOX_CONFIG_UNICODE_NEUTRAL_TABLE
bool "In bidi input, support non-ASCII neutral chars too"
default n
depends on BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
help
In most cases it's enough to treat only ASCII non-letters
(i.e. punctuation, numbers and space) as characters
with neutral directionality.
With this option on, more extensive (and bigger) table
of neutral chars will be used.
config BUSYBOX_CONFIG_UNICODE_PRESERVE_BROKEN
bool "Make it possible to enter sequences of chars which are not Unicode"
default n
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
help
With this option on, invalid UTF-8 bytes are not substituted
with the selected substitution character.
For example, this means that entering 'l', 's', ' ', 0xff, [Enter]
at shell prompt will list file named 0xff (single char name
with char value 255), not file named '?'.
config BUSYBOX_CONFIG_LONG_OPTS
bool "Support for --long-options"
default y
@ -169,6 +262,26 @@ config BUSYBOX_CONFIG_FEATURE_CLEAN_UP
Don't enable this unless you have a really good reason to clean
things up manually.
config BUSYBOX_CONFIG_FEATURE_UTMP
bool "Support utmp file"
default n
help
The file /var/run/utmp is used to track who is currently logged in.
With this option on, certain applets (getty, login, telnetd etc)
will create and delete entries there.
"who" applet requires this option.
config BUSYBOX_CONFIG_FEATURE_WTMP
bool "Support wtmp file"
default n
select BUSYBOX_CONFIG_FEATURE_UTMP
help
The file /var/run/wtmp is used to track when users have logged into
and logged out of the system.
With this option on, certain applets (getty, login, telnetd etc)
will append new entries there.
"last" applet requires this option.
config BUSYBOX_CONFIG_FEATURE_PIDFILE
bool "Support writing pidfiles"
default y

@ -5,6 +5,12 @@
menu "Archival Utilities"
config BUSYBOX_CONFIG_FEATURE_SEAMLESS_XZ
bool "Make tar, rpm, modprobe etc understand .xz data"
default n
help
Make tar, rpm, modprobe etc understand .xz data.
config BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA
bool "Make tar, rpm, modprobe etc understand .lzma data"
default n
@ -62,6 +68,13 @@ config BUSYBOX_CONFIG_FEATURE_AR_LONG_FILENAMES
It supports the GNU ar long filename method which moves multiple long
filenames into a the data section of a new ar entry.
config BUSYBOX_CONFIG_FEATURE_AR_CREATE
bool "Support archive creation"
default n
depends on BUSYBOX_CONFIG_AR
help
This enables archive creation (-c and -r) with busybox ar.
config BUSYBOX_CONFIG_BUNZIP2
bool "bunzip2"
default y
@ -207,8 +220,6 @@ config BUSYBOX_CONFIG_TAR
create compressed archives. It's probably the most widely used
UNIX archive program.
if BUSYBOX_CONFIG_TAR
config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
bool "Enable archive creation"
default y
@ -220,7 +231,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
config BUSYBOX_CONFIG_FEATURE_TAR_AUTODETECT
bool "Autodetect compressed tarballs"
default n
depends on BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z || BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ || BUSYBOX_CONFIG_FEATURE_SEAMLESS_BZ2 || BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA
depends on BUSYBOX_CONFIG_TAR && (BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z || BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ || BUSYBOX_CONFIG_FEATURE_SEAMLESS_BZ2 || BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA || BUSYBOX_CONFIG_FEATURE_SEAMLESS_XZ)
help
With this option tar can automatically detect compressed
tarballs. Currently it works only on files (not pipes etc).
@ -236,7 +247,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_FROM
config BUSYBOX_CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY
bool "Support for old tar header format"
default n
depends on BUSYBOX_CONFIG_TAR
depends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_DPKG
help
This option is required to unpack archives created in
the old GNU format; help to kill this old format by
@ -245,7 +256,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY
config BUSYBOX_CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY
bool "Enable untarring of tarballs with checksums produced by buggy Sun tar"
default n
depends on BUSYBOX_CONFIG_TAR
depends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_DPKG
help
This option is required to unpack archives created by some old
version of Sun's tar (it was calculating checksum using signed
@ -255,7 +266,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY
config BUSYBOX_CONFIG_FEATURE_TAR_GNU_EXTENSIONS
bool "Support for GNU tar extensions (long filenames)"
default y
depends on BUSYBOX_CONFIG_TAR
depends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_DPKG
help
With this option busybox supports GNU long filenames and
linknames.
@ -267,6 +278,15 @@ config BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
help
Enable use of long options, increases size by about 400 Bytes
config BUSYBOX_CONFIG_FEATURE_TAR_TO_COMMAND
bool "Support for writing to an external program"
default n
depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
help
If you enable this option you'll be able to instruct tar to send
the contents of each extracted file to the standard input of an
external program.
config BUSYBOX_CONFIG_FEATURE_TAR_UNAME_GNAME
bool "Enable use of user and group names"
default n
@ -284,7 +304,13 @@ config BUSYBOX_CONFIG_FEATURE_TAR_NOPRESERVE_TIME
With this option busybox supports GNU tar -m
(do not preserve time) option.
endif #tar
config BUSYBOX_CONFIG_FEATURE_TAR_SELINUX
bool "Support for extracting SELinux labels"
default n
depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_SELINUX
help
With this option busybox supports restoring SELinux labels
when extracting files from tar archives.
config BUSYBOX_CONFIG_UNCOMPRESS
bool "uncompress"
@ -316,6 +342,28 @@ config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
This option reduces decompression time by about 25% at the cost of
a 1K bigger binary.
config BUSYBOX_CONFIG_LZMA
bool "Provide lzma alias which supports only unpacking"
default n
depends on BUSYBOX_CONFIG_UNLZMA
help
Enable this option if you want commands like "lzma -d" to work.
IOW: you'll get lzma applet, but it will always require -d option.
config BUSYBOX_CONFIG_UNXZ
bool "unxz"
default n
help
unxz is a unlzma successor.
config BUSYBOX_CONFIG_XZ
bool "Provide xz alias which supports only unpacking"
default n
depends on BUSYBOX_CONFIG_UNXZ
help
Enable this option if you want commands like "xz -d" to work.
IOW: you'll get xz applet, but it will always require -d option.
config BUSYBOX_CONFIG_UNZIP
bool "unzip"
default n

@ -12,6 +12,12 @@ config BUSYBOX_CONFIG_CHVT
This program is used to change to another terminal.
Example: chvt 4 (change to terminal /dev/tty4)
config BUSYBOX_CONFIG_FGCONSOLE
bool "fgconsole"
default n
help
This program prints active (foreground) console number.
config BUSYBOX_CONFIG_CLEAR
bool "clear"
default y
@ -135,4 +141,21 @@ config BUSYBOX_CONFIG_SHOWKEY
help
Shows keys pressed.
comment "Common options for loadfont and setfont"
depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
config BUSYBOX_CONFIG_FEATURE_LOADFONT_PSF2
bool "Support for PSF2 console fonts"
default n
depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
help
Support PSF2 console fonts.
config BUSYBOX_CONFIG_FEATURE_LOADFONT_RAW
bool "Support for old (raw) console fonts"
default n
depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
help
Support old (raw) console fonts.
endmenu

@ -12,19 +12,96 @@ config BUSYBOX_CONFIG_BASENAME
basename is used to strip the directory and suffix from filenames,
leaving just the filename itself. Enable this option if you wish
to enable the 'basename' utility.
config BUSYBOX_CONFIG_CAL
bool "cal"
default n
help
cal is used to display a monthly calender.
config BUSYBOX_CONFIG_CAT
bool "cat"
default y
help
cat is used to concatenate files and print them to the standard
output. Enable this option if you wish to enable the 'cat' utility.
config BUSYBOX_CONFIG_DATE
bool "date"
default y
help
date is used to set the system date or display the
current time in the given format.
config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
bool "Enable ISO date format output (-I)"
default y
depends on BUSYBOX_CONFIG_DATE
help
Enable option (-I) to output an ISO-8601 compliant
date/time string.
config BUSYBOX_CONFIG_FEATURE_DATE_NANO
bool "Support %[num]N nanosecond format specifier"
default n
depends on BUSYBOX_CONFIG_DATE
help
Support %[num]N format specifier. Adds ~250 bytes of code.
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_TEST
bool "test"
default y
help
test is used to check file types and compare values,
returning an appropriate exit code. The bash shell
has test built in, ash can build it in optionally.
config BUSYBOX_CONFIG_FEATURE_TEST_64
bool "Extend test to 64 bit"
default y
depends on BUSYBOX_CONFIG_TEST || BUSYBOX_CONFIG_ASH_BUILTIN_TEST || BUSYBOX_CONFIG_HUSH
help
Enable 64-bit support in test.
config BUSYBOX_CONFIG_TR
bool "tr"
default y
help
tr is used to squeeze, and/or delete characters from standard
input, writing to standard output.
config BUSYBOX_CONFIG_FEATURE_TR_CLASSES
bool "Enable character classes (such as [:upper:])"
default n
depends on BUSYBOX_CONFIG_TR
help
Enable character classes, enabling commands such as:
tr [:upper:] [:lower:] to convert input into lowercase.
config BUSYBOX_CONFIG_FEATURE_TR_EQUIV
bool "Enable equivalence classes"
default n
depends on BUSYBOX_CONFIG_TR
help
Enable equivalence classes, which essentially add the enclosed
character to the current set. For instance, tr [=a=] xyz would
replace all instances of 'a' with 'xyz'. This option is mainly
useful for cases when no other way of expressing a character
is possible.
config BUSYBOX_CONFIG_CAL
bool "cal"
default n
help
cal is used to display a monthly calender.
config BUSYBOX_CONFIG_CATV
bool "catv"
@ -100,37 +177,6 @@ config BUSYBOX_CONFIG_CUT
cut is used to print selected parts of lines from
each file to stdout.
config BUSYBOX_CONFIG_DATE
bool "date"
default y
help
date is used to set the system date or display the
current time in the given format.
config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
bool "Enable ISO date format output (-I)"
default y
depends on BUSYBOX_CONFIG_DATE
help
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
@ -183,6 +229,10 @@ config BUSYBOX_CONFIG_FEATURE_DF_FANCY
help
This option enables -a, -i and -B.
-a Show all filesystems
-i Inodes
-B <SIZE> Blocksize
config BUSYBOX_CONFIG_DIRNAME
bool "dirname"
default y
@ -682,6 +732,10 @@ config BUSYBOX_CONFIG_FEATURE_FANCY_TAIL
The options (-q, -s, and -v) are provided by GNU tail, but
are not specific in the SUSv3 standard.
-q Never output headers giving file names
-s SEC Wait SEC seconds between reads with -f
-v Always output headers giving file names
config BUSYBOX_CONFIG_TEE
bool "tee"
default y
@ -696,21 +750,6 @@ config BUSYBOX_CONFIG_FEATURE_TEE_USE_BLOCK_IO
help
Enable this option for a faster tee, at expense of size.
config BUSYBOX_CONFIG_TEST
bool "test"
default y
help
test is used to check file types and compare values,
returning an appropriate exit code. The bash shell
has test built in, ash can build it in optionally.
config BUSYBOX_CONFIG_FEATURE_TEST_64
bool "Extend test to 64 bit"
default y
depends on BUSYBOX_CONFIG_TEST || BUSYBOX_CONFIG_ASH_BUILTIN_TEST || BUSYBOX_CONFIG_HUSH
help
Enable 64-bit support in test.
config BUSYBOX_CONFIG_TOUCH
bool "touch"
default y
@ -718,32 +757,6 @@ config BUSYBOX_CONFIG_TOUCH
touch is used to create or change the access and/or
modification timestamp of specified files.
config BUSYBOX_CONFIG_TR
bool "tr"
default y
help
tr is used to squeeze, and/or delete characters from standard
input, writing to standard output.
config BUSYBOX_CONFIG_FEATURE_TR_CLASSES
bool "Enable character classes (such as [:upper:])"
default n
depends on BUSYBOX_CONFIG_TR
help
Enable character classes, enabling commands such as:
tr [:upper:] [:lower:] to convert input into lowercase.
config BUSYBOX_CONFIG_FEATURE_TR_EQUIV
bool "Enable equivalence classes"
default n
depends on BUSYBOX_CONFIG_TR
help
Enable equivalence classes, which essentially add the enclosed
character to the current set. For instance, tr [=a=] xyz would
replace all instances of 'a' with 'xyz'. This option is mainly
useful for cases when no other way of expressing a character
is possible.
config BUSYBOX_CONFIG_TRUE
bool "true"
default y
@ -817,7 +830,7 @@ config BUSYBOX_CONFIG_FEATURE_WC_LARGE
config BUSYBOX_CONFIG_WHO
bool "who"
default n
select BUSYBOX_CONFIG_FEATURE_UTMP
depends on BUSYBOX_CONFIG_FEATURE_UTMP
help
who is used to show who is logged on.

@ -81,4 +81,3 @@ config BUSYBOX_CONFIG_WHICH
print out their pathnames.
endmenu

@ -13,7 +13,7 @@ config BUSYBOX_CONFIG_CHATTR
### config E2FSCK
### bool "e2fsck"
### default n
### default y
### help
### e2fsck is used to check Linux second extended file systems (ext2fs).
### e2fsck also supports ext2 filesystems countaining a journal (ext3).
@ -36,21 +36,21 @@ config BUSYBOX_CONFIG_LSATTR
### config MKE2FS
### bool "mke2fs"
### default n
### default y
### 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.
config BUSYBOX_CONFIG_TUNE2FS
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
### default y
### depends on TUNE2FS
### help
### e2label will display or change the filesystem label on the ext2
@ -59,7 +59,7 @@ config BUSYBOX_CONFIG_LSATTR
### NB: this one is now provided by util-linux/volume_id/*
### config FINDFS
### bool "findfs"
### default n
### default y
### depends on TUNE2FS
### help
### findfs will search the disks in the system looking for a filesystem

@ -168,6 +168,18 @@ config BUSYBOX_CONFIG_FEATURE_VI_WIN_RESIZE
help
Make busybox vi behave nicely with terminals that get resized.
config BUSYBOX_CONFIG_FEATURE_VI_ASK_TERMINAL
bool "Use 'tell me cursor position' ESC sequence to measure window"
default y
depends on BUSYBOX_CONFIG_VI
help
If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
this option makes vi perform a last-ditch effort to find it:
vi positions cursor to 999,999 and asks terminal to report real
cursor position using "ESC [ 6 n" escape sequence, then reads stdin.
This is not clean but helps a lot on serial lines and such.
config BUSYBOX_CONFIG_FEATURE_VI_OPTIMIZE_CURSOR
bool "Optimize cursor movement"
default y

@ -5,6 +5,45 @@
menu "Init Utilities"
config BUSYBOX_CONFIG_BOOTCHARTD
bool "bootchartd"
default n
help
bootchartd is commonly used to profile the boot process
for the purpose of speeding it up. In this case, it is started
by the kernel as the init process. This is configured by adding
the init=/sbin/bootchartd option to the kernel command line.
It can also be used to monitor the resource usage of a specific
application or the running system in general. In this case,
bootchartd is started interactively by running bootchartd start
and stopped using bootchartd stop.
config BUSYBOX_CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER
bool "Compatible, bloated header"
default n
depends on BUSYBOX_CONFIG_BOOTCHARTD
help
Create extended header file compatible with "big" bootchartd.
"Big" bootchartd is a shell script and it dumps some
"convenient" info int the header, such as:
title = Boot chart for `hostname` (`date`)
system.uname = `uname -srvm`
system.release = `cat /etc/DISTRO-release`
system.cpu = `grep '^model name' /proc/cpuinfo | head -1` ($cpucount)
system.kernel.options = `cat /proc/cmdline`
This data is not mandatory for bootchart graph generation,
and is considered bloat. Nevertheless, this option
makes bootchartd applet to dump a subset of it.
config BUSYBOX_CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE
bool "Support bootchartd.conf"
default n
depends on BUSYBOX_CONFIG_BOOTCHARTD
help
Enable reading and parsing of $PWD/bootchartd.conf
and /etc/bootchartd.conf files.
config BUSYBOX_CONFIG_INIT
bool "init"
default y
@ -25,8 +64,8 @@ config BUSYBOX_CONFIG_FEATURE_KILL_REMOVED
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.
sent to init, this option will make init 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

@ -181,22 +181,6 @@ config BUSYBOX_CONFIG_GETTY
help
getty lets you log in on a tty, it is normally invoked by init.
config BUSYBOX_CONFIG_FEATURE_UTMP
bool "Support utmp file"
depends on BUSYBOX_CONFIG_GETTY || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU || BUSYBOX_CONFIG_WHO
default n
help
The file /var/run/utmp is used to track who is currently logged in.
config BUSYBOX_CONFIG_FEATURE_WTMP
bool "Support wtmp file"
depends on BUSYBOX_CONFIG_GETTY || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU || BUSYBOX_CONFIG_LAST
default n
select BUSYBOX_CONFIG_FEATURE_UTMP
help
The file /var/run/wtmp is used to track when user's have logged into
and logged out of the system.
config BUSYBOX_CONFIG_LOGIN
bool "login"
default n

@ -5,6 +5,27 @@
menu "Miscellaneous Utilities"
config BUSYBOX_CONFIG_CONSPY
bool "conspy"
default n
help
A text-mode VNC like program for Linux virtual terminals.
example: conspy NUM shared access to console num
or conspy -nd NUM screenshot of console num
or conspy -cs NUM poor man's GNU screen like
config BUSYBOX_CONFIG_UBIATTACH
bool "ubiattach"
default n
help
Attach MTD device to an UBI device.
config BUSYBOX_CONFIG_UBIDETACH
bool "ubidetach"
default n
help
Detach MTD device from an UBI device.
config BUSYBOX_CONFIG_ADJTIMEX
bool "adjtimex"
default n
@ -317,14 +338,14 @@ config BUSYBOX_CONFIG_INOTIFYD
config BUSYBOX_CONFIG_LAST
bool "last"
default n
select BUSYBOX_CONFIG_FEATURE_WTMP
depends on BUSYBOX_CONFIG_FEATURE_WTMP
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
default BUSYBOX_CONFIG_FEATURE_LAST_FANCY
config BUSYBOX_CONFIG_FEATURE_LAST_SMALL
bool "small"
@ -551,6 +572,17 @@ config BUSYBOX_CONFIG_READAHEAD
As readahead(2) blocks until each file has been read, it is best to
run this applet as a background job.
config BUSYBOX_CONFIG_RFKILL
bool "rfkill"
default n
help
Enable/disable wireless devices.
rfkill list : list all wireless devices
rfkill list bluetooth : list all bluetooth devices
rfkill list 1 : list device corresponding to the given index
rfkill block|unblock wlan : block/unblock all wlan(wifi) devices
config BUSYBOX_CONFIG_RUNLEVEL
bool "runlevel"
default n

@ -5,6 +5,12 @@
menu "Linux Module Utilities"
config BUSYBOX_CONFIG_MODINFO
bool "modinfo"
default n
help
Show information about a Linux Kernel module
config BUSYBOX_CONFIG_MODPROBE_SMALL
bool "Simplified modutils"
default n
@ -226,7 +232,7 @@ config BUSYBOX_CONFIG_FEATURE_MODUTILS_SYMBOLS
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
depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL || BUSYBOX_CONFIG_MODINFO
help
Directory that contains kernel modules.
Defaults to "/lib/modules"
@ -234,7 +240,7 @@ config BUSYBOX_CONFIG_DEFAULT_MODULES_DIR
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
depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL || BUSYBOX_CONFIG_MODINFO
help
Filename that contains kernel modules dependencies.
Defaults to "modules.dep"

@ -5,6 +5,39 @@
menu "Networking Utilities"
config BUSYBOX_CONFIG_NC
bool "nc"
default y
help
A simple Unix utility which reads and writes data across network
connections.
config BUSYBOX_CONFIG_NC_SERVER
bool "Netcat server options (-l)"
default n
depends on BUSYBOX_CONFIG_NC
help
Allow netcat to act as a server.
config BUSYBOX_CONFIG_NC_EXTRA
bool "Netcat extensions (-eiw and filename)"
default n
depends on BUSYBOX_CONFIG_NC
help
Add -e (support for executing the rest of the command line after
making or receiving a successful connection), -i (delay interval for
lines sent), -w (timeout for initial connection).
config BUSYBOX_CONFIG_NC_110_COMPAT
bool "Netcat 1.10 compatibility (+2.5k)"
default n
depends on BUSYBOX_CONFIG_NC
help
This option makes nc closely follow original nc-1.10.
The code is about 2.5k bigger. It enables
-s ADDR, -n, -u, -v, -o FILE, -z options, but loses
busybox-specific extensions: -f FILE and -ll.
config BUSYBOX_CONFIG_FEATURE_IPV6
bool "Enable IPv6 support"
default y
@ -122,8 +155,8 @@ config BUSYBOX_CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST
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.
Some ftp clients (among them KDE's Konqueror) issue illegal
"LIST -l" requests. This option works around such 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.
@ -404,7 +437,7 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV6
### UNUSED
###config FEATURE_IFUPDOWN_IPX
### bool "Support for IPX"
### default n
### default y
### depends on IFUPDOWN
### help
### If this option is selected you can use busybox to work with IPX
@ -621,35 +654,12 @@ config BUSYBOX_CONFIG_FEATURE_NAMEIF_EXTENDED
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
help
A simple Unix utility which reads and writes data across network
connections.
config BUSYBOX_CONFIG_NETMSG
bool "netmsg"
default y
help
simple program for sending udp broadcast messages
config BUSYBOX_CONFIG_NC_SERVER
bool "Netcat server options (-l)"
default n
depends on BUSYBOX_CONFIG_NC
help
Allow netcat to act as a server.
config BUSYBOX_CONFIG_NC_EXTRA
bool "Netcat extensions (-eiw and filename)"
default n
depends on BUSYBOX_CONFIG_NC
help
Add -e (support for executing the rest of the command line after
making or receiving a successful connection), -i (delay interval for
lines sent), -w (timeout for initial connection).
config BUSYBOX_CONFIG_NETSTAT
bool "netstat"
default y
@ -735,7 +745,7 @@ config BUSYBOX_CONFIG_SLATTACH
#config TC
# bool "tc"
# default n
# default y
# help
# show / manipulate traffic control settings
#
@ -743,6 +753,13 @@ config BUSYBOX_CONFIG_SLATTACH
# def_bool n
# depends on TC
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_TELNET
bool "telnet"
default y
@ -858,8 +875,11 @@ config BUSYBOX_CONFIG_TFTPD
In other words: it should be run from inetd in nowait mode,
or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
comment "Common options for tftp/tftpd"
depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
config BUSYBOX_CONFIG_FEATURE_TFTP_GET
bool "Enable \"get\" command"
bool "Enable 'tftp get' and/or tftpd upload code"
default n
depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
help
@ -867,8 +887,11 @@ config BUSYBOX_CONFIG_FEATURE_TFTP_GET
a client to retrieve a file from a TFTP server.
Also enable upload support in tftpd, if tftpd is selected.
Note: this option does _not_ make tftpd capable of download
(the usual operation people need from it)!
config BUSYBOX_CONFIG_FEATURE_TFTP_PUT
bool "Enable \"put\" command"
bool "Enable 'tftp put' and/or tftpd download code"
default n
depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
help
@ -935,6 +958,20 @@ config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_USE_ICMP
help
Add option -I to use ICMP ECHO instead of UDP datagrams.
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.
source package/busybox/config/networking/udhcp/Config.in
config BUSYBOX_CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS
@ -946,6 +983,13 @@ config BUSYBOX_CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS
Intended to alter options not available in /etc/network/interfaces.
(IE: --syslog --background etc...)
config BUSYBOX_CONFIG_UDPSVD
bool "udpsvd"
default n
help
udpsvd listens on an UDP port and runs a program for each new
connection.
config BUSYBOX_CONFIG_VCONFIG
bool "vconfig"
default y
@ -992,32 +1036,4 @@ 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_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
help
udpsvd listens on an UDP port and runs a program for each new
connection.
endmenu

@ -92,7 +92,8 @@ config BUSYBOX_CONFIG_FEATURE_UDHCP_RFC3397
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.
search lists via option 119, specified in RFC 3397,
and SIP servers option 120, specified in RFC 3361.
config BUSYBOX_CONFIG_UDHCPC_DEFAULT_SCRIPT
string "Absolute path to config script"

@ -5,6 +5,13 @@
menu "Process Utilities"
config BUSYBOX_CONFIG_SMEMCAP
bool "smemcap"
default n
help
smemcap is a tool for capturing process data for smem,
a memory usage statistic tool.
config BUSYBOX_CONFIG_FREE
bool "free"
default y

@ -61,22 +61,26 @@ config BUSYBOX_CONFIG_CHPST
config BUSYBOX_CONFIG_SETUIDGID
bool "setuidgid"
default n
help
Sets soft resource limits as specified by options
config BUSYBOX_CONFIG_ENVUIDGID
bool "envuidgid"
default n
help
Sets $UID to account's uid and $GID to account's gid
config BUSYBOX_CONFIG_ENVDIR
bool "envdir"
default n
help
Sets various environment variables as specified by files
in the given directory
config BUSYBOX_CONFIG_SOFTLIMIT
bool "softlimit"
default n
help
Sets soft resource limits as specified by options

@ -120,4 +120,3 @@ config BUSYBOX_CONFIG_SESTATUS
Displays the status of SELinux.
endmenu

@ -5,34 +5,7 @@
menu "Shells"
choice
prompt "Choose your default shell"
default BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
help
Choose a shell. The ash shell is the most bash compatible
and full featured one.
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
bool "hush"
####config FEATURE_SH_IS_LASH
#### select LASH
#### bool "lash"
####config FEATURE_SH_IS_MSH
#### select MSH
#### bool "msh"
config BUSYBOX_CONFIG_FEATURE_SH_IS_NONE
bool "none"
endchoice
config BUSYBOX_CONFIG_ASH
bool "ash"
@ -243,6 +216,61 @@ config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
Enable pseudorandom generator and dynamic variable "$RANDOM".
Each read of "$RANDOM" will generate a new pseudorandom value.
choice
prompt "Choose which shell is aliased to 'sh' name"
default BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
help
Choose which shell you want to be executed by 'sh' alias.
The ash shell is the most bash compatible and full featured one.
# note: cannot use "select ASH" here, it breaks "make allnoconfig"
config BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
depends on BUSYBOX_CONFIG_ASH
bool "ash"
depends on !BUSYBOX_CONFIG_NOMMU
config BUSYBOX_CONFIG_FEATURE_SH_IS_HUSH
depends on BUSYBOX_CONFIG_HUSH
bool "hush"
config BUSYBOX_CONFIG_FEATURE_SH_IS_NONE
bool "none"
endchoice
choice
prompt "Choose which shell is aliased to 'bash' name"
default BUSYBOX_CONFIG_FEATURE_BASH_IS_NONE
help
Choose which shell you want to be executed by 'bash' alias.
The ash shell is the most bash compatible and full featured one.
Note that selecting this option does not switch on any bash
compatibility code. It merely makes it possible to install
/bin/bash (sym)link and run scripts which start with
#!/bin/bash line.
Many systems use it in scripts which use bash-specific features,
even simple ones like $RANDOM. Without this option, busybox
can't be used for running them because it won't recongnize
"bash" as a supported applet name.
config BUSYBOX_CONFIG_FEATURE_BASH_IS_ASH
depends on BUSYBOX_CONFIG_ASH
bool "ash"
depends on !BUSYBOX_CONFIG_NOMMU
config BUSYBOX_CONFIG_FEATURE_BASH_IS_HUSH
depends on BUSYBOX_CONFIG_HUSH
bool "hush"
config BUSYBOX_CONFIG_FEATURE_BASH_IS_NONE
bool "none"
endchoice
config BUSYBOX_CONFIG_LASH
bool "lash (deprecated: aliased to hush)"
default n
@ -285,14 +313,14 @@ config BUSYBOX_CONFIG_SH_MATH_SUPPORT_64
config BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET
bool "Hide message on interactive shell startup"
default n
depends on BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
help
Remove the busybox introduction when starting a shell.
config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
bool "Standalone shell"
default n
depends on (BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH) && BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
depends on (BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH) && BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
help
This option causes busybox shells to use busybox applets
in preference to executables in the PATH whenever possible. For
@ -325,7 +353,7 @@ config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
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
depends on (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
@ -354,9 +382,20 @@ config BUSYBOX_CONFIG_CTTYHACK
It analyzes stdin with various ioctls, trying to determine whether
it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
If it detects one, it closes stdin/out/err and reopens that device.
Then it executes given program. Usage example for /etc/inittab
(for busybox init):
Then it executes given program. Opening the device will make
that device a controlling tty. This may require cttyhack
to be a session leader.
Example for /etc/inittab (for busybox init):
::respawn:/bin/cttyhack /bin/sh
Giving controlling tty to shell running with PID 1:
$ exec cttyhack sh
Starting an interactive shell from boot shell script:
setsid cttyhack sh
endmenu

@ -50,6 +50,16 @@ config BUSYBOX_CONFIG_FEATURE_SYSLOGD_DUP
Option -D instructs syslogd to drop consecutive messages
which are totally the same.
config BUSYBOX_CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE
int "Read buffer size in bytes"
default 256
range 256 20000
depends on BUSYBOX_CONFIG_SYSLOGD
help
This option sets the size of the syslog read buffer.
Actual memory usage increases around five times the
change done here.
config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
bool "Circular Buffer support"
default y
@ -115,4 +125,3 @@ config BUSYBOX_CONFIG_LOGGER
problems that occur within programs and scripts.
endmenu

@ -5,6 +5,12 @@
menu "Linux System Utilities"
config BUSYBOX_CONFIG_REV
bool "rev"
default n
help
Reverse lines of a file or files.
config BUSYBOX_CONFIG_ACPID
bool "acpid"
default n
@ -191,6 +197,12 @@ config BUSYBOX_CONFIG_FINDFS
WARNING:
With all submodules selected, it will add ~8k to busybox.
config BUSYBOX_CONFIG_FLOCK
bool "flock"
default n
help
Manage locks from shell scripts
config BUSYBOX_CONFIG_FREERAMDISK
bool "freeramdisk"
default n
@ -227,9 +239,6 @@ config BUSYBOX_CONFIG_MKFS_MINIX
with little overhead. If you wish to be able to create minix
filesystems this utility will do the job for you.
comment "Minix filesystem support"
depends on BUSYBOX_CONFIG_FSCK_MINIX || BUSYBOX_CONFIG_MKFS_MINIX
config BUSYBOX_CONFIG_FEATURE_MINIX2
bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
default n
@ -244,6 +253,7 @@ config BUSYBOX_CONFIG_MKFS_REISER
default n
help
Utility to create ReiserFS filesystems.
Note: this applet needs a lot of testing and polishing.
config BUSYBOX_CONFIG_MKFS_VFAT
bool "mkfs_vfat"
@ -289,7 +299,7 @@ config BUSYBOX_CONFIG_FEATURE_HEXDUMP_REVERSE
config BUSYBOX_CONFIG_HD
bool "hd"
default n
select BUSYBOX_CONFIG_HEXDUMP
depends on BUSYBOX_CONFIG_HEXDUMP
help
hd is an alias to hexdump -C.
@ -464,221 +474,6 @@ 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 #No description makes it a hidden option
default n
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXT
bool "Ext filesystem"
default y
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BTRFS
bool "btrfs filesystem"
default y
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_REISERFS
bool "Reiser filesystem"
default y
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_FAT
bool "fat filesystem"
default y
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_HFS
bool "hfs filesystem"
default y
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 y
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_NTFS
bool "ntfs filesystem"
default y
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ISO9660
bool "iso9660 filesystem"
default y
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UDF
bool "udf filesystem"
default y
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 y
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 y
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
config BUSYBOX_CONFIG_MOUNT
bool "mount"
default y
@ -719,7 +514,7 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_HELPERS
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"
bool "Support specifying devices by label or UUID"
default n
depends on BUSYBOX_CONFIG_MOUNT
select BUSYBOX_CONFIG_VOLUMEID
@ -783,9 +578,9 @@ config BUSYBOX_CONFIG_RDATE
systems.
config BUSYBOX_CONFIG_RDEV
bool "rdev"
default n
help
bool "rdev"
default n
help
Print the device node associated with the filesystem mounted at '/'.
config BUSYBOX_CONFIG_READPROFILE
@ -895,6 +690,18 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
specify an offset or cryptographic options to the loopback device.
(If you don't want umount to free the loop device, use "umount -D".)
config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP_CREATE
bool "Create new loopback devices if needed"
default n
depends on BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
help
Linux kernels >= 2.6.24 support unlimited loopback devices. They are
allocated for use when trying to use a loop device. The loop device
must however exist.
This feature lets mount to try to create next /dev/loopN device
if it does not find a free one.
config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
bool "Support for the old /etc/mtab file"
default n
@ -912,11 +719,231 @@ config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
If you must use this, keep in mind it's inherently brittle (for
example a mount under chroot won't update it), can't handle modern
features like separate per-process filesystem namespaces, requires
that your /etc directory be writeable, tends to get easily confused
that your /etc directory be writable, tends to get easily confused
by --bind or --move mounts, won't update if you rename a directory
that contains a mount point, and so on. (In brief: avoid.)
About the only reason to use this is if you've removed /proc from
your kernel.
config BUSYBOX_CONFIG_VOLUMEID
bool #No description makes it a hidden option
default n
menu "Filesystem/Volume identification"
depends on BUSYBOX_CONFIG_VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXT
bool "Ext filesystem"
default y
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BTRFS
bool "btrfs filesystem"
default y
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_REISERFS
bool "Reiser filesystem"
default y
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_FAT
bool "fat filesystem"
default y
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_HFS
bool "hfs filesystem"
default y
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 y
### depends on VOLUMEID
### help
### TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_XFS
bool "xfs filesystem"
default y
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_NTFS
bool "ntfs filesystem"
default y
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ISO9660
bool "iso9660 filesystem"
default y
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UDF
bool "udf filesystem"
default y
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 y
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
### config FEATURE_VOLUMEID_LVM
### bool "lvm"
### default y
### 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 y
### 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 y
### depends on VOLUMEID
### help
### TODO
### These only detect partition tables - not used (yet?)
### config FEATURE_VOLUMEID_MAC
### bool "mac filesystem"
### default y
### depends on VOLUMEID
### help
### TODO
###
### config FEATURE_VOLUMEID_MSDOS
### bool "msdos filesystem"
### default y
### 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 y
### depends on VOLUMEID
### help
### TODO
### config FEATURE_VOLUMEID_ISWRAID
### bool "intel raid"
### default y
### depends on VOLUMEID
### help
### TODO
### config FEATURE_VOLUMEID_LSIRAID
### bool "lsi raid"
### default y
### depends on VOLUMEID
### help
### TODO
### config FEATURE_VOLUMEID_VIARAID
### bool "via raid"
### default y
### depends on VOLUMEID
### help
### TODO
### config FEATURE_VOLUMEID_SILICONRAID
### bool "silicon raid"
### default y
### depends on VOLUMEID
### help
### TODO
### config FEATURE_VOLUMEID_NVIDIARAID
### bool "nvidia raid"
### default y
### depends on VOLUMEID
### help
### TODO
### config FEATURE_VOLUMEID_PROMISERAID
### bool "promise raid"
### default y
### depends on VOLUMEID
### help
### TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXRAID
bool "linuxraid"
default y
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
endmenu
endmenu

@ -0,0 +1,11 @@
--- a/applets/Kbuild.src
+++ b/applets/Kbuild.src
@@ -28,7 +28,7 @@ HOSTCFLAGS_usage_pod.o = -I$(srctree_sla
applets/applets.o: include/usage_compressed.h include/applet_tables.h
applets/applet_tables: .config include/applets.h
-applets/usage: .config include/applets.h
+applets/usage: .config include/applets.h include/autoconf.h
applets/usage_pod: .config include/applet_tables.h include/applets.h
quiet_cmd_gen_usage_compressed = GEN include/usage_compressed.h

@ -12,7 +12,7 @@
/* Construct a ip/udp header for a packet, send packet */
int FAST_FUNC udhcp_send_raw_packet(struct dhcp_packet *dhcp_pkt,
uint32_t source_nip, int source_port,
@@ -173,11 +178,12 @@ int FAST_FUNC udhcp_send_raw_packet(stru
@@ -173,10 +178,10 @@ int FAST_FUNC udhcp_send_raw_packet(stru
{
struct sockaddr_ll dest_sll;
struct ip_udp_dhcp_packet packet;
@ -20,27 +20,36 @@
int fd;
int result = -1;
const char *msg;
+ int p_len = udhcp_get_payload_len(dhcp_pkt);
+
fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP));
if (fd < 0) {
msg = "socket(%s)";
@@ -186,7 +192,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
@@ -185,8 +190,8 @@ int FAST_FUNC udhcp_send_raw_packet(stru
}
memset(&dest_sll, 0, sizeof(dest_sll));
memset(&packet, 0, offsetof(struct ip_udp_dhcp_packet, data));
- memset(&packet, 0, offsetof(struct ip_udp_dhcp_packet, data));
- packet.data = *dhcp_pkt; /* struct copy */
+ memset(&packet, 0, sizeof(packet));
+ memcpy(&(packet.data), dhcp_pkt, p_len);
dest_sll.sll_family = AF_PACKET;
dest_sll.sll_protocol = htons(ETH_P_IP);
@@ -208,27 +214,25 @@ int FAST_FUNC udhcp_send_raw_packet(stru
* In order to work with those buggy servers,
* we truncate packets after end option byte.
*/
- padding = DHCP_OPTIONS_BUFSIZE - 1 - udhcp_end_option(packet.data.options);
@@ -199,36 +204,24 @@ int FAST_FUNC udhcp_send_raw_packet(stru
goto ret_close;
}
- /* We were sending full-sized DHCP packets (zero padded),
- * but some badly configured servers were seen dropping them.
- * Apparently they drop all DHCP packets >576 *ethernet* octets big,
- * whereas they may only drop packets >576 *IP* octets big
- * (which for typical Ethernet II means 590 octets: 6+6+2 + 576).
- *
- * In order to work with those buggy servers,
- * we truncate packets after end option byte.
- */
- padding = DHCP_OPTIONS_BUFSIZE - 1 - udhcp_end_option(packet.data.options);
-
packet.ip.protocol = IPPROTO_UDP;
packet.ip.saddr = source_nip;
packet.ip.daddr = dest_nip;
@ -65,11 +74,11 @@
udhcp_dump_packet(dhcp_pkt);
- result = sendto(fd, &packet, IP_UPD_DHCP_SIZE - padding, /*flags:*/ 0,
+ result = sendto(fd, &packet, p_len, 0,
+ result = sendto(fd, &packet, p_len, /*flags:*/ 0,
(struct sockaddr *) &dest_sll, sizeof(dest_sll));
msg = "sendto";
ret_close:
@@ -246,7 +250,6 @@ int FAST_FUNC udhcp_send_kernel_packet(s
@@ -246,7 +239,6 @@ int FAST_FUNC udhcp_send_kernel_packet(s
uint32_t dest_nip, int dest_port)
{
struct sockaddr_in client;
@ -77,10 +86,11 @@
int fd;
int result = -1;
const char *msg;
@@ -278,8 +281,7 @@ int FAST_FUNC udhcp_send_kernel_packet(s
@@ -277,9 +269,7 @@ int FAST_FUNC udhcp_send_kernel_packet(s
}
udhcp_dump_packet(dhcp_pkt);
-
- padding = DHCP_OPTIONS_BUFSIZE - 1 - udhcp_end_option(dhcp_pkt->options);
- result = safe_write(fd, dhcp_pkt, DHCP_SIZE - padding);
+ result = safe_write(fd, dhcp_pkt, udhcp_get_payload_len(dhcp_pkt));

@ -1,6 +1,6 @@
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -12428,8 +12428,17 @@ exportcmd(int argc UNUSED_PARAM, char **
@@ -12429,8 +12429,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) {
@@ -12441,10 +12450,12 @@ exportcmd(int argc UNUSED_PARAM, char **
@@ -12442,10 +12451,12 @@ exportcmd(int argc UNUSED_PARAM, char **
vp = *findvar(hashvar(name), name);
if (vp) {
vp->flags |= flag;

@ -8,18 +8,6 @@
IF_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_DROP))
IF_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_DROP))
IF_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_DROP))
--- a/include/usage.src.h
+++ b/include/usage.src.h
@@ -2961,6 +2961,9 @@ INSERT
" or\n" \
"$ nameif -c /etc/my_mactab_file\n" \
+#define netmsg_trivial_usage NOUSAGE_STR
+#define netmsg_full_usage ""
+
#define netstat_trivial_usage \
"[-laentuwxr"IF_FEATURE_NETSTAT_WIDE("W")IF_FEATURE_NETSTAT_PRG("p")"]"
#define netstat_full_usage "\n\n" \
--- a/networking/Config.src
+++ b/networking/Config.src
@@ -623,6 +623,12 @@ config FEATURE_NAMEIF_EXTENDED
@ -30,7 +18,7 @@
+ bool "netmsg"
+ default n
+ help
+ simple program for sending udp broadcast messages
+ simple program for sending udp broadcast messages
+
config NETSTAT
bool "netstat"
@ -111,3 +99,20 @@
+ close(s);
+ exit(1);
+}
--- a/include/usage.src.h
+++ b/include/usage.src.h
@@ -1,3 +1,4 @@
+
/* vi: set sw=8 ts=8: */
/*
* This file suffers from chronically incorrect tabification
@@ -2961,6 +2962,9 @@ INSERT
" or\n" \
"$ nameif -c /etc/my_mactab_file\n" \
+#define netmsg_trivial_usage NOUSAGE_STR
+#define netmsg_full_usage ""
+
#define netstat_trivial_usage \
"[-laentuwxr"IF_FEATURE_NETSTAT_WIDE("W")IF_FEATURE_NETSTAT_PRG("p")"]"
#define netstat_full_usage "\n\n" \

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

@ -10,7 +10,7 @@
IF_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_DROP, logname))
--- a/include/usage.src.h
+++ b/include/usage.src.h
@@ -2319,6 +2319,9 @@ INSERT
@@ -2320,6 +2320,9 @@ INSERT
#define loadkmap_example_usage \
"$ loadkmap < /etc/i18n/lang-keymap\n"

@ -1,6 +1,6 @@
--- a/include/usage.src.h
+++ b/include/usage.src.h
@@ -1718,7 +1718,8 @@ INSERT
@@ -1719,7 +1719,8 @@ INSERT
IF_FEATURE_HTTPD_SETUID(" [-u USER[:GRP]]") \
IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]") \
" [-h HOME]\n" \
@ -10,16 +10,15 @@
#define httpd_full_usage "\n\n" \
"Listen for incoming HTTP requests\n" \
"\nOptions:" \
@@ -2321,6 +2322,9 @@ INSERT
@@ -1737,6 +1738,8 @@ INSERT
"\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" \
#define lock_trivial_usage NOUSAGE_STR
#define lock_full_usage ""
+
+#define lock_trivial_usage NOUSAGE_STR
+#define lock_full_usage ""
#define logger_trivial_usage \
"[OPTIONS] [MESSAGE]"
#define hwclock_trivial_usage \
IF_FEATURE_HWCLOCK_LONG_OPTIONS( \
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -250,6 +250,8 @@ struct globals {

@ -124,7 +124,7 @@
string "Default directory containing modules"
default "/lib/modules"
- depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO
+ depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO || INSMOD
+ depends on DEPMOD || INSMOD || MODPROBE || MODPROBE_SMALL || MODINFO
help
Directory that contains kernel modules.
Defaults to "/lib/modules"

@ -1,6 +1,11 @@
--- a/editors/awk.c
+++ b/editors/awk.c
@@ -70,9 +70,14 @@ typedef struct chain_s {
@@ -1,3 +1,4 @@
+
/* vi: set sw=4 ts=4: */
/*
* awk implementation for busybox
@@ -70,9 +71,14 @@ typedef struct chain_s {
} chain;
/* Function */
@ -15,7 +20,7 @@
} func;
/* I/O stream */
@@ -1453,7 +1458,8 @@ static void parse_program(char *p)
@@ -1453,7 +1459,8 @@ static void parse_program(char *p)
next_token(TC_FUNCTION);
g_pos++;
f = newfunc(t_string);
@ -25,7 +30,7 @@
f->nargs = 0;
while (next_token(TC_VARIABLE | TC_SEQTERM) & TC_VARIABLE) {
v = findvar(ahash, t_string);
@@ -1462,7 +1468,7 @@ static void parse_program(char *p)
@@ -1462,7 +1469,7 @@ static void parse_program(char *p)
if (next_token(TC_COMMA | TC_SEQTERM) & TC_SEQTERM)
break;
}
@ -34,7 +39,7 @@
chain_group();
clear_array(ahash);
@@ -2547,7 +2553,8 @@ static var *evaluate(node *op, var *res)
@@ -2547,7 +2554,8 @@ static var *evaluate(node *op, var *res)
var *vbeg, *v;
const char *sv_progname;
@ -44,7 +49,7 @@
syntax_error(EMSG_UNDEF_FUNC);
vbeg = v = nvalloc(op->r.f->nargs + 1);
@@ -2564,7 +2571,10 @@ static var *evaluate(node *op, var *res)
@@ -2564,7 +2572,10 @@ static var *evaluate(node *op, var *res)
fnargs = vbeg;
sv_progname = g_progname;
@ -56,7 +61,7 @@
g_progname = sv_progname;
nvfree(fnargs);
@@ -2942,6 +2952,143 @@ static rstream *next_input_file(void)
@@ -2942,6 +2953,143 @@ static rstream *next_input_file(void)
#undef files_happen
}
@ -200,7 +205,7 @@
int awk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int awk_main(int argc, char **argv)
{
@@ -3007,6 +3154,9 @@ int awk_main(int argc, char **argv)
@@ -3007,6 +3155,9 @@ int awk_main(int argc, char **argv)
*s1 = '=';
}
}

@ -1,34 +1,26 @@
--- a/sysklogd/syslogd.c
+++ b/sysklogd/syslogd.c
@@ -98,6 +98,8 @@ struct globals {
GLOBALS
#if ENABLE_FEATURE_REMOTE_LOG
+ len_and_sockaddr *remoteAddr;
+ int remoteFD;
llist_t *remoteHosts;
#endif
#if ENABLE_FEATURE_IPC_SYSLOG
@@ -554,6 +556,7 @@ static void do_syslogd(void) NORETURN;
static void do_syslogd(void)
@@ -555,6 +555,7 @@ static void do_syslogd(void)
{
int sock_fd;
+ int send_err = 0;
#if ENABLE_FEATURE_REMOTE_LOG
+ int send_err = 0;
llist_t *item;
#endif
@@ -637,10 +640,23 @@ static void do_syslogd(void)
#if ENABLE_FEATURE_SYSLOGD_DUP
@@ -636,11 +637,23 @@ static void do_syslogd(void)
if (rh->remoteFD == -1)
continue;
}
/* Send message to remote logger, ignore possible error */
- /* Send message to remote logger, ignore possible error */
- /* TODO: on some errors, close and set G.remoteFD to -1
- * so that DNS resolution and connect is retried? */
- sendto(rh->remoteFD, recvbuf, sz+1, MSG_DONTWAIT,
- &(rh->remoteAddr->u.sa), rh->remoteAddr->len);
+ /* Send message to remote logger */
+ if (sendto(rh->remoteFD, recvbuf, sz+1, MSG_DONTWAIT,
+ &G.remoteAddr->u.sa, G.remoteAddr->len) == -1 ) {
+ &(rh->remoteAddr->u.sa), rh->remoteAddr->len) == -1)
+ send_err = errno;
+ }
+
+ /* On some errors, close and set G.remoteFD to -1
+ * so that DNS resolution and connect is retried */
@ -38,8 +30,8 @@
+ case EISCONN:
+ case ENOTCONN:
+ case EPIPE:
+ close(G.remoteFD);
+ G.remoteFD = -1;
+ close(rh->remoteFD);
+ rh->remoteFD = -1;
+ break;
+ }
}

@ -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)
@@ -154,6 +160,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) */
@@ -181,6 +188,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);

Loading…
Cancel
Save