busybox/networking/Config.in
Denis Vlasenko 5e4fda0aff ftpd: code chrink, fixed some minor bugs
ls: update comment
*: openlog fixes (added LOG_PID, set LOG_DAEMON as appropriate)

function                                             old     new   delta
xwrite_str                                             -      26     +26
cmdio_write_ok                                         -      15     +15
handle_cwd                                            40      45      +5
packed_usage                                       25668   25670      +2
cmdio_write_raw                                        7       9      +2
handle_upload_common                                 322     320      -2
udhcpd_main                                         1375    1372      -3
udhcpc_main                                         2362    2359      -3
port_cleanup                                          27      23      -4
handle_dir_common                                    221     209     -12
str_netfd_write                                       26       -     -26
cmdio_get_cmd_and_arg                                122       -    -122
ftpd_main                                           2208    2050    -158
------------------------------------------------------------------------------
   text    data     bss     dec     hex filename
 809933     476    7864  818273   c7c61 busybox_old
 809199     476    7864  817539   c7983 busybox_unstripped
2009-03-08 23:46:48 +00:00

942 lines
24 KiB
Plaintext

#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#
menu "Networking Utilities"
config FEATURE_IPV6
bool "Enable IPv6 support"
default n
help
Enable IPv6 support in busybox.
This adds IPv6 support in the networking applets.
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 n
help
Manipulate the system ARP cache.
config ARPING
bool "arping"
default n
help
Ping hosts by ARP packets.
config BRCTL
bool "brctl"
default n
help
Manage ethernet bridges.
Supports addbr/delbr and addif/delif.
config FEATURE_BRCTL_FANCY
bool "Fancy options"
default n
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, showmac and showstp"
default n
depends on BRCTL && FEATURE_BRCTL_FANCY
help
Add support for option which prints the current config:
showmacs, showstp, show
config DNSD
bool "dnsd"
default n
help
Small and static DNS server daemon.
config ETHER_WAKE
bool "ether-wake"
default n
help
Send a magic packet to wake up sleeping machines.
config FAKEIDENTD
bool "fakeidentd"
default n
select FEATURE_SYSLOG
help
fakeidentd listens on the ident port and returns a predefined
fake value on any query.
config FTPD
bool "ftpd"
default n
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 FTPGET
bool "ftpget"
default n
help
Retrieve a remote file via FTP.
config FTPPUT
bool "ftpput"
default n
help
Store a remote file via FTP.
config FEATURE_FTPGETPUT_LONG_OPTIONS
bool "Enable long options in ftpget/ftpput"
default n
depends on GETOPT_LONG && (FTPGET || FTPPUT)
help
Support long options for the ftpget/ftpput applet.
config HOSTNAME
bool "hostname"
default n
help
Show or set the system's host name.
config HTTPD
bool "httpd"
default n
help
Serve web pages via an HTTP server.
config FEATURE_HTTPD_RANGES
bool "Support 'Ranges:' header"
default n
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 n
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 n
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.
config FEATURE_HTTPD_AUTH_MD5
bool "Support MD5 crypted passwords for http Authentication"
default n
depends on FEATURE_HTTPD_BASIC_AUTH
help
Enables basic per URL authentication from /etc/httpd.conf
using md5 passwords.
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 n
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
config file:
*.php:/path/to/your/php
config FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
bool "Set REMOTE_PORT environment variable for CGI"
default n
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
"&#60Hello&#32World&#62".
config FEATURE_HTTPD_ERROR_PAGES
bool "Support for custom error pages"
default n
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 n
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 IFCONFIG
bool "ifconfig"
default n
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 n
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 n
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 n
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 n
help
Userspace application to bind several interfaces
to a logical interface (use with kernel bonding driver).
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 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 n
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 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 y
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 n
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 n
### 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 n
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 n
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 n
depends on INETD
select FEATURE_HAVE_RPC
help
Support Sun-RPC based services
config IP
bool "ip"
default n
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 n
depends on IP
help
Add support for tunneling commands to "ip".
config FEATURE_IP_RULE
bool "ip rule"
default n
depends on IP
help
Add support for rule commands to "ip".
config FEATURE_IP_SHORT_FORMS
bool "Support short forms of ip commands"
default n
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 n
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 n
depends on IPCALC && GETOPT_LONG
help
Support long options for the ipcalc applet.
config NAMEIF
bool "nameif"
default n
select 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 FEATURE_NAMEIF_EXTENDED
bool "Extended nameif"
default n
depends on NAMEIF
help
This extends the nameif syntax to support the bus_info and driver
checks. 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 mac=00:80:C8:38:91:B5
new_interface_name 00:80:C8:38:91:B5
config NC
bool "nc"
default n
help
A simple Unix utility which reads and writes data across network
connections.
config NC_SERVER
bool "Netcat server options (-l)"
default n
depends on NC
help
Allow netcat to act as a server.
config NC_EXTRA
bool "Netcat extensions (-eiw and filename)"
default n
depends on 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 NETSTAT
bool "netstat"
default n
help
netstat prints information about the Linux networking subsystem.
config FEATURE_NETSTAT_WIDE
bool "Enable wide netstat output"
default n
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 n
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 n
help
nslookup is a tool to query Internet name servers.
config PING
bool "ping"
default n
help
ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
elicit an ICMP ECHO_RESPONSE from a host or gateway.
config PING6
bool "ping6"
default n
depends on FEATURE_IPV6 && PING
help
This will give you a ping that can talk IPv6.
config FEATURE_FANCY_PING
bool "Enable fancy ping output"
default y
depends on PING
help
Make the output from the ping applet include statistics, and at the
same time provide full support for ICMP packets.
config PSCAN
bool "pscan"
default n
help
Simple network port scanner.
config ROUTE
bool "route"
default n
help
Route displays or manipulates the kernel's IP routing tables.
config SLATTACH
bool "slattach"
default n
help
slattach is a small utility to attach network interfaces to serial
lines.
#config TC
# bool "tc"
# default n
# help
# show / manipulate traffic control settings
#
#config FEATURE_TC_INGRESS
# def_bool n
# depends on TC
config TELNET
bool "telnet"
default n
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 n
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 n
depends on TELNETD
help
Selecting this will make telnetd able to run standalone.
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 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"
config FEATURE_TFTP_GET
bool "Enable \"get\" command"
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.
config FEATURE_TFTP_PUT
bool "Enable \"put\" command"
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\" protocol option"
default n
depends on TFTP || TFTPD
help
Allow tftp to specify block size, and tftpd to understand
"blksize" option.
config TFTP_DEBUG
bool "Enable debug"
default n
depends on TFTP || TFTPD
help
Enable debug settings for tftp. This is useful if you're running
into problems with tftp as the protocol doesn't help you much when
you run into problems.
config TRACEROUTE
bool "traceroute"
default n
help
Utility to trace the route of IP packets
config FEATURE_TRACEROUTE_VERBOSE
bool "Enable verbose output"
default n
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.
source networking/udhcp/Config.in
config IFUPDOWN_UDHCPC_CMD_OPTIONS
string "ifup udhcpc command line options"
default "-R -n"
depends on IFUPDOWN && APP_UDHCPC
help
Command line options to pass to udhcpc from ifup.
Intended to alter options not available in /etc/network/interfaces.
(IE: --syslog --background etc...)
config VCONFIG
bool "vconfig"
default n
help
Creates, removes, and configures VLAN interfaces
config WGET
bool "wget"
default n
help
wget is a utility for non-interactive download of files from HTTP,
HTTPS, 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 n
depends on WGET && GETOPT_LONG
help
Support long options for the wget applet.
config ZCIP
bool "zcip"
default n
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.
config TCPSVD
bool "tcpsvd"
default n
help
tcpsvd listens on a TCP port and runs a program for each new
connection.
config TUNCTL
bool "tunctl"
default n
help
tunctl creates or deletes tun devices.
config FEATURE_TUNCTL_UG
bool "Support owner:group assignment"
default n
depends on TUNCTL
help
Allow to specify owner and group of newly created interface.
340 bytes of pure bloat. Say no here.
config UDPSVD
bool "udpsvd"
default n
help
udpsvd listens on an UDP port and runs a program for each new
connection.
endmenu