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_USE_SENDFILE
185 bool "Use sendfile system call"
189 When enabled, httpd will use the kernel sendfile() function
190 instead of read/write loop.
192 config FEATURE_HTTPD_SETUID
193 bool "Enable -u <user> option"
197 This option allows the server to run as a specific user
198 rather than defaulting to the user that starts the server.
199 Use of this option requires special privileges to change to a
202 config FEATURE_HTTPD_BASIC_AUTH
203 bool "Enable Basic http Authentication"
207 Utilizes password settings from /etc/httpd.conf for basic
208 authentication on a per url basis.
209 Example for httpd.conf file:
212 config FEATURE_HTTPD_AUTH_MD5
213 bool "Support MD5 crypted passwords for http Authentication"
215 depends on FEATURE_HTTPD_BASIC_AUTH
217 Enables encrypted passwords, and wildcard user/passwords
219 User '*' means 'any system user name is ok',
220 password of '*' means 'use system password for this user'
222 /adm:toor:$1$P/eKnWXS$aI1aPGxT.dJD5SzqAKWrF0
226 config FEATURE_HTTPD_CGI
227 bool "Support Common Gateway Interface (CGI)"
231 This option allows scripts and executables to be invoked
232 when specific URLs are requested.
234 config FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
235 bool "Support for running scripts through an interpreter"
237 depends on FEATURE_HTTPD_CGI
239 This option enables support for running scripts through an
240 interpreter. Turn this on if you want PHP scripts to work
241 properly. You need to supply an additional line in your
243 *.php:/path/to/your/php
245 config FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
246 bool "Set REMOTE_PORT environment variable for CGI"
248 depends on FEATURE_HTTPD_CGI
250 Use of this option can assist scripts in generating
251 references that contain a unique port number.
253 config FEATURE_HTTPD_ENCODE_URL_STR
254 bool "Enable -e option (useful for CGIs written as shell scripts)"
258 This option allows html encoding of arbitrary strings for display
259 by the browser. Output goes to stdout.
260 For example, httpd -e "<Hello World>" produces
261 "<Hello World>".
263 config FEATURE_HTTPD_ERROR_PAGES
264 bool "Support for custom error pages"
268 This option allows you to define custom error pages in
269 the configuration file instead of the default HTTP status
270 error pages. For instance, if you add the line:
272 in the config file, the server will respond the specified
273 '/path/e404.html' file instead of the terse '404 NOT FOUND'
276 config FEATURE_HTTPD_PROXY
277 bool "Support for reverse proxy"
281 This option allows you to define URLs that will be forwarded
282 to another HTTP server. To setup add the following line to the
284 P:/url/:http://hostname[:port]/new/path/
285 Then a request to /url/myfile will be forwarded to
286 http://hostname[:port]/new/path/myfile.
288 config FEATURE_HTTPD_GZIP
289 bool "Support for GZIP content encoding"
293 Makes httpd send files using GZIP content encoding if the
294 client supports it and a pre-compressed <file>.gz exists.
299 select PLATFORM_LINUX
301 Ifconfig is used to configure the kernel-resident network interfaces.
303 config FEATURE_IFCONFIG_STATUS
304 bool "Enable status reporting output (+7k)"
308 If ifconfig is called with no arguments it will display the status
309 of the currently active interfaces.
311 config FEATURE_IFCONFIG_SLIP
312 bool "Enable slip-specific options \"keepalive\" and \"outfill\""
316 Allow "keepalive" and "outfill" support for SLIP. If you're not
317 planning on using serial lines, leave this unchecked.
319 config FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
320 bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
324 Allow the start address for shared memory, start address for I/O,
325 and/or the interrupt line used by the specified device.
327 config FEATURE_IFCONFIG_HW
328 bool "Enable option \"hw\" (ether only)"
332 Set the hardware address of this interface, if the device driver
333 supports this operation. Currently, we only support the 'ether'
336 config FEATURE_IFCONFIG_BROADCAST_PLUS
337 bool "Set the broadcast automatically"
341 Setting this will make ifconfig attempt to find the broadcast
342 automatically if the value '+' is used.
347 select PLATFORM_LINUX
349 Userspace application to bind several interfaces
350 to a logical interface (use with kernel bonding driver).
355 select PLATFORM_LINUX
357 Network interface plug detection daemon.
363 Activate or deactivate the specified interfaces. This applet makes
364 use of either "ifconfig" and "route" or the "ip" command to actually
365 configure network interfaces. Therefore, you will probably also want
366 to enable either IFCONFIG and ROUTE, or enable
367 FEATURE_IFUPDOWN_IP and the various IP options. Of
368 course you could use non-busybox versions of these programs, so
369 against my better judgement (since this will surely result in plenty
370 of support questions on the mailing list), I do not force you to
371 enable these additional options. It is up to you to supply either
372 "ifconfig", "route" and "run-parts" or the "ip" command, either
373 via busybox or via standalone utilities.
375 config IFUPDOWN_IFSTATE_PATH
376 string "Absolute path to ifstate file"
377 default "/var/run/ifstate"
380 ifupdown keeps state information in a file called ifstate.
381 Typically it is located in /var/run/ifstate, however
382 some distributions tend to put it in other places
383 (debian, for example, uses /etc/network/run/ifstate).
384 This config option defines location of ifstate.
386 config FEATURE_IFUPDOWN_IP
391 Use the iproute "ip" command to implement "ifup" and "ifdown", rather
392 than the default of using the older 'ifconfig' and 'route' utilities.
394 config FEATURE_IFUPDOWN_IP_BUILTIN
395 bool "Use busybox ip applet"
397 depends on FEATURE_IFUPDOWN_IP
398 select PLATFORM_LINUX
400 select FEATURE_IP_ADDRESS
401 select FEATURE_IP_LINK
402 select FEATURE_IP_ROUTE
404 Use the busybox iproute "ip" applet to implement "ifupdown".
406 If left disabled, you must install the full-blown iproute2
407 utility or the "ifup" and "ifdown" applets will not work.
409 config FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
410 bool "Use busybox ifconfig and route applets"
412 depends on IFUPDOWN && !FEATURE_IFUPDOWN_IP
416 Use the busybox iproute "ifconfig" and "route" applets to
417 implement the "ifup" and "ifdown" utilities.
419 If left disabled, you must install the full-blown ifconfig
420 and route utilities, or the "ifup" and "ifdown" applets will not
423 config FEATURE_IFUPDOWN_IPV4
424 bool "Support for IPv4"
428 If you want ifup/ifdown to talk IPv4, leave this on.
430 config FEATURE_IFUPDOWN_IPV6
431 bool "Support for IPv6"
433 depends on IFUPDOWN && FEATURE_IPV6
435 If you need support for IPv6, turn this option on.
438 ###config FEATURE_IFUPDOWN_IPX
439 ### bool "Support for IPX"
441 ### depends on IFUPDOWN
443 ### If this option is selected you can use busybox to work with IPX
446 config FEATURE_IFUPDOWN_MAPPING
447 bool "Enable mapping support"
451 This enables support for the "mapping" stanza, unless you have
452 a weird network setup you don't need it.
454 config FEATURE_IFUPDOWN_EXTERNAL_DHCP
455 bool "Support for external dhcp clients"
459 This enables support for the external dhcp clients. Clients are
460 tried in the following order: dhcpcd, dhclient, pump and udhcpc.
461 Otherwise, if udhcpc applet is enabled, it is used.
462 Otherwise, ifup/ifdown will have no support for DHCP.
467 select FEATURE_SYSLOG
469 Internet superserver daemon
471 config FEATURE_INETD_SUPPORT_BUILTIN_ECHO
472 bool "Support echo service"
476 Echo received data internal inetd service
478 config FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
479 bool "Support discard service"
483 Internet /dev/null internal inetd service
485 config FEATURE_INETD_SUPPORT_BUILTIN_TIME
486 bool "Support time service"
490 Return 32 bit time since 1900 internal inetd service
492 config FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
493 bool "Support daytime service"
497 Return human-readable time internal inetd service
499 config FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
500 bool "Support chargen service"
504 Familiar character generator internal inetd service
506 config FEATURE_INETD_RPC
507 bool "Support RPC services"
510 select FEATURE_HAVE_RPC
512 Support Sun-RPC based services
517 select PLATFORM_LINUX
519 The "ip" applet is a TCP/IP interface configuration and routing
520 utility. You generally don't need "ip" to use busybox with
523 config FEATURE_IP_ADDRESS
528 Address manipulation support for the "ip" applet.
530 config FEATURE_IP_LINK
535 Configure network devices with "ip".
537 config FEATURE_IP_ROUTE
542 Add support for routing table management to "ip".
544 config FEATURE_IP_TUNNEL
549 Add support for tunneling commands to "ip".
551 config FEATURE_IP_RULE
556 Add support for rule commands to "ip".
558 config FEATURE_IP_SHORT_FORMS
559 bool "Support short forms of ip commands"
563 Also support short-form of ip <OBJECT> commands:
567 ip tunnel -> iptunnel
570 Say N unless you desparately need the short form of the ip
573 config FEATURE_IP_RARE_PROTOCOLS
574 bool "Support displaying rarely used link types"
578 If you are not going to use links of type "frad", "econet",
579 "bif" etc, you probably don't need to enable this.
580 Ethernet, wireless, infrared, ppp/slip, ip tunnelling
581 link types are supported without this option selected.
586 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ADDRESS
591 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_LINK
596 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ROUTE
601 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_TUNNEL
606 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_RULE
612 ipcalc takes an IP address and netmask and calculates the
613 resulting broadcast, network, and host range.
615 config FEATURE_IPCALC_FANCY
616 bool "Fancy IPCALC, more options, adds 1 kbyte"
620 Adds the options hostname, prefix and silent to the output of
623 config FEATURE_IPCALC_LONG_OPTIONS
624 bool "Enable long options"
626 depends on IPCALC && LONG_OPTS
628 Support long options for the ipcalc applet.
633 select PLATFORM_LINUX
635 netstat prints information about the Linux networking subsystem.
637 config FEATURE_NETSTAT_WIDE
638 bool "Enable wide netstat output"
642 Add support for wide columns. Useful when displaying IPv6 addresses
645 config FEATURE_NETSTAT_PRG
646 bool "Enable PID/Program name output"
650 Add support for -p flag to print out PID and program name.
657 nslookup is a tool to query Internet name servers.
662 select PLATFORM_LINUX
664 The NTP client/server daemon.
666 config FEATURE_NTPD_SERVER
667 bool "Make ntpd usable as a NTP server"
671 Make ntpd usable as a NTP server. If you disable this option
672 ntpd will be usable only as a NTP client.
674 config FEATURE_NTPD_CONF
675 bool "Make ntpd understand /etc/ntp.conf"
679 Make ntpd look in /etc/ntp.conf for peers. Only "server address"
686 Simple network port scanner.
691 select PLATFORM_LINUX
693 Route displays or manipulates the kernel's IP routing tables.
698 select PLATFORM_LINUX
700 slattach is a small utility to attach network interfaces to serial
707 # show / manipulate traffic control settings
709 #config FEATURE_TC_INGRESS
717 tcpsvd listens on a TCP port and runs a program for each new
724 Telnet is an interface to the TELNET protocol, but is also commonly
725 used to test other simple protocols.
727 config FEATURE_TELNET_TTYPE
728 bool "Pass TERM type to remote host"
732 Setting this option will forward the TERM environment variable to the
733 remote host you are connecting to. This is useful to make sure that
734 things like ANSI colors and other control sequences behave.
736 config FEATURE_TELNET_AUTOLOGIN
737 bool "Pass USER type to remote host"
741 Setting this option will forward the USER environment variable to the
742 remote host you are connecting to. This is useful when you need to
743 log into a machine without telling the username (autologin). This
744 option enables `-a' and `-l USER' arguments.
749 select FEATURE_SYSLOG
751 A daemon for the TELNET protocol, allowing you to log onto the host
752 running the daemon. Please keep in mind that the TELNET protocol
753 sends passwords in plain text. If you can't afford the space for an
754 SSH daemon and you trust your network, you may say 'y' here. As a
755 more secure alternative, you should seriously consider installing the
756 very small Dropbear SSH daemon instead:
757 http://matt.ucc.asn.au/dropbear/dropbear.html
759 Note that for busybox telnetd to work you need several things:
760 First of all, your kernel needs:
764 Next, you need a /dev/pts directory on your root filesystem:
767 drwxr-xr-x 2 root root 0 Sep 23 13:21 /dev/pts/
769 Next you need the pseudo terminal master multiplexer /dev/ptmx:
772 crw-rw-rw- 1 root tty 5, 2 Sep 23 13:55 /dev/ptmx
774 Any /dev/ttyp[0-9]* files you may have can be removed.
775 Next, you need to mount the devpts filesystem on /dev/pts using:
777 mount -t devpts devpts /dev/pts
779 You need to be sure that busybox has LOGIN and
780 FEATURE_SUID enabled. And finally, you should make
781 certain that Busybox has been installed setuid root:
783 chown root.root /bin/busybox
784 chmod 4755 /bin/busybox
786 with all that done, telnetd _should_ work....
789 config FEATURE_TELNETD_STANDALONE
790 bool "Support standalone telnetd (not inetd only)"
794 Selecting this will make telnetd able to run standalone.
796 config FEATURE_TELNETD_INETD_WAIT
797 bool "Support -w SEC option (inetd wait mode)"
799 depends on FEATURE_TELNETD_STANDALONE
801 This option allows you to run telnetd in "inet wait" mode.
802 Example inetd.conf line (note "wait", not usual "nowait"):
804 telnet stream tcp wait root /bin/telnetd telnetd -w10
806 In this example, inetd passes _listening_ socket_ as fd 0
807 to telnetd when connection appears.
808 telnetd will wait for connections until all existing
809 connections are closed, and no new connections
810 appear during 10 seconds. Then it exits, and inetd continues
811 to listen for new connections.
813 This option is rarely used. "tcp nowait" is much more usual
814 way of running tcp services, including telnetd.
815 You most probably want to say N here.
821 This enables the Trivial File Transfer Protocol client program. TFTP
822 is usually used for simple, small transfers such as a root image
823 for a network-enabled bootloader.
829 This enables the Trivial File Transfer Protocol server program.
830 It expects that stdin is a datagram socket and a packet
831 is already pending on it. It will exit after one transfer.
832 In other words: it should be run from inetd in nowait mode,
833 or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
835 comment "Common options for tftp/tftpd"
836 depends on TFTP || TFTPD
838 config FEATURE_TFTP_GET
839 bool "Enable 'tftp get' and/or tftpd upload code"
841 depends on TFTP || TFTPD
843 Add support for the GET command within the TFTP client. This allows
844 a client to retrieve a file from a TFTP server.
845 Also enable upload support in tftpd, if tftpd is selected.
847 Note: this option does _not_ make tftpd capable of download
848 (the usual operation people need from it)!
850 config FEATURE_TFTP_PUT
851 bool "Enable 'tftp put' and/or tftpd download code"
853 depends on TFTP || TFTPD
855 Add support for the PUT command within the TFTP client. This allows
856 a client to transfer a file to a TFTP server.
857 Also enable download support in tftpd, if tftpd is selected.
859 config FEATURE_TFTP_BLOCKSIZE
860 bool "Enable 'blksize' and 'tsize' protocol options"
862 depends on TFTP || TFTPD
864 Allow tftp to specify block size, and tftpd to understand
865 "blksize" and "tsize" options.
867 config FEATURE_TFTP_PROGRESS_BAR
868 bool "Enable tftp progress meter"
870 depends on TFTP && FEATURE_TFTP_BLOCKSIZE
877 depends on TFTP || TFTPD
879 Make tftp[d] print debugging messages on stderr.
880 This is useful if you are diagnosing a bug in tftp[d].
885 select PLATFORM_LINUX
887 Utility to trace the route of IP packets.
892 depends on FEATURE_IPV6 && TRACEROUTE
894 Utility to trace the route of IPv6 packets.
896 config FEATURE_TRACEROUTE_VERBOSE
897 bool "Enable verbose output"
899 depends on TRACEROUTE
901 Add some verbosity to traceroute. This includes among other things
902 hostnames and ICMP response types.
904 config FEATURE_TRACEROUTE_SOURCE_ROUTE
905 bool "Enable loose source route"
907 depends on TRACEROUTE
909 Add option to specify a loose source route gateway
912 config FEATURE_TRACEROUTE_USE_ICMP
913 bool "Use ICMP instead of UDP"
915 depends on TRACEROUTE
917 Add option -I to use ICMP ECHO instead of UDP datagrams.
922 select PLATFORM_LINUX
924 tunctl creates or deletes tun devices.
926 config FEATURE_TUNCTL_UG
927 bool "Support owner:group assignment"
931 Allow to specify owner and group of newly created interface.
932 340 bytes of pure bloat. Say no here.
934 source networking/udhcp/Config.in
936 config IFUPDOWN_UDHCPC_CMD_OPTIONS
937 string "ifup udhcpc command line options"
939 depends on IFUPDOWN && UDHCPC
941 Command line options to pass to udhcpc from ifup.
942 Intended to alter options not available in /etc/network/interfaces.
943 (IE: --syslog --background etc...)
949 udpsvd listens on an UDP port and runs a program for each new
955 select PLATFORM_LINUX
957 Creates, removes, and configures VLAN interfaces
963 wget is a utility for non-interactive download of files from HTTP
966 config FEATURE_WGET_STATUSBAR
967 bool "Enable a nifty process meter (+2k)"
971 Enable the transfer progress bar for wget transfers.
973 config FEATURE_WGET_AUTHENTICATION
974 bool "Enable HTTP authentication"
978 Support authenticated HTTP transfers.
980 config FEATURE_WGET_LONG_OPTIONS
981 bool "Enable long options"
983 depends on WGET && LONG_OPTS
985 Support long options for the wget applet.
987 config FEATURE_WGET_TIMEOUT
988 bool "Enable timeout option -T SEC"
992 Supports network read and connect timeouts for wget,
993 so that wget will give up and timeout, through the -T
996 Currently only connect and network data read timeout are
997 supported (i.e., timeout is not applied to the DNS query). When
998 FEATURE_WGET_LONG_OPTIONS is also enabled, the --timeout option
999 will work in addition to -T.
1004 select PLATFORM_LINUX
1005 select FEATURE_SYSLOG
1007 ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
1008 It's a daemon that allocates and defends a dynamically assigned
1009 address on the 169.254/16 network, requiring no system administrator.
1011 See http://www.zeroconf.org for further details, and "zcip.script"
1012 in the busybox examples.