2 # For a description of the syntax of this configuration file,
3 # see scripts/kbuild/config-language.txt.
6 menu "Networking Utilities"
9 bool "Enable IPv6 support"
12 Enable IPv6 support in busybox.
13 This adds IPv6 support in the networking applets.
15 config FEATURE_UNIX_LOCAL
16 bool "Enable Unix domain socket support (usually not needed)"
19 Enable Unix domain socket support in all busybox networking
20 applets. Address of the form local:/path/to/unix/socket
23 This extension is almost never used in real world usage.
24 You most likely want to say N.
26 config FEATURE_PREFER_IPV4_ADDRESS
27 bool "Prefer IPv4 addresses from DNS queries"
29 depends on FEATURE_IPV6
31 Use IPv4 address of network host if it has one.
33 If this option is off, the first returned address will be used.
34 This may cause problems when your DNS server is IPv6-capable and
35 is returning IPv6 host addresses too. If IPv6 address
36 precedes IPv4 one in DNS reply, busybox network applets
37 (e.g. wget) will use IPv6 address. On an IPv6-incapable host
38 or network applets will fail to connect to the host
41 config VERBOSE_RESOLUTION_ERRORS
42 bool "Verbose resolution errors"
45 Enable if you are not satisfied with simplistic
46 "can't resolve 'hostname.com'" and want to know more.
47 This may increase size of your executable a bit.
53 Manipulate the system ARP cache.
59 Ping hosts by ARP packets.
65 Manage ethernet bridges.
66 Supports addbr/delbr and addif/delif.
68 config FEATURE_BRCTL_FANCY
73 Add support for extended option like:
74 setageing, setfd, sethello, setmaxage,
75 setpathcost, setportprio, setbridgeprio,
77 This adds about 600 bytes.
79 config FEATURE_BRCTL_SHOW
80 bool "Support show, showmac and showstp"
82 depends on BRCTL && FEATURE_BRCTL_FANCY
84 Add support for option which prints the current config:
85 showmacs, showstp, show
91 Small and static DNS server daemon.
97 Send a magic packet to wake up sleeping machines.
102 select FEATURE_SYSLOG
104 fakeidentd listens on the ident port and returns a predefined
105 fake value on any query.
111 simple FTP daemon. You have to run it via inetd.
113 config FEATURE_FTP_WRITE
114 bool "Enable upload commands"
118 Enable all kinds of FTP upload commands (-w option)
120 config FEATURE_FTPD_ACCEPT_BROKEN_LIST
121 bool "Enable workaround for RFC-violating clients"
125 Some ftp clients (among them KDE's Konqueror) issue illegal
126 "LIST -l" requests. This option works around such problems.
127 It might prevent you from listing files starting with "-" and
128 it increases the code size by ~40 bytes.
129 Most other ftp servers seem to behave similar to this.
135 Retrieve a remote file via FTP.
141 Store a remote file via FTP.
143 config FEATURE_FTPGETPUT_LONG_OPTIONS
144 bool "Enable long options in ftpget/ftpput"
146 depends on LONG_OPTS && (FTPGET || FTPPUT)
148 Support long options for the ftpget/ftpput applet.
154 Show or set the system's host name.
160 Serve web pages via an HTTP server.
162 config FEATURE_HTTPD_RANGES
163 bool "Support 'Ranges:' header"
167 Makes httpd emit "Accept-Ranges: bytes" header and understand
168 "Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted
169 downloads, seeking in multimedia players etc.
171 config FEATURE_HTTPD_USE_SENDFILE
172 bool "Use sendfile system call"
176 When enabled, httpd will use the kernel sendfile() function
177 instead of read/write loop.
179 config FEATURE_HTTPD_SETUID
180 bool "Enable -u <user> option"
184 This option allows the server to run as a specific user
185 rather than defaulting to the user that starts the server.
186 Use of this option requires special privileges to change to a
189 config FEATURE_HTTPD_BASIC_AUTH
190 bool "Enable Basic http Authentication"
194 Utilizes password settings from /etc/httpd.conf for basic
195 authentication on a per url basis.
197 config FEATURE_HTTPD_AUTH_MD5
198 bool "Support MD5 crypted passwords for http Authentication"
200 depends on FEATURE_HTTPD_BASIC_AUTH
202 Enables basic per URL authentication from /etc/httpd.conf
205 config FEATURE_HTTPD_CGI
206 bool "Support Common Gateway Interface (CGI)"
210 This option allows scripts and executables to be invoked
211 when specific URLs are requested.
213 config FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
214 bool "Support for running scripts through an interpreter"
216 depends on FEATURE_HTTPD_CGI
218 This option enables support for running scripts through an
219 interpreter. Turn this on if you want PHP scripts to work
220 properly. You need to supply an additional line in your httpd
222 *.php:/path/to/your/php
224 config FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
225 bool "Set REMOTE_PORT environment variable for CGI"
227 depends on FEATURE_HTTPD_CGI
229 Use of this option can assist scripts in generating
230 references that contain a unique port number.
232 config FEATURE_HTTPD_ENCODE_URL_STR
233 bool "Enable -e option (useful for CGIs written as shell scripts)"
237 This option allows html encoding of arbitrary strings for display
238 by the browser. Output goes to stdout.
239 For example, httpd -e "<Hello World>" produces
240 "<Hello World>".
242 config FEATURE_HTTPD_ERROR_PAGES
243 bool "Support for custom error pages"
247 This option allows you to define custom error pages in
248 the configuration file instead of the default HTTP status
249 error pages. For instance, if you add the line:
251 in the config file, the server will respond the specified
252 '/path/e404.html' file instead of the terse '404 NOT FOUND'
255 config FEATURE_HTTPD_PROXY
256 bool "Support for reverse proxy"
260 This option allows you to define URLs that will be forwarded
261 to another HTTP server. To setup add the following line to the
263 P:/url/:http://hostname[:port]/new/path/
264 Then a request to /url/myfile will be forwarded to
265 http://hostname[:port]/new/path/myfile.
271 Ifconfig is used to configure the kernel-resident network interfaces.
273 config FEATURE_IFCONFIG_STATUS
274 bool "Enable status reporting output (+7k)"
278 If ifconfig is called with no arguments it will display the status
279 of the currently active interfaces.
281 config FEATURE_IFCONFIG_SLIP
282 bool "Enable slip-specific options \"keepalive\" and \"outfill\""
286 Allow "keepalive" and "outfill" support for SLIP. If you're not
287 planning on using serial lines, leave this unchecked.
289 config FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
290 bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
294 Allow the start address for shared memory, start address for I/O,
295 and/or the interrupt line used by the specified device.
297 config FEATURE_IFCONFIG_HW
298 bool "Enable option \"hw\" (ether only)"
302 Set the hardware address of this interface, if the device driver
303 supports this operation. Currently, we only support the 'ether'
306 config FEATURE_IFCONFIG_BROADCAST_PLUS
307 bool "Set the broadcast automatically"
311 Setting this will make ifconfig attempt to find the broadcast
312 automatically if the value '+' is used.
318 Userspace application to bind several interfaces
319 to a logical interface (use with kernel bonding driver).
325 Network interface plug detection daemon.
331 Activate or deactivate the specified interfaces. This applet makes
332 use of either "ifconfig" and "route" or the "ip" command to actually
333 configure network interfaces. Therefore, you will probably also want
334 to enable either IFCONFIG and ROUTE, or enable
335 FEATURE_IFUPDOWN_IP and the various IP options. Of
336 course you could use non-busybox versions of these programs, so
337 against my better judgement (since this will surely result in plenty
338 of support questions on the mailing list), I do not force you to
339 enable these additional options. It is up to you to supply either
340 "ifconfig", "route" and "run-parts" or the "ip" command, either
341 via busybox or via standalone utilities.
343 config IFUPDOWN_IFSTATE_PATH
344 string "Absolute path to ifstate file"
345 default "/var/run/ifstate"
348 ifupdown keeps state information in a file called ifstate.
349 Typically it is located in /var/run/ifstate, however
350 some distributions tend to put it in other places
351 (debian, for example, uses /etc/network/run/ifstate).
352 This config option defines location of ifstate.
354 config FEATURE_IFUPDOWN_IP
359 Use the iproute "ip" command to implement "ifup" and "ifdown", rather
360 than the default of using the older 'ifconfig' and 'route' utilities.
362 config FEATURE_IFUPDOWN_IP_BUILTIN
363 bool "Use busybox ip applet"
365 depends on FEATURE_IFUPDOWN_IP
367 select FEATURE_IP_ADDRESS
368 select FEATURE_IP_LINK
369 select FEATURE_IP_ROUTE
371 Use the busybox iproute "ip" applet to implement "ifupdown".
373 If left disabled, you must install the full-blown iproute2
374 utility or the "ifup" and "ifdown" applets will not work.
376 config FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
377 bool "Use busybox ifconfig and route applets"
379 depends on IFUPDOWN && !FEATURE_IFUPDOWN_IP
383 Use the busybox iproute "ifconfig" and "route" applets to
384 implement the "ifup" and "ifdown" utilities.
386 If left disabled, you must install the full-blown ifconfig
387 and route utilities, or the "ifup" and "ifdown" applets will not
390 config FEATURE_IFUPDOWN_IPV4
391 bool "Support for IPv4"
395 If you want ifup/ifdown to talk IPv4, leave this on.
397 config FEATURE_IFUPDOWN_IPV6
398 bool "Support for IPv6"
400 depends on IFUPDOWN && FEATURE_IPV6
402 If you need support for IPv6, turn this option on.
405 ###config FEATURE_IFUPDOWN_IPX
406 ### bool "Support for IPX"
408 ### depends on IFUPDOWN
410 ### If this option is selected you can use busybox to work with IPX
413 config FEATURE_IFUPDOWN_MAPPING
414 bool "Enable mapping support"
418 This enables support for the "mapping" stanza, unless you have
419 a weird network setup you don't need it.
421 config FEATURE_IFUPDOWN_EXTERNAL_DHCP
422 bool "Support for external dhcp clients"
426 This enables support for the external dhcp clients. Clients are
427 tried in the following order: dhcpcd, dhclient, pump and udhcpc.
428 Otherwise, if udhcpc applet is enabled, it is used.
429 Otherwise, ifup/ifdown will have no support for DHCP.
434 select FEATURE_SYSLOG
436 Internet superserver daemon
438 config FEATURE_INETD_SUPPORT_BUILTIN_ECHO
439 bool "Support echo service"
443 Echo received data internal inetd service
445 config FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
446 bool "Support discard service"
450 Internet /dev/null internal inetd service
452 config FEATURE_INETD_SUPPORT_BUILTIN_TIME
453 bool "Support time service"
457 Return 32 bit time since 1900 internal inetd service
459 config FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
460 bool "Support daytime service"
464 Return human-readable time internal inetd service
466 config FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
467 bool "Support chargen service"
471 Familiar character generator internal inetd service
473 config FEATURE_INETD_RPC
474 bool "Support RPC services"
477 select FEATURE_HAVE_RPC
479 Support Sun-RPC based services
485 The "ip" applet is a TCP/IP interface configuration and routing
486 utility. You generally don't need "ip" to use busybox with
489 config FEATURE_IP_ADDRESS
494 Address manipulation support for the "ip" applet.
496 config FEATURE_IP_LINK
501 Configure network devices with "ip".
503 config FEATURE_IP_ROUTE
508 Add support for routing table management to "ip".
510 config FEATURE_IP_TUNNEL
515 Add support for tunneling commands to "ip".
517 config FEATURE_IP_RULE
522 Add support for rule commands to "ip".
524 config FEATURE_IP_SHORT_FORMS
525 bool "Support short forms of ip commands"
529 Also support short-form of ip <OBJECT> commands:
533 ip tunnel -> iptunnel
536 Say N unless you desparately need the short form of the ip
539 config FEATURE_IP_RARE_PROTOCOLS
540 bool "Support displaying rarely used link types"
544 If you are not going to use links of type "frad", "econet",
545 "bif" etc, you probably don't need to enable this.
546 Ethernet, wireless, infrared, ppp/slip, ip tunnelling
547 link types are supported without this option selected.
552 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ADDRESS
557 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_LINK
562 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ROUTE
567 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_TUNNEL
572 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_RULE
578 ipcalc takes an IP address and netmask and calculates the
579 resulting broadcast, network, and host range.
581 config FEATURE_IPCALC_FANCY
582 bool "Fancy IPCALC, more options, adds 1 kbyte"
586 Adds the options hostname, prefix and silent to the output of
589 config FEATURE_IPCALC_LONG_OPTIONS
590 bool "Enable long options"
592 depends on IPCALC && LONG_OPTS
594 Support long options for the ipcalc applet.
599 select FEATURE_SYSLOG
601 nameif is used to rename network interface by its MAC address.
602 Renamed interfaces MUST be in the down state.
603 It is possible to use a file (default: /etc/mactab)
604 with list of new interface names and MACs.
605 Maximum interface name length: IFNAMSIZ = 16
606 File fields are separated by space or tab.
609 new_interface_name XX:XX:XX:XX:XX:XX
611 config FEATURE_NAMEIF_EXTENDED
612 bool "Extended nameif"
616 This extends the nameif syntax to support the bus_info and driver
617 checks. The syntax is compatible to the normal nameif.
619 new_interface_name driver=asix bus=usb-0000:00:08.2-3
620 new_interface_name bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5
621 new_interface_name mac=00:80:C8:38:91:B5
622 new_interface_name 00:80:C8:38:91:B5
628 A simple Unix utility which reads and writes data across network
632 bool "Netcat server options (-l)"
636 Allow netcat to act as a server.
639 bool "Netcat extensions (-eiw and filename)"
643 Add -e (support for executing the rest of the command line after
644 making or receiving a successful connection), -i (delay interval for
645 lines sent), -w (timeout for initial connection).
651 netstat prints information about the Linux networking subsystem.
653 config FEATURE_NETSTAT_WIDE
654 bool "Enable wide netstat output"
658 Add support for wide columns. Useful when displaying IPv6 addresses
661 config FEATURE_NETSTAT_PRG
662 bool "Enable PID/Program name output"
666 Add support for -p flag to print out PID and program name.
673 nslookup is a tool to query Internet name servers.
679 The NTP client/server daemon.
681 config FEATURE_NTPD_SERVER
682 bool "Make ntpd usable as a NTP server"
686 Make ntpd usable as a NTP server. If you disable this option
687 ntpd will be usable only as a NTP client.
693 ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
694 elicit an ICMP ECHO_RESPONSE from a host or gateway.
699 depends on FEATURE_IPV6 && PING
701 This will give you a ping that can talk IPv6.
703 config FEATURE_FANCY_PING
704 bool "Enable fancy ping output"
708 Make the output from the ping applet include statistics, and at the
709 same time provide full support for ICMP packets.
715 Simple network port scanner.
721 Route displays or manipulates the kernel's IP routing tables.
727 slattach is a small utility to attach network interfaces to serial
734 # show / manipulate traffic control settings
736 #config FEATURE_TC_INGRESS
744 tcpsvd listens on a TCP port and runs a program for each new
751 Telnet is an interface to the TELNET protocol, but is also commonly
752 used to test other simple protocols.
754 config FEATURE_TELNET_TTYPE
755 bool "Pass TERM type to remote host"
759 Setting this option will forward the TERM environment variable to the
760 remote host you are connecting to. This is useful to make sure that
761 things like ANSI colors and other control sequences behave.
763 config FEATURE_TELNET_AUTOLOGIN
764 bool "Pass USER type to remote host"
768 Setting this option will forward the USER environment variable to the
769 remote host you are connecting to. This is useful when you need to
770 log into a machine without telling the username (autologin). This
771 option enables `-a' and `-l USER' arguments.
776 select FEATURE_SYSLOG
778 A daemon for the TELNET protocol, allowing you to log onto the host
779 running the daemon. Please keep in mind that the TELNET protocol
780 sends passwords in plain text. If you can't afford the space for an
781 SSH daemon and you trust your network, you may say 'y' here. As a
782 more secure alternative, you should seriously consider installing the
783 very small Dropbear SSH daemon instead:
784 http://matt.ucc.asn.au/dropbear/dropbear.html
786 Note that for busybox telnetd to work you need several things:
787 First of all, your kernel needs:
791 Next, you need a /dev/pts directory on your root filesystem:
794 drwxr-xr-x 2 root root 0 Sep 23 13:21 /dev/pts/
796 Next you need the pseudo terminal master multiplexer /dev/ptmx:
799 crw-rw-rw- 1 root tty 5, 2 Sep 23 13:55 /dev/ptmx
801 Any /dev/ttyp[0-9]* files you may have can be removed.
802 Next, you need to mount the devpts filesystem on /dev/pts using:
804 mount -t devpts devpts /dev/pts
806 You need to be sure that Busybox has LOGIN and
807 FEATURE_SUID enabled. And finally, you should make
808 certain that Busybox has been installed setuid root:
810 chown root.root /bin/busybox
811 chmod 4755 /bin/busybox
813 with all that done, telnetd _should_ work....
816 config FEATURE_TELNETD_STANDALONE
817 bool "Support standalone telnetd (not inetd only)"
821 Selecting this will make telnetd able to run standalone.
823 config FEATURE_TELNETD_INETD_WAIT
824 bool "Support -w SEC option (inetd wait mode)"
826 depends on FEATURE_TELNETD_STANDALONE
828 This option allows you to run telnetd in "inet wait" mode.
829 Example inetd.conf line (note "wait", not usual "nowait"):
831 telnet stream tcp wait root /bin/telnetd telnetd -w10
833 In this example, inetd passes _listening_ socket_ as fd 0
834 to telnetd when connection appears.
835 telnetd will wait for connections until all existing
836 connections are closed, and no new connections
837 appear during 10 seconds. Then it exits, and inetd continues
838 to listen for new connections.
840 This option is rarely used. "tcp nowait" is much more usual
841 way of running tcp services, including telnetd.
842 You most probably want to say N here.
848 This enables the Trivial File Transfer Protocol client program. TFTP
849 is usually used for simple, small transfers such as a root image
850 for a network-enabled bootloader.
856 This enables the Trivial File Transfer Protocol server program.
857 It expects that stdin is a datagram socket and a packet
858 is already pending on it. It will exit after one transfer.
859 In other words: it should be run from inetd in nowait mode,
860 or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
862 config FEATURE_TFTP_GET
863 bool "Enable 'tftp get' and/or tftpd upload code"
865 depends on TFTP || TFTPD
867 Add support for the GET command within the TFTP client. This allows
868 a client to retrieve a file from a TFTP server.
869 Also enable upload support in tftpd, if tftpd is selected.
871 Note: this option does _not_ make tftpd capable of download
872 (the usual operation people need from it)!
874 config FEATURE_TFTP_PUT
875 bool "Enable 'tftp put' and/or tftpd download code"
877 depends on TFTP || TFTPD
879 Add support for the PUT command within the TFTP client. This allows
880 a client to transfer a file to a TFTP server.
881 Also enable download support in tftpd, if tftpd is selected.
883 config FEATURE_TFTP_BLOCKSIZE
884 bool "Enable 'blksize' and 'tsize' protocol options"
886 depends on TFTP || TFTPD
888 Allow tftp to specify block size, and tftpd to understand
889 "blksize" and "tsize" options.
891 config FEATURE_TFTP_PROGRESS_BAR
892 bool "Enable tftp progress meter"
894 depends on TFTP && FEATURE_TFTP_BLOCKSIZE
901 depends on TFTP || TFTPD
903 Make tftp[d] print debugging messages on stderr.
904 This is useful if you are diagnosing a bug in tftp[d].
910 Utility to trace the route of IP packets.
915 depends on FEATURE_IPV6 && TRACEROUTE
917 Utility to trace the route of IPv6 packets.
919 config FEATURE_TRACEROUTE_VERBOSE
920 bool "Enable verbose output"
922 depends on TRACEROUTE
924 Add some verbosity to traceroute. This includes among other things
925 hostnames and ICMP response types.
927 config FEATURE_TRACEROUTE_SOURCE_ROUTE
928 bool "Enable loose source route"
930 depends on TRACEROUTE
932 Add option to specify a loose source route gateway
935 config FEATURE_TRACEROUTE_USE_ICMP
936 bool "Use ICMP instead of UDP"
938 depends on TRACEROUTE
940 Add option -I to use ICMP ECHO instead of UDP datagrams.
946 tunctl creates or deletes tun devices.
948 config FEATURE_TUNCTL_UG
949 bool "Support owner:group assignment"
953 Allow to specify owner and group of newly created interface.
954 340 bytes of pure bloat. Say no here.
956 source networking/udhcp/Config.in
958 config IFUPDOWN_UDHCPC_CMD_OPTIONS
959 string "ifup udhcpc command line options"
961 depends on IFUPDOWN && UDHCPC
963 Command line options to pass to udhcpc from ifup.
964 Intended to alter options not available in /etc/network/interfaces.
965 (IE: --syslog --background etc...)
971 udpsvd listens on an UDP port and runs a program for each new
978 Creates, removes, and configures VLAN interfaces
984 wget is a utility for non-interactive download of files from HTTP,
985 HTTPS, and FTP servers.
987 config FEATURE_WGET_STATUSBAR
988 bool "Enable a nifty process meter (+2k)"
992 Enable the transfer progress bar for wget transfers.
994 config FEATURE_WGET_AUTHENTICATION
995 bool "Enable HTTP authentication"
999 Support authenticated HTTP transfers.
1001 config FEATURE_WGET_LONG_OPTIONS
1002 bool "Enable long options"
1004 depends on WGET && LONG_OPTS
1006 Support long options for the wget applet.
1011 select FEATURE_SYSLOG
1013 ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
1014 It's a daemon that allocates and defends a dynamically assigned
1015 address on the 169.254/16 network, requiring no system administrator.
1017 See http://www.zeroconf.org for further details, and "zcip.script"
1018 in the busybox examples.