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.
55 Manipulate the system ARP cache.
61 Ping hosts by ARP packets.
67 Manage ethernet bridges.
68 Supports addbr/delbr and addif/delif.
70 config FEATURE_BRCTL_FANCY
75 Add support for extended option like:
76 setageing, setfd, sethello, setmaxage,
77 setpathcost, setportprio, setbridgeprio,
79 This adds about 600 bytes.
81 config FEATURE_BRCTL_SHOW
82 bool "Support show, showmac and showstp"
84 depends on BRCTL && FEATURE_BRCTL_FANCY
86 Add support for option which prints the current config:
87 showmacs, showstp, show
93 Small and static DNS server daemon.
99 Send a magic packet to wake up sleeping machines.
104 select FEATURE_SYSLOG
106 fakeidentd listens on the ident port and returns a predefined
107 fake value on any query.
113 simple FTP daemon. You have to run it via inetd.
115 config FEATURE_FTP_WRITE
116 bool "Enable upload commands"
120 Enable all kinds of FTP upload commands (-w option)
122 config FEATURE_FTPD_ACCEPT_BROKEN_LIST
123 bool "Enable workaround for RFC-violating clients"
127 Some ftp clients (among them KDE's Konqueror) issue illegal
128 "LIST -l" requests. This option works around such problems.
129 It might prevent you from listing files starting with "-" and
130 it increases the code size by ~40 bytes.
131 Most other ftp servers seem to behave similar to this.
137 Retrieve a remote file via FTP.
143 Store a remote file via FTP.
145 config FEATURE_FTPGETPUT_LONG_OPTIONS
146 bool "Enable long options in ftpget/ftpput"
148 depends on LONG_OPTS && (FTPGET || FTPPUT)
150 Support long options for the ftpget/ftpput applet.
156 Show or set the system's host name.
162 Serve web pages via an HTTP server.
164 config FEATURE_HTTPD_RANGES
165 bool "Support 'Ranges:' header"
169 Makes httpd emit "Accept-Ranges: bytes" header and understand
170 "Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted
171 downloads, seeking in multimedia players etc.
173 config FEATURE_HTTPD_USE_SENDFILE
174 bool "Use sendfile system call"
178 When enabled, httpd will use the kernel sendfile() function
179 instead of read/write loop.
181 config FEATURE_HTTPD_SETUID
182 bool "Enable -u <user> option"
186 This option allows the server to run as a specific user
187 rather than defaulting to the user that starts the server.
188 Use of this option requires special privileges to change to a
191 config FEATURE_HTTPD_BASIC_AUTH
192 bool "Enable Basic http Authentication"
196 Utilizes password settings from /etc/httpd.conf for basic
197 authentication on a per url basis.
199 config FEATURE_HTTPD_AUTH_MD5
200 bool "Support MD5 crypted passwords for http Authentication"
202 depends on FEATURE_HTTPD_BASIC_AUTH
204 Enables basic per URL authentication from /etc/httpd.conf
207 config FEATURE_HTTPD_CGI
208 bool "Support Common Gateway Interface (CGI)"
212 This option allows scripts and executables to be invoked
213 when specific URLs are requested.
215 config FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
216 bool "Support for running scripts through an interpreter"
218 depends on FEATURE_HTTPD_CGI
220 This option enables support for running scripts through an
221 interpreter. Turn this on if you want PHP scripts to work
222 properly. You need to supply an additional line in your httpd
224 *.php:/path/to/your/php
226 config FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
227 bool "Set REMOTE_PORT environment variable for CGI"
229 depends on FEATURE_HTTPD_CGI
231 Use of this option can assist scripts in generating
232 references that contain a unique port number.
234 config FEATURE_HTTPD_ENCODE_URL_STR
235 bool "Enable -e option (useful for CGIs written as shell scripts)"
239 This option allows html encoding of arbitrary strings for display
240 by the browser. Output goes to stdout.
241 For example, httpd -e "<Hello World>" produces
242 "<Hello World>".
244 config FEATURE_HTTPD_ERROR_PAGES
245 bool "Support for custom error pages"
249 This option allows you to define custom error pages in
250 the configuration file instead of the default HTTP status
251 error pages. For instance, if you add the line:
253 in the config file, the server will respond the specified
254 '/path/e404.html' file instead of the terse '404 NOT FOUND'
257 config FEATURE_HTTPD_PROXY
258 bool "Support for reverse proxy"
262 This option allows you to define URLs that will be forwarded
263 to another HTTP server. To setup add the following line to the
265 P:/url/:http://hostname[:port]/new/path/
266 Then a request to /url/myfile will be forwarded to
267 http://hostname[:port]/new/path/myfile.
273 Ifconfig is used to configure the kernel-resident network interfaces.
275 config FEATURE_IFCONFIG_STATUS
276 bool "Enable status reporting output (+7k)"
280 If ifconfig is called with no arguments it will display the status
281 of the currently active interfaces.
283 config FEATURE_IFCONFIG_SLIP
284 bool "Enable slip-specific options \"keepalive\" and \"outfill\""
288 Allow "keepalive" and "outfill" support for SLIP. If you're not
289 planning on using serial lines, leave this unchecked.
291 config FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
292 bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
296 Allow the start address for shared memory, start address for I/O,
297 and/or the interrupt line used by the specified device.
299 config FEATURE_IFCONFIG_HW
300 bool "Enable option \"hw\" (ether only)"
304 Set the hardware address of this interface, if the device driver
305 supports this operation. Currently, we only support the 'ether'
308 config FEATURE_IFCONFIG_BROADCAST_PLUS
309 bool "Set the broadcast automatically"
313 Setting this will make ifconfig attempt to find the broadcast
314 automatically if the value '+' is used.
320 Userspace application to bind several interfaces
321 to a logical interface (use with kernel bonding driver).
327 Network interface plug detection daemon.
333 Activate or deactivate the specified interfaces. This applet makes
334 use of either "ifconfig" and "route" or the "ip" command to actually
335 configure network interfaces. Therefore, you will probably also want
336 to enable either IFCONFIG and ROUTE, or enable
337 FEATURE_IFUPDOWN_IP and the various IP options. Of
338 course you could use non-busybox versions of these programs, so
339 against my better judgement (since this will surely result in plenty
340 of support questions on the mailing list), I do not force you to
341 enable these additional options. It is up to you to supply either
342 "ifconfig", "route" and "run-parts" or the "ip" command, either
343 via busybox or via standalone utilities.
345 config IFUPDOWN_IFSTATE_PATH
346 string "Absolute path to ifstate file"
347 default "/var/run/ifstate"
350 ifupdown keeps state information in a file called ifstate.
351 Typically it is located in /var/run/ifstate, however
352 some distributions tend to put it in other places
353 (debian, for example, uses /etc/network/run/ifstate).
354 This config option defines location of ifstate.
356 config FEATURE_IFUPDOWN_IP
361 Use the iproute "ip" command to implement "ifup" and "ifdown", rather
362 than the default of using the older 'ifconfig' and 'route' utilities.
364 config FEATURE_IFUPDOWN_IP_BUILTIN
365 bool "Use busybox ip applet"
367 depends on FEATURE_IFUPDOWN_IP
369 select FEATURE_IP_ADDRESS
370 select FEATURE_IP_LINK
371 select FEATURE_IP_ROUTE
373 Use the busybox iproute "ip" applet to implement "ifupdown".
375 If left disabled, you must install the full-blown iproute2
376 utility or the "ifup" and "ifdown" applets will not work.
378 config FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
379 bool "Use busybox ifconfig and route applets"
381 depends on IFUPDOWN && !FEATURE_IFUPDOWN_IP
385 Use the busybox iproute "ifconfig" and "route" applets to
386 implement the "ifup" and "ifdown" utilities.
388 If left disabled, you must install the full-blown ifconfig
389 and route utilities, or the "ifup" and "ifdown" applets will not
392 config FEATURE_IFUPDOWN_IPV4
393 bool "Support for IPv4"
397 If you want ifup/ifdown to talk IPv4, leave this on.
399 config FEATURE_IFUPDOWN_IPV6
400 bool "Support for IPv6"
402 depends on IFUPDOWN && FEATURE_IPV6
404 If you need support for IPv6, turn this option on.
407 ###config FEATURE_IFUPDOWN_IPX
408 ### bool "Support for IPX"
410 ### depends on IFUPDOWN
412 ### If this option is selected you can use busybox to work with IPX
415 config FEATURE_IFUPDOWN_MAPPING
416 bool "Enable mapping support"
420 This enables support for the "mapping" stanza, unless you have
421 a weird network setup you don't need it.
423 config FEATURE_IFUPDOWN_EXTERNAL_DHCP
424 bool "Support for external dhcp clients"
428 This enables support for the external dhcp clients. Clients are
429 tried in the following order: dhcpcd, dhclient, pump and udhcpc.
430 Otherwise, if udhcpc applet is enabled, it is used.
431 Otherwise, ifup/ifdown will have no support for DHCP.
436 select FEATURE_SYSLOG
438 Internet superserver daemon
440 config FEATURE_INETD_SUPPORT_BUILTIN_ECHO
441 bool "Support echo service"
445 Echo received data internal inetd service
447 config FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
448 bool "Support discard service"
452 Internet /dev/null internal inetd service
454 config FEATURE_INETD_SUPPORT_BUILTIN_TIME
455 bool "Support time service"
459 Return 32 bit time since 1900 internal inetd service
461 config FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
462 bool "Support daytime service"
466 Return human-readable time internal inetd service
468 config FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
469 bool "Support chargen service"
473 Familiar character generator internal inetd service
475 config FEATURE_INETD_RPC
476 bool "Support RPC services"
479 select FEATURE_HAVE_RPC
481 Support Sun-RPC based services
487 The "ip" applet is a TCP/IP interface configuration and routing
488 utility. You generally don't need "ip" to use busybox with
491 config FEATURE_IP_ADDRESS
496 Address manipulation support for the "ip" applet.
498 config FEATURE_IP_LINK
503 Configure network devices with "ip".
505 config FEATURE_IP_ROUTE
510 Add support for routing table management to "ip".
512 config FEATURE_IP_TUNNEL
517 Add support for tunneling commands to "ip".
519 config FEATURE_IP_RULE
524 Add support for rule commands to "ip".
526 config FEATURE_IP_SHORT_FORMS
527 bool "Support short forms of ip commands"
531 Also support short-form of ip <OBJECT> commands:
535 ip tunnel -> iptunnel
538 Say N unless you desparately need the short form of the ip
541 config FEATURE_IP_RARE_PROTOCOLS
542 bool "Support displaying rarely used link types"
546 If you are not going to use links of type "frad", "econet",
547 "bif" etc, you probably don't need to enable this.
548 Ethernet, wireless, infrared, ppp/slip, ip tunnelling
549 link types are supported without this option selected.
554 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ADDRESS
559 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_LINK
564 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ROUTE
569 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_TUNNEL
574 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_RULE
580 ipcalc takes an IP address and netmask and calculates the
581 resulting broadcast, network, and host range.
583 config FEATURE_IPCALC_FANCY
584 bool "Fancy IPCALC, more options, adds 1 kbyte"
588 Adds the options hostname, prefix and silent to the output of
591 config FEATURE_IPCALC_LONG_OPTIONS
592 bool "Enable long options"
594 depends on IPCALC && LONG_OPTS
596 Support long options for the ipcalc applet.
601 select FEATURE_SYSLOG
603 nameif is used to rename network interface by its MAC address.
604 Renamed interfaces MUST be in the down state.
605 It is possible to use a file (default: /etc/mactab)
606 with list of new interface names and MACs.
607 Maximum interface name length: IFNAMSIZ = 16
608 File fields are separated by space or tab.
611 new_interface_name XX:XX:XX:XX:XX:XX
613 config FEATURE_NAMEIF_EXTENDED
614 bool "Extended nameif"
618 This extends the nameif syntax to support the bus_info and driver
619 checks. The syntax is compatible to the normal nameif.
621 new_interface_name driver=asix bus=usb-0000:00:08.2-3
622 new_interface_name bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5
623 new_interface_name mac=00:80:C8:38:91:B5
624 new_interface_name 00:80:C8:38:91:B5
630 A simple Unix utility which reads and writes data across network
634 bool "Netcat server options (-l)"
638 Allow netcat to act as a server.
641 bool "Netcat extensions (-eiw and filename)"
645 Add -e (support for executing the rest of the command line after
646 making or receiving a successful connection), -i (delay interval for
647 lines sent), -w (timeout for initial connection).
653 netstat prints information about the Linux networking subsystem.
655 config FEATURE_NETSTAT_WIDE
656 bool "Enable wide netstat output"
660 Add support for wide columns. Useful when displaying IPv6 addresses
663 config FEATURE_NETSTAT_PRG
664 bool "Enable PID/Program name output"
668 Add support for -p flag to print out PID and program name.
675 nslookup is a tool to query Internet name servers.
681 The NTP client/server daemon.
683 config FEATURE_NTPD_SERVER
684 bool "Make ntpd usable as a NTP server"
688 Make ntpd usable as a NTP server. If you disable this option
689 ntpd will be usable only as a NTP client.
695 ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
696 elicit an ICMP ECHO_RESPONSE from a host or gateway.
701 depends on FEATURE_IPV6 && PING
703 This will give you a ping that can talk IPv6.
705 config FEATURE_FANCY_PING
706 bool "Enable fancy ping output"
710 Make the output from the ping applet include statistics, and at the
711 same time provide full support for ICMP packets.
717 Simple network port scanner.
723 Route displays or manipulates the kernel's IP routing tables.
729 slattach is a small utility to attach network interfaces to serial
736 # show / manipulate traffic control settings
738 #config FEATURE_TC_INGRESS
746 tcpsvd listens on a TCP port and runs a program for each new
753 Telnet is an interface to the TELNET protocol, but is also commonly
754 used to test other simple protocols.
756 config FEATURE_TELNET_TTYPE
757 bool "Pass TERM type to remote host"
761 Setting this option will forward the TERM environment variable to the
762 remote host you are connecting to. This is useful to make sure that
763 things like ANSI colors and other control sequences behave.
765 config FEATURE_TELNET_AUTOLOGIN
766 bool "Pass USER type to remote host"
770 Setting this option will forward the USER environment variable to the
771 remote host you are connecting to. This is useful when you need to
772 log into a machine without telling the username (autologin). This
773 option enables `-a' and `-l USER' arguments.
778 select FEATURE_SYSLOG
780 A daemon for the TELNET protocol, allowing you to log onto the host
781 running the daemon. Please keep in mind that the TELNET protocol
782 sends passwords in plain text. If you can't afford the space for an
783 SSH daemon and you trust your network, you may say 'y' here. As a
784 more secure alternative, you should seriously consider installing the
785 very small Dropbear SSH daemon instead:
786 http://matt.ucc.asn.au/dropbear/dropbear.html
788 Note that for busybox telnetd to work you need several things:
789 First of all, your kernel needs:
793 Next, you need a /dev/pts directory on your root filesystem:
796 drwxr-xr-x 2 root root 0 Sep 23 13:21 /dev/pts/
798 Next you need the pseudo terminal master multiplexer /dev/ptmx:
801 crw-rw-rw- 1 root tty 5, 2 Sep 23 13:55 /dev/ptmx
803 Any /dev/ttyp[0-9]* files you may have can be removed.
804 Next, you need to mount the devpts filesystem on /dev/pts using:
806 mount -t devpts devpts /dev/pts
808 You need to be sure that Busybox has LOGIN and
809 FEATURE_SUID enabled. And finally, you should make
810 certain that Busybox has been installed setuid root:
812 chown root.root /bin/busybox
813 chmod 4755 /bin/busybox
815 with all that done, telnetd _should_ work....
818 config FEATURE_TELNETD_STANDALONE
819 bool "Support standalone telnetd (not inetd only)"
823 Selecting this will make telnetd able to run standalone.
825 config FEATURE_TELNETD_INETD_WAIT
826 bool "Support -w SEC option (inetd wait mode)"
828 depends on FEATURE_TELNETD_STANDALONE
830 This option allows you to run telnetd in "inet wait" mode.
831 Example inetd.conf line (note "wait", not usual "nowait"):
833 telnet stream tcp wait root /bin/telnetd telnetd -w10
835 In this example, inetd passes _listening_ socket_ as fd 0
836 to telnetd when connection appears.
837 telnetd will wait for connections until all existing
838 connections are closed, and no new connections
839 appear during 10 seconds. Then it exits, and inetd continues
840 to listen for new connections.
842 This option is rarely used. "tcp nowait" is much more usual
843 way of running tcp services, including telnetd.
844 You most probably want to say N here.
850 This enables the Trivial File Transfer Protocol client program. TFTP
851 is usually used for simple, small transfers such as a root image
852 for a network-enabled bootloader.
858 This enables the Trivial File Transfer Protocol server program.
859 It expects that stdin is a datagram socket and a packet
860 is already pending on it. It will exit after one transfer.
861 In other words: it should be run from inetd in nowait mode,
862 or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
864 comment "Common options for tftp/tftpd"
865 depends on TFTP || TFTPD
867 config FEATURE_TFTP_GET
868 bool "Enable 'tftp get' and/or tftpd upload code"
870 depends on TFTP || TFTPD
872 Add support for the GET command within the TFTP client. This allows
873 a client to retrieve a file from a TFTP server.
874 Also enable upload support in tftpd, if tftpd is selected.
876 Note: this option does _not_ make tftpd capable of download
877 (the usual operation people need from it)!
879 config FEATURE_TFTP_PUT
880 bool "Enable 'tftp put' and/or tftpd download code"
882 depends on TFTP || TFTPD
884 Add support for the PUT command within the TFTP client. This allows
885 a client to transfer a file to a TFTP server.
886 Also enable download support in tftpd, if tftpd is selected.
888 config FEATURE_TFTP_BLOCKSIZE
889 bool "Enable 'blksize' and 'tsize' protocol options"
891 depends on TFTP || TFTPD
893 Allow tftp to specify block size, and tftpd to understand
894 "blksize" and "tsize" options.
896 config FEATURE_TFTP_PROGRESS_BAR
897 bool "Enable tftp progress meter"
899 depends on TFTP && FEATURE_TFTP_BLOCKSIZE
906 depends on TFTP || TFTPD
908 Make tftp[d] print debugging messages on stderr.
909 This is useful if you are diagnosing a bug in tftp[d].
915 Utility to trace the route of IP packets.
920 depends on FEATURE_IPV6 && TRACEROUTE
922 Utility to trace the route of IPv6 packets.
924 config FEATURE_TRACEROUTE_VERBOSE
925 bool "Enable verbose output"
927 depends on TRACEROUTE
929 Add some verbosity to traceroute. This includes among other things
930 hostnames and ICMP response types.
932 config FEATURE_TRACEROUTE_SOURCE_ROUTE
933 bool "Enable loose source route"
935 depends on TRACEROUTE
937 Add option to specify a loose source route gateway
940 config FEATURE_TRACEROUTE_USE_ICMP
941 bool "Use ICMP instead of UDP"
943 depends on TRACEROUTE
945 Add option -I to use ICMP ECHO instead of UDP datagrams.
951 tunctl creates or deletes tun devices.
953 config FEATURE_TUNCTL_UG
954 bool "Support owner:group assignment"
958 Allow to specify owner and group of newly created interface.
959 340 bytes of pure bloat. Say no here.
961 source networking/udhcp/Config.in
963 config IFUPDOWN_UDHCPC_CMD_OPTIONS
964 string "ifup udhcpc command line options"
966 depends on IFUPDOWN && UDHCPC
968 Command line options to pass to udhcpc from ifup.
969 Intended to alter options not available in /etc/network/interfaces.
970 (IE: --syslog --background etc...)
976 udpsvd listens on an UDP port and runs a program for each new
983 Creates, removes, and configures VLAN interfaces
989 wget is a utility for non-interactive download of files from HTTP,
990 HTTPS, and FTP servers.
992 config FEATURE_WGET_STATUSBAR
993 bool "Enable a nifty process meter (+2k)"
997 Enable the transfer progress bar for wget transfers.
999 config FEATURE_WGET_AUTHENTICATION
1000 bool "Enable HTTP authentication"
1004 Support authenticated HTTP transfers.
1006 config FEATURE_WGET_LONG_OPTIONS
1007 bool "Enable long options"
1009 depends on WGET && LONG_OPTS
1011 Support long options for the wget applet.
1016 select FEATURE_SYSLOG
1018 ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
1019 It's a daemon that allocates and defends a dynamically assigned
1020 address on the 169.254/16 network, requiring no system administrator.
1022 See http://www.zeroconf.org for further details, and "zcip.script"
1023 in the busybox examples.