#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#

menu "Networking Utilities"

config CONFIG_FEATURE_IPV6
	bool "Enable IPv6 support"
	default n
	help
	  Enable IPv6 support to busybox. This makes applets that talk IP
	  able to work with IPv6.

config CONFIG_ARPING
	bool "arping"
	default n
	help
	  Ping hosts by ARP packets

config CONFIG_DNSD
	bool "dnsd"
	default n
	help
	  Small and static DNS server deamon. 

config CONFIG_ETHER_WAKE
	bool "ether-wake"
	default n
	help
	  Send a magic packet to wake up sleeping machines.

config CONFIG_FAKEIDENTD
	bool "fakeidentd"
	default n
	help
	  fakeidentd listens to the ident port and returns a set fake
	  value whatever it gets.

config CONFIG_FTPGET
	bool "ftpget"
	default n
	help
	  Retrieve a remote file via FTP.

config CONFIG_FTPPUT
	bool "ftpput"
	default n
	help
	  Store a remote file via FTP.

config CONFIG_HOSTNAME
	bool "hostname"
	default n
	help
	  Show or set the system's host name

config CONFIG_HTTPD
	bool "httpd"
	default n
	help
	  Serve web pages via an HTTP server.

config CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY
	bool "  Support using httpd only from inetd"
	default n
	depends on CONFIG_HTTPD
	help
	  This option disables uid and port options for the httpd applet
	  but requires inetd server daemon.

config CONFIG_FEATURE_HTTPD_BASIC_AUTH
	bool "  Enable Basic http Authentication"
	default y
	depends on CONFIG_HTTPD
	help
	  Utilizes password settings from /etc/httpd.conf for basic
	  authentication on a per url basis.

config CONFIG_FEATURE_HTTPD_AUTH_MD5
	bool "  Support MD5 crypted passwords for http Authentication"
	default n
	depends on CONFIG_FEATURE_HTTPD_BASIC_AUTH
	help
	  Enables basic per url authentication from /etc/httpd.conf
	  using md5 passwords.

if !CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY
config CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
	bool "  Support reloading the global config file using hup signal"
	default n
	depends on CONFIG_HTTPD
	help
	  This option enables processing of SIGHUP to reload cached
	  configuration settings.

config CONFIG_FEATURE_HTTPD_SETUID
	bool "  Enable support -u <user> option"
	default n
	depends on 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.
endif

config CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES
	bool "  Support loading additional MIME types at run-time"
	default n
	depends on CONFIG_HTTPD
	help
	  This option enables support for additional MIME types at
	  run-time to be specified in the configuration file.

config CONFIG_FEATURE_HTTPD_CGI
	bool "  Support Common Gateway Interface (CGI)"
	default y
	depends on CONFIG_HTTPD
	help
	  This option allows scripts and executables to be invoked
	  when specific urls are requested.

config CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
	bool "  Enable support for running scripts through an interpreter"
	default n
	depends on 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 addition line in your httpd 
	  config file:
	  *.php:/path/to/your/php

config CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
	bool "  Support the REMOTE_PORT environment variable for CGI"
	default n
	depends on CONFIG_FEATURE_HTTPD_CGI
	help
	  Use of this option can assist scripts in generating
	  references that contain a unique port number.

config CONFIG_FEATURE_HTTPD_ENCODE_URL_STR
	bool "  Enable the -e option for shell script CGI simplification."
	default y
	depends on CONFIG_HTTPD
	help
	  After set, this option allows html encoding arbitrary
	  strings for display of the browser.  Output goes to stdout.
	  For example, httpd -e "<Hello World>" as
	  "&#60Hello&#32World&#62".

config CONFIG_IFCONFIG
	bool "ifconfig"
	default n
	help
	  Ifconfig is used to configure the kernel-resident network interfaces.

config CONFIG_FEATURE_IFCONFIG_STATUS
	bool "  Enable status reporting output (+7k)"
	default y
	depends on CONFIG_IFCONFIG
	help
	  If ifconfig is called with no arguments it will display the status
	  of the currently active interfaces.

config CONFIG_FEATURE_IFCONFIG_SLIP
	bool "  Enable slip-specific options \"keepalive\" and \"outfill\""
	default n
	depends on CONFIG_IFCONFIG
	help
	  Allow "keepalive" and "outfill" support for SLIP.  If you're not
	  planning on using serial lines, leave this unchecked.

config CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
	bool "  Enable options \"mem_start\", \"io_addr\", and \"irq\""
	default n
	depends on 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 CONFIG_FEATURE_IFCONFIG_HW
	bool "  Enable option \"hw\" (ether only)"
	default y
	depends on 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 CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS
	bool "  Set the broadcast automatically"
	default n
	depends on CONFIG_IFCONFIG
	help
	  Setting this will make ifconfig attempt to find the broadcast
	  automatically if the value '+' is used.

config CONFIG_IFUPDOWN
	bool "ifupdown"
	default n
	select CONFIG_RUN_PARTS
	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 CONFIG_IFCONFIG and CONFIG_ROUTE, or enable
	  CONFIG_FEATURE_IFUPDOWN_IP and the various CONFIG_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.

config CONFIG_FEATURE_IFUPDOWN_IP
	bool "  Use ip applet"
	default n
	depends on 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 CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
	bool "  Use busybox ip applet"
	default y
	depends on CONFIG_FEATURE_IFUPDOWN_IP
	select CONFIG_IP
	select CONFIG_FEATURE_IP_ADDRESS
	select CONFIG_FEATURE_IP_LINK
	select CONFIG_FEATURE_IP_ROUTE
	help
	  Use the busybox iproute "ip" applet to implement "ifupdown".

	  If leave this disabled, you must install the full-blown iproute2
	  utility or the  "ifup" and "ifdown" applets will not work.

config CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
	bool "  Use busybox ifconfig and route applets"
	default y
	depends on CONFIG_IFUPDOWN && !CONFIG_FEATURE_IFUPDOWN_IP
	select CONFIG_IFCONFIG
	select CONFIG_ROUTE
	help
	  Use the busybox iproute "ifconfig" and "route" applets to
	  implement the "ifup" and "ifdown" utilities.

	  If leave this disabled, you must install the full-blown ifconfig
	  and route utilities, or the  "ifup" and "ifdown" applets will not
	  work.

config CONFIG_FEATURE_IFUPDOWN_IPV4
	bool "  Enable support for IPv4"
	default y
	depends on CONFIG_IFUPDOWN
	help
	  If you want busybox to talk IPv4, leave this on.

config CONFIG_FEATURE_IFUPDOWN_IPV6
	bool "  Enable support for IPv6"
	default n
	depends on CONFIG_IFUPDOWN
	help
	  If you need support for IPv6, turn this option on.

config CONFIG_FEATURE_IFUPDOWN_IPX
	bool "  Enable support for IPX"
	default n
	depends on CONFIG_IFUPDOWN
	help
	  If this option is selected you can use busybox to work with IPX
	  networks.

config CONFIG_FEATURE_IFUPDOWN_MAPPING
	bool "  Enable mapping support"
	default n
	depends on CONFIG_IFUPDOWN
	help
	  This enables support for the "mapping" stanza, unless you have
	  a weird network setup you don't need it.

config CONFIG_INETD
	bool "inetd"
	default n
	help
	  Internet superserver daemon

config CONFIG_FEATURE_INETD_SUPPORT_BILTIN_ECHO
	bool "  Support echo service"
	default y
	depends on CONFIG_INETD
	help
	  Echo received data internal inetd service

config CONFIG_FEATURE_INETD_SUPPORT_BILTIN_DISCARD
	bool "  Support discard service"
	default y
	depends on CONFIG_INETD
	help
	  Internet /dev/null internal inetd service

config CONFIG_FEATURE_INETD_SUPPORT_BILTIN_TIME
	bool "  Support time service"
	default y
	depends on CONFIG_INETD
	help
	  Return 32 bit time since 1900 internal inetd service

config CONFIG_FEATURE_INETD_SUPPORT_BILTIN_DAYTIME
	bool "  Support daytime service"
	default y
	depends on CONFIG_INETD
	help
	  Return human-readable time internal inetd service

config CONFIG_FEATURE_INETD_SUPPORT_BILTIN_CHARGEN
	bool "  Support chargen service"
	default y
	depends on CONFIG_INETD
	help
	  Familiar character generator internal inetd service

config CONFIG_FEATURE_INETD_RPC
	bool "  Support RPC services"
	default n
	depends on CONFIG_INETD
	help
	  Suuport Sun-RPC based services


config 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.

if CONFIG_IP && CONFIG_IPADDR
	config CONFIG_FEATURE_IP_ADDRESS
		default y
	comment "  address (forced enabled for ipaddr)"
endif
if ! (CONFIG_IP && CONFIG_IPADDR)
	config CONFIG_FEATURE_IP_ADDRESS
		bool "  address"
		default y
		depends on CONFIG_IP
		help
		  Address manipulation support for the "ip" applet.
endif

if CONFIG_IP && CONFIG_IPLINK
	config CONFIG_FEATURE_IP_LINK
		default y
	comment "  link (forced enabled for iplink)"
endif
if !(CONFIG_IP && CONFIG_IPLINK)
	config CONFIG_FEATURE_IP_LINK
		bool "  link"
		default y
		depends on CONFIG_IP
		help
		  Configure network devices with "ip".
endif

if CONFIG_IP && CONFIG_IPROUTE
	config CONFIG_FEATURE_IP_ROUTE
		default y
	comment "  route (forced enabled for iproute)"
endif
if !(CONFIG_IP && CONFIG_IPROUTE)
	config CONFIG_FEATURE_IP_ROUTE
		bool "  route"
		default y
		depends on CONFIG_IP
		help
		  Add support for routing table management to "ip".
endif

if CONFIG_IP && CONFIG_IPTUNNEL
	config CONFIG_FEATURE_IP_TUNNEL
		default y
	comment "  tunnel (forced enabled for iptunnel)"
endif
if !(CONFIG_IP && CONFIG_IPTUNNEL)
	config CONFIG_FEATURE_IP_TUNNEL
		bool "  tunnel"
		default n
		depends on CONFIG_IP
		help
		  Add support for tunneling commands to "ip".
endif

config CONFIG_IPCALC
	bool "ipcalc"
	default n
	help
	  ipcalc takes an IP address and netmask and calculates the
	  resulting broadcast, network, and host range.

config CONFIG_FEATURE_IPCALC_FANCY
	bool "  Fancy IPCALC, more options, adds 1 kbyte"
	default y
	depends on CONFIG_IPCALC
	help
	  Adds the options hostname, prefix and silent to the output of "ipcalc".

config CONFIG_IPADDR
	bool "ipaddr"
	default n
	help
	  Equivalent to selecting address support to "ip", above.

config CONFIG_IPLINK
	bool "iplink"
	default n
	help
	  Equivalent to selecting link support to "ip", above.

config CONFIG_IPROUTE
	bool "iproute"
	default n
	help
	  Equivalent to selecting route support to "ip", above.

config CONFIG_IPTUNNEL
	bool "iptunnel"
	default n
	help
	  Equivalent to selecting tunnel support to "ip", above.

config CONFIG_NAMEIF
	bool "nameif"
	default n
	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: IF_NAMESIZE = 16
	  File fields are separated by space or tab.
	  File format:
	  # Comment
	  new_interface_name    XX:XX:XX:XX:XX:XX

config CONFIG_NC
	bool "nc"
	default n
	help
	  A simple Unix utility which reads and writes data across network
	  connections.

config CONFIG_NC_GAPING_SECURITY_HOLE
	bool "gaping security hole"
	default n
	depends on CONFIG_NC
	help
	  Add support for executing a program after making or receiving a
	  successful connection (-e option).

config CONFIG_NETSTAT
	bool "netstat"
	default n
	help
	  netstat prints information about the Linux networking subsystem.

config CONFIG_NSLOOKUP
	bool "nslookup"
	default n
	help
	  nslookup is a tool to query Internet name servers.

config 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 CONFIG_FEATURE_FANCY_PING
	bool "  Enable fancy ping output"
	default y
	depends on CONFIG_PING
	help
	  Make the output from the ping applet include statistics, and at the
	  same time provide full support for ICMP packets.

config CONFIG_PING6
	bool "ping6"
	default n
	depends on CONFIG_FEATURE_IPV6
	help
	  This will give you a ping that can talk IPv6.

config CONFIG_FEATURE_FANCY_PING6
	bool "  Enable fancy ping6 output"
	default y
	depends on CONFIG_PING6
	help
	  Make the output from the ping6 applet include statistics, and at the
	  same time provide full support for ICMP packets.

config CONFIG_ROUTE
	bool "route"
	default n
	help
	  Route displays or manipulates the kernel's IP routing tables.

config 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 CONFIG_FEATURE_TELNET_TTYPE
	bool "  Pass TERM type to remote host"
	default y
	depends on 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 CONFIG_FEATURE_TELNET_AUTOLOGIN
	bool "  Pass USER type to remote host"
	default y
	depends on 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 CONFIG_TELNETD
	bool "telnetd"
	default n
	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:
		  CONFIG_UNIX98_PTYS=y
		  CONFIG_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 CONFIG_LOGIN and
	  CONFIG_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 CONFIG_FEATURE_TELNETD_INETD
	bool "  Support call from inetd only"
	default n
	depends on CONFIG_TELNETD
	help
	  Selecting this will make telnetd only callable from inetd,
	  removing the standalone support.

config 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 CONFIG_FEATURE_TFTP_GET
	bool "  Enable \"get\" command"
	default y
	depends on CONFIG_TFTP
	help
	  Add support for the GET command within the TFTP client.  This allows
	  a client to retrieve a file from a TFTP server.

config CONFIG_FEATURE_TFTP_PUT
	bool "  Enable \"put\" command"
	default y
	depends on CONFIG_TFTP
	help
	  Add support for the PUT command within the TFTP client.  This allows
	  a client to transfer a file to a TFTP server.

config CONFIG_FEATURE_TFTP_BLOCKSIZE
	bool "  Enable \"blocksize\" command"
	default n
	depends on CONFIG_TFTP
	help
	  Allow the client to specify the desired block size for transfers.

config CONFIG_FEATURE_TFTP_DEBUG
	bool "  Enable debug"
	default n
	depends on CONFIG_TFTP
	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 CONFIG_TRACEROUTE
	bool "traceroute"
	default n
	help
	  Utility to trace the route of IP packets

config CONFIG_FEATURE_TRACEROUTE_VERBOSE
	bool "  Enable verbose output"
	default n
	depends on CONFIG_TRACEROUTE
	help
	  Add some verbosity to traceroute.  This includes amongst other things
	  hostnames and ICMP response types.

config CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
	bool "  Enable loose source route"
	default n
	depends on CONFIG_TRACEROUTE
	help
	  Add option to specify a loose source route gateway
	  (8 maximum).

config CONFIG_FEATURE_TRACEROUTE_USE_ICMP
	bool "  Use ICMP instead of UDP"
	default n
	depends on CONFIG_TRACEROUTE
	help
	  Add feature to allow for ICMP ECHO instead of UDP datagrams.


config CONFIG_VCONFIG
	bool "vconfig"
	default n
	help
	  Creates, removes, and configures VLAN interfaces

config CONFIG_WGET
	bool "wget"
	default n
	help
	  wget is a utility for non-interactive download of files from HTTP,
	  HTTPS, and FTP servers.

config CONFIG_FEATURE_WGET_STATUSBAR
	bool "  Enable a nifty process meter (+2k)"
	default y
	depends on CONFIG_WGET
	help
	  Enable the transfer progress bar for wget transfers.

config CONFIG_FEATURE_WGET_AUTHENTICATION
	bool "  Enable HTTP authentication"
	default y
	depends on CONFIG_WGET
	help
	  Support authenticated HTTP transfers.

config CONFIG_FEATURE_WGET_IP6_LITERAL
	bool "  Enable IPv6 literal addresses"
	default y
	depends on CONFIG_WGET
	help
	  Support IPv6 address literal notation in URLs.

source networking/udhcp/Config.in

config CONFIG_ZCIP
	bool "zcip"
	default n
	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

