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.
141 Retrieve a remote file via FTP.
147 Store a remote file via FTP.
149 config FEATURE_FTPGETPUT_LONG_OPTIONS
150 bool "Enable long options in ftpget/ftpput"
152 depends on LONG_OPTS && (FTPGET || FTPPUT)
154 Support long options for the ftpget/ftpput applet.
160 Show or set the system's host name.
166 Serve web pages via an HTTP server.
168 config FEATURE_HTTPD_RANGES
169 bool "Support 'Ranges:' header"
173 Makes httpd emit "Accept-Ranges: bytes" header and understand
174 "Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted
175 downloads, seeking in multimedia players etc.
177 config FEATURE_HTTPD_USE_SENDFILE
178 bool "Use sendfile system call"
182 When enabled, httpd will use the kernel sendfile() function
183 instead of read/write loop.
185 config FEATURE_HTTPD_SETUID
186 bool "Enable -u <user> option"
190 This option allows the server to run as a specific user
191 rather than defaulting to the user that starts the server.
192 Use of this option requires special privileges to change to a
195 config FEATURE_HTTPD_BASIC_AUTH
196 bool "Enable Basic http Authentication"
200 Utilizes password settings from /etc/httpd.conf for basic
201 authentication on a per url basis.
202 Example for httpd.conf file:
205 config FEATURE_HTTPD_AUTH_MD5
206 bool "Support MD5 crypted passwords for http Authentication"
208 depends on FEATURE_HTTPD_BASIC_AUTH
210 Enables encrypted passwords, and wildcard user/passwords
212 User '*' means 'any system user name is ok',
213 password of '*' means 'use system password for this user'
215 /adm:toor:$1$P/eKnWXS$aI1aPGxT.dJD5SzqAKWrF0
219 config FEATURE_HTTPD_CGI
220 bool "Support Common Gateway Interface (CGI)"
224 This option allows scripts and executables to be invoked
225 when specific URLs are requested.
227 config FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
228 bool "Support for running scripts through an interpreter"
230 depends on FEATURE_HTTPD_CGI
232 This option enables support for running scripts through an
233 interpreter. Turn this on if you want PHP scripts to work
234 properly. You need to supply an additional line in your
236 *.php:/path/to/your/php
238 config FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
239 bool "Set REMOTE_PORT environment variable for CGI"
241 depends on FEATURE_HTTPD_CGI
243 Use of this option can assist scripts in generating
244 references that contain a unique port number.
246 config FEATURE_HTTPD_ENCODE_URL_STR
247 bool "Enable -e option (useful for CGIs written as shell scripts)"
251 This option allows html encoding of arbitrary strings for display
252 by the browser. Output goes to stdout.
253 For example, httpd -e "<Hello World>" produces
254 "<Hello World>".
256 config FEATURE_HTTPD_ERROR_PAGES
257 bool "Support for custom error pages"
261 This option allows you to define custom error pages in
262 the configuration file instead of the default HTTP status
263 error pages. For instance, if you add the line:
265 in the config file, the server will respond the specified
266 '/path/e404.html' file instead of the terse '404 NOT FOUND'
269 config FEATURE_HTTPD_PROXY
270 bool "Support for reverse proxy"
274 This option allows you to define URLs that will be forwarded
275 to another HTTP server. To setup add the following line to the
277 P:/url/:http://hostname[:port]/new/path/
278 Then a request to /url/myfile will be forwarded to
279 http://hostname[:port]/new/path/myfile.
281 config FEATURE_HTTPD_GZIP
282 bool "Support for GZIP content encoding"
286 Makes httpd send files using GZIP content encoding if the
287 client supports it and a pre-compressed <file>.gz exists.
292 select PLATFORM_LINUX
294 Ifconfig is used to configure the kernel-resident network interfaces.
296 config FEATURE_IFCONFIG_STATUS
297 bool "Enable status reporting output (+7k)"
301 If ifconfig is called with no arguments it will display the status
302 of the currently active interfaces.
304 config FEATURE_IFCONFIG_SLIP
305 bool "Enable slip-specific options \"keepalive\" and \"outfill\""
309 Allow "keepalive" and "outfill" support for SLIP. If you're not
310 planning on using serial lines, leave this unchecked.
312 config FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
313 bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
317 Allow the start address for shared memory, start address for I/O,
318 and/or the interrupt line used by the specified device.
320 config FEATURE_IFCONFIG_HW
321 bool "Enable option \"hw\" (ether only)"
325 Set the hardware address of this interface, if the device driver
326 supports this operation. Currently, we only support the 'ether'
329 config FEATURE_IFCONFIG_BROADCAST_PLUS
330 bool "Set the broadcast automatically"
334 Setting this will make ifconfig attempt to find the broadcast
335 automatically if the value '+' is used.
340 select PLATFORM_LINUX
342 Userspace application to bind several interfaces
343 to a logical interface (use with kernel bonding driver).
348 select PLATFORM_LINUX
350 Network interface plug detection daemon.
356 Activate or deactivate the specified interfaces. This applet makes
357 use of either "ifconfig" and "route" or the "ip" command to actually
358 configure network interfaces. Therefore, you will probably also want
359 to enable either IFCONFIG and ROUTE, or enable
360 FEATURE_IFUPDOWN_IP and the various IP options. Of
361 course you could use non-busybox versions of these programs, so
362 against my better judgement (since this will surely result in plenty
363 of support questions on the mailing list), I do not force you to
364 enable these additional options. It is up to you to supply either
365 "ifconfig", "route" and "run-parts" or the "ip" command, either
366 via busybox or via standalone utilities.
368 config IFUPDOWN_IFSTATE_PATH
369 string "Absolute path to ifstate file"
370 default "/var/run/ifstate"
373 ifupdown keeps state information in a file called ifstate.
374 Typically it is located in /var/run/ifstate, however
375 some distributions tend to put it in other places
376 (debian, for example, uses /etc/network/run/ifstate).
377 This config option defines location of ifstate.
379 config FEATURE_IFUPDOWN_IP
384 Use the iproute "ip" command to implement "ifup" and "ifdown", rather
385 than the default of using the older 'ifconfig' and 'route' utilities.
387 config FEATURE_IFUPDOWN_IP_BUILTIN
388 bool "Use busybox ip applet"
390 depends on FEATURE_IFUPDOWN_IP
391 select PLATFORM_LINUX
393 select FEATURE_IP_ADDRESS
394 select FEATURE_IP_LINK
395 select FEATURE_IP_ROUTE
397 Use the busybox iproute "ip" applet to implement "ifupdown".
399 If left disabled, you must install the full-blown iproute2
400 utility or the "ifup" and "ifdown" applets will not work.
402 config FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
403 bool "Use busybox ifconfig and route applets"
405 depends on IFUPDOWN && !FEATURE_IFUPDOWN_IP
409 Use the busybox iproute "ifconfig" and "route" applets to
410 implement the "ifup" and "ifdown" utilities.
412 If left disabled, you must install the full-blown ifconfig
413 and route utilities, or the "ifup" and "ifdown" applets will not
416 config FEATURE_IFUPDOWN_IPV4
417 bool "Support for IPv4"
421 If you want ifup/ifdown to talk IPv4, leave this on.
423 config FEATURE_IFUPDOWN_IPV6
424 bool "Support for IPv6"
426 depends on IFUPDOWN && FEATURE_IPV6
428 If you need support for IPv6, turn this option on.
431 ###config FEATURE_IFUPDOWN_IPX
432 ### bool "Support for IPX"
434 ### depends on IFUPDOWN
436 ### If this option is selected you can use busybox to work with IPX
439 config FEATURE_IFUPDOWN_MAPPING
440 bool "Enable mapping support"
444 This enables support for the "mapping" stanza, unless you have
445 a weird network setup you don't need it.
447 config FEATURE_IFUPDOWN_EXTERNAL_DHCP
448 bool "Support for external dhcp clients"
452 This enables support for the external dhcp clients. Clients are
453 tried in the following order: dhcpcd, dhclient, pump and udhcpc.
454 Otherwise, if udhcpc applet is enabled, it is used.
455 Otherwise, ifup/ifdown will have no support for DHCP.
460 select FEATURE_SYSLOG
462 Internet superserver daemon
464 config FEATURE_INETD_SUPPORT_BUILTIN_ECHO
465 bool "Support echo service"
469 Echo received data internal inetd service
471 config FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
472 bool "Support discard service"
476 Internet /dev/null internal inetd service
478 config FEATURE_INETD_SUPPORT_BUILTIN_TIME
479 bool "Support time service"
483 Return 32 bit time since 1900 internal inetd service
485 config FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
486 bool "Support daytime service"
490 Return human-readable time internal inetd service
492 config FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
493 bool "Support chargen service"
497 Familiar character generator internal inetd service
499 config FEATURE_INETD_RPC
500 bool "Support RPC services"
503 select FEATURE_HAVE_RPC
505 Support Sun-RPC based services
510 select PLATFORM_LINUX
512 The "ip" applet is a TCP/IP interface configuration and routing
513 utility. You generally don't need "ip" to use busybox with
516 config FEATURE_IP_ADDRESS
521 Address manipulation support for the "ip" applet.
523 config FEATURE_IP_LINK
528 Configure network devices with "ip".
530 config FEATURE_IP_ROUTE
535 Add support for routing table management to "ip".
537 config FEATURE_IP_TUNNEL
542 Add support for tunneling commands to "ip".
544 config FEATURE_IP_RULE
549 Add support for rule commands to "ip".
551 config FEATURE_IP_SHORT_FORMS
552 bool "Support short forms of ip commands"
556 Also support short-form of ip <OBJECT> commands:
560 ip tunnel -> iptunnel
563 Say N unless you desparately need the short form of the ip
566 config FEATURE_IP_RARE_PROTOCOLS
567 bool "Support displaying rarely used link types"
571 If you are not going to use links of type "frad", "econet",
572 "bif" etc, you probably don't need to enable this.
573 Ethernet, wireless, infrared, ppp/slip, ip tunnelling
574 link types are supported without this option selected.
579 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ADDRESS
584 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_LINK
589 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ROUTE
594 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_TUNNEL
599 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_RULE
605 ipcalc takes an IP address and netmask and calculates the
606 resulting broadcast, network, and host range.
608 config FEATURE_IPCALC_FANCY
609 bool "Fancy IPCALC, more options, adds 1 kbyte"
613 Adds the options hostname, prefix and silent to the output of
616 config FEATURE_IPCALC_LONG_OPTIONS
617 bool "Enable long options"
619 depends on IPCALC && LONG_OPTS
621 Support long options for the ipcalc applet.
626 select PLATFORM_LINUX
628 netstat prints information about the Linux networking subsystem.
630 config FEATURE_NETSTAT_WIDE
631 bool "Enable wide netstat output"
635 Add support for wide columns. Useful when displaying IPv6 addresses
638 config FEATURE_NETSTAT_PRG
639 bool "Enable PID/Program name output"
643 Add support for -p flag to print out PID and program name.
650 nslookup is a tool to query Internet name servers.
655 select PLATFORM_LINUX
657 The NTP client/server daemon.
659 config FEATURE_NTPD_SERVER
660 bool "Make ntpd usable as a NTP server"
664 Make ntpd usable as a NTP server. If you disable this option
665 ntpd will be usable only as a NTP client.
667 config FEATURE_NTPD_CONF
668 bool "Make ntpd understand /etc/ntp.conf"
672 Make ntpd look in /etc/ntp.conf for peers. Only "server address"
679 Simple network port scanner.
684 select PLATFORM_LINUX
686 Route displays or manipulates the kernel's IP routing tables.
691 select PLATFORM_LINUX
693 slattach is a small utility to attach network interfaces to serial
700 # show / manipulate traffic control settings
702 #config FEATURE_TC_INGRESS
710 tcpsvd listens on a TCP port and runs a program for each new
717 Telnet is an interface to the TELNET protocol, but is also commonly
718 used to test other simple protocols.
720 config FEATURE_TELNET_TTYPE
721 bool "Pass TERM type to remote host"
725 Setting this option will forward the TERM environment variable to the
726 remote host you are connecting to. This is useful to make sure that
727 things like ANSI colors and other control sequences behave.
729 config FEATURE_TELNET_AUTOLOGIN
730 bool "Pass USER type to remote host"
734 Setting this option will forward the USER environment variable to the
735 remote host you are connecting to. This is useful when you need to
736 log into a machine without telling the username (autologin). This
737 option enables `-a' and `-l USER' arguments.
742 select FEATURE_SYSLOG
744 A daemon for the TELNET protocol, allowing you to log onto the host
745 running the daemon. Please keep in mind that the TELNET protocol
746 sends passwords in plain text. If you can't afford the space for an
747 SSH daemon and you trust your network, you may say 'y' here. As a
748 more secure alternative, you should seriously consider installing the
749 very small Dropbear SSH daemon instead:
750 http://matt.ucc.asn.au/dropbear/dropbear.html
752 Note that for busybox telnetd to work you need several things:
753 First of all, your kernel needs:
757 Next, you need a /dev/pts directory on your root filesystem:
760 drwxr-xr-x 2 root root 0 Sep 23 13:21 /dev/pts/
762 Next you need the pseudo terminal master multiplexer /dev/ptmx:
765 crw-rw-rw- 1 root tty 5, 2 Sep 23 13:55 /dev/ptmx
767 Any /dev/ttyp[0-9]* files you may have can be removed.
768 Next, you need to mount the devpts filesystem on /dev/pts using:
770 mount -t devpts devpts /dev/pts
772 You need to be sure that busybox has LOGIN and
773 FEATURE_SUID enabled. And finally, you should make
774 certain that Busybox has been installed setuid root:
776 chown root.root /bin/busybox
777 chmod 4755 /bin/busybox
779 with all that done, telnetd _should_ work....
782 config FEATURE_TELNETD_STANDALONE
783 bool "Support standalone telnetd (not inetd only)"
787 Selecting this will make telnetd able to run standalone.
789 config FEATURE_TELNETD_INETD_WAIT
790 bool "Support -w SEC option (inetd wait mode)"
792 depends on FEATURE_TELNETD_STANDALONE
794 This option allows you to run telnetd in "inet wait" mode.
795 Example inetd.conf line (note "wait", not usual "nowait"):
797 telnet stream tcp wait root /bin/telnetd telnetd -w10
799 In this example, inetd passes _listening_ socket_ as fd 0
800 to telnetd when connection appears.
801 telnetd will wait for connections until all existing
802 connections are closed, and no new connections
803 appear during 10 seconds. Then it exits, and inetd continues
804 to listen for new connections.
806 This option is rarely used. "tcp nowait" is much more usual
807 way of running tcp services, including telnetd.
808 You most probably want to say N here.
814 This enables the Trivial File Transfer Protocol client program. TFTP
815 is usually used for simple, small transfers such as a root image
816 for a network-enabled bootloader.
822 This enables the Trivial File Transfer Protocol server program.
823 It expects that stdin is a datagram socket and a packet
824 is already pending on it. It will exit after one transfer.
825 In other words: it should be run from inetd in nowait mode,
826 or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
828 comment "Common options for tftp/tftpd"
829 depends on TFTP || TFTPD
831 config FEATURE_TFTP_GET
832 bool "Enable 'tftp get' and/or tftpd upload code"
834 depends on TFTP || TFTPD
836 Add support for the GET command within the TFTP client. This allows
837 a client to retrieve a file from a TFTP server.
838 Also enable upload support in tftpd, if tftpd is selected.
840 Note: this option does _not_ make tftpd capable of download
841 (the usual operation people need from it)!
843 config FEATURE_TFTP_PUT
844 bool "Enable 'tftp put' and/or tftpd download code"
846 depends on TFTP || TFTPD
848 Add support for the PUT command within the TFTP client. This allows
849 a client to transfer a file to a TFTP server.
850 Also enable download support in tftpd, if tftpd is selected.
852 config FEATURE_TFTP_BLOCKSIZE
853 bool "Enable 'blksize' and 'tsize' protocol options"
855 depends on TFTP || TFTPD
857 Allow tftp to specify block size, and tftpd to understand
858 "blksize" and "tsize" options.
860 config FEATURE_TFTP_PROGRESS_BAR
861 bool "Enable tftp progress meter"
863 depends on TFTP && FEATURE_TFTP_BLOCKSIZE
870 depends on TFTP || TFTPD
872 Make tftp[d] print debugging messages on stderr.
873 This is useful if you are diagnosing a bug in tftp[d].
878 select PLATFORM_LINUX
880 Utility to trace the route of IP packets.
885 depends on FEATURE_IPV6 && TRACEROUTE
887 Utility to trace the route of IPv6 packets.
889 config FEATURE_TRACEROUTE_VERBOSE
890 bool "Enable verbose output"
892 depends on TRACEROUTE
894 Add some verbosity to traceroute. This includes among other things
895 hostnames and ICMP response types.
897 config FEATURE_TRACEROUTE_SOURCE_ROUTE
898 bool "Enable loose source route"
900 depends on TRACEROUTE
902 Add option to specify a loose source route gateway
905 config FEATURE_TRACEROUTE_USE_ICMP
906 bool "Use ICMP instead of UDP"
908 depends on TRACEROUTE
910 Add option -I to use ICMP ECHO instead of UDP datagrams.
915 select PLATFORM_LINUX
917 tunctl creates or deletes tun devices.
919 config FEATURE_TUNCTL_UG
920 bool "Support owner:group assignment"
924 Allow to specify owner and group of newly created interface.
925 340 bytes of pure bloat. Say no here.
927 source networking/udhcp/Config.in
929 config IFUPDOWN_UDHCPC_CMD_OPTIONS
930 string "ifup udhcpc command line options"
932 depends on IFUPDOWN && UDHCPC
934 Command line options to pass to udhcpc from ifup.
935 Intended to alter options not available in /etc/network/interfaces.
936 (IE: --syslog --background etc...)
942 udpsvd listens on an UDP port and runs a program for each new
948 select PLATFORM_LINUX
950 Creates, removes, and configures VLAN interfaces
956 wget is a utility for non-interactive download of files from HTTP
959 config FEATURE_WGET_STATUSBAR
960 bool "Enable a nifty process meter (+2k)"
964 Enable the transfer progress bar for wget transfers.
966 config FEATURE_WGET_AUTHENTICATION
967 bool "Enable HTTP authentication"
971 Support authenticated HTTP transfers.
973 config FEATURE_WGET_LONG_OPTIONS
974 bool "Enable long options"
976 depends on WGET && LONG_OPTS
978 Support long options for the wget applet.
980 config FEATURE_WGET_TIMEOUT
981 bool "Enable timeout option -T SEC"
985 Supports network read and connect timeouts for wget,
986 so that wget will give up and timeout, through the -T
989 Currently only connect and network data read timeout are
990 supported (i.e., timeout is not applied to the DNS query). When
991 FEATURE_WGET_LONG_OPTIONS is also enabled, the --timeout option
992 will work in addition to -T.
997 select PLATFORM_LINUX
998 select FEATURE_SYSLOG
1000 ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
1001 It's a daemon that allocates and defends a dynamically assigned
1002 address on the 169.254/16 network, requiring no system administrator.
1004 See http://www.zeroconf.org for further details, and "zcip.script"
1005 in the busybox examples.