aboutsummaryrefslogtreecommitdiffstats
path: root/package/busybox
diff options
context:
space:
mode:
Diffstat (limited to 'package/busybox')
-rw-r--r--package/busybox/Config.in6
-rw-r--r--package/busybox/Makefile117
-rw-r--r--package/busybox/config/Config.in778
-rw-r--r--package/busybox/config/archival/Config.in380
-rw-r--r--package/busybox/config/console-tools/Config.in177
-rw-r--r--package/busybox/config/coreutils/Config.in913
-rw-r--r--package/busybox/config/debianutils/Config.in86
-rw-r--r--package/busybox/config/e2fsprogs/Config.in72
-rw-r--r--package/busybox/config/e2fsprogs/old_e2fsprogs/Config.in70
-rw-r--r--package/busybox/config/editors/Config.in206
-rw-r--r--package/busybox/config/findutils/Config.in252
-rw-r--r--package/busybox/config/init/Config.in185
-rw-r--r--package/busybox/config/libbb/Config.in232
-rw-r--r--package/busybox/config/loginutils/Config.in329
-rw-r--r--package/busybox/config/mailutils/Config.in56
-rw-r--r--package/busybox/config/miscutils/Config.in766
-rw-r--r--package/busybox/config/modutils/Config.in269
-rw-r--r--package/busybox/config/networking/Config.in1088
-rw-r--r--package/busybox/config/networking/udhcp/Config.in155
-rw-r--r--package/busybox/config/printutils/Config.in29
-rw-r--r--package/busybox/config/procps/Config.in260
-rw-r--r--package/busybox/config/runit/Config.in90
-rw-r--r--package/busybox/config/selinux/Config.in125
-rw-r--r--package/busybox/config/shell/Config.in433
-rw-r--r--package/busybox/config/sysklogd/Config.in154
-rw-r--r--package/busybox/config/util-linux/Config.in985
-rwxr-xr-xpackage/busybox/convert_menuconfig.pl78
-rwxr-xr-xpackage/busybox/files/cron18
-rwxr-xr-xpackage/busybox/files/telnet37
-rw-r--r--package/busybox/patches/001-init_avoid_loop_opening_tty.patch15
-rw-r--r--package/busybox/patches/002-passwd_use_md5_hash_by_default_like_it_used_to_be.patch20
-rw-r--r--package/busybox/patches/003-brctl_show_fix.patch37
-rw-r--r--package/busybox/patches/004-upstream-percent_decode_in_place.patch237
-rw-r--r--package/busybox/patches/005-resource_h_include.patch10
-rw-r--r--package/busybox/patches/006-upstream_CVE-2011-2716_fixes.patch164
-rw-r--r--package/busybox/patches/007-upstream_mkfs_ext2_fixes.patch1441
-rw-r--r--package/busybox/patches/110-wget_getopt_fix.patch11
-rw-r--r--package/busybox/patches/140-trylink_bash.patch8
-rw-r--r--package/busybox/patches/141-gen_build_files_bash.patch8
-rw-r--r--package/busybox/patches/150-no_static_libgcc.patch11
-rw-r--r--package/busybox/patches/200-etc_crontabs.patch22
-rw-r--r--package/busybox/patches/240-udhcpc_retries.patch20
-rw-r--r--package/busybox/patches/241-udhcpc-oversized_packets.patch99
-rw-r--r--package/busybox/patches/242-udhcpc_msgs.patch18
-rw-r--r--package/busybox/patches/243-udhcpc_changed_ifindex.patch15
-rw-r--r--package/busybox/patches/244-udhcpc_add_6rd_option.patch143
-rw-r--r--package/busybox/patches/250-ash_export-n.patch34
-rw-r--r--package/busybox/patches/251-ash_fix-redir-substitution.patch12
-rw-r--r--package/busybox/patches/260-vconfig_proc.patch22
-rw-r--r--package/busybox/patches/300-netmsg.patch103
-rw-r--r--package/busybox/patches/310-passwd_access.patch41
-rw-r--r--package/busybox/patches/340-lock_util.patch172
-rw-r--r--package/busybox/patches/350-httpd_redir.patch90
-rw-r--r--package/busybox/patches/410-httpd_cgi_headers.patch16
-rw-r--r--package/busybox/patches/440-httpd_chdir.patch10
-rw-r--r--package/busybox/patches/470-insmod_search.patch137
-rw-r--r--package/busybox/patches/490-mount_disable_check.patch12
-rw-r--r--package/busybox/patches/510-awk_include.patch217
-rw-r--r--package/busybox/patches/524-udhcpc_renew.patch10
-rw-r--r--package/busybox/patches/610-ntpd_delayed_resolve.patch48
-rw-r--r--package/busybox/patches/611-upstream_ntpd_version_fix.patch29
-rw-r--r--package/busybox/patches/700-hexdump_segfault_fix.patch11
-rw-r--r--package/busybox/patches/802-brctl_linux24.patch74
-rw-r--r--package/busybox/patches/902-telnetd_intr.patch10
-rw-r--r--package/busybox/patches/910-insmod-q-flag.patch33
-rw-r--r--package/busybox/patches/911-date-k-flag.patch87
-rw-r--r--package/busybox/patches/920-portability.patch13
-rw-r--r--package/busybox/patches/950-partial-checksum.patch86
-rw-r--r--package/busybox/patches/998-arping_missing_includes.patch11
-rw-r--r--package/busybox/patches/999-musl-fixes.patch16
70 files changed, 0 insertions, 11919 deletions
diff --git a/package/busybox/Config.in b/package/busybox/Config.in
deleted file mode 100644
index 5fd7e9ec09..0000000000
--- a/package/busybox/Config.in
+++ /dev/null
@@ -1,6 +0,0 @@
-
-if PACKAGE_busybox
-
-source "package/busybox/config/Config.in"
-
-endif
diff --git a/package/busybox/Makefile b/package/busybox/Makefile
deleted file mode 100644
index aed6ddea6b..0000000000
--- a/package/busybox/Makefile
+++ /dev/null
@@ -1,117 +0,0 @@
-#
-# Copyright (C) 2006-2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=busybox
-PKG_VERSION:=1.19.4
-PKG_RELEASE:=6
-PKG_FLAGS:=essential
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://www.busybox.net/downloads \
- http://distfiles.gentoo.org/distfiles/
-PKG_MD5SUM:=9c0cae5a0379228e7b55e5b29528df8e
-
-PKG_BUILD_DEPENDS:=BUSYBOX_CONFIG_FEATURE_HAVE_RPC:librpc
-PKG_BUILD_PARALLEL:=1
-
-PKG_LICENSE:=GPLv2 BSD-4c
-PKG_LICENSE_FILES:=LICENSE archival/libarchive/bz/LICENSE
-
-include $(INCLUDE_DIR)/package.mk
-
-ifeq ($(DUMP),)
- STAMP_CONFIGURED:=$(strip $(STAMP_CONFIGURED))_$(shell $(SH_FUNC) grep '^CONFIG_BUSYBOX_' $(TOPDIR)/.config | md5s)
-endif
-
-ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
- BB_MAKE_VERBOSE := V=1
-else
- BB_MAKE_VERBOSE :=
-endif
-
-init-y :=
-init-$(CONFIG_BUSYBOX_CONFIG_CROND) += cron
-init-$(CONFIG_BUSYBOX_CONFIG_TELNETD) += telnet
-
-define Package/busybox
- SECTION:=base
- CATEGORY:=Base system
- MAINTAINER:=Nicolas Thill <nico@openwrt.org>
- TITLE:=Core utilities for embedded Linux
- URL:=http://busybox.net/
- DEPENDS:=+BUSYBOX_CONFIG_FEATURE_HAVE_RPC:librpc
- MENU:=1
-endef
-
-define Package/busybox/description
- The Swiss Army Knife of embedded Linux.
- It slices, it dices, it makes Julian Fries.
-endef
-
-define Package/busybox/config
- source "$(SOURCE)/Config.in"
-endef
-
-define Build/Configure
- rm -f $(PKG_BUILD_DIR)/.configured*
- grep 'CONFIG_BUSYBOX_' $(TOPDIR)/.config | sed -e "s,\\(# \)\\?CONFIG_BUSYBOX_\\(.*\\),\\1\\2,g" > $(PKG_BUILD_DIR)/.config
- yes 'n' | $(MAKE) -C $(PKG_BUILD_DIR) \
- CC="$(TARGET_CC)" \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- KBUILD_HAVE_NLS=no \
- ARCH="$(ARCH)" \
- $(BB_MAKE_VERBOSE) \
- oldconfig
-endef
-
-ifdef CONFIG_GCC_VERSION_LLVM
- TARGET_CFLAGS += -fnested-functions
-endif
-
-LDLIBS:=m crypt
-ifdef CONFIG_BUSYBOX_CONFIG_FEATURE_HAVE_RPC
- TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
- export LDFLAGS=$(TARGET_LDFLAGS)
- LDLIBS += rpc
-endif
-
-define Build/Compile
- +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
- CC="$(TARGET_CC)" \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- KBUILD_HAVE_NLS=no \
- EXTRA_CFLAGS="$(TARGET_CFLAGS)" \
- ARCH="$(ARCH)" \
- SKIP_STRIP=y \
- LDLIBS="$(LDLIBS)" \
- $(BB_MAKE_VERBOSE) \
- all
- rm -rf $(PKG_INSTALL_DIR)
- $(FIND) $(PKG_BUILD_DIR) -lname "*busybox" -exec rm \{\} \;
- $(MAKE) -C $(PKG_BUILD_DIR) \
- CC="$(TARGET_CC)" \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- EXTRA_CFLAGS="$(TARGET_CFLAGS)" \
- ARCH="$(ARCH)" \
- CONFIG_PREFIX="$(PKG_INSTALL_DIR)" \
- LDLIBS="$(LDLIBS)" \
- $(BB_MAKE_VERBOSE) \
- install
-endef
-
-define Package/busybox/install
- $(INSTALL_DIR) $(1)/etc/init.d
- $(CP) $(PKG_INSTALL_DIR)/* $(1)/
- for tmp in $(init-y); do \
- $(INSTALL_BIN) ./files/$$$$tmp $(1)/etc/init.d/$$$$tmp; \
- done
- -rm -rf $(1)/lib64
-endef
-
-$(eval $(call BuildPackage,busybox))
diff --git a/package/busybox/config/Config.in b/package/busybox/config/Config.in
deleted file mode 100644
index 00450364fb..0000000000
--- a/package/busybox/config/Config.in
+++ /dev/null
@@ -1,778 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-
-config BUSYBOX_CONFIG_HAVE_DOT_CONFIG
- bool
- default y
-
-menu "Busybox Settings"
-
-menu "General Configuration"
-
-config BUSYBOX_CONFIG_DESKTOP
- bool "Enable options for full-blown desktop systems"
- default n
- help
- Enable options and features which are not essential.
- Select this only if you plan to use busybox on full-blown
- desktop machine with common Linux distro, not on an embedded box.
-
-config BUSYBOX_CONFIG_EXTRA_COMPAT
- bool "Provide compatible behavior for rare corner cases (bigger code)"
- default n
- help
- This option makes grep, sed etc handle rare corner cases
- (embedded NUL bytes and such). This makes code bigger and uses
- some GNU extensions in libc. You probably only need this option
- if you plan to run busybox on desktop.
-
-config BUSYBOX_CONFIG_INCLUDE_SUSv2
- bool "Enable obsolete features removed before SUSv3"
- default y
- help
- This option will enable backwards compatibility with SuSv2,
- specifically, old-style numeric options ('command -1 <file>')
- will be supported in head, tail, and fold. (Note: should
- affect renice too.)
-
-config BUSYBOX_CONFIG_USE_PORTABLE_CODE
- bool "Avoid using GCC-specific code constructs"
- default n
- help
- Use this option if you are trying to compile busybox with
- compiler other than gcc.
- If you do use gcc, this option may needlessly increase code size.
-
-config BUSYBOX_CONFIG_PLATFORM_LINUX
- bool "Enable Linux-specific applets and features"
- default y
- help
- For the most part, busybox requires only POSIX compatibility
- from the target system, but some applets and features use
- Linux-specific interfaces.
-
- Answering 'N' here will disable such applets and hide the
- corresponding configuration options.
-
-choice
- prompt "Buffer allocation policy"
- default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
- help
- There are 3 ways BusyBox can handle buffer allocations:
- - Use malloc. This costs code size for the call to xmalloc.
- - Put them on stack. For some very small machines with limited stack
- space, this can be deadly. For most folks, this works just fine.
- - Put them in BSS. This works beautifully for computers with a real
- MMU (and OS support), but wastes runtime RAM for uCLinux. This
- behavior was the only one available for BusyBox versions 0.48 and
- earlier.
-
-config BUSYBOX_CONFIG_FEATURE_BUFFERS_USE_MALLOC
- bool "Allocate with Malloc"
-
-config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
- bool "Allocate on the Stack"
-
-config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_IN_BSS
- bool "Allocate in the .bss section"
-
-endchoice
-
-config BUSYBOX_CONFIG_SHOW_USAGE
- bool "Show terse applet usage messages"
- default y
- help
- All BusyBox applets will show help messages when invoked with
- wrong arguments. You can turn off printing these terse usage
- messages if you say no here.
- This will save you up to 7k.
-
-config BUSYBOX_CONFIG_FEATURE_VERBOSE_USAGE
- bool "Show verbose applet usage messages"
- default y
- 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
- busybox binary. In the default configuration, this will add about
- 13k, but it can add much more depending on your configuration.
-
-config BUSYBOX_CONFIG_FEATURE_COMPRESS_USAGE
- bool "Store applet usage messages in compressed form"
- default y
- depends on BUSYBOX_CONFIG_SHOW_USAGE
- help
- Store usage messages in compressed form, uncompress them on-the-fly
- when <applet> --help is called.
-
- If you have a really tiny busybox with few applets enabled (and
- bunzip2 isn't one of them), the overhead of the decompressor might
- be noticeable. Also, if you run executables directly from ROM
- and have very little memory, this might not be a win. Otherwise,
- you probably want this.
-
-config BUSYBOX_CONFIG_FEATURE_INSTALLER
- bool "Support --install [-s] to install applet links at runtime"
- default n
- help
- Enable 'busybox --install [-s]' support. This will allow you to use
- busybox at runtime to create hard links or symlinks for all the
- applets that are compiled into busybox.
-
-config BUSYBOX_CONFIG_INSTALL_NO_USR
- bool "Don't use /usr"
- default n
- help
- Disable use of /usr. busybox --install and "make install"
- will install applets only to /bin and /sbin,
- never to /usr/bin or /usr/sbin.
-
-config BUSYBOX_CONFIG_LOCALE_SUPPORT
- bool "Enable locale support (system needs locale for this to work)"
- default n
- help
- Enable this if your system has locale support and you would like
- busybox to support locale settings.
-
-config BUSYBOX_CONFIG_UNICODE_SUPPORT
- bool "Support Unicode"
- default n
- help
- This makes various applets aware that one byte is not
- one character on screen.
-
- Busybox aims to eventually work correctly with Unicode displays.
- Any older encodings are not guaranteed to work.
- Probably by the time when busybox will be fully Unicode-clean,
- other encodings will be mainly of historic interest.
-
-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.
- Internal implementation is smaller.
-
-config BUSYBOX_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV
- bool "Check $LANG environment variable"
- default n
- 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, on line-editing input (such as used by shells)
- 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
- help
- Enable this if you want busybox applets to use the gnu --long-option
- style, in addition to single character -a -b -c style options.
-
-config BUSYBOX_CONFIG_FEATURE_DEVPTS
- bool "Use the devpts filesystem for Unix98 PTYs"
- default y
- help
- Enable if you want BusyBox to use Unix98 PTY support. If enabled,
- busybox will use /dev/ptmx for the master side of the pseudoterminal
- and /dev/pts/<number> for the slave side. Otherwise, BSD style
- /dev/ttyp<number> will be used. To use this option, you should have
- devpts mounted.
-
-config BUSYBOX_CONFIG_FEATURE_CLEAN_UP
- bool "Clean up all memory before exiting (usually not needed)"
- default n
- help
- As a size optimization, busybox normally exits without explicitly
- freeing dynamically allocated memory or closing files. This saves
- space since the OS will clean up for us, but it can confuse debuggers
- like valgrind, which report tons of memory and resource leaks.
-
- 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
- depends on 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
- help
- This option makes some applets (e.g. crond, syslogd, inetd) write
- a pidfile in /var/run. Some applications rely on them.
-
-config BUSYBOX_CONFIG_FEATURE_SUID
- bool "Support for SUID/SGID handling"
- default y
- help
- With this option you can install the busybox binary belonging
- to root with the suid bit set, enabling some applets to perform
- root-level operations even when run by ordinary users
- (for example, mounting of user mounts in fstab needs this).
-
- Busybox will automatically drop priviledges for applets
- that don't need root access.
-
- If you are really paranoid and don't want to do this, build two
- busybox binaries with different applets in them (and the appropriate
- symlinks pointing to each binary), and only set the suid bit on the
- one that needs it.
-
- The applets which require root rights (need suid bit or
- to be run by root) and will refuse to execute otherwise:
- crontab, login, passwd, su, vlock, wall.
-
- The applets which will use root rights if they have them
- (via suid bit, or because run by root), but would try to work
- without root right nevertheless:
- findfs, ping[6], traceroute[6], mount.
-
- Note that if you DONT select this option, but DO make busybox
- suid root, ALL applets will run under root, which is a huge
- security hole (think "cp /some/file /etc/passwd").
-
-config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
- bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_SUID
- help
- Allow the SUID / SGID state of an applet to be determined at runtime
- by checking /etc/busybox.conf. (This is sort of a poor man's sudo.)
- The format of this file is as follows:
-
- APPLET = [Ssx-][Ssx-][x-] [USER.GROUP]
-
- s: USER or GROUP is allowed to execute APPLET.
- APPLET will run under USER or GROUP
- (reagardless of who's running it).
- S: USER or GROUP is NOT allowed to execute APPLET.
- APPLET will run under USER or GROUP.
- This option is not very sensical.
- x: USER/GROUP/others are allowed to execute APPLET.
- No UID/GID change will be done when it is run.
- -: USER/GROUP/others are not allowed to execute APPLET.
-
- An example might help:
-
- [SUID]
- su = ssx root.0 # applet su can be run by anyone and runs with
- # euid=0/egid=0
- su = ssx # exactly the same
-
- mount = sx- root.disk # applet mount can be run by root and members
- # of group disk (but not anyone else)
- # and runs with euid=0 (egid is not changed)
-
- cp = --- # disable applet cp for everyone
-
- The file has to be owned by user root, group root and has to be
- writeable only by root:
- (chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf)
- The busybox executable has to be owned by user root, group
- root and has to be setuid root for this to work:
- (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox)
-
- Robert 'sandman' Griebl has more information here:
- <url: http://www.softforge.de/bb/suid.html >.
-
-config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG_QUIET
- bool "Suppress warning message if /etc/busybox.conf is not readable"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
- help
- /etc/busybox.conf should be readable by the user needing the SUID,
- check this option to avoid users to be notified about missing
- permissions.
-
-config BUSYBOX_CONFIG_SELINUX
- bool "Support NSA Security Enhanced Linux"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Enable support for SELinux in applets ls, ps, and id. Also provide
- the option of compiling in SELinux applets.
-
- If you do not have a complete SELinux userland installed, this stuff
- will not compile. Go visit
- http://www.nsa.gov/selinux/index.html
- to download the necessary stuff to allow busybox to compile with
- this option enabled. Specifially, libselinux 1.28 or better is
- directly required by busybox. If the installation is located in a
- non-standard directory, provide it by invoking make as follows:
- CFLAGS=-I<libselinux-include-path> \
- LDFLAGS=-L<libselinux-lib-path> \
- make
-
- Most people will leave this set to 'N'.
-
-config BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
- bool "exec prefers applets"
- default y
- help
- This is an experimental option which directs applets about to
- call 'exec' to try and find an applicable busybox applet before
- searching the PATH. This is typically done by exec'ing
- /proc/self/exe.
- This may affect shell, find -exec, xargs and similar applets.
- They will use applets even if /bin/<applet> -> busybox link
- is missing (or is not a link to busybox). However, this causes
- problems in chroot jails without mounted /proc and with ps/top
- (command name can be shown as 'exe' for applets started this way).
-
-config BUSYBOX_CONFIG_BUSYBOX_EXEC_PATH
- string "Path to BusyBox executable"
- default "/proc/self/exe"
- help
- When Busybox applets need to run other busybox applets, BusyBox
- sometimes needs to exec() itself. When the /proc filesystem is
- mounted, /proc/self/exe always points to the currently running
- executable. If you haven't got /proc, set this to wherever you
- want to run BusyBox from.
-
-# These are auto-selected by other options
-
-config BUSYBOX_CONFIG_FEATURE_SYSLOG
- bool #No description makes it a hidden option
- default y
- #help
- # This option is auto-selected when you select any applet which may
- # send its output to syslog. You do not need to select it manually.
-
-config BUSYBOX_CONFIG_FEATURE_HAVE_RPC
- bool #No description makes it a hidden option
- default n
- #help
- # This is automatically selected if any of enabled applets need it.
- # You do not need to select it manually.
-
-endmenu
-
-menu 'Build Options'
-
-config BUSYBOX_CONFIG_STATIC
- bool "Build BusyBox as a static binary (no shared libs)"
- default n
- help
- If you want to build a static BusyBox binary, which does not
- use or require any shared libraries, then enable this option.
- This can cause BusyBox to be considerably larger, so you should
- leave this option false unless you have a good reason (i.e.
- your target platform does not support shared libraries, or
- you are building an initrd which doesn't need anything but
- BusyBox, etc).
-
- Most people will leave this set to 'N'.
-
-config BUSYBOX_CONFIG_PIE
- bool "Build BusyBox as a position independent executable"
- default n
- depends on !BUSYBOX_CONFIG_STATIC
- help
- Hardened code option. PIE binaries are loaded at a different
- address at each invocation. This has some overhead,
- particularly on x86-32 which is short on registers.
-
- Most people will leave this set to 'N'.
-
-config BUSYBOX_CONFIG_NOMMU
- bool "Force NOMMU build"
- default n
- help
- Busybox tries to detect whether architecture it is being
- built against supports MMU or not. If this detection fails,
- or if you want to build NOMMU version of busybox for testing,
- you may force NOMMU build here.
-
- Most people will leave this set to 'N'.
-
-# PIE can be made to work with BUILD_LIBBUSYBOX, but currently
-# build system does not support that
-config BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
- bool "Build shared libbusybox"
- default n
- depends on !BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS && !BUSYBOX_CONFIG_PIE && !BUSYBOX_CONFIG_STATIC
- help
- Build a shared library libbusybox.so.N.N.N which contains all
- busybox code.
-
- This feature allows every applet to be built as a tiny
- separate executable. Enabling it for "one big busybox binary"
- approach serves no purpose and increases code size.
- You should almost certainly say "no" to this.
-
-### config FEATURE_FULL_LIBBUSYBOX
-### bool "Feature-complete libbusybox"
-### default n if !FEATURE_SHARED_BUSYBOX
-### depends on BUILD_LIBBUSYBOX
-### help
-### Build a libbusybox with the complete feature-set, disregarding
-### the actually selected config.
-###
-### Normally, libbusybox will only contain the features which are
-### used by busybox itself. If you plan to write a separate
-### standalone application which uses libbusybox say 'Y'.
-###
-### Note: libbusybox is GPL, not LGPL, and exports no stable API that
-### might act as a copyright barrier. We can and will modify the
-### exported function set between releases (even minor version number
-### changes), and happily break out-of-tree features.
-###
-### Say 'N' if in doubt.
-
-config BUSYBOX_CONFIG_FEATURE_INDIVIDUAL
- bool "Produce a binary for each applet, linked against libbusybox"
- default n
- depends on BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
- help
- If your CPU architecture doesn't allow for sharing text/rodata
- sections of running binaries, but allows for runtime dynamic
- libraries, this option will allow you to reduce memory footprint
- when you have many different applets running at once.
-
- If your CPU architecture allows for sharing text/rodata,
- having single binary is more optimal.
-
- Each applet will be a tiny program, dynamically linked
- against libbusybox.so.N.N.N.
-
- You need to have a working dynamic linker.
-
-config BUSYBOX_CONFIG_FEATURE_SHARED_BUSYBOX
- bool "Produce additional busybox binary linked against libbusybox"
- default n
- depends on BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
- help
- Build busybox, dynamically linked against libbusybox.so.N.N.N.
-
- You need to have a working dynamic linker.
-
-### config BUILD_AT_ONCE
-### bool "Compile all sources at once"
-### default n
-### help
-### Normally each source-file is compiled with one invocation of
-### the compiler.
-### If you set this option, all sources are compiled at once.
-### This gives the compiler more opportunities to optimize which can
-### result in smaller and/or faster binaries.
-###
-### Setting this option will consume alot of memory, e.g. if you
-### enable all applets with all features, gcc uses more than 300MB
-### RAM during compilation of busybox.
-###
-### This option is most likely only beneficial for newer compilers
-### such as gcc-4.1 and above.
-###
-### Say 'N' unless you know what you are doing.
-
-config BUSYBOX_CONFIG_LFS
- bool
- default y
- help
- If you want to build BusyBox with large file support, then enable
- this option. This will have no effect if your kernel or your C
- library lacks large file support for large files. Some of the
- programs that can benefit from large file support include dd, gzip,
- cp, mount, tar, and many others. If you want to access files larger
- than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'.
-
-config BUSYBOX_CONFIG_CROSS_COMPILER_PREFIX
- string "Cross Compiler prefix"
- default ""
- help
- If you want to build BusyBox with a cross compiler, then you
- will need to set this to the cross-compiler prefix, for example,
- "i386-uclibc-".
-
- Note that CROSS_COMPILE environment variable or
- "make CROSS_COMPILE=xxx ..." will override this selection.
-
- 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'
-
-config BUSYBOX_CONFIG_DEBUG
- bool "Build BusyBox with extra Debugging symbols"
- default n
- help
- Say Y here if you wish to examine BusyBox internals while applets are
- running. This increases the size of the binary considerably, and
- should only be used when doing development. If you are doing
- development and want to debug BusyBox, answer Y.
-
- Most people should answer N.
-
-config BUSYBOX_CONFIG_DEBUG_PESSIMIZE
- bool "Disable compiler optimizations"
- default n
- depends on BUSYBOX_CONFIG_DEBUG
- help
- The compiler's optimization of source code can eliminate and reorder
- code, resulting in an executable that's hard to understand when
- stepping through it with a debugger. This switches it off, resulting
- in a much bigger executable that more closely matches the source
- code.
-
-config BUSYBOX_CONFIG_WERROR
- bool "Abort compilation on any warning"
- default n
- help
- Selecting this will add -Werror to gcc command line.
-
- Most people should answer N.
-
-choice
- prompt "Additional debugging library"
- default BUSYBOX_CONFIG_NO_DEBUG_LIB
- help
- Using an additional debugging library will make BusyBox become
- considerable larger and will cause it to run more slowly. You
- should always leave this option disabled for production use.
-
- dmalloc support:
- ----------------
- This enables compiling with dmalloc ( http://dmalloc.com/ )
- which is an excellent public domain mem leak and malloc problem
- detector. To enable dmalloc, before running busybox you will
- want to properly set your environment, for example:
- export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
- The 'debug=' value is generated using the following command
- dmalloc -p log-stats -p log-non-free -p log-bad-space \
- -p log-elapsed-time -p check-fence -p check-heap \
- -p check-lists -p check-blank -p check-funcs -p realloc-copy \
- -p allow-free-null
-
- Electric-fence support:
- -----------------------
- This enables compiling with Electric-fence support. Electric
- fence is another very useful malloc debugging library which uses
- your computer's virtual memory hardware to detect illegal memory
- accesses. This support will make BusyBox be considerable larger
- and run slower, so you should leave this option disabled unless
- you are hunting a hard to find memory problem.
-
-
-config BUSYBOX_CONFIG_NO_DEBUG_LIB
- bool "None"
-
-config BUSYBOX_CONFIG_DMALLOC
- bool "Dmalloc"
-
-config BUSYBOX_CONFIG_EFENCE
- bool "Electric-fence"
-
-endchoice
-
-endmenu
-
-menu 'Installation Options ("make install" behavior)'
-
-choice
- prompt "What kind of applet links to install"
- default BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
- help
- Choose what kind of links to applets are created by "make install".
-
-config BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
- bool "as soft-links"
- help
- Install applets as soft-links to the busybox binary. This needs some
- free inodes on the filesystem, but might help with filesystem
- generators that can't cope with hard-links.
-
-config BUSYBOX_CONFIG_INSTALL_APPLET_HARDLINKS
- bool "as hard-links"
- help
- Install applets as hard-links to the busybox binary. This might
- count on a filesystem with few inodes.
-
-config BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
- bool "as script wrappers"
- help
- Install applets as script wrappers that call the busybox binary.
-
-config BUSYBOX_CONFIG_INSTALL_APPLET_DONT
- bool "not installed"
- help
- Do not install applet links. Useful when you plan to use
- busybox --install for installing links, or plan to use
- a standalone shell and thus don't need applet links.
-
-endchoice
-
-choice
- prompt "/bin/sh applet link"
- default BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
- depends on BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
- help
- Choose how you install /bin/sh applet link.
-
-config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
- bool "as soft-link"
- help
- Install /bin/sh applet as soft-link to the busybox binary.
-
-config BUSYBOX_CONFIG_INSTALL_SH_APPLET_HARDLINK
- bool "as hard-link"
- help
- Install /bin/sh applet as hard-link to the busybox binary.
-
-config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER
- bool "as script wrapper"
- help
- Install /bin/sh applet as script wrapper that calls
- the busybox binary.
-
-endchoice
-
-config BUSYBOX_CONFIG_PREFIX
- string "BusyBox installation prefix"
- default "./_install"
- help
- Define your directory to install BusyBox files/subdirs in.
-
-endmenu
-
-source package/busybox/config/libbb/Config.in
-
-endmenu
-
-comment "Applets"
-
-source package/busybox/config/archival/Config.in
-source package/busybox/config/coreutils/Config.in
-source package/busybox/config/console-tools/Config.in
-source package/busybox/config/debianutils/Config.in
-source package/busybox/config/editors/Config.in
-source package/busybox/config/findutils/Config.in
-source package/busybox/config/init/Config.in
-source package/busybox/config/loginutils/Config.in
-source package/busybox/config/e2fsprogs/Config.in
-source package/busybox/config/modutils/Config.in
-source package/busybox/config/util-linux/Config.in
-source package/busybox/config/miscutils/Config.in
-source package/busybox/config/networking/Config.in
-source package/busybox/config/printutils/Config.in
-source package/busybox/config/mailutils/Config.in
-source package/busybox/config/procps/Config.in
-source package/busybox/config/runit/Config.in
-source package/busybox/config/selinux/Config.in
-source package/busybox/config/shell/Config.in
-source package/busybox/config/sysklogd/Config.in
diff --git a/package/busybox/config/archival/Config.in b/package/busybox/config/archival/Config.in
deleted file mode 100644
index d2bfa4848b..0000000000
--- a/package/busybox/config/archival/Config.in
+++ /dev/null
@@ -1,380 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-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
- help
- Make tar, rpm, modprobe etc understand .lzma data.
-
-config BUSYBOX_CONFIG_FEATURE_SEAMLESS_BZ2
- bool "Make tar, rpm, modprobe etc understand .bz2 data"
- default n
- help
- Make tar, rpm, modprobe etc understand .bz2 data.
-
-config BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ
- bool "Make tar, rpm, modprobe etc understand .gz data"
- default y
- help
- Make tar, rpm, modprobe etc understand .gz data.
-
-config BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z
- bool "Make tar and gunzip understand .Z data"
- default n
- help
- Make tar and gunzip understand .Z data.
-
-config BUSYBOX_CONFIG_AR
- bool "ar"
- default n # needs to be improved to be able to replace binutils ar
- help
- ar is an archival utility program used to create, modify, and
- extract contents from archives. An archive is a single file holding
- a collection of other files in a structure that makes it possible to
- retrieve the original individual files (called archive members).
- The original files' contents, mode (permissions), timestamp, owner,
- and group are preserved in the archive, and can be restored on
- extraction.
-
- The stored filename is limited to 15 characters. (for more information
- see long filename support).
- ar has 60 bytes of overheads for every stored file.
-
- This implementation of ar can extract archives, it cannot create or
- modify them.
- On an x86 system, the ar applet adds about 1K.
-
- Unless you have a specific application which requires ar, you should
- probably say N here.
-
-config BUSYBOX_CONFIG_FEATURE_AR_LONG_FILENAMES
- bool "Support for long filenames (not needed for debs)"
- default n
- depends on BUSYBOX_CONFIG_AR
- help
- By default the ar format can only store the first 15 characters
- of the filename, this option removes that limitation.
- 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
- help
- bunzip2 is a compression utility using the Burrows-Wheeler block
- sorting text compression algorithm, and Huffman coding. Compression
- is generally considerably better than that achieved by more
- conventional LZ77/LZ78-based compressors, and approaches the
- performance of the PPM family of statistical compressors.
-
- Unless you have a specific application which requires bunzip2, you
- should probably say N here.
-
-config BUSYBOX_CONFIG_BZIP2
- bool "bzip2"
- default n
- help
- bzip2 is a compression utility using the Burrows-Wheeler block
- sorting text compression algorithm, and Huffman coding. Compression
- is generally considerably better than that achieved by more
- conventional LZ77/LZ78-based compressors, and approaches the
- performance of the PPM family of statistical compressors.
-
- Unless you have a specific application which requires bzip2, you
- should probably say N here.
-
-config BUSYBOX_CONFIG_CPIO
- bool "cpio"
- default n
- help
- cpio is an archival utility program used to create, modify, and
- extract contents from archives.
- cpio has 110 bytes of overheads for every stored file.
-
- This implementation of cpio can extract cpio archives created in the
- "newc" or "crc" format, it cannot create or modify them.
-
- Unless you have a specific application which requires cpio, you
- should probably say N here.
-
-config BUSYBOX_CONFIG_FEATURE_CPIO_O
- bool "Support for archive creation"
- default n
- depends on BUSYBOX_CONFIG_CPIO
- help
- This implementation of cpio can create cpio archives in the "newc"
- format only.
-
-config BUSYBOX_CONFIG_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
- select BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ
- help
- dpkg is a medium-level tool to install, build, remove and manage
- Debian packages.
-
- This implementation of dpkg has a number of limitations,
- you should use the official dpkg if possible.
-
-config BUSYBOX_CONFIG_DPKG_DEB
- bool "dpkg_deb"
- default n
- select BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ
- help
- dpkg-deb unpacks and provides information about Debian archives.
-
- This implementation of dpkg-deb cannot pack archives.
-
- Unless you have a specific application which requires dpkg-deb,
- say N here.
-
-config BUSYBOX_CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY
- bool "Extract only (-x)"
- default n
- depends on BUSYBOX_CONFIG_DPKG_DEB
- help
- This reduces dpkg-deb to the equivalent of
- "ar -p <deb> data.tar.gz | tar -zx". However it saves space as none
- of the extra dpkg-deb, ar or tar options are needed, they are linked
- to internally.
-
-config BUSYBOX_CONFIG_GUNZIP
- bool "gunzip"
- default y
- help
- gunzip is used to decompress archives created by gzip.
- You can use the `-t' option to test the integrity of
- an archive, without decompressing it.
-
-config BUSYBOX_CONFIG_GZIP
- bool "gzip"
- default y
- help
- gzip is used to compress files.
- It's probably the most widely used UNIX compression program.
-
-config BUSYBOX_CONFIG_FEATURE_GZIP_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_CONFIG_GZIP && BUSYBOX_CONFIG_LONG_OPTS
- help
- Enable use of long options, increases size by about 106 Bytes
-
-config BUSYBOX_CONFIG_LZOP
- bool "lzop"
- default n
- help
- Lzop compression/decompresion.
-
-config BUSYBOX_CONFIG_LZOP_COMPR_HIGH
- bool "lzop compression levels 7,8,9 (not very useful)"
- default n
- depends on BUSYBOX_CONFIG_LZOP
- help
- High levels (7,8,9) of lzop compression. These levels
- are actually slower than gzip at equivalent compression ratios
- and take up 3.2K of code.
-
-config BUSYBOX_CONFIG_RPM2CPIO
- bool "rpm2cpio"
- default n
- help
- Converts a RPM file into a CPIO archive.
-
-config BUSYBOX_CONFIG_RPM
- bool "rpm"
- default n
- help
- Mini RPM applet - queries and extracts RPM packages.
-
-config BUSYBOX_CONFIG_TAR
- bool "tar"
- default y
- help
- tar is an archiving program. It's commonly used with gzip to
- create compressed archives. It's probably the most widely used
- UNIX archive program.
-
-config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
- bool "Enable archive creation"
- default y
- depends on BUSYBOX_CONFIG_TAR
- help
- If you enable this option you'll be able to create
- tar archives using the `-c' option.
-
-config BUSYBOX_CONFIG_FEATURE_TAR_AUTODETECT
- bool "Autodetect compressed tarballs"
- default n
- 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).
-
-config BUSYBOX_CONFIG_FEATURE_TAR_FROM
- bool "Enable -X (exclude from) and -T (include from) options)"
- default y
- depends on BUSYBOX_CONFIG_TAR
- help
- If you enable this option you'll be able to specify
- a list of files to include or exclude from an archive.
-
-config BUSYBOX_CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY
- bool "Support for old tar header format"
- default n
- 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
- repacking your ancient archives with the new format.
-
-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 || 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
- arithmetic). It is said to be fixed in newer Sun tar, but "old"
- tarballs still exist.
-
-config BUSYBOX_CONFIG_FEATURE_TAR_GNU_EXTENSIONS
- bool "Support for GNU tar extensions (long filenames)"
- default y
- depends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_DPKG
- help
- With this option busybox supports GNU long filenames and
- linknames.
-
-config BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_LONG_OPTS
- 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
- depends on BUSYBOX_CONFIG_TAR
- help
- Enables use of user and group names in tar. This affects contents
- listings (-t) and preserving permissions when unpacking (-p).
- +200 bytes.
-
-config BUSYBOX_CONFIG_FEATURE_TAR_NOPRESERVE_TIME
- bool "Enable -m (do not preserve time) option"
- default n
- depends on BUSYBOX_CONFIG_TAR
- help
- With this option busybox supports GNU tar -m
- (do not preserve time) option.
-
-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"
- default n
- help
- uncompress is used to decompress archives created by compress.
- Not much used anymore, replaced by gzip/gunzip.
-
-config BUSYBOX_CONFIG_UNLZMA
- bool "unlzma"
- default n
- help
- unlzma is a compression utility using the Lempel-Ziv-Markov chain
- compression algorithm, and range coding. Compression
- is generally considerably better than that achieved by the bzip2
- compressors.
-
- The BusyBox unlzma applet is limited to de-compression only.
- On an x86 system, this applet adds about 4K.
-
- Unless you have a specific application which requires unlzma, you
- should probably say N here.
-
-config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
- bool "Optimize unlzma for speed"
- default n
- depends on BUSYBOX_CONFIG_UNLZMA
- help
- 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
- help
- unzip will list or extract files from a ZIP archive,
- commonly found on DOS/WIN systems. The default behavior
- (with no options) is to extract the archive into the
- current directory. Use the `-d' option to extract to a
- directory of your choice.
-
-endmenu
diff --git a/package/busybox/config/console-tools/Config.in b/package/busybox/config/console-tools/Config.in
deleted file mode 100644
index 9069b0f1a1..0000000000
--- a/package/busybox/config/console-tools/Config.in
+++ /dev/null
@@ -1,177 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Console Utilities"
-
-
-
-config BUSYBOX_CONFIG_CHVT
- bool "chvt"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- 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
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- This program prints active (foreground) console number.
-
-config BUSYBOX_CONFIG_CLEAR
- bool "clear"
- default y
- help
- This program clears the terminal screen.
-
-config BUSYBOX_CONFIG_DEALLOCVT
- bool "deallocvt"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- This program deallocates unused virtual consoles.
-
-config BUSYBOX_CONFIG_DUMPKMAP
- bool "dumpkmap"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- This program dumps the kernel's keyboard translation table to
- stdout, in binary format. You can then use loadkmap to load it.
-
-config BUSYBOX_CONFIG_KBD_MODE
- bool "kbd_mode"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- This program reports and sets keyboard mode.
-
-config BUSYBOX_CONFIG_LOADFONT
- bool "loadfont"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- This program loads a console font from standard input.
-
-config BUSYBOX_CONFIG_LOADKMAP
- bool "loadkmap"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- This program loads a keyboard translation table from
- standard input.
-
-config BUSYBOX_CONFIG_OPENVT
- bool "openvt"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- This program is used to start a command on an unused
- virtual terminal.
-
-config BUSYBOX_CONFIG_RESET
- bool "reset"
- default y
- help
- This program is used to reset the terminal screen, if it
- gets messed up.
-
-config BUSYBOX_CONFIG_RESIZE
- bool "resize"
- default n
- help
- This program is used to (re)set the width and height of your current
- terminal.
-
-config BUSYBOX_CONFIG_FEATURE_RESIZE_PRINT
- bool "Print environment variables"
- default n
- depends on BUSYBOX_CONFIG_RESIZE
- help
- Prints the newly set size (number of columns and rows) of
- the terminal.
- E.g.:
- COLUMNS=80;LINES=44;export COLUMNS LINES;
-
-config BUSYBOX_CONFIG_SETCONSOLE
- bool "setconsole"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- This program redirects the system console to another device,
- like the current tty while logged in via telnet.
-
-config BUSYBOX_CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_CONFIG_SETCONSOLE && BUSYBOX_CONFIG_LONG_OPTS
- help
- Support long options for the setconsole applet.
-
-config BUSYBOX_CONFIG_SETFONT
- bool "setfont"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Allows to load console screen map. Useful for i18n.
-
-config BUSYBOX_CONFIG_FEATURE_SETFONT_TEXTUAL_MAP
- bool "Support reading textual screen maps"
- default n
- depends on BUSYBOX_CONFIG_SETFONT
- help
- Support reading textual screen maps.
-
-config BUSYBOX_CONFIG_DEFAULT_SETFONT_DIR
- string "Default directory for console-tools files"
- default ""
- depends on BUSYBOX_CONFIG_SETFONT
- help
- Directory to use if setfont's params are simple filenames
- (not /path/to/file or ./file). Default is "" (no default directory).
-
-config BUSYBOX_CONFIG_SETKEYCODES
- bool "setkeycodes"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- This program loads entries into the kernel's scancode-to-keycode
- map, allowing unusual keyboards to generate usable keycodes.
-
-config BUSYBOX_CONFIG_SETLOGCONS
- bool "setlogcons"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- This program redirects the output console of kernel messages.
-
-config BUSYBOX_CONFIG_SHOWKEY
- bool "showkey"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- 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
diff --git a/package/busybox/config/coreutils/Config.in b/package/busybox/config/coreutils/Config.in
deleted file mode 100644
index 33a5e25e62..0000000000
--- a/package/busybox/config/coreutils/Config.in
+++ /dev/null
@@ -1,913 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Coreutils"
-
-config BUSYBOX_CONFIG_BASENAME
- bool "basename"
- default y
- help
- 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_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.
-
-# defaults to "no": stat's nanosecond field is a bit non-portable
-config BUSYBOX_CONFIG_FEATURE_DATE_NANO
- bool "Support %[num]N nanosecond format specifier"
- default n
- depends on BUSYBOX_CONFIG_DATE # syscall(__NR_clock_gettime)
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- 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_ID
- bool "id"
- default y
- help
- id displays the current user and group ID names.
-config BUSYBOX_CONFIG_GROUPS
- bool "groups"
- default n
- help
- Print the group names associated with current user id.
-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
- help
- 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_BASE64
- bool "base64"
- default n
- help
- Base64 encode and decode
-config BUSYBOX_CONFIG_WHO
- bool "who"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_UTMP
- help
- who is used to show who is logged on.
-config BUSYBOX_CONFIG_USERS
- bool "users"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_UTMP
- help
- Print users currently logged on.
-
-config BUSYBOX_CONFIG_CAL
- bool "cal"
- default n
- help
- cal is used to display a monthly calender.
-
-config BUSYBOX_CONFIG_CATV
- bool "catv"
- default n
- help
- Display nonprinting characters as escape sequences (like some
- implementations' cat -v option).
-
-config BUSYBOX_CONFIG_CHGRP
- bool "chgrp"
- default y
- help
- chgrp is used to change the group ownership of files.
-
-config BUSYBOX_CONFIG_CHMOD
- bool "chmod"
- default y
- help
- chmod is used to change the access permission of files.
-
-config BUSYBOX_CONFIG_CHOWN
- bool "chown"
- default y
- help
- chown is used to change the user and/or group ownership
- of files.
-
-config BUSYBOX_CONFIG_FEATURE_CHOWN_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_CONFIG_CHOWN && BUSYBOX_CONFIG_LONG_OPTS
- help
- Enable use of long options
-
-config BUSYBOX_CONFIG_CHROOT
- bool "chroot"
- default y
- help
- chroot is used to change the root directory and run a command.
- The default command is `/bin/sh'.
-
-config BUSYBOX_CONFIG_CKSUM
- bool "cksum"
- default n
- help
- cksum is used to calculate the CRC32 checksum of a file.
-
-config BUSYBOX_CONFIG_COMM
- bool "comm"
- default n
- help
- comm is used to compare two files line by line and return
- a three-column output.
-
-config BUSYBOX_CONFIG_CP
- bool "cp"
- default y
- help
- cp is used to copy files and directories.
-
-config BUSYBOX_CONFIG_FEATURE_CP_LONG_OPTIONS
- bool "Enable long options for cp"
- default n
- depends on BUSYBOX_CONFIG_CP && BUSYBOX_CONFIG_LONG_OPTS
- help
- Enable long options for cp.
- Also add support for --parents option.
-
-config BUSYBOX_CONFIG_CUT
- bool "cut"
- default y
- help
- cut is used to print selected parts of lines from
- each file to stdout.
-
-config BUSYBOX_CONFIG_DD
- bool "dd"
- default y
- help
- dd copies a file (from standard input to standard output,
- by default) using specific input and output blocksizes,
- while optionally performing conversions on it.
-
-config BUSYBOX_CONFIG_FEATURE_DD_SIGNAL_HANDLING
- bool "Enable DD signal handling for status reporting"
- default y
- depends on BUSYBOX_CONFIG_DD
- help
- Sending a SIGUSR1 signal to a running `dd' process makes it
- print to standard error the number of records read and written
- so far, then to resume copying.
-
- $ dd if=/dev/zero of=/dev/null&
- $ pid=$! kill -USR1 $pid; sleep 1; kill $pid
- 10899206+0 records in
- 10899206+0 records out
-
-config BUSYBOX_CONFIG_FEATURE_DD_THIRD_STATUS_LINE
- bool "Enable the third status line upon signal"
- default n
- depends on BUSYBOX_CONFIG_DD && BUSYBOX_CONFIG_FEATURE_DD_SIGNAL_HANDLING
- help
- Displays a coreutils-like third status line with transferred bytes,
- elapsed time and speed.
-
-config BUSYBOX_CONFIG_FEATURE_DD_IBS_OBS
- bool "Enable ibs, obs and conv options"
- default y
- depends on BUSYBOX_CONFIG_DD
- help
- Enables support for writing a certain number of bytes in and out,
- at a time, and performing conversions on the data stream.
-
-config BUSYBOX_CONFIG_DF
- bool "df"
- default y
- help
- df reports the amount of disk space used and available
- on filesystems.
-
-config BUSYBOX_CONFIG_FEATURE_DF_FANCY
- bool "Enable -a, -i, -B"
- default n
- depends on BUSYBOX_CONFIG_DF
- 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
- help
- dirname is used to strip a non-directory suffix from
- a file name.
-
-config BUSYBOX_CONFIG_DOS2UNIX
- bool "dos2unix/unix2dos"
- default n
- help
- dos2unix is used to convert a text file from DOS format to
- UNIX format, and vice versa.
-
-config BUSYBOX_CONFIG_UNIX2DOS
- bool
- default n
- depends on BUSYBOX_CONFIG_DOS2UNIX
- help
- unix2dos is used to convert a text file from UNIX format to
- DOS format, and vice versa.
-
-config BUSYBOX_CONFIG_DU
- bool "du (default blocksize of 512 bytes)"
- default y
- help
- du is used to report the amount of disk space used
- for specified files.
-
-config BUSYBOX_CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K
- bool "Use a default blocksize of 1024 bytes (1K)"
- default y
- depends on BUSYBOX_CONFIG_DU
- help
- Use a blocksize of (1K) instead of the default 512b.
-
-config BUSYBOX_CONFIG_ECHO
- bool "echo (basic SuSv3 version taking no options)"
- default y
- help
- echo is used to print a specified string to stdout.
-
-# this entry also appears in shell/Config.in, next to the echo builtin
-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 || BUSYBOX_CONFIG_HUSH
- help
- This adds options (-n and -e) to echo.
-
-config BUSYBOX_CONFIG_ENV
- bool "env"
- default y
- help
- env is used to set an environment variable and run
- a command; without options it displays the current
- environment.
-
-config BUSYBOX_CONFIG_FEATURE_ENV_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_CONFIG_ENV && BUSYBOX_CONFIG_LONG_OPTS
- help
- Support long options for the env applet.
-
-config BUSYBOX_CONFIG_EXPAND
- bool "expand"
- default n
- help
- By default, convert all tabs to spaces.
-
-config BUSYBOX_CONFIG_FEATURE_EXPAND_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_CONFIG_EXPAND && BUSYBOX_CONFIG_LONG_OPTS
- help
- Support long options for the expand applet.
-
-config BUSYBOX_CONFIG_EXPR
- bool "expr"
- default y
- help
- expr is used to calculate numbers and print the result
- to standard output.
-
-config BUSYBOX_CONFIG_EXPR_MATH_SUPPORT_64
- bool "Extend Posix numbers support to 64 bit"
- default y
- depends on BUSYBOX_CONFIG_EXPR
- help
- Enable 64-bit math support in the expr applet. This will make
- the applet slightly larger, but will allow computation with very
- large numbers.
-
-config BUSYBOX_CONFIG_FALSE
- bool "false"
- default y
- help
- false returns an exit code of FALSE (1).
-
-config BUSYBOX_CONFIG_FOLD
- bool "fold"
- default n
- help
- Wrap text to fit a specific width.
-
-config BUSYBOX_CONFIG_FSYNC
- bool "fsync"
- default y
- help
- fsync is used to flush file-related cached blocks to disk.
-
-config BUSYBOX_CONFIG_HEAD
- bool "head"
- default y
- help
- head is used to print the first specified number of lines
- from files.
-
-config BUSYBOX_CONFIG_FEATURE_FANCY_HEAD
- bool "Enable head options (-c, -q, and -v)"
- default y
- depends on BUSYBOX_CONFIG_HEAD
- help
- This enables the head options (-c, -q, and -v).
-
-config BUSYBOX_CONFIG_HOSTID
- bool "hostid"
- default y
- help
- hostid prints the numeric identifier (in hexadecimal) for
- the current host.
-
-config BUSYBOX_CONFIG_INSTALL
- bool "install"
- default n
- help
- Copy files and set attributes.
-
-config BUSYBOX_CONFIG_FEATURE_INSTALL_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_CONFIG_INSTALL && BUSYBOX_CONFIG_LONG_OPTS
- help
- Support long options for the install applet.
-
-####config LENGTH
-#### bool "length"
-#### default y
-#### help
-#### length is used to print out the length of a specified string.
-
-config BUSYBOX_CONFIG_LN
- bool "ln"
- default y
- help
- ln is used to create hard or soft links between files.
-
-config BUSYBOX_CONFIG_LOGNAME
- bool "logname"
- default n
- help
- logname is used to print the current user's login name.
-
-config BUSYBOX_CONFIG_LS
- bool "ls"
- default y
- help
- ls is used to list the contents of directories.
-
-config BUSYBOX_CONFIG_FEATURE_LS_FILETYPES
- bool "Enable filetyping options (-p and -F)"
- default y
- depends on BUSYBOX_CONFIG_LS
- help
- Enable the ls options (-p and -F).
-
-config BUSYBOX_CONFIG_FEATURE_LS_FOLLOWLINKS
- bool "Enable symlinks dereferencing (-L)"
- default y
- depends on BUSYBOX_CONFIG_LS
- help
- Enable the ls option (-L).
-
-config BUSYBOX_CONFIG_FEATURE_LS_RECURSIVE
- bool "Enable recursion (-R)"
- default y
- depends on BUSYBOX_CONFIG_LS
- help
- Enable the ls option (-R).
-
-config BUSYBOX_CONFIG_FEATURE_LS_SORTFILES
- bool "Sort the file names"
- default y
- depends on BUSYBOX_CONFIG_LS
- help
- Allow ls to sort file names alphabetically.
-
-config BUSYBOX_CONFIG_FEATURE_LS_TIMESTAMPS
- bool "Show file timestamps"
- default y
- depends on BUSYBOX_CONFIG_LS
- help
- Allow ls to display timestamps for files.
-
-config BUSYBOX_CONFIG_FEATURE_LS_USERNAME
- bool "Show username/groupnames"
- default y
- depends on BUSYBOX_CONFIG_LS
- help
- Allow ls to display username/groupname for files.
-
-config BUSYBOX_CONFIG_FEATURE_LS_COLOR
- bool "Allow use of color to identify file types"
- default y
- depends on BUSYBOX_CONFIG_LS && BUSYBOX_CONFIG_LONG_OPTS
- help
- This enables the --color option to ls.
-
-config BUSYBOX_CONFIG_FEATURE_LS_COLOR_IS_DEFAULT
- bool "Produce colored ls output by default"
- default y
- depends on BUSYBOX_CONFIG_FEATURE_LS_COLOR
- help
- Saying yes here will turn coloring on by default,
- even if no "--color" option is given to the ls command.
- This is not recommended, since the colors are not
- configurable, and the output may not be legible on
- many output screens.
-
-config BUSYBOX_CONFIG_MD5SUM
- bool "md5sum"
- default y
- help
- md5sum is used to print or check MD5 checksums.
-
-config BUSYBOX_CONFIG_MKDIR
- bool "mkdir"
- default y
- help
- mkdir is used to create directories with the specified names.
-
-config BUSYBOX_CONFIG_FEATURE_MKDIR_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_CONFIG_MKDIR && BUSYBOX_CONFIG_LONG_OPTS
- help
- Support long options for the mkdir applet.
-
-config BUSYBOX_CONFIG_MKFIFO
- bool "mkfifo"
- default y
- help
- mkfifo is used to create FIFOs (named pipes).
- The `mknod' program can also create FIFOs.
-
-config BUSYBOX_CONFIG_MKNOD
- bool "mknod"
- default y
- help
- mknod is used to create FIFOs or block/character special
- files with the specified names.
-
-config BUSYBOX_CONFIG_MV
- bool "mv"
- default y
- help
- mv is used to move or rename files or directories.
-
-config BUSYBOX_CONFIG_FEATURE_MV_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_CONFIG_MV && BUSYBOX_CONFIG_LONG_OPTS
- help
- Support long options for the mv applet.
-
-config BUSYBOX_CONFIG_NICE
- bool "nice"
- default y
- help
- nice runs a program with modified scheduling priority.
-
-config BUSYBOX_CONFIG_NOHUP
- bool "nohup"
- default n
- help
- run a command immune to hangups, with output to a non-tty.
-
-config BUSYBOX_CONFIG_OD
- bool "od"
- default n
- help
- od is used to dump binary files in octal and other formats.
-
-config BUSYBOX_CONFIG_PRINTENV
- bool "printenv"
- default n
- help
- printenv is used to print all or part of environment.
-
-config BUSYBOX_CONFIG_PRINTF
- bool "printf"
- default y
- help
- printf is used to format and print specified strings.
- It's similar to `echo' except it has more options.
-
-config BUSYBOX_CONFIG_PWD
- bool "pwd"
- default y
- help
- pwd is used to print the current directory.
-
-config BUSYBOX_CONFIG_READLINK
- bool "readlink"
- default y
- help
- This program reads a symbolic link and returns the name
- of the file it points to
-
-config BUSYBOX_CONFIG_FEATURE_READLINK_FOLLOW
- bool "Enable canonicalization by following all symlinks (-f)"
- default y
- depends on BUSYBOX_CONFIG_READLINK
- help
- Enable the readlink option (-f).
-
-config BUSYBOX_CONFIG_REALPATH
- bool "realpath"
- default n
- help
- Return the canonicalized absolute pathname.
- This isn't provided by GNU shellutils, but where else does it belong.
-
-config BUSYBOX_CONFIG_RM
- bool "rm"
- default y
- help
- rm is used to remove files or directories.
-
-config BUSYBOX_CONFIG_RMDIR
- bool "rmdir"
- default y
- help
- rmdir is used to remove empty directories.
-
-config BUSYBOX_CONFIG_FEATURE_RMDIR_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_CONFIG_RMDIR && BUSYBOX_CONFIG_LONG_OPTS
- help
- Support long options for the rmdir applet, including
- --ignore-fail-on-non-empty for compatibility with GNU rmdir.
-
-config BUSYBOX_CONFIG_SEQ
- bool "seq"
- default y
- help
- print a sequence of numbers
-
-config BUSYBOX_CONFIG_SHA1SUM
- bool "sha1sum"
- default n
- 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
- help
- sleep is used to pause for a specified number of seconds.
- It comes in 3 versions:
- - small: takes one integer parameter
- - fancy: takes multiple integer arguments with suffixes:
- sleep 1d 2h 3m 15s
- - fancy with fractional numbers:
- sleep 2.3s 4.5h sleeps for 16202.3 seconds
- Last one is "the most compatible" with coreutils sleep,
- but it adds around 1k of code.
-
-config BUSYBOX_CONFIG_FEATURE_FANCY_SLEEP
- bool "Enable multiple arguments and s/m/h/d suffixes"
- default y
- depends on BUSYBOX_CONFIG_SLEEP
- help
- Allow sleep to pause for specified minutes, hours, and days.
-
-config BUSYBOX_CONFIG_FEATURE_FLOAT_SLEEP
- bool "Enable fractional arguments"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_FANCY_SLEEP
- help
- Allow for fractional numeric parameters.
-
-config BUSYBOX_CONFIG_SORT
- bool "sort"
- default y
- help
- sort is used to sort lines of text in specified files.
-
-config BUSYBOX_CONFIG_FEATURE_SORT_BIG
- bool "Full SuSv3 compliant sort (support -ktcsbdfiozgM)"
- default n
- depends on BUSYBOX_CONFIG_SORT
- help
- Without this, sort only supports -r, -u, and an integer version
- of -n. Selecting this adds sort keys, floating point support, and
- more. This adds a little over 3k to a nonstatic build on x86.
-
- The SuSv3 sort standard is available at:
- http://www.opengroup.org/onlinepubs/007904975/utilities/sort.html
-
-config BUSYBOX_CONFIG_SPLIT
- bool "split"
- default n
- help
- split a file into pieces.
-
-config BUSYBOX_CONFIG_FEATURE_SPLIT_FANCY
- bool "Fancy extensions"
- default n
- depends on BUSYBOX_CONFIG_SPLIT
- help
- Add support for features not required by SUSv3.
- Supports additional suffixes 'b' for 512 bytes,
- 'g' for 1GiB for the -b option.
-
-config BUSYBOX_CONFIG_STAT
- bool "stat"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX # statfs()
- help
- display file or filesystem status.
-
-config BUSYBOX_CONFIG_FEATURE_STAT_FORMAT
- bool "Enable custom formats (-c)"
- default n
- depends on BUSYBOX_CONFIG_STAT
- help
- Without this, stat will not support the '-c format' option where
- users can pass a custom format string for output. This adds about
- 7k to a nonstatic build on amd64.
-
-config BUSYBOX_CONFIG_STTY
- bool "stty"
- default n
- help
- stty is used to change and print terminal line settings.
-
-config BUSYBOX_CONFIG_SUM
- bool "sum"
- default n
- help
- checksum and count the blocks in a file
-
-config BUSYBOX_CONFIG_SYNC
- bool "sync"
- default y
- help
- sync is used to flush filesystem buffers.
-
-config BUSYBOX_CONFIG_TAC
- bool "tac"
- default n
- help
- tac is used to concatenate and print files in reverse.
-
-config BUSYBOX_CONFIG_TAIL
- bool "tail"
- default y
- help
- tail is used to print the last specified number of lines
- from files.
-
-config BUSYBOX_CONFIG_FEATURE_FANCY_TAIL
- bool "Enable extra tail options (-q, -s, -v, and -F)"
- default y
- depends on BUSYBOX_CONFIG_TAIL
- help
- 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
- help
- tee is used to read from standard input and write
- to standard output and files.
-
-config BUSYBOX_CONFIG_FEATURE_TEE_USE_BLOCK_IO
- bool "Enable block I/O (larger/faster) instead of byte I/O"
- default y
- depends on BUSYBOX_CONFIG_TEE
- help
- Enable this option for a faster tee, at expense of size.
-
-config BUSYBOX_CONFIG_TRUE
- bool "true"
- default y
- help
- true returns an exit code of TRUE (0).
-
-config BUSYBOX_CONFIG_TTY
- bool "tty"
- default n
- help
- tty is used to print the name of the current terminal to
- standard output.
-
-config BUSYBOX_CONFIG_UNAME
- bool "uname"
- default y
- help
- uname is used to print system information.
-
-config BUSYBOX_CONFIG_UNEXPAND
- bool "unexpand"
- default n
- help
- By default, convert only leading sequences of blanks to tabs.
-
-config BUSYBOX_CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_CONFIG_UNEXPAND && BUSYBOX_CONFIG_LONG_OPTS
- help
- Support long options for the unexpand applet.
-
-config BUSYBOX_CONFIG_UNIQ
- bool "uniq"
- default y
- help
- uniq is used to remove duplicate lines from a sorted file.
-
-config BUSYBOX_CONFIG_USLEEP
- bool "usleep"
- default n
- help
- usleep is used to pause for a specified number of microseconds.
-
-config BUSYBOX_CONFIG_UUDECODE
- bool "uudecode"
- default n
- help
- uudecode is used to decode a uuencoded file.
-
-config BUSYBOX_CONFIG_UUENCODE
- bool "uuencode"
- default n
- help
- uuencode is used to uuencode a file.
-
-config BUSYBOX_CONFIG_WC
- bool "wc"
- default y
- help
- wc is used to print the number of bytes, words, and lines,
- in specified files.
-
-config BUSYBOX_CONFIG_FEATURE_WC_LARGE
- bool "Support very large files in wc"
- default n
- depends on BUSYBOX_CONFIG_WC
- help
- Use "unsigned long long" in wc for counter variables.
-
-config BUSYBOX_CONFIG_WHOAMI
- bool "whoami"
- default n
- help
- whoami is used to print the username of the current
- user id (same as id -un).
-
-config BUSYBOX_CONFIG_YES
- bool "yes"
- default y
- help
- yes is used to repeatedly output a specific string, or
- the default string `y'.
-
-comment "Common options for cp and mv"
- depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
-
-config BUSYBOX_CONFIG_FEATURE_PRESERVE_HARDLINKS
- bool "Preserve hard links"
- default y
- depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
- help
- Allow cp and mv to preserve hard links.
-
-comment "Common options for ls, more and telnet"
- depends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TELNET
-
-config BUSYBOX_CONFIG_FEATURE_AUTOWIDTH
- bool "Calculate terminal & column widths"
- default y
- depends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TELNET
- help
- This option allows utilities such as 'ls', 'more' and 'telnet'
- to determine the width of the screen, which can allow them to
- display additional text or avoid wrapping text onto the next line.
- If you leave this disabled, your utilities will be especially
- primitive and will be unable to determine the current screen width.
-
-comment "Common options for df, du, ls"
- depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
-
-config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE
- bool "Support for human readable output (example 13k, 23M, 235G)"
- default y
- depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
- help
- Allow df, du, and ls to have human readable output.
-
-comment "Common options for md5sum, sha1sum, sha256sum, sha512sum"
- depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM
-
-config BUSYBOX_CONFIG_FEATURE_MD5_SHA1_SUM_CHECK
- bool "Enable -c, -s and -w options"
- default y
- depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM
- help
- Enabling the -c options allows files to be checked
- against pre-calculated hash values.
-
- -s and -w are useful options when verifying checksums.
-
-endmenu
diff --git a/package/busybox/config/debianutils/Config.in b/package/busybox/config/debianutils/Config.in
deleted file mode 100644
index be69666fff..0000000000
--- a/package/busybox/config/debianutils/Config.in
+++ /dev/null
@@ -1,86 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Debian Utilities"
-
-
-
-config BUSYBOX_CONFIG_MKTEMP
- bool "mktemp"
- default y
- help
- mktemp is used to create unique temporary files
-
-config BUSYBOX_CONFIG_PIPE_PROGRESS
- bool "pipe_progress"
- default n
- help
- Display a dot to indicate pipe activity.
-
-config BUSYBOX_CONFIG_RUN_PARTS
- bool "run-parts"
- default n
- help
- run-parts is a utility designed to run all the scripts in a directory.
-
- It is useful to set up a directory like cron.daily, where you need to
- execute all the scripts in that directory.
-
- In this implementation of run-parts some features (such as report
- mode) are not implemented.
-
- Unless you know that run-parts is used in some of your scripts
- you can safely say N here.
-
-config BUSYBOX_CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_CONFIG_RUN_PARTS && BUSYBOX_CONFIG_LONG_OPTS
- help
- Support long options for the run-parts applet.
-
-config BUSYBOX_CONFIG_FEATURE_RUN_PARTS_FANCY
- bool "Support additional arguments"
- default n
- depends on BUSYBOX_CONFIG_RUN_PARTS
- help
- Support additional options:
- -l --list print the names of the all matching files (not
- limited to executables), but don't actually run them.
-
-config BUSYBOX_CONFIG_START_STOP_DAEMON
- bool "start-stop-daemon"
- default y
- help
- start-stop-daemon is used to control the creation and
- termination of system-level processes, usually the ones
- started during the startup of the system.
-
-config BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_FANCY
- bool "Support additional arguments"
- default n
- depends on BUSYBOX_CONFIG_START_STOP_DAEMON
- help
- Support additional arguments.
- -o|--oknodo ignored since we exit with 0 anyway
- -v|--verbose
- -N|--nicelevel N
-
-config BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_CONFIG_START_STOP_DAEMON && BUSYBOX_CONFIG_LONG_OPTS
- help
- Support long options for the start-stop-daemon applet.
-
-config BUSYBOX_CONFIG_WHICH
- bool "which"
- default y
- help
- which is used to find programs in your PATH and
- print out their pathnames.
-
-endmenu
diff --git a/package/busybox/config/e2fsprogs/Config.in b/package/busybox/config/e2fsprogs/Config.in
deleted file mode 100644
index 282681db0c..0000000000
--- a/package/busybox/config/e2fsprogs/Config.in
+++ /dev/null
@@ -1,72 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Linux Ext2 FS Progs"
-
-
-
-config BUSYBOX_CONFIG_CHATTR
- bool "chattr"
- default n
- help
- chattr changes the file attributes on a second extended file system.
-
-### config E2FSCK
-### bool "e2fsck"
-### default y
-### help
-### e2fsck is used to check Linux second extended file systems (ext2fs).
-### e2fsck also supports ext2 filesystems countaining a journal (ext3).
-### The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
-### provided.
-
-config BUSYBOX_CONFIG_FSCK
- bool "fsck"
- default n
- help
- fsck is used to check and optionally repair one or more filesystems.
- In actuality, fsck is simply a front-end for the various file system
- checkers (fsck.fstype) available under Linux.
-
-config BUSYBOX_CONFIG_LSATTR
- bool "lsattr"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- lsattr lists the file attributes on a second extended file system.
-
-### config MKE2FS
-### bool "mke2fs"
-### 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 BUSYBOX_CONFIG_TUNE2FS
- bool "tune2fs"
- default n # off: it is too limited compared to upstream version
- help
- tune2fs allows the system administrator to adjust various tunable
- filesystem parameters on Linux ext2/ext3 filesystems.
-
-### config E2LABEL
-### bool "e2label"
-### default y
-### depends on TUNE2FS
-### help
-### e2label will display or change the filesystem label on the ext2
-### filesystem located on device.
-
-### NB: this one is now provided by util-linux/volume_id/*
-### config FINDFS
-### bool "findfs"
-### default y
-### depends on TUNE2FS
-### help
-### findfs will search the disks in the system looking for a filesystem
-### which has a label matching label or a UUID equal to uuid.
-
-endmenu
diff --git a/package/busybox/config/e2fsprogs/old_e2fsprogs/Config.in b/package/busybox/config/e2fsprogs/old_e2fsprogs/Config.in
deleted file mode 100644
index 105c93a562..0000000000
--- a/package/busybox/config/e2fsprogs/old_e2fsprogs/Config.in
+++ /dev/null
@@ -1,70 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Linux Ext2 FS Progs"
-
-
-
-config BUSYBOX_CONFIG_CHATTR
- bool "chattr"
- default n
- help
- chattr changes the file attributes on a second extended file system.
-
-config BUSYBOX_CONFIG_E2FSCK
- bool "e2fsck"
- default n
- help
- e2fsck is used to check Linux second extended file systems (ext2fs).
- e2fsck also supports ext2 filesystems countaining a journal (ext3).
- The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
- provided.
-
-config BUSYBOX_CONFIG_FSCK
- bool "fsck"
- default n
- help
- fsck is used to check and optionally repair one or more filesystems.
- In actuality, fsck is simply a front-end for the various file system
- checkers (fsck.fstype) available under Linux.
-
-config BUSYBOX_CONFIG_LSATTR
- bool "lsattr"
- default n
- help
- lsattr lists the file attributes on a second extended file system.
-
-config BUSYBOX_CONFIG_MKE2FS
- bool "mke2fs"
- default n
- help
- mke2fs is used to create an ext2/ext3 filesystem. The normal compat
- symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
-
-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 BUSYBOX_CONFIG_E2LABEL
- bool "e2label"
- default n
- depends on BUSYBOX_CONFIG_TUNE2FS
- help
- e2label will display or change the filesystem label on the ext2
- filesystem located on device.
-
-config BUSYBOX_CONFIG_FINDFS
- bool "findfs"
- default n
- depends on BUSYBOX_CONFIG_TUNE2FS
- help
- findfs will search the disks in the system looking for a filesystem
- which has a label matching label or a UUID equal to uuid.
-
-endmenu
diff --git a/package/busybox/config/editors/Config.in b/package/busybox/config/editors/Config.in
deleted file mode 100644
index 21321dbb08..0000000000
--- a/package/busybox/config/editors/Config.in
+++ /dev/null
@@ -1,206 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Editors"
-
-config BUSYBOX_CONFIG_PATCH
- bool "patch"
- default n
- help
- Apply a unified diff formatted patch.
-config BUSYBOX_CONFIG_VI
- bool "vi"
- default y
- help
- 'vi' is a text editor. More specifically, it is the One True
- text editor <grin>. It does, however, have a rather steep
- learning curve. If you are not already comfortable with 'vi'
- you may wish to use something else.
-
-config BUSYBOX_CONFIG_FEATURE_VI_MAX_LEN
- int "Maximum screen width in vi"
- range 256 16384
- default 1024
- depends on BUSYBOX_CONFIG_VI
- help
- Contrary to what you may think, this is not eating much.
- Make it smaller than 4k only if you are very limited on memory.
-
-config BUSYBOX_CONFIG_FEATURE_VI_8BIT
- bool "Allow vi to display 8-bit chars (otherwise shows dots)"
- default n
- depends on BUSYBOX_CONFIG_VI
- help
- If your terminal can display characters with high bit set,
- you may want to enable this. Note: vi is not Unicode-capable.
- If your terminal combines several 8-bit bytes into one character
- (as in Unicode mode), this will not work properly.
-
-config BUSYBOX_CONFIG_FEATURE_VI_COLON
- bool "Enable \":\" colon commands (no \"ex\" mode)"
- default y
- depends on BUSYBOX_CONFIG_VI
- help
- Enable a limited set of colon commands for vi. This does not
- provide an "ex" mode.
-
-config BUSYBOX_CONFIG_FEATURE_VI_YANKMARK
- bool "Enable yank/put commands and mark cmds"
- default y
- depends on BUSYBOX_CONFIG_VI
- help
- This will enable you to use yank and put, as well as mark in
- busybox vi.
-
-config BUSYBOX_CONFIG_FEATURE_VI_SEARCH
- bool "Enable search and replace cmds"
- default y
- depends on BUSYBOX_CONFIG_VI
- help
- Select this if you wish to be able to do search and replace in
- busybox vi.
-
-config BUSYBOX_CONFIG_FEATURE_VI_REGEX_SEARCH
- bool "Enable regex in search and replace"
- default n # Uses GNU regex, which may be unavailable. FIXME
- depends on BUSYBOX_CONFIG_FEATURE_VI_SEARCH
- help
- Use extended regex search.
-
-config BUSYBOX_CONFIG_FEATURE_VI_USE_SIGNALS
- bool "Catch signals"
- default y
- depends on BUSYBOX_CONFIG_VI
- help
- Selecting this option will make busybox vi signal aware. This will
- make busybox vi support SIGWINCH to deal with Window Changes, catch
- Ctrl-Z and Ctrl-C and alarms.
-
-config BUSYBOX_CONFIG_FEATURE_VI_DOT_CMD
- bool "Remember previous cmd and \".\" cmd"
- default y
- depends on BUSYBOX_CONFIG_VI
- help
- Make busybox vi remember the last command and be able to repeat it.
-
-config BUSYBOX_CONFIG_FEATURE_VI_READONLY
- bool "Enable -R option and \"view\" mode"
- default y
- depends on BUSYBOX_CONFIG_VI
- help
- Enable the read-only command line option, which allows the user to
- open a file in read-only mode.
-
-config BUSYBOX_CONFIG_FEATURE_VI_SETOPTS
- bool "Enable set-able options, ai ic showmatch"
- default y
- depends on BUSYBOX_CONFIG_VI
- help
- Enable the editor to set some (ai, ic, showmatch) options.
-
-config BUSYBOX_CONFIG_FEATURE_VI_SET
- bool "Support for :set"
- default y
- depends on BUSYBOX_CONFIG_VI
- help
- Support for ":set".
-
-config BUSYBOX_CONFIG_FEATURE_VI_WIN_RESIZE
- bool "Handle window resize"
- default y
- depends on BUSYBOX_CONFIG_VI
- 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:
- position cursor to 999,999 and ask terminal to report real
- cursor position using "ESC [ 6 n" escape sequence, then read 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
- depends on BUSYBOX_CONFIG_VI
- help
- This will make the cursor movement faster, but requires more memory
- and it makes the applet a tiny bit larger.
-
-config BUSYBOX_CONFIG_AWK
- bool "awk"
- default y
- help
- Awk is used as a pattern scanning and processing language. This is
- the BusyBox implementation of that programming language.
-
-config BUSYBOX_CONFIG_FEATURE_AWK_LIBM
- bool "Enable math functions (requires libm)"
- default y
- depends on BUSYBOX_CONFIG_AWK
- help
- Enable math functions of the Awk programming language.
- NOTE: This will require libm to be present for linking.
-
-config BUSYBOX_CONFIG_CMP
- bool "cmp"
- default y
- help
- cmp is used to compare two files and returns the result
- to standard output.
-
-config BUSYBOX_CONFIG_DIFF
- bool "diff"
- default n
- help
- diff compares two files or directories and outputs the
- differences between them in a form that can be given to
- the patch command.
-
-config BUSYBOX_CONFIG_FEATURE_DIFF_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_CONFIG_DIFF && BUSYBOX_CONFIG_LONG_OPTS
- help
- Enable use of long options.
-
-config BUSYBOX_CONFIG_FEATURE_DIFF_DIR
- bool "Enable directory support"
- default n
- depends on BUSYBOX_CONFIG_DIFF
- help
- This option enables support for directory and subdirectory
- comparison.
-
-config BUSYBOX_CONFIG_ED
- bool "ed"
- default n
- help
- The original 1970's Unix text editor, from the days of teletypes.
- Small, simple, evil. Part of SUSv3. If you're not already using
- this, you don't need it.
-
-config BUSYBOX_CONFIG_SED
- bool "sed"
- default y
- help
- sed is used to perform text transformations on a file
- or input from a pipeline.
-
-config BUSYBOX_CONFIG_FEATURE_ALLOW_EXEC
- bool "Allow vi and awk to execute shell commands"
- default y
- depends on BUSYBOX_CONFIG_VI || BUSYBOX_CONFIG_AWK
- help
- Enables vi and awk features which allows user to execute
- shell commands (using system() C call).
-
-endmenu
diff --git a/package/busybox/config/findutils/Config.in b/package/busybox/config/findutils/Config.in
deleted file mode 100644
index 8db1fdef91..0000000000
--- a/package/busybox/config/findutils/Config.in
+++ /dev/null
@@ -1,252 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Finding Utilities"
-
-config BUSYBOX_CONFIG_FIND
- bool "find"
- default y
- help
- find is used to search your system to find specified files.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_PRINT0
- bool "Enable -print0: NUL-terminated output"
- default y
- depends on BUSYBOX_CONFIG_FIND
- help
- Causes output names to be separated by a NUL character
- rather than a newline. This allows names that contain
- newlines and other whitespace to be more easily
- interpreted by other programs.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_MTIME
- bool "Enable -mtime: modified time matching"
- default n
- depends on BUSYBOX_CONFIG_FIND
- help
- Allow searching based on the modification time of
- files, in days.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_MMIN
- bool "Enable -mmin: modified time matching by minutes"
- default n
- depends on BUSYBOX_CONFIG_FIND
- help
- Allow searching based on the modification time of
- files, in minutes.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_PERM
- bool "Enable -perm: permissions matching"
- default y
- depends on BUSYBOX_CONFIG_FIND
- help
- Enable searching based on file permissions.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_TYPE
- bool "Enable -type: file type matching (file/dir/link/...)"
- default y
- depends on BUSYBOX_CONFIG_FIND
- help
- Enable searching based on file type (file,
- directory, socket, device, etc.).
-
-config BUSYBOX_CONFIG_FEATURE_FIND_XDEV
- bool "Enable -xdev: 'stay in filesystem'"
- default y
- depends on BUSYBOX_CONFIG_FIND
- help
- This option allows find to restrict searches to a single filesystem.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_MAXDEPTH
- bool "Enable -mindepth N and -maxdepth N"
- default y
- depends on BUSYBOX_CONFIG_FIND
- help
- This option enables -mindepth N and -maxdepth N option.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_NEWER
- bool "Enable -newer: compare file modification times"
- default n
- depends on BUSYBOX_CONFIG_FIND
- help
- Support the 'find -newer' option for finding any files which have
- modification time that is more recent than the specified FILE.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_INUM
- bool "Enable -inum: inode number matching"
- default n
- depends on BUSYBOX_CONFIG_FIND
- help
- Support the 'find -inum' option for searching by inode number.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_EXEC
- bool "Enable -exec: execute commands"
- default y
- depends on BUSYBOX_CONFIG_FIND
- help
- Support the 'find -exec' option for executing commands based upon
- the files matched.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_USER
- bool "Enable -user: username/uid matching"
- default y
- depends on BUSYBOX_CONFIG_FIND
- help
- Support the 'find -user' option for searching by username or uid.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_GROUP
- bool "Enable -group: group/gid matching"
- default y
- depends on BUSYBOX_CONFIG_FIND
- help
- Support the 'find -group' option for searching by group name or gid.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_NOT
- bool "Enable the 'not' (!) operator"
- default y
- depends on BUSYBOX_CONFIG_FIND
- help
- Support the '!' operator to invert the test results.
- If 'Enable full-blown desktop' is enabled, then will also support
- the non-POSIX notation '-not'.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_DEPTH
- bool "Enable -depth"
- default y
- depends on BUSYBOX_CONFIG_FIND
- help
- Process each directory's contents before the directory itself.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_PAREN
- bool "Enable parens in options"
- default y
- depends on BUSYBOX_CONFIG_FIND
- help
- Enable usage of parens '(' to specify logical order of arguments.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_SIZE
- bool "Enable -size: file size matching"
- default y
- depends on BUSYBOX_CONFIG_FIND
- help
- Support the 'find -size' option for searching by file size.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_PRUNE
- bool "Enable -prune: exclude subdirectories"
- default y
- depends on BUSYBOX_CONFIG_FIND
- help
- If the file is a directory, dont descend into it. Useful for
- exclusion .svn and CVS directories.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_DELETE
- bool "Enable -delete: delete files/dirs"
- default n
- depends on BUSYBOX_CONFIG_FIND && BUSYBOX_CONFIG_FEATURE_FIND_DEPTH
- help
- Support the 'find -delete' option for deleting files and directories.
- WARNING: This option can do much harm if used wrong. Busybox will not
- try to protect the user from doing stupid things. Use with care.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_PATH
- bool "Enable -path: match pathname with shell pattern"
- default y
- depends on BUSYBOX_CONFIG_FIND
- help
- The -path option matches whole pathname instead of just filename.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_REGEX
- bool "Enable -regex: match pathname with regex"
- default y
- depends on BUSYBOX_CONFIG_FIND
- help
- The -regex option matches whole pathname against regular expression.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_CONTEXT
- bool "Enable -context: security context matching"
- default n
- depends on BUSYBOX_CONFIG_FIND && BUSYBOX_CONFIG_SELINUX
- help
- Support the 'find -context' option for matching security context.
-
-config BUSYBOX_CONFIG_FEATURE_FIND_LINKS
- bool "Enable -links: link count matching"
- default n
- depends on BUSYBOX_CONFIG_FIND
- help
- Support the 'find -links' option for matching number of links.
-config BUSYBOX_CONFIG_GREP
- bool "grep"
- default y
- help
- grep is used to search files for a specified pattern.
-
-config BUSYBOX_CONFIG_FEATURE_GREP_EGREP_ALIAS
- bool "Enable extended regular expressions (egrep & grep -E)"
- default y
- depends on BUSYBOX_CONFIG_GREP
- help
- Enabled support for extended regular expressions. Extended
- regular expressions allow for alternation (foo|bar), grouping,
- and various repetition operators.
-
-config BUSYBOX_CONFIG_FEATURE_GREP_FGREP_ALIAS
- bool "Alias fgrep to grep -F"
- default y
- depends on BUSYBOX_CONFIG_GREP
- help
- fgrep sees the search pattern as a normal string rather than
- regular expressions.
- grep -F always works, this just creates the fgrep alias.
-
-config BUSYBOX_CONFIG_FEATURE_GREP_CONTEXT
- bool "Enable before and after context flags (-A, -B and -C)"
- default y
- depends on BUSYBOX_CONFIG_GREP
- help
- Print the specified number of leading (-B) and/or trailing (-A)
- context surrounding our matching lines.
- Print the specified number of context lines (-C).
-config BUSYBOX_CONFIG_XARGS
- bool "xargs"
- default y
- help
- xargs is used to execute a specified command for
- every item from standard input.
-
-config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION
- bool "Enable -p: prompt and confirmation"
- default y
- depends on BUSYBOX_CONFIG_XARGS
- help
- Support -p: prompt the user whether to run each command
- line and read a line from the terminal.
-
-config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_QUOTES
- bool "Enable single and double quotes and backslash"
- default y
- depends on BUSYBOX_CONFIG_XARGS
- help
- Support quoting in the input.
-
-config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT
- bool "Enable -x: exit if -s or -n is exceeded"
- default y
- depends on BUSYBOX_CONFIG_XARGS
- help
- Support -x: exit if the command size (see the -s or -n option)
- is exceeded.
-
-config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM
- bool "Enable -0: NUL-terminated input"
- default y
- depends on BUSYBOX_CONFIG_XARGS
- help
- Support -0: input items are terminated by a NUL character
- instead of whitespace, and the quotes and backslash
- are not special.
-
-endmenu
diff --git a/package/busybox/config/init/Config.in b/package/busybox/config/init/Config.in
deleted file mode 100644
index 07d94a2056..0000000000
--- a/package/busybox/config/init/Config.in
+++ /dev/null
@@ -1,185 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-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_HALT
- bool "poweroff, halt, and reboot"
- default y
- help
- Stop all processes and either halt, reboot, or power off the system.
-
-config BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
- bool "Call telinit on shutdown and reboot"
- default n
- depends on BUSYBOX_CONFIG_HALT && !BUSYBOX_CONFIG_INIT
- help
- Call an external program (normally telinit) to facilitate
- a switch to a proper runlevel.
-
- This option is only available if you selected halt and friends,
- but did not select init.
-
-config BUSYBOX_CONFIG_TELINIT_PATH
- string "Path to telinit executable"
- default "/sbin/telinit"
- depends on BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
- help
- When busybox halt and friends have to call external telinit
- to facilitate proper shutdown, this path is to be used when
- locating telinit executable.
-config BUSYBOX_CONFIG_INIT
- bool "init"
- default y
- select BUSYBOX_CONFIG_FEATURE_SYSLOG
- depends on BROKEN
- help
- init is the first program run when the system boots.
-
-config BUSYBOX_CONFIG_FEATURE_USE_INITTAB
- bool "Support reading an inittab file"
- default y
- depends on BUSYBOX_CONFIG_INIT
- help
- Allow init to read an inittab file when the system boot.
-
-config BUSYBOX_CONFIG_FEATURE_KILL_REMOVED
- bool "Support killing processes that have been removed from inittab"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_USE_INITTAB
- help
- When respawn entries are removed from inittab and a SIGHUP is
- sent to init, this 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
- 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 could actually kill
- the wrong process!)
-
-config BUSYBOX_CONFIG_FEATURE_INIT_SCTTY
- bool "Run commands with leading dash with controlling tty"
- default n
- depends on BUSYBOX_CONFIG_INIT
- help
- If this option is enabled, init will try to give a controlling
- tty to any command which has leading hyphen (often it's "-/bin/sh").
- More precisely, init will do "ioctl(STDIN_FILENO, TIOCSCTTY, 0)".
- If device attached to STDIN_FILENO can be a ctty but is not yet
- a ctty for other session, it will become this process' ctty.
- This is not the traditional init behavour, but is often what you want
- in an embedded system where the console is only accessed during
- development or for maintenance.
- NB: using cttyhack applet may work better.
-
-config BUSYBOX_CONFIG_FEATURE_INIT_SYSLOG
- bool "Enable init to write to syslog"
- default y
- depends on BUSYBOX_CONFIG_INIT
-
-config BUSYBOX_CONFIG_FEATURE_EXTRA_QUIET
- bool "Be _extra_ quiet on boot"
- default n
- depends on BUSYBOX_CONFIG_INIT
- help
- Prevent init from logging some messages to the console during boot.
-
-config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS
- bool "Support dumping core for child processes (debugging only)"
- default n
- depends on BUSYBOX_CONFIG_INIT
- help
- If this option is enabled and the file /.init_enable_core
- exists, then init will call setrlimit() to allow unlimited
- core file sizes. If this option is disabled, processes
- will not generate any core files.
-
-config BUSYBOX_CONFIG_FEATURE_INITRD
- bool "Support running init from within an initrd (not initramfs)"
- default n
- depends on BUSYBOX_CONFIG_INIT
- help
- Legacy support for running init under the old-style initrd. Allows
- the name linuxrc to act as init, and it doesn't assume init is PID 1.
-
- This does not apply to initramfs, which runs /init as PID 1 and
- requires no special support.
-
-config BUSYBOX_CONFIG_INIT_TERMINAL_TYPE
- string "Initial terminal type"
- default "linux"
- depends on BUSYBOX_CONFIG_INIT
- help
- This is the initial value set by init for the TERM environment
- variable. This variable is used by programs which make use of
- extended terminal capabilities.
-
- Note that on Linux, init attempts to detect serial terminal and
- sets TERM to "vt102" if one is found.
-config BUSYBOX_CONFIG_MESG
- bool "mesg"
- default n
- help
- Mesg controls access to your terminal by others. It is typically
- used to allow or disallow other users to write to your terminal
-
-config BUSYBOX_CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP
- bool "Enable writing to tty only by group, not by everybody"
- default n
- depends on BUSYBOX_CONFIG_MESG
- help
- Usually, ttys are owned by group "tty", and "write" tool is
- setgid to this group. This way, "mesg y" only needs to enable
- "write by owning group" bit in tty mode.
-
- If you set this option to N, "mesg y" will enable writing
- by anybody at all. This is not recommended.
-
-endmenu
diff --git a/package/busybox/config/libbb/Config.in b/package/busybox/config/libbb/Config.in
deleted file mode 100644
index 6475403b53..0000000000
--- a/package/busybox/config/libbb/Config.in
+++ /dev/null
@@ -1,232 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Busybox Library Tuning"
-
-config BUSYBOX_CONFIG_FEATURE_SYSTEMD
- bool "Enable systemd support"
- default n
- help
- If you plan to use busybox daemons on a system where daemons
- are controlled by systemd, enable this option.
- If you don't use systemd, it is still safe to enable it,
- but the downside is increased code size.
-config BUSYBOX_CONFIG_FEATURE_RTMINMAX
- bool "Support RTMIN[+n] and RTMAX[-n] signal names"
- default n
- help
- Support RTMIN[+n] and RTMAX[-n] signal names
- in kill, killall etc. This costs ~250 bytes.
-
-config BUSYBOX_CONFIG_PASSWORD_MINLEN
- int "Minimum password length"
- default 6
- range 5 32
- help
- Minimum allowable password length.
-
-config BUSYBOX_CONFIG_MD5_SIZE_VS_SPEED
- int "MD5: Trade bytes for speed (0:fast, 3:slow)"
- default 2
- range 0 3
- help
- Trade binary size versus speed for the md5sum algorithm.
- Approximate values running uClibc and hashing
- linux-2.4.4.tar.bz2 were:
- user times (sec) text size (386)
- 0 (fastest) 1.1 6144
- 1 1.4 5392
- 2 3.0 5088
- 3 (smallest) 5.1 4912
-
-config BUSYBOX_CONFIG_FEATURE_FAST_TOP
- bool "Faster /proc scanning code (+100 bytes)"
- default y
- help
- This option makes top (and ps) ~20% faster (or 20% less CPU hungry),
- but code size is slightly bigger.
-
-config BUSYBOX_CONFIG_FEATURE_ETC_NETWORKS
- bool "Support for /etc/networks"
- default n
- help
- Enable support for network names in /etc/networks. This is
- a rarely used feature which allows you to use names
- instead of IP/mask pairs in route command.
-
-config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
- bool "Use termios to manipulate the screen"
- default n
- depends on BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_POWERTOP
- help
- This option allows utilities such as 'more' and 'top' to determine
- the size of the screen. If you leave this disabled, your utilities
- that display things on the screen will be especially primitive and
- will be unable to determine the current screen size, and will be
- unable to move the cursor.
-
-config BUSYBOX_CONFIG_FEATURE_EDITING
- bool "Command line editing"
- default y
- help
- Enable line editing (mainly for shell command line).
-
-config BUSYBOX_CONFIG_FEATURE_EDITING_MAX_LEN
- int "Maximum length of input"
- range 128 8192
- default 512
- depends on BUSYBOX_CONFIG_FEATURE_EDITING
- help
- Line editing code uses on-stack buffers for storage.
- You may want to decrease this parameter if your target machine
- benefits from smaller stack usage.
-
-config BUSYBOX_CONFIG_FEATURE_EDITING_VI
- bool "vi-style line editing commands"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_EDITING
- help
- Enable vi-style line editing. In shells, this mode can be
- turned on and off with "set -o vi" and "set +o vi".
-
-config BUSYBOX_CONFIG_FEATURE_EDITING_HISTORY
- int "History size"
- # Don't allow way too big values here, code uses fixed "char *history[N]" struct member
- range 0 9999
- default 256
- depends on BUSYBOX_CONFIG_FEATURE_EDITING
- help
- Specify command history size (0 - disable).
-
-config BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
- bool "History saving"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_EDITING
- help
- Enable history saving in shells.
-
-config BUSYBOX_CONFIG_FEATURE_REVERSE_SEARCH
- bool "Reverse history search"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
- help
- Enable readline-like Ctrl-R combination for reverse history search.
- Increases code by about 0.5k.
-
-config BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION
- bool "Tab completion"
- default y
- depends on BUSYBOX_CONFIG_FEATURE_EDITING
- help
- Enable tab completion.
-
-config BUSYBOX_CONFIG_FEATURE_USERNAME_COMPLETION
- bool "Username completion"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION
- help
- Enable username completion.
-
-config BUSYBOX_CONFIG_FEATURE_EDITING_FANCY_PROMPT
- bool "Fancy shell prompts"
- default y
- depends on BUSYBOX_CONFIG_FEATURE_EDITING
- help
- Setting this option allows for prompts to use things like \w and
- \$ and escape codes.
-
-config BUSYBOX_CONFIG_FEATURE_EDITING_ASK_TERMINAL
- bool "Query cursor position from terminal"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_EDITING
- help
- Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
- current cursor position. This information is used to make line
- editing more robust in some cases.
- If you are not sure whether your terminals respond to this code
- correctly, or want to save on code size (about 400 bytes),
- then do not turn this option on.
-
-config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP
- bool "Non-POSIX, but safer, copying to special nodes"
- default y
- help
- With this option, "cp file symlink" will delete symlink
- and create a regular file. This does not conform to POSIX,
- but prevents a symlink attack.
- Similarly, "cp file device" will not send file's data
- to the device. (To do that, use "cat file >device")
-
-config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE
- bool "Give more precise messages when copy fails (cp, mv etc)"
- default n
- help
- Error messages with this feature enabled:
- $ cp file /does_not_exist/file
- cp: cannot create '/does_not_exist/file': Path does not exist
- $ cp file /vmlinuz/file
- cp: cannot stat '/vmlinuz/file': Path has non-directory component
- If this feature is not enabled, they will be, respectively:
- cp: cannot create '/does_not_exist/file': No such file or directory
- cp: cannot stat '/vmlinuz/file': Not a directory
- This will cost you ~60 bytes.
-
-config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB
- int "Copy buffer size, in kilobytes"
- range 1 1024
- default 4
- help
- Size of buffer used by cp, mv, install, wget etc.
- Buffers which are 4 kb or less will be allocated on stack.
- Bigger buffers will be allocated with mmap, with fallback to 4 kb
- stack buffer if mmap fails.
-
-config BUSYBOX_CONFIG_FEATURE_SKIP_ROOTFS
- bool "Skip rootfs in mount table"
- default n
- help
- Ignore rootfs entry in mount table.
-
- In Linux, kernel has a special filesystem, rootfs, which is initially
- mounted on /. It contains initramfs data, if kernel is configured
- to have one. Usually, another file system is mounted over / early
- in boot process, and therefore most tools which manipulate
- mount table, such as df, will skip rootfs entry.
-
- However, some systems do not mount anything on /.
- If you need to configure busybox for one of these systems,
- you may find useful to turn this option off to make df show
- initramfs statistic.
-
- Otherwise, choose Y.
-
-config BUSYBOX_CONFIG_MONOTONIC_SYSCALL
- bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
- time intervals (time, ping, traceroute etc need this).
- Probably requires Linux 2.6+. If not selected, gettimeofday
- will be used instead (which gives wrong results if date/time
- is reset).
-
-config BUSYBOX_CONFIG_IOCTL_HEX2STR_ERROR
- bool "Use ioctl names rather than hex values in error messages"
- default y
- help
- Use ioctl names rather than hex values in error messages
- (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
- saves about 1400 bytes.
-
-config BUSYBOX_CONFIG_FEATURE_HWIB
- bool "Support infiniband HW"
- default n
- help
- Support for printing infiniband addresses in
- network applets.
-
-endmenu
diff --git a/package/busybox/config/loginutils/Config.in b/package/busybox/config/loginutils/Config.in
deleted file mode 100644
index 8c32851a2b..0000000000
--- a/package/busybox/config/loginutils/Config.in
+++ /dev/null
@@ -1,329 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Login/Password Management Utilities"
-
-config BUSYBOX_CONFIG_ADD_SHELL
- bool "add-shell"
- default n if BUSYBOX_CONFIG_DESKTOP
- help
- Add shells to /etc/shells.
-
-config BUSYBOX_CONFIG_REMOVE_SHELL
- bool "remove-shell"
- default n if BUSYBOX_CONFIG_DESKTOP
- help
- Remove shells from /etc/shells.
-
-config BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
- bool "Support for shadow passwords"
- default y
- help
- Build support for shadow password in /etc/shadow. This file is only
- readable by root and thus the encrypted passwords are no longer
- publicly readable.
-
-config BUSYBOX_CONFIG_USE_BB_PWD_GRP
- bool "Use internal password and group functions rather than system functions"
- default n
- help
- If you leave this disabled, busybox will use the system's password
- and group functions. And if you are using the GNU C library
- (glibc), you will then need to install the /etc/nsswitch.conf
- configuration file and the required /lib/libnss_* libraries in
- order for the password and group functions to work. This generally
- makes your embedded system quite a bit larger.
-
- Enabling this option will cause busybox to directly access the
- system's /etc/password, /etc/group files (and your system will be
- smaller, and I will get fewer emails asking about how glibc NSS
- works). When this option is enabled, you will not be able to use
- PAM to access remote LDAP password servers and whatnot. And if you
- want hostname resolution to work with glibc, you still need the
- /lib/libnss_* libraries.
-
- If you need to use glibc's nsswitch.conf mechanism
- (e.g. if user/group database is NOT stored in /etc/passwd etc),
- you must NOT use this option.
-
- If you enable this option, it will add about 1.5k.
-
-config BUSYBOX_CONFIG_USE_BB_SHADOW
- bool "Use internal shadow password functions"
- default n
- depends on BUSYBOX_CONFIG_USE_BB_PWD_GRP && BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
- help
- If you leave this disabled, busybox will use the system's shadow
- password handling functions. And if you are using the GNU C library
- (glibc), you will then need to install the /etc/nsswitch.conf
- configuration file and the required /lib/libnss_* libraries in
- order for the shadow password functions to work. This generally
- makes your embedded system quite a bit larger.
-
- Enabling this option will cause busybox to directly access the
- system's /etc/shadow file when handling shadow passwords. This
- makes your system smaller (and I will get fewer emails asking about
- how glibc NSS works). When this option is enabled, you will not be
- able to use PAM to access shadow passwords from remote LDAP
- password servers and whatnot.
-
-config BUSYBOX_CONFIG_USE_BB_CRYPT
- bool "Use internal crypt functions"
- default n
- help
- Busybox has internal DES and MD5 crypt functions.
- They produce results which are identical to corresponding
- standard C library functions.
-
- If you leave this disabled, busybox will use the system's
- crypt functions. Most C libraries use large (~70k)
- static buffers there, and also combine them with more general
- DES encryption/decryption.
-
- For busybox, having large static buffers is undesirable,
- especially on NOMMU machines. Busybox also doesn't need
- DES encryption/decryption and can do with smaller code.
-
- If you enable this option, it will add about 4.8k of code
- if you are building dynamically linked executable.
- In static build, it makes code _smaller_ by about 1.2k,
- and likely many kilobytes less of bss.
-
-config BUSYBOX_CONFIG_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_ADDUSER
- bool "adduser"
- default n
- help
- Utility for creating a new user account.
-
-config BUSYBOX_CONFIG_FEATURE_ADDUSER_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_CONFIG_ADDUSER && BUSYBOX_CONFIG_LONG_OPTS
- help
- Support long options for the adduser applet.
-
-config BUSYBOX_CONFIG_FEATURE_CHECK_NAMES
- bool "Enable sanity check on user/group names in adduser and addgroup"
- default n
- depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
- help
- Enable sanity check on user and group names in adduser and addgroup.
- To avoid problems, the user or group name should consist only of
- letters, digits, underscores, periods, at signs and dashes,
- and not start with a dash (as defined by IEEE Std 1003.1-2001).
- For compatibility with Samba machine accounts "$" is also supported
- at the end of the user or group name.
-
-config BUSYBOX_CONFIG_FIRST_SYSTEM_ID
- int "First valid system uid or gid for adduser and addgroup"
- depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
- range 0 64900
- default 100
- help
- First valid system uid or gid for adduser and addgroup
-
-config BUSYBOX_CONFIG_LAST_SYSTEM_ID
- int "Last valid system uid or gid for adduser and addgroup"
- depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
- range 0 64900
- default 999
- help
- Last valid system uid or gid for adduser and addgroup
-
-config BUSYBOX_CONFIG_ADDGROUP
- bool "addgroup"
- default n
- help
- Utility for creating a new group account.
-
-config BUSYBOX_CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_CONFIG_ADDGROUP && BUSYBOX_CONFIG_LONG_OPTS
- help
- Support long options for the addgroup applet.
-
-config BUSYBOX_CONFIG_FEATURE_ADDUSER_TO_GROUP
- bool "Support for adding users to groups"
- default n
- depends on BUSYBOX_CONFIG_ADDGROUP
- help
- If called with two non-option arguments,
- addgroup will add an existing user to an
- existing group.
-
-config BUSYBOX_CONFIG_DELUSER
- bool "deluser"
- default n
- help
- Utility for deleting a user account.
-
-config BUSYBOX_CONFIG_DELGROUP
- bool "delgroup"
- default n
- help
- Utility for deleting a group account.
-
-config BUSYBOX_CONFIG_FEATURE_DEL_USER_FROM_GROUP
- bool "Support for removing users from groups"
- default n
- depends on BUSYBOX_CONFIG_DELGROUP
- help
- If called with two non-option arguments, deluser
- or delgroup will remove an user from a specified group.
-
-config BUSYBOX_CONFIG_GETTY
- bool "getty"
- default n
- select BUSYBOX_CONFIG_FEATURE_SYSLOG
- help
- getty lets you log in on a tty. It is normally invoked by init.
-
- Note that you can save a few bytes by disabling it and
- using login applet directly.
- If you need to reset tty attributes before calling login,
- this script approximates getty:
-
- exec </dev/$1 >/dev/$1 2>&1 || exit 1
- reset
- stty sane; stty ispeed 38400; stty ospeed 38400
- printf "%s login: " "`hostname`"
- read -r login
- exec /bin/login "$login"
-
-config BUSYBOX_CONFIG_LOGIN
- bool "login"
- default n
- select BUSYBOX_CONFIG_FEATURE_SYSLOG
- help
- login is used when signing onto a system.
-
- Note that Busybox binary must be setuid root for this applet to
- work properly.
-
-config BUSYBOX_CONFIG_PAM
- bool "Support for PAM (Pluggable Authentication Modules)"
- default n
- depends on DEVEL
- depends on BUSYBOX_CONFIG_LOGIN
- help
- Use PAM in login(1) instead of direct access to password database.
-
- OpenWrt specific:
- You should install libpam from the packages feed and compile it
- before trying to build busysbox.
-
-config BUSYBOX_CONFIG_LOGIN_SCRIPTS
- bool "Support for login scripts"
- depends on BUSYBOX_CONFIG_LOGIN
- default n
- help
- Enable this if you want login to execute $LOGIN_PRE_SUID_SCRIPT
- just prior to switching from root to logged-in user.
-
-config BUSYBOX_CONFIG_FEATURE_NOLOGIN
- bool "Support for /etc/nologin"
- default n
- depends on BUSYBOX_CONFIG_LOGIN
- help
- The file /etc/nologin is used by (some versions of) login(1).
- If it exists, non-root logins are prohibited.
-
-config BUSYBOX_CONFIG_FEATURE_SECURETTY
- bool "Support for /etc/securetty"
- default n
- depends on BUSYBOX_CONFIG_LOGIN
- help
- The file /etc/securetty is used by (some versions of) login(1).
- The file contains the device names of tty lines (one per line,
- without leading /dev/) on which root is allowed to login.
-
-config BUSYBOX_CONFIG_PASSWD
- bool "passwd"
- default y
- select BUSYBOX_CONFIG_FEATURE_SYSLOG
- help
- passwd changes passwords for user and group accounts. A normal user
- may only change the password for his/her own account, the super user
- may change the password for any account. The administrator of a group
- may change the password for the group.
-
- Note that Busybox binary must be setuid root for this applet to
- work properly.
-
-config BUSYBOX_CONFIG_FEATURE_PASSWD_WEAK_CHECK
- bool "Check new passwords for weakness"
- default y
- depends on BUSYBOX_CONFIG_PASSWD
- help
- With this option passwd will refuse new passwords which are "weak".
-
-config BUSYBOX_CONFIG_CRYPTPW
- bool "cryptpw"
- default n
- help
- 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
- 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"
- default n
- select BUSYBOX_CONFIG_FEATURE_SYSLOG
- help
- su is used to become another user during a login session.
- Invoked without a username, su defaults to becoming the super user.
-
- Note that Busybox binary must be setuid root for this applet to
- work properly.
-
-config BUSYBOX_CONFIG_FEATURE_SU_SYSLOG
- bool "Enable su to write to syslog"
- default n
- depends on BUSYBOX_CONFIG_SU
-
-config BUSYBOX_CONFIG_FEATURE_SU_CHECKS_SHELLS
- bool "Enable su to check user's shell to be listed in /etc/shells"
- depends on BUSYBOX_CONFIG_SU
- default n
-
-config BUSYBOX_CONFIG_SULOGIN
- bool "sulogin"
- default n
- select BUSYBOX_CONFIG_FEATURE_SYSLOG
- help
- sulogin is invoked when the system goes into single user
- mode (this is done through an entry in inittab).
-
-config BUSYBOX_CONFIG_VLOCK
- bool "vlock"
- default n
- help
- Build the "vlock" applet which allows you to lock (virtual) terminals.
-
- Note that Busybox binary must be setuid root for this applet to
- work properly.
-
-endmenu
diff --git a/package/busybox/config/mailutils/Config.in b/package/busybox/config/mailutils/Config.in
deleted file mode 100644
index 8db30310be..0000000000
--- a/package/busybox/config/mailutils/Config.in
+++ /dev/null
@@ -1,56 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-menu "Mail Utilities"
-
-
-
-config BUSYBOX_CONFIG_MAKEMIME
- bool "makemime"
- default n
- help
- Create MIME-formatted messages.
-
-config BUSYBOX_CONFIG_FEATURE_MIME_CHARSET
- string "Default charset"
- default n
- depends on BUSYBOX_CONFIG_MAKEMIME || BUSYBOX_CONFIG_REFORMIME || BUSYBOX_CONFIG_SENDMAIL
- help
- Default charset of the message.
-
-config BUSYBOX_CONFIG_POPMAILDIR
- bool "popmaildir"
- default n
- help
- Simple yet powerful POP3 mail popper. Delivers content
- of remote mailboxes to local Maildir.
-
-config BUSYBOX_CONFIG_FEATURE_POPMAILDIR_DELIVERY
- bool "Allow message filters and custom delivery program"
- default n
- depends on BUSYBOX_CONFIG_POPMAILDIR
- help
- Allow to use a custom program to filter the content
- of the message before actual delivery (-F "prog [args...]").
- Allow to use a custom program for message actual delivery
- (-M "prog [args...]").
-
-config BUSYBOX_CONFIG_REFORMIME
- bool "reformime"
- default n
- help
- Parse MIME-formatted messages.
-
-config BUSYBOX_CONFIG_FEATURE_REFORMIME_COMPAT
- bool "Accept and ignore options other than -x and -X"
- default n
- depends on BUSYBOX_CONFIG_REFORMIME
- help
- Accept (for compatibility only) and ignore options
- other than -x and -X.
-
-config BUSYBOX_CONFIG_SENDMAIL
- bool "sendmail"
- default n
- help
- Barebones sendmail.
-
-endmenu
diff --git a/package/busybox/config/miscutils/Config.in b/package/busybox/config/miscutils/Config.in
deleted file mode 100644
index e69d6847ec..0000000000
--- a/package/busybox/config/miscutils/Config.in
+++ /dev/null
@@ -1,766 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Miscellaneous Utilities"
-
-config BUSYBOX_CONFIG_CONSPY
- bool "conspy"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- 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_LESS
- bool "less"
- default y
- help
- 'less' is a pager, meaning that it displays text files. It possesses
- a wide array of features, and is an improvement over 'more'.
-
-config BUSYBOX_CONFIG_FEATURE_LESS_MAXLINES
- int "Max number of input lines less will try to eat"
- default 9999999
- depends on BUSYBOX_CONFIG_LESS
-
-config BUSYBOX_CONFIG_FEATURE_LESS_BRACKETS
- bool "Enable bracket searching"
- default n
- depends on BUSYBOX_CONFIG_LESS
- help
- This option adds the capability to search for matching left and right
- brackets, facilitating programming.
-
-config BUSYBOX_CONFIG_FEATURE_LESS_FLAGS
- bool "Enable extra flags"
- default n
- depends on BUSYBOX_CONFIG_LESS
- help
- The extra flags provided do the following:
-
- 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_MARKS
- bool "Enable marks"
- default n
- depends on BUSYBOX_CONFIG_LESS
- help
- Marks enable positions in a file to be stored for easy reference.
-
-config BUSYBOX_CONFIG_FEATURE_LESS_REGEXP
- bool "Enable regular expressions"
- default n
- depends on BUSYBOX_CONFIG_LESS
- help
- Enable regular expressions, allowing complex file searches.
-
-config BUSYBOX_CONFIG_FEATURE_LESS_WINCH
- bool "Enable automatic resizing on window size changes"
- default n
- depends on BUSYBOX_CONFIG_LESS
- help
- Makes less track window size changes.
-
-config BUSYBOX_CONFIG_FEATURE_LESS_ASK_TERMINAL
- bool "Use 'tell me cursor position' ESC sequence to measure window"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_LESS_WINCH
- help
- Makes less track window size changes.
- If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
- this option makes less perform a last-ditch effort to find it:
- position cursor to 999,999 and ask terminal to report real
- cursor position using "ESC [ 6 n" escape sequence, then read stdin.
-
- This is not clean but helps a lot on serial lines and such.
-
-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
- Enables "-N" command.
-config BUSYBOX_CONFIG_NANDWRITE
- bool "nandwrite"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Write to the specified MTD device, with bad blocks awareness
-
-config BUSYBOX_CONFIG_NANDDUMP
- bool "nanddump"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Dump the content of raw NAND chip
-config BUSYBOX_CONFIG_SETSERIAL
- bool "setserial"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Retrieve or set Linux serial port.
-config BUSYBOX_CONFIG_UBIATTACH
- bool "ubiattach"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Attach MTD device to an UBI device.
-
-config BUSYBOX_CONFIG_UBIDETACH
- bool "ubidetach"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Detach MTD device from an UBI device.
-
-config BUSYBOX_CONFIG_UBIMKVOL
- bool "ubimkvol"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Create a UBI volume.
-
-config BUSYBOX_CONFIG_UBIRMVOL
- bool "ubirmvol"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Delete a UBI volume.
-
-config BUSYBOX_CONFIG_UBIRSVOL
- bool "ubirsvol"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Resize a UBI volume.
-
-config BUSYBOX_CONFIG_UBIUPDATEVOL
- bool "ubiupdatevol"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Update a UBI volume.
-
-config BUSYBOX_CONFIG_ADJTIMEX
- bool "adjtimex"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Adjtimex reads and optionally sets adjustment parameters for
- the Linux clock adjustment algorithm.
-
-config BUSYBOX_CONFIG_BBCONFIG
- bool "bbconfig"
- default n
- help
- The bbconfig applet will print the config file with which
- busybox was built.
-
-config BUSYBOX_CONFIG_FEATURE_COMPRESS_BBCONFIG
- bool "Compress bbconfig data"
- default n
- depends on BUSYBOX_CONFIG_BBCONFIG
- help
- Store bbconfig data in compressed form, uncompress them on-the-fly
- before output.
-
- If you have a really tiny busybox with few applets enabled (and
- bunzip2 isn't one of them), the overhead of the decompressor might
- be noticeable. Also, if you run executables directly from ROM
- and have very little memory, this might not be a win. Otherwise,
- you probably want this.
-
-config BUSYBOX_CONFIG_BEEP
- bool "beep"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- The beep applets beeps in a given freq/Hz.
-
-config BUSYBOX_CONFIG_FEATURE_BEEP_FREQ
- int "default frequency"
- range 0 2147483647
- default 4000
- depends on BUSYBOX_CONFIG_BEEP
- help
- Frequency for default beep.
-
-config BUSYBOX_CONFIG_FEATURE_BEEP_LENGTH_MS
- int "default length"
- range 0 2147483647
- default 30
- depends on BUSYBOX_CONFIG_BEEP
- help
- Length in ms for default beep.
-
-config BUSYBOX_CONFIG_CHAT
- bool "chat"
- default n
- help
- Simple chat utility.
-
-config BUSYBOX_CONFIG_FEATURE_CHAT_NOFAIL
- bool "Enable NOFAIL expect strings"
- depends on BUSYBOX_CONFIG_CHAT
- default n
- help
- When enabled expect strings which are started with a dash trigger
- no-fail mode. That is when expectation is not met within timeout
- the script is not terminated but sends next SEND string and waits
- for next EXPECT string. This allows to compose far more flexible
- scripts.
-
-config BUSYBOX_CONFIG_FEATURE_CHAT_TTY_HIFI
- bool "Force STDIN to be a TTY"
- depends on BUSYBOX_CONFIG_CHAT
- default n
- help
- Original chat always treats STDIN as a TTY device and sets for it
- so-called raw mode. This option turns on such behaviour.
-
-config BUSYBOX_CONFIG_FEATURE_CHAT_IMPLICIT_CR
- bool "Enable implicit Carriage Return"
- depends on BUSYBOX_CONFIG_CHAT
- default n
- help
- When enabled make chat to terminate all SEND strings with a "\r"
- unless "\c" is met anywhere in the string.
-
-config BUSYBOX_CONFIG_FEATURE_CHAT_SWALLOW_OPTS
- bool "Swallow options"
- depends on BUSYBOX_CONFIG_CHAT
- default n
- help
- Busybox chat require no options. To make it not fail when used
- in place of original chat (which has a bunch of options) turn
- this on.
-
-config BUSYBOX_CONFIG_FEATURE_CHAT_SEND_ESCAPES
- bool "Support weird SEND escapes"
- depends on BUSYBOX_CONFIG_CHAT
- default n
- help
- Original chat uses some escape sequences in SEND arguments which
- are not sent to device but rather performs special actions.
- E.g. "\K" means to send a break sequence to device.
- "\d" delays execution for a second, "\p" -- for a 1/100 of second.
- Before turning this option on think twice: do you really need them?
-
-config BUSYBOX_CONFIG_FEATURE_CHAT_VAR_ABORT_LEN
- bool "Support variable-length ABORT conditions"
- depends on BUSYBOX_CONFIG_CHAT
- default n
- help
- Original chat uses fixed 50-bytes length ABORT conditions. Say N here.
-
-config BUSYBOX_CONFIG_FEATURE_CHAT_CLR_ABORT
- bool "Support revoking of ABORT conditions"
- depends on BUSYBOX_CONFIG_CHAT
- default n
- help
- Support CLR_ABORT directive.
-
-config BUSYBOX_CONFIG_CHRT
- bool "chrt"
- default n
- help
- manipulate real-time attributes of a process.
- This requires sched_{g,s}etparam support in your libc.
-
-config BUSYBOX_CONFIG_CROND
- bool "crond"
- default y
- select BUSYBOX_CONFIG_FEATURE_SYSLOG
- help
- Crond is a background daemon that parses individual crontab
- files and executes commands on behalf of the users in question.
- This is a port of dcron from slackware. It uses files of the
- format /var/spool/cron/crontabs/<username> files, for example:
- $ cat /var/spool/cron/crontabs/root
- # Run daily cron jobs at 4:40 every day:
- 40 4 * * * /etc/cron/daily > /dev/null 2>&1
-
-config BUSYBOX_CONFIG_FEATURE_CROND_D
- bool "Support option -d to redirect output to stderr"
- depends on BUSYBOX_CONFIG_CROND
- default n
- help
- -d sets loglevel to 0 (most verbose) and directs all output to stderr.
-
-config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
- bool "Report command output via email (using sendmail)"
- default n
- depends on BUSYBOX_CONFIG_CROND
- help
- Command output will be sent to corresponding user via email.
-
-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
- help
- Crontab manipulates the crontab for a particular user. Only
- the superuser may specify a different user and/or crontab directory.
- Note that Busybox binary must be setuid root for this applet to
- work properly.
-
-config BUSYBOX_CONFIG_DC
- bool "dc"
- default n
- help
- Dc is a reverse-polish desk calculator which supports unlimited
- precision arithmetic.
-
-config BUSYBOX_CONFIG_FEATURE_DC_LIBM
- bool "Enable power and exp functions (requires libm)"
- default n
- depends on BUSYBOX_CONFIG_DC
- help
- Enable power and exp functions.
- NOTE: This will require libm to be present for linking.
-
-config BUSYBOX_CONFIG_DEVFSD
- bool "devfsd (obsolete)"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- select BUSYBOX_CONFIG_FEATURE_SYSLOG
- help
- 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.
- The following keywords in devsfd.conf are supported:
- "CLEAR_CONFIG", "INCLUDE", "OPTIONAL_INCLUDE", "RESTORE",
- "PERMISSIONS", "EXECUTE", "COPY", "IGNORE",
- "MKOLDCOMPAT", "MKNEWCOMPAT","RMOLDCOMPAT", "RMNEWCOMPAT".
-
- But only if they are written UPPERCASE!!!!!!!!
-
-config BUSYBOX_CONFIG_DEVFSD_MODLOAD
- bool "Adds support for MODLOAD keyword in devsfd.conf"
- default n
- depends on BUSYBOX_CONFIG_DEVFSD
- help
- This actually doesn't work with busybox modutils but needs
- the external modutils.
-
-config BUSYBOX_CONFIG_DEVFSD_FG_NP
- bool "Enables the -fg and -np options"
- default n
- depends on BUSYBOX_CONFIG_DEVFSD
- help
- -fg Run the daemon in the foreground.
- -np Exit after parsing the configuration file.
- Do not poll for events.
-
-config BUSYBOX_CONFIG_DEVFSD_VERBOSE
- bool "Increases logging (and size)"
- default n
- depends on BUSYBOX_CONFIG_DEVFSD
- help
- Increases logging to stderr or syslog.
-
-config BUSYBOX_CONFIG_FEATURE_DEVFS
- bool "Use devfs names for all devices (obsolete)"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- This is obsolete and should NOT be used anymore.
- Use linux >= 2.6 (optionally with hotplug) and mdev instead!
-
- 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.
-
-config BUSYBOX_CONFIG_DEVMEM
- bool "devmem"
- default n
- help
- devmem is a small program that reads and writes from physical
- memory using /dev/mem.
-
-config BUSYBOX_CONFIG_EJECT
- bool "eject"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Used to eject cdroms. (defaults to /dev/cdrom)
-
-config BUSYBOX_CONFIG_FEATURE_EJECT_SCSI
- bool "SCSI support"
- default n
- depends on BUSYBOX_CONFIG_EJECT
- help
- Add the -s option to eject, this allows to eject SCSI-Devices and
- usb-storage devices.
-
-config BUSYBOX_CONFIG_FBSPLASH
- bool "fbsplash"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Shows splash image and progress bar on framebuffer device.
- Can be used during boot phase of an embedded device. ~2kb.
- Usage:
- - use kernel option 'vga=xxx' or otherwise enable fb device.
- - put somewhere fbsplash.cfg file and an image in .ppm format.
- - $ setsid fbsplash [params] &
- -c: hide cursor
- -d /dev/fbN: framebuffer device (if not /dev/fb0)
- -s path_to_image_file (can be "-" for stdin)
- -i path_to_cfg_file (can be "-" for stdin)
- -f path_to_fifo (can be "-" for stdin)
- - if you want to run it only in presence of kernel parameter:
- grep -q "fbsplash=on" </proc/cmdline && setsid fbsplash [params] &
- - commands for fifo:
- "NN" (ASCII decimal number) - percentage to show on progress bar
- "exit" - well you guessed it
-
-config BUSYBOX_CONFIG_FLASHCP
- bool "flashcp"
- default n # doesn't build on Ubuntu 8.04
- help
- The flashcp binary, inspired by mtd-utils as of git head 5eceb74f7.
- This utility is used to copy images into a MTD device.
-
-config BUSYBOX_CONFIG_FLASH_LOCK
- bool "flash_lock"
- default n # doesn't build on Ubuntu 8.04
- help
- The flash_lock binary from mtd-utils as of git head 5ec0c10d0. This
- utility locks part or all of the flash device.
-
-config BUSYBOX_CONFIG_FLASH_UNLOCK
- bool "flash_unlock"
- default n # doesn't build on Ubuntu 8.04
- help
- The flash_unlock binary from mtd-utils as of git head 5ec0c10d0. This
- utility unlocks part or all of the flash device.
-
-config BUSYBOX_CONFIG_FLASH_ERASEALL
- bool "flash_eraseall"
- default n # doesn't build on Ubuntu 8.04
- 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
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Set/set program io scheduling class and priority
- Requires kernel >= 2.6.13
-
-config BUSYBOX_CONFIG_INOTIFYD
- bool "inotifyd"
- default n # doesn't build on Knoppix 5
- help
- Simple inotify daemon. Reports filesystem changes. Requires
- kernel >= 2.6.13
-
-config BUSYBOX_CONFIG_LAST
- bool "last"
- default n
- 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_FANCY
-
-config BUSYBOX_CONFIG_FEATURE_LAST_SMALL
- bool "small"
- help
- This is a small version of last with just the basic set of
- features.
-
-config BUSYBOX_CONFIG_FEATURE_LAST_FANCY
- bool "huge"
- help
- 'last' displays detailed information about the last users that
- logged into the system (mimics sysvinit last). +900 bytes.
-endchoice
-
-config BUSYBOX_CONFIG_HDPARM
- bool "hdparm"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Get/Set hard drive parameters. Primarily intended for ATA
- drives. Adds about 13k (or around 30k if you enable the
- FEATURE_HDPARM_GET_IDENTITY option)....
-
-config BUSYBOX_CONFIG_FEATURE_HDPARM_GET_IDENTITY
- bool "Support obtaining detailed information directly from drives"
- default n
- depends on BUSYBOX_CONFIG_HDPARM
- help
- Enables the -I and -i options to obtain detailed information
- directly from drives about their capabilities and supported ATA
- feature set. If no device name is specified, hdparm will read
- identify data from stdin. Enabling this option will add about 16k...
-
-config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF
- bool "Register an IDE interface (DANGEROUS)"
- default n
- depends on BUSYBOX_CONFIG_HDPARM
- help
- Enables the 'hdparm -R' option to register an IDE interface.
- This is dangerous stuff, so you should probably say N.
-
-config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF
- bool "Un-register an IDE interface (DANGEROUS)"
- default n
- depends on BUSYBOX_CONFIG_HDPARM
- help
- Enables the 'hdparm -U' option to un-register an IDE interface.
- This is dangerous stuff, so you should probably say N.
-
-config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET
- bool "Perform device reset (DANGEROUS)"
- default n
- depends on BUSYBOX_CONFIG_HDPARM
- help
- Enables the 'hdparm -w' option to perform a device reset.
- This is dangerous stuff, so you should probably say N.
-
-config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
- bool "Tristate device for hotswap (DANGEROUS)"
- default n
- depends on BUSYBOX_CONFIG_HDPARM
- help
- Enables the 'hdparm -x' option to tristate device for hotswap,
- and the '-b' option to get/set bus state. This is dangerous
- stuff, so you should probably say N.
-
-config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
- 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.
-
-config BUSYBOX_CONFIG_LOCK
- bool "lock"
- default y
- help
- Small utility for using locks in scripts
-
-config BUSYBOX_CONFIG_MAKEDEVS
- bool "makedevs"
- default n
- help
- 'makedevs' is a utility used to create a batch of devices with
- one command.
-
- There are two choices for command line behaviour, the interface
- as used by LEAF/Linux Router Project, or a device table file.
-
- 'leaf' is traditionally what busybox follows, it allows multiple
- devices of a particluar type to be created per command.
- e.g. /dev/hda[0-9]
- Device properties are passed as command line arguments.
-
- 'table' reads device properties from a file or stdin, allowing
- a batch of unrelated devices to be made with one command.
- User/group names are allowed as an alternative to uid/gid.
-
-choice
- prompt "Choose makedevs behaviour"
- depends on BUSYBOX_CONFIG_MAKEDEVS
- default BUSYBOX_CONFIG_FEATURE_MAKEDEVS_TABLE
-
-config BUSYBOX_CONFIG_FEATURE_MAKEDEVS_LEAF
- bool "leaf"
-
-config BUSYBOX_CONFIG_FEATURE_MAKEDEVS_TABLE
- bool "table"
-
-endchoice
-
-config BUSYBOX_CONFIG_MAN
- bool "man"
- default n
- help
- Format and display manual pages.
-
-config BUSYBOX_CONFIG_MICROCOM
- bool "microcom"
- default n
- help
- The poor man's minicom utility for chatting with serial port devices.
-
-config BUSYBOX_CONFIG_MOUNTPOINT
- bool "mountpoint"
- default n
- help
- mountpoint checks if the directory is a mountpoint.
-
-config BUSYBOX_CONFIG_MT
- bool "mt"
- default n
- help
- mt is used to control tape devices. You can use the mt utility
- to advance or rewind a tape past a specified number of archive
- files on the tape.
-
-config BUSYBOX_CONFIG_RAIDAUTORUN
- bool "raidautorun"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- raidautorun tells the kernel md driver to
- search and start RAID arrays.
-
-config BUSYBOX_CONFIG_READAHEAD
- bool "readahead"
- default n
- depends on BUSYBOX_CONFIG_LFS
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Preload the files listed on the command line into RAM cache so that
- subsequent reads on these files will not block on disk I/O.
-
- This applet just calls the readahead(2) system call on each file.
- It is mainly useful in system startup scripts to preload files
- or executables before they are used. When used at the right time
- (in particular when a CPU bound process is running) it can
- significantly speed up system startup.
-
- As readahead(2) blocks until each file has been read, it is best to
- run this applet as a background job.
-
-config BUSYBOX_CONFIG_RFKILL
- bool "rfkill"
- default n # doesn't build on Ubuntu 9.04
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- 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
- depends on BUSYBOX_CONFIG_FEATURE_UTMP
- help
- find the current and previous system runlevel.
-
- This applet uses utmp but does not rely on busybox supporing
- utmp on purpose. It is used by e.g. emdebian via /etc/init.d/rc.
-
-config BUSYBOX_CONFIG_RX
- bool "rx"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Receive files using the Xmodem protocol.
-
-config BUSYBOX_CONFIG_SETSID
- bool "setsid"
- default n
- help
- setsid runs a program in a new session
-
-config BUSYBOX_CONFIG_STRINGS
- bool "strings"
- default y
- help
- strings prints the printable character sequences for each file
- specified.
-
-config BUSYBOX_CONFIG_TASKSET
- bool "taskset"
- default n # doesn't build on some non-x86 targets (m68k)
- help
- Retrieve or set a processes's CPU affinity.
- This requires sched_{g,s}etaffinity support in your libc.
-
-config BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY
- bool "Fancy output"
- default n
- depends on BUSYBOX_CONFIG_TASKSET
- help
- Add code for fancy output. This merely silences a compiler-warning
- and adds about 135 Bytes. May be needed for machines with alot
- of CPUs.
-
-config BUSYBOX_CONFIG_TIME
- bool "time"
- default y
- help
- The time command runs the specified program with the given arguments.
- 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
- help
- A replacement for "stty size". Unlike stty, can report only width,
- only height, or both, in any order. It also does not complain on
- error, but returns default 80x24.
- Usage in shell scripts: width=`ttysize w`.
-
-config BUSYBOX_CONFIG_VOLNAME
- bool "volname"
- default n
- help
- Prints a CD-ROM volume name.
-
-config BUSYBOX_CONFIG_WALL
- bool "wall"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_UTMP
- help
- Write a message to all users that are logged in.
-
-config BUSYBOX_CONFIG_WATCHDOG
- bool "watchdog"
- default y
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- The watchdog utility is used with hardware or software watchdog
- device drivers. It opens the specified watchdog device special file
- and periodically writes a magic character to the device. If the
- watchdog applet ever fails to write the magic character within a
- certain amount of time, the watchdog device assumes the system has
- hung, and will cause the hardware to reboot.
-
-endmenu
diff --git a/package/busybox/config/modutils/Config.in b/package/busybox/config/modutils/Config.in
deleted file mode 100644
index 77f98581fd..0000000000
--- a/package/busybox/config/modutils/Config.in
+++ /dev/null
@@ -1,269 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Linux Module Utilities"
-
-config BUSYBOX_CONFIG_MODINFO
- bool "modinfo"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Show information about a Linux Kernel module
-
-config BUSYBOX_CONFIG_MODPROBE_SMALL
- bool "Simplified modutils"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Simplified modutils.
-
- With this option modprobe does not require modules.dep file
- and does not use /etc/modules.conf file.
- It scans module files in /lib/modules/`uname -r` and
- determines dependencies and module alias names on the fly.
- This may make module loading slower, most notably
- when one needs to load module by alias (this requires
- scanning through module _bodies_).
-
- At the first attempt to load a module by alias modprobe
- will try to generate modules.dep.bb file in order to speed up
- future loads by alias. Failure to do so (read-only /lib/modules,
- etc) is not reported, and future modprobes will be slow too.
-
- NB: modules.dep.bb file format is not compatible
- with modules.dep file as created/used by standard module tools.
-
- Additional module parameters can be stored in
- /etc/modules/$module_name files.
-
- Apart from modprobe, other utilities are also provided:
- - insmod is an alias to modprobe
- - rmmod is an alias to modprobe -r
- - depmod generates modules.dep.bb
-
- As of 2008-07, this code is experimental. It is 14kb smaller
- than "non-small" modutils.
-
-config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
- bool "Accept module options on modprobe command line"
- default n
- depends on BUSYBOX_CONFIG_MODPROBE_SMALL
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Allow insmod and modprobe take module options from command line.
-
-config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
- bool "Skip loading of already loaded modules"
- default n
- depends on BUSYBOX_CONFIG_MODPROBE_SMALL
- help
- Check if the module is already loaded.
-
-config BUSYBOX_CONFIG_INSMOD
- bool "insmod"
- default y
- depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- insmod is used to load specified modules in the running kernel.
-
-config BUSYBOX_CONFIG_RMMOD
- bool "rmmod"
- default y
- depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- rmmod is used to unload specified modules from the kernel.
-
-config BUSYBOX_CONFIG_LSMOD
- bool "lsmod"
- default y
- depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- lsmod is used to display a list of loaded modules.
-
-config BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
- bool "Pretty output"
- default y
- depends on BUSYBOX_CONFIG_LSMOD
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- This option makes output format of lsmod adjusted to
- the format of module-init-tools for Linux kernel 2.6.
- Increases size somewhat.
-
-config BUSYBOX_CONFIG_MODPROBE
- bool "modprobe"
- default n
- depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Handle the loading of modules, and their dependencies on a high
- level.
-
-config BUSYBOX_CONFIG_FEATURE_MODPROBE_BLACKLIST
- bool "Blacklist support"
- default n
- depends on BUSYBOX_CONFIG_MODPROBE
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Say 'y' here to enable support for the 'blacklist' command in
- modprobe.conf. This prevents the alias resolver to resolve
- blacklisted modules. This is useful if you want to prevent your
- hardware autodetection scripts to load modules like evdev, frame
- buffer drivers etc.
-
-config BUSYBOX_CONFIG_DEPMOD
- bool "depmod"
- default n
- depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- depmod generates modules.dep (and potentially modules.alias
- and modules.symbols) that contain dependency information
- for modprobe.
-
-comment "Options common to multiple modutils"
-
-config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
- bool "Support version 2.2/2.4 Linux kernels"
- default n
- depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_LSMOD
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Support module loading for 2.2.x and 2.4.x Linux kernels.
- This increases size considerably. Say N unless you plan
- to run ancient kernels.
-
-config BUSYBOX_CONFIG_FEATURE_INSMOD_TRY_MMAP
- bool "Try to load module from a mmap'ed area"
- default n
- depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE_SMALL
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- This option causes module loading code to try to mmap
- module first. If it does not work (for example,
- it does not work for compressed modules), module will be read
- (and unpacked if needed) into a memory block allocated by malloc.
-
- The only case when mmap works but malloc does not is when
- you are trying to load a big module on a very memory-constrained
- machine. Malloc will momentarily need 2x as much memory as mmap.
-
- Choosing N saves about 250 bytes of code (on 32-bit x86).
-
-config BUSYBOX_CONFIG_FEATURE_INSMOD_VERSION_CHECKING
- bool "Enable module version checking"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Support checking of versions for modules. This is used to
- ensure that the kernel and module are made for each other.
-
-config BUSYBOX_CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
- bool "Add module symbols to kernel symbol table"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- 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 proper debugging support. If you are not interested in
- Oops messages from kernel modules, say N.
-
-config BUSYBOX_CONFIG_FEATURE_INSMOD_LOADINKMEM
- bool "In kernel memory optimization (uClinux only)"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- This is a special uClinux only memory optimization that lets insmod
- load the specified kernel module directly into kernel space, reducing
- memory usage by preventing the need for two copies of the module
- being loaded into memory.
-
-config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP
- bool "Enable insmod load map (-m) option"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && BUSYBOX_CONFIG_INSMOD
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Enabling this, one would be able to get a load map
- output on stdout. This makes kernel module debugging
- easier.
- If you don't plan to debug kernel modules, you
- don't need this option.
-
-config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL
- bool "Symbols in load map"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP && !BUSYBOX_CONFIG_MODPROBE_SMALL
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Without this option, -m will only output section
- load map. With this option, -m will also output
- symbols load map.
-
-config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
- bool "Support tainted module checking with new kernels"
- default y
- depends on (BUSYBOX_CONFIG_LSMOD || BUSYBOX_CONFIG_FEATURE_2_4_MODULES) && !BUSYBOX_CONFIG_MODPROBE_SMALL
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Support checking for tainted modules. These are usually binary
- only modules that will make the linux-kernel list ignore your
- support request.
- This option is required to support GPLONLY modules.
-
-config BUSYBOX_CONFIG_FEATURE_MODUTILS_ALIAS
- bool "Support for module.aliases file"
- default n
- depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Generate and parse modules.alias containing aliases for bus
- identifiers:
- alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs
-
- and aliases for logical modules names e.g.:
- alias padlock_aes aes
- alias aes_i586 aes
- alias aes_generic aes
-
- Say Y if unsure.
-
-config BUSYBOX_CONFIG_FEATURE_MODUTILS_SYMBOLS
- bool "Support for module.symbols file"
- default n
- depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Generate and parse modules.symbols containing aliases for
- symbol_request() kernel calls, such as:
- alias symbol:usb_sg_init usbcore
-
- 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 || BUSYBOX_CONFIG_MODINFO
- 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 || BUSYBOX_CONFIG_MODINFO
- help
- Filename that contains kernel modules dependencies.
- Defaults to "modules.dep"
-
-endmenu
diff --git a/package/busybox/config/networking/Config.in b/package/busybox/config/networking/Config.in
deleted file mode 100644
index 3df7b1f129..0000000000
--- a/package/busybox/config/networking/Config.in
+++ /dev/null
@@ -1,1088 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Networking Utilities"
-
-config BUSYBOX_CONFIG_NAMEIF
- bool "nameif"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- select BUSYBOX_CONFIG_FEATURE_SYSLOG
- help
- nameif is used to rename network interface by its MAC address.
- Renamed interfaces MUST be in the down state.
- It is possible to use a file (default: /etc/mactab)
- with list of new interface names and MACs.
- Maximum interface name length: IFNAMSIZ = 16
- File fields are separated by space or tab.
- File format:
- # Comment
- new_interface_name XX:XX:XX:XX:XX:XX
-
-config BUSYBOX_CONFIG_FEATURE_NAMEIF_EXTENDED
- bool "Extended nameif"
- default n
- depends on BUSYBOX_CONFIG_NAMEIF
- help
- This extends the nameif syntax to support the bus_info, driver,
- phyaddr selectors. The syntax is compatible to the normal nameif.
- File format:
- new_interface_name driver=asix bus=usb-0000:00:08.2-3
- new_interface_name bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5
- new_interface_name phy_address=2 00:80:C8:38:91:B5
- new_interface_name mac=00:80:C8:38:91:B5
- new_interface_name 00:80:C8:38:91:B5
-config BUSYBOX_CONFIG_NBDCLIENT
- bool "nbd-client"
- default n
- help
- Network block device client
-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 # off specially for Rob
- 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_PING
- bool "ping"
- default y
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
- elicit an ICMP ECHO_RESPONSE from a host or gateway.
-
-config BUSYBOX_CONFIG_PING6
- bool "ping6"
- default y
- depends on BUSYBOX_CONFIG_FEATURE_IPV6 && BUSYBOX_CONFIG_PING
- help
- This will give you a ping that can talk IPv6.
-
-config BUSYBOX_CONFIG_FEATURE_FANCY_PING
- bool "Enable fancy ping output"
- default y
- depends on BUSYBOX_CONFIG_PING
- help
- Make the output from the ping applet include statistics, and at the
- same time provide full support for ICMP packets.
-config BUSYBOX_CONFIG_WHOIS
- bool "whois"
- default n
- help
- whois is a client for the whois directory service
-
-config BUSYBOX_CONFIG_FEATURE_IPV6
- bool "Enable IPv6 support"
- default IPV6
- help
- Enable IPv6 support in busybox.
- This adds IPv6 support in the networking applets.
-
-config BUSYBOX_CONFIG_FEATURE_UNIX_LOCAL
- bool "Enable Unix domain socket support (usually not needed)"
- default n
- help
- Enable Unix domain socket support in all busybox networking
- applets. Address of the form local:/path/to/unix/socket
- will be recognized.
-
- This extension is almost never used in real world usage.
- You most likely want to say N.
-
-config BUSYBOX_CONFIG_FEATURE_PREFER_IPV4_ADDRESS
- bool "Prefer IPv4 addresses from DNS queries"
- default y
- depends on BUSYBOX_CONFIG_FEATURE_IPV6
- help
- Use IPv4 address of network host if it has one.
-
- If this option is off, the first returned address will be used.
- This may cause problems when your DNS server is IPv6-capable and
- is returning IPv6 host addresses too. If IPv6 address
- precedes IPv4 one in DNS reply, busybox network applets
- (e.g. wget) will use IPv6 address. On an IPv6-incapable host
- or network applets will fail to connect to the host
- using IPv6 address.
-
-config BUSYBOX_CONFIG_VERBOSE_RESOLUTION_ERRORS
- bool "Verbose resolution errors"
- default y
- help
- Enable if you are not satisfied with simplistic
- "can't resolve 'hostname.com'" and want to know more.
- This may increase size of your executable a bit.
-
-config BUSYBOX_CONFIG_ARP
- bool "arp"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Manipulate the system ARP cache.
-
-config BUSYBOX_CONFIG_ARPING
- bool "arping"
- default y
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Ping hosts by ARP packets.
-
-config BUSYBOX_CONFIG_BRCTL
- bool "brctl"
- default y
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Manage ethernet bridges.
- Supports addbr/delbr and addif/delif.
-
-config BUSYBOX_CONFIG_FEATURE_BRCTL_FANCY
- bool "Fancy options"
- default y
- depends on BUSYBOX_CONFIG_BRCTL
- help
- Add support for extended option like:
- setageing, setfd, sethello, setmaxage,
- setpathcost, setportprio, setbridgeprio,
- stp
- This adds about 600 bytes.
-
-config BUSYBOX_CONFIG_FEATURE_BRCTL_SHOW
- bool "Support show"
- default y
- depends on BUSYBOX_CONFIG_BRCTL && BUSYBOX_CONFIG_FEATURE_BRCTL_FANCY
- help
- Add support for option which prints the current config:
- show
-
-config BUSYBOX_CONFIG_DNSD
- bool "dnsd"
- default n
- help
- Small and static DNS server daemon.
-
-config BUSYBOX_CONFIG_ETHER_WAKE
- bool "ether-wake"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Send a magic packet to wake up sleeping machines.
-
-config BUSYBOX_CONFIG_FAKEIDENTD
- bool "fakeidentd"
- default n
- select BUSYBOX_CONFIG_FEATURE_SYSLOG
- help
- 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_FEATURE_FTPD_ACCEPT_BROKEN_LIST
- bool "Enable workaround for RFC-violating clients"
- default n
- depends on BUSYBOX_CONFIG_FTPD
- help
- Some ftp clients (among them KDE's Konqueror) issue illegal
- "LIST -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.
-
-config BUSYBOX_CONFIG_FTPGET
- bool "ftpget"
- default n
- help
- Retrieve a remote file via FTP.
-
-config BUSYBOX_CONFIG_FTPPUT
- bool "ftpput"
- default n
- help
- Store a remote file via FTP.
-
-config BUSYBOX_CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS
- bool "Enable long options in ftpget/ftpput"
- default n
- depends on BUSYBOX_CONFIG_LONG_OPTS && (BUSYBOX_CONFIG_FTPGET || BUSYBOX_CONFIG_FTPPUT)
- help
- Support long options for the ftpget/ftpput applet.
-
-config BUSYBOX_CONFIG_HOSTNAME
- bool "hostname"
- default n
- help
- Show or set the system's host name.
-
-config BUSYBOX_CONFIG_HTTPD
- bool "httpd"
- default n
- help
- Serve web pages via an HTTP server.
-
-config BUSYBOX_CONFIG_FEATURE_HTTPD_RANGES
- bool "Support 'Ranges:' header"
- default n
- depends on BUSYBOX_CONFIG_HTTPD
- help
- Makes httpd emit "Accept-Ranges: bytes" header and understand
- "Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted
- downloads, seeking in multimedia players etc.
-
-config BUSYBOX_CONFIG_FEATURE_HTTPD_USE_SENDFILE
- bool "Use sendfile system call"
- default n
- depends on BUSYBOX_CONFIG_HTTPD
- help
- When enabled, httpd will use the kernel sendfile() function
- instead of read/write loop.
-
-config BUSYBOX_CONFIG_FEATURE_HTTPD_SETUID
- bool "Enable -u <user> option"
- default n
- depends on BUSYBOX_CONFIG_HTTPD
- help
- This option allows the server to run as a specific user
- rather than defaulting to the user that starts the server.
- Use of this option requires special privileges to change to a
- different user.
-
-config BUSYBOX_CONFIG_FEATURE_HTTPD_BASIC_AUTH
- bool "Enable Basic http Authentication"
- default n
- depends on BUSYBOX_CONFIG_HTTPD
- help
- Utilizes password settings from /etc/httpd.conf for basic
- authentication on a per url basis.
-
-config BUSYBOX_CONFIG_FEATURE_HTTPD_AUTH_MD5
- bool "Support MD5 crypted passwords for http Authentication"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_HTTPD_BASIC_AUTH
- help
- Enables basic per URL authentication from /etc/httpd.conf
- using md5 passwords.
-
-config BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
- bool "Support Common Gateway Interface (CGI)"
- default n
- depends on BUSYBOX_CONFIG_HTTPD
- help
- This option allows scripts and executables to be invoked
- when specific URLs are requested.
-
-config BUSYBOX_CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
- bool "Support for running scripts through an interpreter"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
- help
- This option enables support for running scripts through an
- interpreter. Turn this on if you want PHP scripts to work
- properly. You need to supply an additional line in your httpd
- config file:
- *.php:/path/to/your/php
-
-config BUSYBOX_CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
- bool "Set REMOTE_PORT environment variable for CGI"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
- help
- Use of this option can assist scripts in generating
- references that contain a unique port number.
-
-config BUSYBOX_CONFIG_FEATURE_HTTPD_ENCODE_URL_STR
- bool "Enable -e option (useful for CGIs written as shell scripts)"
- default n
- depends on BUSYBOX_CONFIG_HTTPD
- help
- This option allows html encoding of arbitrary strings for display
- by the browser. Output goes to stdout.
- For example, httpd -e "<Hello World>" produces
- "&#60Hello&#32World&#62".
-
-config BUSYBOX_CONFIG_FEATURE_HTTPD_ERROR_PAGES
- bool "Support for custom error pages"
- default n
- depends on BUSYBOX_CONFIG_HTTPD
- help
- This option allows you to define custom error pages in
- the configuration file instead of the default HTTP status
- error pages. For instance, if you add the line:
- E404:/path/e404.html
- in the config file, the server will respond the specified
- '/path/e404.html' file instead of the terse '404 NOT FOUND'
- message.
-
-config BUSYBOX_CONFIG_FEATURE_HTTPD_PROXY
- bool "Support for reverse proxy"
- default n
- depends on BUSYBOX_CONFIG_HTTPD
- help
- This option allows you to define URLs that will be forwarded
- to another HTTP server. To setup add the following line to the
- configuration file
- P:/url/:http://hostname[:port]/new/path/
- Then a request to /url/myfile will be forwarded to
- http://hostname[:port]/new/path/myfile.
-
-config BUSYBOX_CONFIG_FEATURE_HTTPD_GZIP
- bool "Support for GZIP content encoding"
- default n
- depends on BUSYBOX_CONFIG_HTTPD
- help
- Makes httpd send files using GZIP content encoding if the
- client supports it and a pre-compressed <file>.gz exists.
-
-config BUSYBOX_CONFIG_IFCONFIG
- bool "ifconfig"
- default y
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Ifconfig is used to configure the kernel-resident network interfaces.
-
-config BUSYBOX_CONFIG_FEATURE_IFCONFIG_STATUS
- bool "Enable status reporting output (+7k)"
- default y
- depends on BUSYBOX_CONFIG_IFCONFIG
- help
- If ifconfig is called with no arguments it will display the status
- of the currently active interfaces.
-
-config BUSYBOX_CONFIG_FEATURE_IFCONFIG_SLIP
- bool "Enable slip-specific options \"keepalive\" and \"outfill\""
- default n
- depends on BUSYBOX_CONFIG_IFCONFIG
- help
- Allow "keepalive" and "outfill" support for SLIP. If you're not
- planning on using serial lines, leave this unchecked.
-
-config BUSYBOX_CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
- bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
- default n
- depends on BUSYBOX_CONFIG_IFCONFIG
- help
- Allow the start address for shared memory, start address for I/O,
- and/or the interrupt line used by the specified device.
-
-config BUSYBOX_CONFIG_FEATURE_IFCONFIG_HW
- bool "Enable option \"hw\" (ether only)"
- default y
- depends on BUSYBOX_CONFIG_IFCONFIG
- help
- Set the hardware address of this interface, if the device driver
- supports this operation. Currently, we only support the 'ether'
- class.
-
-config BUSYBOX_CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS
- bool "Set the broadcast automatically"
- default y
- depends on BUSYBOX_CONFIG_IFCONFIG
- help
- Setting this will make ifconfig attempt to find the broadcast
- automatically if the value '+' is used.
-
-config BUSYBOX_CONFIG_IFENSLAVE
- bool "ifenslave"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Userspace application to bind several interfaces
- to a logical interface (use with kernel bonding driver).
-
-config BUSYBOX_CONFIG_IFPLUGD
- bool "ifplugd"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Network interface plug detection daemon.
-
-config BUSYBOX_CONFIG_IFUPDOWN
- bool "ifupdown"
- default n
- help
- Activate or deactivate the specified interfaces. This applet makes
- use of either "ifconfig" and "route" or the "ip" command to actually
- configure network interfaces. Therefore, you will probably also want
- to enable either IFCONFIG and ROUTE, or enable
- FEATURE_IFUPDOWN_IP and the various IP options. Of
- course you could use non-busybox versions of these programs, so
- against my better judgement (since this will surely result in plenty
- of support questions on the mailing list), I do not force you to
- enable these additional options. It is up to you to supply either
- "ifconfig", "route" and "run-parts" or the "ip" command, either
- via busybox or via standalone utilities.
-
-config BUSYBOX_CONFIG_IFUPDOWN_IFSTATE_PATH
- string "Absolute path to ifstate file"
- default n
- depends on BUSYBOX_CONFIG_IFUPDOWN
- help
- ifupdown keeps state information in a file called ifstate.
- Typically it is located in /var/run/ifstate, however
- some distributions tend to put it in other places
- (debian, for example, uses /etc/network/run/ifstate).
- This config option defines location of ifstate.
-
-config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
- bool "Use ip applet"
- default n
- depends on BUSYBOX_CONFIG_IFUPDOWN
- help
- Use the iproute "ip" command to implement "ifup" and "ifdown", rather
- than the default of using the older 'ifconfig' and 'route' utilities.
-
-config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
- bool "Use busybox ip applet"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- select BUSYBOX_CONFIG_IP
- select BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
- select BUSYBOX_CONFIG_FEATURE_IP_LINK
- select BUSYBOX_CONFIG_FEATURE_IP_ROUTE
- help
- Use the busybox iproute "ip" applet to implement "ifupdown".
-
- If left disabled, you must install the full-blown iproute2
- utility or the "ifup" and "ifdown" applets will not work.
-
-config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
- bool "Use busybox ifconfig and route applets"
- default n
- depends on BUSYBOX_CONFIG_IFUPDOWN && !BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
- select BUSYBOX_CONFIG_IFCONFIG
- select BUSYBOX_CONFIG_ROUTE
- help
- Use the busybox iproute "ifconfig" and "route" applets to
- implement the "ifup" and "ifdown" utilities.
-
- If left disabled, you must install the full-blown ifconfig
- and route utilities, or the "ifup" and "ifdown" applets will not
- work.
-
-config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV4
- bool "Support for IPv4"
- default n
- depends on BUSYBOX_CONFIG_IFUPDOWN
- help
- If you want ifup/ifdown to talk IPv4, leave this on.
-
-config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV6
- bool "Support for IPv6"
- default n
- depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_FEATURE_IPV6
- help
- If you need support for IPv6, turn this option on.
-
-### UNUSED
-###config FEATURE_IFUPDOWN_IPX
-### bool "Support for IPX"
-### default y
-### depends on IFUPDOWN
-### help
-### If this option is selected you can use busybox to work with IPX
-### networks.
-
-config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_MAPPING
- bool "Enable mapping support"
- default n
- depends on BUSYBOX_CONFIG_IFUPDOWN
- help
- This enables support for the "mapping" stanza, unless you have
- a weird network setup you don't need it.
-
-config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP
- bool "Support for external dhcp clients"
- default n
- depends on BUSYBOX_CONFIG_IFUPDOWN
- help
- This enables support for the external dhcp clients. Clients are
- tried in the following order: dhcpcd, dhclient, pump and udhcpc.
- Otherwise, if udhcpc applet is enabled, it is used.
- Otherwise, ifup/ifdown will have no support for DHCP.
-
-config BUSYBOX_CONFIG_INETD
- bool "inetd"
- default n
- select BUSYBOX_CONFIG_FEATURE_SYSLOG
- help
- Internet superserver daemon
-
-config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO
- bool "Support echo service"
- default n
- depends on BUSYBOX_CONFIG_INETD
- help
- Echo received data internal inetd service
-
-config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
- bool "Support discard service"
- default n
- depends on BUSYBOX_CONFIG_INETD
- help
- Internet /dev/null internal inetd service
-
-config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME
- bool "Support time service"
- default n
- depends on BUSYBOX_CONFIG_INETD
- help
- Return 32 bit time since 1900 internal inetd service
-
-config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
- bool "Support daytime service"
- default n
- depends on BUSYBOX_CONFIG_INETD
- help
- Return human-readable time internal inetd service
-
-config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
- bool "Support chargen service"
- default n
- depends on BUSYBOX_CONFIG_INETD
- help
- Familiar character generator internal inetd service
-
-config BUSYBOX_CONFIG_FEATURE_INETD_RPC
- bool "Support RPC services"
- default n
- depends on BUSYBOX_CONFIG_INETD
- select BUSYBOX_CONFIG_FEATURE_HAVE_RPC
- help
- Support Sun-RPC based services
-
-config BUSYBOX_CONFIG_IP
- bool "ip"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- The "ip" applet is a TCP/IP interface configuration and routing
- utility. You generally don't need "ip" to use busybox with
- TCP/IP.
-
-config BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
- bool "ip address"
- default n
- depends on BUSYBOX_CONFIG_IP
- help
- Address manipulation support for the "ip" applet.
-
-config BUSYBOX_CONFIG_FEATURE_IP_LINK
- bool "ip link"
- default n
- depends on BUSYBOX_CONFIG_IP
- help
- Configure network devices with "ip".
-
-config BUSYBOX_CONFIG_FEATURE_IP_ROUTE
- bool "ip route"
- default n
- depends on BUSYBOX_CONFIG_IP
- help
- Add support for routing table management to "ip".
-
-config BUSYBOX_CONFIG_FEATURE_IP_TUNNEL
- bool "ip tunnel"
- default n
- depends on BUSYBOX_CONFIG_IP
- help
- Add support for tunneling commands to "ip".
-
-config BUSYBOX_CONFIG_FEATURE_IP_RULE
- bool "ip rule"
- default n
- depends on BUSYBOX_CONFIG_IP
- help
- Add support for rule commands to "ip".
-
-config BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS
- bool "Support short forms of ip commands"
- default n
- depends on BUSYBOX_CONFIG_IP
- help
- Also support short-form of ip <OBJECT> commands:
- ip addr -> ipaddr
- ip link -> iplink
- ip route -> iproute
- ip tunnel -> iptunnel
- ip rule -> iprule
-
- Say N unless you desparately need the short form of the ip
- object commands.
-
-config BUSYBOX_CONFIG_FEATURE_IP_RARE_PROTOCOLS
- bool "Support displaying rarely used link types"
- default n
- depends on BUSYBOX_CONFIG_IP
- help
- If you are not going to use links of type "frad", "econet",
- "bif" etc, you probably don't need to enable this.
- Ethernet, wireless, infrared, ppp/slip, ip tunnelling
- link types are supported without this option selected.
-
-config BUSYBOX_CONFIG_IPADDR
- bool
- default n
- depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
-
-config BUSYBOX_CONFIG_IPLINK
- bool
- default n
- depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_LINK
-
-config BUSYBOX_CONFIG_IPROUTE
- bool
- default n
- depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_ROUTE
-
-config BUSYBOX_CONFIG_IPTUNNEL
- bool
- default n
- depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_TUNNEL
-
-config BUSYBOX_CONFIG_IPRULE
- bool
- default n
- depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_RULE
-
-config BUSYBOX_CONFIG_IPCALC
- bool "ipcalc"
- default n
- help
- ipcalc takes an IP address and netmask and calculates the
- resulting broadcast, network, and host range.
-
-config BUSYBOX_CONFIG_FEATURE_IPCALC_FANCY
- bool "Fancy IPCALC, more options, adds 1 kbyte"
- default n
- depends on BUSYBOX_CONFIG_IPCALC
- help
- Adds the options hostname, prefix and silent to the output of
- "ipcalc".
-
-config BUSYBOX_CONFIG_FEATURE_IPCALC_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_CONFIG_IPCALC && BUSYBOX_CONFIG_LONG_OPTS
- help
- Support long options for the ipcalc applet.
-
-config BUSYBOX_CONFIG_NETMSG
- bool "netmsg"
- default y
- help
- simple program for sending udp broadcast messages
-
-config BUSYBOX_CONFIG_NETSTAT
- bool "netstat"
- default y
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- netstat prints information about the Linux networking subsystem.
-
-config BUSYBOX_CONFIG_FEATURE_NETSTAT_WIDE
- bool "Enable wide netstat output"
- default y
- depends on BUSYBOX_CONFIG_NETSTAT
- help
- Add support for wide columns. Useful when displaying IPv6 addresses
- (-W option).
-
-config BUSYBOX_CONFIG_FEATURE_NETSTAT_PRG
- bool "Enable PID/Program name output"
- default y
- depends on BUSYBOX_CONFIG_NETSTAT
- help
- Add support for -p flag to print out PID and program name.
- +700 bytes of code.
-
-config BUSYBOX_CONFIG_NSLOOKUP
- bool "nslookup"
- default y
- help
- nslookup is a tool to query Internet name servers.
-
-config BUSYBOX_CONFIG_NTPD
- bool "ntpd"
- default y
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- The NTP client/server daemon.
-
-config BUSYBOX_CONFIG_FEATURE_NTPD_SERVER
- bool "Make ntpd usable as a NTP server"
- default y
- depends on BUSYBOX_CONFIG_NTPD
- help
- Make ntpd usable as a NTP server. If you disable this option
- ntpd will be usable only as a NTP client.
-
-config BUSYBOX_CONFIG_PSCAN
- bool "pscan"
- default n
- help
- Simple network port scanner.
-
-config BUSYBOX_CONFIG_ROUTE
- bool "route"
- default y
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Route displays or manipulates the kernel's IP routing tables.
-
-config BUSYBOX_CONFIG_SLATTACH
- bool "slattach"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- slattach is a small utility to attach network interfaces to serial
- lines.
-
-#config TC
-# bool "tc"
-# default y
-# help
-# show / manipulate traffic control settings
-#
-#config FEATURE_TC_INGRESS
-# 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
- help
- Telnet is an interface to the TELNET protocol, but is also commonly
- used to test other simple protocols.
-
-config BUSYBOX_CONFIG_FEATURE_TELNET_TTYPE
- bool "Pass TERM type to remote host"
- default y
- depends on BUSYBOX_CONFIG_TELNET
- help
- Setting this option will forward the TERM environment variable to the
- remote host you are connecting to. This is useful to make sure that
- things like ANSI colors and other control sequences behave.
-
-config BUSYBOX_CONFIG_FEATURE_TELNET_AUTOLOGIN
- bool "Pass USER type to remote host"
- default n
- depends on BUSYBOX_CONFIG_TELNET
- help
- Setting this option will forward the USER environment variable to the
- remote host you are connecting to. This is useful when you need to
- log into a machine without telling the username (autologin). This
- option enables `-a' and `-l USER' arguments.
-
-config BUSYBOX_CONFIG_TELNETD
- bool "telnetd"
- default y
- select BUSYBOX_CONFIG_FEATURE_SYSLOG
- help
- A daemon for the TELNET protocol, allowing you to log onto the host
- running the daemon. Please keep in mind that the TELNET protocol
- sends passwords in plain text. If you can't afford the space for an
- SSH daemon and you trust your network, you may say 'y' here. As a
- more secure alternative, you should seriously consider installing the
- very small Dropbear SSH daemon instead:
- http://matt.ucc.asn.au/dropbear/dropbear.html
-
- Note that for busybox telnetd to work you need several things:
- First of all, your kernel needs:
- UNIX98_PTYS=y
- DEVPTS_FS=y
-
- Next, you need a /dev/pts directory on your root filesystem:
-
- $ ls -ld /dev/pts
- drwxr-xr-x 2 root root 0 Sep 23 13:21 /dev/pts/
-
- Next you need the pseudo terminal master multiplexer /dev/ptmx:
-
- $ ls -la /dev/ptmx
- crw-rw-rw- 1 root tty 5, 2 Sep 23 13:55 /dev/ptmx
-
- Any /dev/ttyp[0-9]* files you may have can be removed.
- Next, you need to mount the devpts filesystem on /dev/pts using:
-
- mount -t devpts devpts /dev/pts
-
- You need to be sure that busybox has LOGIN and
- FEATURE_SUID enabled. And finally, you should make
- certain that Busybox has been installed setuid root:
-
- chown root.root /bin/busybox
- chmod 4755 /bin/busybox
-
- with all that done, telnetd _should_ work....
-
-
-config BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE
- bool "Support standalone telnetd (not inetd only)"
- default y
- depends on BUSYBOX_CONFIG_TELNETD
- help
- Selecting this will make telnetd able to run standalone.
-
-config BUSYBOX_CONFIG_FEATURE_TELNETD_INETD_WAIT
- bool "Support -w SEC option (inetd wait mode)"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE
- help
- This option allows you to run telnetd in "inet wait" mode.
- Example inetd.conf line (note "wait", not usual "nowait"):
-
- telnet stream tcp wait root /bin/telnetd telnetd -w10
-
- In this example, inetd passes _listening_ socket_ as fd 0
- to telnetd when connection appears.
- telnetd will wait for connections until all existing
- connections are closed, and no new connections
- appear during 10 seconds. Then it exits, and inetd continues
- to listen for new connections.
-
- This option is rarely used. "tcp nowait" is much more usual
- way of running tcp services, including telnetd.
- You most probably want to say N here.
-
-config BUSYBOX_CONFIG_TFTP
- bool "tftp"
- default n
- help
- This enables the Trivial File Transfer Protocol client program. TFTP
- is usually used for simple, small transfers such as a root image
- for a network-enabled bootloader.
-
-config BUSYBOX_CONFIG_TFTPD
- bool "tftpd"
- default n
- help
- This enables the Trivial File Transfer Protocol server program.
- It expects that stdin is a datagram socket and a packet
- is already pending on it. It will exit after one transfer.
- In other words: it should be run from inetd in nowait mode,
- or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
-
-comment "Common options for tftp/tftpd"
- depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
-
-config BUSYBOX_CONFIG_FEATURE_TFTP_GET
- bool "Enable 'tftp get' and/or tftpd upload code"
- default n
- depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
- help
- Add support for the GET command within the TFTP client. This allows
- a client to retrieve a file from a TFTP server.
- Also enable upload support in tftpd, if tftpd is selected.
-
- 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 'tftp put' and/or tftpd download code"
- default n
- depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
- help
- Add support for the PUT command within the TFTP client. This allows
- a client to transfer a file to a TFTP server.
- Also enable download support in tftpd, if tftpd is selected.
-
-config BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE
- bool "Enable 'blksize' and 'tsize' protocol options"
- default n
- depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
- help
- Allow tftp to specify block size, and tftpd to understand
- "blksize" and "tsize" options.
-
-config BUSYBOX_CONFIG_FEATURE_TFTP_PROGRESS_BAR
- bool "Enable tftp progress meter"
- default n
- depends on BUSYBOX_CONFIG_TFTP && BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE
- help
- Show progress bar.
-
-config BUSYBOX_CONFIG_TFTP_DEBUG
- bool "Enable debug"
- default n
- depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
- help
- Make tftp[d] print debugging messages on stderr.
- This is useful if you are diagnosing a bug in tftp[d].
-
-config BUSYBOX_CONFIG_TRACEROUTE
- bool "traceroute"
- default y
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Utility to trace the route of IP packets.
-
-config BUSYBOX_CONFIG_TRACEROUTE6
- bool "traceroute6"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_IPV6 && BUSYBOX_CONFIG_TRACEROUTE
- help
- Utility to trace the route of IPv6 packets.
-
-config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_VERBOSE
- bool "Enable verbose output"
- default y
- depends on BUSYBOX_CONFIG_TRACEROUTE
- help
- Add some verbosity to traceroute. This includes among other things
- hostnames and ICMP response types.
-
-config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
- bool "Enable loose source route"
- default n
- depends on BUSYBOX_CONFIG_TRACEROUTE
- help
- Add option to specify a loose source route gateway
- (8 maximum).
-
-config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_USE_ICMP
- bool "Use ICMP instead of UDP"
- default n
- depends on BUSYBOX_CONFIG_TRACEROUTE
- help
- Add option -I to use ICMP ECHO instead of UDP datagrams.
-
-config BUSYBOX_CONFIG_TUNCTL
- bool "tunctl"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- 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
- string "ifup udhcpc command line options"
- default "-R -n"
- depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_UDHCPC
- help
- Command line options to pass to udhcpc from ifup.
- Intended to alter options not available in /etc/network/interfaces.
- (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
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Creates, removes, and configures VLAN interfaces
-
-config BUSYBOX_CONFIG_WGET
- bool "wget"
- default y
- help
- wget is a utility for non-interactive download of files from HTTP,
- HTTPS, and FTP servers.
-
-config BUSYBOX_CONFIG_FEATURE_WGET_STATUSBAR
- bool "Enable a nifty process meter (+2k)"
- default y
- depends on BUSYBOX_CONFIG_WGET
- help
- Enable the transfer progress bar for wget transfers.
-
-config BUSYBOX_CONFIG_FEATURE_WGET_AUTHENTICATION
- bool "Enable HTTP authentication"
- default y
- depends on BUSYBOX_CONFIG_WGET
- help
- Support authenticated HTTP transfers.
-
-config BUSYBOX_CONFIG_FEATURE_WGET_LONG_OPTIONS
- bool "Enable long options"
- default y
- depends on BUSYBOX_CONFIG_WGET && BUSYBOX_CONFIG_LONG_OPTS
- help
- Support long options for the wget applet.
-
-config BUSYBOX_CONFIG_FEATURE_WGET_TIMEOUT
- bool "Enable read timeout option -T SEC"
- default n
- depends on BUSYBOX_CONFIG_WGET
- help
- Supports network read timeout for wget, so that wget will give
- up and timeout when reading network data, through the -T command
- line option. Currently only network data read timeout is
- supported (i.e., timeout is not applied to the DNS nor TCP
- connection initialization). When FEATURE_WGET_LONG_OPTIONS is
- also enabled, the --timeout option will work in addition to -T.
-
-config BUSYBOX_CONFIG_ZCIP
- bool "zcip"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- select BUSYBOX_CONFIG_FEATURE_SYSLOG
- help
- ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
- It's a daemon that allocates and defends a dynamically assigned
- address on the 169.254/16 network, requiring no system administrator.
-
- See http://www.zeroconf.org for further details, and "zcip.script"
- in the busybox examples.
-
-endmenu
diff --git a/package/busybox/config/networking/udhcp/Config.in b/package/busybox/config/networking/udhcp/Config.in
deleted file mode 100644
index f4d26ec9c8..0000000000
--- a/package/busybox/config/networking/udhcp/Config.in
+++ /dev/null
@@ -1,155 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-
-
-config BUSYBOX_CONFIG_UDHCPD
- bool "udhcp server (udhcpd)"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- udhcpd is a DHCP server geared primarily toward embedded systems,
- while striving to be fully functional and RFC compliant.
-
-config BUSYBOX_CONFIG_DHCPRELAY
- bool "dhcprelay"
- default n
- depends on BUSYBOX_CONFIG_UDHCPD
- help
- dhcprelay listens for dhcp requests on one or more interfaces
- and forwards these requests to a different interface or dhcp
- server.
-
-config BUSYBOX_CONFIG_DUMPLEASES
- bool "Lease display utility (dumpleases)"
- default n
- depends on BUSYBOX_CONFIG_UDHCPD
- help
- dumpleases displays the leases written out by the udhcpd server.
- Lease times are stored in the file by time remaining in lease, or
- by the absolute time that it expires in seconds from epoch.
-
-config BUSYBOX_CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY
- bool "Rewrite the lease file at every new acknowledge"
- default n
- depends on BUSYBOX_CONFIG_UDHCPD
- help
- If selected, udhcpd will write a new file with leases every
- time a new lease has been accepted, thus eliminating the need
- to send SIGUSR1 for the initial writing or updating. Any timed
- rewriting remains undisturbed.
-
-config BUSYBOX_CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC
- bool "Select IP address based on client MAC"
- default n
- depends on BUSYBOX_CONFIG_UDHCPD
- help
- If selected, udhcpd will base its selection of IP address to offer
- on the client's hardware address. Otherwise udhcpd uses the next
- consecutive free address.
-
- This reduces the frequency of IP address changes for clients
- which let their lease expire, and makes consecutive DHCPOFFERS
- for the same client to (almost always) contain the same
- IP address.
-
-config BUSYBOX_CONFIG_DHCPD_LEASES_FILE
- string "Absolute path to lease file"
- default "/var/run/udhcpd.leases"
- depends on BUSYBOX_CONFIG_UDHCPD
- help
- udhcpd stores addresses in a lease file. This is the absolute path
- of the file. Normally it is safe to leave it untouched.
-
-config BUSYBOX_CONFIG_UDHCPC
- bool "udhcp client (udhcpc)"
- default y
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- udhcpc is a DHCP client geared primarily toward embedded systems,
- while striving to be fully functional and RFC compliant.
-
- The udhcp client negotiates a lease with the DHCP server and
- runs a script when a lease is obtained or lost.
-
-config BUSYBOX_CONFIG_FEATURE_UDHCPC_ARPING
- bool "Verify that the offered address is free, using ARP ping"
- default n
- depends on BUSYBOX_CONFIG_UDHCPC
- help
- If selected, udhcpc will send ARP probes and make sure
- the offered address is really not in use by anyone. The client
- will DHCPDECLINE the offer if the address is in use,
- and restart the discover process.
-
-config BUSYBOX_CONFIG_FEATURE_UDHCP_PORT
- bool "Enable '-P port' option for udhcpd and udhcpc"
- default n
- depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
- help
- At the cost of ~300 bytes, enables -P port option.
- This feature is typically not needed.
-
-config BUSYBOX_CONFIG_UDHCP_DEBUG
- int "Maximum verbosity level for udhcp applets (0..9)"
- default 0
- range 0 9
- depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC || BUSYBOX_CONFIG_DHCPRELAY
- help
- Verbosity can be increased with multiple -v options.
- This option controls how high it can be cranked up.
-
- Bigger values result in bigger code. Levels above 1
- are very verbose and useful for debugging only.
-
-config BUSYBOX_CONFIG_FEATURE_UDHCP_RFC3397
- bool "Support for RFC3397 domain search (experimental)"
- default y
- 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 RFC 3397,
- and SIP servers option 120, specified in RFC 3361.
-
-config BUSYBOX_CONFIG_FEATURE_UDHCP_8021Q
- bool "Support for 802.1Q VLAN parameters"
- default n
- depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
- help
- If selected, both client and server will support passing of VLAN
- ID and priority via options 132 and 133 as per 802.1Q.
-
-config BUSYBOX_CONFIG_UDHCPC_DEFAULT_SCRIPT
- string "Absolute path to config script"
- default "/usr/share/udhcpc/default.script"
- depends on BUSYBOX_CONFIG_UDHCPC
- help
- This script is called after udhcpc receives an answer. See
- examples/udhcp for a working example. Normally it is safe
- to leave this untouched.
-
-config BUSYBOX_CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS
- int "DHCP options slack buffer size"
- default 80
- range 0 924
- depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
- help
- Some buggy DHCP servers send DHCP offer packets with option
- field larger than we expect (which might also be considered a
- buffer overflow attempt). These packets are normally discarded.
- If circumstances beyond your control force you to support such
- servers, this may help. The upper limit (924) makes dhcpc accept
- even 1500 byte packets (maximum-sized ethernet packets).
-
- This option does not make dhcp[cd] emit non-standard
- sized packets.
-
- Known buggy DHCP servers:
- 3Com OfficeConnect Remote 812 ADSL Router:
- seems to confuse maximum allowed UDP packet size with
- maximum size of entire IP packet, and sends packets which are
- 28 bytes too large.
- Seednet (ISP) VDSL: sends packets 2 bytes too large.
diff --git a/package/busybox/config/printutils/Config.in b/package/busybox/config/printutils/Config.in
deleted file mode 100644
index ca2ea9f56c..0000000000
--- a/package/busybox/config/printutils/Config.in
+++ /dev/null
@@ -1,29 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Print Utilities"
-
-
-
-config BUSYBOX_CONFIG_LPD
- bool "lpd"
- default n
- help
- lpd is a print spooling daemon.
-
-config BUSYBOX_CONFIG_LPR
- bool "lpr"
- default n
- help
- lpr sends files (or standard input) to a print spooling daemon.
-
-config BUSYBOX_CONFIG_LPQ
- bool "lpq"
- default n
- help
- lpq is a print spool queue examination and manipulation program.
-
-endmenu
diff --git a/package/busybox/config/procps/Config.in b/package/busybox/config/procps/Config.in
deleted file mode 100644
index d8d72a75e7..0000000000
--- a/package/busybox/config/procps/Config.in
+++ /dev/null
@@ -1,260 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Process Utilities"
-
-config BUSYBOX_CONFIG_IOSTAT
- bool "iostat"
- default n
- help
- Report CPU and I/O statistics
-config BUSYBOX_CONFIG_MPSTAT
- bool "mpstat"
- default n
- help
- Per-processor statistics
-config BUSYBOX_CONFIG_NMETER
- bool "nmeter"
- default n
- help
- Prints selected system stats continuously, one line per update.
-config BUSYBOX_CONFIG_PMAP
- bool "pmap"
- default n
- help
- Display processes' memory mappings.
-config BUSYBOX_CONFIG_POWERTOP
- bool "powertop"
- default n
- help
- Analyze power consumption on Intel-based laptops
-config BUSYBOX_CONFIG_PSTREE
- bool "pstree"
- default n
- help
- Display a tree of processes.
-config BUSYBOX_CONFIG_PWDX
- bool "pwdx"
- default n
- help
- Report current working directory of a process
-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_UPTIME
- bool "uptime"
- default y
- select BUSYBOX_CONFIG_PLATFORM_LINUX #sysinfo()
- help
- uptime gives a one line display of the current time, how long
- the system has been running, how many users are currently logged
- on, and the system load averages for the past 1, 5, and 15 minutes.
-
-config BUSYBOX_CONFIG_FEATURE_UPTIME_UTMP_SUPPORT
- bool "Support for showing the number of users"
- default n
- depends on BUSYBOX_CONFIG_UPTIME && BUSYBOX_CONFIG_FEATURE_UTMP
- help
- Makes uptime display the number of users currently logged on.
-
-config BUSYBOX_CONFIG_FREE
- bool "free"
- default y
- select BUSYBOX_CONFIG_PLATFORM_LINUX #sysinfo()
- help
- free displays the total amount of free and used physical and swap
- memory in the system, as well as the buffers used by the kernel.
- The shared memory column should be ignored; it is obsolete.
-
-config BUSYBOX_CONFIG_FUSER
- bool "fuser"
- default n
- help
- fuser lists all PIDs (Process IDs) that currently have a given
- file open. fuser can also list all PIDs that have a given network
- (TCP or UDP) port open.
-
-config BUSYBOX_CONFIG_KILL
- bool "kill"
- default y
- help
- The command kill sends the specified signal to the specified
- process or process group. If no signal is specified, the TERM
- signal is sent.
-
-config BUSYBOX_CONFIG_KILLALL
- bool "killall"
- default y
- depends on BUSYBOX_CONFIG_KILL
- help
- killall sends a signal to all processes running any of the
- specified commands. If no signal name is specified, SIGTERM is
- sent.
-
-config BUSYBOX_CONFIG_KILLALL5
- bool "killall5"
- default n
- depends on BUSYBOX_CONFIG_KILL
-
-config BUSYBOX_CONFIG_PGREP
- bool "pgrep"
- default y
- help
- Look for processes by name.
-
-config BUSYBOX_CONFIG_PIDOF
- bool "pidof"
- default y
- help
- Pidof finds the process id's (pids) of the named programs. It prints
- those id's on the standard output.
-
-config BUSYBOX_CONFIG_FEATURE_PIDOF_SINGLE
- bool "Enable argument for single shot (-s)"
- default n
- depends on BUSYBOX_CONFIG_PIDOF
- help
- Support argument '-s' for returning only the first pid found.
-
-config BUSYBOX_CONFIG_FEATURE_PIDOF_OMIT
- bool "Enable argument for omitting pids (-o)"
- default n
- depends on BUSYBOX_CONFIG_PIDOF
- help
- Support argument '-o' for omitting the given pids in output.
- The special pid %PPID can be used to name the parent process
- of the pidof, in other words the calling shell or shell script.
-
-config BUSYBOX_CONFIG_PKILL
- bool "pkill"
- default n
- help
- Send signals to processes by name.
-
-config BUSYBOX_CONFIG_PS
- bool "ps"
- default y
- help
- ps gives a snapshot of the current processes.
-
-config BUSYBOX_CONFIG_FEATURE_PS_WIDE
- bool "Enable wide output option (-w)"
- default y
- depends on BUSYBOX_CONFIG_PS
- help
- Support argument 'w' for wide output.
- If given once, 132 chars are printed, and if given more
- than once, the length is unlimited.
-
-config BUSYBOX_CONFIG_FEATURE_PS_TIME
- bool "Enable time and elapsed time output"
- default n
- depends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Support -o time and -o etime output specifiers.
-
-config BUSYBOX_CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS
- bool "Enable additional ps columns"
- default n
- depends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP
- help
- Support -o rgroup, -o ruser, -o nice output specifiers.
-
-config BUSYBOX_CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS
- bool "Support Linux prior to 2.4.0 and non-ELF systems"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_PS_TIME
- help
- Include support for measuring HZ on old kernels and non-ELF systems
- (if you are on Linux 2.4.0+ and use ELF, you don't need this)
-
-config BUSYBOX_CONFIG_RENICE
- bool "renice"
- default n
- help
- Renice alters the scheduling priority of one or more running
- processes.
-
-config BUSYBOX_CONFIG_BB_SYSCTL
- bool "sysctl"
- default y
- help
- Configure kernel parameters at runtime.
-
-config BUSYBOX_CONFIG_TOP
- bool "top"
- default y
- help
- The top program provides a dynamic real-time view of a running
- system.
-
-config BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
- bool "Show CPU per-process usage percentage"
- default y
- depends on BUSYBOX_CONFIG_TOP
- help
- Make top display CPU usage for each process.
- This adds about 2k.
-
-config BUSYBOX_CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS
- bool "Show CPU global usage percentage"
- default y
- depends on BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
- help
- Makes top display "CPU: NN% usr NN% sys..." line.
- This adds about 0.5k.
-
-config BUSYBOX_CONFIG_FEATURE_TOP_SMP_CPU
- bool "SMP CPU usage display ('c' key)"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS
- help
- Allow 'c' key to switch between individual/cumulative CPU stats
- This adds about 0.5k.
-
-config BUSYBOX_CONFIG_FEATURE_TOP_DECIMALS
- bool "Show 1/10th of a percent in CPU/mem statistics"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
- help
- Show 1/10th of a percent in CPU/mem statistics.
- This adds about 0.3k.
-
-config BUSYBOX_CONFIG_FEATURE_TOP_SMP_PROCESS
- bool "Show CPU process runs on ('j' field)"
- default n
- depends on BUSYBOX_CONFIG_TOP
- help
- Show CPU where process was last found running on.
- This is the 'j' field.
-
-config BUSYBOX_CONFIG_FEATURE_TOPMEM
- bool "Topmem command ('s' key)"
- default n
- depends on BUSYBOX_CONFIG_TOP
- help
- Enable 's' in top (gives lots of memory info).
-
-config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS
- bool "Support for showing threads in ps/pstree/top"
- default n
- depends on BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_PSTREE
- help
- Enables the ps -T option, showing of threads in pstree,
- and 'h' command in top.
-
-config BUSYBOX_CONFIG_WATCH
- bool "watch"
- default n
- help
- watch is used to execute a program periodically, showing
- output to the screen.
-
-endmenu
diff --git a/package/busybox/config/runit/Config.in b/package/busybox/config/runit/Config.in
deleted file mode 100644
index 9d7c5970a9..0000000000
--- a/package/busybox/config/runit/Config.in
+++ /dev/null
@@ -1,90 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Runit Utilities"
-
-
-
-config BUSYBOX_CONFIG_RUNSV
- bool "runsv"
- default n
- help
- runsv starts and monitors a service and optionally an appendant log
- service.
-
-config BUSYBOX_CONFIG_RUNSVDIR
- bool "runsvdir"
- default n
- help
- runsvdir starts a runsv process for each subdirectory, or symlink to
- a directory, in the services directory dir, up to a limit of 1000
- subdirectories, and restarts a runsv process if it terminates.
-
-config BUSYBOX_CONFIG_FEATURE_RUNSVDIR_LOG
- bool "Enable scrolling argument log"
- depends on BUSYBOX_CONFIG_RUNSVDIR
- default n
- help
- Enable feature where second parameter of runsvdir holds last error
- message (viewable via top/ps). Otherwise (feature is off
- or no parameter), error messages go to stderr only.
-
-config BUSYBOX_CONFIG_SV
- bool "sv"
- default n
- help
- sv reports the current status and controls the state of services
- monitored by the runsv supervisor.
-
-config BUSYBOX_CONFIG_SV_DEFAULT_SERVICE_DIR
- string "Default directory for services"
- default "/var/service"
- depends on BUSYBOX_CONFIG_SV
- help
- Default directory for services.
- Defaults to "/var/service"
-
-config BUSYBOX_CONFIG_SVLOGD
- bool "svlogd"
- default n
- help
- svlogd continuously reads log data from its standard input, optionally
- filters log messages, and writes the data to one or more automatically
- rotated logs.
-
-config BUSYBOX_CONFIG_CHPST
- bool "chpst"
- default n
- help
- chpst changes the process state according to the given options, and
- execs specified program.
-
-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
-
-endmenu
diff --git a/package/busybox/config/selinux/Config.in b/package/busybox/config/selinux/Config.in
deleted file mode 100644
index e7317ca810..0000000000
--- a/package/busybox/config/selinux/Config.in
+++ /dev/null
@@ -1,125 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "SELinux Utilities"
- depends on BUSYBOX_CONFIG_SELINUX
-
-
-
-config BUSYBOX_CONFIG_CHCON
- bool "chcon"
- default n
- depends on BUSYBOX_CONFIG_SELINUX
- help
- Enable support to change the security context of file.
-
-config BUSYBOX_CONFIG_FEATURE_CHCON_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_CONFIG_CHCON && BUSYBOX_CONFIG_LONG_OPTS
- help
- Support long options for the chcon applet.
-
-config BUSYBOX_CONFIG_GETENFORCE
- bool "getenforce"
- default n
- depends on BUSYBOX_CONFIG_SELINUX
- help
- Enable support to get the current mode of SELinux.
-
-config BUSYBOX_CONFIG_GETSEBOOL
- bool "getsebool"
- default n
- depends on BUSYBOX_CONFIG_SELINUX
- help
- Enable support to get SELinux boolean values.
-
-config BUSYBOX_CONFIG_LOAD_POLICY
- bool "load_policy"
- default n
- depends on BUSYBOX_CONFIG_SELINUX
- help
- Enable support to load SELinux policy.
-
-config BUSYBOX_CONFIG_MATCHPATHCON
- bool "matchpathcon"
- default n
- depends on BUSYBOX_CONFIG_SELINUX
- help
- Enable support to get default security context of the
- specified path from the file contexts configuration.
-
-config BUSYBOX_CONFIG_RESTORECON
- bool "restorecon"
- default n
- depends on BUSYBOX_CONFIG_SELINUX
- help
- Enable support to relabel files. The feature is almost
- the same as setfiles, but usage is a little different.
-
-config BUSYBOX_CONFIG_RUNCON
- bool "runcon"
- default n
- depends on BUSYBOX_CONFIG_SELINUX
- help
- Enable support to run command in speficied security context.
-
-config BUSYBOX_CONFIG_FEATURE_RUNCON_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_CONFIG_RUNCON && BUSYBOX_CONFIG_LONG_OPTS
- help
- Support long options for the runcon applet.
-
-config BUSYBOX_CONFIG_SELINUXENABLED
- bool "selinuxenabled"
- default n
- depends on BUSYBOX_CONFIG_SELINUX
- help
- Enable support for this command to be used within shell scripts
- to determine if selinux is enabled.
-
-config BUSYBOX_CONFIG_SETENFORCE
- bool "setenforce"
- default n
- depends on BUSYBOX_CONFIG_SELINUX
- help
- Enable support to modify the mode SELinux is running in.
-
-config BUSYBOX_CONFIG_SETFILES
- bool "setfiles"
- default n
- depends on BUSYBOX_CONFIG_SELINUX
- help
- Enable support to modify to relabel files.
- Notice: If you built libselinux with -D_FILE_OFFSET_BITS=64,
- (It is default in libselinux's Makefile), you _must_ enable
- CONFIG_LFS.
-
-config BUSYBOX_CONFIG_FEATURE_SETFILES_CHECK_OPTION
- bool "Enable check option"
- default n
- depends on BUSYBOX_CONFIG_SETFILES
- help
- Support "-c" option (check the validity of the contexts against
- the specified binary policy) for setfiles. Requires libsepol.
-
-config BUSYBOX_CONFIG_SETSEBOOL
- bool "setsebool"
- default n
- depends on BUSYBOX_CONFIG_SELINUX
- help
- Enable support for change boolean.
- semanage and -P option is not supported yet.
-
-config BUSYBOX_CONFIG_SESTATUS
- bool "sestatus"
- default n
- depends on BUSYBOX_CONFIG_SELINUX
- help
- Displays the status of SELinux.
-
-endmenu
diff --git a/package/busybox/config/shell/Config.in b/package/busybox/config/shell/Config.in
deleted file mode 100644
index a271a386d6..0000000000
--- a/package/busybox/config/shell/Config.in
+++ /dev/null
@@ -1,433 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Shells"
-
-config BUSYBOX_CONFIG_ASH
- bool "ash"
- default y
- depends on !BUSYBOX_CONFIG_NOMMU
- help
- Tha 'ash' shell adds about 60k in the default configuration and is
- the most complete and most pedantically correct shell included with
- busybox. This shell is actually a derivative of the Debian 'dash'
- shell (by Herbert Xu), which was created by porting the 'ash' shell
- (written by Kenneth Almquist) from NetBSD.
-
-config BUSYBOX_CONFIG_ASH_BASH_COMPAT
- bool "bash-compatible extensions"
- default y
- depends on BUSYBOX_CONFIG_ASH
- help
- Enable bash-compatible extensions.
-
-config BUSYBOX_CONFIG_ASH_IDLE_TIMEOUT
- bool "Idle timeout variable"
- default n
- depends on BUSYBOX_CONFIG_ASH
- help
- Enables bash-like auto-logout after $TMOUT seconds of idle time.
-
-config BUSYBOX_CONFIG_ASH_JOB_CONTROL
- bool "Job control"
- default y
- depends on BUSYBOX_CONFIG_ASH
- help
- Enable job control in the ash shell.
-
-config BUSYBOX_CONFIG_ASH_ALIAS
- bool "Alias support"
- default y
- depends on BUSYBOX_CONFIG_ASH
- help
- Enable alias support in the ash shell.
-
-config BUSYBOX_CONFIG_ASH_GETOPTS
- bool "Builtin getopt to parse positional parameters"
- default y
- depends on BUSYBOX_CONFIG_ASH
- help
- Enable support for getopts builtin in ash.
-
-config BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
- bool "Builtin version of 'echo'"
- default y
- depends on BUSYBOX_CONFIG_ASH
- help
- Enable support for echo builtin in ash.
-
-config BUSYBOX_CONFIG_ASH_BUILTIN_PRINTF
- bool "Builtin version of 'printf'"
- default y
- depends on BUSYBOX_CONFIG_ASH
- help
- Enable support for printf builtin in ash.
-
-config BUSYBOX_CONFIG_ASH_BUILTIN_TEST
- bool "Builtin version of 'test'"
- default y
- depends on BUSYBOX_CONFIG_ASH
- help
- Enable support for test builtin in ash.
-
-config BUSYBOX_CONFIG_ASH_CMDCMD
- bool "'command' command to override shell builtins"
- default y
- depends on BUSYBOX_CONFIG_ASH
- help
- Enable support for the ash 'command' builtin, which allows
- you to run the specified command with the specified arguments,
- even when there is an ash builtin command with the same name.
-
-config BUSYBOX_CONFIG_ASH_MAIL
- bool "Check for new mail on interactive shells"
- default n
- depends on BUSYBOX_CONFIG_ASH
- help
- Enable "check for new mail" function in the ash shell.
-
-config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
- bool "Optimize for size instead of speed"
- default n
- depends on BUSYBOX_CONFIG_ASH
- help
- Compile ash for reduced size at the price of speed.
-
-config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
- 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" the generator will switch off and this
- variable will no longer have special treatment.
-
-config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
- bool "Expand prompt string"
- default y
- depends on BUSYBOX_CONFIG_ASH
- help
- "PS#" may contain volatile content, such as backquote commands.
- This option recreates the prompt string from the environment
- variable each time it is displayed.
-
-config BUSYBOX_CONFIG_CTTYHACK
- bool "cttyhack"
- default n
- help
- One common problem reported on the mailing list is the "can't
- access tty; job control turned off" error message, which typically
- appears when one tries to use a shell with stdin/stdout on
- /dev/console.
- This device is special - it cannot be a controlling tty.
-
- The proper solution is to use the correct device instead of
- /dev/console.
-
- cttyhack provides a "quick and dirty" solution to this problem.
- It analyzes stdin with various ioctls, trying to determine whether
- it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
- On Linux it also checks sysfs for a pointer to the active console.
- If cttyhack is able to find the real console device, it closes
- stdin/out/err and reopens that device.
- Then it executes the 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
-
- Starting an interactive shell from boot shell script:
-
- setsid cttyhack sh
-
- Giving controlling tty to shell running with PID 1:
-
- # exec cttyhack sh
-
- Without cttyhack, you need to know exact tty name,
- and do something like this:
-
- # exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
-
-config BUSYBOX_CONFIG_HUSH
- bool "hush"
- default n
- help
- hush is a small shell (25k). 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 will compile and work on no-mmu systems.
-
- It does not handle select, aliases, tilde expansion,
- &>file and >&file redirection of stdout+stderr.
-
-config BUSYBOX_CONFIG_HUSH_BASH_COMPAT
- bool "bash-compatible extensions"
- default y
- depends on BUSYBOX_CONFIG_HUSH
- help
- Enable bash-compatible extensions.
-
-config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION
- bool "Brace expansion"
- default n
- depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
- help
- Enable {abc,def} extension.
-
-config BUSYBOX_CONFIG_HUSH_HELP
- bool "help builtin"
- default y
- depends on BUSYBOX_CONFIG_HUSH
- help
- Enable help builtin in hush. Code size + ~1 kbyte.
-
-config BUSYBOX_CONFIG_HUSH_INTERACTIVE
- bool "Interactive mode"
- default y
- depends on BUSYBOX_CONFIG_HUSH
- help
- Enable interactive mode (prompt and command editing).
- Without this, hush simply reads and executes commands
- from stdin just like a shell script from a file.
- No prompt, no PS1/PS2 magic shell variables.
-
-config BUSYBOX_CONFIG_HUSH_SAVEHISTORY
- bool "Save command history to .hush_history"
- default n
- depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE && BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
- help
- Enable history saving in hush.
-
-config BUSYBOX_CONFIG_HUSH_JOB
- bool "Job control"
- default y
- depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE
- help
- Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current
- command (not entire shell), fg/bg builtins work. Without this option,
- "cmd &" still works by simply spawning a process and immediately
- prompting for next command (or executing next command in a script),
- but no separate process group is formed.
-
-config BUSYBOX_CONFIG_HUSH_TICK
- bool "Process substitution"
- default y
- depends on BUSYBOX_CONFIG_HUSH
- help
- Enable process substitution `command` and $(command) in hush.
-
-config BUSYBOX_CONFIG_HUSH_IF
- bool "Support if/then/elif/else/fi"
- default y
- depends on BUSYBOX_CONFIG_HUSH
- help
- Enable if/then/elif/else/fi in hush.
-
-config BUSYBOX_CONFIG_HUSH_LOOPS
- bool "Support for, while and until loops"
- default y
- depends on BUSYBOX_CONFIG_HUSH
- help
- Enable for, while and until loops in hush.
-
-config BUSYBOX_CONFIG_HUSH_CASE
- bool "Support case ... esac statement"
- default y
- depends on BUSYBOX_CONFIG_HUSH
- help
- Enable case ... esac statement in hush. +400 bytes.
-
-config BUSYBOX_CONFIG_HUSH_FUNCTIONS
- bool "Support funcname() { commands; } syntax"
- default y
- depends on BUSYBOX_CONFIG_HUSH
- help
- Enable support for shell functions in hush. +800 bytes.
-
-config BUSYBOX_CONFIG_HUSH_LOCAL
- bool "Support local builtin"
- default y
- depends on BUSYBOX_CONFIG_HUSH_FUNCTIONS
- help
- Enable support for local variables in functions.
-
-config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
- bool "Pseudorandom generator and $RANDOM variable"
- default n
- depends on BUSYBOX_CONFIG_HUSH
- help
- Enable pseudorandom generator and dynamic variable "$RANDOM".
- Each read of "$RANDOM" will generate a new pseudorandom value.
-
-config BUSYBOX_CONFIG_HUSH_EXPORT_N
- bool "Support 'export -n' option"
- default y
- depends on BUSYBOX_CONFIG_HUSH
- help
- export -n unexports variables. It is a bash extension.
-
-config BUSYBOX_CONFIG_HUSH_MODE_X
- bool "Support 'hush -x' option and 'set -x' command"
- default n
- depends on BUSYBOX_CONFIG_HUSH
- help
- This instructs hush to print commands before execution.
- Adds ~300 bytes.
-
-config BUSYBOX_CONFIG_MSH
- bool "msh (deprecated: aliased to hush)"
- default n
- select BUSYBOX_CONFIG_HUSH
- help
- msh is deprecated and will be removed, please migrate to hush.
-
-
-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_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
- 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_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
- example, entering the command 'ifconfig' into the shell would cause
- busybox to use the ifconfig busybox applet. Specifying the fully
- qualified executable name, such as '/sbin/ifconfig' will still
- execute the /sbin/ifconfig executable on the filesystem. This option
- is generally used when creating a statically linked version of busybox
- for use as a rescue shell, in the event that you screw up your system.
-
- This is implemented by re-execing /proc/self/exe (typically)
- with right parameters. Some selected applets ("NOFORK" applets)
- can even be executed without creating new process.
- Instead, busybox will call <applet>_main() internally.
-
- However, this causes problems in chroot jails without mounted /proc
- and with ps/top (command name can be shown as 'exe' for applets
- started this way).
-# untrue?
-# Note that this will *also* cause applets to take precedence
-# over shell builtins of the same name. So turning this on will
-# eliminate any performance gained by turning on the builtin "echo"
-# and "test" commands in ash.
-# untrue?
-# Note that when using this option, the shell will attempt to directly
-# run '/bin/busybox'. If you do not have the busybox binary sitting in
-# that exact location with that exact name, this option will not work at
-# all.
-
-config BUSYBOX_CONFIG_FEATURE_SH_NOFORK
- bool "Run 'nofork' applets directly"
- default n
- depends on (BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH) && BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
- help
- This option causes busybox shells to not execute typical
- fork/exec/wait sequence, but call <applet>_main directly,
- if possible. (Sometimes it is not possible: for example,
- this is not possible in pipes).
-
- This will be done only for some applets (those which are marked
- NOFORK in include/applets.h).
-
- This may significantly speed up some shell scripts.
-
- This feature is relatively new. Use with care. Report bugs
- to project mailing list.
-
-config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE
- bool "Use $HISTFILESIZE"
- default n
- depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
- help
- This option makes busybox shells to use $HISTFILESIZE variable
- to set shell history size. Note that its max value is capped
- by "History size" setting in library tuning section.
-
-
-endmenu
diff --git a/package/busybox/config/sysklogd/Config.in b/package/busybox/config/sysklogd/Config.in
deleted file mode 100644
index f403a684bb..0000000000
--- a/package/busybox/config/sysklogd/Config.in
+++ /dev/null
@@ -1,154 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "System Logging Utilities"
-
-
-
-config BUSYBOX_CONFIG_SYSLOGD
- bool "syslogd"
- default y
- help
- The syslogd utility is used to record logs of all the
- significant events that occur on a system. Every
- message that is logged records the date and time of the
- event, and will generally also record the name of the
- application that generated the message. When used in
- conjunction with klogd, messages from the Linux kernel
- can also be recorded. This is terribly useful,
- especially for finding what happened when something goes
- wrong. And something almost always will go wrong if
- you wait long enough....
-
-config BUSYBOX_CONFIG_FEATURE_ROTATE_LOGFILE
- bool "Rotate message files"
- default y
- depends on BUSYBOX_CONFIG_SYSLOGD
- help
- This enables syslogd to rotate the message files
- on his own. No need to use an external rotatescript.
-
-config BUSYBOX_CONFIG_FEATURE_REMOTE_LOG
- bool "Remote Log support"
- default y
- depends on BUSYBOX_CONFIG_SYSLOGD
- help
- When you enable this feature, the syslogd utility can
- be used to send system log messages to another system
- connected via a network. This allows the remote
- machine to log all the system messages, which can be
- terribly useful for reducing the number of serial
- cables you use. It can also be a very good security
- measure to prevent system logs from being tampered with
- by an intruder.
-
-config BUSYBOX_CONFIG_FEATURE_SYSLOGD_DUP
- bool "Support -D (drop dups) option"
- default n
- depends on BUSYBOX_CONFIG_SYSLOGD
- help
- Option -D instructs syslogd to drop consecutive messages
- which are totally the same.
-
-config BUSYBOX_CONFIG_FEATURE_SYSLOGD_CFG
- bool "Support syslog.conf"
- default n
- depends on BUSYBOX_CONFIG_SYSLOGD
- help
- Supports restricted syslogd config. See docs/syslog.conf.txt
-
-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
- depends on BUSYBOX_CONFIG_SYSLOGD
- help
- When you enable this feature, the syslogd utility will
- use a circular buffer to record system log messages.
- When the buffer is filled it will continue to overwrite
- the oldest messages. This can be very useful for
- systems with little or no permanent storage, since
- otherwise system logs can eventually fill up your
- entire filesystem, which may cause your system to
- break badly.
-
-config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE
- int "Circular buffer size in Kbytes (minimum 4KB)"
- default 16
- range 4 2147483647
- depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
- help
- This option sets the size of the circular buffer
- used to record system log messages.
-
-config BUSYBOX_CONFIG_LOGREAD
- bool "logread"
- default y
- depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG && BROKEN
- help
- If you enabled Circular Buffer support, you almost
- certainly want to enable this feature as well. This
- utility will allow you to read the messages that are
- stored in the syslogd circular buffer.
-
-config BUSYBOX_CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING
- bool "Double buffering"
- default n
- depends on BUSYBOX_CONFIG_LOGREAD
- help
- 'logread' ouput to slow serial terminals can have
- side effects on syslog because of the semaphore.
- This option make logread to double buffer copy
- from circular buffer, minimizing semaphore
- contention at some minor memory expense.
-
-config BUSYBOX_CONFIG_KLOGD
- bool "klogd"
- default y
- help
- klogd is a utility which intercepts and logs all
- messages from the Linux kernel and sends the messages
- out to the 'syslogd' utility so they can be logged. If
- you wish to record the messages produced by the kernel,
- you should enable this option.
-
-config BUSYBOX_CONFIG_FEATURE_KLOGD_KLOGCTL
- bool "Use the klogctl() interface"
- default y
- depends on BUSYBOX_CONFIG_KLOGD
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- The klogd applet supports two interfaces for reading
- kernel messages. Linux provides the klogctl() interface
- which allows reading messages from the kernel ring buffer
- independently from the file system.
-
- If you answer 'N' here, klogd will use the more portable
- approach of reading them from /proc or a device node.
- However, this method requires the file to be available.
-
- If in doubt, say 'Y'.
-
-config BUSYBOX_CONFIG_LOGGER
- bool "logger"
- default y
- select BUSYBOX_CONFIG_FEATURE_SYSLOG
- help
- The logger utility allows you to send arbitrary text
- messages to the system log (i.e. the 'syslogd' utility) so
- they can be logged. This is generally used to help locate
- problems that occur within programs and scripts.
-
-endmenu
diff --git a/package/busybox/config/util-linux/Config.in b/package/busybox/config/util-linux/Config.in
deleted file mode 100644
index d60b139a8b..0000000000
--- a/package/busybox/config/util-linux/Config.in
+++ /dev/null
@@ -1,985 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Linux System Utilities"
-
-config BUSYBOX_CONFIG_BLOCKDEV
- bool "blockdev"
- default n
- help
- Performs some ioctls with block devices.
-config BUSYBOX_CONFIG_REV
- bool "rev"
- default n
- help
- Reverse lines of a file or files.
-
-config BUSYBOX_CONFIG_ACPID
- bool "acpid"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- 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
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- select BUSYBOX_CONFIG_VOLUMEID
- help
- Lists labels and UUIDs of all filesystems.
- WARNING:
- With all submodules selected, it will add ~8k to busybox.
-
-config BUSYBOX_CONFIG_FEATURE_BLKID_TYPE
- bool "Print filesystem type"
- default n
- depends on BUSYBOX_CONFIG_BLKID
- help
- Show TYPE="filesystem type"
-
-config BUSYBOX_CONFIG_DMESG
- bool "dmesg"
- default y
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- dmesg is used to examine or control the kernel ring buffer. When the
- Linux kernel prints messages to the system log, they are stored in
- the kernel ring buffer. You can use dmesg to print the kernel's ring
- buffer, clear the kernel ring buffer, change the size of the kernel
- ring buffer, and change the priority level at which kernel messages
- are also logged to the system console. Enable this option if you
- wish to enable the 'dmesg' utility.
-
-config BUSYBOX_CONFIG_FEATURE_DMESG_PRETTY
- bool "Pretty dmesg output"
- default y
- depends on BUSYBOX_CONFIG_DMESG
- help
- If you wish to scrub the syslog level from the output, say 'Y' here.
- The syslog level is a string prefixed to every line with the form
- "<#>".
-
- With this option you will see:
- # dmesg
- Linux version 2.6.17.4 .....
- BIOS-provided physical RAM map:
- BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
-
- Without this option you will see:
- # dmesg
- <5>Linux version 2.6.17.4 .....
- <6>BIOS-provided physical RAM map:
- <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
-
-config BUSYBOX_CONFIG_FBSET
- bool "fbset"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- fbset is used to show or change the settings of a Linux frame buffer
- device. The frame buffer device provides a simple and unique
- interface to access a graphics display. Enable this option
- if you wish to enable the 'fbset' utility.
-
-config BUSYBOX_CONFIG_FEATURE_FBSET_FANCY
- bool "Turn on extra fbset options"
- default n
- depends on BUSYBOX_CONFIG_FBSET
- help
- This option enables extended fbset options, allowing one to set the
- framebuffer size, color depth, etc. interface to access a graphics
- display. Enable this option if you wish to enable extended fbset
- options.
-
-config BUSYBOX_CONFIG_FEATURE_FBSET_READMODE
- bool "Turn on fbset readmode support"
- default n
- depends on BUSYBOX_CONFIG_FBSET
- help
- This option allows fbset to read the video mode database stored by
- default n /etc/fb.modes, which can be used to set frame buffer
- device to pre-defined video modes.
-
-config BUSYBOX_CONFIG_FDFLUSH
- bool "fdflush"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- fdflush is only needed when changing media on slightly-broken
- removable media drives. It is used to make Linux believe that a
- hardware disk-change switch has been actuated, which causes Linux to
- forget anything it has cached from the previous media. If you have
- such a slightly-broken drive, you will need to run fdflush every time
- you change a disk. Most people have working hardware and can safely
- leave this disabled.
-
-config BUSYBOX_CONFIG_FDFORMAT
- bool "fdformat"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- fdformat is used to low-level format a floppy disk.
-
-config BUSYBOX_CONFIG_FDISK
- bool "fdisk"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- The fdisk utility is used to divide hard disks into one or more
- logical disks, which are generally called partitions. This utility
- can be used to list and edit the set of partitions or BSD style
- 'disk slices' that are defined on a hard drive.
-
-config BUSYBOX_CONFIG_FDISK_SUPPORT_LARGE_DISKS
- bool "Support over 4GB disks"
- default y
- depends on BUSYBOX_CONFIG_FDISK
- depends on !BUSYBOX_CONFIG_LFS # with LFS no special code is needed
- help
- Enable this option to support large disks > 4GB.
-
-config BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
- bool "Write support"
- default n
- depends on BUSYBOX_CONFIG_FDISK
- help
- Enabling this option allows you to create or change a partition table
- and write those changes out to disk. If you leave this option
- disabled, you will only be able to view the partition table.
-
-config BUSYBOX_CONFIG_FEATURE_AIX_LABEL
- bool "Support AIX disklabels"
- default n
- depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
- help
- Enabling this option allows you to create or change AIX disklabels.
- Most people can safely leave this option disabled.
-
-config BUSYBOX_CONFIG_FEATURE_SGI_LABEL
- bool "Support SGI disklabels"
- default n
- depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
- help
- Enabling this option allows you to create or change SGI disklabels.
- Most people can safely leave this option disabled.
-
-config BUSYBOX_CONFIG_FEATURE_SUN_LABEL
- bool "Support SUN disklabels"
- default n
- depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
- help
- Enabling this option allows you to create or change SUN disklabels.
- Most people can safely leave this option disabled.
-
-config BUSYBOX_CONFIG_FEATURE_OSF_LABEL
- bool "Support BSD disklabels"
- default n
- depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
- help
- Enabling this option allows you to create or change BSD disklabels
- and define and edit BSD disk slices.
-
-config BUSYBOX_CONFIG_FEATURE_GPT_LABEL
- bool "Support GPT disklabels"
- default n
- depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
- help
- Enabling this option allows you to view GUID Partition Table
- disklabels.
-
-config BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED
- bool "Support expert mode"
- default n
- depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
- help
- Enabling this option allows you to do terribly unsafe things like
- define arbitrary drive geometry, move the beginning of data in a
- partition, and similarly evil things. Unless you have a very good
- reason you would be wise to leave this disabled.
-
-config BUSYBOX_CONFIG_FINDFS
- bool "findfs"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- select BUSYBOX_CONFIG_VOLUMEID
- help
- Prints the name of a filesystem with given label or UUID.
- 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
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Linux allows you to create ramdisks. This utility allows you to
- delete them and completely free all memory that was used for the
- ramdisk. For example, if you boot Linux into a ramdisk and later
- pivot_root, you may want to free the memory that is allocated to the
- ramdisk. If you have no use for freeing memory from a ramdisk, leave
- this disabled.
-
-config BUSYBOX_CONFIG_FSCK_MINIX
- bool "fsck_minix"
- default n
- help
- The minix filesystem is a nice, small, compact, read-write filesystem
- with little overhead. It is not a journaling filesystem however and
- can experience corruption if it is not properly unmounted or if the
- power goes off in the middle of a write. This utility allows you to
- check for and attempt to repair any corruption that occurs to a minix
- filesystem.
-
-config BUSYBOX_CONFIG_MKFS_EXT2
- bool "mkfs_ext2"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Utility to create EXT2 filesystems.
-
-config BUSYBOX_CONFIG_MKFS_MINIX
- bool "mkfs_minix"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- The minix filesystem is a nice, small, compact, read-write filesystem
- with little overhead. If you wish to be able to create minix
- filesystems this utility will do the job for you.
-
-config BUSYBOX_CONFIG_FEATURE_MINIX2
- bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
- default n
- depends on BUSYBOX_CONFIG_FSCK_MINIX || BUSYBOX_CONFIG_MKFS_MINIX
- help
- If you wish to be able to create version 2 minix filesystems, enable
- this. If you enabled 'mkfs_minix' then you almost certainly want to
- be using the version 2 filesystem support.
-
-config BUSYBOX_CONFIG_MKFS_REISER
- bool "mkfs_reiser"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Utility to create ReiserFS filesystems.
- Note: this applet needs a lot of testing and polishing.
-
-config BUSYBOX_CONFIG_MKFS_VFAT
- bool "mkfs_vfat"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Utility to create FAT32 filesystems.
-
-config BUSYBOX_CONFIG_GETOPT
- bool "getopt"
- default n
- help
- The getopt utility is used to break up (parse) options in command
- lines to make it easy to write complex shell scripts that also check
- for legal (and illegal) options. If you want to write horribly
- complex shell scripts, or use some horribly complex shell script
- written by others, this utility may be for you. Most people will
- wisely leave this disabled.
-
-config BUSYBOX_CONFIG_FEATURE_GETOPT_LONG
- bool "Support option -l"
- default n if BUSYBOX_CONFIG_LONG_OPTS
- depends on BUSYBOX_CONFIG_GETOPT
- help
- Enable support for long options (option -l).
-
-config BUSYBOX_CONFIG_HEXDUMP
- bool "hexdump"
- default y
- help
- The hexdump utility is used to display binary data in a readable
- way that is comparable to the output from most hex editors.
-
-config BUSYBOX_CONFIG_FEATURE_HEXDUMP_REVERSE
- bool "Support -R, reverse of 'hexdump -Cv'"
- default n
- depends on BUSYBOX_CONFIG_HEXDUMP
- help
- The hexdump utility is used to display binary data in an ascii
- readable way. This option creates binary data from an ascii input.
- NB: this option is non-standard. It's unwise to use it in scripts
- aimed to be portable.
-
-config BUSYBOX_CONFIG_HD
- bool "hd"
- default n
- depends on BUSYBOX_CONFIG_HEXDUMP
- help
- hd is an alias to hexdump -C.
-
-config BUSYBOX_CONFIG_HWCLOCK
- bool "hwclock"
- default y
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- The hwclock utility is used to read and set the hardware clock
- on a system. This is primarily used to set the current time on
- shutdown in the hardware clock, so the hardware will keep the
- correct time when Linux is _not_ running.
-
-config BUSYBOX_CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS
- bool "Support long options (--hctosys,...)"
- default n
- depends on BUSYBOX_CONFIG_HWCLOCK && BUSYBOX_CONFIG_LONG_OPTS
- help
- By default, the hwclock utility only uses short options. If you
- are overly fond of its long options, such as --hctosys, --utc, etc)
- then enable this option.
-
-config BUSYBOX_CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS
- bool "Use FHS /var/lib/hwclock/adjtime"
- default n # util-linux-ng in Fedora 13 still uses /etc/adjtime
- depends on BUSYBOX_CONFIG_HWCLOCK
- help
- Starting with FHS 2.3, the adjtime state file is supposed to exist
- at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
- to use the FHS behavior, answer Y here, otherwise answer N for the
- classic /etc/adjtime path.
-
- pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
-
-config BUSYBOX_CONFIG_IPCRM
- bool "ipcrm"
- default n
- help
- The ipcrm utility allows the removal of System V interprocess
- communication (IPC) objects and the associated data structures
- from the system.
-
-config BUSYBOX_CONFIG_IPCS
- bool "ipcs"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- The ipcs utility is used to provide information on the currently
- allocated System V interprocess (IPC) objects in the system.
-
-config BUSYBOX_CONFIG_LOSETUP
- bool "losetup"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- losetup is used to associate or detach a loop device with a regular
- file or block device, and to query the status of a loop device. This
- version does not currently support enabling data encryption.
-
-config BUSYBOX_CONFIG_LSPCI
- bool "lspci"
- default n
- #select PLATFORM_LINUX
- help
- lspci is a utility for displaying information about PCI buses in the
- system and devices connected to them.
-
- This version uses sysfs (/sys/bus/pci/devices) only.
-
-config BUSYBOX_CONFIG_LSUSB
- bool "lsusb"
- default n
- #select PLATFORM_LINUX
- help
- lsusb is a utility for displaying information about USB buses in the
- system and devices connected to them.
-
- This version uses sysfs (/sys/bus/usb/devices) only.
-
-config BUSYBOX_CONFIG_MDEV
- bool "mdev"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- mdev is a mini-udev implementation for dynamically creating device
- nodes in the /dev directory.
-
- For more information, please see docs/mdev.txt
-
-config BUSYBOX_CONFIG_FEATURE_MDEV_CONF
- bool "Support /etc/mdev.conf"
- default n
- depends on BUSYBOX_CONFIG_MDEV
- help
- Add support for the mdev config file to control ownership and
- permissions of the device nodes.
-
- For more information, please see docs/mdev.txt
-
-config BUSYBOX_CONFIG_FEATURE_MDEV_RENAME
- bool "Support subdirs/symlinks"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_MDEV_CONF
- help
- Add support for renaming devices and creating symlinks.
-
- For more information, please see docs/mdev.txt
-
-config BUSYBOX_CONFIG_FEATURE_MDEV_RENAME_REGEXP
- bool "Support regular expressions substitutions when renaming device"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_MDEV_RENAME
- help
- Add support for regular expressions substitutions when renaming
- device.
-
-config BUSYBOX_CONFIG_FEATURE_MDEV_EXEC
- bool "Support command execution at device addition/removal"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_MDEV_CONF
- help
- This adds support for an optional field to /etc/mdev.conf for
- executing commands when devices are created/removed.
-
- For more information, please see docs/mdev.txt
-
-config BUSYBOX_CONFIG_FEATURE_MDEV_LOAD_FIRMWARE
- bool "Support loading of firmwares"
- default n
- depends on BUSYBOX_CONFIG_MDEV
- help
- Some devices need to load firmware before they can be usable.
-
- These devices will request userspace look up the files in
- /lib/firmware/ and if it exists, send it to the kernel for
- loading into the hardware.
-
-config BUSYBOX_CONFIG_MKSWAP
- bool "mkswap"
- default y
- help
- The mkswap utility is used to configure a file or disk partition as
- Linux swap space. This allows Linux to use the entire file or
- partition as if it were additional RAM, which can greatly increase
- the capability of low-memory machines. This additional memory is
- much slower than real RAM, but can be very helpful at preventing your
- applications being killed by the Linux out of memory (OOM) killer.
- Once you have created swap space using 'mkswap' you need to enable
- the swap space using the 'swapon' utility.
-
-config BUSYBOX_CONFIG_FEATURE_MKSWAP_UUID
- bool "UUID support"
- default n
- depends on BUSYBOX_CONFIG_MKSWAP
- help
- Generate swap spaces with universally unique identifiers.
-
-config BUSYBOX_CONFIG_MORE
- bool "more"
- default n
- help
- more is a simple utility which allows you to read text one screen
- sized page at a time. If you want to read text that is larger than
- the screen, and you are using anything faster than a 300 baud modem,
- you will probably find this utility very helpful. If you don't have
- any need to reading text files, you can leave this disabled.
-
-config BUSYBOX_CONFIG_MOUNT
- bool "mount"
- default y
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- All files and filesystems in Unix are arranged into one big directory
- tree. The 'mount' utility is used to graft a filesystem onto a
- particular part of the tree. A filesystem can either live on a block
- device, or it can be accessible over the network, as is the case with
- NFS filesystems. Most people using BusyBox will also want to enable
- the 'mount' utility.
-
-config BUSYBOX_CONFIG_FEATURE_MOUNT_FAKE
- bool "Support option -f"
- default n
- depends on BUSYBOX_CONFIG_MOUNT
- help
- Enable support for faking a file system mount.
-
-config BUSYBOX_CONFIG_FEATURE_MOUNT_VERBOSE
- bool "Support option -v"
- default n
- depends on BUSYBOX_CONFIG_MOUNT
- help
- Enable multi-level -v[vv...] verbose messages. Useful if you
- debug mount problems and want to see what is exactly passed
- to the kernel.
-
-config BUSYBOX_CONFIG_FEATURE_MOUNT_HELPERS
- bool "Support mount helpers"
- default y
- depends on BUSYBOX_CONFIG_MOUNT
- help
- Enable mounting of virtual file systems via external helpers.
- E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
- "obexfs -b00.11.22.33.44.55 /mnt"
- Also "mount -t sometype [-o opts] fs /mnt" will try
- "sometype [-o opts] fs /mnt" if simple mount syscall fails.
- The idea is to use such virtual filesystems in /etc/fstab.
-
-config BUSYBOX_CONFIG_FEATURE_MOUNT_LABEL
- bool "Support specifying devices by label or UUID"
- default n
- depends on BUSYBOX_CONFIG_MOUNT
- select BUSYBOX_CONFIG_VOLUMEID
- help
- This allows for specifying a device by label or uuid, rather than by
- name. This feature utilizes the same functionality as blkid/findfs.
- This also enables label or uuid support for swapon.
-
-config BUSYBOX_CONFIG_FEATURE_MOUNT_NFS
- bool "Support mounting NFS file systems"
- default n
- depends on BUSYBOX_CONFIG_MOUNT
- select BUSYBOX_CONFIG_FEATURE_HAVE_RPC
- select BUSYBOX_CONFIG_FEATURE_SYSLOG
- help
- Enable mounting of NFS file systems.
-
-config BUSYBOX_CONFIG_FEATURE_MOUNT_CIFS
- bool "Support mounting CIFS/SMB file systems"
- default y
- depends on BUSYBOX_CONFIG_MOUNT
- help
- Enable support for samba mounts.
-
-config BUSYBOX_CONFIG_FEATURE_MOUNT_FLAGS
- depends on BUSYBOX_CONFIG_MOUNT
- bool "Support lots of -o flags in mount"
- default y
- help
- Without this, mount only supports ro/rw/remount. With this, it
- supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
- noatime, diratime, nodiratime, loud, bind, move, shared, slave,
- private, unbindable, rshared, rslave, rprivate, and runbindable.
-
-config BUSYBOX_CONFIG_FEATURE_MOUNT_FSTAB
- depends on BUSYBOX_CONFIG_MOUNT
- bool "Support /etc/fstab and -a"
- default y
- help
- Support mount all and looking for files in /etc/fstab.
-
-config BUSYBOX_CONFIG_PIVOT_ROOT
- bool "pivot_root"
- default y
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- The pivot_root utility swaps the mount points for the root filesystem
- with some other mounted filesystem. This allows you to do all sorts
- of wild and crazy things with your Linux system and is far more
- powerful than 'chroot'.
-
- Note: This is for initrd in linux 2.4. Under initramfs (introduced
- in linux 2.6) use switch_root instead.
-
-config BUSYBOX_CONFIG_RDATE
- bool "rdate"
- default n
- help
- The rdate utility allows you to synchronize the date and time of your
- system clock with the date and time of a remote networked system using
- the RFC868 protocol, which is built into the inetd daemon on most
- systems.
-
-config BUSYBOX_CONFIG_RDEV
- bool "rdev"
- default n
- help
- Print the device node associated with the filesystem mounted at '/'.
-
-config BUSYBOX_CONFIG_READPROFILE
- bool "readprofile"
- default n
- #select PLATFORM_LINUX
- help
- This allows you to parse /proc/profile for basic profiling.
-
-config BUSYBOX_CONFIG_RTCWAKE
- bool "rtcwake"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- Enter a system sleep state until specified wakeup time.
-
-config BUSYBOX_CONFIG_SCRIPT
- bool "script"
- default n
- help
- The script makes typescript of terminal session.
-
-config BUSYBOX_CONFIG_SCRIPTREPLAY
- bool "scriptreplay"
- default n
- help
- This program replays a typescript, using timing information
- given by script -t.
-
-config BUSYBOX_CONFIG_SETARCH
- bool "setarch"
- default n
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- The linux32 utility is used to create a 32bit environment for the
- specified program (usually a shell). It only makes sense to have
- this util on a system that supports both 64bit and 32bit userland
- (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
-
-config BUSYBOX_CONFIG_SWAPONOFF
- bool "swaponoff"
- default y
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- This option enables both the 'swapon' and the 'swapoff' utilities.
- Once you have created some swap space using 'mkswap', you also need
- to enable your swap space with the 'swapon' utility. The 'swapoff'
- utility is used, typically at system shutdown, to disable any swap
- space. If you are not using any swap space, you can leave this
- option disabled.
-
-config BUSYBOX_CONFIG_FEATURE_SWAPON_PRI
- bool "Support priority option -p"
- default n
- depends on BUSYBOX_CONFIG_SWAPONOFF
- help
- Enable support for setting swap device priority in swapon.
-
-config BUSYBOX_CONFIG_SWITCH_ROOT
- bool "switch_root"
- default y
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- The switch_root utility is used from initramfs to select a new
- root device. Under initramfs, you have to use this instead of
- pivot_root. (Stop reading here if you don't care why.)
-
- Booting with initramfs extracts a gzipped cpio archive into rootfs
- (which is a variant of ramfs/tmpfs). Because rootfs can't be moved
- or unmounted*, pivot_root will not work from initramfs. Instead,
- switch_root deletes everything out of rootfs (including itself),
- does a mount --move that overmounts rootfs with the new root, and
- then execs the specified init program.
-
- * Because the Linux kernel uses rootfs internally as the starting
- and ending point for searching through the kernel's doubly linked
- list of active mount points. That's why.
-
-config BUSYBOX_CONFIG_UMOUNT
- bool "umount"
- default y
- select BUSYBOX_CONFIG_PLATFORM_LINUX
- help
- When you want to remove a mounted filesystem from its current mount
- point, for example when you are shutting down the system, the
- 'umount' utility is the tool to use. If you enabled the 'mount'
- utility, you almost certainly also want to enable 'umount'.
-
-config BUSYBOX_CONFIG_FEATURE_UMOUNT_ALL
- bool "Support option -a"
- default y
- depends on BUSYBOX_CONFIG_UMOUNT
- help
- Support -a option to unmount all currently mounted filesystems.
-
-comment "Common options for mount/umount"
- depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
-
-config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
- bool "Support loopback mounts"
- default y
- depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
- help
- Enabling this feature allows automatic mounting of files (containing
- filesystem images) via the linux kernel's loopback devices.
- The mount command will detect you are trying to mount a file instead
- of a block device, and transparently associate the file with a
- loopback device. The umount command will also free that loopback
- device.
-
- You can still use the 'losetup' utility (to manually associate files
- with loop devices) if you need to do something advanced, such as
- 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
- depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
- select BUSYBOX_CONFIG_FEATURE_MOUNT_FAKE
- help
- Historically, Unix systems kept track of the currently mounted
- partitions in the file "/etc/mtab". These days, the kernel exports
- the list of currently mounted partitions in "/proc/mounts", rendering
- the old mtab file obsolete. (In modern systems, /etc/mtab should be
- a symlink to /proc/mounts.)
-
- The only reason to have mount maintain an /etc/mtab file itself is if
- your stripped-down embedded system does not have a /proc directory.
- 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 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 n
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BTRFS
- bool "btrfs filesystem"
- default n
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_REISERFS
- bool "Reiser filesystem"
- default n
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_FAT
- bool "fat filesystem"
- default n
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_HFS
- bool "hfs filesystem"
- default n
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_JFS
- bool "jfs filesystem"
- default n
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-### config FEATURE_VOLUMEID_UFS
-### bool "ufs filesystem"
-### default y
-### depends on VOLUMEID
-### help
-### TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_XFS
- bool "xfs filesystem"
- default n
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_NTFS
- bool "ntfs filesystem"
- default n
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ISO9660
- bool "iso9660 filesystem"
- default n
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UDF
- bool "udf filesystem"
- default n
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LUKS
- bool "luks filesystem"
- default n
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXSWAP
- bool "linux swap filesystem"
- default n
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-### config FEATURE_VOLUMEID_LVM
-### bool "lvm"
-### default 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 n
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-endmenu
-
-endmenu
diff --git a/package/busybox/convert_menuconfig.pl b/package/busybox/convert_menuconfig.pl
deleted file mode 100755
index 0128bf78d7..0000000000
--- a/package/busybox/convert_menuconfig.pl
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/usr/bin/perl
-#
-# Copyright (C) 2006 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-use strict;
-my $PATH = $ARGV[0];
-($PATH and -d $PATH) or die 'invalid path';
-my $DEFCONFIG = $ARGV[1];
-($DEFCONFIG and -f $DEFCONFIG) or die 'invalid config file';
-
-my %config;
-
-open CONFIG, $DEFCONFIG or die 'cannot open config file';
-while (<CONFIG>) {
- /^CONFIG_([\w_]+)=([ym])/ and $config{$1} = $2;
- /^CONFIG_([\w_]+)=(\d+)/ and $config{$1} = $2;
- /^CONFIG_([\w_]+)=(".+")/ and $config{$1} = $2;
-}
-close CONFIG;
-
-open FIND, "find \"$PATH\" -name Config.in |";
-while (<FIND>) {
- chomp;
- my $input = $_;
- s/^$PATH\///g;
- s/sysdeps\/linux\///g;
- my $output = $_;
- print STDERR "$input => $output\n";
- $output =~ /^(.+)\/[^\/]+$/ and system("mkdir -p $1");
-
- open INPUT, $input;
- open OUTPUT, ">$output";
- my ($cur, $default_set, $line);
- while ($line = <INPUT>) {
- next if $line =~ /^\s*mainmenu/;
-
- # FIXME: make this dynamic
- $line =~ s/default FEATURE_BUFFERS_USE_MALLOC/default FEATURE_BUFFERS_GO_ON_STACK/;
- $line =~ s/default FEATURE_SH_IS_NONE/default FEATURE_SH_IS_ASH/;
-
- if ($line =~ /^\s*config\s*([\w_]+)/) {
- $cur = $1;
- undef $default_set;
- }
- if ($line =~ /^\s*(menu|choice|end|source)/) {
- undef $cur;
- undef $default_set;
- }
- $line =~ s/^(\s*source\s+)/$1package\/busybox\/config\//;
-
- $line =~ s/^(\s*(prompt "[^"]+" if|config|depends|depends on|select|default|default \w if)\s+\!?)([A-Z_])/$1BUSYBOX_CONFIG_$3/g;
- $line =~ s/(( \|\| | \&\& | \( )!?)([A-Z_])/$1BUSYBOX_CONFIG_$3/g;
- $line =~ s/(\( ?!?)([A-Z_]+ (\|\||&&))/$1BUSYBOX_CONFIG_$2/g;
-
- if ($cur) {
- ($cur eq 'LFS') and do {
- $line =~ s/^(\s*(bool|tristate|string))\s*".+"$/$1/;
- };
- if ($line =~ /^\s*default/) {
- my $c;
- $default_set = 1;
- $c = $config{$cur} or $c = 'n';
-
- $line =~ s/^(\s*default\s*)(\w+|"[^"]*")(.*)/$1$c$3/;
- }
- }
-
- print OUTPUT $line;
- }
- close OUTPUT;
- close INPUT;
-
-}
-close FIND;
diff --git a/package/busybox/files/cron b/package/busybox/files/cron
deleted file mode 100755
index 465b1ab45b..0000000000
--- a/package/busybox/files/cron
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2006-2011 OpenWrt.org
-
-START=50
-
-SERVICE_USE_PID=1
-
-start () {
- loglevel=$(uci_get "system.@system[0].cronloglevel")
- [ -z "$(ls /etc/crontabs/)" ] && exit 1
- mkdir -p /var/spool/cron
- ln -s /etc/crontabs /var/spool/cron/ 2>/dev/null
- service_start /usr/sbin/crond -c /etc/crontabs -l ${loglevel:-5}
-}
-
-stop() {
- service_stop /usr/sbin/crond
-}
diff --git a/package/busybox/files/telnet b/package/busybox/files/telnet
deleted file mode 100755
index 994e713e70..0000000000
--- a/package/busybox/files/telnet
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2006-2011 OpenWrt.org
-
-START=50
-
-has_root_pwd() {
- local pwd=$([ -f "$1" ] && cat "$1")
- pwd="${pwd#*root:}"
- pwd="${pwd%%:*}"
-
- test -n "${pwd#[\!x]}"
-}
-
-get_root_home() {
- local homedir=$([ -f "$1" ] && cat "$1")
- homedir="${homedir#*:*:0:0:*:}"
-
- echo "${homedir%%:*}"
-}
-
-has_ssh_pubkey() {
- ( /etc/init.d/dropbear enabled 2> /dev/null && grep -qs "^ssh-" /etc/dropbear/authorized_keys ) || \
- ( /etc/init.d/sshd enabled 2> /dev/null && grep -qs "^ssh-" "$(get_root_home /etc/passwd)"/.ssh/authorized_keys )
-}
-
-start() {
- if ( ! has_ssh_pubkey && \
- ! has_root_pwd /etc/passwd && ! has_root_pwd /etc/shadow ) || \
- ( ! /etc/init.d/dropbear enabled 2> /dev/null && ! /etc/init.d/sshd enabled 2> /dev/null );
- then
- service_start /usr/sbin/telnetd -l /bin/login.sh
- fi
-}
-
-stop() {
- service_stop /usr/sbin/telnetd
-}
diff --git a/package/busybox/patches/001-init_avoid_loop_opening_tty.patch b/package/busybox/patches/001-init_avoid_loop_opening_tty.patch
deleted file mode 100644
index 4db64c34be..0000000000
--- a/package/busybox/patches/001-init_avoid_loop_opening_tty.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/init/init.c
-+++ b/init/init.c
-@@ -573,8 +573,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[0] && access(a->terminal, R_OK | W_OK))
-+ continue;
- a->pid = run(a);
-+ }
- }
- }
- }
diff --git a/package/busybox/patches/002-passwd_use_md5_hash_by_default_like_it_used_to_be.patch b/package/busybox/patches/002-passwd_use_md5_hash_by_default_like_it_used_to_be.patch
deleted file mode 100644
index ff79f3ee9c..0000000000
--- a/package/busybox/patches/002-passwd_use_md5_hash_by_default_like_it_used_to_be.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-From eb80c2a5315ed08bd329448217695375d89732c9 Mon Sep 17 00:00:00 2001
-From: Nicolas Thill <nico@openwrt.org>
-Date: Wed, 9 Nov 2011 18:17:20 +0100
-Subject: [PATCH] passwd: use MD5 hash by default (like it used to be)
-
----
- loginutils/passwd.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
---- a/loginutils/passwd.c
-+++ b/loginutils/passwd.c
-@@ -94,7 +94,7 @@ int passwd_main(int argc UNUSED_PARAM, c
- };
- unsigned opt;
- int rc;
-- const char *opt_a = "d"; /* des */
-+ const char *opt_a = "m"; /* md5 */
- const char *filename;
- char *myname;
- char *name;
diff --git a/package/busybox/patches/003-brctl_show_fix.patch b/package/busybox/patches/003-brctl_show_fix.patch
deleted file mode 100644
index 8177fb01c6..0000000000
--- a/package/busybox/patches/003-brctl_show_fix.patch
+++ /dev/null
@@ -1,37 +0,0 @@
---- a/networking/brctl.c
-+++ b/networking/brctl.c
-@@ -129,7 +129,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
- "setageing\0" "setfd\0" "sethello\0" "setmaxage\0"
- "setpathcost\0" "setportprio\0" "setbridgeprio\0"
- )
-- IF_FEATURE_BRCTL_SHOW("showmacs\0" "show\0");
-+ IF_FEATURE_BRCTL_SHOW("show\0");
-
- enum { ARG_addbr = 0, ARG_delbr, ARG_addif, ARG_delif
- IF_FEATURE_BRCTL_FANCY(,
-@@ -137,7 +137,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
- ARG_setageing, ARG_setfd, ARG_sethello, ARG_setmaxage,
- ARG_setpathcost, ARG_setportprio, ARG_setbridgeprio
- )
-- IF_FEATURE_BRCTL_SHOW(, ARG_showmacs, ARG_show)
-+ IF_FEATURE_BRCTL_SHOW(, ARG_show)
- };
-
- int fd;
---- a/networking/Config.src
-+++ b/networking/Config.src
-@@ -82,12 +82,12 @@ config FEATURE_BRCTL_FANCY
- This adds about 600 bytes.
-
- config FEATURE_BRCTL_SHOW
-- bool "Support show, showmac and showstp"
-+ bool "Support show"
- default y
- depends on BRCTL && FEATURE_BRCTL_FANCY
- help
- Add support for option which prints the current config:
-- showmacs, showstp, show
-+ show
-
- config DNSD
- bool "dnsd"
diff --git a/package/busybox/patches/004-upstream-percent_decode_in_place.patch b/package/busybox/patches/004-upstream-percent_decode_in_place.patch
deleted file mode 100644
index d94ee47900..0000000000
--- a/package/busybox/patches/004-upstream-percent_decode_in_place.patch
+++ /dev/null
@@ -1,237 +0,0 @@
-http://git.busybox.net/busybox/commit/?id=dd1061b6a79b0161597799e825bfefc27993ace5
-
-From dd1061b6a79b0161597799e825bfefc27993ace5 Mon Sep 17 00:00:00 2001
-From: Denys Vlasenko <vda.linux@googlemail.com>
-Date: Sun, 11 Sep 2011 21:04:02 +0200
-Subject: [PATCH] wget: URL-decode user:password before base64-encoding it into auth hdr. Closes 3625.
-
-function old new delta
-percent_decode_in_place - 152 +152
-parse_url 304 317 +13
-handle_incoming_and_exit 2795 2798 +3
-httpd_main 763 760 -3
-decodeString 152 - -152
-------------------------------------------------------------------------------
-(add/remove: 2/1 grow/shrink: 2/1 up/down: 168/-155) Total: 13 bytes
-
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-
---- a/include/libbb.h
-+++ b/include/libbb.h
-@@ -1570,6 +1570,15 @@ int starts_with_cpu(const char *str) FAS
- unsigned get_cpu_count(void) FAST_FUNC;
-
-
-+/* Use strict=1 if you process input from untrusted source:
-+ * it will return NULL on invalid %xx (bad hex chars)
-+ * and str + 1 if decoded char is / or NUL.
-+ * In non-strict mode, it always succeeds (returns str),
-+ * and also it additionally decoded '+' to space.
-+ */
-+char *percent_decode_in_place(char *str, int strict) FAST_FUNC;
-+
-+
- extern const char bb_uuenc_tbl_base64[];
- extern const char bb_uuenc_tbl_std[];
- void bb_uuencode(char *store, const void *s, int length, const char *tbl) FAST_FUNC;
---- /dev/null
-+++ b/libbb/percent_decode.c
-@@ -0,0 +1,69 @@
-+/* vi: set sw=4 ts=4: */
-+/*
-+ * Licensed under GPLv2 or later, see file LICENSE in this source tree.
-+ */
-+
-+//kbuild:lib-y += percent_decode.o
-+
-+#include "libbb.h"
-+
-+static unsigned hex_to_bin(unsigned char c)
-+{
-+ unsigned v;
-+
-+ v = c - '0';
-+ if (v <= 9)
-+ return v;
-+ /* c | 0x20: letters to lower case, non-letters
-+ * to (potentially different) non-letters */
-+ v = (unsigned)(c | 0x20) - 'a';
-+ if (v <= 5)
-+ return v + 10;
-+ return ~0;
-+/* For testing:
-+void t(char c) { printf("'%c'(%u) %u\n", c, c, hex_to_bin(c)); }
-+int main() { t(0x10); t(0x20); t('0'); t('9'); t('A'); t('F'); t('a'); t('f');
-+t('0'-1); t('9'+1); t('A'-1); t('F'+1); t('a'-1); t('f'+1); return 0; }
-+*/
-+}
-+
-+char* FAST_FUNC percent_decode_in_place(char *str, int strict)
-+{
-+ /* note that decoded string is always shorter than original */
-+ char *src = str;
-+ char *dst = str;
-+ char c;
-+
-+ while ((c = *src++) != '\0') {
-+ unsigned v;
-+
-+ if (!strict && c == '+') {
-+ *dst++ = ' ';
-+ continue;
-+ }
-+ if (c != '%') {
-+ *dst++ = c;
-+ continue;
-+ }
-+ v = hex_to_bin(src[0]);
-+ if (v > 15) {
-+ bad_hex:
-+ if (strict)
-+ return NULL;
-+ *dst++ = '%';
-+ continue;
-+ }
-+ v = (v * 16) | hex_to_bin(src[1]);
-+ if (v > 255)
-+ goto bad_hex;
-+ if (strict && (v == '/' || v == '\0')) {
-+ /* caller takes it as indication of invalid
-+ * (dangerous wrt exploits) chars */
-+ return str + 1;
-+ }
-+ *dst++ = v;
-+ src += 2;
-+ }
-+ *dst = '\0';
-+ return str;
-+}
---- a/networking/httpd.c
-+++ b/networking/httpd.c
-@@ -820,78 +820,6 @@ static char *encodeString(const char *st
- }
- #endif
-
--/*
-- * Given a URL encoded string, convert it to plain ascii.
-- * Since decoding always makes strings smaller, the decode is done in-place.
-- * Thus, callers should xstrdup() the argument if they do not want the
-- * argument modified. The return is the original pointer, allowing this
-- * function to be easily used as arguments to other functions.
-- *
-- * string The first string to decode.
-- * option_d 1 if called for httpd -d
-- *
-- * Returns a pointer to the decoded string (same as input).
-- */
--static unsigned hex_to_bin(unsigned char c)
--{
-- unsigned v;
--
-- v = c - '0';
-- if (v <= 9)
-- return v;
-- /* c | 0x20: letters to lower case, non-letters
-- * to (potentially different) non-letters */
-- v = (unsigned)(c | 0x20) - 'a';
-- if (v <= 5)
-- return v + 10;
-- return ~0;
--/* For testing:
--void t(char c) { printf("'%c'(%u) %u\n", c, c, hex_to_bin(c)); }
--int main() { t(0x10); t(0x20); t('0'); t('9'); t('A'); t('F'); t('a'); t('f');
--t('0'-1); t('9'+1); t('A'-1); t('F'+1); t('a'-1); t('f'+1); return 0; }
--*/
--}
--static char *decodeString(char *orig, int option_d)
--{
-- /* note that decoded string is always shorter than original */
-- char *string = orig;
-- char *ptr = string;
-- char c;
--
-- while ((c = *ptr++) != '\0') {
-- unsigned v;
--
-- if (option_d && c == '+') {
-- *string++ = ' ';
-- continue;
-- }
-- if (c != '%') {
-- *string++ = c;
-- continue;
-- }
-- v = hex_to_bin(ptr[0]);
-- if (v > 15) {
-- bad_hex:
-- if (!option_d)
-- return NULL;
-- *string++ = '%';
-- continue;
-- }
-- v = (v * 16) | hex_to_bin(ptr[1]);
-- if (v > 255)
-- goto bad_hex;
-- if (!option_d && (v == '/' || v == '\0')) {
-- /* caller takes it as indication of invalid
-- * (dangerous wrt exploits) chars */
-- return orig + 1;
-- }
-- *string++ = v;
-- ptr += 2;
-- }
-- *string = '\0';
-- return orig;
--}
--
- #if ENABLE_FEATURE_HTTPD_BASIC_AUTH
- /*
- * Decode a base64 data stream as per rfc1521.
-@@ -1949,7 +1877,7 @@ static void handle_incoming_and_exit(con
- }
-
- /* Decode URL escape sequences */
-- tptr = decodeString(urlcopy, 0);
-+ tptr = percent_decode_in_place(urlcopy, /*strict:*/ 1);
- if (tptr == NULL)
- send_headers_and_exit(HTTP_BAD_REQUEST);
- if (tptr == urlcopy + 1) {
-@@ -2408,7 +2336,7 @@ int httpd_main(int argc UNUSED_PARAM, ch
- , &verbose
- );
- if (opt & OPT_DECODE_URL) {
-- fputs(decodeString(url_for_decode, 1), stdout);
-+ fputs(percent_decode_in_place(url_for_decode, /*strict:*/ 0), stdout);
- return 0;
- }
- #if ENABLE_FEATURE_HTTPD_ENCODE_URL_STR
---- a/networking/wget.c
-+++ b/networking/wget.c
-@@ -298,8 +298,13 @@ static void parse_url(const char *src_ur
-
- sp = strrchr(h->host, '@');
- if (sp != NULL) {
-- h->user = h->host;
-+ // URL-decode "user:password" string before base64-encoding:
-+ // wget http://test:my%20pass@example.com should send
-+ // Authorization: Basic dGVzdDpteSBwYXNz
-+ // which decodes to "test:my pass".
-+ // Standard wget and curl do this too.
- *sp = '\0';
-+ h->user = percent_decode_in_place(h->host, /*strict:*/ 0);
- h->host = sp + 1;
- }
-
-@@ -661,12 +666,6 @@ static void download_one_url(const char
-
- #if ENABLE_FEATURE_WGET_AUTHENTICATION
- if (target.user) {
--//TODO: URL-decode "user:password" string before base64-encoding:
--//wget http://test:my%20pass@example.com should send
--// Authorization: Basic dGVzdDpteSBwYXNz
--//which decodes to "test:my pass", instead of what we send now:
--// Authorization: Basic dGVzdDpteSUyMHBhc3M=
--//Can reuse decodeString() from httpd.c
- fprintf(sfp, "Proxy-Authorization: Basic %s\r\n"+6,
- base64enc(target.user));
- }
diff --git a/package/busybox/patches/005-resource_h_include.patch b/package/busybox/patches/005-resource_h_include.patch
deleted file mode 100644
index d66d66d67e..0000000000
--- a/package/busybox/patches/005-resource_h_include.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/include/libbb.h
-+++ b/include/libbb.h
-@@ -35,6 +35,7 @@
- #include <sys/poll.h>
- #include <sys/ioctl.h>
- #include <sys/mman.h>
-+#include <sys/resource.h>
- #include <sys/socket.h>
- #include <sys/stat.h>
- #include <sys/time.h>
diff --git a/package/busybox/patches/006-upstream_CVE-2011-2716_fixes.patch b/package/busybox/patches/006-upstream_CVE-2011-2716_fixes.patch
deleted file mode 100644
index 532fcee0fb..0000000000
--- a/package/busybox/patches/006-upstream_CVE-2011-2716_fixes.patch
+++ /dev/null
@@ -1,164 +0,0 @@
---- a/networking/udhcp/common.c
-+++ b/networking/udhcp/common.c
-@@ -29,16 +29,16 @@ const struct dhcp_optflag dhcp_optflags[
- // { OPTION_IP | OPTION_LIST , 0x07 }, /* DHCP_LOG_SERVER */
- // { OPTION_IP | OPTION_LIST , 0x08 }, /* DHCP_COOKIE_SERVER */
- { OPTION_IP | OPTION_LIST , 0x09 }, /* DHCP_LPR_SERVER */
-- { OPTION_STRING | OPTION_REQ, 0x0c }, /* DHCP_HOST_NAME */
-+ { OPTION_STRING_HOST | OPTION_REQ, 0x0c }, /* DHCP_HOST_NAME */
- { OPTION_U16 , 0x0d }, /* DHCP_BOOT_SIZE */
-- { OPTION_STRING | OPTION_REQ, 0x0f }, /* DHCP_DOMAIN_NAME */
-+ { OPTION_STRING_HOST | OPTION_REQ, 0x0f }, /* DHCP_DOMAIN_NAME */
- { OPTION_IP , 0x10 }, /* DHCP_SWAP_SERVER */
- { OPTION_STRING , 0x11 }, /* DHCP_ROOT_PATH */
- { OPTION_U8 , 0x17 }, /* DHCP_IP_TTL */
- { OPTION_U16 , 0x1a }, /* DHCP_MTU */
- { OPTION_IP | OPTION_REQ, 0x1c }, /* DHCP_BROADCAST */
- { OPTION_IP_PAIR | OPTION_LIST , 0x21 }, /* DHCP_ROUTES */
-- { OPTION_STRING , 0x28 }, /* DHCP_NIS_DOMAIN */
-+ { OPTION_STRING_HOST , 0x28 }, /* DHCP_NIS_DOMAIN */
- { OPTION_IP | OPTION_LIST , 0x29 }, /* DHCP_NIS_SERVER */
- { OPTION_IP | OPTION_LIST | OPTION_REQ, 0x2a }, /* DHCP_NTP_SERVER */
- { OPTION_IP | OPTION_LIST , 0x2c }, /* DHCP_WINS_SERVER */
-@@ -46,7 +46,7 @@ const struct dhcp_optflag dhcp_optflags[
- { OPTION_IP , 0x36 }, /* DHCP_SERVER_ID */
- { OPTION_STRING , 0x38 }, /* DHCP_ERR_MESSAGE */
- //TODO: must be combined with 'sname' and 'file' handling:
-- { OPTION_STRING , 0x42 }, /* DHCP_TFTP_SERVER_NAME */
-+ { OPTION_STRING_HOST , 0x42 }, /* DHCP_TFTP_SERVER_NAME */
- { OPTION_STRING , 0x43 }, /* DHCP_BOOT_FILE */
- //TODO: not a string, but a set of LASCII strings:
- // { OPTION_STRING , 0x4D }, /* DHCP_USER_CLASS */
-@@ -143,6 +143,7 @@ const uint8_t dhcp_option_lengths[] ALIG
- [OPTION_IP_PAIR] = 8,
- // [OPTION_BOOLEAN] = 1,
- [OPTION_STRING] = 1, /* ignored by udhcp_str2optset */
-+ [OPTION_STRING_HOST] = 1, /* ignored by udhcp_str2optset */
- #if ENABLE_FEATURE_UDHCP_RFC3397
- [OPTION_DNS_STRING] = 1, /* ignored by both udhcp_str2optset and xmalloc_optname_optval */
- [OPTION_SIP_SERVERS] = 1,
-@@ -411,7 +412,9 @@ static NOINLINE void attach_option(
- /* actually 255 is ok too, but adding a space can overlow it */
-
- existing->data = xrealloc(existing->data, OPT_DATA + 1 + old_len + length);
-- if ((optflag->flags & OPTION_TYPE_MASK) == OPTION_STRING) {
-+ if ((optflag->flags & OPTION_TYPE_MASK) == OPTION_STRING
-+ || (optflag->flags & OPTION_TYPE_MASK) == OPTION_STRING_HOST
-+ ) {
- /* add space separator between STRING options in a list */
- existing->data[OPT_DATA + old_len] = ' ';
- old_len++;
-@@ -475,6 +478,7 @@ int FAST_FUNC udhcp_str2optset(const cha
- retval = udhcp_str2nip(val, buffer + 4);
- break;
- case OPTION_STRING:
-+ case OPTION_STRING_HOST:
- #if ENABLE_FEATURE_UDHCP_RFC3397
- case OPTION_DNS_STRING:
- #endif
---- a/networking/udhcp/common.h
-+++ b/networking/udhcp/common.h
-@@ -80,6 +80,9 @@ enum {
- OPTION_IP = 1,
- OPTION_IP_PAIR,
- OPTION_STRING,
-+ /* Opts of STRING_HOST type will be sanitized before they are passed
-+ * to udhcpc script's environment: */
-+ OPTION_STRING_HOST,
- // OPTION_BOOLEAN,
- OPTION_U8,
- OPTION_U16,
---- a/networking/udhcp/dhcpc.c
-+++ b/networking/udhcp/dhcpc.c
-@@ -101,6 +101,7 @@ static const uint8_t len_of_option_as_st
- [OPTION_IP_PAIR ] = sizeof("255.255.255.255 ") * 2,
- [OPTION_STATIC_ROUTES ] = sizeof("255.255.255.255/32 255.255.255.255 "),
- [OPTION_STRING ] = 1,
-+ [OPTION_STRING_HOST ] = 1,
- #if ENABLE_FEATURE_UDHCP_RFC3397
- [OPTION_DNS_STRING ] = 1, /* unused */
- /* Hmmm, this severely overestimates size if SIP_SERVERS option
-@@ -135,6 +136,63 @@ static int mton(uint32_t mask)
- return i;
- }
-
-+/* Check if a given label represents a valid DNS label
-+ * Return pointer to the first character after the label upon success,
-+ * NULL otherwise.
-+ * See RFC1035, 2.3.1
-+ */
-+/* We don't need to be particularly anal. For example, allowing _, hyphen
-+ * at the end, or leading and trailing dots would be ok, since it
-+ * can't be used for attacks. (Leading hyphen can be, if someone uses
-+ * cmd "$hostname"
-+ * in the script: then hostname may be treated as an option)
-+ */
-+static const char *valid_domain_label(const char *label)
-+{
-+ unsigned char ch;
-+ unsigned pos = 0;
-+
-+ for (;;) {
-+ ch = *label;
-+ if ((ch|0x20) < 'a' || (ch|0x20) > 'z') {
-+ if (pos == 0) {
-+ /* label must begin with letter */
-+ return NULL;
-+ }
-+ if (ch < '0' || ch > '9') {
-+ if (ch == '\0' || ch == '.')
-+ return label;
-+ /* DNS allows only '-', but we are more permissive */
-+ if (ch != '-' && ch != '_')
-+ return NULL;
-+ }
-+ }
-+ label++;
-+ pos++;
-+ //Do we want this?
-+ //if (pos > 63) /* NS_MAXLABEL; labels must be 63 chars or less */
-+ // return NULL;
-+ }
-+}
-+
-+/* Check if a given name represents a valid DNS name */
-+/* See RFC1035, 2.3.1 */
-+static int good_hostname(const char *name)
-+{
-+ //const char *start = name;
-+
-+ for (;;) {
-+ name = valid_domain_label(name);
-+ if (!name)
-+ return 0;
-+ if (!name[0])
-+ return 1;
-+ //Do we want this?
-+ //return ((name - start) < 1025); /* NS_MAXDNAME */
-+ name++;
-+ }
-+}
-+
- /* Create "opt_name=opt_value" string */
- static NOINLINE char *xmalloc_optname_optval(uint8_t *option, const struct dhcp_optflag *optflag, const char *opt_name)
- {
-@@ -185,8 +243,11 @@ static NOINLINE char *xmalloc_optname_op
- break;
- }
- case OPTION_STRING:
-+ case OPTION_STRING_HOST:
- memcpy(dest, option, len);
- dest[len] = '\0';
-+ if (type == OPTION_STRING_HOST && !good_hostname(dest))
-+ safe_strncpy(dest, "bad", len);
- return ret; /* Short circuit this case */
- case OPTION_STATIC_ROUTES: {
- /* Option binary format:
-@@ -314,6 +375,7 @@ static char **fill_envp(struct dhcp_pack
- /* +1 element for each option, +2 for subnet option: */
- if (packet) {
- /* note: do not search for "pad" (0) and "end" (255) options */
-+//TODO: change logic to scan packet _once_
- for (i = 1; i < 255; i++) {
- temp = udhcp_get_option(packet, i);
- if (temp) {
diff --git a/package/busybox/patches/007-upstream_mkfs_ext2_fixes.patch b/package/busybox/patches/007-upstream_mkfs_ext2_fixes.patch
deleted file mode 100644
index 8528ee87f9..0000000000
--- a/package/busybox/patches/007-upstream_mkfs_ext2_fixes.patch
+++ /dev/null
@@ -1,1441 +0,0 @@
---- a/e2fsprogs/e2fs_defs.h
-+++ /dev/null
-@@ -1,561 +0,0 @@
--/* vi: set sw=4 ts=4: */
--/*
-- * linux/include/linux/ext2_fs.h
-- *
-- * Copyright (C) 1992, 1993, 1994, 1995
-- * Remy Card (card@masi.ibp.fr)
-- * Laboratoire MASI - Institut Blaise Pascal
-- * Universite Pierre et Marie Curie (Paris VI)
-- *
-- * Copyright (C) 1991, 1992 Linus Torvalds
-- */
--
--#ifndef LINUX_EXT2_FS_H
--#define LINUX_EXT2_FS_H 1
--
--/*
-- * Special inode numbers
-- */
--#define EXT2_BAD_INO 1 /* Bad blocks inode */
--#define EXT2_ROOT_INO 2 /* Root inode */
--#define EXT2_ACL_IDX_INO 3 /* ACL inode */
--#define EXT2_ACL_DATA_INO 4 /* ACL inode */
--#define EXT2_BOOT_LOADER_INO 5 /* Boot loader inode */
--#define EXT2_UNDEL_DIR_INO 6 /* Undelete directory inode */
--#define EXT2_RESIZE_INO 7 /* Reserved group descriptors inode */
--#define EXT2_JOURNAL_INO 8 /* Journal inode */
--
--/* First non-reserved inode for old ext2 filesystems */
--#define EXT2_GOOD_OLD_FIRST_INO 11
--
--/*
-- * The second extended file system magic number
-- */
--#define EXT2_SUPER_MAGIC 0xEF53
--
--/* Assume that user mode programs are passing in an ext2fs superblock, not
-- * a kernel struct super_block. This will allow us to call the feature-test
-- * macros from user land. */
--#define EXT2_SB(sb) (sb)
--
--/*
-- * Maximal count of links to a file
-- */
--#define EXT2_LINK_MAX 32000
--
--/*
-- * Macro-instructions used to manage several block sizes
-- */
--#define EXT2_MIN_BLOCK_LOG_SIZE 10 /* 1024 */
--#define EXT2_MAX_BLOCK_LOG_SIZE 16 /* 65536 */
--#define EXT2_MIN_BLOCK_SIZE (1 << EXT2_MIN_BLOCK_LOG_SIZE)
--#define EXT2_MAX_BLOCK_SIZE (1 << EXT2_MAX_BLOCK_LOG_SIZE)
--#define EXT2_BLOCK_SIZE(s) (EXT2_MIN_BLOCK_SIZE << (s)->s_log_block_size)
--#define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10)
--#define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \
-- EXT2_GOOD_OLD_INODE_SIZE : (s)->s_inode_size)
--#define EXT2_FIRST_INO(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \
-- EXT2_GOOD_OLD_FIRST_INO : (s)->s_first_ino)
--#define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof(uint32_t))
--
--/*
-- * Macro-instructions used to manage fragments
-- */
--#define EXT2_MIN_FRAG_SIZE EXT2_MIN_BLOCK_SIZE
--#define EXT2_MAX_FRAG_SIZE EXT2_MAX_BLOCK_SIZE
--#define EXT2_MIN_FRAG_LOG_SIZE EXT2_MIN_BLOCK_LOG_SIZE
--#define EXT2_FRAG_SIZE(s) (EXT2_MIN_FRAG_SIZE << (s)->s_log_frag_size)
--#define EXT2_FRAGS_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / EXT2_FRAG_SIZE(s))
--
--/*
-- * ACL structures
-- */
--struct ext2_acl_header { /* Header of Access Control Lists */
-- uint32_t aclh_size;
-- uint32_t aclh_file_count;
-- uint32_t aclh_acle_count;
-- uint32_t aclh_first_acle;
--};
--
--struct ext2_acl_entry { /* Access Control List Entry */
-- uint32_t acle_size;
-- uint16_t acle_perms; /* Access permissions */
-- uint16_t acle_type; /* Type of entry */
-- uint16_t acle_tag; /* User or group identity */
-- uint16_t acle_pad1;
-- uint32_t acle_next; /* Pointer on next entry for the */
-- /* same inode or on next free entry */
--};
--
--/*
-- * Structure of a blocks group descriptor
-- */
--struct ext2_group_desc {
-- uint32_t bg_block_bitmap; /* Blocks bitmap block */
-- uint32_t bg_inode_bitmap; /* Inodes bitmap block */
-- uint32_t bg_inode_table; /* Inodes table block */
-- uint16_t bg_free_blocks_count; /* Free blocks count */
-- uint16_t bg_free_inodes_count; /* Free inodes count */
-- uint16_t bg_used_dirs_count; /* Directories count */
-- uint16_t bg_pad;
-- uint32_t bg_reserved[3];
--};
--
--/*
-- * Data structures used by the directory indexing feature
-- *
-- * Note: all of the multibyte integer fields are little endian.
-- */
--
--/*
-- * Note: dx_root_info is laid out so that if it should somehow get
-- * overlaid by a dirent the two low bits of the hash version will be
-- * zero. Therefore, the hash version mod 4 should never be 0.
-- * Sincerely, the paranoia department.
-- */
--struct ext2_dx_root_info {
-- uint32_t reserved_zero;
-- uint8_t hash_version; /* 0 now, 1 at release */
-- uint8_t info_length; /* 8 */
-- uint8_t indirect_levels;
-- uint8_t unused_flags;
--};
--
--#define EXT2_HASH_LEGACY 0
--#define EXT2_HASH_HALF_MD4 1
--#define EXT2_HASH_TEA 2
--
--#define EXT2_HASH_FLAG_INCOMPAT 0x1
--
--struct ext2_dx_entry {
-- uint32_t hash;
-- uint32_t block;
--};
--
--struct ext2_dx_countlimit {
-- uint16_t limit;
-- uint16_t count;
--};
--
--
--/*
-- * Macro-instructions used to manage group descriptors
-- */
--#define EXT2_BLOCKS_PER_GROUP(s) (EXT2_SB(s)->s_blocks_per_group)
--#define EXT2_INODES_PER_GROUP(s) (EXT2_SB(s)->s_inodes_per_group)
--#define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s))
--/* limits imposed by 16-bit value gd_free_{blocks,inode}_count */
--#define EXT2_MAX_BLOCKS_PER_GROUP(s) ((1 << 16) - 8)
--#define EXT2_MAX_INODES_PER_GROUP(s) ((1 << 16) - EXT2_INODES_PER_BLOCK(s))
--#define EXT2_DESC_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_group_desc))
--
--/*
-- * Constants relative to the data blocks
-- */
--#define EXT2_NDIR_BLOCKS 12
--#define EXT2_IND_BLOCK EXT2_NDIR_BLOCKS
--#define EXT2_DIND_BLOCK (EXT2_IND_BLOCK + 1)
--#define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1)
--#define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1)
--
--/*
-- * Inode flags
-- */
--#define EXT2_SECRM_FL 0x00000001 /* Secure deletion */
--#define EXT2_UNRM_FL 0x00000002 /* Undelete */
--#define EXT2_COMPR_FL 0x00000004 /* Compress file */
--#define EXT2_SYNC_FL 0x00000008 /* Synchronous updates */
--#define EXT2_IMMUTABLE_FL 0x00000010 /* Immutable file */
--#define EXT2_APPEND_FL 0x00000020 /* writes to file may only append */
--#define EXT2_NODUMP_FL 0x00000040 /* do not dump file */
--#define EXT2_NOATIME_FL 0x00000080 /* do not update atime */
--/* Reserved for compression usage... */
--#define EXT2_DIRTY_FL 0x00000100
--#define EXT2_COMPRBLK_FL 0x00000200 /* One or more compressed clusters */
--#define EXT2_NOCOMPR_FL 0x00000400 /* Access raw compressed data */
--#define EXT2_ECOMPR_FL 0x00000800 /* Compression error */
--/* End compression flags --- maybe not all used */
--#define EXT2_BTREE_FL 0x00001000 /* btree format dir */
--#define EXT2_INDEX_FL 0x00001000 /* hash-indexed directory */
--#define EXT2_IMAGIC_FL 0x00002000
--#define EXT3_JOURNAL_DATA_FL 0x00004000 /* file data should be journaled */
--#define EXT2_NOTAIL_FL 0x00008000 /* file tail should not be merged */
--#define EXT2_DIRSYNC_FL 0x00010000 /* Synchronous directory modifications */
--#define EXT2_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/
--#define EXT3_EXTENTS_FL 0x00080000 /* Inode uses extents */
--#define EXT2_RESERVED_FL 0x80000000 /* reserved for ext2 lib */
--
--#define EXT2_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */
--#define EXT2_FL_USER_MODIFIABLE 0x000080FF /* User modifiable flags */
--
--/*
-- * ioctl commands
-- */
--#define EXT2_IOC_GETFLAGS _IOR('f', 1, long)
--#define EXT2_IOC_SETFLAGS _IOW('f', 2, long)
--#define EXT2_IOC_GETVERSION _IOR('v', 1, long)
--#define EXT2_IOC_SETVERSION _IOW('v', 2, long)
--
--/*
-- * Structure of an inode on the disk
-- */
--struct ext2_inode {
-- uint16_t i_mode; /* File mode */
-- uint16_t i_uid; /* Low 16 bits of Owner Uid */
-- uint32_t i_size; /* Size in bytes */
-- uint32_t i_atime; /* Access time */
-- uint32_t i_ctime; /* Creation time */
-- uint32_t i_mtime; /* Modification time */
-- uint32_t i_dtime; /* Deletion Time */
-- uint16_t i_gid; /* Low 16 bits of Group Id */
-- uint16_t i_links_count; /* Links count */
-- uint32_t i_blocks; /* Blocks count */
-- uint32_t i_flags; /* File flags */
-- union {
-- struct {
-- uint32_t l_i_reserved1;
-- } linux1;
-- struct {
-- uint32_t h_i_translator;
-- } hurd1;
-- struct {
-- uint32_t m_i_reserved1;
-- } masix1;
-- } osd1; /* OS dependent 1 */
-- uint32_t i_block[EXT2_N_BLOCKS];/* Pointers to blocks */
-- uint32_t i_generation; /* File version (for NFS) */
-- uint32_t i_file_acl; /* File ACL */
-- uint32_t i_dir_acl; /* Directory ACL */
-- uint32_t i_faddr; /* Fragment address */
-- union {
-- struct {
-- uint8_t l_i_frag; /* Fragment number */
-- uint8_t l_i_fsize; /* Fragment size */
-- uint16_t i_pad1;
-- uint16_t l_i_uid_high; /* these 2 fields */
-- uint16_t l_i_gid_high; /* were reserved2[0] */
-- uint32_t l_i_reserved2;
-- } linux2;
-- struct {
-- uint8_t h_i_frag; /* Fragment number */
-- uint8_t h_i_fsize; /* Fragment size */
-- uint16_t h_i_mode_high;
-- uint16_t h_i_uid_high;
-- uint16_t h_i_gid_high;
-- uint32_t h_i_author;
-- } hurd2;
-- struct {
-- uint8_t m_i_frag; /* Fragment number */
-- uint8_t m_i_fsize; /* Fragment size */
-- uint16_t m_pad1;
-- uint32_t m_i_reserved2[2];
-- } masix2;
-- } osd2; /* OS dependent 2 */
--};
--
--/*
-- * Permanent part of an large inode on the disk
-- */
--struct ext2_inode_large {
-- uint16_t i_mode; /* File mode */
-- uint16_t i_uid; /* Low 16 bits of Owner Uid */
-- uint32_t i_size; /* Size in bytes */
-- uint32_t i_atime; /* Access time */
-- uint32_t i_ctime; /* Creation time */
-- uint32_t i_mtime; /* Modification time */
-- uint32_t i_dtime; /* Deletion Time */
-- uint16_t i_gid; /* Low 16 bits of Group Id */
-- uint16_t i_links_count; /* Links count */
-- uint32_t i_blocks; /* Blocks count */
-- uint32_t i_flags; /* File flags */
-- union {
-- struct {
-- uint32_t l_i_reserved1;
-- } linux1;
-- struct {
-- uint32_t h_i_translator;
-- } hurd1;
-- struct {
-- uint32_t m_i_reserved1;
-- } masix1;
-- } osd1; /* OS dependent 1 */
-- uint32_t i_block[EXT2_N_BLOCKS];/* Pointers to blocks */
-- uint32_t i_generation; /* File version (for NFS) */
-- uint32_t i_file_acl; /* File ACL */
-- uint32_t i_dir_acl; /* Directory ACL */
-- uint32_t i_faddr; /* Fragment address */
-- union {
-- struct {
-- uint8_t l_i_frag; /* Fragment number */
-- uint8_t l_i_fsize; /* Fragment size */
-- uint16_t i_pad1;
-- uint16_t l_i_uid_high; /* these 2 fields */
-- uint16_t l_i_gid_high; /* were reserved2[0] */
-- uint32_t l_i_reserved2;
-- } linux2;
-- struct {
-- uint8_t h_i_frag; /* Fragment number */
-- uint8_t h_i_fsize; /* Fragment size */
-- uint16_t h_i_mode_high;
-- uint16_t h_i_uid_high;
-- uint16_t h_i_gid_high;
-- uint32_t h_i_author;
-- } hurd2;
-- struct {
-- uint8_t m_i_frag; /* Fragment number */
-- uint8_t m_i_fsize; /* Fragment size */
-- uint16_t m_pad1;
-- uint32_t m_i_reserved2[2];
-- } masix2;
-- } osd2; /* OS dependent 2 */
-- uint16_t i_extra_isize;
-- uint16_t i_pad1;
--};
--
--#define i_size_high i_dir_acl
--
--/*
-- * File system states
-- */
--#define EXT2_VALID_FS 0x0001 /* Unmounted cleanly */
--#define EXT2_ERROR_FS 0x0002 /* Errors detected */
--
--/*
-- * Mount flags
-- */
--#define EXT2_MOUNT_CHECK 0x0001 /* Do mount-time checks */
--#define EXT2_MOUNT_GRPID 0x0004 /* Create files with directory's group */
--#define EXT2_MOUNT_DEBUG 0x0008 /* Some debugging messages */
--#define EXT2_MOUNT_ERRORS_CONT 0x0010 /* Continue on errors */
--#define EXT2_MOUNT_ERRORS_RO 0x0020 /* Remount fs ro on errors */
--#define EXT2_MOUNT_ERRORS_PANIC 0x0040 /* Panic on errors */
--#define EXT2_MOUNT_MINIX_DF 0x0080 /* Mimics the Minix statfs */
--#define EXT2_MOUNT_NO_UID32 0x0200 /* Disable 32-bit UIDs */
--
--#define clear_opt(o, opt) o &= ~EXT2_MOUNT_##opt
--#define set_opt(o, opt) o |= EXT2_MOUNT_##opt
--#define test_opt(sb, opt) (EXT2_SB(sb)->s_mount_opt & \
-- EXT2_MOUNT_##opt)
--/*
-- * Maximal mount counts between two filesystem checks
-- */
--#define EXT2_DFL_MAX_MNT_COUNT 20 /* Allow 20 mounts */
--#define EXT2_DFL_CHECKINTERVAL 0 /* Don't use interval check */
--
--/*
-- * Behaviour when detecting errors
-- */
--#define EXT2_ERRORS_CONTINUE 1 /* Continue execution */
--#define EXT2_ERRORS_RO 2 /* Remount fs read-only */
--#define EXT2_ERRORS_PANIC 3 /* Panic */
--#define EXT2_ERRORS_DEFAULT EXT2_ERRORS_CONTINUE
--
--/*
-- * Structure of the super block
-- */
--struct ext2_super_block {
-- uint32_t s_inodes_count; /* Inodes count */
-- uint32_t s_blocks_count; /* Blocks count */
-- uint32_t s_r_blocks_count; /* Reserved blocks count */
-- uint32_t s_free_blocks_count; /* Free blocks count */
-- uint32_t s_free_inodes_count; /* Free inodes count */
-- uint32_t s_first_data_block; /* First Data Block */
-- uint32_t s_log_block_size; /* Block size */
-- int32_t s_log_frag_size; /* Fragment size */
-- uint32_t s_blocks_per_group; /* # Blocks per group */
-- uint32_t s_frags_per_group; /* # Fragments per group */
-- uint32_t s_inodes_per_group; /* # Inodes per group */
-- uint32_t s_mtime; /* Mount time */
-- uint32_t s_wtime; /* Write time */
-- uint16_t s_mnt_count; /* Mount count */
-- int16_t s_max_mnt_count; /* Maximal mount count */
-- uint16_t s_magic; /* Magic signature */
-- uint16_t s_state; /* File system state */
-- uint16_t s_errors; /* Behaviour when detecting errors */
-- uint16_t s_minor_rev_level; /* minor revision level */
-- uint32_t s_lastcheck; /* time of last check */
-- uint32_t s_checkinterval; /* max. time between checks */
-- uint32_t s_creator_os; /* OS */
-- uint32_t s_rev_level; /* Revision level */
-- uint16_t s_def_resuid; /* Default uid for reserved blocks */
-- uint16_t s_def_resgid; /* Default gid for reserved blocks */
-- /*
-- * These fields are for EXT2_DYNAMIC_REV superblocks only.
-- *
-- * Note: the difference between the compatible feature set and
-- * the incompatible feature set is that if there is a bit set
-- * in the incompatible feature set that the kernel doesn't
-- * know about, it should refuse to mount the filesystem.
-- *
-- * e2fsck's requirements are more strict; if it doesn't know
-- * about a feature in either the compatible or incompatible
-- * feature set, it must abort and not try to meddle with
-- * things it doesn't understand...
-- */
-- uint32_t s_first_ino; /* First non-reserved inode */
-- uint16_t s_inode_size; /* size of inode structure */
-- uint16_t s_block_group_nr; /* block group # of this superblock */
-- uint32_t s_feature_compat; /* compatible feature set */
-- uint32_t s_feature_incompat; /* incompatible feature set */
-- uint32_t s_feature_ro_compat; /* readonly-compatible feature set */
-- uint8_t s_uuid[16]; /* 128-bit uuid for volume */
-- char s_volume_name[16]; /* volume name */
-- char s_last_mounted[64]; /* directory where last mounted */
-- uint32_t s_algorithm_usage_bitmap; /* For compression */
-- /*
-- * Performance hints. Directory preallocation should only
-- * happen if the EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is on.
-- */
-- uint8_t s_prealloc_blocks; /* Nr of blocks to try to preallocate*/
-- uint8_t s_prealloc_dir_blocks; /* Nr to preallocate for dirs */
-- uint16_t s_reserved_gdt_blocks; /* Per group table for online growth */
-- /*
-- * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set.
-- */
-- uint8_t s_journal_uuid[16]; /* uuid of journal superblock */
-- uint32_t s_journal_inum; /* inode number of journal file */
-- uint32_t s_journal_dev; /* device number of journal file */
-- uint32_t s_last_orphan; /* start of list of inodes to delete */
-- uint32_t s_hash_seed[4]; /* HTREE hash seed */
-- uint8_t s_def_hash_version; /* Default hash version to use */
-- uint8_t s_jnl_backup_type; /* Default type of journal backup */
-- uint16_t s_reserved_word_pad;
-- uint32_t s_default_mount_opts;
-- uint32_t s_first_meta_bg; /* First metablock group */
-- uint32_t s_mkfs_time; /* When the filesystem was created */
-- uint32_t s_jnl_blocks[17]; /* Backup of the journal inode */
-- uint32_t s_reserved[172]; /* Padding to the end of the block */
--};
--
--/*
-- * Codes for operating systems
-- */
--#define EXT2_OS_LINUX 0
--#define EXT2_OS_HURD 1
--#define EXT2_OS_MASIX 2
--#define EXT2_OS_FREEBSD 3
--#define EXT2_OS_LITES 4
--
--/*
-- * Revision levels
-- */
--#define EXT2_GOOD_OLD_REV 0 /* The good old (original) format */
--#define EXT2_DYNAMIC_REV 1 /* V2 format w/ dynamic inode sizes */
--
--#define EXT2_CURRENT_REV EXT2_GOOD_OLD_REV
--#define EXT2_MAX_SUPP_REV EXT2_DYNAMIC_REV
--
--#define EXT2_GOOD_OLD_INODE_SIZE 128
--
--/*
-- * Journal inode backup types
-- */
--#define EXT3_JNL_BACKUP_BLOCKS 1
--
--/*
-- * Feature set definitions
-- */
--
--#define EXT2_HAS_COMPAT_FEATURE(sb,mask) \
-- ( EXT2_SB(sb)->s_feature_compat & (mask) )
--#define EXT2_HAS_RO_COMPAT_FEATURE(sb,mask) \
-- ( EXT2_SB(sb)->s_feature_ro_compat & (mask) )
--#define EXT2_HAS_INCOMPAT_FEATURE(sb,mask) \
-- ( EXT2_SB(sb)->s_feature_incompat & (mask) )
--
--#define EXT2_FEATURE_COMPAT_DIR_PREALLOC 0x0001
--#define EXT2_FEATURE_COMPAT_IMAGIC_INODES 0x0002
--#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004
--#define EXT2_FEATURE_COMPAT_EXT_ATTR 0x0008
--#define EXT2_FEATURE_COMPAT_RESIZE_INODE 0x0010
--#define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020
--
--#define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001
--#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002
--/* #define EXT2_FEATURE_RO_COMPAT_BTREE_DIR 0x0004 not used */
--
--#define EXT2_FEATURE_INCOMPAT_COMPRESSION 0x0001
--#define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002
--#define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004 /* Needs recovery */
--#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008 /* Journal device */
--#define EXT2_FEATURE_INCOMPAT_META_BG 0x0010
--#define EXT3_FEATURE_INCOMPAT_EXTENTS 0x0040
--
--
--#define EXT2_FEATURE_COMPAT_SUPP 0
--#define EXT2_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE)
--#define EXT2_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| \
-- EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \
-- EXT2_FEATURE_RO_COMPAT_BTREE_DIR)
--
--/*
-- * Default values for user and/or group using reserved blocks
-- */
--#define EXT2_DEF_RESUID 0
--#define EXT2_DEF_RESGID 0
--
--/*
-- * Default mount options
-- */
--#define EXT2_DEFM_DEBUG 0x0001
--#define EXT2_DEFM_BSDGROUPS 0x0002
--#define EXT2_DEFM_XATTR_USER 0x0004
--#define EXT2_DEFM_ACL 0x0008
--#define EXT2_DEFM_UID16 0x0010
--#define EXT3_DEFM_JMODE 0x0060
--#define EXT3_DEFM_JMODE_DATA 0x0020
--#define EXT3_DEFM_JMODE_ORDERED 0x0040
--#define EXT3_DEFM_JMODE_WBACK 0x0060
--
--/*
-- * Structure of a directory entry
-- */
--#define EXT2_NAME_LEN 255
--
--struct ext2_dir_entry {
-- uint32_t inode; /* Inode number */
-- uint16_t rec_len; /* Directory entry length */
-- uint16_t name_len; /* Name length */
-- char name[EXT2_NAME_LEN]; /* File name */
--};
--
--/*
-- * The new version of the directory entry. Since EXT2 structures are
-- * stored in intel byte order, and the name_len field could never be
-- * bigger than 255 chars, it's safe to reclaim the extra byte for the
-- * file_type field.
-- */
--struct ext2_dir_entry_2 {
-- uint32_t inode; /* Inode number */
-- uint16_t rec_len; /* Directory entry length */
-- uint8_t name_len; /* Name length */
-- uint8_t file_type;
-- char name[EXT2_NAME_LEN]; /* File name */
--};
--
--/*
-- * Ext2 directory file types. Only the low 3 bits are used. The
-- * other bits are reserved for now.
-- */
--#define EXT2_FT_UNKNOWN 0
--#define EXT2_FT_REG_FILE 1
--#define EXT2_FT_DIR 2
--#define EXT2_FT_CHRDEV 3
--#define EXT2_FT_BLKDEV 4
--#define EXT2_FT_FIFO 5
--#define EXT2_FT_SOCK 6
--#define EXT2_FT_SYMLINK 7
--
--#define EXT2_FT_MAX 8
--
--/*
-- * EXT2_DIR_PAD defines the directory entries boundaries
-- *
-- * NOTE: It must be a multiple of 4
-- */
--#define EXT2_DIR_PAD 4
--#define EXT2_DIR_ROUND (EXT2_DIR_PAD - 1)
--#define EXT2_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT2_DIR_ROUND) & \
-- ~EXT2_DIR_ROUND)
--
--#endif
---- a/e2fsprogs/e2fs_lib.h
-+++ b/e2fsprogs/e2fs_lib.h
-@@ -7,7 +7,7 @@
- */
-
- /* Constants and structures */
--#include "e2fs_defs.h"
-+#include "bb_e2fs_defs.h"
-
- PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN
-
---- a/e2fsprogs/old_e2fsprogs/e2fsck.c
-+++ b/e2fsprogs/old_e2fsprogs/e2fsck.c
-@@ -11577,7 +11577,7 @@ static void check_resize_inode(e2fsck_t
- * s_reserved_gdt_blocks must be zero.
- */
- if (!(fs->super->s_feature_compat &
-- EXT2_FEATURE_COMPAT_RESIZE_INODE)) {
-+ EXT2_FEATURE_COMPAT_RESIZE_INO)) {
- if (fs->super->s_reserved_gdt_blocks) {
- pctx.num = fs->super->s_reserved_gdt_blocks;
- if (fix_problem(ctx, PR_0_NONZERO_RESERVED_GDT_BLOCKS,
-@@ -11593,7 +11593,7 @@ static void check_resize_inode(e2fsck_t
- retval = ext2fs_read_inode(fs, EXT2_RESIZE_INO, &inode);
- if (retval) {
- if (fs->super->s_feature_compat &
-- EXT2_FEATURE_COMPAT_RESIZE_INODE)
-+ EXT2_FEATURE_COMPAT_RESIZE_INO)
- ctx->flags |= E2F_FLAG_RESIZE_INODE;
- return;
- }
-@@ -11603,7 +11603,7 @@ static void check_resize_inode(e2fsck_t
- * the resize inode is cleared; then we're done.
- */
- if (!(fs->super->s_feature_compat &
-- EXT2_FEATURE_COMPAT_RESIZE_INODE)) {
-+ EXT2_FEATURE_COMPAT_RESIZE_INO)) {
- for (i=0; i < EXT2_N_BLOCKS; i++) {
- if (inode.i_block[i])
- break;
---- a/e2fsprogs/old_e2fsprogs/e2p/feature.c
-+++ b/e2fsprogs/old_e2fsprogs/e2p/feature.c
-@@ -34,7 +34,7 @@ static const struct feature feature_list
- "ext_attr" },
- { E2P_FEATURE_COMPAT, EXT2_FEATURE_COMPAT_DIR_INDEX,
- "dir_index" },
-- { E2P_FEATURE_COMPAT, EXT2_FEATURE_COMPAT_RESIZE_INODE,
-+ { E2P_FEATURE_COMPAT, EXT2_FEATURE_COMPAT_RESIZE_INO,
- "resize_inode" },
- { E2P_FEATURE_RO_INCOMPAT, EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER,
- "sparse_super" },
---- a/e2fsprogs/old_e2fsprogs/ext2fs/ext2_fs.h
-+++ b/e2fsprogs/old_e2fsprogs/ext2fs/ext2_fs.h
-@@ -475,7 +475,7 @@ struct ext2_super_block {
- #define EXT2_FEATURE_COMPAT_IMAGIC_INODES 0x0002
- #define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004
- #define EXT2_FEATURE_COMPAT_EXT_ATTR 0x0008
--#define EXT2_FEATURE_COMPAT_RESIZE_INODE 0x0010
-+#define EXT2_FEATURE_COMPAT_RESIZE_INO 0x0010
- #define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020
-
- #define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001
---- a/e2fsprogs/old_e2fsprogs/ext2fs/ext2fs.h
-+++ b/e2fsprogs/old_e2fsprogs/ext2fs/ext2fs.h
-@@ -383,7 +383,7 @@ typedef struct ext2_icount *ext2_icount_
- #define EXT2_LIB_FEATURE_COMPAT_SUPP (EXT2_FEATURE_COMPAT_DIR_PREALLOC|\
- EXT2_FEATURE_COMPAT_IMAGIC_INODES|\
- EXT3_FEATURE_COMPAT_HAS_JOURNAL|\
-- EXT2_FEATURE_COMPAT_RESIZE_INODE|\
-+ EXT2_FEATURE_COMPAT_RESIZE_INO|\
- EXT2_FEATURE_COMPAT_DIR_INDEX|\
- EXT2_FEATURE_COMPAT_EXT_ATTR)
-
---- a/e2fsprogs/old_e2fsprogs/ext2fs/initialize.c
-+++ b/e2fsprogs/old_e2fsprogs/ext2fs/initialize.c
-@@ -284,7 +284,7 @@ retry:
- /*
- * check the number of reserved group descriptor table blocks
- */
-- if (super->s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INODE)
-+ if (super->s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INO)
- rsv_gdt = calc_reserved_gdt_blocks(fs);
- else
- rsv_gdt = 0;
---- a/e2fsprogs/old_e2fsprogs/mke2fs.c
-+++ b/e2fsprogs/old_e2fsprogs/mke2fs.c
-@@ -757,7 +757,7 @@ static void parse_extended_opts(struct e
-
- if (rsv_gdb > 0) {
- sb_param->s_feature_compat |=
-- EXT2_FEATURE_COMPAT_RESIZE_INODE;
-+ EXT2_FEATURE_COMPAT_RESIZE_INO;
-
- sb_param->s_reserved_gdt_blocks = rsv_gdb;
- }
-@@ -778,7 +778,7 @@ static void parse_extended_opts(struct e
-
- static __u32 ok_features[3] = {
- EXT3_FEATURE_COMPAT_HAS_JOURNAL |
-- EXT2_FEATURE_COMPAT_RESIZE_INODE |
-+ EXT2_FEATURE_COMPAT_RESIZE_INO |
- EXT2_FEATURE_COMPAT_DIR_INDEX, /* Compat */
- EXT2_FEATURE_INCOMPAT_FILETYPE| /* Incompat */
- EXT3_FEATURE_INCOMPAT_JOURNAL_DEV|
-@@ -1123,7 +1123,7 @@ static int PRS(int argc, char **argv)
- /* Since sparse_super is the default, we would only have a problem
- * here if it was explicitly disabled.
- */
-- if ((param.s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INODE) &&
-+ if ((param.s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INO) &&
- !(param.s_feature_ro_compat&EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER)) {
- bb_error_msg_and_die("reserved online resize blocks not supported "
- "on non-sparse filesystem");
-@@ -1312,7 +1312,7 @@ int mke2fs_main (int argc, char **argv)
- reserve_inodes(fs);
- create_bad_block_inode(fs, bb_list);
- if (fs->super->s_feature_compat &
-- EXT2_FEATURE_COMPAT_RESIZE_INODE) {
-+ EXT2_FEATURE_COMPAT_RESIZE_INO) {
- retval = ext2fs_create_resize_inode(fs);
- mke2fs_error_msg_and_die(retval, "reserve blocks for online resize");
- }
---- a/e2fsprogs/tune2fs.c
-+++ b/e2fsprogs/tune2fs.c
-@@ -8,7 +8,7 @@
- */
- #include "libbb.h"
- #include <linux/fs.h>
--#include <linux/ext2_fs.h>
-+#include "bb_e2fs_defs.h"
-
- // storage helpers
- char BUG_wrong_field_size(void);
---- /dev/null
-+++ b/include/bb_e2fs_defs.h
-@@ -0,0 +1,602 @@
-+/* vi: set sw=4 ts=4: */
-+/*
-+ * linux/include/linux/ext2_fs.h
-+ *
-+ * Copyright (C) 1992, 1993, 1994, 1995
-+ * Remy Card (card@masi.ibp.fr)
-+ * Laboratoire MASI - Institut Blaise Pascal
-+ * Universite Pierre et Marie Curie (Paris VI)
-+ *
-+ * Copyright (C) 1991, 1992 Linus Torvalds
-+ */
-+
-+#ifndef LINUX_EXT2_FS_H
-+#define LINUX_EXT2_FS_H 1
-+
-+/*
-+ * Special inode numbers
-+ */
-+#define EXT2_BAD_INO 1 /* Bad blocks inode */
-+#define EXT2_ROOT_INO 2 /* Root inode */
-+#define EXT2_ACL_IDX_INO 3 /* ACL inode */
-+#define EXT2_ACL_DATA_INO 4 /* ACL inode */
-+#define EXT2_BOOT_LOADER_INO 5 /* Boot loader inode */
-+#define EXT2_UNDEL_DIR_INO 6 /* Undelete directory inode */
-+#define EXT2_RESIZE_INO 7 /* Reserved group descriptors inode */
-+#define EXT2_JOURNAL_INO 8 /* Journal inode */
-+
-+/* First non-reserved inode for old ext2 filesystems */
-+#define EXT2_GOOD_OLD_FIRST_INO 11
-+
-+/*
-+ * The second extended file system magic number
-+ */
-+#define EXT2_SUPER_MAGIC 0xEF53
-+
-+/* Assume that user mode programs are passing in an ext2fs superblock, not
-+ * a kernel struct super_block. This will allow us to call the feature-test
-+ * macros from user land. */
-+#define EXT2_SB(sb) (sb)
-+
-+/*
-+ * Maximal count of links to a file
-+ */
-+#define EXT2_LINK_MAX 32000
-+
-+/*
-+ * Macro-instructions used to manage several block sizes
-+ */
-+#define EXT2_MIN_BLOCK_LOG_SIZE 10 /* 1024 */
-+#define EXT2_MAX_BLOCK_LOG_SIZE 16 /* 65536 */
-+#define EXT2_MIN_BLOCK_SIZE (1 << EXT2_MIN_BLOCK_LOG_SIZE)
-+#define EXT2_MAX_BLOCK_SIZE (1 << EXT2_MAX_BLOCK_LOG_SIZE)
-+#define EXT2_BLOCK_SIZE(s) (EXT2_MIN_BLOCK_SIZE << (s)->s_log_block_size)
-+#define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10)
-+#define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \
-+ EXT2_GOOD_OLD_INODE_SIZE : (s)->s_inode_size)
-+#define EXT2_FIRST_INO(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \
-+ EXT2_GOOD_OLD_FIRST_INO : (s)->s_first_ino)
-+#define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof(uint32_t))
-+
-+/*
-+ * Macro-instructions used to manage fragments
-+ */
-+#define EXT2_MIN_FRAG_SIZE EXT2_MIN_BLOCK_SIZE
-+#define EXT2_MAX_FRAG_SIZE EXT2_MAX_BLOCK_SIZE
-+#define EXT2_MIN_FRAG_LOG_SIZE EXT2_MIN_BLOCK_LOG_SIZE
-+#define EXT2_FRAG_SIZE(s) (EXT2_MIN_FRAG_SIZE << (s)->s_log_frag_size)
-+#define EXT2_FRAGS_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / EXT2_FRAG_SIZE(s))
-+
-+/*
-+ * ACL structures
-+ */
-+struct ext2_acl_header { /* Header of Access Control Lists */
-+ uint32_t aclh_size;
-+ uint32_t aclh_file_count;
-+ uint32_t aclh_acle_count;
-+ uint32_t aclh_first_acle;
-+};
-+
-+struct ext2_acl_entry { /* Access Control List Entry */
-+ uint32_t acle_size;
-+ uint16_t acle_perms; /* Access permissions */
-+ uint16_t acle_type; /* Type of entry */
-+ uint16_t acle_tag; /* User or group identity */
-+ uint16_t acle_pad1;
-+ uint32_t acle_next; /* Pointer on next entry for the */
-+ /* same inode or on next free entry */
-+};
-+
-+/*
-+ * Structure of a blocks group descriptor
-+ */
-+struct ext2_group_desc {
-+ uint32_t bg_block_bitmap; /* Blocks bitmap block */
-+ uint32_t bg_inode_bitmap; /* Inodes bitmap block */
-+ uint32_t bg_inode_table; /* Inodes table block */
-+ uint16_t bg_free_blocks_count; /* Free blocks count */
-+ uint16_t bg_free_inodes_count; /* Free inodes count */
-+ uint16_t bg_used_dirs_count; /* Directories count */
-+ uint16_t bg_pad;
-+ uint32_t bg_reserved[3];
-+};
-+
-+/*
-+ * Data structures used by the directory indexing feature
-+ *
-+ * Note: all of the multibyte integer fields are little endian.
-+ */
-+
-+/*
-+ * Note: dx_root_info is laid out so that if it should somehow get
-+ * overlaid by a dirent the two low bits of the hash version will be
-+ * zero. Therefore, the hash version mod 4 should never be 0.
-+ * Sincerely, the paranoia department.
-+ */
-+struct ext2_dx_root_info {
-+ uint32_t reserved_zero;
-+ uint8_t hash_version; /* 0 now, 1 at release */
-+ uint8_t info_length; /* 8 */
-+ uint8_t indirect_levels;
-+ uint8_t unused_flags;
-+};
-+
-+#define EXT2_HASH_LEGACY 0
-+#define EXT2_HASH_HALF_MD4 1
-+#define EXT2_HASH_TEA 2
-+
-+#define EXT2_HASH_FLAG_INCOMPAT 0x1
-+
-+struct ext2_dx_entry {
-+ uint32_t hash;
-+ uint32_t block;
-+};
-+
-+struct ext2_dx_countlimit {
-+ uint16_t limit;
-+ uint16_t count;
-+};
-+
-+
-+/*
-+ * Macro-instructions used to manage group descriptors
-+ */
-+#define EXT2_BLOCKS_PER_GROUP(s) (EXT2_SB(s)->s_blocks_per_group)
-+#define EXT2_INODES_PER_GROUP(s) (EXT2_SB(s)->s_inodes_per_group)
-+#define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s))
-+/* limits imposed by 16-bit value gd_free_{blocks,inode}_count */
-+#define EXT2_MAX_BLOCKS_PER_GROUP(s) ((1 << 16) - 8)
-+#define EXT2_MAX_INODES_PER_GROUP(s) ((1 << 16) - EXT2_INODES_PER_BLOCK(s))
-+#define EXT2_DESC_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_group_desc))
-+
-+/*
-+ * Constants relative to the data blocks
-+ */
-+#define EXT2_NDIR_BLOCKS 12
-+#define EXT2_IND_BLOCK EXT2_NDIR_BLOCKS
-+#define EXT2_DIND_BLOCK (EXT2_IND_BLOCK + 1)
-+#define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1)
-+#define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1)
-+
-+/*
-+ * Inode flags
-+ */
-+#define EXT2_SECRM_FL 0x00000001 /* Secure deletion */
-+#define EXT2_UNRM_FL 0x00000002 /* Undelete */
-+#define EXT2_COMPR_FL 0x00000004 /* Compress file */
-+#define EXT2_SYNC_FL 0x00000008 /* Synchronous updates */
-+#define EXT2_IMMUTABLE_FL 0x00000010 /* Immutable file */
-+#define EXT2_APPEND_FL 0x00000020 /* writes to file may only append */
-+#define EXT2_NODUMP_FL 0x00000040 /* do not dump file */
-+#define EXT2_NOATIME_FL 0x00000080 /* do not update atime */
-+/* Reserved for compression usage... */
-+#define EXT2_DIRTY_FL 0x00000100
-+#define EXT2_COMPRBLK_FL 0x00000200 /* One or more compressed clusters */
-+#define EXT2_NOCOMPR_FL 0x00000400 /* Access raw compressed data */
-+#define EXT2_ECOMPR_FL 0x00000800 /* Compression error */
-+/* End compression flags --- maybe not all used */
-+#define EXT2_BTREE_FL 0x00001000 /* btree format dir */
-+#define EXT2_INDEX_FL 0x00001000 /* hash-indexed directory */
-+#define EXT2_IMAGIC_FL 0x00002000
-+#define EXT3_JOURNAL_DATA_FL 0x00004000 /* file data should be journaled */
-+#define EXT2_NOTAIL_FL 0x00008000 /* file tail should not be merged */
-+#define EXT2_DIRSYNC_FL 0x00010000 /* Synchronous directory modifications */
-+#define EXT2_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/
-+#define EXT3_EXTENTS_FL 0x00080000 /* Inode uses extents */
-+#define EXT2_RESERVED_FL 0x80000000 /* reserved for ext2 lib */
-+
-+#define EXT2_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */
-+#define EXT2_FL_USER_MODIFIABLE 0x000080FF /* User modifiable flags */
-+
-+/*
-+ * ioctl commands
-+ */
-+#define EXT2_IOC_GETFLAGS _IOR('f', 1, long)
-+#define EXT2_IOC_SETFLAGS _IOW('f', 2, long)
-+#define EXT2_IOC_GETVERSION _IOR('v', 1, long)
-+#define EXT2_IOC_SETVERSION _IOW('v', 2, long)
-+
-+/*
-+ * Structure of an inode on the disk
-+ */
-+struct ext2_inode {
-+ uint16_t i_mode; /* File mode */
-+ uint16_t i_uid; /* Low 16 bits of Owner Uid */
-+ uint32_t i_size; /* Size in bytes */
-+ uint32_t i_atime; /* Access time */
-+ uint32_t i_ctime; /* Creation time */
-+ uint32_t i_mtime; /* Modification time */
-+ uint32_t i_dtime; /* Deletion Time */
-+ uint16_t i_gid; /* Low 16 bits of Group Id */
-+ uint16_t i_links_count; /* Links count */
-+ uint32_t i_blocks; /* Blocks count */
-+ uint32_t i_flags; /* File flags */
-+ union {
-+ struct {
-+ uint32_t l_i_reserved1;
-+ } linux1;
-+ struct {
-+ uint32_t h_i_translator;
-+ } hurd1;
-+ struct {
-+ uint32_t m_i_reserved1;
-+ } masix1;
-+ } osd1; /* OS dependent 1 */
-+ uint32_t i_block[EXT2_N_BLOCKS];/* Pointers to blocks */
-+ uint32_t i_generation; /* File version (for NFS) */
-+ uint32_t i_file_acl; /* File ACL */
-+ uint32_t i_dir_acl; /* Directory ACL */
-+ uint32_t i_faddr; /* Fragment address */
-+ union {
-+ struct {
-+ uint8_t l_i_frag; /* Fragment number */
-+ uint8_t l_i_fsize; /* Fragment size */
-+ uint16_t i_pad1;
-+ uint16_t l_i_uid_high; /* these 2 fields */
-+ uint16_t l_i_gid_high; /* were reserved2[0] */
-+ uint32_t l_i_reserved2;
-+ } linux2;
-+ struct {
-+ uint8_t h_i_frag; /* Fragment number */
-+ uint8_t h_i_fsize; /* Fragment size */
-+ uint16_t h_i_mode_high;
-+ uint16_t h_i_uid_high;
-+ uint16_t h_i_gid_high;
-+ uint32_t h_i_author;
-+ } hurd2;
-+ struct {
-+ uint8_t m_i_frag; /* Fragment number */
-+ uint8_t m_i_fsize; /* Fragment size */
-+ uint16_t m_pad1;
-+ uint32_t m_i_reserved2[2];
-+ } masix2;
-+ } osd2; /* OS dependent 2 */
-+};
-+
-+/*
-+ * Permanent part of an large inode on the disk
-+ */
-+struct ext2_inode_large {
-+ uint16_t i_mode; /* File mode */
-+ uint16_t i_uid; /* Low 16 bits of Owner Uid */
-+ uint32_t i_size; /* Size in bytes */
-+ uint32_t i_atime; /* Access time */
-+ uint32_t i_ctime; /* Creation time */
-+ uint32_t i_mtime; /* Modification time */
-+ uint32_t i_dtime; /* Deletion Time */
-+ uint16_t i_gid; /* Low 16 bits of Group Id */
-+ uint16_t i_links_count; /* Links count */
-+ uint32_t i_blocks; /* Blocks count */
-+ uint32_t i_flags; /* File flags */
-+ union {
-+ struct {
-+ uint32_t l_i_reserved1;
-+ } linux1;
-+ struct {
-+ uint32_t h_i_translator;
-+ } hurd1;
-+ struct {
-+ uint32_t m_i_reserved1;
-+ } masix1;
-+ } osd1; /* OS dependent 1 */
-+ uint32_t i_block[EXT2_N_BLOCKS];/* Pointers to blocks */
-+ uint32_t i_generation; /* File version (for NFS) */
-+ uint32_t i_file_acl; /* File ACL */
-+ uint32_t i_dir_acl; /* Directory ACL */
-+ uint32_t i_faddr; /* Fragment address */
-+ union {
-+ struct {
-+ uint8_t l_i_frag; /* Fragment number */
-+ uint8_t l_i_fsize; /* Fragment size */
-+ uint16_t i_pad1;
-+ uint16_t l_i_uid_high; /* these 2 fields */
-+ uint16_t l_i_gid_high; /* were reserved2[0] */
-+ uint32_t l_i_reserved2;
-+ } linux2;
-+ struct {
-+ uint8_t h_i_frag; /* Fragment number */
-+ uint8_t h_i_fsize; /* Fragment size */
-+ uint16_t h_i_mode_high;
-+ uint16_t h_i_uid_high;
-+ uint16_t h_i_gid_high;
-+ uint32_t h_i_author;
-+ } hurd2;
-+ struct {
-+ uint8_t m_i_frag; /* Fragment number */
-+ uint8_t m_i_fsize; /* Fragment size */
-+ uint16_t m_pad1;
-+ uint32_t m_i_reserved2[2];
-+ } masix2;
-+ } osd2; /* OS dependent 2 */
-+ uint16_t i_extra_isize;
-+ uint16_t i_pad1;
-+};
-+
-+#define i_size_high i_dir_acl
-+
-+/*
-+ * File system states
-+ */
-+#define EXT2_VALID_FS 0x0001 /* Unmounted cleanly */
-+#define EXT2_ERROR_FS 0x0002 /* Errors detected */
-+
-+/*
-+ * Mount flags
-+ */
-+#define EXT2_MOUNT_CHECK 0x0001 /* Do mount-time checks */
-+#define EXT2_MOUNT_GRPID 0x0004 /* Create files with directory's group */
-+#define EXT2_MOUNT_DEBUG 0x0008 /* Some debugging messages */
-+#define EXT2_MOUNT_ERRORS_CONT 0x0010 /* Continue on errors */
-+#define EXT2_MOUNT_ERRORS_RO 0x0020 /* Remount fs ro on errors */
-+#define EXT2_MOUNT_ERRORS_PANIC 0x0040 /* Panic on errors */
-+#define EXT2_MOUNT_MINIX_DF 0x0080 /* Mimics the Minix statfs */
-+#define EXT2_MOUNT_NO_UID32 0x0200 /* Disable 32-bit UIDs */
-+
-+#define clear_opt(o, opt) o &= ~EXT2_MOUNT_##opt
-+#define set_opt(o, opt) o |= EXT2_MOUNT_##opt
-+#define test_opt(sb, opt) (EXT2_SB(sb)->s_mount_opt & \
-+ EXT2_MOUNT_##opt)
-+/*
-+ * Maximal mount counts between two filesystem checks
-+ */
-+#define EXT2_DFL_MAX_MNT_COUNT 20 /* Allow 20 mounts */
-+#define EXT2_DFL_CHECKINTERVAL 0 /* Don't use interval check */
-+
-+/*
-+ * Behaviour when detecting errors
-+ */
-+#define EXT2_ERRORS_CONTINUE 1 /* Continue execution */
-+#define EXT2_ERRORS_RO 2 /* Remount fs read-only */
-+#define EXT2_ERRORS_PANIC 3 /* Panic */
-+#define EXT2_ERRORS_DEFAULT EXT2_ERRORS_CONTINUE
-+
-+/*
-+ * Structure of the super block
-+ */
-+struct ext2_super_block {
-+ uint32_t s_inodes_count; /* Inodes count */
-+ uint32_t s_blocks_count; /* Blocks count */
-+ uint32_t s_r_blocks_count; /* Reserved blocks count */
-+ uint32_t s_free_blocks_count; /* Free blocks count */
-+ uint32_t s_free_inodes_count; /* Free inodes count */
-+ uint32_t s_first_data_block; /* First Data Block */
-+ uint32_t s_log_block_size; /* Block size */
-+ int32_t s_log_frag_size; /* Fragment size */
-+ uint32_t s_blocks_per_group; /* # Blocks per group */
-+ uint32_t s_frags_per_group; /* # Fragments per group */
-+ uint32_t s_inodes_per_group; /* # Inodes per group */
-+ uint32_t s_mtime; /* Mount time */
-+ uint32_t s_wtime; /* Write time */
-+ uint16_t s_mnt_count; /* Mount count */
-+ int16_t s_max_mnt_count; /* Maximal mount count */
-+ uint16_t s_magic; /* Magic signature */
-+ uint16_t s_state; /* File system state */
-+ uint16_t s_errors; /* Behaviour when detecting errors */
-+ uint16_t s_minor_rev_level; /* minor revision level */
-+ uint32_t s_lastcheck; /* time of last check */
-+ uint32_t s_checkinterval; /* max. time between checks */
-+ uint32_t s_creator_os; /* OS */
-+ uint32_t s_rev_level; /* Revision level */
-+ uint16_t s_def_resuid; /* Default uid for reserved blocks */
-+ uint16_t s_def_resgid; /* Default gid for reserved blocks */
-+ /*
-+ * These fields are for EXT2_DYNAMIC_REV superblocks only.
-+ *
-+ * Note: the difference between the compatible feature set and
-+ * the incompatible feature set is that if there is a bit set
-+ * in the incompatible feature set that the kernel doesn't
-+ * know about, it should refuse to mount the filesystem.
-+ *
-+ * e2fsck's requirements are more strict; if it doesn't know
-+ * about a feature in either the compatible or incompatible
-+ * feature set, it must abort and not try to meddle with
-+ * things it doesn't understand...
-+ */
-+ uint32_t s_first_ino; /* First non-reserved inode */
-+ uint16_t s_inode_size; /* size of inode structure */
-+ uint16_t s_block_group_nr; /* block group # of this superblock */
-+ uint32_t s_feature_compat; /* compatible feature set */
-+ uint32_t s_feature_incompat; /* incompatible feature set */
-+ uint32_t s_feature_ro_compat; /* readonly-compatible feature set */
-+ uint8_t s_uuid[16]; /* 128-bit uuid for volume */
-+ char s_volume_name[16]; /* volume name */
-+ char s_last_mounted[64]; /* directory where last mounted */
-+ uint32_t s_algorithm_usage_bitmap; /* For compression */
-+ /*
-+ * Performance hints. Directory preallocation should only
-+ * happen if the EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is on.
-+ */
-+ uint8_t s_prealloc_blocks; /* Nr of blocks to try to preallocate*/
-+ uint8_t s_prealloc_dir_blocks; /* Nr to preallocate for dirs */
-+ uint16_t s_reserved_gdt_blocks; /* Per group table for online growth */
-+ /*
-+ * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set.
-+ */
-+/*D0*/ uint8_t s_journal_uuid[16]; /* uuid of journal superblock */
-+/*E0*/ uint32_t s_journal_inum; /* inode number of journal file */
-+ uint32_t s_journal_dev; /* device number of journal file */
-+ uint32_t s_last_orphan; /* start of list of inodes to delete */
-+ uint32_t s_hash_seed[4]; /* HTREE hash seed */
-+ uint8_t s_def_hash_version; /* Default hash version to use */
-+ uint8_t s_jnl_backup_type; /* Default type of journal backup */
-+ uint16_t s_reserved_word_pad;
-+/*100*/ uint32_t s_default_mount_opts;
-+ uint32_t s_first_meta_bg; /* First metablock group */
-+ /* ext3 additions */
-+ uint32_t s_mkfs_time; /* When the filesystem was created */
-+ uint32_t s_jnl_blocks[17]; /* Backup of the journal inode */
-+ /* 64bit support valid if EXT4_FEATURE_COMPAT_64BIT */
-+/*150*/ uint32_t s_blocks_count_hi; /* Blocks count */
-+ uint32_t s_r_blocks_count_hi; /* Reserved blocks count */
-+ uint32_t s_free_blocks_count_hi; /* Free blocks count */
-+ uint16_t s_min_extra_isize; /* All inodes have at least # bytes */
-+ uint16_t s_want_extra_isize; /* New inodes should reserve # bytes */
-+ uint32_t s_flags; /* Miscellaneous flags */
-+ uint16_t s_raid_stride; /* RAID stride */
-+ uint16_t s_mmp_interval; /* # seconds to wait in MMP checking */
-+ uint64_t s_mmp_block; /* Block for multi-mount protection */
-+ uint32_t s_raid_stripe_width; /* blocks on all data disks (N*stride)*/
-+ uint8_t s_log_groups_per_flex; /* FLEX_BG group size */
-+ uint8_t s_reserved_char_pad2;
-+ uint16_t s_reserved_pad;
-+ uint32_t s_reserved[162]; /* Padding to the end of the block */
-+};
-+struct BUG_ext2_super_block {
-+ char bug[sizeof(struct ext2_super_block) == 1024 ? 1 : -1];
-+};
-+
-+/*
-+ * Codes for operating systems
-+ */
-+#define EXT2_OS_LINUX 0
-+#define EXT2_OS_HURD 1
-+#define EXT2_OS_MASIX 2
-+#define EXT2_OS_FREEBSD 3
-+#define EXT2_OS_LITES 4
-+
-+/*
-+ * Revision levels
-+ */
-+#define EXT2_GOOD_OLD_REV 0 /* The good old (original) format */
-+#define EXT2_DYNAMIC_REV 1 /* V2 format w/ dynamic inode sizes */
-+
-+#define EXT2_CURRENT_REV EXT2_GOOD_OLD_REV
-+#define EXT2_MAX_SUPP_REV EXT2_DYNAMIC_REV
-+
-+#define EXT2_GOOD_OLD_INODE_SIZE 128
-+
-+/*
-+ * Journal inode backup types
-+ */
-+#define EXT3_JNL_BACKUP_BLOCKS 1
-+
-+/*
-+ * Feature set definitions
-+ */
-+
-+#define EXT2_HAS_COMPAT_FEATURE(sb,mask) \
-+ ( EXT2_SB(sb)->s_feature_compat & (mask) )
-+#define EXT2_HAS_RO_COMPAT_FEATURE(sb,mask) \
-+ ( EXT2_SB(sb)->s_feature_ro_compat & (mask) )
-+#define EXT2_HAS_INCOMPAT_FEATURE(sb,mask) \
-+ ( EXT2_SB(sb)->s_feature_incompat & (mask) )
-+
-+/* for s_feature_compat */
-+#define EXT2_FEATURE_COMPAT_DIR_PREALLOC 0x0001
-+#define EXT2_FEATURE_COMPAT_IMAGIC_INODES 0x0002
-+#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004
-+#define EXT2_FEATURE_COMPAT_EXT_ATTR 0x0008
-+#define EXT2_FEATURE_COMPAT_RESIZE_INO 0x0010
-+#define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020
-+
-+/* for s_feature_ro_compat */
-+#define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001
-+#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002
-+#define EXT2_FEATURE_RO_COMPAT_BTREE_DIR 0x0004 /* not used */
-+#define EXT4_FEATURE_RO_COMPAT_HUGE_FILE 0x0008
-+#define EXT4_FEATURE_RO_COMPAT_GDT_CSUM 0x0010
-+#define EXT4_FEATURE_RO_COMPAT_DIR_NLINK 0x0020
-+#define EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE 0x0040
-+
-+/* for s_feature_incompat */
-+#define EXT2_FEATURE_INCOMPAT_COMPRESSION 0x0001
-+#define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002
-+#define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004
-+#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008
-+#define EXT2_FEATURE_INCOMPAT_META_BG 0x0010
-+#define EXT4_FEATURE_INCOMPAT_EXTENTS 0x0040
-+#define EXT4_FEATURE_INCOMPAT_64BIT 0x0080
-+#define EXT4_FEATURE_INCOMPAT_MMP 0x0100
-+#define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200
-+
-+
-+#define EXT2_FEATURE_COMPAT_SUPP 0
-+#define EXT2_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| \
-+ EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \
-+ EXT2_FEATURE_RO_COMPAT_BTREE_DIR)
-+#define EXT2_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE| \
-+ EXT2_FEATURE_INCOMPAT_META_BG)
-+#define EXT2_FEATURE_INCOMPAT_UNSUPPORTED (~EXT2_FEATURE_INCOMPAT_SUPP)
-+#define EXT2_FEATURE_RO_COMPAT_UNSUPPORTED (~EXT2_FEATURE_RO_COMPAT_SUPP)
-+
-+#define EXT3_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| \
-+ EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \
-+ EXT2_FEATURE_RO_COMPAT_BTREE_DIR)
-+#define EXT3_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE| \
-+ EXT3_FEATURE_INCOMPAT_RECOVER| \
-+ EXT2_FEATURE_INCOMPAT_META_BG)
-+#define EXT3_FEATURE_INCOMPAT_UNSUPPORTED (~EXT3_FEATURE_INCOMPAT_SUPP)
-+#define EXT3_FEATURE_RO_COMPAT_UNSUPPORTED (~EXT3_FEATURE_RO_COMPAT_SUPP)
-+
-+
-+/*
-+ * Default values for user and/or group using reserved blocks
-+ */
-+#define EXT2_DEF_RESUID 0
-+#define EXT2_DEF_RESGID 0
-+
-+/*
-+ * Default mount options
-+ */
-+#define EXT2_DEFM_DEBUG 0x0001
-+#define EXT2_DEFM_BSDGROUPS 0x0002
-+#define EXT2_DEFM_XATTR_USER 0x0004
-+#define EXT2_DEFM_ACL 0x0008
-+#define EXT2_DEFM_UID16 0x0010
-+#define EXT3_DEFM_JMODE 0x0060
-+#define EXT3_DEFM_JMODE_DATA 0x0020
-+#define EXT3_DEFM_JMODE_ORDERED 0x0040
-+#define EXT3_DEFM_JMODE_WBACK 0x0060
-+
-+/*
-+ * Structure of a directory entry
-+ */
-+#define EXT2_NAME_LEN 255
-+
-+struct ext2_dir_entry {
-+ uint32_t inode; /* Inode number */
-+ uint16_t rec_len; /* Directory entry length */
-+ uint16_t name_len; /* Name length */
-+ char name[EXT2_NAME_LEN]; /* File name */
-+};
-+
-+/*
-+ * The new version of the directory entry. Since EXT2 structures are
-+ * stored in intel byte order, and the name_len field could never be
-+ * bigger than 255 chars, it's safe to reclaim the extra byte for the
-+ * file_type field.
-+ */
-+struct ext2_dir_entry_2 {
-+ uint32_t inode; /* Inode number */
-+ uint16_t rec_len; /* Directory entry length */
-+ uint8_t name_len; /* Name length */
-+ uint8_t file_type;
-+ char name[EXT2_NAME_LEN]; /* File name */
-+};
-+
-+/*
-+ * Ext2 directory file types. Only the low 3 bits are used. The
-+ * other bits are reserved for now.
-+ */
-+#define EXT2_FT_UNKNOWN 0
-+#define EXT2_FT_REG_FILE 1
-+#define EXT2_FT_DIR 2
-+#define EXT2_FT_CHRDEV 3
-+#define EXT2_FT_BLKDEV 4
-+#define EXT2_FT_FIFO 5
-+#define EXT2_FT_SOCK 6
-+#define EXT2_FT_SYMLINK 7
-+
-+#define EXT2_FT_MAX 8
-+
-+/*
-+ * EXT2_DIR_PAD defines the directory entries boundaries
-+ *
-+ * NOTE: It must be a multiple of 4
-+ */
-+#define EXT2_DIR_PAD 4
-+#define EXT2_DIR_ROUND (EXT2_DIR_PAD - 1)
-+#define EXT2_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT2_DIR_ROUND) & \
-+ ~EXT2_DIR_ROUND)
-+
-+#endif
---- a/testsuite/mount.tests
-+++ b/testsuite/mount.tests
-@@ -36,7 +36,8 @@ testing "mount -o remount,mand" \
- "mount -o loop mount.image1m $testdir "\
- "&& grep -Fc $testdir </proc/mounts "\
- "&& mount -o remount,mand $testdir "\
--"&& grep -F $testdir </proc/mounts | grep -c '[, ]mand[, ]'" \
-+"&& grep -F $testdir </proc/mounts | grep -c '[, ]mand[, ]'"\
-+"|| grep -F $testdir </proc/mounts" \
- "1\n""1\n" \
- "" ""
-
-@@ -83,4 +84,28 @@ b
- "" ""
- SKIP=
-
-+
-+testing "mount RO loop" "\
-+exec 2>&1
-+umount -d mount.dir 2>/dev/null
-+rmdir mount.dir 2>/dev/null
-+mkdir -p mount.dir
-+(
-+cd mount.dir || { echo 'cd error'; exit 1; }
-+mkdir z1 z2 || { echo 'mkdir error'; exit 1; }
-+mount -t tmpfs tmpfs z1 || { echo 'mount tmpfs error'; exit 1; }
-+dd if=/dev/zero of=z1/e2img count=10 bs=1M 2>/dev/null || { echo 'dd error'; exit 1; }
-+mke2fs -F z1/e2img 2>/dev/null >&2 || { echo 'mke2fs error'; exit 1; }
-+mount -r -o loop -t ext2 z1/e2img z2 || { echo 'mount -r -o loop error'; exit 1; }
-+mount -o remount,ro z1 || { echo 'mount -o remount,ro error'; exit 1; }
-+)
-+umount -d mount.dir/z2
-+##losetup -d /dev/loop*
-+umount -d mount.dir/z1
-+rm -rf mount.dir
-+echo DONE
-+" \
-+"DONE\n" "" ""
-+
-+
- exit $FAILCOUNT
---- a/util-linux/mkfs_ext2.c
-+++ b/util-linux/mkfs_ext2.c
-@@ -48,16 +48,11 @@
-
- #include "libbb.h"
- #include <linux/fs.h>
--#include <linux/ext2_fs.h>
-+#include "bb_e2fs_defs.h"
-
- #define ENABLE_FEATURE_MKFS_EXT2_RESERVED_GDT 0
- #define ENABLE_FEATURE_MKFS_EXT2_DIR_INDEX 1
-
--// from e2fsprogs
--#define s_reserved_gdt_blocks s_padding1
--#define s_mkfs_time s_reserved[0]
--#define s_flags s_reserved[22]
--
- #define EXT2_HASH_HALF_MD4 1
- #define EXT2_FLAGS_SIGNED_HASH 0x0001
- #define EXT2_FLAGS_UNSIGNED_HASH 0x0002
-@@ -482,8 +477,10 @@ int mkfs_ext2_main(int argc UNUSED_PARAM
- STORE_LE(sb->s_magic, EXT2_SUPER_MAGIC);
- STORE_LE(sb->s_inode_size, inodesize);
- // set "Required extra isize" and "Desired extra isize" fields to 28
-- if (inodesize != sizeof(*inode))
-- STORE_LE(sb->s_reserved[21], 0x001C001C);
-+ if (inodesize != sizeof(*inode)) {
-+ STORE_LE(sb->s_min_extra_isize, 0x001c);
-+ STORE_LE(sb->s_want_extra_isize, 0x001c);
-+ }
- STORE_LE(sb->s_first_ino, EXT2_GOOD_OLD_FIRST_INO);
- STORE_LE(sb->s_log_block_size, blocksize_log2 - EXT2_MIN_BLOCK_LOG_SIZE);
- STORE_LE(sb->s_log_frag_size, blocksize_log2 - EXT2_MIN_BLOCK_LOG_SIZE);
---- a/util-linux/volume_id/ext.c
-+++ b/util-linux/volume_id/ext.c
-@@ -19,28 +19,8 @@
- */
-
- #include "volume_id_internal.h"
-+#include "bb_e2fs_defs.h"
-
--struct ext2_super_block {
-- uint32_t inodes_count;
-- uint32_t blocks_count;
-- uint32_t r_blocks_count;
-- uint32_t free_blocks_count;
-- uint32_t free_inodes_count;
-- uint32_t first_data_block;
-- uint32_t log_block_size;
-- uint32_t dummy3[7];
-- uint8_t magic[2];
-- uint16_t state;
-- uint32_t dummy5[8];
-- uint32_t feature_compat;
-- uint32_t feature_incompat;
-- uint32_t feature_ro_compat;
-- uint8_t uuid[16];
-- uint8_t volume_name[16];
--} PACKED;
--
--#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x00000004
--#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x00000008
- #define EXT_SUPERBLOCK_OFFSET 0x400
-
- int FAST_FUNC volume_id_probe_ext(struct volume_id *id /*,uint64_t off*/)
-@@ -54,23 +34,27 @@ int FAST_FUNC volume_id_probe_ext(struct
- if (es == NULL)
- return -1;
-
-- if (es->magic[0] != 0123 || es->magic[1] != 0357) {
-+ if (es->s_magic != cpu_to_le16(EXT2_SUPER_MAGIC)) {
- dbg("ext: no magic found");
- return -1;
- }
-
- // volume_id_set_usage(id, VOLUME_ID_FILESYSTEM);
- // volume_id_set_label_raw(id, es->volume_name, 16);
-- volume_id_set_label_string(id, es->volume_name, 16);
-- volume_id_set_uuid(id, es->uuid, UUID_DCE);
-+ volume_id_set_label_string(id, (void*)es->s_volume_name, 16);
-+ volume_id_set_uuid(id, es->s_uuid, UUID_DCE);
- dbg("ext: label '%s' uuid '%s'", id->label, id->uuid);
-
- #if ENABLE_FEATURE_BLKID_TYPE
-- if ((le32_to_cpu(es->feature_compat) & EXT3_FEATURE_COMPAT_HAS_JOURNAL) != 0)
-+ if ((es->s_feature_ro_compat & cpu_to_le32(EXT4_FEATURE_RO_COMPAT_HUGE_FILE | EXT4_FEATURE_RO_COMPAT_DIR_NLINK))
-+ || (es->s_feature_incompat & cpu_to_le32(EXT4_FEATURE_INCOMPAT_EXTENTS | EXT4_FEATURE_INCOMPAT_64BIT))
-+ ) {
-+ id->type = "ext4";
-+ }
-+ else if (es->s_feature_compat & cpu_to_le32(EXT3_FEATURE_COMPAT_HAS_JOURNAL))
- id->type = "ext3";
- else
- id->type = "ext2";
- #endif
--
- return 0;
- }
diff --git a/package/busybox/patches/110-wget_getopt_fix.patch b/package/busybox/patches/110-wget_getopt_fix.patch
deleted file mode 100644
index 1003231462..0000000000
--- a/package/busybox/patches/110-wget_getopt_fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/networking/wget.c
-+++ b/networking/wget.c
-@@ -873,7 +873,7 @@ int wget_main(int argc UNUSED_PARAM, cha
- /* Ignored: */
- // "tries\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"
- /* Ignored (we don't do ssl) */
diff --git a/package/busybox/patches/140-trylink_bash.patch b/package/busybox/patches/140-trylink_bash.patch
deleted file mode 100644
index f9571fcbc8..0000000000
--- a/package/busybox/patches/140-trylink_bash.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/scripts/trylink
-+++ b/scripts/trylink
-@@ -1,4 +1,4 @@
--#!/bin/sh
-+#!/usr/bin/env bash
-
- debug=false
-
diff --git a/package/busybox/patches/141-gen_build_files_bash.patch b/package/busybox/patches/141-gen_build_files_bash.patch
deleted file mode 100644
index d258fb8bc4..0000000000
--- a/package/busybox/patches/141-gen_build_files_bash.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/scripts/gen_build_files.sh
-+++ b/scripts/gen_build_files.sh
-@@ -1,4 +1,4 @@
--#!/bin/sh
-+#!/usr/bin/env bash
-
- # Note: was using sed OPTS CMD -- FILES
- # but users complain that many sed implementations
diff --git a/package/busybox/patches/150-no_static_libgcc.patch b/package/busybox/patches/150-no_static_libgcc.patch
deleted file mode 100644
index fde6fbb869..0000000000
--- a/package/busybox/patches/150-no_static_libgcc.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile.flags
-+++ b/Makefile.flags
-@@ -50,7 +50,7 @@ CFLAGS += $(call cc-option,-fno-builtin-
- # -fno-guess-branch-probability: prohibit pseudo-random guessing
- # of branch probabilities (hopefully makes bloatcheck more stable):
- CFLAGS += $(call cc-option,-fno-guess-branch-probability,)
--CFLAGS += $(call cc-option,-funsigned-char -static-libgcc,)
-+CFLAGS += $(call cc-option,-funsigned-char,)
- CFLAGS += $(call cc-option,-falign-functions=1 -falign-jumps=1 -falign-labels=1 -falign-loops=1,)
-
- # FIXME: These warnings are at least partially to be concerned about and should
diff --git a/package/busybox/patches/200-etc_crontabs.patch b/package/busybox/patches/200-etc_crontabs.patch
deleted file mode 100644
index ebf2990502..0000000000
--- a/package/busybox/patches/200-etc_crontabs.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/miscutils/crond.c
-+++ b/miscutils/crond.c
-@@ -37,7 +37,7 @@
-
-
- #define TMPDIR CONFIG_FEATURE_CROND_DIR
--#define CRONTABS CONFIG_FEATURE_CROND_DIR "/crontabs"
-+#define CRONTABS "/etc/crontabs"
- #ifndef SENDMAIL
- # define SENDMAIL "sendmail"
- #endif
---- a/miscutils/crontab.c
-+++ b/miscutils/crontab.c
-@@ -22,7 +22,7 @@
-
- #include "libbb.h"
-
--#define CRONTABS CONFIG_FEATURE_CROND_DIR "/crontabs"
-+#define CRONTABS "/etc/crontabs"
- #ifndef CRONUPDATE
- #define CRONUPDATE "cron.update"
- #endif
diff --git a/package/busybox/patches/240-udhcpc_retries.patch b/package/busybox/patches/240-udhcpc_retries.patch
deleted file mode 100644
index 0e26864e8d..0000000000
--- a/package/busybox/patches/240-udhcpc_retries.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/networking/udhcp/dhcpc.c
-+++ b/networking/udhcp/dhcpc.c
-@@ -1319,7 +1319,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
-
- switch (state) {
- case INIT_SELECTING:
-- if (packet_num < discover_retries) {
-+ if (!discover_retries || packet_num < discover_retries) {
- if (packet_num == 0)
- xid = random_xid();
- /* broadcast */
-@@ -1348,7 +1348,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
- packet_num = 0;
- continue;
- case REQUESTING:
-- if (packet_num < discover_retries) {
-+ if (!discover_retries || packet_num < discover_retries) {
- /* send broadcast select packet */
- send_select(xid, server_addr, requested_ip);
- timeout = discover_timeout;
diff --git a/package/busybox/patches/241-udhcpc-oversized_packets.patch b/package/busybox/patches/241-udhcpc-oversized_packets.patch
deleted file mode 100644
index 471d704a71..0000000000
--- a/package/busybox/patches/241-udhcpc-oversized_packets.patch
+++ /dev/null
@@ -1,99 +0,0 @@
---- a/networking/udhcp/packet.c
-+++ b/networking/udhcp/packet.c
-@@ -158,6 +158,11 @@ uint16_t FAST_FUNC udhcp_checksum(void *
- return ~sum;
- }
-
-+int udhcp_get_payload_len(struct dhcp_packet *dhcp_pkt)
-+{
-+ return sizeof(struct dhcp_packet) - DHCP_OPTIONS_BUFSIZE + udhcp_end_option(dhcp_pkt->options) + sizeof(dhcp_pkt->options[0]);
-+}
-+
- /* 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,
-@@ -166,10 +171,10 @@ int FAST_FUNC udhcp_send_raw_packet(stru
- {
- struct sockaddr_ll dest_sll;
- struct ip_udp_dhcp_packet packet;
-- unsigned padding;
- 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) {
-@@ -178,8 +183,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));
-- 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);
-@@ -192,36 +197,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;
- packet.udp.source = htons(source_port);
- packet.udp.dest = htons(dest_port);
-- /* size, excluding IP header: */
-- packet.udp.len = htons(UDP_DHCP_SIZE - padding);
-- /* for UDP checksumming, ip.len is set to UDP packet len */
-+ p_len += sizeof(packet.udp);
-+ packet.udp.len = htons(p_len);
- packet.ip.tot_len = packet.udp.len;
-- packet.udp.check = udhcp_checksum(&packet, IP_UDP_DHCP_SIZE - padding);
-- /* but for sending, it is set to IP packet len */
-- packet.ip.tot_len = htons(IP_UDP_DHCP_SIZE - padding);
-+ p_len += sizeof(packet.ip);
-+ packet.udp.check = udhcp_checksum(&packet, p_len);
-+ packet.ip.tot_len = htons(p_len);
- packet.ip.ihl = sizeof(packet.ip) >> 2;
- packet.ip.version = IPVERSION;
- packet.ip.ttl = IPDEFTTL;
- packet.ip.check = udhcp_checksum(&packet.ip, sizeof(packet.ip));
-
- udhcp_dump_packet(dhcp_pkt);
-- result = sendto(fd, &packet, IP_UDP_DHCP_SIZE - padding, /*flags:*/ 0,
-+ result = sendto(fd, &packet, p_len, /*flags:*/ 0,
- (struct sockaddr *) &dest_sll, sizeof(dest_sll));
- msg = "sendto";
- ret_close:
-@@ -239,7 +232,6 @@ int FAST_FUNC udhcp_send_kernel_packet(s
- uint32_t dest_nip, int dest_port)
- {
- struct sockaddr_in client;
-- unsigned padding;
- int fd;
- int result = -1;
- const char *msg;
-@@ -270,9 +262,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));
- msg = "write";
- ret_close:
- close(fd);
diff --git a/package/busybox/patches/242-udhcpc_msgs.patch b/package/busybox/patches/242-udhcpc_msgs.patch
deleted file mode 100644
index c1c6096697..0000000000
--- a/package/busybox/patches/242-udhcpc_msgs.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/networking/udhcp/dhcpc.c
-+++ b/networking/udhcp/dhcpc.c
-@@ -602,6 +602,7 @@ static int raw_bcast_from_client_config_
- static NOINLINE int send_discover(uint32_t xid, uint32_t requested)
- {
- struct dhcp_packet packet;
-+ static int msgs = 0;
-
- /* Fill in: op, htype, hlen, cookie, chaddr fields,
- * random xid field (we override it below),
-@@ -619,6 +620,7 @@ static NOINLINE int send_discover(uint32
- */
- add_client_options(&packet);
-
-+ if (msgs++ < 3)
- bb_info_msg("Sending discover...");
- return raw_bcast_from_client_config_ifindex(&packet);
- }
diff --git a/package/busybox/patches/243-udhcpc_changed_ifindex.patch b/package/busybox/patches/243-udhcpc_changed_ifindex.patch
deleted file mode 100644
index cb0df224cc..0000000000
--- a/package/busybox/patches/243-udhcpc_changed_ifindex.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/networking/udhcp/dhcpc.c
-+++ b/networking/udhcp/dhcpc.c
-@@ -1267,6 +1267,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
-+ * bridge changed).
-+ * Workaround: refresh it here before processing the next packet */
-+ udhcp_read_interface(client_config.interface, &client_config.ifindex, NULL, client_config.client_mac);
-+
- //bb_error_msg("sockfd:%d, listen_mode:%d", sockfd, listen_mode);
-
- /* Was opening raw or udp socket here
diff --git a/package/busybox/patches/244-udhcpc_add_6rd_option.patch b/package/busybox/patches/244-udhcpc_add_6rd_option.patch
deleted file mode 100644
index 2f0eadb160..0000000000
--- a/package/busybox/patches/244-udhcpc_add_6rd_option.patch
+++ /dev/null
@@ -1,143 +0,0 @@
---- a/networking/udhcp/common.c
-+++ b/networking/udhcp/common.c
-@@ -60,6 +60,8 @@ const struct dhcp_optflag dhcp_optflags[
- { OPTION_U8 , 0x85 }, /* DHCP_VLAN_PRIORITY */
- #endif
- { OPTION_STATIC_ROUTES , 0xf9 }, /* DHCP_MS_STATIC_ROUTES */
-+ { OPTION_6RD , 0xd4 }, /* DHCP_6RD (RFC) */
-+ { OPTION_6RD , 0x96 }, /* DHCP_6RD (Comcast) */
- { OPTION_STRING , 0xfc }, /* DHCP_WPAD */
-
- /* Options below have no match in dhcp_option_strings[],
-@@ -127,6 +129,8 @@ const char dhcp_option_strings[] ALIGN1
- "vlanpriority" "\0"/* DHCP_VLAN_PRIORITY */
- #endif
- "msstaticroutes""\0"/* DHCP_MS_STATIC_ROUTES */
-+ "ip6rd" "\0" /* DHCP_6RD (RFC) */
-+ "ip6rd" "\0" /* DHCP_6RD (Comcast) */
- "wpad" "\0" /* DHCP_WPAD */
- ;
-
-@@ -155,6 +159,7 @@ const uint8_t dhcp_option_lengths[] ALIG
- [OPTION_S32] = 4,
- /* Just like OPTION_STRING, we use minimum length here */
- [OPTION_STATIC_ROUTES] = 5,
-+ [OPTION_6RD] = 22,
- };
-
-
---- a/networking/udhcp/common.h
-+++ b/networking/udhcp/common.h
-@@ -91,6 +91,7 @@ enum {
- OPTION_S32,
- OPTION_BIN,
- OPTION_STATIC_ROUTES,
-+ OPTION_6RD,
- #if ENABLE_FEATURE_UDHCP_RFC3397
- OPTION_DNS_STRING, /* RFC1035 compressed domain name list */
- OPTION_SIP_SERVERS,
---- a/networking/udhcp/dhcpc.c
-+++ b/networking/udhcp/dhcpc.c
-@@ -100,6 +100,7 @@ static const uint8_t len_of_option_as_st
- [OPTION_IP ] = sizeof("255.255.255.255 "),
- [OPTION_IP_PAIR ] = sizeof("255.255.255.255 ") * 2,
- [OPTION_STATIC_ROUTES ] = sizeof("255.255.255.255/32 255.255.255.255 "),
-+ [OPTION_6RD ] = sizeof("32 128 FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF 255.255.255.255 "),
- [OPTION_STRING ] = 1,
- [OPTION_STRING_HOST ] = 1,
- #if ENABLE_FEATURE_UDHCP_RFC3397
-@@ -124,6 +125,23 @@ static int sprint_nip(char *dest, const
- return sprintf(dest, "%s%u.%u.%u.%u", pre, ip[0], ip[1], ip[2], ip[3]);
- }
-
-+static int sprint_nip6(char *dest, const char *pre, const uint8_t *ip)
-+{
-+ int len = 0;
-+ int off;
-+ uint16_t word;
-+
-+ len += sprintf(dest, "%s", pre);
-+
-+ for (off = 0; off < 16; off += 2)
-+ {
-+ move_from_unaligned16(word, &ip[off]);
-+ len += sprintf(dest+len, "%s%04X", off ? ":" : "", htons(word));
-+ }
-+
-+ return len;
-+}
-+
- /* really simple implementation, just count the bits */
- static int mton(uint32_t mask)
- {
-@@ -292,6 +310,70 @@ static NOINLINE char *xmalloc_optname_op
- }
-
- return ret;
-+ }
-+ case OPTION_6RD: {
-+ /* Option binary format:
-+ * 0 1 2 3
-+ * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+ * | OPTION_6RD | option-length | IPv4MaskLen | 6rdPrefixLen |
-+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+ * | |
-+ * | 6rdPrefix |
-+ * | (16 octets) |
-+ * | |
-+ * | |
-+ * | |
-+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+ * | 6rdBRIPv4Address(es) |
-+ * . .
-+ * . .
-+ * . .
-+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+ *
-+ * We convert it to a string "IPv4MaskLen 6rdPrefixLen 6rdPrefix 6rdBRIPv4Address"
-+ */
-+
-+ /* Sanity check: ensure that our length is at least 22 bytes, that
-+ * IPv4MaskLen is <= 32, 6rdPrefixLen <= 128 and that the sum of
-+ * (32 - IPv4MaskLen) + 6rdPrefixLen is less than or equal to 128.
-+ * If any of these requirements is not fulfilled, return with empty
-+ * value.
-+ */
-+ if ((len >= 22) && (*option <= 32) && (*(option+1) <= 128) &&
-+ (((32 - *option) + *(option+1)) <= 128))
-+ {
-+ /* IPv4MaskLen */
-+ dest += sprintf(dest, "%u ", *option++);
-+ len--;
-+
-+ /* 6rdPrefixLen */
-+ dest += sprintf(dest, "%u ", *option++);
-+ len--;
-+
-+ /* 6rdPrefix */
-+ dest += sprint_nip6(dest, "", option);
-+ option += 16;
-+ len -= 16;
-+
-+ /* 6rdBRIPv4Addresses */
-+ while (len >= 4)
-+ {
-+ dest += sprint_nip(dest, " ", option);
-+ option += 4;
-+ len -= 4;
-+
-+ /* the code to determine the option size fails to work with
-+ * lengths that are not a multiple of the minimum length,
-+ * adding all advertised 6rdBRIPv4Addresses here would
-+ * overflow the destination buffer, therefore skip the rest
-+ * for now
-+ */
-+ break;
-+ }
-+ }
-+
-+ return ret;
- }
- #if ENABLE_FEATURE_UDHCP_RFC3397
- case OPTION_DNS_STRING:
diff --git a/package/busybox/patches/250-ash_export-n.patch b/package/busybox/patches/250-ash_export-n.patch
deleted file mode 100644
index 048c236b85..0000000000
--- a/package/busybox/patches/250-ash_export-n.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/shell/ash.c
-+++ b/shell/ash.c
-@@ -12611,8 +12611,17 @@ exportcmd(int argc UNUSED_PARAM, char **
- const char *p;
- char **aptr;
- int flag = argv[0][0] == 'r' ? VREADONLY : VEXPORT;
-+ int mask = ~0;
-+ int nopt;
-+ while ((nopt = nextopt("np"))) {
-+ if (nopt == 'n') {
-+ mask = ~flag;
-+ } else { /* p */
-+ break;
-+ }
-+ }
-
-- if (nextopt("p") != 'p') {
-+ if (nopt != 'p') {
- aptr = argptr;
- name = *aptr;
- if (name) {
-@@ -12624,10 +12633,12 @@ exportcmd(int argc UNUSED_PARAM, char **
- vp = *findvar(hashvar(name), name);
- if (vp) {
- vp->flags |= flag;
-+ vp->flags &= mask;
- continue;
- }
- }
- setvar(name, p, flag);
-+ setvar(name, p, flag & mask);
- } while ((name = *++aptr) != NULL);
- return 0;
- }
diff --git a/package/busybox/patches/251-ash_fix-redir-substitution.patch b/package/busybox/patches/251-ash_fix-redir-substitution.patch
deleted file mode 100644
index cb2ae94e04..0000000000
--- a/package/busybox/patches/251-ash_fix-redir-substitution.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/shell/ash.c
-+++ b/shell/ash.c
-@@ -6846,8 +6846,7 @@ evalvar(char *p, int flags, struct strli
- patloc = expdest - (char *)stackblock();
- if (NULL == subevalvar(p, /* varname: */ NULL, patloc, subtype,
- startloc, varflags,
--//TODO: | EXP_REDIR too? All other such places do it too
-- /* quotes: */ flags & (EXP_FULL | EXP_CASE),
-+ /* quotes: */ flags & (EXP_FULL | EXP_CASE | EXP_REDIR),
- var_str_list)
- ) {
- int amount = expdest - (
diff --git a/package/busybox/patches/260-vconfig_proc.patch b/package/busybox/patches/260-vconfig_proc.patch
deleted file mode 100644
index 7ac52abbfe..0000000000
--- a/package/busybox/patches/260-vconfig_proc.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/networking/vconfig.c
-+++ b/networking/vconfig.c
-@@ -116,8 +116,6 @@ static const char name_types[] ALIGN1 =
- '_', 'N', 'O', '_', 'P', 'A', 'D', 0,
- };
-
--static const char conf_file_name[] ALIGN1 = "/proc/net/vlan/config";
--
- int vconfig_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
- int vconfig_main(int argc, char **argv)
- {
-@@ -129,10 +127,6 @@ int vconfig_main(int argc, char **argv)
- bb_show_usage();
- }
-
-- /* Don't bother closing the filedes. It will be closed on cleanup. */
-- /* Will die if 802.1q is not present */
-- xopen(conf_file_name, O_RDONLY);
--
- memset(&ifr, 0, sizeof(ifr));
-
- ++argv;
diff --git a/package/busybox/patches/300-netmsg.patch b/package/busybox/patches/300-netmsg.patch
deleted file mode 100644
index e8b2513eb3..0000000000
--- a/package/busybox/patches/300-netmsg.patch
+++ /dev/null
@@ -1,103 +0,0 @@
---- a/include/applets.src.h
-+++ b/include/applets.src.h
-@@ -266,6 +266,7 @@ IF_MT(APPLET(mt, BB_DIR_BIN, BB_SUID_DRO
- IF_MV(APPLET(mv, BB_DIR_BIN, BB_SUID_DROP))
- IF_NAMEIF(APPLET(nameif, BB_DIR_SBIN, BB_SUID_DROP))
- IF_NC(APPLET(nc, BB_DIR_USR_BIN, BB_SUID_DROP))
-+IF_NETMSG(APPLET(netmsg, BB_DIR_BIN, BB_SUID_REQUIRE))
- IF_NETSTAT(APPLET(netstat, BB_DIR_BIN, BB_SUID_DROP))
- IF_NICE(APPLET(nice, BB_DIR_BIN, BB_SUID_DROP))
- IF_NOHUP(APPLET(nohup, BB_DIR_USR_BIN, BB_SUID_DROP))
---- a/networking/Config.src
-+++ b/networking/Config.src
-@@ -612,6 +612,12 @@ config FEATURE_IPCALC_LONG_OPTIONS
- help
- Support long options for the ipcalc applet.
-
-+config NETMSG
-+ bool "netmsg"
-+ default n
-+ help
-+ simple program for sending udp broadcast messages
-+
- config NETSTAT
- bool "netstat"
- default y
---- a/networking/Kbuild.src
-+++ b/networking/Kbuild.src
-@@ -27,6 +27,7 @@ lib-$(CONFIG_IP) += ip.o
- lib-$(CONFIG_IPCALC) += ipcalc.o
- lib-$(CONFIG_NAMEIF) += nameif.o
- lib-$(CONFIG_NC) += nc.o
-+lib-$(CONFIG_NETMSG) += netmsg.o
- lib-$(CONFIG_NETSTAT) += netstat.o
- lib-$(CONFIG_NSLOOKUP) += nslookup.o
- lib-$(CONFIG_NTPD) += ntpd.o
---- /dev/null
-+++ b/networking/netmsg.c
-@@ -0,0 +1,65 @@
-+/*
-+ * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
-+ *
-+ * This is free software, licensed under the GNU General Public License v2.
-+ */
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+#include <netinet/in.h>
-+#include <netdb.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include "busybox.h"
-+
-+//usage:#define netmsg_trivial_usage NOUSAGE_STR
-+//usage:#define netmsg_full_usage ""
-+
-+#ifndef CONFIG_NETMSG
-+int main(int argc, char **argv)
-+#else
-+int netmsg_main(int argc, char **argv)
-+#endif
-+{
-+ int s;
-+ struct sockaddr_in addr;
-+ int optval = 1;
-+ unsigned char buf[1001];
-+
-+ if (argc != 3) {
-+ fprintf(stderr, "usage: %s <ip> \"<message>\"\n", argv[0]);
-+ exit(1);
-+ }
-+
-+ if ((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
-+ perror("Opening socket");
-+ exit(1);
-+ }
-+
-+ memset(&addr, 0, sizeof(addr));
-+ addr.sin_family = AF_INET;
-+ addr.sin_addr.s_addr = inet_addr(argv[1]);
-+ addr.sin_port = htons(0x1337);
-+
-+ memset(buf, 0, 1001);
-+ buf[0] = 0xde;
-+ buf[1] = 0xad;
-+
-+ strncpy(buf + 2, argv[2], 998);
-+
-+ if (setsockopt (s, SOL_SOCKET, SO_BROADCAST, (caddr_t) &optval, sizeof (optval)) < 0) {
-+ perror("setsockopt()");
-+ goto fail;
-+ }
-+
-+ if (sendto(s, buf, 1001, 0, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
-+ perror("sendto()");
-+ goto fail;
-+ }
-+
-+ return 0;
-+
-+fail:
-+ close(s);
-+ exit(1);
-+}
diff --git a/package/busybox/patches/310-passwd_access.patch b/package/busybox/patches/310-passwd_access.patch
deleted file mode 100644
index daa1b99983..0000000000
--- a/package/busybox/patches/310-passwd_access.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-
- Copyright (C) 2006 OpenWrt.org
-
---- a/networking/httpd.c
-+++ b/networking/httpd.c
-@@ -1700,21 +1700,32 @@ static int check_user_passwd(const char
-
- if (ENABLE_FEATURE_HTTPD_AUTH_MD5) {
- char *md5_passwd;
-+ int user_len_p1;
-
- md5_passwd = strchr(cur->after_colon, ':');
-- if (md5_passwd && md5_passwd[1] == '$' && md5_passwd[2] == '1'
-+ user_len_p1 = md5_passwd + 1 - cur->after_colon;
-+ if (md5_passwd && !strncmp(md5_passwd + 1, "$p$", 3)) {
-+ struct passwd *pwd = NULL;
-+
-+ pwd = getpwnam(&md5_passwd[4]);
-+ if(!pwd->pw_passwd || !pwd->pw_passwd[0] || pwd->pw_passwd[0] == '!')
-+ return 1;
-+
-+ md5_passwd = pwd->pw_passwd;
-+ goto check_md5_pw;
-+ } else if (md5_passwd && md5_passwd[1] == '$' && md5_passwd[2] == '1'
- && md5_passwd[3] == '$' && md5_passwd[4]
- ) {
- char *encrypted;
-- int r, user_len_p1;
-+ int r;
-
- md5_passwd++;
-- user_len_p1 = md5_passwd - cur->after_colon;
- /* comparing "user:" */
- if (strncmp(cur->after_colon, user_and_passwd, user_len_p1) != 0) {
- continue;
- }
-
-+check_md5_pw:
- encrypted = pw_encrypt(
- user_and_passwd + user_len_p1 /* cleartext pwd from user */,
- md5_passwd /*salt */, 1 /* cleanup */);
diff --git a/package/busybox/patches/340-lock_util.patch b/package/busybox/patches/340-lock_util.patch
deleted file mode 100644
index eb346421a4..0000000000
--- a/package/busybox/patches/340-lock_util.patch
+++ /dev/null
@@ -1,172 +0,0 @@
---- a/include/applets.src.h
-+++ b/include/applets.src.h
-@@ -218,6 +218,7 @@ IF_LN(APPLET_NOEXEC(ln, ln, BB_DIR_BIN,
- IF_LOAD_POLICY(APPLET(load_policy, BB_DIR_USR_SBIN, BB_SUID_DROP))
- IF_LOADFONT(APPLET(loadfont, BB_DIR_USR_SBIN, BB_SUID_DROP))
- IF_LOADKMAP(APPLET(loadkmap, BB_DIR_SBIN, BB_SUID_DROP))
-+IF_LOCK(APPLET(lock, BB_DIR_BIN, BB_SUID_DROP))
- IF_LOGGER(APPLET(logger, BB_DIR_USR_BIN, BB_SUID_DROP))
- /* Needs to be run by root or be suid root - needs to change uid and gid: */
- IF_LOGIN(APPLET(login, BB_DIR_BIN, BB_SUID_REQUIRE))
---- a/miscutils/Config.src
-+++ b/miscutils/Config.src
-@@ -419,6 +419,11 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
- help
- Enables the 'hdparm -d' option to get/set using_dma flag.
-
-+config LOCK
-+ bool "lock"
-+ help
-+ Small utility for using locks in scripts
-+
- config MAKEDEVS
- bool "makedevs"
- default y
---- a/miscutils/Kbuild.src
-+++ b/miscutils/Kbuild.src
-@@ -29,6 +29,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
-+lib-$(CONFIG_LOCK) += lock.o
- lib-$(CONFIG_MAKEDEVS) += makedevs.o
- lib-$(CONFIG_MAN) += man.o
- lib-$(CONFIG_MICROCOM) += microcom.o
---- /dev/null
-+++ b/miscutils/lock.c
-@@ -0,0 +1,135 @@
-+/*
-+ * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
-+ *
-+ * This is free software, licensed under the GNU General Public License v2.
-+ */
-+#include <sys/types.h>
-+#include <sys/file.h>
-+#include <sys/stat.h>
-+#include <signal.h>
-+#include <fcntl.h>
-+#include <unistd.h>
-+#include <stdio.h>
-+#include "busybox.h"
-+
-+//usage:#define lock_trivial_usage NOUSAGE_STR
-+//usage:#define lock_full_usage ""
-+
-+static int unlock = 0;
-+static int shared = 0;
-+static int waitonly = 0;
-+static int fd;
-+static char *file;
-+
-+static void usage(char *name)
-+{
-+ fprintf(stderr, "Usage: %s [-suw] <filename>\n"
-+ " -s Use shared locking\n"
-+ " -u Unlock\n"
-+ " -w Wait for the lock to become free, don't acquire lock\n"
-+ "\n", name);
-+ exit(1);
-+}
-+
-+static void exit_unlock(int sig)
-+{
-+ flock(fd, LOCK_UN);
-+ exit(0);
-+}
-+
-+static int do_unlock(void)
-+{
-+ FILE *f;
-+ int i;
-+
-+ if ((f = fopen(file, "r")) == NULL)
-+ return 0;
-+
-+ fscanf(f, "%d", &i);
-+ if (i > 0)
-+ kill(i, SIGTERM);
-+
-+ fclose(f);
-+
-+ return 0;
-+}
-+
-+static int do_lock(void)
-+{
-+ int pid;
-+ char pidstr[8];
-+
-+ if ((fd = open(file, O_RDWR | O_CREAT | O_EXCL, 0700)) < 0) {
-+ if ((fd = open(file, O_RDWR)) < 0) {
-+ fprintf(stderr, "Can't open %s\n", file);
-+ return 1;
-+ }
-+ }
-+
-+ if (flock(fd, (shared ? LOCK_SH : LOCK_EX)) < 0) {
-+ fprintf(stderr, "Can't lock %s\n", file);
-+ return 1;
-+ }
-+
-+ pid = fork();
-+
-+ if (pid < 0)
-+ return -1;
-+
-+ if (pid == 0) {
-+ signal(SIGKILL, exit_unlock);
-+ signal(SIGTERM, exit_unlock);
-+ signal(SIGINT, exit_unlock);
-+ if (waitonly)
-+ exit_unlock(0);
-+ else
-+ while (1)
-+ sleep(1);
-+ } else {
-+ if (!waitonly) {
-+ lseek(fd, 0, SEEK_SET);
-+ ftruncate(fd, 0);
-+ sprintf(pidstr, "%d\n", pid);
-+ write(fd, pidstr, strlen(pidstr));
-+ close(fd);
-+ }
-+
-+ return 0;
-+ }
-+ return 0;
-+}
-+
-+int lock_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
-+int lock_main(int argc, char **argv)
-+{
-+ char **args = &argv[1];
-+ int c = argc - 1;
-+
-+ while ((*args != NULL) && (*args)[0] == '-') {
-+ char *ch = *args;
-+ while (*(++ch) > 0) {
-+ switch(*ch) {
-+ case 'w':
-+ waitonly = 1;
-+ break;
-+ case 's':
-+ shared = 1;
-+ break;
-+ case 'u':
-+ unlock = 1;
-+ break;
-+ }
-+ }
-+ c--;
-+ args++;
-+ }
-+
-+ if (c != 1)
-+ usage(argv[0]);
-+
-+ file = *args;
-+ if (unlock)
-+ return do_unlock();
-+ else
-+ return do_lock();
-+}
diff --git a/package/busybox/patches/350-httpd_redir.patch b/package/busybox/patches/350-httpd_redir.patch
deleted file mode 100644
index 11125e71f1..0000000000
--- a/package/busybox/patches/350-httpd_redir.patch
+++ /dev/null
@@ -1,90 +0,0 @@
---- a/networking/httpd.c
-+++ b/networking/httpd.c
-@@ -105,6 +105,7 @@
- //usage: IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]")
- //usage: " [-h HOME]\n"
- //usage: "or httpd -d/-e" IF_FEATURE_HTTPD_AUTH_MD5("/-m") " STRING"
-+//usage: " [-R <path> [-H <host>]]"
- //usage:#define httpd_full_usage "\n\n"
- //usage: "Listen for incoming HTTP requests\n"
- //usage: "\n -i Inetd mode"
-@@ -121,6 +122,8 @@
- //usage: "\n -m STRING MD5 crypt STRING")
- //usage: "\n -e STRING HTML encode STRING"
- //usage: "\n -d STRING URL decode STRING"
-+//usage: "\n -R PATH Redirect target path"
-+//usage: "\n -H HOST Redirect target host"
-
- #include "libbb.h"
- #if ENABLE_FEATURE_HTTPD_USE_SENDFILE
-@@ -272,6 +275,8 @@ struct globals {
-
- const char *found_mime_type;
- const char *found_moved_temporarily;
-+ const char *redirect_path;
-+ const char *redirect_host;
- Htaccess_IP *ip_a_d; /* config allow/deny lines */
-
- IF_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
-@@ -322,6 +327,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)
-+#define redirect_path (G.redirect_path )
-+#define redirect_host (G.redirect_host )
- #define last_mod (G.last_mod )
- #define ip_a_d (G.ip_a_d )
- #define g_realm (G.g_realm )
-@@ -956,8 +963,11 @@ static void send_headers(int responseNum
- }
- #endif
- if (responseNum == HTTP_MOVED_TEMPORARILY) {
-- len += sprintf(iobuf + len, "Location: %s/%s%s\r\n",
-+ len += sprintf(iobuf + len, "Location: %s%s%s%s%s%s\r\n",
-+ (redirect_host ? "http://" : ""),
-+ (redirect_host ? redirect_host : ""),
- found_moved_temporarily,
-+ (redirect_host ? "" : "/"),
- (g_query ? "?" : ""),
- (g_query ? g_query : ""));
- }
-@@ -1925,8 +1935,12 @@ static void handle_incoming_and_exit(con
- } while (*++tptr);
- *++urlp = '\0'; /* terminate after last character */
-
-+ /* redirect active */
-+ if (redirect_path && (strncmp(urlcopy, redirect_path, strlen(redirect_path)) != 0))
-+ found_moved_temporarily = redirect_path;
-+
- /* If URL is a directory, add '/' */
-- if (urlp[-1] != '/') {
-+ if (!redirect_path && (urlp[-1] != '/')) {
- if (is_directory(urlcopy + 1, 1, NULL)) {
- found_moved_temporarily = urlcopy;
- }
-@@ -2283,7 +2297,9 @@ static void sighup_handler(int sig UNUSE
- }
-
- enum {
-- c_opt_config_file = 0,
-+ R_opt_redirect_path = 0,
-+ H_opt_redirect_host,
-+ c_opt_config_file,
- d_opt_decode_url,
- h_opt_home_httpd,
- IF_FEATURE_HTTPD_ENCODE_URL_STR(e_opt_encode_url,)
-@@ -2332,12 +2348,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. */
-- opt = getopt32(argv, "c:d:h:"
-+ opt = getopt32(argv, "R:H:c:d:h:"
- IF_FEATURE_HTTPD_ENCODE_URL_STR("e:")
- IF_FEATURE_HTTPD_BASIC_AUTH("r:")
- IF_FEATURE_HTTPD_AUTH_MD5("m:")
- IF_FEATURE_HTTPD_SETUID("u:")
- "p:ifv",
-+ &redirect_path, &redirect_host,
- &opt_c_configFile, &url_for_decode, &home_httpd
- IF_FEATURE_HTTPD_ENCODE_URL_STR(, &url_for_encode)
- IF_FEATURE_HTTPD_BASIC_AUTH(, &g_realm)
diff --git a/package/busybox/patches/410-httpd_cgi_headers.patch b/package/busybox/patches/410-httpd_cgi_headers.patch
deleted file mode 100644
index b02a5b9d71..0000000000
--- a/package/busybox/patches/410-httpd_cgi_headers.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/networking/httpd.c
-+++ b/networking/httpd.c
-@@ -1222,10 +1222,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;
- }
-- /* Commented out:
-- if (!strstr(rbuf, "ontent-")) {
-- full_write(s, "Content-type: text/plain\r\n\r\n", 28);
-+ if (!strstr(rbuf, "ontent-") && !strstr(rbuf, "ocation:")) {
-+ full_write(1, "Content-type: text/plain\r\n\r\n", 28);
- }
-+ /* Previously commented out:
- * Counter-example of valid CGI without Content-type:
- * echo -en "HTTP/1.0 302 Found\r\n"
- * echo -en "Location: http://www.busybox.net\r\n"
diff --git a/package/busybox/patches/440-httpd_chdir.patch b/package/busybox/patches/440-httpd_chdir.patch
deleted file mode 100644
index 401c6eb5d0..0000000000
--- a/package/busybox/patches/440-httpd_chdir.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/networking/httpd.c
-+++ b/networking/httpd.c
-@@ -1814,6 +1814,7 @@ static void handle_incoming_and_exit(con
- char *header_ptr = header_ptr;
- Htaccess_Proxy *proxy_entry;
- #endif
-+ xchdir(home_httpd);
-
- /* Allocation of iobuf is postponed until now
- * (IOW, server process doesn't need to waste 8k) */
diff --git a/package/busybox/patches/470-insmod_search.patch b/package/busybox/patches/470-insmod_search.patch
deleted file mode 100644
index 7f0188fc82..0000000000
--- a/package/busybox/patches/470-insmod_search.patch
+++ /dev/null
@@ -1,137 +0,0 @@
---- a/modutils/Config.src
-+++ b/modutils/Config.src
-@@ -247,7 +247,7 @@ config FEATURE_MODUTILS_SYMBOLS
- config DEFAULT_MODULES_DIR
- string "Default directory containing modules"
- default "/lib/modules"
-- depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO
-+ depends on DEPMOD || INSMOD || MODPROBE || MODPROBE_SMALL || MODINFO
- help
- Directory that contains kernel modules.
- Defaults to "/lib/modules"
---- a/modutils/insmod.c
-+++ b/modutils/insmod.c
-@@ -11,6 +11,106 @@
-
- #include "libbb.h"
- #include "modutils.h"
-+#include <sys/utsname.h>
-+#ifndef CONFIG_FEATURE_2_4_MODULES
-+#include <sys/mman.h>
-+#include <asm/unistd.h>
-+#include <sys/syscall.h>
-+#endif
-+
-+static char *g_filename = NULL;
-+
-+static int FAST_FUNC check_module_name_match(const char *filename, struct stat *statbuf,
-+ void *userdata, int depth)
-+{
-+ char *fullname = (char *) userdata;
-+ char *tmp;
-+
-+ if (fullname[0] == '\0')
-+ return FALSE;
-+
-+ tmp = bb_get_last_path_component_nostrip(filename);
-+ if (strcmp(tmp, fullname) == 0) {
-+ /* Stop searching if we find a match */
-+ g_filename = xstrdup(filename);
-+ return FALSE;
-+ }
-+
-+ return TRUE;
-+}
-+
-+static int find_module(char *filename)
-+{
-+ char *module_dir, real_module_dir[FILENAME_MAX];
-+ int len, slen, ret = ENOENT, k_version;
-+ struct utsname myuname;
-+ const char *suffix = ".ko";
-+ struct stat st;
-+
-+ /* check the kernel version */
-+ if (uname(&myuname) != 0)
-+ return EINVAL;
-+
-+ k_version = myuname.release[0] - '0';
-+
-+ if (k_version < 2 || k_version > 9)
-+ return EINVAL;
-+
-+ if (k_version == 2) {
-+ int k_patchlevel = myuname.release[2] - '0';
-+ if (k_patchlevel <= 4)
-+#if ENABLE_FEATURE_2_4_MODULES
-+ suffix = ".o";
-+#else
-+ return EINVAL;
-+#endif
-+ }
-+
-+ len = strlen(filename);
-+ slen = strlen(suffix);
-+
-+ /* check for suffix and absolute path first */
-+ if ((len < slen + 2) || (strcmp(filename + len - slen, suffix) != 0)) {
-+ filename = xasprintf("%s%s", filename, suffix);
-+ } else {
-+ filename = strdup(filename);
-+ if ((stat(filename, &st) == 0) && S_ISREG(st.st_mode)) {
-+ g_filename = filename;
-+ return 0;
-+ }
-+ free(filename);
-+ return ENOENT;
-+ }
-+
-+ /* next: scan /lib/modules/<release> */
-+ /* Jump through hoops in case /lib/modules/`uname -r`
-+ * is a symlink. We do not want recursive_action to
-+ * follow symlinks, but we do want to follow the
-+ * /lib/modules/`uname -r` dir, So resolve it ourselves
-+ * if it is a link... */
-+ module_dir = concat_path_file(CONFIG_DEFAULT_MODULES_DIR, myuname.release);
-+ if (realpath(module_dir, real_module_dir) != NULL) {
-+ free(module_dir);
-+ module_dir = real_module_dir;
-+ }
-+
-+ recursive_action(module_dir, ACTION_RECURSE,
-+ check_module_name_match, 0, filename, 0);
-+
-+ /* Check if we have a complete path */
-+ if (g_filename == NULL)
-+ goto done;
-+
-+ if ((stat(g_filename, &st) == 0) && S_ISREG(st.st_mode))
-+ ret = 0;
-+ else
-+ free(g_filename);
-+
-+done:
-+ free(filename);
-+
-+ return ret;
-+}
-
- /* 2.6 style insmod has no options and required filename
- * (not module name - .ko can't be omitted) */
-@@ -58,9 +158,15 @@ int insmod_main(int argc UNUSED_PARAM, c
- if (!filename)
- bb_show_usage();
-
-- rc = bb_init_module(filename, parse_cmdline_module_options(argv, /*quote_spaces:*/ 0));
-+ rc = find_module(filename);
-+ if (rc || (g_filename == NULL))
-+ goto done;
-+
-+ rc = bb_init_module(g_filename, parse_cmdline_module_options(argv, /*quote_spaces:*/ 0));
- if (rc)
- bb_error_msg("can't insert '%s': %s", filename, moderror(rc));
-+ free (g_filename);
-
-+done:
- return rc;
- }
diff --git a/package/busybox/patches/490-mount_disable_check.patch b/package/busybox/patches/490-mount_disable_check.patch
deleted file mode 100644
index 2fcb7f7fc2..0000000000
--- a/package/busybox/patches/490-mount_disable_check.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/util-linux/mount.c
-+++ b/util-linux/mount.c
-@@ -128,9 +128,6 @@
- #if ENABLE_FEATURE_MOUNT_NFS
- /* This is just a warning of a common mistake. Possibly this should be a
- * uclibc faq entry rather than in busybox... */
--# if defined(__UCLIBC__) && ! defined(__UCLIBC_HAS_RPC__)
--# error "You need to build uClibc with UCLIBC_HAS_RPC for NFS support"
--# endif
- # include <rpc/rpc.h>
- # include <rpc/pmap_prot.h>
- # include <rpc/pmap_clnt.h>
diff --git a/package/busybox/patches/510-awk_include.patch b/package/busybox/patches/510-awk_include.patch
deleted file mode 100644
index 9f525acf86..0000000000
--- a/package/busybox/patches/510-awk_include.patch
+++ /dev/null
@@ -1,217 +0,0 @@
---- a/editors/awk.c
-+++ b/editors/awk.c
-@@ -1,3 +1,4 @@
-+
- /* vi: set sw=4 ts=4: */
- /*
- * awk implementation for busybox
-@@ -81,9 +82,14 @@ typedef struct chain_s {
- } chain;
-
- /* Function */
-+typedef var *(*awk_cfunc)(var *res, var *args, int nargs);
- typedef struct func_s {
- unsigned nargs;
-+ enum { AWKFUNC, CFUNC } type;
-+ union {
-+ awk_cfunc cfunc;
- struct chain_s body;
-+ } x;
- } func;
-
- /* I/O stream */
-@@ -1473,7 +1479,8 @@ static void parse_program(char *p)
- next_token(TC_FUNCTION);
- g_pos++;
- f = newfunc(t_string);
-- f->body.first = NULL;
-+ f->type = AWKFUNC;
-+ f->x.body.first = NULL;
- f->nargs = 0;
- while (next_token(TC_VARIABLE | TC_SEQTERM) & TC_VARIABLE) {
- v = findvar(ahash, t_string);
-@@ -1482,7 +1489,7 @@ static void parse_program(char *p)
- if (next_token(TC_COMMA | TC_SEQTERM) & TC_SEQTERM)
- break;
- }
-- seq = &f->body;
-+ seq = &f->x.body;
- chain_group();
- clear_array(ahash);
-
-@@ -2580,7 +2587,8 @@ static var *evaluate(node *op, var *res)
- var *vbeg, *v;
- const char *sv_progname;
-
-- if (!op->r.f->body.first)
-+ if ((op->r.f->type == AWKFUNC) &&
-+ !op->r.f->x.body.first)
- syntax_error(EMSG_UNDEF_FUNC);
-
- vbeg = v = nvalloc(op->r.f->nargs + 1);
-@@ -2597,7 +2605,10 @@ static var *evaluate(node *op, var *res)
- fnargs = vbeg;
- sv_progname = g_progname;
-
-- res = evaluate(op->r.f->body.first, res);
-+ if (op->r.f->type == AWKFUNC)
-+ res = evaluate(op->r.f->x.body.first, res);
-+ else if (op->r.f->type == CFUNC)
-+ res = op->r.f->x.cfunc(res, fnargs, op->r.f->nargs);
-
- g_progname = sv_progname;
- nvfree(fnargs);
-@@ -2991,6 +3002,143 @@ static rstream *next_input_file(void)
- #undef files_happen
- }
-
-+/* read the contents of an entire file */
-+static char *get_file(const char *fname)
-+{
-+ FILE *F;
-+ char *s = NULL;
-+ int i, j, flen;
-+
-+ F = fopen(fname, "r");
-+ if (!F) {
-+ return NULL;
-+ }
-+
-+ if (fseek(F, 0, SEEK_END) == 0) {
-+ flen = ftell(F);
-+ s = (char *)xmalloc(flen+4);
-+ fseek(F, 0, SEEK_SET);
-+ i = 1 + fread(s+1, 1, flen, F);
-+ } else {
-+ for (i=j=1; j>0; i+=j) {
-+ s = (char *)xrealloc(s, i+4096);
-+ j = fread(s+i, 1, 4094, F);
-+ }
-+ }
-+
-+ s[i] = '\0';
-+ fclose(F);
-+ return s;
-+}
-+
-+
-+/* parse_include():
-+ *
-+ * taken from parse_program from awk.c
-+ * END{} is not parsed here, and BEGIN{} is executed immediately
-+ */
-+static void parse_include(char *p)
-+{
-+ uint32_t tclass;
-+ chain *initseq = NULL;
-+ chain tmp;
-+ func *f;
-+ var *v, *tv;
-+
-+ tv = nvalloc(1);
-+ memset(&tmp, 0, sizeof(tmp));
-+ g_pos = p;
-+ t_lineno = 1;
-+ while ((tclass = next_token(TC_EOF | TC_OPSEQ |
-+ TC_OPTERM | TC_BEGIN | TC_FUNCDECL)) != TC_EOF) {
-+ if (tclass & TC_OPTERM)
-+ continue;
-+
-+ seq = &tmp;
-+ if (tclass & TC_BEGIN) {
-+ initseq = xzalloc(sizeof(chain));
-+ seq = initseq;
-+ chain_group();
-+ } else if (tclass & TC_FUNCDECL) {
-+ next_token(TC_FUNCTION);
-+ g_pos++;
-+ f = newfunc(t_string);
-+ f->type = AWKFUNC;
-+ f->x.body.first = NULL;
-+ f->nargs = 0;
-+ while (next_token(TC_VARIABLE | TC_SEQTERM) & TC_VARIABLE) {
-+ v = findvar(ahash, t_string);
-+ v->x.aidx = (f->nargs)++;
-+
-+ if (next_token(TC_COMMA | TC_SEQTERM) & TC_SEQTERM)
-+ break;
-+ }
-+ seq = &(f->x.body);
-+ chain_group();
-+ clear_array(ahash);
-+ }
-+ }
-+ if (initseq && initseq->first)
-+ tv = evaluate(initseq->first, tv);
-+ nvfree(tv);
-+}
-+
-+
-+/* include an awk file and run its BEGIN{} section */
-+static xhash *includes = NULL;
-+static void include_file(const char *filename)
-+{
-+ char *s;
-+ var *v;
-+ int oldlnr = g_lineno;
-+ const char *oldprg = g_progname;
-+
-+ if (!includes)
-+ includes = hash_init();
-+
-+ /* find out if the file has been included already */
-+ v = findvar(includes, filename);
-+ if (istrue(v))
-+ return;
-+ setvar_s(v, "1");
-+
-+ /* read include file */
-+ s = get_file(filename);
-+ if (!s) {
-+ fprintf(stderr, "Could not open file.\n");
-+ return;
-+ }
-+ g_lineno = 1;
-+ g_progname = xstrdup(filename);
-+ parse_include(s+1);
-+ free(s);
-+ g_lineno = oldlnr;
-+ g_progname = oldprg;
-+}
-+
-+static var *include(var *res, var *args, int nargs)
-+{
-+ const char *s;
-+
-+ nargs = nargs; /* shut up, gcc */
-+ s = getvar_s(args);
-+ if (s && (strlen(s) > 0))
-+ include_file(s);
-+
-+ return res;
-+}
-+
-+/* registers a global c function for the awk interpreter */
-+static void register_cfunc(const char *name, awk_cfunc cfunc, int nargs)
-+{
-+ func *f;
-+
-+ f = newfunc(name);
-+ f->type = CFUNC;
-+ f->x.cfunc = cfunc;
-+ f->nargs = nargs;
-+}
-+
- int awk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
- int awk_main(int argc, char **argv)
- {
-@@ -3056,6 +3204,9 @@ int awk_main(int argc, char **argv)
- *s1 = '=';
- }
- }
-+
-+ register_cfunc("include", include, 1);
-+
- opt_complementary = "v::f::"; /* -v and -f can occur multiple times */
- opt = getopt32(argv, "F:v:f:W:", &opt_F, &list_v, &list_f, &opt_W);
- argv += optind;
diff --git a/package/busybox/patches/524-udhcpc_renew.patch b/package/busybox/patches/524-udhcpc_renew.patch
deleted file mode 100644
index c22fa52ea2..0000000000
--- a/package/busybox/patches/524-udhcpc_renew.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/networking/udhcp/dhcpc.c
-+++ b/networking/udhcp/dhcpc.c
-@@ -1045,7 +1045,6 @@ static void perform_renew(void)
- state = RENEW_REQUESTED;
- break;
- case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
-- udhcp_run_script(NULL, "deconfig");
- case REQUESTING:
- case RELEASED:
- change_listen_mode(LISTEN_RAW);
diff --git a/package/busybox/patches/610-ntpd_delayed_resolve.patch b/package/busybox/patches/610-ntpd_delayed_resolve.patch
deleted file mode 100644
index 5e17ae16c2..0000000000
--- a/package/busybox/patches/610-ntpd_delayed_resolve.patch
+++ /dev/null
@@ -1,48 +0,0 @@
---- a/networking/ntpd.c
-+++ b/networking/ntpd.c
-@@ -216,6 +216,7 @@ typedef struct {
- typedef struct {
- len_and_sockaddr *p_lsa;
- char *p_dotted;
-+ char *p_hostname;
- /* when to send new query (if p_fd == -1)
- * or when receive times out (if p_fd >= 0): */
- int p_fd;
-@@ -646,8 +647,9 @@ add_peers(char *s)
- peer_t *p;
-
- p = xzalloc(sizeof(*p));
-- p->p_lsa = xhost2sockaddr(s, 123);
-- p->p_dotted = xmalloc_sockaddr2dotted_noport(&p->p_lsa->u.sa);
-+ p->p_hostname = s;
-+ p->p_lsa = NULL;
-+ p->p_dotted = NULL;
- p->p_fd = -1;
- p->p_xmt_msg.m_status = MODE_CLIENT | (NTP_VERSION << 3);
- p->next_action_time = G.cur_time; /* = set_next(p, 0); */
-@@ -696,6 +698,25 @@ send_query_to_peer(peer_t *p)
- *
- * Uncomment this and use strace to see it in action:
- */
-+
-+ /* See if the peer hostname already resolved yet, if not, retry to resolv and return on failure */
-+ if (!p->p_lsa)
-+ {
-+ p->p_lsa = host2sockaddr(p->p_hostname, 123);
-+
-+ if (p->p_lsa)
-+ {
-+ p->p_dotted = xmalloc_sockaddr2dotted_noport(&p->p_lsa->u.sa);
-+ VERB1 bb_error_msg("resolved peer %s to %s", p->p_hostname, p->p_dotted);
-+ }
-+ else
-+ {
-+ set_next(p, RETRY_INTERVAL);
-+ VERB1 bb_error_msg("could not resolve peer %s, skipping", p->p_hostname);
-+ return;
-+ }
-+ }
-+
- #define PROBE_LOCAL_ADDR /* { len_and_sockaddr lsa; lsa.len = LSA_SIZEOF_SA; getsockname(p->query.fd, &lsa.u.sa, &lsa.len); } */
-
- if (p->p_fd == -1) {
diff --git a/package/busybox/patches/611-upstream_ntpd_version_fix.patch b/package/busybox/patches/611-upstream_ntpd_version_fix.patch
deleted file mode 100644
index 7bcb8475d7..0000000000
--- a/package/busybox/patches/611-upstream_ntpd_version_fix.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From b7841cf7b919b16d1bd4619154bf7cb4c22b4ccd Mon Sep 17 00:00:00 2001
-From: Paul Marks <paul@pmarks.net>
-Date: Mon, 14 Jan 2013 01:39:10 +0000
-Subject: ntpd: fix incorrect m_status field in outgoing packets. Closes 5120
-
-When using busybox ntpd with an NTPv3 client and NTPv4 server (or vice
-versa), the version numbers can be incorrectly ORed together, yielding
-the bogus value of "NTPv7". This makes ntpd unusable with clients
-such as Chrony and Windows "Internet Time".
-
-This patch avoids the version mangling, by copying only the Leap
-Indicator bits from the server's status field.
-
-Signed-off-by: Paul Marks <paul@pmarks.net>
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
----
-(limited to 'networking/ntpd.c')
-
---- a/networking/ntpd.c
-+++ b/networking/ntpd.c
-@@ -1794,7 +1794,7 @@ recv_and_process_client_pkt(void /*int f
-
- /* Build a reply packet */
- memset(&msg, 0, sizeof(msg));
-- msg.m_status = G.stratum < MAXSTRAT ? G.ntp_status : LI_ALARM;
-+ msg.m_status = G.stratum < MAXSTRAT ? (G.ntp_status & LI_MASK) : LI_ALARM;
- msg.m_status |= (query_status & VERSION_MASK);
- msg.m_status |= ((query_status & MODE_MASK) == MODE_CLIENT) ?
- MODE_SERVER : MODE_SYM_PAS;
diff --git a/package/busybox/patches/700-hexdump_segfault_fix.patch b/package/busybox/patches/700-hexdump_segfault_fix.patch
deleted file mode 100644
index ab09fb3e42..0000000000
--- a/package/busybox/patches/700-hexdump_segfault_fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/libbb/dump.c
-+++ b/libbb/dump.c
-@@ -301,7 +301,7 @@ static NOINLINE void rewrite(priv_dumper
- ) {
- fu->reps += (dumper->blocksize - fs->bcnt) / fu->bcnt;
- }
-- if (fu->reps > 1) {
-+ if (fu->reps > 1 && fu->nextpr) {
- for (pr = fu->nextpr;; pr = pr->nextpr)
- if (!pr->nextpr)
- break;
diff --git a/package/busybox/patches/802-brctl_linux24.patch b/package/busybox/patches/802-brctl_linux24.patch
deleted file mode 100644
index 8cc19779a2..0000000000
--- a/package/busybox/patches/802-brctl_linux24.patch
+++ /dev/null
@@ -1,74 +0,0 @@
---- a/networking/brctl.c
-+++ b/networking/brctl.c
-@@ -56,7 +56,7 @@
-
- /* Maximum number of ports supported per bridge interface. */
- #ifndef MAX_PORTS
--# define MAX_PORTS 32
-+# define MAX_PORTS 1024
- #endif
-
- /* Use internal number parsing and not the "exact" conversion. */
-@@ -193,6 +193,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
- printf(bi.stp_enabled ? "\tyes" : "\tno");
-
- /* print interface list */
-+ memset(ifidx, 0, sizeof ifidx);
- arm_ioctl(args, BRCTL_GET_PORT_LIST,
- (unsigned long) ifidx, MAX_PORTS);
- xioctl(fd, SIOCDEVPRIVATE, &ifr);
-@@ -221,9 +222,19 @@ int brctl_main(int argc UNUSED_PARAM, ch
- br = *argv++;
-
- if (key == ARG_addbr || key == ARG_delbr) { /* addbr or delbr */
-- ioctl_or_perror_and_die(fd,
-- key == ARG_addbr ? SIOCBRADDBR : SIOCBRDELBR,
-- br, "bridge %s", br);
-+ int ret;
-+ ret = ioctl(fd,
-+ key == ARG_addbr ? SIOCBRADDBR : SIOCBRDELBR,
-+ br);
-+ if (ret < 0) {
-+ arm_ioctl(args,
-+ key == ARG_addbr ? BRCTL_ADD_BRIDGE : BRCTL_DEL_BRIDGE,
-+ (unsigned long) br, 0);
-+ ret = ioctl(fd, SIOCSIFBR, args);
-+ }
-+ if (ret < 0) {
-+ bb_perror_msg_and_die("bridge %s", br);
-+ }
- goto done;
- }
-
-@@ -232,14 +243,27 @@ int brctl_main(int argc UNUSED_PARAM, ch
-
- strncpy_IFNAMSIZ(ifr.ifr_name, br);
- if (key == ARG_addif || key == ARG_delif) { /* addif or delif */
-+ int ret;
-+ int if_index;
- brif = *argv;
-- ifr.ifr_ifindex = if_nametoindex(brif);
-- if (!ifr.ifr_ifindex) {
-+ if_index = if_nametoindex(brif);
-+ if (!if_index) {
- bb_perror_msg_and_die("iface %s", brif);
- }
-- ioctl_or_perror_and_die(fd,
-+ ifr.ifr_ifindex = if_index;
-+ ret = ioctl(fd,
- key == ARG_addif ? SIOCBRADDIF : SIOCBRDELIF,
-- &ifr, "bridge %s", br);
-+ &ifr);
-+ if (ret < 0) {
-+ arm_ioctl(args,
-+ key == ARG_addif ? BRCTL_ADD_IF : BRCTL_DEL_IF,
-+ if_index, 0);
-+ ifr.ifr_data = (char *) &args;
-+ ret = ioctl(fd, SIOCDEVPRIVATE, &ifr);
-+ }
-+ if (ret < 0) {
-+ bb_perror_msg_and_die("bridge %s", br);
-+ }
- goto done_next_argv;
- }
- #if ENABLE_FEATURE_BRCTL_FANCY
diff --git a/package/busybox/patches/902-telnetd_intr.patch b/package/busybox/patches/902-telnetd_intr.patch
deleted file mode 100644
index 862ece055d..0000000000
--- a/package/busybox/patches/902-telnetd_intr.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/networking/telnetd.c
-+++ b/networking/telnetd.c
-@@ -330,6 +330,7 @@ make_new_session(
-
- /* Restore default signal handling ASAP */
- bb_signals((1 << SIGCHLD) + (1 << SIGPIPE), SIG_DFL);
-+ signal(SIGINT, SIG_DFL);
-
- pid = getpid();
-
diff --git a/package/busybox/patches/910-insmod-q-flag.patch b/package/busybox/patches/910-insmod-q-flag.patch
deleted file mode 100644
index 6002f20f1b..0000000000
--- a/package/busybox/patches/910-insmod-q-flag.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/modutils/insmod.c
-+++ b/modutils/insmod.c
-@@ -139,7 +139,7 @@ int insmod_main(int argc, char **argv) M
- int insmod_main(int argc UNUSED_PARAM, char **argv)
- {
- char *filename;
-- int rc;
-+ int rc, opt;
-
- /* Compat note:
- * 2.6 style insmod has no options and required filename
-@@ -149,10 +149,8 @@ int insmod_main(int argc UNUSED_PARAM, c
- * or in $MODPATH.
- */
-
-- IF_FEATURE_2_4_MODULES(
-- getopt32(argv, INSMOD_OPTS INSMOD_ARGS);
-- argv += optind - 1;
-- );
-+ opt = getopt32(argv, INSMOD_OPTS, NULL, NULL);
-+ argv += optind - 1;
-
- filename = *++argv;
- if (!filename)
-@@ -163,7 +161,7 @@ int insmod_main(int argc UNUSED_PARAM, c
- goto done;
-
- rc = bb_init_module(g_filename, parse_cmdline_module_options(argv, /*quote_spaces:*/ 0));
-- if (rc)
-+ if (rc && !(opt & INSMOD_OPT_SILENT))
- bb_error_msg("can't insert '%s': %s", filename, moderror(rc));
- free (g_filename);
-
diff --git a/package/busybox/patches/911-date-k-flag.patch b/package/busybox/patches/911-date-k-flag.patch
deleted file mode 100644
index c55ee23369..0000000000
--- a/package/busybox/patches/911-date-k-flag.patch
+++ /dev/null
@@ -1,87 +0,0 @@
---- a/coreutils/date.c
-+++ b/coreutils/date.c
-@@ -123,6 +123,7 @@
- //usage: IF_FEATURE_DATE_ISOFMT(
- //usage: "\n -D FMT Use FMT for -d TIME conversion"
- //usage: )
-+//usage: "\n -k Set Kernel timezone from localtime and exit"
- //usage: "\n"
- //usage: "\nRecognized TIME formats:"
- //usage: "\n hh:mm[:ss]"
-@@ -135,6 +136,7 @@
- //usage: "Wed Apr 12 18:52:41 MDT 2000\n"
-
- #include "libbb.h"
-+#include <sys/time.h>
- #if ENABLE_FEATURE_DATE_NANO
- # include <sys/syscall.h>
- #endif
-@@ -145,8 +147,9 @@ enum {
- OPT_UTC = (1 << 2), /* u */
- OPT_DATE = (1 << 3), /* d */
- OPT_REFERENCE = (1 << 4), /* r */
-- OPT_TIMESPEC = (1 << 5) * ENABLE_FEATURE_DATE_ISOFMT, /* I */
-- OPT_HINT = (1 << 6) * ENABLE_FEATURE_DATE_ISOFMT, /* D */
-+ OPT_KERNELTZ = (1 << 5), /* k */
-+ OPT_TIMESPEC = (1 << 6) * ENABLE_FEATURE_DATE_ISOFMT, /* I */
-+ OPT_HINT = (1 << 7) * ENABLE_FEATURE_DATE_ISOFMT, /* D */
- };
-
- static void maybe_set_utc(int opt)
-@@ -164,12 +167,15 @@ static const char date_longopts[] ALIGN1
- /* "universal\0" No_argument "u" */
- "date\0" Required_argument "d"
- "reference\0" Required_argument "r"
-+ "set-kernel-tz\0" No_argument "k"
- ;
- #endif
-
- int date_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
- int date_main(int argc UNUSED_PARAM, char **argv)
- {
-+ time_t tt;
-+ struct timezone tz;
- struct timespec ts;
- struct tm tm_time;
- char buf_fmt_dt2str[64];
-@@ -184,7 +190,7 @@ int date_main(int argc UNUSED_PARAM, cha
- opt_complementary = "d--s:s--d"
- IF_FEATURE_DATE_ISOFMT(":R--I:I--R");
- IF_LONG_OPTS(applet_long_options = date_longopts;)
-- opt = getopt32(argv, "Rs:ud:r:"
-+ opt = getopt32(argv, "Rs:ud:r:k"
- IF_FEATURE_DATE_ISOFMT("I::D:"),
- &date_str, &date_str, &filename
- IF_FEATURE_DATE_ISOFMT(, &isofmt_arg, &fmt_str2dt));
-@@ -241,6 +247,31 @@ int date_main(int argc UNUSED_PARAM, cha
- if (*argv)
- bb_show_usage();
-
-+ /* Setting of kernel timezone was requested */
-+ if (opt & OPT_KERNELTZ) {
-+ tt = time(NULL);
-+ localtime_r(&tt, &tm_time);
-+
-+ /* workaround warp_clock() on first invocation */
-+ memset(&tz, 0, sizeof(tz));
-+ settimeofday(NULL, &tz);
-+
-+ memset(&tz, 0, sizeof(tz));
-+#ifdef __USE_BSD
-+ tz.tz_minuteswest = -(tm_time.tm_gmtoff / 60);
-+#else
-+ tz.tz_minuteswest = -(tm_time.__tm_gmtoff / 60);
-+#endif
-+
-+ if (settimeofday(NULL, &tz))
-+ {
-+ bb_perror_msg("can't set kernel time zone");
-+ return EXIT_FAILURE;
-+ }
-+
-+ return EXIT_SUCCESS;
-+ }
-+
- /* Now we have parsed all the information except the date format
- * which depends on whether the clock is being set or read */
-
diff --git a/package/busybox/patches/920-portability.patch b/package/busybox/patches/920-portability.patch
deleted file mode 100644
index 4e5b9a0576..0000000000
--- a/package/busybox/patches/920-portability.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/scripts/kconfig/mconf.c
-+++ b/scripts/kconfig/mconf.c
-@@ -25,6 +25,10 @@
- #include <unistd.h>
- #include <locale.h>
-
-+#ifndef SIGWINCH
-+#define SIGWINCH 28
-+#endif
-+
- #define LKC_DIRECT_LINK
- #include "lkc.h"
-
diff --git a/package/busybox/patches/950-partial-checksum.patch b/package/busybox/patches/950-partial-checksum.patch
deleted file mode 100644
index 6e8a69e9a6..0000000000
--- a/package/busybox/patches/950-partial-checksum.patch
+++ /dev/null
@@ -1,86 +0,0 @@
---- a/networking/udhcp/dhcpc.c
-+++ b/networking/udhcp/dhcpc.c
-@@ -26,8 +26,8 @@
- #include "dhcpc.h"
-
- #include <netinet/if_ether.h>
--#include <netpacket/packet.h>
- #include <linux/filter.h>
-+#include <linux/if_packet.h>
-
- /* struct client_config_t client_config is in bb_common_bufsiz1 */
-
-@@ -846,17 +846,41 @@ static int send_release(uint32_t server,
- static NOINLINE int udhcp_recv_raw_packet(struct dhcp_packet *dhcp_pkt, int fd)
- {
- int bytes;
-+ int nocsum = 0;
- struct ip_udp_dhcp_packet packet;
- uint16_t check;
-+ unsigned char cmsgbuf[CMSG_LEN(sizeof(struct tpacket_auxdata))];
-+ struct iovec iov = {
-+ .iov_base = &packet,
-+ .iov_len = sizeof(packet),
-+ };
-+ struct msghdr msg = {
-+ .msg_iov = &iov,
-+ .msg_iovlen = 1,
-+ .msg_control = cmsgbuf,
-+ .msg_controllen = sizeof(cmsgbuf),
-+ };
-+ struct cmsghdr *cmsg;
-
- memset(&packet, 0, sizeof(packet));
-- bytes = safe_read(fd, &packet, sizeof(packet));
-+ do {
-+ bytes = recvmsg(fd, &msg, 0);
-+ } while (bytes < 0 && errno == EINTR);
-+
- if (bytes < 0) {
- log1("Packet read error, ignoring");
- /* NB: possible down interface, etc. Caller should pause. */
- return bytes; /* returns -1 */
- }
-
-+ for (cmsg = CMSG_FIRSTHDR(&msg); cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) {
-+ if (cmsg->cmsg_level == SOL_PACKET &&
-+ cmsg->cmsg_type == PACKET_AUXDATA) {
-+ struct tpacket_auxdata *aux = (void *)CMSG_DATA(cmsg);
-+ nocsum = aux->tp_status & TP_STATUS_CSUMNOTREADY;
-+ }
-+ }
-+
- if (bytes < (int) (sizeof(packet.ip) + sizeof(packet.udp))) {
- log1("Packet is too short, ignoring");
- return -2;
-@@ -896,7 +920,7 @@ static NOINLINE int udhcp_recv_raw_packe
- packet.ip.tot_len = packet.udp.len; /* yes, this is needed */
- check = packet.udp.check;
- packet.udp.check = 0;
-- if (check && check != udhcp_checksum(&packet, bytes)) {
-+ if (!nocsum && check && check != udhcp_checksum(&packet, bytes)) {
- log1("Packet with bad UDP checksum received, ignoring");
- return -2;
- }
-@@ -942,6 +966,7 @@ static int udhcp_raw_socket(int ifindex)
- {
- int fd;
- struct sockaddr_ll sock;
-+ int val;
-
- /*
- * Comment:
-@@ -1008,6 +1033,13 @@ static int udhcp_raw_socket(int ifindex)
- log1("Attached filter to raw socket fd %d", fd); // log?
- }
-
-+ val = 1;
-+ if (setsockopt(fd, SOL_PACKET, PACKET_AUXDATA, &val,
-+ sizeof(val)) < 0) {
-+ if (errno != ENOPROTOOPT)
-+ log1("Failed to set auxiliary packet data for socket fd %d", fd);
-+ }
-+
- log1("Created raw socket");
-
- return fd;
diff --git a/package/busybox/patches/998-arping_missing_includes.patch b/package/busybox/patches/998-arping_missing_includes.patch
deleted file mode 100644
index a9d4a62af3..0000000000
--- a/package/busybox/patches/998-arping_missing_includes.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/networking/arping.c
-+++ b/networking/arping.c
-@@ -24,6 +24,8 @@
-
- #include <arpa/inet.h>
- #include <net/if.h>
-+#include <net/if_arp.h>
-+#include <netinet/if_ether.h>
- #include <netinet/ether.h>
- #include <netpacket/packet.h>
-
diff --git a/package/busybox/patches/999-musl-fixes.patch b/package/busybox/patches/999-musl-fixes.patch
deleted file mode 100644
index b528b3e81b..0000000000
--- a/package/busybox/patches/999-musl-fixes.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/include/platform.h
-+++ b/include/platform.h
-@@ -443,6 +443,13 @@ typedef unsigned smalluint;
- # undef HAVE_NET_ETHERNET_H
- #endif
-
-+#if defined(__musl__)
-+# undef HAVE_SETBIT
-+# include <stddef.h>
-+# include <termios.h>
-+# include <sys/ioctl.h>
-+#endif
-+
- /*
- * Now, define prototypes for all the functions defined in platform.c
- * These must come after all the HAVE_* macros are defined (or not)