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.
54 depends on PLATFORM_LINUX
56 Manipulate the system ARP cache.
61 depends on PLATFORM_LINUX
63 Ping hosts by ARP packets.
68 depends on PLATFORM_LINUX
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
85 bool "Support show, showmac and showstp"
87 depends on BRCTL && FEATURE_BRCTL_FANCY
89 Add support for option which prints the current config:
90 showmacs, showstp, show
96 Small and static DNS server daemon.
101 depends on 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.
203 config FEATURE_HTTPD_AUTH_MD5
204 bool "Support MD5 crypted passwords for http Authentication"
206 depends on FEATURE_HTTPD_BASIC_AUTH
208 Enables basic per URL authentication from /etc/httpd.conf
211 config FEATURE_HTTPD_CGI
212 bool "Support Common Gateway Interface (CGI)"
216 This option allows scripts and executables to be invoked
217 when specific URLs are requested.
219 config FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
220 bool "Support for running scripts through an interpreter"
222 depends on FEATURE_HTTPD_CGI
224 This option enables support for running scripts through an
225 interpreter. Turn this on if you want PHP scripts to work
226 properly. You need to supply an additional line in your httpd
228 *.php:/path/to/your/php
230 config FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
231 bool "Set REMOTE_PORT environment variable for CGI"
233 depends on FEATURE_HTTPD_CGI
235 Use of this option can assist scripts in generating
236 references that contain a unique port number.
238 config FEATURE_HTTPD_ENCODE_URL_STR
239 bool "Enable -e option (useful for CGIs written as shell scripts)"
243 This option allows html encoding of arbitrary strings for display
244 by the browser. Output goes to stdout.
245 For example, httpd -e "<Hello World>" produces
246 "<Hello World>".
248 config FEATURE_HTTPD_ERROR_PAGES
249 bool "Support for custom error pages"
253 This option allows you to define custom error pages in
254 the configuration file instead of the default HTTP status
255 error pages. For instance, if you add the line:
257 in the config file, the server will respond the specified
258 '/path/e404.html' file instead of the terse '404 NOT FOUND'
261 config FEATURE_HTTPD_PROXY
262 bool "Support for reverse proxy"
266 This option allows you to define URLs that will be forwarded
267 to another HTTP server. To setup add the following line to the
269 P:/url/:http://hostname[:port]/new/path/
270 Then a request to /url/myfile will be forwarded to
271 http://hostname[:port]/new/path/myfile.
273 config FEATURE_HTTPD_GZIP
274 bool "Support for GZIP content encoding"
278 Makes httpd send files using GZIP content encoding if the
279 client supports it and a pre-compressed <file>.gz exists.
284 depends on PLATFORM_LINUX
286 Ifconfig is used to configure the kernel-resident network interfaces.
288 config FEATURE_IFCONFIG_STATUS
289 bool "Enable status reporting output (+7k)"
293 If ifconfig is called with no arguments it will display the status
294 of the currently active interfaces.
296 config FEATURE_IFCONFIG_SLIP
297 bool "Enable slip-specific options \"keepalive\" and \"outfill\""
301 Allow "keepalive" and "outfill" support for SLIP. If you're not
302 planning on using serial lines, leave this unchecked.
304 config FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
305 bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
309 Allow the start address for shared memory, start address for I/O,
310 and/or the interrupt line used by the specified device.
312 config FEATURE_IFCONFIG_HW
313 bool "Enable option \"hw\" (ether only)"
317 Set the hardware address of this interface, if the device driver
318 supports this operation. Currently, we only support the 'ether'
321 config FEATURE_IFCONFIG_BROADCAST_PLUS
322 bool "Set the broadcast automatically"
326 Setting this will make ifconfig attempt to find the broadcast
327 automatically if the value '+' is used.
332 depends on PLATFORM_LINUX
334 Userspace application to bind several interfaces
335 to a logical interface (use with kernel bonding driver).
340 depends on PLATFORM_LINUX
342 Network interface plug detection daemon.
348 Activate or deactivate the specified interfaces. This applet makes
349 use of either "ifconfig" and "route" or the "ip" command to actually
350 configure network interfaces. Therefore, you will probably also want
351 to enable either IFCONFIG and ROUTE, or enable
352 FEATURE_IFUPDOWN_IP and the various IP options. Of
353 course you could use non-busybox versions of these programs, so
354 against my better judgement (since this will surely result in plenty
355 of support questions on the mailing list), I do not force you to
356 enable these additional options. It is up to you to supply either
357 "ifconfig", "route" and "run-parts" or the "ip" command, either
358 via busybox or via standalone utilities.
360 config IFUPDOWN_IFSTATE_PATH
361 string "Absolute path to ifstate file"
362 default "/var/run/ifstate"
365 ifupdown keeps state information in a file called ifstate.
366 Typically it is located in /var/run/ifstate, however
367 some distributions tend to put it in other places
368 (debian, for example, uses /etc/network/run/ifstate).
369 This config option defines location of ifstate.
371 config FEATURE_IFUPDOWN_IP
376 Use the iproute "ip" command to implement "ifup" and "ifdown", rather
377 than the default of using the older 'ifconfig' and 'route' utilities.
379 config FEATURE_IFUPDOWN_IP_BUILTIN
380 bool "Use busybox ip applet"
382 depends on FEATURE_IFUPDOWN_IP && PLATFORM_LINUX
384 select FEATURE_IP_ADDRESS
385 select FEATURE_IP_LINK
386 select FEATURE_IP_ROUTE
388 Use the busybox iproute "ip" applet to implement "ifupdown".
390 If left disabled, you must install the full-blown iproute2
391 utility or the "ifup" and "ifdown" applets will not work.
393 config FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
394 bool "Use busybox ifconfig and route applets"
396 depends on IFUPDOWN && !FEATURE_IFUPDOWN_IP
400 Use the busybox iproute "ifconfig" and "route" applets to
401 implement the "ifup" and "ifdown" utilities.
403 If left disabled, you must install the full-blown ifconfig
404 and route utilities, or the "ifup" and "ifdown" applets will not
407 config FEATURE_IFUPDOWN_IPV4
408 bool "Support for IPv4"
412 If you want ifup/ifdown to talk IPv4, leave this on.
414 config FEATURE_IFUPDOWN_IPV6
415 bool "Support for IPv6"
417 depends on IFUPDOWN && FEATURE_IPV6
419 If you need support for IPv6, turn this option on.
422 ###config FEATURE_IFUPDOWN_IPX
423 ### bool "Support for IPX"
425 ### depends on IFUPDOWN
427 ### If this option is selected you can use busybox to work with IPX
430 config FEATURE_IFUPDOWN_MAPPING
431 bool "Enable mapping support"
435 This enables support for the "mapping" stanza, unless you have
436 a weird network setup you don't need it.
438 config FEATURE_IFUPDOWN_EXTERNAL_DHCP
439 bool "Support for external dhcp clients"
443 This enables support for the external dhcp clients. Clients are
444 tried in the following order: dhcpcd, dhclient, pump and udhcpc.
445 Otherwise, if udhcpc applet is enabled, it is used.
446 Otherwise, ifup/ifdown will have no support for DHCP.
451 select FEATURE_SYSLOG
453 Internet superserver daemon
455 config FEATURE_INETD_SUPPORT_BUILTIN_ECHO
456 bool "Support echo service"
460 Echo received data internal inetd service
462 config FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
463 bool "Support discard service"
467 Internet /dev/null internal inetd service
469 config FEATURE_INETD_SUPPORT_BUILTIN_TIME
470 bool "Support time service"
474 Return 32 bit time since 1900 internal inetd service
476 config FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
477 bool "Support daytime service"
481 Return human-readable time internal inetd service
483 config FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
484 bool "Support chargen service"
488 Familiar character generator internal inetd service
490 config FEATURE_INETD_RPC
491 bool "Support RPC services"
494 select FEATURE_HAVE_RPC
496 Support Sun-RPC based services
501 depends on PLATFORM_LINUX
503 The "ip" applet is a TCP/IP interface configuration and routing
504 utility. You generally don't need "ip" to use busybox with
507 config FEATURE_IP_ADDRESS
512 Address manipulation support for the "ip" applet.
514 config FEATURE_IP_LINK
519 Configure network devices with "ip".
521 config FEATURE_IP_ROUTE
526 Add support for routing table management to "ip".
528 config FEATURE_IP_TUNNEL
533 Add support for tunneling commands to "ip".
535 config FEATURE_IP_RULE
540 Add support for rule commands to "ip".
542 config FEATURE_IP_SHORT_FORMS
543 bool "Support short forms of ip commands"
547 Also support short-form of ip <OBJECT> commands:
551 ip tunnel -> iptunnel
554 Say N unless you desparately need the short form of the ip
557 config FEATURE_IP_RARE_PROTOCOLS
558 bool "Support displaying rarely used link types"
562 If you are not going to use links of type "frad", "econet",
563 "bif" etc, you probably don't need to enable this.
564 Ethernet, wireless, infrared, ppp/slip, ip tunnelling
565 link types are supported without this option selected.
570 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ADDRESS
575 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_LINK
580 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ROUTE
585 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_TUNNEL
590 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_RULE
596 ipcalc takes an IP address and netmask and calculates the
597 resulting broadcast, network, and host range.
599 config FEATURE_IPCALC_FANCY
600 bool "Fancy IPCALC, more options, adds 1 kbyte"
604 Adds the options hostname, prefix and silent to the output of
607 config FEATURE_IPCALC_LONG_OPTIONS
608 bool "Enable long options"
610 depends on IPCALC && LONG_OPTS
612 Support long options for the ipcalc applet.
617 depends on PLATFORM_LINUX
618 select FEATURE_SYSLOG
620 nameif is used to rename network interface by its MAC address.
621 Renamed interfaces MUST be in the down state.
622 It is possible to use a file (default: /etc/mactab)
623 with list of new interface names and MACs.
624 Maximum interface name length: IFNAMSIZ = 16
625 File fields are separated by space or tab.
628 new_interface_name XX:XX:XX:XX:XX:XX
630 config FEATURE_NAMEIF_EXTENDED
631 bool "Extended nameif"
635 This extends the nameif syntax to support the bus_info and driver
636 checks. The syntax is compatible to the normal nameif.
638 new_interface_name driver=asix bus=usb-0000:00:08.2-3
639 new_interface_name bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5
640 new_interface_name mac=00:80:C8:38:91:B5
641 new_interface_name 00:80:C8:38:91:B5
646 depends on PLATFORM_LINUX
648 netstat prints information about the Linux networking subsystem.
650 config FEATURE_NETSTAT_WIDE
651 bool "Enable wide netstat output"
655 Add support for wide columns. Useful when displaying IPv6 addresses
658 config FEATURE_NETSTAT_PRG
659 bool "Enable PID/Program name output"
663 Add support for -p flag to print out PID and program name.
670 nslookup is a tool to query Internet name servers.
675 depends on PLATFORM_LINUX
677 The NTP client/server daemon.
679 config FEATURE_NTPD_SERVER
680 bool "Make ntpd usable as a NTP server"
684 Make ntpd usable as a NTP server. If you disable this option
685 ntpd will be usable only as a NTP client.
690 depends on PLATFORM_LINUX
692 ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
693 elicit an ICMP ECHO_RESPONSE from a host or gateway.
698 depends on FEATURE_IPV6 && PING
700 This will give you a ping that can talk IPv6.
702 config FEATURE_FANCY_PING
703 bool "Enable fancy ping output"
707 Make the output from the ping applet include statistics, and at the
708 same time provide full support for ICMP packets.
714 Simple network port scanner.
719 depends on PLATFORM_LINUX
721 Route displays or manipulates the kernel's IP routing tables.
726 depends on PLATFORM_LINUX
728 slattach is a small utility to attach network interfaces to serial
735 # show / manipulate traffic control settings
737 #config FEATURE_TC_INGRESS
745 tcpsvd listens on a TCP port and runs a program for each new
752 Telnet is an interface to the TELNET protocol, but is also commonly
753 used to test other simple protocols.
755 config FEATURE_TELNET_TTYPE
756 bool "Pass TERM type to remote host"
760 Setting this option will forward the TERM environment variable to the
761 remote host you are connecting to. This is useful to make sure that
762 things like ANSI colors and other control sequences behave.
764 config FEATURE_TELNET_AUTOLOGIN
765 bool "Pass USER type to remote host"
769 Setting this option will forward the USER environment variable to the
770 remote host you are connecting to. This is useful when you need to
771 log into a machine without telling the username (autologin). This
772 option enables `-a' and `-l USER' arguments.
777 select FEATURE_SYSLOG
779 A daemon for the TELNET protocol, allowing you to log onto the host
780 running the daemon. Please keep in mind that the TELNET protocol
781 sends passwords in plain text. If you can't afford the space for an
782 SSH daemon and you trust your network, you may say 'y' here. As a
783 more secure alternative, you should seriously consider installing the
784 very small Dropbear SSH daemon instead:
785 http://matt.ucc.asn.au/dropbear/dropbear.html
787 Note that for busybox telnetd to work you need several things:
788 First of all, your kernel needs:
792 Next, you need a /dev/pts directory on your root filesystem:
795 drwxr-xr-x 2 root root 0 Sep 23 13:21 /dev/pts/
797 Next you need the pseudo terminal master multiplexer /dev/ptmx:
800 crw-rw-rw- 1 root tty 5, 2 Sep 23 13:55 /dev/ptmx
802 Any /dev/ttyp[0-9]* files you may have can be removed.
803 Next, you need to mount the devpts filesystem on /dev/pts using:
805 mount -t devpts devpts /dev/pts
807 You need to be sure that Busybox has LOGIN and
808 FEATURE_SUID enabled. And finally, you should make
809 certain that Busybox has been installed setuid root:
811 chown root.root /bin/busybox
812 chmod 4755 /bin/busybox
814 with all that done, telnetd _should_ work....
817 config FEATURE_TELNETD_STANDALONE
818 bool "Support standalone telnetd (not inetd only)"
822 Selecting this will make telnetd able to run standalone.
824 config FEATURE_TELNETD_INETD_WAIT
825 bool "Support -w SEC option (inetd wait mode)"
827 depends on FEATURE_TELNETD_STANDALONE
829 This option allows you to run telnetd in "inet wait" mode.
830 Example inetd.conf line (note "wait", not usual "nowait"):
832 telnet stream tcp wait root /bin/telnetd telnetd -w10
834 In this example, inetd passes _listening_ socket_ as fd 0
835 to telnetd when connection appears.
836 telnetd will wait for connections until all existing
837 connections are closed, and no new connections
838 appear during 10 seconds. Then it exits, and inetd continues
839 to listen for new connections.
841 This option is rarely used. "tcp nowait" is much more usual
842 way of running tcp services, including telnetd.
843 You most probably want to say N here.
849 This enables the Trivial File Transfer Protocol client program. TFTP
850 is usually used for simple, small transfers such as a root image
851 for a network-enabled bootloader.
857 This enables the Trivial File Transfer Protocol server program.
858 It expects that stdin is a datagram socket and a packet
859 is already pending on it. It will exit after one transfer.
860 In other words: it should be run from inetd in nowait mode,
861 or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
863 comment "Common options for tftp/tftpd"
864 depends on TFTP || TFTPD
866 config FEATURE_TFTP_GET
867 bool "Enable 'tftp get' and/or tftpd upload code"
869 depends on TFTP || TFTPD
871 Add support for the GET command within the TFTP client. This allows
872 a client to retrieve a file from a TFTP server.
873 Also enable upload support in tftpd, if tftpd is selected.
875 Note: this option does _not_ make tftpd capable of download
876 (the usual operation people need from it)!
878 config FEATURE_TFTP_PUT
879 bool "Enable 'tftp put' and/or tftpd download code"
881 depends on TFTP || TFTPD
883 Add support for the PUT command within the TFTP client. This allows
884 a client to transfer a file to a TFTP server.
885 Also enable download support in tftpd, if tftpd is selected.
887 config FEATURE_TFTP_BLOCKSIZE
888 bool "Enable 'blksize' and 'tsize' protocol options"
890 depends on TFTP || TFTPD
892 Allow tftp to specify block size, and tftpd to understand
893 "blksize" and "tsize" options.
895 config FEATURE_TFTP_PROGRESS_BAR
896 bool "Enable tftp progress meter"
898 depends on TFTP && FEATURE_TFTP_BLOCKSIZE
905 depends on TFTP || TFTPD
907 Make tftp[d] print debugging messages on stderr.
908 This is useful if you are diagnosing a bug in tftp[d].
913 depends on PLATFORM_LINUX
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.
950 depends on PLATFORM_LINUX
952 tunctl creates or deletes tun devices.
954 config FEATURE_TUNCTL_UG
955 bool "Support owner:group assignment"
959 Allow to specify owner and group of newly created interface.
960 340 bytes of pure bloat. Say no here.
962 source networking/udhcp/Config.in
964 config IFUPDOWN_UDHCPC_CMD_OPTIONS
965 string "ifup udhcpc command line options"
967 depends on IFUPDOWN && UDHCPC
969 Command line options to pass to udhcpc from ifup.
970 Intended to alter options not available in /etc/network/interfaces.
971 (IE: --syslog --background etc...)
977 udpsvd listens on an UDP port and runs a program for each new
983 depends on PLATFORM_LINUX
985 Creates, removes, and configures VLAN interfaces
991 wget is a utility for non-interactive download of files from HTTP,
992 HTTPS, and FTP servers.
994 config FEATURE_WGET_STATUSBAR
995 bool "Enable a nifty process meter (+2k)"
999 Enable the transfer progress bar for wget transfers.
1001 config FEATURE_WGET_AUTHENTICATION
1002 bool "Enable HTTP authentication"
1006 Support authenticated HTTP transfers.
1008 config FEATURE_WGET_LONG_OPTIONS
1009 bool "Enable long options"
1011 depends on WGET && LONG_OPTS
1013 Support long options for the wget applet.
1018 depends on PLATFORM_LINUX
1019 select FEATURE_SYSLOG
1021 ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
1022 It's a daemon that allocates and defends a dynamically assigned
1023 address on the 169.254/16 network, requiring no system administrator.
1025 See http://www.zeroconf.org for further details, and "zcip.script"
1026 in the busybox examples.