diff options
author | John Crispin <john@openwrt.org> | 2013-06-21 16:54:37 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2013-06-21 16:54:37 +0000 |
commit | 4ebf19b48fafc8d94e14e4ba779969613b241a6a (patch) | |
tree | 9918f890a8915023b49ea30948beb5d048c333fa /package/busybox | |
parent | 44b1688e6c7b4f16f7165fbd560e1183aef69090 (diff) | |
download | mtk-20170518-4ebf19b48fafc8d94e14e4ba779969613b241a6a.zip mtk-20170518-4ebf19b48fafc8d94e14e4ba779969613b241a6a.tar.gz mtk-20170518-4ebf19b48fafc8d94e14e4ba779969613b241a6a.tar.bz2 |
packages: clean up the package folder
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 37007
Diffstat (limited to 'package/busybox')
70 files changed, 0 insertions, 11919 deletions
diff --git a/package/busybox/Config.in b/package/busybox/Config.in deleted file mode 100644 index 5fd7e9e..0000000 --- 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 aed6dde..0000000 --- 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 0045036..0000000 --- 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 d2bfa48..0000000 --- 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 9069b0f..0000000 --- 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 33a5e25..0000000 --- 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 be69666..0000000 --- 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 282681d..0000000 --- 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 105c93a..0000000 --- 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 21321db..0000000 --- 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 8db1fde..0000000 --- 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 07d94a2..0000000 --- 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 6475403..0000000 --- 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 8c32851..0000000 --- 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 8db3031..0000000 --- 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 e69d684..0000000 --- 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 77f9858..0000000 --- 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 3df7b1f..0000000 --- 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 - "<Hello World>". - -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 f4d26ec..0000000 --- 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 ca2ea9f..0000000 --- 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 d8d72a7..0000000 --- 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 9d7c597..0000000 --- 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 e7317ca..0000000 --- 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 a271a38..0000000 --- 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 f403a68..0000000 --- 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 d60b139..0000000 --- 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 0128bf7..0000000 --- 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 465b1ab..0000000 --- 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 994e713..0000000 --- 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 4db64c3..0000000 --- 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 ff79f3e..0000000 --- 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 8177fb0..0000000 --- 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 d94ee47..0000000 --- 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 d66d66d..0000000 --- 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 532fcee..0000000 --- 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 8528ee8..0000000 --- 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 1003231..0000000 --- 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 f9571fc..0000000 --- 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 d258fb8..0000000 --- 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 fde6fbb..0000000 --- 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 ebf2990..0000000 --- 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 0e26864..0000000 --- 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 471d704..0000000 --- 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 c1c6096..0000000 --- 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 cb0df22..0000000 --- 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 2f0eadb..0000000 --- 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 048c236..0000000 --- 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 cb2ae94..0000000 --- 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 7ac52ab..0000000 --- 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 e8b2513..0000000 --- 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 daa1b99..0000000 --- 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 eb34642..0000000 --- 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 11125e7..0000000 --- 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 b02a5b9..0000000 --- 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 401c6eb..0000000 --- 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 7f0188f..0000000 --- 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 2fcb7f7..0000000 --- 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 9f525ac..0000000 --- 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 c22fa52..0000000 --- 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 5e17ae1..0000000 --- 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 7bcb847..0000000 --- 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 ab09fb3..0000000 --- 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 8cc1977..0000000 --- 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 862ece0..0000000 --- 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 6002f20..0000000 --- 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 c55ee23..0000000 --- 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 4e5b9a0..0000000 --- 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 6e8a69e..0000000 --- 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 a9d4a62..0000000 --- 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 b528b3e..0000000 --- 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) |