2 # For a description of the syntax of this configuration file,
3 # see scripts/kbuild/config-language.txt.
6 menu "Networking Utilities"
9 bool "Enable IPv6 support"
12 Enable IPv6 support in busybox.
13 This adds IPv6 support in the networking applets.
15 config FEATURE_UNIX_LOCAL
16 bool "Enable Unix domain socket support (usually not needed)"
19 Enable Unix domain socket support in all busybox networking
22 config FEATURE_PREFER_IPV4_ADDRESS
23 bool "Prefer IPv4 addresses from DNS queries"
25 depends on FEATURE_IPV6
27 Use IPv4 address of network host if it has one.
29 If this option is off, the first returned address will be used.
30 This may cause problems when your DNS server is IPv6-capable and
31 is returning IPv6 host addresses too. If IPv6 address
32 precedes IPv4 one in DNS reply, busybox network applets
33 (e.g. wget) will use IPv6 address. On an IPv6-incapable host
34 or network applets will fail to connect to the host
37 config VERBOSE_RESOLUTION_ERRORS
38 bool "Verbose resolution errors"
41 Enable if you are not satisfied with simplistic
42 "can't resolve 'hostname.com'" and want to know more.
43 This may increase size of your executable a bit.
49 Manipulate the system ARP cache.
55 Ping hosts by ARP packets.
61 Manage ethernet bridges.
62 Supports addbr/delbr and addif/delif.
64 config FEATURE_BRCTL_FANCY
69 Add support for extended option like:
70 setageing, setfd, sethello, setmaxage,
71 setpathcost, setportprio, setbridgeprio,
73 This adds about 600 bytes.
75 config FEATURE_BRCTL_SHOW
76 bool "Support show, showmac and showstp"
78 depends on BRCTL && FEATURE_BRCTL_FANCY
80 Add support for option which prints the current config:
81 showmacs, showstp, show
87 Small and static DNS server daemon.
93 Send a magic packet to wake up sleeping machines.
100 fakeidentd listens on the ident port and returns a predefined
101 fake value on any query.
107 simple FTP daemon. You have to run it via inetd.
109 config FEATURE_FTP_WRITE
110 bool "Enable upload commands"
114 Enable all kinds of FTP upload commands (-w option)
120 Retrieve a remote file via FTP.
126 Store a remote file via FTP.
128 config FEATURE_FTPGETPUT_LONG_OPTIONS
129 bool "Enable long options in ftpget/ftpput"
131 depends on GETOPT_LONG && (FTPGET || FTPPUT)
133 Support long options for the ftpget/ftpput applet.
139 Show or set the system's host name.
145 Serve web pages via an HTTP server.
147 config FEATURE_HTTPD_RANGES
148 bool "Support 'Ranges:' header"
152 Makes httpd emit "Accept-Ranges: bytes" header and understand
153 "Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted
154 downloads, seeking in multimedia players etc.
156 config FEATURE_HTTPD_USE_SENDFILE
157 bool "Use sendfile system call"
161 When enabled, httpd will use the kernel sendfile() function
162 instead of read/write loop.
164 config FEATURE_HTTPD_SETUID
165 bool "Enable -u <user> option"
169 This option allows the server to run as a specific user
170 rather than defaulting to the user that starts the server.
171 Use of this option requires special privileges to change to a
174 config FEATURE_HTTPD_BASIC_AUTH
175 bool "Enable Basic http Authentication"
179 Utilizes password settings from /etc/httpd.conf for basic
180 authentication on a per url basis.
182 config FEATURE_HTTPD_AUTH_MD5
183 bool "Support MD5 crypted passwords for http Authentication"
185 depends on FEATURE_HTTPD_BASIC_AUTH
187 Enables basic per URL authentication from /etc/httpd.conf
190 config FEATURE_HTTPD_CGI
191 bool "Support Common Gateway Interface (CGI)"
195 This option allows scripts and executables to be invoked
196 when specific URLs are requested.
198 config FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
199 bool "Support for running scripts through an interpreter"
201 depends on FEATURE_HTTPD_CGI
203 This option enables support for running scripts through an
204 interpreter. Turn this on if you want PHP scripts to work
205 properly. You need to supply an additional line in your httpd
207 *.php:/path/to/your/php
209 config FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
210 bool "Set REMOTE_PORT environment variable for CGI"
212 depends on FEATURE_HTTPD_CGI
214 Use of this option can assist scripts in generating
215 references that contain a unique port number.
217 config FEATURE_HTTPD_ENCODE_URL_STR
218 bool "Enable -e option (useful for CGIs written as shell scripts)"
222 This option allows html encoding of arbitrary strings for display
223 by the browser. Output goes to stdout.
224 For example, httpd -e "<Hello World>" produces
225 "<Hello World>".
227 config FEATURE_HTTPD_ERROR_PAGES
228 bool "Support for custom error pages"
232 This option allows you to define custom error pages in
233 the configuration file instead of the default HTTP status
234 error pages. For instance, if you add the line:
236 in the config file, the server will respond the specified
237 '/path/e404.html' file instead of the terse '404 NOT FOUND'
240 config FEATURE_HTTPD_PROXY
241 bool "Support for reverse proxy"
245 This option allows you to define URLs that will be forwarded
246 to another HTTP server. To setup add the following line to the
248 P:/url/:http://hostname[:port]/new/path/
249 Then a request to /url/myfile will be forwarded to
250 http://hostname[:port]/new/path/myfile.
256 Ifconfig is used to configure the kernel-resident network interfaces.
258 config FEATURE_IFCONFIG_STATUS
259 bool "Enable status reporting output (+7k)"
263 If ifconfig is called with no arguments it will display the status
264 of the currently active interfaces.
266 config FEATURE_IFCONFIG_SLIP
267 bool "Enable slip-specific options \"keepalive\" and \"outfill\""
271 Allow "keepalive" and "outfill" support for SLIP. If you're not
272 planning on using serial lines, leave this unchecked.
274 config FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
275 bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
279 Allow the start address for shared memory, start address for I/O,
280 and/or the interrupt line used by the specified device.
282 config FEATURE_IFCONFIG_HW
283 bool "Enable option \"hw\" (ether only)"
287 Set the hardware address of this interface, if the device driver
288 supports this operation. Currently, we only support the 'ether'
291 config FEATURE_IFCONFIG_BROADCAST_PLUS
292 bool "Set the broadcast automatically"
296 Setting this will make ifconfig attempt to find the broadcast
297 automatically if the value '+' is used.
303 Userspace application to bind several interfaces
304 to a logical interface (use with kernel bonding driver).
310 Network interface plug detection daemon.
316 Activate or deactivate the specified interfaces. This applet makes
317 use of either "ifconfig" and "route" or the "ip" command to actually
318 configure network interfaces. Therefore, you will probably also want
319 to enable either IFCONFIG and ROUTE, or enable
320 FEATURE_IFUPDOWN_IP and the various IP options. Of
321 course you could use non-busybox versions of these programs, so
322 against my better judgement (since this will surely result in plenty
323 of support questions on the mailing list), I do not force you to
324 enable these additional options. It is up to you to supply either
325 "ifconfig", "route" and "run-parts" or the "ip" command, either
326 via busybox or via standalone utilities.
328 config IFUPDOWN_IFSTATE_PATH
329 string "Absolute path to ifstate file"
330 default "/var/run/ifstate"
333 ifupdown keeps state information in a file called ifstate.
334 Typically it is located in /var/run/ifstate, however
335 some distributions tend to put it in other places
336 (debian, for example, uses /etc/network/run/ifstate).
337 This config option defines location of ifstate.
339 config FEATURE_IFUPDOWN_IP
344 Use the iproute "ip" command to implement "ifup" and "ifdown", rather
345 than the default of using the older 'ifconfig' and 'route' utilities.
347 config FEATURE_IFUPDOWN_IP_BUILTIN
348 bool "Use busybox ip applet"
350 depends on FEATURE_IFUPDOWN_IP
352 select FEATURE_IP_ADDRESS
353 select FEATURE_IP_LINK
354 select FEATURE_IP_ROUTE
356 Use the busybox iproute "ip" applet to implement "ifupdown".
358 If left disabled, you must install the full-blown iproute2
359 utility or the "ifup" and "ifdown" applets will not work.
361 config FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
362 bool "Use busybox ifconfig and route applets"
364 depends on IFUPDOWN && !FEATURE_IFUPDOWN_IP
368 Use the busybox iproute "ifconfig" and "route" applets to
369 implement the "ifup" and "ifdown" utilities.
371 If left disabled, you must install the full-blown ifconfig
372 and route utilities, or the "ifup" and "ifdown" applets will not
375 config FEATURE_IFUPDOWN_IPV4
376 bool "Support for IPv4"
380 If you want ifup/ifdown to talk IPv4, leave this on.
382 config FEATURE_IFUPDOWN_IPV6
383 bool "Support for IPv6"
385 depends on IFUPDOWN && FEATURE_IPV6
387 If you need support for IPv6, turn this option on.
390 ###config FEATURE_IFUPDOWN_IPX
391 ### bool "Support for IPX"
393 ### depends on IFUPDOWN
395 ### If this option is selected you can use busybox to work with IPX
398 config FEATURE_IFUPDOWN_MAPPING
399 bool "Enable mapping support"
403 This enables support for the "mapping" stanza, unless you have
404 a weird network setup you don't need it.
406 config FEATURE_IFUPDOWN_EXTERNAL_DHCP
407 bool "Support for external dhcp clients"
411 This enables support for the external dhcp clients. Clients are
412 tried in the following order: dhcpcd, dhclient, pump and udhcpc.
413 Otherwise, if udhcpc applet is enabled, it is used.
414 Otherwise, ifup/ifdown will have no support for DHCP.
419 select FEATURE_SYSLOG
421 Internet superserver daemon
423 config FEATURE_INETD_SUPPORT_BUILTIN_ECHO
424 bool "Support echo service"
428 Echo received data internal inetd service
430 config FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
431 bool "Support discard service"
435 Internet /dev/null internal inetd service
437 config FEATURE_INETD_SUPPORT_BUILTIN_TIME
438 bool "Support time service"
442 Return 32 bit time since 1900 internal inetd service
444 config FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
445 bool "Support daytime service"
449 Return human-readable time internal inetd service
451 config FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
452 bool "Support chargen service"
456 Familiar character generator internal inetd service
458 config FEATURE_INETD_RPC
459 bool "Support RPC services"
462 select FEATURE_HAVE_RPC
464 Support Sun-RPC based services
470 The "ip" applet is a TCP/IP interface configuration and routing
471 utility. You generally don't need "ip" to use busybox with
474 config FEATURE_IP_ADDRESS
479 Address manipulation support for the "ip" applet.
481 config FEATURE_IP_LINK
486 Configure network devices with "ip".
488 config FEATURE_IP_ROUTE
493 Add support for routing table management to "ip".
495 config FEATURE_IP_TUNNEL
500 Add support for tunneling commands to "ip".
502 config FEATURE_IP_RULE
507 Add support for rule commands to "ip".
509 config FEATURE_IP_SHORT_FORMS
510 bool "Support short forms of ip commands"
514 Also support short-form of ip <OBJECT> commands:
518 ip tunnel -> iptunnel
521 Say N unless you desparately need the short form of the ip
524 config FEATURE_IP_RARE_PROTOCOLS
525 bool "Support displaying rarely used link types"
529 If you are not going to use links of type "frad", "econet",
530 "bif" etc, you probably don't need to enable this.
531 Ethernet, wireless, infrared, ppp/slip, ip tunnelling
532 link types are supported without this option selected.
537 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ADDRESS
542 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_LINK
547 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ROUTE
552 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_TUNNEL
557 depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_RULE
563 ipcalc takes an IP address and netmask and calculates the
564 resulting broadcast, network, and host range.
566 config FEATURE_IPCALC_FANCY
567 bool "Fancy IPCALC, more options, adds 1 kbyte"
571 Adds the options hostname, prefix and silent to the output of
574 config FEATURE_IPCALC_LONG_OPTIONS
575 bool "Enable long options"
577 depends on IPCALC && GETOPT_LONG
579 Support long options for the ipcalc applet.
584 select FEATURE_SYSLOG
586 nameif is used to rename network interface by its MAC address.
587 Renamed interfaces MUST be in the down state.
588 It is possible to use a file (default: /etc/mactab)
589 with list of new interface names and MACs.
590 Maximum interface name length: IFNAMSIZ = 16
591 File fields are separated by space or tab.
594 new_interface_name XX:XX:XX:XX:XX:XX
596 config FEATURE_NAMEIF_EXTENDED
597 bool "Extended nameif"
601 This extends the nameif syntax to support the bus_info and driver
602 checks. The syntax is compatible to the normal nameif.
604 new_interface_name driver=asix bus=usb-0000:00:08.2-3
605 new_interface_name bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5
606 new_interface_name mac=00:80:C8:38:91:B5
607 new_interface_name 00:80:C8:38:91:B5
613 A simple Unix utility which reads and writes data across network
617 bool "Netcat server options (-l)"
621 Allow netcat to act as a server.
624 bool "Netcat extensions (-eiw and filename)"
628 Add -e (support for executing the rest of the command line after
629 making or receiving a successful connection), -i (delay interval for
630 lines sent), -w (timeout for initial connection).
636 netstat prints information about the Linux networking subsystem.
638 config FEATURE_NETSTAT_WIDE
639 bool "Enable wide netstat output"
643 Add support for wide columns. Useful when displaying IPv6 addresses
646 config FEATURE_NETSTAT_PRG
647 bool "Enable PID/Program name output"
651 Add support for -p flag to print out PID and program name.
658 nslookup is a tool to query Internet name servers.
664 ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
665 elicit an ICMP ECHO_RESPONSE from a host or gateway.
670 depends on FEATURE_IPV6 && PING
672 This will give you a ping that can talk IPv6.
674 config FEATURE_FANCY_PING
675 bool "Enable fancy ping output"
679 Make the output from the ping applet include statistics, and at the
680 same time provide full support for ICMP packets.
686 Simple network port scanner.
692 Route displays or manipulates the kernel's IP routing tables.
698 slattach is a small utility to attach network interfaces to serial
705 # show / manipulate traffic control settings
707 #config FEATURE_TC_INGRESS
715 Telnet is an interface to the TELNET protocol, but is also commonly
716 used to test other simple protocols.
718 config FEATURE_TELNET_TTYPE
719 bool "Pass TERM type to remote host"
723 Setting this option will forward the TERM environment variable to the
724 remote host you are connecting to. This is useful to make sure that
725 things like ANSI colors and other control sequences behave.
727 config FEATURE_TELNET_AUTOLOGIN
728 bool "Pass USER type to remote host"
732 Setting this option will forward the USER environment variable to the
733 remote host you are connecting to. This is useful when you need to
734 log into a machine without telling the username (autologin). This
735 option enables `-a' and `-l USER' arguments.
740 select FEATURE_SYSLOG
742 A daemon for the TELNET protocol, allowing you to log onto the host
743 running the daemon. Please keep in mind that the TELNET protocol
744 sends passwords in plain text. If you can't afford the space for an
745 SSH daemon and you trust your network, you may say 'y' here. As a
746 more secure alternative, you should seriously consider installing the
747 very small Dropbear SSH daemon instead:
748 http://matt.ucc.asn.au/dropbear/dropbear.html
750 Note that for busybox telnetd to work you need several things:
751 First of all, your kernel needs:
755 Next, you need a /dev/pts directory on your root filesystem:
758 drwxr-xr-x 2 root root 0 Sep 23 13:21 /dev/pts/
760 Next you need the pseudo terminal master multiplexer /dev/ptmx:
763 crw-rw-rw- 1 root tty 5, 2 Sep 23 13:55 /dev/ptmx
765 Any /dev/ttyp[0-9]* files you may have can be removed.
766 Next, you need to mount the devpts filesystem on /dev/pts using:
768 mount -t devpts devpts /dev/pts
770 You need to be sure that Busybox has LOGIN and
771 FEATURE_SUID enabled. And finally, you should make
772 certain that Busybox has been installed setuid root:
774 chown root.root /bin/busybox
775 chmod 4755 /bin/busybox
777 with all that done, telnetd _should_ work....
780 config FEATURE_TELNETD_STANDALONE
781 bool "Support standalone telnetd (not inetd only)"
785 Selecting this will make telnetd able to run standalone.
791 This enables the Trivial File Transfer Protocol client program. TFTP
792 is usually used for simple, small transfers such as a root image
793 for a network-enabled bootloader.
799 This enables the Trivial File Transfer Protocol server program.
800 It expects that stdin is a datagram socket and a packet
801 is already pending on it. It will exit after one transfer.
802 In other words: it should be run from inetd in nowait mode,
803 or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
805 config FEATURE_TFTP_GET
806 bool "Enable \"get\" command"
808 depends on TFTP || TFTPD
810 Add support for the GET command within the TFTP client. This allows
811 a client to retrieve a file from a TFTP server.
812 Also enable upload support in tftpd, if tftpd is selected.
814 config FEATURE_TFTP_PUT
815 bool "Enable \"put\" command"
817 depends on TFTP || TFTPD
819 Add support for the PUT command within the TFTP client. This allows
820 a client to transfer a file to a TFTP server.
821 Also enable download support in tftpd, if tftpd is selected.
823 config FEATURE_TFTP_BLOCKSIZE
824 bool "Enable \"blksize\" protocol option"
826 depends on TFTP || TFTPD
828 Allow tftp to specify block size, and tftpd to understand
834 depends on TFTP || TFTPD
836 Enable debug settings for tftp. This is useful if you're running
837 into problems with tftp as the protocol doesn't help you much when
838 you run into problems.
844 Utility to trace the route of IP packets
846 config FEATURE_TRACEROUTE_VERBOSE
847 bool "Enable verbose output"
849 depends on TRACEROUTE
851 Add some verbosity to traceroute. This includes among other things
852 hostnames and ICMP response types.
854 config FEATURE_TRACEROUTE_SOURCE_ROUTE
855 bool "Enable loose source route"
857 depends on TRACEROUTE
859 Add option to specify a loose source route gateway
862 config FEATURE_TRACEROUTE_USE_ICMP
863 bool "Use ICMP instead of UDP"
865 depends on TRACEROUTE
867 Add option -I to use ICMP ECHO instead of UDP datagrams.
869 source networking/udhcp/Config.in
871 config IFUPDOWN_UDHCPC_CMD_OPTIONS
872 string "ifup udhcpc command line options"
874 depends on IFUPDOWN && APP_UDHCPC
876 Command line options to pass to udhcpc from ifup.
877 Intended to alter options not available in /etc/network/interfaces.
878 (IE: --syslog --background etc...)
884 Creates, removes, and configures VLAN interfaces
890 wget is a utility for non-interactive download of files from HTTP,
891 HTTPS, and FTP servers.
893 config FEATURE_WGET_STATUSBAR
894 bool "Enable a nifty process meter (+2k)"
898 Enable the transfer progress bar for wget transfers.
900 config FEATURE_WGET_AUTHENTICATION
901 bool "Enable HTTP authentication"
905 Support authenticated HTTP transfers.
907 config FEATURE_WGET_LONG_OPTIONS
908 bool "Enable long options"
910 depends on WGET && GETOPT_LONG
912 Support long options for the wget applet.
917 select FEATURE_SYSLOG
919 ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
920 It's a daemon that allocates and defends a dynamically assigned
921 address on the 169.254/16 network, requiring no system administrator.
923 See http://www.zeroconf.org for further details, and "zcip.script"
924 in the busybox examples.
930 tcpsvd listens on a TCP port and runs a program for each new
937 tunctl creates or deletes tun devices.
939 config FEATURE_TUNCTL_UG
940 bool "Support owner:group assignment"
944 Allow to specify owner and group of newly created interface.
945 340 bytes of pure bloat. Say no here.
951 udpsvd listens on an UDP port and runs a program for each new