# # For a description of the syntax of this configuration file, # see scripts/kbuild/config-language.txt. # menu "Networking Utilities" INSERT config FEATURE_IPV6 bool "Enable IPv6 support" default y help Enable IPv6 support in busybox. This adds IPv6 support in the networking applets. 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 FEATURE_PREFER_IPV4_ADDRESS bool "Prefer IPv4 addresses from DNS queries" default y depends on 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 VERBOSE_RESOLUTION_ERRORS bool "Verbose resolution errors" default n 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 ARP bool "arp" default y select PLATFORM_LINUX help Manipulate the system ARP cache. config ARPING bool "arping" default y select PLATFORM_LINUX help Ping hosts by ARP packets. config BRCTL bool "brctl" default y select PLATFORM_LINUX help Manage ethernet bridges. Supports addbr/delbr and addif/delif. config FEATURE_BRCTL_FANCY bool "Fancy options" default y depends on BRCTL help Add support for extended option like: setageing, setfd, sethello, setmaxage, setpathcost, setportprio, setbridgeprio, stp This adds about 600 bytes. config FEATURE_BRCTL_SHOW bool "Support show" default y depends on BRCTL && FEATURE_BRCTL_FANCY help Add support for option which prints the current config: show config DNSD bool "dnsd" default y help Small and static DNS server daemon. config ETHER_WAKE bool "ether-wake" default y select PLATFORM_LINUX help Send a magic packet to wake up sleeping machines. config FAKEIDENTD bool "fakeidentd" default y select FEATURE_SYSLOG help fakeidentd listens on the ident port and returns a predefined fake value on any query. config FTPD bool "ftpd" default y help simple FTP daemon. You have to run it via inetd. config FEATURE_FTP_WRITE bool "Enable upload commands" default y depends on FTPD help Enable all kinds of FTP upload commands (-w option) config FEATURE_FTPD_ACCEPT_BROKEN_LIST bool "Enable workaround for RFC-violating clients" default y depends on 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 FTPGET bool "ftpget" default y help Retrieve a remote file via FTP. config FTPPUT bool "ftpput" default y help Store a remote file via FTP. config FEATURE_FTPGETPUT_LONG_OPTIONS bool "Enable long options in ftpget/ftpput" default y depends on LONG_OPTS && (FTPGET || FTPPUT) help Support long options for the ftpget/ftpput applet. config HOSTNAME bool "hostname" default y help Show or set the system's host name. config HTTPD bool "httpd" default y help Serve web pages via an HTTP server. config FEATURE_HTTPD_RANGES bool "Support 'Ranges:' header" default y depends on 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 FEATURE_HTTPD_USE_SENDFILE bool "Use sendfile system call" default y depends on HTTPD help When enabled, httpd will use the kernel sendfile() function instead of read/write loop. config FEATURE_HTTPD_SETUID bool "Enable -u <user> option" default y depends on 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 FEATURE_HTTPD_BASIC_AUTH bool "Enable Basic http Authentication" default y depends on HTTPD help Utilizes password settings from /etc/httpd.conf for basic authentication on a per url basis. Example for httpd.conf file: /adm:toor:PaSsWd config FEATURE_HTTPD_AUTH_MD5 bool "Support MD5 crypted passwords for http Authentication" default y depends on FEATURE_HTTPD_BASIC_AUTH help Enables encrypted passwords, and wildcard user/passwords in httpd.conf file. User '*' means 'any system user name is ok', password of '*' means 'use system password for this user' Examples: /adm:toor:$1$P/eKnWXS$aI1aPGxT.dJD5SzqAKWrF0 /adm:root:* /wiki:*:* config FEATURE_HTTPD_CGI bool "Support Common Gateway Interface (CGI)" default y depends on HTTPD help This option allows scripts and executables to be invoked when specific URLs are requested. config FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR bool "Support for running scripts through an interpreter" default y depends on 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.conf file: *.php:/path/to/your/php config FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV bool "Set REMOTE_PORT environment variable for CGI" default y depends on FEATURE_HTTPD_CGI help Use of this option can assist scripts in generating references that contain a unique port number. config FEATURE_HTTPD_ENCODE_URL_STR bool "Enable -e option (useful for CGIs written as shell scripts)" default y depends on 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 FEATURE_HTTPD_ERROR_PAGES bool "Support for custom error pages" default y depends on 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 FEATURE_HTTPD_PROXY bool "Support for reverse proxy" default y depends on 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 FEATURE_HTTPD_GZIP bool "Support for GZIP content encoding" default y depends on HTTPD help Makes httpd send files using GZIP content encoding if the client supports it and a pre-compressed <file>.gz exists. config IFCONFIG bool "ifconfig" default y select PLATFORM_LINUX help Ifconfig is used to configure the kernel-resident network interfaces. config FEATURE_IFCONFIG_STATUS bool "Enable status reporting output (+7k)" default y depends on IFCONFIG help If ifconfig is called with no arguments it will display the status of the currently active interfaces. config FEATURE_IFCONFIG_SLIP bool "Enable slip-specific options \"keepalive\" and \"outfill\"" default y depends on IFCONFIG help Allow "keepalive" and "outfill" support for SLIP. If you're not planning on using serial lines, leave this unchecked. config FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ bool "Enable options \"mem_start\", \"io_addr\", and \"irq\"" default y depends on 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 FEATURE_IFCONFIG_HW bool "Enable option \"hw\" (ether only)" default y depends on IFCONFIG help Set the hardware address of this interface, if the device driver supports this operation. Currently, we only support the 'ether' class. config FEATURE_IFCONFIG_BROADCAST_PLUS bool "Set the broadcast automatically" default y depends on IFCONFIG help Setting this will make ifconfig attempt to find the broadcast automatically if the value '+' is used. config IFENSLAVE bool "ifenslave" default y select PLATFORM_LINUX help Userspace application to bind several interfaces to a logical interface (use with kernel bonding driver). config IFPLUGD bool "ifplugd" default y select PLATFORM_LINUX help Network interface plug detection daemon. config IFUPDOWN bool "ifupdown" default y 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 IFUPDOWN_IFSTATE_PATH string "Absolute path to ifstate file" default "/var/run/ifstate" depends on 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 FEATURE_IFUPDOWN_IP bool "Use ip applet" default y depends on 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 FEATURE_IFUPDOWN_IP_BUILTIN bool "Use busybox ip applet" default y depends on FEATURE_IFUPDOWN_IP select PLATFORM_LINUX select IP select FEATURE_IP_ADDRESS select FEATURE_IP_LINK select 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 FEATURE_IFUPDOWN_IFCONFIG_BUILTIN bool "Use busybox ifconfig and route applets" default n depends on IFUPDOWN && !FEATURE_IFUPDOWN_IP select IFCONFIG select 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 FEATURE_IFUPDOWN_IPV4 bool "Support for IPv4" default y depends on IFUPDOWN help If you want ifup/ifdown to talk IPv4, leave this on. config FEATURE_IFUPDOWN_IPV6 bool "Support for IPv6" default y depends on IFUPDOWN && 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 FEATURE_IFUPDOWN_MAPPING bool "Enable mapping support" default y depends on IFUPDOWN help This enables support for the "mapping" stanza, unless you have a weird network setup you don't need it. config FEATURE_IFUPDOWN_EXTERNAL_DHCP bool "Support for external dhcp clients" default n depends on 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 INETD bool "inetd" default y select FEATURE_SYSLOG help Internet superserver daemon config FEATURE_INETD_SUPPORT_BUILTIN_ECHO bool "Support echo service" default y depends on INETD help Echo received data internal inetd service config FEATURE_INETD_SUPPORT_BUILTIN_DISCARD bool "Support discard service" default y depends on INETD help Internet /dev/null internal inetd service config FEATURE_INETD_SUPPORT_BUILTIN_TIME bool "Support time service" default y depends on INETD help Return 32 bit time since 1900 internal inetd service config FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME bool "Support daytime service" default y depends on INETD help Return human-readable time internal inetd service config FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN bool "Support chargen service" default y depends on INETD help Familiar character generator internal inetd service config FEATURE_INETD_RPC bool "Support RPC services" default y depends on INETD select FEATURE_HAVE_RPC help Support Sun-RPC based services config IP bool "ip" default y select 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 FEATURE_IP_ADDRESS bool "ip address" default y depends on IP help Address manipulation support for the "ip" applet. config FEATURE_IP_LINK bool "ip link" default y depends on IP help Configure network devices with "ip". config FEATURE_IP_ROUTE bool "ip route" default y depends on IP help Add support for routing table management to "ip". config FEATURE_IP_TUNNEL bool "ip tunnel" default y depends on IP help Add support for tunneling commands to "ip". config FEATURE_IP_RULE bool "ip rule" default y depends on IP help Add support for rule commands to "ip". config FEATURE_IP_SHORT_FORMS bool "Support short forms of ip commands" default y depends on 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 FEATURE_IP_RARE_PROTOCOLS bool "Support displaying rarely used link types" default n depends on 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 IPADDR bool default y depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ADDRESS config IPLINK bool default y depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_LINK config IPROUTE bool default y depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ROUTE config IPTUNNEL bool default y depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_TUNNEL config IPRULE bool default y depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_RULE config IPCALC bool "ipcalc" default y help ipcalc takes an IP address and netmask and calculates the resulting broadcast, network, and host range. config FEATURE_IPCALC_FANCY bool "Fancy IPCALC, more options, adds 1 kbyte" default y depends on IPCALC help Adds the options hostname, prefix and silent to the output of "ipcalc". config FEATURE_IPCALC_LONG_OPTIONS bool "Enable long options" default y depends on IPCALC && LONG_OPTS help Support long options for the ipcalc applet. config NETSTAT bool "netstat" default y select PLATFORM_LINUX help netstat prints information about the Linux networking subsystem. config FEATURE_NETSTAT_WIDE bool "Enable wide netstat output" default y depends on NETSTAT help Add support for wide columns. Useful when displaying IPv6 addresses (-W option). config FEATURE_NETSTAT_PRG bool "Enable PID/Program name output" default y depends on NETSTAT help Add support for -p flag to print out PID and program name. +700 bytes of code. config NSLOOKUP bool "nslookup" default y help nslookup is a tool to query Internet name servers. config NTPD bool "ntpd" default y select PLATFORM_LINUX help The NTP client/server daemon. config FEATURE_NTPD_SERVER bool "Make ntpd usable as a NTP server" default y depends on NTPD help Make ntpd usable as a NTP server. If you disable this option ntpd will be usable only as a NTP client. config PSCAN bool "pscan" default y help Simple network port scanner. config ROUTE bool "route" default y select PLATFORM_LINUX help Route displays or manipulates the kernel's IP routing tables. config SLATTACH bool "slattach" default y select 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 TCPSVD bool "tcpsvd" default y help tcpsvd listens on a TCP port and runs a program for each new connection. 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 FEATURE_TELNET_TTYPE bool "Pass TERM type to remote host" default y depends on 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 FEATURE_TELNET_AUTOLOGIN bool "Pass USER type to remote host" default y depends on 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 TELNETD bool "telnetd" default y select 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 FEATURE_TELNETD_STANDALONE bool "Support standalone telnetd (not inetd only)" default y depends on TELNETD help Selecting this will make telnetd able to run standalone. config FEATURE_TELNETD_INETD_WAIT bool "Support -w SEC option (inetd wait mode)" default y depends on 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 TFTP bool "tftp" default y 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 TFTPD bool "tftpd" default y 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 TFTP || TFTPD config FEATURE_TFTP_GET bool "Enable 'tftp get' and/or tftpd upload code" default y depends on TFTP || 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 FEATURE_TFTP_PUT bool "Enable 'tftp put' and/or tftpd download code" default y depends on TFTP || 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 FEATURE_TFTP_BLOCKSIZE bool "Enable 'blksize' and 'tsize' protocol options" default y depends on TFTP || TFTPD help Allow tftp to specify block size, and tftpd to understand "blksize" and "tsize" options. config FEATURE_TFTP_PROGRESS_BAR bool "Enable tftp progress meter" default y depends on TFTP && FEATURE_TFTP_BLOCKSIZE help Show progress bar. config TFTP_DEBUG bool "Enable debug" default n depends on TFTP || TFTPD help Make tftp[d] print debugging messages on stderr. This is useful if you are diagnosing a bug in tftp[d]. config TRACEROUTE bool "traceroute" default y select PLATFORM_LINUX help Utility to trace the route of IP packets. config TRACEROUTE6 bool "traceroute6" default y depends on FEATURE_IPV6 && TRACEROUTE help Utility to trace the route of IPv6 packets. config FEATURE_TRACEROUTE_VERBOSE bool "Enable verbose output" default y depends on TRACEROUTE help Add some verbosity to traceroute. This includes among other things hostnames and ICMP response types. config FEATURE_TRACEROUTE_SOURCE_ROUTE bool "Enable loose source route" default n depends on TRACEROUTE help Add option to specify a loose source route gateway (8 maximum). config FEATURE_TRACEROUTE_USE_ICMP bool "Use ICMP instead of UDP" default n depends on TRACEROUTE help Add option -I to use ICMP ECHO instead of UDP datagrams. config TUNCTL bool "tunctl" default y select PLATFORM_LINUX help tunctl creates or deletes tun devices. config FEATURE_TUNCTL_UG bool "Support owner:group assignment" default y depends on TUNCTL help Allow to specify owner and group of newly created interface. 340 bytes of pure bloat. Say no here. source networking/udhcp/Config.in config IFUPDOWN_UDHCPC_CMD_OPTIONS string "ifup udhcpc command line options" default "-R -n" depends on IFUPDOWN && 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 UDPSVD bool "udpsvd" default y help udpsvd listens on an UDP port and runs a program for each new connection. config VCONFIG bool "vconfig" default y select PLATFORM_LINUX help Creates, removes, and configures VLAN interfaces config WGET bool "wget" default y help wget is a utility for non-interactive download of files from HTTP and FTP servers. config FEATURE_WGET_STATUSBAR bool "Enable a nifty process meter (+2k)" default y depends on WGET help Enable the transfer progress bar for wget transfers. config FEATURE_WGET_AUTHENTICATION bool "Enable HTTP authentication" default y depends on WGET help Support authenticated HTTP transfers. config FEATURE_WGET_LONG_OPTIONS bool "Enable long options" default y depends on WGET && LONG_OPTS help Support long options for the wget applet. config FEATURE_WGET_TIMEOUT bool "Enable read timeout option -T SEC" default y depends on 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 ZCIP bool "zcip" default y select PLATFORM_LINUX select 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