2 # For a description of the syntax of this configuration file,
3 # see scripts/kbuild/config-language.txt.
6 menu "Networking Utilities"
11 bool "Enable IPv6 support"
14 Enable IPv6 support in busybox.
15 This adds IPv6 support in the networking applets.
17 config FEATURE_UNIX_LOCAL
18 bool "Enable Unix domain socket support (usually not needed)"
21 Enable Unix domain socket support in all busybox networking
22 applets. Address of the form local:/path/to/unix/socket
25 This extension is almost never used in real world usage.
26 You most likely want to say N.
28 config FEATURE_PREFER_IPV4_ADDRESS
29 bool "Prefer IPv4 addresses from DNS queries"
31 depends on FEATURE_IPV6
33 Use IPv4 address of network host if it has one.
35 If this option is off, the first returned address will be used.
36 This may cause problems when your DNS server is IPv6-capable and
37 is returning IPv6 host addresses too. If IPv6 address
38 precedes IPv4 one in DNS reply, busybox network applets
39 (e.g. wget) will use IPv6 address. On an IPv6-incapable host
40 or network applets will fail to connect to the host
43 config VERBOSE_RESOLUTION_ERRORS
44 bool "Verbose resolution errors"
46 depends on PLATFORM_LINUX #because of xsocket() in libbb/xfuncs_prinf.c
48 Enable if you are not satisfied with simplistic
49 "can't resolve 'hostname.com'" and want to know more.
50 This may increase size of your executable a bit.
55 depends on PLATFORM_LINUX
57 Manipulate the system ARP cache.
62 depends on PLATFORM_LINUX
64 Ping hosts by ARP packets.
69 depends on PLATFORM_LINUX
71 Manage ethernet bridges.
72 Supports addbr/delbr and addif/delif.
74 config FEATURE_BRCTL_FANCY
79 Add support for extended option like:
80 setageing, setfd, sethello, setmaxage,
81 setpathcost, setportprio, setbridgeprio,
83 This adds about 600 bytes.
85 config FEATURE_BRCTL_SHOW
86 bool "Support show, showmac and showstp"
88 depends on BRCTL && FEATURE_BRCTL_FANCY
90 Add support for option which prints the current config:
91 showmacs, showstp, show
97 Small and static DNS server daemon.
102 depends on PLATFORM_LINUX
104 Send a magic packet to wake up sleeping machines.
109 select FEATURE_SYSLOG
111 fakeidentd listens on the ident port and returns a predefined
112 fake value on any query.
118 simple FTP daemon. You have to run it via inetd.
120 config FEATURE_FTP_WRITE
121 bool "Enable upload commands"
125 Enable all kinds of FTP upload commands (-w option)
127 config FEATURE_FTPD_ACCEPT_BROKEN_LIST
128 bool "Enable workaround for RFC-violating clients"
132 Some ftp clients (among them KDE's Konqueror) issue illegal
133 "LIST -l" requests. This option works around such problems.
134 It might prevent you from listing files starting with "-" and
135 it increases the code size by ~40 bytes.
136 Most other ftp servers seem to behave similar to this.
142 Retrieve a remote file via FTP.
148 Store a remote file via FTP.
150 config FEATURE_FTPGETPUT_LONG_OPTIONS
151 bool "Enable long options in ftpget/ftpput"
153 depends on LONG_OPTS && (FTPGET || FTPPUT)
155 Support long options for the ftpget/ftpput applet.
161 Show or set the system's host name.
167 Serve web pages via an HTTP server.
169 config FEATURE_HTTPD_RANGES
170 bool "Support 'Ranges:' header"
174 Makes httpd emit "Accept-Ranges: bytes" header and understand
175 "Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted
176 downloads, seeking in multimedia players etc.
178 config FEATURE_HTTPD_USE_SENDFILE
179 bool "Use sendfile system call"
183 When enabled, httpd will use the kernel sendfile() function
184 instead of read/write loop.
186 config FEATURE_HTTPD_SETUID
187 bool "Enable -u <user> option"
191 This option allows the server to run as a specific user
192 rather than defaulting to the user that starts the server.
193 Use of this option requires special privileges to change to a
196 config FEATURE_HTTPD_BASIC_AUTH
197 bool "Enable Basic http Authentication"
201 Utilizes password settings from /etc/httpd.conf for basic
202 authentication on a per url basis.
204 config FEATURE_HTTPD_AUTH_MD5
205 bool "Support MD5 crypted passwords for http Authentication"
207 depends on FEATURE_HTTPD_BASIC_AUTH
209 Enables basic per URL authentication from /etc/httpd.conf
212 config FEATURE_HTTPD_CGI
213 bool "Support Common Gateway Interface (CGI)"
217 This option allows scripts and executables to be invoked
218 when specific URLs are requested.
220 config FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
221 bool "Support for running scripts through an interpreter"
223 depends on FEATURE_HTTPD_CGI
225 This option enables support for running scripts through an
226 interpreter. Turn this on if you want PHP scripts to work
227 properly. You need to supply an additional line in your httpd
229 *.php:/path/to/your/php
231 config FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
232 bool "Set REMOTE_PORT environment variable for CGI"
234 depends on FEATURE_HTTPD_CGI
236 Use of this option can assist scripts in generating
237 references that contain a unique port number.
239 config FEATURE_HTTPD_ENCODE_URL_STR
240 bool "Enable -e option (useful for CGIs written as shell scripts)"
244 This option allows html encoding of arbitrary strings for display
245 by the browser. Output goes to stdout.
246 For example, httpd -e "<Hello World>" produces
247 "<Hello World>".
249 config FEATURE_HTTPD_ERROR_PAGES
250 bool "Support for custom error pages"
254 This option allows you to define custom error pages in
255 the configuration file instead of the default HTTP status
256 error pages. For instance, if you add the line:
258 in the config file, the server will respond the specified
259 '/path/e404.html' file instead of the terse '404 NOT FOUND'
262 config FEATURE_HTTPD_PROXY
263 bool "Support for reverse proxy"
267 This option allows you to define URLs that will be forwarded
268 to another HTTP server. To setup add the following line to the
270 P:/url/:http://hostname[:port]/new/path/
271 Then a request to /url/myfile will be forwarded to
272 http://hostname[:port]/new/path/myfile.
277 depends on PLATFORM_LINUX
279 Ifconfig is used to configure the kernel-resident network interfaces.
281 config FEATURE_IFCONFIG_STATUS
282 bool "Enable status reporting output (+7k)"
286 If ifconfig is called with no arguments it will display the status
287 of the currently active interfaces.
289 config FEATURE_IFCONFIG_SLIP
290 bool "Enable slip-specific options \"keepalive\" and \"outfill\""
294 Allow "keepalive" and "outfill" support for SLIP. If you're not
295 planning on using serial lines, leave this unchecked.
297 config FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
298 bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
302 Allow the start address for shared memory, start address for I/O,
303 and/or the interrupt line used by the specified device.
305 config FEATURE_IFCONFIG_HW
306 bool "Enable option \"hw\" (ether only)"
310 Set the hardware address of this interface, if the device driver
311 supports this operation. Currently, we only support the 'ether'
314 config FEATURE_IFCONFIG_BROADCAST_PLUS
315 bool "Set the broadcast automatically"
319 Setting this will make ifconfig attempt to find the broadcast
320 automatically if the value '+' is used.
325 depends on PLATFORM_LINUX
327 Userspace application to bind several interfaces
328 to a logical interface (use with kernel bonding driver).
333 depends on PLATFORM_LINUX
335 Network interface plug detection daemon.
341 Activate or deactivate the specified interfaces. This applet makes
342 use of either "ifconfig" and "route" or the "ip" command to actually
343 configure network interfaces. Therefore, you will probably also want
344 to enable either IFCONFIG and ROUTE, or enable
345 FEATURE_IFUPDOWN_IP and the various IP options. Of
346 course you could use non-busybox versions of these programs, so
347 against my better judgement (since this will surely result in plenty
348 of support questions on the mailing list), I do not force you to
349 enable these additional options. It is up to you to supply either
350 "ifconfig", "route" and "run-parts" or the "ip" command, either
351 via busybox or via standalone utilities.
353 config IFUPDOWN_IFSTATE_PATH
354 string "Absolute path to ifstate file"
355 default "/var/run/ifstate"
358 ifupdown keeps state information in a file called ifstate.
359 Typically it is located in /var/run/ifstate, however
360 some distributions tend to put it in other places
361 (debian, for example, uses /etc/network/run/ifstate).
362 This config option defines location of ifstate.
364 config FEATURE_IFUPDOWN_IP
369 Use the iproute "ip" command to implement "ifup" and "ifdown", rather
370 than the default of using the older 'ifconfig' and 'route' utilities.
372 config FEATURE_IFUPDOWN_IP_BUILTIN
373 bool "Use busybox ip applet"
375 depends on FEATURE_IFUPDOWN_IP && PLATFORM_LINUX
377 select FEATURE_IP_ADDRESS
378 select FEATURE_IP_LINK
379 select FEATURE_IP_ROUTE
381 Use the busybox iproute "ip" applet to implement "ifupdown".
383 If left disabled, you must install the full-blown iproute2
384 utility or the "ifup" and "ifdown" applets will not work.
386 config FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
387 bool "Use busybox ifconfig and route applets"
389 depends on IFUPDOWN && !FEATURE_IFUPDOWN_IP
393 Use the busybox iproute "ifconfig" and "route" applets to
394 implement the "ifup" and "ifdown" utilities.
396 If left disabled, you must install the full-blown ifconfig
397 and route utilities, or the "ifup" and "ifdown" applets will not
400 config FEATURE_IFUPDOWN_IPV4
401 bool "Support for IPv4"
405 If you want ifup/ifdown to talk IPv4, leave this on.
407 config FEATURE_IFUPDOWN_IPV6
408 bool "Support for IPv6"
410 depends on IFUPDOWN && FEATURE_IPV6
412 If you need support for IPv6, turn this option on.
415 ###config FEATURE_IFUPDOWN_IPX
416 ### bool "Support for IPX"
418 ### depends on IFUPDOWN
420 ### If this option is selected you can use busybox to work with IPX
423 config FEATURE_IFUPDOWN_MAPPING
424 bool "Enable mapping support"
428 This enables support for the "mapping" stanza, unless you have
429 a weird network setup you don't need it.
431 config FEATURE_IFUPDOWN_EXTERNAL_DHCP
432 bool "Support for external dhcp clients"
436 This enables support for the external dhcp clients. Clients are
437 tried in the following order: dhcpcd, dhclient, pump and udhcpc.
438 Otherwise, if udhcpc applet is enabled, it is used.
439 Otherwise, ifup/ifdown will have no support for DHCP.
444 select FEATURE_SYSLOG
446 Internet superserver daemon
448 config FEATURE_INETD_SUPPORT_BUILTIN_ECHO
449 bool "Support echo service"
453 Echo received data internal inetd service
455 config FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
456 bool "Support discard service"
460 Internet /dev/null internal inetd service
462 config FEATURE_INETD_SUPPORT_BUILTIN_TIME
463 bool "Support time service"
467 Return 32 bit time since 1900 internal inetd service
469 config FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
470 bool "Support daytime service"
474 Return human-readable time internal inetd service
476 config FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
477 bool "Support chargen service"
481 Familiar character generator internal inetd service
483 config FEATURE_INETD_RPC
484 bool "Support RPC services"
487 select FEATURE_HAVE_RPC
489 Support Sun-RPC based services
494 depends on PLATFORM_LINUX
496 The "ip" applet is a TCP/IP interface configuration and routing
497 utility. You generally don't need "ip" to use busybox with
500 config FEATURE_IP_ADDRESS
505 Address manipulation support for the "ip" applet.
507 config FEATURE_IP_LINK
512 Configure network devices with "ip".
514 config FEATURE_IP_ROUTE
519 Add support for routing table management to "ip".
521 config FEATURE_IP_TUNNEL
526 Add support for tunneling commands to "ip".
528 config FEATURE_IP_RULE
533 Add support for rule commands to "ip".
535 config FEATURE_IP_SHORT_FORMS
536 bool "Support short forms of ip commands"
540 Also support short-form of ip <OBJECT> commands:
544 ip tunnel -> iptunnel
547 Say N unless you desparately need the short form of the ip
550 config FEATURE_IP_RARE_PROTOCOLS
551 bool "Support displaying rarely used link types"
555 If you are not going to use links of type "frad", "econet",
556 "bif" etc, you probably don't need to enable this.
557 Ethernet, wireless, infrared, ppp/slip, ip tunnelling
558 link types are supported without this option selected.
563 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ADDRESS
568 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_LINK
573 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ROUTE
578 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_TUNNEL
583 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_RULE
589 ipcalc takes an IP address and netmask and calculates the
590 resulting broadcast, network, and host range.
592 config FEATURE_IPCALC_FANCY
593 bool "Fancy IPCALC, more options, adds 1 kbyte"
597 Adds the options hostname, prefix and silent to the output of
600 config FEATURE_IPCALC_LONG_OPTIONS
601 bool "Enable long options"
603 depends on IPCALC && LONG_OPTS
605 Support long options for the ipcalc applet.
610 depends on PLATFORM_LINUX
611 select FEATURE_SYSLOG
613 nameif is used to rename network interface by its MAC address.
614 Renamed interfaces MUST be in the down state.
615 It is possible to use a file (default: /etc/mactab)
616 with list of new interface names and MACs.
617 Maximum interface name length: IFNAMSIZ = 16
618 File fields are separated by space or tab.
621 new_interface_name XX:XX:XX:XX:XX:XX
623 config FEATURE_NAMEIF_EXTENDED
624 bool "Extended nameif"
628 This extends the nameif syntax to support the bus_info and driver
629 checks. The syntax is compatible to the normal nameif.
631 new_interface_name driver=asix bus=usb-0000:00:08.2-3
632 new_interface_name bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5
633 new_interface_name mac=00:80:C8:38:91:B5
634 new_interface_name 00:80:C8:38:91:B5
639 depends on PLATFORM_LINUX
641 netstat prints information about the Linux networking subsystem.
643 config FEATURE_NETSTAT_WIDE
644 bool "Enable wide netstat output"
648 Add support for wide columns. Useful when displaying IPv6 addresses
651 config FEATURE_NETSTAT_PRG
652 bool "Enable PID/Program name output"
656 Add support for -p flag to print out PID and program name.
663 nslookup is a tool to query Internet name servers.
668 depends on PLATFORM_LINUX
670 The NTP client/server daemon.
672 config FEATURE_NTPD_SERVER
673 bool "Make ntpd usable as a NTP server"
677 Make ntpd usable as a NTP server. If you disable this option
678 ntpd will be usable only as a NTP client.
683 depends on PLATFORM_LINUX
685 ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
686 elicit an ICMP ECHO_RESPONSE from a host or gateway.
691 depends on FEATURE_IPV6 && PING
693 This will give you a ping that can talk IPv6.
695 config FEATURE_FANCY_PING
696 bool "Enable fancy ping output"
700 Make the output from the ping applet include statistics, and at the
701 same time provide full support for ICMP packets.
707 Simple network port scanner.
712 depends on PLATFORM_LINUX
714 Route displays or manipulates the kernel's IP routing tables.
719 depends on PLATFORM_LINUX
721 slattach is a small utility to attach network interfaces to serial
728 # show / manipulate traffic control settings
730 #config FEATURE_TC_INGRESS
737 depends on PLATFORM_LINUX
739 tcpsvd listens on a TCP port and runs a program for each new
746 Telnet is an interface to the TELNET protocol, but is also commonly
747 used to test other simple protocols.
749 config FEATURE_TELNET_TTYPE
750 bool "Pass TERM type to remote host"
754 Setting this option will forward the TERM environment variable to the
755 remote host you are connecting to. This is useful to make sure that
756 things like ANSI colors and other control sequences behave.
758 config FEATURE_TELNET_AUTOLOGIN
759 bool "Pass USER type to remote host"
763 Setting this option will forward the USER environment variable to the
764 remote host you are connecting to. This is useful when you need to
765 log into a machine without telling the username (autologin). This
766 option enables `-a' and `-l USER' arguments.
771 select FEATURE_SYSLOG
773 A daemon for the TELNET protocol, allowing you to log onto the host
774 running the daemon. Please keep in mind that the TELNET protocol
775 sends passwords in plain text. If you can't afford the space for an
776 SSH daemon and you trust your network, you may say 'y' here. As a
777 more secure alternative, you should seriously consider installing the
778 very small Dropbear SSH daemon instead:
779 http://matt.ucc.asn.au/dropbear/dropbear.html
781 Note that for busybox telnetd to work you need several things:
782 First of all, your kernel needs:
786 Next, you need a /dev/pts directory on your root filesystem:
789 drwxr-xr-x 2 root root 0 Sep 23 13:21 /dev/pts/
791 Next you need the pseudo terminal master multiplexer /dev/ptmx:
794 crw-rw-rw- 1 root tty 5, 2 Sep 23 13:55 /dev/ptmx
796 Any /dev/ttyp[0-9]* files you may have can be removed.
797 Next, you need to mount the devpts filesystem on /dev/pts using:
799 mount -t devpts devpts /dev/pts
801 You need to be sure that Busybox has LOGIN and
802 FEATURE_SUID enabled. And finally, you should make
803 certain that Busybox has been installed setuid root:
805 chown root.root /bin/busybox
806 chmod 4755 /bin/busybox
808 with all that done, telnetd _should_ work....
811 config FEATURE_TELNETD_STANDALONE
812 bool "Support standalone telnetd (not inetd only)"
816 Selecting this will make telnetd able to run standalone.
818 config FEATURE_TELNETD_INETD_WAIT
819 bool "Support -w SEC option (inetd wait mode)"
821 depends on FEATURE_TELNETD_STANDALONE
823 This option allows you to run telnetd in "inet wait" mode.
824 Example inetd.conf line (note "wait", not usual "nowait"):
826 telnet stream tcp wait root /bin/telnetd telnetd -w10
828 In this example, inetd passes _listening_ socket_ as fd 0
829 to telnetd when connection appears.
830 telnetd will wait for connections until all existing
831 connections are closed, and no new connections
832 appear during 10 seconds. Then it exits, and inetd continues
833 to listen for new connections.
835 This option is rarely used. "tcp nowait" is much more usual
836 way of running tcp services, including telnetd.
837 You most probably want to say N here.
843 This enables the Trivial File Transfer Protocol client program. TFTP
844 is usually used for simple, small transfers such as a root image
845 for a network-enabled bootloader.
851 This enables the Trivial File Transfer Protocol server program.
852 It expects that stdin is a datagram socket and a packet
853 is already pending on it. It will exit after one transfer.
854 In other words: it should be run from inetd in nowait mode,
855 or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
857 comment "Common options for tftp/tftpd"
858 depends on TFTP || TFTPD
860 config FEATURE_TFTP_GET
861 bool "Enable 'tftp get' and/or tftpd upload code"
863 depends on TFTP || TFTPD
865 Add support for the GET command within the TFTP client. This allows
866 a client to retrieve a file from a TFTP server.
867 Also enable upload support in tftpd, if tftpd is selected.
869 Note: this option does _not_ make tftpd capable of download
870 (the usual operation people need from it)!
872 config FEATURE_TFTP_PUT
873 bool "Enable 'tftp put' and/or tftpd download code"
875 depends on TFTP || TFTPD
877 Add support for the PUT command within the TFTP client. This allows
878 a client to transfer a file to a TFTP server.
879 Also enable download support in tftpd, if tftpd is selected.
881 config FEATURE_TFTP_BLOCKSIZE
882 bool "Enable 'blksize' and 'tsize' protocol options"
884 depends on TFTP || TFTPD
886 Allow tftp to specify block size, and tftpd to understand
887 "blksize" and "tsize" options.
889 config FEATURE_TFTP_PROGRESS_BAR
890 bool "Enable tftp progress meter"
892 depends on TFTP && FEATURE_TFTP_BLOCKSIZE
899 depends on TFTP || TFTPD
901 Make tftp[d] print debugging messages on stderr.
902 This is useful if you are diagnosing a bug in tftp[d].
907 depends on PLATFORM_LINUX
909 Utility to trace the route of IP packets.
914 depends on FEATURE_IPV6 && TRACEROUTE
916 Utility to trace the route of IPv6 packets.
918 config FEATURE_TRACEROUTE_VERBOSE
919 bool "Enable verbose output"
921 depends on TRACEROUTE
923 Add some verbosity to traceroute. This includes among other things
924 hostnames and ICMP response types.
926 config FEATURE_TRACEROUTE_SOURCE_ROUTE
927 bool "Enable loose source route"
929 depends on TRACEROUTE
931 Add option to specify a loose source route gateway
934 config FEATURE_TRACEROUTE_USE_ICMP
935 bool "Use ICMP instead of UDP"
937 depends on TRACEROUTE
939 Add option -I to use ICMP ECHO instead of UDP datagrams.
944 depends on PLATFORM_LINUX
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...)
970 depends on PLATFORM_LINUX
972 udpsvd listens on an UDP port and runs a program for each new
978 depends on PLATFORM_LINUX
980 Creates, removes, and configures VLAN interfaces
986 wget is a utility for non-interactive download of files from HTTP,
987 HTTPS, and FTP servers.
989 config FEATURE_WGET_STATUSBAR
990 bool "Enable a nifty process meter (+2k)"
994 Enable the transfer progress bar for wget transfers.
996 config FEATURE_WGET_AUTHENTICATION
997 bool "Enable HTTP authentication"
1001 Support authenticated HTTP transfers.
1003 config FEATURE_WGET_LONG_OPTIONS
1004 bool "Enable long options"
1006 depends on WGET && LONG_OPTS
1008 Support long options for the wget applet.
1013 depends on PLATFORM_LINUX
1014 select FEATURE_SYSLOG
1016 ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
1017 It's a daemon that allocates and defends a dynamically assigned
1018 address on the 169.254/16 network, requiring no system administrator.
1020 See http://www.zeroconf.org for further details, and "zcip.script"
1021 in the busybox examples.