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 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_SETUID
179 bool "Enable -u <user> option"
183 This option allows the server to run as a specific user
184 rather than defaulting to the user that starts the server.
185 Use of this option requires special privileges to change to a
188 config FEATURE_HTTPD_BASIC_AUTH
189 bool "Enable Basic http Authentication"
193 Utilizes password settings from /etc/httpd.conf for basic
194 authentication on a per url basis.
195 Example for httpd.conf file:
198 config FEATURE_HTTPD_AUTH_MD5
199 bool "Support MD5 crypted passwords for http Authentication"
201 depends on FEATURE_HTTPD_BASIC_AUTH
203 Enables encrypted passwords, and wildcard user/passwords
205 User '*' means 'any system user name is ok',
206 password of '*' means 'use system password for this user'
208 /adm:toor:$1$P/eKnWXS$aI1aPGxT.dJD5SzqAKWrF0
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
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.
274 config FEATURE_HTTPD_GZIP
275 bool "Support for GZIP content encoding"
279 Makes httpd send files using GZIP content encoding if the
280 client supports it and a pre-compressed <file>.gz exists.
285 select PLATFORM_LINUX
287 Ifconfig is used to configure the kernel-resident network interfaces.
289 config FEATURE_IFCONFIG_STATUS
290 bool "Enable status reporting output (+7k)"
294 If ifconfig is called with no arguments it will display the status
295 of the currently active interfaces.
297 config FEATURE_IFCONFIG_SLIP
298 bool "Enable slip-specific options \"keepalive\" and \"outfill\""
302 Allow "keepalive" and "outfill" support for SLIP. If you're not
303 planning on using serial lines, leave this unchecked.
305 config FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
306 bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
310 Allow the start address for shared memory, start address for I/O,
311 and/or the interrupt line used by the specified device.
313 config FEATURE_IFCONFIG_HW
314 bool "Enable option \"hw\" (ether only)"
318 Set the hardware address of this interface, if the device driver
319 supports this operation. Currently, we only support the 'ether'
322 config FEATURE_IFCONFIG_BROADCAST_PLUS
323 bool "Set the broadcast automatically"
327 Setting this will make ifconfig attempt to find the broadcast
328 automatically if the value '+' is used.
333 select PLATFORM_LINUX
335 Userspace application to bind several interfaces
336 to a logical interface (use with kernel bonding driver).
341 select PLATFORM_LINUX
343 Network interface plug detection daemon.
348 select FEATURE_SYSLOG
350 Internet superserver daemon
352 config FEATURE_INETD_SUPPORT_BUILTIN_ECHO
353 bool "Support echo service"
357 Echo received data internal inetd service
359 config FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
360 bool "Support discard service"
364 Internet /dev/null internal inetd service
366 config FEATURE_INETD_SUPPORT_BUILTIN_TIME
367 bool "Support time service"
371 Return 32 bit time since 1900 internal inetd service
373 config FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
374 bool "Support daytime service"
378 Return human-readable time internal inetd service
380 config FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
381 bool "Support chargen service"
385 Familiar character generator internal inetd service
387 config FEATURE_INETD_RPC
388 bool "Support RPC services"
389 default n # very rarely used, and needs Sun RPC support in libc
391 select FEATURE_HAVE_RPC
393 Support Sun-RPC based services
398 select PLATFORM_LINUX
400 The "ip" applet is a TCP/IP interface configuration and routing
401 utility. You generally don't need "ip" to use busybox with
404 config FEATURE_IP_ADDRESS
409 Address manipulation support for the "ip" applet.
411 config FEATURE_IP_LINK
416 Configure network devices with "ip".
418 config FEATURE_IP_ROUTE
423 Add support for routing table management to "ip".
425 config FEATURE_IP_ROUTE_DIR
426 string "ip route configuration directory"
427 default "/etc/iproute2"
428 depends on FEATURE_IP_ROUTE
430 Location of the "ip" applet routing configuration.
432 config FEATURE_IP_TUNNEL
437 Add support for tunneling commands to "ip".
439 config FEATURE_IP_RULE
444 Add support for rule commands to "ip".
446 config FEATURE_IP_NEIGH
451 Add support for neighbor commands to "ip".
453 config FEATURE_IP_SHORT_FORMS
454 bool "Support short forms of ip commands"
458 Also support short-form of ip <OBJECT> commands:
462 ip tunnel -> iptunnel
466 Say N unless you desparately need the short form of the ip
469 config FEATURE_IP_RARE_PROTOCOLS
470 bool "Support displaying rarely used link types"
474 If you are not going to use links of type "frad", "econet",
475 "bif" etc, you probably don't need to enable this.
476 Ethernet, wireless, infrared, ppp/slip, ip tunnelling
477 link types are supported without this option selected.
482 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ADDRESS
487 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_LINK
492 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ROUTE
497 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_TUNNEL
502 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_RULE
507 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_NEIGH
513 ipcalc takes an IP address and netmask and calculates the
514 resulting broadcast, network, and host range.
516 config FEATURE_IPCALC_FANCY
517 bool "Fancy IPCALC, more options, adds 1 kbyte"
521 Adds the options hostname, prefix and silent to the output of
524 config FEATURE_IPCALC_LONG_OPTIONS
525 bool "Enable long options"
527 depends on IPCALC && LONG_OPTS
529 Support long options for the ipcalc applet.
534 select PLATFORM_LINUX
536 netstat prints information about the Linux networking subsystem.
538 config FEATURE_NETSTAT_WIDE
539 bool "Enable wide netstat output"
543 Add support for wide columns. Useful when displaying IPv6 addresses
546 config FEATURE_NETSTAT_PRG
547 bool "Enable PID/Program name output"
551 Add support for -p flag to print out PID and program name.
558 nslookup is a tool to query Internet name servers.
563 select PLATFORM_LINUX
565 The NTP client/server daemon.
567 config FEATURE_NTPD_SERVER
568 bool "Make ntpd usable as a NTP server"
572 Make ntpd usable as a NTP server. If you disable this option
573 ntpd will be usable only as a NTP client.
575 config FEATURE_NTPD_CONF
576 bool "Make ntpd understand /etc/ntp.conf"
580 Make ntpd look in /etc/ntp.conf for peers. Only "server address"
587 Simple network port scanner.
592 select PLATFORM_LINUX
594 Route displays or manipulates the kernel's IP routing tables.
599 select PLATFORM_LINUX
601 slattach is a small utility to attach network interfaces to serial
608 # show / manipulate traffic control settings
610 #config FEATURE_TC_INGRESS
618 tcpsvd listens on a TCP port and runs a program for each new
625 Telnet is an interface to the TELNET protocol, but is also commonly
626 used to test other simple protocols.
628 config FEATURE_TELNET_TTYPE
629 bool "Pass TERM type to remote host"
633 Setting this option will forward the TERM environment variable to the
634 remote host you are connecting to. This is useful to make sure that
635 things like ANSI colors and other control sequences behave.
637 config FEATURE_TELNET_AUTOLOGIN
638 bool "Pass USER type to remote host"
642 Setting this option will forward the USER environment variable to the
643 remote host you are connecting to. This is useful when you need to
644 log into a machine without telling the username (autologin). This
645 option enables `-a' and `-l USER' arguments.
650 select FEATURE_SYSLOG
652 A daemon for the TELNET protocol, allowing you to log onto the host
653 running the daemon. Please keep in mind that the TELNET protocol
654 sends passwords in plain text. If you can't afford the space for an
655 SSH daemon and you trust your network, you may say 'y' here. As a
656 more secure alternative, you should seriously consider installing the
657 very small Dropbear SSH daemon instead:
658 http://matt.ucc.asn.au/dropbear/dropbear.html
660 Note that for busybox telnetd to work you need several things:
661 First of all, your kernel needs:
664 Next, you need a /dev/pts directory on your root filesystem:
667 drwxr-xr-x 2 root root 0 Sep 23 13:21 /dev/pts/
669 Next you need the pseudo terminal master multiplexer /dev/ptmx:
672 crw-rw-rw- 1 root tty 5, 2 Sep 23 13:55 /dev/ptmx
674 Any /dev/ttyp[0-9]* files you may have can be removed.
675 Next, you need to mount the devpts filesystem on /dev/pts using:
677 mount -t devpts devpts /dev/pts
679 You need to be sure that busybox has LOGIN and
680 FEATURE_SUID enabled. And finally, you should make
681 certain that Busybox has been installed setuid root:
683 chown root.root /bin/busybox
684 chmod 4755 /bin/busybox
686 with all that done, telnetd _should_ work....
689 config FEATURE_TELNETD_STANDALONE
690 bool "Support standalone telnetd (not inetd only)"
694 Selecting this will make telnetd able to run standalone.
696 config FEATURE_TELNETD_INETD_WAIT
697 bool "Support -w SEC option (inetd wait mode)"
699 depends on FEATURE_TELNETD_STANDALONE
701 This option allows you to run telnetd in "inet wait" mode.
702 Example inetd.conf line (note "wait", not usual "nowait"):
704 telnet stream tcp wait root /bin/telnetd telnetd -w10
706 In this example, inetd passes _listening_ socket_ as fd 0
707 to telnetd when connection appears.
708 telnetd will wait for connections until all existing
709 connections are closed, and no new connections
710 appear during 10 seconds. Then it exits, and inetd continues
711 to listen for new connections.
713 This option is rarely used. "tcp nowait" is much more usual
714 way of running tcp services, including telnetd.
715 You most probably want to say N here.
721 This enables the Trivial File Transfer Protocol client program. TFTP
722 is usually used for simple, small transfers such as a root image
723 for a network-enabled bootloader.
729 This enables the Trivial File Transfer Protocol server program.
730 It expects that stdin is a datagram socket and a packet
731 is already pending on it. It will exit after one transfer.
732 In other words: it should be run from inetd in nowait mode,
733 or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
735 comment "Common options for tftp/tftpd"
736 depends on TFTP || TFTPD
738 config FEATURE_TFTP_GET
739 bool "Enable 'tftp get' and/or tftpd upload code"
741 depends on TFTP || TFTPD
743 Add support for the GET command within the TFTP client. This allows
744 a client to retrieve a file from a TFTP server.
745 Also enable upload support in tftpd, if tftpd is selected.
747 Note: this option does _not_ make tftpd capable of download
748 (the usual operation people need from it)!
750 config FEATURE_TFTP_PUT
751 bool "Enable 'tftp put' and/or tftpd download code"
753 depends on TFTP || TFTPD
755 Add support for the PUT command within the TFTP client. This allows
756 a client to transfer a file to a TFTP server.
757 Also enable download support in tftpd, if tftpd is selected.
759 config FEATURE_TFTP_BLOCKSIZE
760 bool "Enable 'blksize' and 'tsize' protocol options"
762 depends on TFTP || TFTPD
764 Allow tftp to specify block size, and tftpd to understand
765 "blksize" and "tsize" options.
767 config FEATURE_TFTP_PROGRESS_BAR
768 bool "Enable tftp progress meter"
770 depends on TFTP && FEATURE_TFTP_BLOCKSIZE
777 depends on TFTP || TFTPD
779 Make tftp[d] print debugging messages on stderr.
780 This is useful if you are diagnosing a bug in tftp[d].
785 select PLATFORM_LINUX
787 Utility to trace the route of IP packets.
792 depends on FEATURE_IPV6 && TRACEROUTE
794 Utility to trace the route of IPv6 packets.
796 config FEATURE_TRACEROUTE_VERBOSE
797 bool "Enable verbose output"
799 depends on TRACEROUTE
801 Add some verbosity to traceroute. This includes among other things
802 hostnames and ICMP response types.
804 config FEATURE_TRACEROUTE_USE_ICMP
805 bool "Enable -I option (use ICMP instead of UDP)"
807 depends on TRACEROUTE
809 Add option -I to use ICMP ECHO instead of UDP datagrams.
814 select PLATFORM_LINUX
816 tunctl creates or deletes tun devices.
818 config FEATURE_TUNCTL_UG
819 bool "Support owner:group assignment"
823 Allow to specify owner and group of newly created interface.
824 340 bytes of pure bloat. Say no here.
826 source networking/udhcp/Config.in
828 config IFUPDOWN_UDHCPC_CMD_OPTIONS
829 string "ifup udhcpc command line options"
831 depends on IFUPDOWN && UDHCPC
833 Command line options to pass to udhcpc from ifup.
834 Intended to alter options not available in /etc/network/interfaces.
835 (IE: --syslog --background etc...)
841 udpsvd listens on an UDP port and runs a program for each new
847 select PLATFORM_LINUX
849 Creates, removes, and configures VLAN interfaces
854 select PLATFORM_LINUX
855 select FEATURE_SYSLOG
857 ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
858 It's a daemon that allocates and defends a dynamically assigned
859 address on the 169.254/16 network, requiring no system administrator.
861 See http://www.zeroconf.org for further details, and "zcip.script"
862 in the busybox examples.