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"
47 Enable if you are not satisfied with simplistic
48 "can't resolve 'hostname.com'" and want to know more.
49 This may increase size of your executable a bit.
56 Manipulate the system ARP cache.
63 Ping hosts by ARP packets.
70 Manage ethernet bridges.
71 Supports addbr/delbr and addif/delif.
73 config FEATURE_BRCTL_FANCY
78 Add support for extended option like:
79 setageing, setfd, sethello, setmaxage,
80 setpathcost, setportprio, setbridgeprio,
82 This adds about 600 bytes.
84 config FEATURE_BRCTL_SHOW
87 depends on BRCTL && FEATURE_BRCTL_FANCY
89 Add support for option which prints the current config:
96 Small and static DNS server daemon.
101 select PLATFORM_LINUX
103 Send a magic packet to wake up sleeping machines.
108 select FEATURE_SYSLOG
110 fakeidentd listens on the ident port and returns a predefined
111 fake value on any query.
117 simple FTP daemon. You have to run it via inetd.
119 config FEATURE_FTP_WRITE
120 bool "Enable upload commands"
124 Enable all kinds of FTP upload commands (-w option)
126 config FEATURE_FTPD_ACCEPT_BROKEN_LIST
127 bool "Enable workaround for RFC-violating clients"
131 Some ftp clients (among them KDE's Konqueror) issue illegal
132 "LIST -l" requests. This option works around such problems.
133 It might prevent you from listing files starting with "-" and
134 it increases the code size by ~40 bytes.
135 Most other ftp servers seem to behave similar to this.
137 config FEATURE_FTP_AUTHENTICATION
138 bool "Enable authentication"
142 Enable basic system login as seen in telnet etc.
148 Retrieve a remote file via FTP.
154 Store a remote file via FTP.
156 config FEATURE_FTPGETPUT_LONG_OPTIONS
157 bool "Enable long options in ftpget/ftpput"
159 depends on LONG_OPTS && (FTPGET || FTPPUT)
161 Support long options for the ftpget/ftpput applet.
167 Show or set the system's host name.
173 Serve web pages via an HTTP server.
175 config FEATURE_HTTPD_RANGES
176 bool "Support 'Ranges:' header"
180 Makes httpd emit "Accept-Ranges: bytes" header and understand
181 "Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted
182 downloads, seeking in multimedia players etc.
184 config FEATURE_HTTPD_SETUID
185 bool "Enable -u <user> option"
189 This option allows the server to run as a specific user
190 rather than defaulting to the user that starts the server.
191 Use of this option requires special privileges to change to a
194 config FEATURE_HTTPD_BASIC_AUTH
195 bool "Enable Basic http Authentication"
199 Utilizes password settings from /etc/httpd.conf for basic
200 authentication on a per url basis.
201 Example for httpd.conf file:
204 config FEATURE_HTTPD_AUTH_MD5
205 bool "Support MD5 crypted passwords for http Authentication"
207 depends on FEATURE_HTTPD_BASIC_AUTH
209 Enables encrypted passwords, and wildcard user/passwords
211 User '*' means 'any system user name is ok',
212 password of '*' means 'use system password for this user'
214 /adm:toor:$1$P/eKnWXS$aI1aPGxT.dJD5SzqAKWrF0
218 config FEATURE_HTTPD_CGI
219 bool "Support Common Gateway Interface (CGI)"
223 This option allows scripts and executables to be invoked
224 when specific URLs are requested.
226 config FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
227 bool "Support for running scripts through an interpreter"
229 depends on FEATURE_HTTPD_CGI
231 This option enables support for running scripts through an
232 interpreter. Turn this on if you want PHP scripts to work
233 properly. You need to supply an additional line in your
235 *.php:/path/to/your/php
237 config FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
238 bool "Set REMOTE_PORT environment variable for CGI"
240 depends on FEATURE_HTTPD_CGI
242 Use of this option can assist scripts in generating
243 references that contain a unique port number.
245 config FEATURE_HTTPD_ENCODE_URL_STR
246 bool "Enable -e option (useful for CGIs written as shell scripts)"
250 This option allows html encoding of arbitrary strings for display
251 by the browser. Output goes to stdout.
252 For example, httpd -e "<Hello World>" produces
253 "<Hello World>".
255 config FEATURE_HTTPD_ERROR_PAGES
256 bool "Support for custom error pages"
260 This option allows you to define custom error pages in
261 the configuration file instead of the default HTTP status
262 error pages. For instance, if you add the line:
264 in the config file, the server will respond the specified
265 '/path/e404.html' file instead of the terse '404 NOT FOUND'
268 config FEATURE_HTTPD_PROXY
269 bool "Support for reverse proxy"
273 This option allows you to define URLs that will be forwarded
274 to another HTTP server. To setup add the following line to the
276 P:/url/:http://hostname[:port]/new/path/
277 Then a request to /url/myfile will be forwarded to
278 http://hostname[:port]/new/path/myfile.
280 config FEATURE_HTTPD_GZIP
281 bool "Support for GZIP content encoding"
285 Makes httpd send files using GZIP content encoding if the
286 client supports it and a pre-compressed <file>.gz exists.
291 select PLATFORM_LINUX
293 Ifconfig is used to configure the kernel-resident network interfaces.
295 config FEATURE_IFCONFIG_STATUS
296 bool "Enable status reporting output (+7k)"
300 If ifconfig is called with no arguments it will display the status
301 of the currently active interfaces.
303 config FEATURE_IFCONFIG_SLIP
304 bool "Enable slip-specific options \"keepalive\" and \"outfill\""
308 Allow "keepalive" and "outfill" support for SLIP. If you're not
309 planning on using serial lines, leave this unchecked.
311 config FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
312 bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
316 Allow the start address for shared memory, start address for I/O,
317 and/or the interrupt line used by the specified device.
319 config FEATURE_IFCONFIG_HW
320 bool "Enable option \"hw\" (ether only)"
324 Set the hardware address of this interface, if the device driver
325 supports this operation. Currently, we only support the 'ether'
328 config FEATURE_IFCONFIG_BROADCAST_PLUS
329 bool "Set the broadcast automatically"
333 Setting this will make ifconfig attempt to find the broadcast
334 automatically if the value '+' is used.
339 select PLATFORM_LINUX
341 Userspace application to bind several interfaces
342 to a logical interface (use with kernel bonding driver).
347 select PLATFORM_LINUX
349 Network interface plug detection daemon.
355 Activate or deactivate the specified interfaces. This applet makes
356 use of either "ifconfig" and "route" or the "ip" command to actually
357 configure network interfaces. Therefore, you will probably also want
358 to enable either IFCONFIG and ROUTE, or enable
359 FEATURE_IFUPDOWN_IP and the various IP options. Of
360 course you could use non-busybox versions of these programs, so
361 against my better judgement (since this will surely result in plenty
362 of support questions on the mailing list), I do not force you to
363 enable these additional options. It is up to you to supply either
364 "ifconfig", "route" and "run-parts" or the "ip" command, either
365 via busybox or via standalone utilities.
367 config IFUPDOWN_IFSTATE_PATH
368 string "Absolute path to ifstate file"
369 default "/var/run/ifstate"
372 ifupdown keeps state information in a file called ifstate.
373 Typically it is located in /var/run/ifstate, however
374 some distributions tend to put it in other places
375 (debian, for example, uses /etc/network/run/ifstate).
376 This config option defines location of ifstate.
378 config FEATURE_IFUPDOWN_IP
383 Use the iproute "ip" command to implement "ifup" and "ifdown", rather
384 than the default of using the older 'ifconfig' and 'route' utilities.
386 config FEATURE_IFUPDOWN_IP_BUILTIN
387 bool "Use busybox ip applet"
389 depends on FEATURE_IFUPDOWN_IP
390 select PLATFORM_LINUX
392 select FEATURE_IP_ADDRESS
393 select FEATURE_IP_LINK
394 select FEATURE_IP_ROUTE
396 Use the busybox iproute "ip" applet to implement "ifupdown".
398 If left disabled, you must install the full-blown iproute2
399 utility or the "ifup" and "ifdown" applets will not work.
401 config FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
402 bool "Use busybox ifconfig and route applets"
404 depends on IFUPDOWN && !FEATURE_IFUPDOWN_IP
408 Use the busybox iproute "ifconfig" and "route" applets to
409 implement the "ifup" and "ifdown" utilities.
411 If left disabled, you must install the full-blown ifconfig
412 and route utilities, or the "ifup" and "ifdown" applets will not
415 config FEATURE_IFUPDOWN_IPV4
416 bool "Support for IPv4"
420 If you want ifup/ifdown to talk IPv4, leave this on.
422 config FEATURE_IFUPDOWN_IPV6
423 bool "Support for IPv6"
425 depends on IFUPDOWN && FEATURE_IPV6
427 If you need support for IPv6, turn this option on.
430 ###config FEATURE_IFUPDOWN_IPX
431 ### bool "Support for IPX"
433 ### depends on IFUPDOWN
435 ### If this option is selected you can use busybox to work with IPX
438 config FEATURE_IFUPDOWN_MAPPING
439 bool "Enable mapping support"
443 This enables support for the "mapping" stanza, unless you have
444 a weird network setup you don't need it.
446 config FEATURE_IFUPDOWN_EXTERNAL_DHCP
447 bool "Support for external dhcp clients"
451 This enables support for the external dhcp clients. Clients are
452 tried in the following order: dhcpcd, dhclient, pump and udhcpc.
453 Otherwise, if udhcpc applet is enabled, it is used.
454 Otherwise, ifup/ifdown will have no support for DHCP.
459 select FEATURE_SYSLOG
461 Internet superserver daemon
463 config FEATURE_INETD_SUPPORT_BUILTIN_ECHO
464 bool "Support echo service"
468 Echo received data internal inetd service
470 config FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
471 bool "Support discard service"
475 Internet /dev/null internal inetd service
477 config FEATURE_INETD_SUPPORT_BUILTIN_TIME
478 bool "Support time service"
482 Return 32 bit time since 1900 internal inetd service
484 config FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
485 bool "Support daytime service"
489 Return human-readable time internal inetd service
491 config FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
492 bool "Support chargen service"
496 Familiar character generator internal inetd service
498 config FEATURE_INETD_RPC
499 bool "Support RPC services"
502 select FEATURE_HAVE_RPC
504 Support Sun-RPC based services
509 select PLATFORM_LINUX
511 The "ip" applet is a TCP/IP interface configuration and routing
512 utility. You generally don't need "ip" to use busybox with
515 config FEATURE_IP_ADDRESS
520 Address manipulation support for the "ip" applet.
522 config FEATURE_IP_LINK
527 Configure network devices with "ip".
529 config FEATURE_IP_ROUTE
534 Add support for routing table management to "ip".
536 config FEATURE_IP_TUNNEL
541 Add support for tunneling commands to "ip".
543 config FEATURE_IP_RULE
548 Add support for rule commands to "ip".
550 config FEATURE_IP_SHORT_FORMS
551 bool "Support short forms of ip commands"
555 Also support short-form of ip <OBJECT> commands:
559 ip tunnel -> iptunnel
562 Say N unless you desparately need the short form of the ip
565 config FEATURE_IP_RARE_PROTOCOLS
566 bool "Support displaying rarely used link types"
570 If you are not going to use links of type "frad", "econet",
571 "bif" etc, you probably don't need to enable this.
572 Ethernet, wireless, infrared, ppp/slip, ip tunnelling
573 link types are supported without this option selected.
578 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ADDRESS
583 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_LINK
588 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ROUTE
593 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_TUNNEL
598 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_RULE
604 ipcalc takes an IP address and netmask and calculates the
605 resulting broadcast, network, and host range.
607 config FEATURE_IPCALC_FANCY
608 bool "Fancy IPCALC, more options, adds 1 kbyte"
612 Adds the options hostname, prefix and silent to the output of
615 config FEATURE_IPCALC_LONG_OPTIONS
616 bool "Enable long options"
618 depends on IPCALC && LONG_OPTS
620 Support long options for the ipcalc applet.
625 select PLATFORM_LINUX
627 netstat prints information about the Linux networking subsystem.
629 config FEATURE_NETSTAT_WIDE
630 bool "Enable wide netstat output"
634 Add support for wide columns. Useful when displaying IPv6 addresses
637 config FEATURE_NETSTAT_PRG
638 bool "Enable PID/Program name output"
642 Add support for -p flag to print out PID and program name.
649 nslookup is a tool to query Internet name servers.
654 select PLATFORM_LINUX
656 The NTP client/server daemon.
658 config FEATURE_NTPD_SERVER
659 bool "Make ntpd usable as a NTP server"
663 Make ntpd usable as a NTP server. If you disable this option
664 ntpd will be usable only as a NTP client.
666 config FEATURE_NTPD_CONF
667 bool "Make ntpd understand /etc/ntp.conf"
671 Make ntpd look in /etc/ntp.conf for peers. Only "server address"
678 Simple network port scanner.
683 select PLATFORM_LINUX
685 Route displays or manipulates the kernel's IP routing tables.
690 select PLATFORM_LINUX
692 slattach is a small utility to attach network interfaces to serial
699 # show / manipulate traffic control settings
701 #config FEATURE_TC_INGRESS
709 tcpsvd listens on a TCP port and runs a program for each new
716 Telnet is an interface to the TELNET protocol, but is also commonly
717 used to test other simple protocols.
719 config FEATURE_TELNET_TTYPE
720 bool "Pass TERM type to remote host"
724 Setting this option will forward the TERM environment variable to the
725 remote host you are connecting to. This is useful to make sure that
726 things like ANSI colors and other control sequences behave.
728 config FEATURE_TELNET_AUTOLOGIN
729 bool "Pass USER type to remote host"
733 Setting this option will forward the USER environment variable to the
734 remote host you are connecting to. This is useful when you need to
735 log into a machine without telling the username (autologin). This
736 option enables `-a' and `-l USER' arguments.
741 select FEATURE_SYSLOG
743 A daemon for the TELNET protocol, allowing you to log onto the host
744 running the daemon. Please keep in mind that the TELNET protocol
745 sends passwords in plain text. If you can't afford the space for an
746 SSH daemon and you trust your network, you may say 'y' here. As a
747 more secure alternative, you should seriously consider installing the
748 very small Dropbear SSH daemon instead:
749 http://matt.ucc.asn.au/dropbear/dropbear.html
751 Note that for busybox telnetd to work you need several things:
752 First of all, your kernel needs:
756 Next, you need a /dev/pts directory on your root filesystem:
759 drwxr-xr-x 2 root root 0 Sep 23 13:21 /dev/pts/
761 Next you need the pseudo terminal master multiplexer /dev/ptmx:
764 crw-rw-rw- 1 root tty 5, 2 Sep 23 13:55 /dev/ptmx
766 Any /dev/ttyp[0-9]* files you may have can be removed.
767 Next, you need to mount the devpts filesystem on /dev/pts using:
769 mount -t devpts devpts /dev/pts
771 You need to be sure that busybox has LOGIN and
772 FEATURE_SUID enabled. And finally, you should make
773 certain that Busybox has been installed setuid root:
775 chown root.root /bin/busybox
776 chmod 4755 /bin/busybox
778 with all that done, telnetd _should_ work....
781 config FEATURE_TELNETD_STANDALONE
782 bool "Support standalone telnetd (not inetd only)"
786 Selecting this will make telnetd able to run standalone.
788 config FEATURE_TELNETD_INETD_WAIT
789 bool "Support -w SEC option (inetd wait mode)"
791 depends on FEATURE_TELNETD_STANDALONE
793 This option allows you to run telnetd in "inet wait" mode.
794 Example inetd.conf line (note "wait", not usual "nowait"):
796 telnet stream tcp wait root /bin/telnetd telnetd -w10
798 In this example, inetd passes _listening_ socket_ as fd 0
799 to telnetd when connection appears.
800 telnetd will wait for connections until all existing
801 connections are closed, and no new connections
802 appear during 10 seconds. Then it exits, and inetd continues
803 to listen for new connections.
805 This option is rarely used. "tcp nowait" is much more usual
806 way of running tcp services, including telnetd.
807 You most probably want to say N here.
813 This enables the Trivial File Transfer Protocol client program. TFTP
814 is usually used for simple, small transfers such as a root image
815 for a network-enabled bootloader.
821 This enables the Trivial File Transfer Protocol server program.
822 It expects that stdin is a datagram socket and a packet
823 is already pending on it. It will exit after one transfer.
824 In other words: it should be run from inetd in nowait mode,
825 or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
827 comment "Common options for tftp/tftpd"
828 depends on TFTP || TFTPD
830 config FEATURE_TFTP_GET
831 bool "Enable 'tftp get' and/or tftpd upload code"
833 depends on TFTP || TFTPD
835 Add support for the GET command within the TFTP client. This allows
836 a client to retrieve a file from a TFTP server.
837 Also enable upload support in tftpd, if tftpd is selected.
839 Note: this option does _not_ make tftpd capable of download
840 (the usual operation people need from it)!
842 config FEATURE_TFTP_PUT
843 bool "Enable 'tftp put' and/or tftpd download code"
845 depends on TFTP || TFTPD
847 Add support for the PUT command within the TFTP client. This allows
848 a client to transfer a file to a TFTP server.
849 Also enable download support in tftpd, if tftpd is selected.
851 config FEATURE_TFTP_BLOCKSIZE
852 bool "Enable 'blksize' and 'tsize' protocol options"
854 depends on TFTP || TFTPD
856 Allow tftp to specify block size, and tftpd to understand
857 "blksize" and "tsize" options.
859 config FEATURE_TFTP_PROGRESS_BAR
860 bool "Enable tftp progress meter"
862 depends on TFTP && FEATURE_TFTP_BLOCKSIZE
869 depends on TFTP || TFTPD
871 Make tftp[d] print debugging messages on stderr.
872 This is useful if you are diagnosing a bug in tftp[d].
877 select PLATFORM_LINUX
879 Utility to trace the route of IP packets.
884 depends on FEATURE_IPV6 && TRACEROUTE
886 Utility to trace the route of IPv6 packets.
888 config FEATURE_TRACEROUTE_VERBOSE
889 bool "Enable verbose output"
891 depends on TRACEROUTE
893 Add some verbosity to traceroute. This includes among other things
894 hostnames and ICMP response types.
896 config FEATURE_TRACEROUTE_SOURCE_ROUTE
897 bool "Enable loose source route"
899 depends on TRACEROUTE
901 Add option to specify a loose source route gateway
904 config FEATURE_TRACEROUTE_USE_ICMP
905 bool "Use ICMP instead of UDP"
907 depends on TRACEROUTE
909 Add option -I to use ICMP ECHO instead of UDP datagrams.
914 select PLATFORM_LINUX
916 tunctl creates or deletes tun devices.
918 config FEATURE_TUNCTL_UG
919 bool "Support owner:group assignment"
923 Allow to specify owner and group of newly created interface.
924 340 bytes of pure bloat. Say no here.
926 source networking/udhcp/Config.in
928 config IFUPDOWN_UDHCPC_CMD_OPTIONS
929 string "ifup udhcpc command line options"
931 depends on IFUPDOWN && UDHCPC
933 Command line options to pass to udhcpc from ifup.
934 Intended to alter options not available in /etc/network/interfaces.
935 (IE: --syslog --background etc...)
941 udpsvd listens on an UDP port and runs a program for each new
947 select PLATFORM_LINUX
949 Creates, removes, and configures VLAN interfaces
955 wget is a utility for non-interactive download of files from HTTP
958 config FEATURE_WGET_STATUSBAR
959 bool "Enable a nifty process meter (+2k)"
963 Enable the transfer progress bar for wget transfers.
965 config FEATURE_WGET_AUTHENTICATION
966 bool "Enable HTTP authentication"
970 Support authenticated HTTP transfers.
972 config FEATURE_WGET_LONG_OPTIONS
973 bool "Enable long options"
975 depends on WGET && LONG_OPTS
977 Support long options for the wget applet.
979 config FEATURE_WGET_TIMEOUT
980 bool "Enable timeout option -T SEC"
984 Supports network read and connect timeouts for wget,
985 so that wget will give up and timeout, through the -T
988 Currently only connect and network data read timeout are
989 supported (i.e., timeout is not applied to the DNS query). When
990 FEATURE_WGET_LONG_OPTIONS is also enabled, the --timeout option
991 will work in addition to -T.
996 select PLATFORM_LINUX
997 select FEATURE_SYSLOG
999 ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
1000 It's a daemon that allocates and defends a dynamically assigned
1001 address on the 169.254/16 network, requiring no system administrator.
1003 See http://www.zeroconf.org for further details, and "zcip.script"
1004 in the busybox examples.