udhcp: logging improvements, field and variable renames
[oweals/busybox.git] / networking / Config.in
index 3b00f03ef41bf812b0c41f2d087c3a0eabcc0577..6e3ed0fad4069ce83eb3d73a512101823f333e88 100644 (file)
@@ -12,17 +12,73 @@ config FEATURE_IPV6
          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.
+
+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
+         Manipulate the system ARP cache.
 
 config ARPING
        bool "arping"
        default n
        help
-         Ping hosts by ARP packets
+         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"
@@ -44,6 +100,19 @@ config FAKEIDENTD
          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
@@ -67,7 +136,7 @@ config HOSTNAME
        bool "hostname"
        default n
        help
-         Show or set the system's host name
+         Show or set the system's host name.
 
 config HTTPD
        bool "httpd"
@@ -75,13 +144,22 @@ config HTTPD
        help
          Serve web pages via an HTTP server.
 
-config FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
-       bool "Support reloading the global config file using hup signal"
+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
-         This option enables processing of SIGHUP to reload cached
-         configuration settings.
+         When enabled, httpd will use the kernel sendfile() function
+         instead of read/write loop.
 
 config FEATURE_HTTPD_SETUID
        bool "Enable -u <user> option"
@@ -109,14 +187,6 @@ config FEATURE_HTTPD_AUTH_MD5
          Enables basic per URL authentication from /etc/httpd.conf
          using md5 passwords.
 
-config FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES
-       bool "Support loading additional MIME types at run-time"
-       default n
-       depends on HTTPD
-       help
-         This option enables support for additional MIME types at
-         run-time to be specified in the configuration file.
-
 config FEATURE_HTTPD_CGI
        bool "Support Common Gateway Interface (CGI)"
        default y
@@ -126,18 +196,18 @@ config FEATURE_HTTPD_CGI
          when specific URLs are requested.
 
 config FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
-       bool "Enable support for running scripts through an interpreter"
+       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 addition line in your httpd
+         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 "Support the REMOTE_PORT environment variable for CGI"
+       bool "Set REMOTE_PORT environment variable for CGI"
        default n
        depends on FEATURE_HTTPD_CGI
        help
@@ -145,15 +215,40 @@ config FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
          references that contain a unique port number.
 
 config FEATURE_HTTPD_ENCODE_URL_STR
-       bool "Enable the -e option for shell script CGI simplification."
+       bool "Enable -e option (useful for CGIs written as shell scripts)"
        default y
        depends on HTTPD
        help
-         This option allows html encoding arbitrary
-         strings for display of the browser.  Output goes to stdout.
-         For example, httpd -e "<Hello World>" as
+         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
@@ -173,7 +268,7 @@ config FEATURE_IFCONFIG_SLIP
        default n
        depends on IFCONFIG
        help
-         Allow "keepalive" and "outfill" support for SLIP.  If you're not
+         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
@@ -190,7 +285,7 @@ config FEATURE_IFCONFIG_HW
        depends on IFCONFIG
        help
          Set the hardware address of this interface, if the device driver
-         supports  this  operation.  Currently, we only support the 'ether'
+         supports  this  operation. Currently, we only support the 'ether'
          class.
 
 config FEATURE_IFCONFIG_BROADCAST_PLUS
@@ -201,22 +296,45 @@ config FEATURE_IFCONFIG_BROADCAST_PLUS
          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 IFPLUGD
+       bool "ifplugd"
+       default n
+       help
+         Network interface plug detection daemon.
+
 config IFUPDOWN
        bool "ifupdown"
        default n
-       select RUN_PARTS
        help
-         Activate or deactivate the specified interfaces.  This applet makes
+         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
+         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
+         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" and "route" or the "ip" command, either via busybox or via
-         standalone utilities.
+         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"
@@ -255,26 +373,27 @@ config FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
          work.
 
 config FEATURE_IFUPDOWN_IPV4
-       bool "Enable support for IPv4"
+       bool "Support for IPv4"
        default y
        depends on IFUPDOWN
        help
-         If you want busybox to talk IPv4, leave this on.
+         If you want ifup/ifdown to talk IPv4, leave this on.
 
 config FEATURE_IFUPDOWN_IPV6
-       bool "Enable support for IPv6"
+       bool "Support for IPv6"
        default n
        depends on IFUPDOWN && FEATURE_IPV6
        help
          If you need support for IPv6, turn this option on.
 
-config FEATURE_IFUPDOWN_IPX
-       bool "Enable support for IPX"
-       default n
-       depends on IFUPDOWN
-       help
-         If this option is selected you can use busybox to work with IPX
-         networks.
+### 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"
@@ -284,6 +403,16 @@ config FEATURE_IFUPDOWN_MAPPING
          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
@@ -330,7 +459,7 @@ config FEATURE_INETD_RPC
        bool "Support RPC services"
        default n
        depends on INETD
-       depends on FEATURE_HAVE_RPC
+       select FEATURE_HAVE_RPC
        help
          Support Sun-RPC based services
 
@@ -339,7 +468,7 @@ config 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
+         utility. You generally don't need "ip" to use busybox with
          TCP/IP.
 
 config FEATURE_IP_ADDRESS
@@ -378,7 +507,7 @@ config FEATURE_IP_RULE
          Add support for rule commands to "ip".
 
 config FEATURE_IP_SHORT_FORMS
-       bool "Support short forms of ip commands."
+       bool "Support short forms of ip commands"
        default n
        depends on IP
        help
@@ -387,10 +516,21 @@ config FEATURE_IP_SHORT_FORMS
          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
@@ -428,7 +568,8 @@ config FEATURE_IPCALC_FANCY
        default y
        depends on IPCALC
        help
-         Adds the options hostname, prefix and silent to the output of "ipcalc".
+         Adds the options hostname, prefix and silent to the output of
+         "ipcalc".
 
 config FEATURE_IPCALC_LONG_OPTIONS
        bool "Enable long options"
@@ -446,12 +587,25 @@ config NAMEIF
          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: IF_NAMESIZE = 16
+         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
@@ -460,7 +614,7 @@ config NC
          connections.
 
 config NC_SERVER
-       bool "Netcat server options (-lp)"
+       bool "Netcat server options (-l)"
        default n
        depends on NC
        help
@@ -481,6 +635,22 @@ config NETSTAT
        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
@@ -494,6 +664,13 @@ config PING
          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
@@ -502,20 +679,11 @@ config FEATURE_FANCY_PING
          Make the output from the ping applet include statistics, and at the
          same time provide full support for ICMP packets.
 
-config PING6
-       bool "ping6"
+config PSCAN
+       bool "pscan"
        default n
-       depends on FEATURE_IPV6
        help
-         This will give you a ping that can talk IPv6.
-
-config FEATURE_FANCY_PING6
-       bool "Enable fancy ping6 output"
-       default y
-       depends on PING6
-       help
-         Make the output from the ping6 applet include statistics, and at the
-         same time provide full support for ICMP packets.
+         Simple network port scanner.
 
 config ROUTE
        bool "route"
@@ -523,6 +691,23 @@ config ROUTE
        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
@@ -536,7 +721,7 @@ config FEATURE_TELNET_TTYPE
        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
+         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
@@ -555,9 +740,9 @@ config TELNETD
        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
+         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
@@ -583,7 +768,7 @@ config TELNETD
                  mount -t devpts devpts /dev/pts
 
          You need to be sure that Busybox has LOGIN and
-         FEATURE_SUID enabled.  And finally, you should make
+         FEATURE_SUID enabled. And finally, you should make
          certain that Busybox has been installed setuid root:
 
                chown root.root /bin/busybox
@@ -603,39 +788,52 @@ config TFTP
        bool "tftp"
        default n
        help
-         This enables the Trivial File Transfer Protocol client program.  TFTP
+         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
+       depends on TFTP || TFTPD
        help
-         Add support for the GET command within the TFTP client.  This allows
+         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
+       depends on TFTP || TFTPD
        help
-         Add support for the PUT command within the TFTP client.  This allows
+         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 \"blocksize\" command"
+       bool "Enable \"blksize\" protocol option"
        default n
-       depends on TFTP
+       depends on TFTP || TFTPD
        help
-         Allow the client to specify the desired block size for transfers.
+         Allow tftp to specify block size, and tftpd to understand
+         "blksize" option.
 
-config DEBUG_TFTP
+config TFTP_DEBUG
        bool "Enable debug"
        default n
-       depends on TFTP
+       depends on TFTP || TFTPD
        help
-         Enable debug settings for tftp.  This is useful if you're running
+         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.
 
@@ -650,7 +848,7 @@ config FEATURE_TRACEROUTE_VERBOSE
        default n
        depends on TRACEROUTE
        help
-         Add some verbosity to traceroute.  This includes amongst other things
+         Add some verbosity to traceroute. This includes among other things
          hostnames and ICMP response types.
 
 config FEATURE_TRACEROUTE_SOURCE_ROUTE
@@ -666,10 +864,19 @@ config FEATURE_TRACEROUTE_USE_ICMP
        default n
        depends on TRACEROUTE
        help
-         Add feature to allow for ICMP ECHO instead of UDP datagrams.
+         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
@@ -716,4 +923,32 @@ config ZCIP
          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