b5b4597c41e58b7fa86a4ee89b057e14455f21ba
[people/mcb30/busybox.git] / networking / Config.in
1 #
2 # For a description of the syntax of this configuration file,
3 # see scripts/kbuild/config-language.txt.
4 #
5
6 menu "Networking Utilities"
7
8 config FEATURE_IPV6
9         bool "Enable IPv6 support"
10         default n
11         help
12           Enable IPv6 support in busybox.
13           This adds IPv6 support in the networking applets.
14
15 config VERBOSE_RESOLUTION_ERRORS
16         bool "Verbose resolution errors"
17         default n
18         help
19           Enable if you are not satisfied with simplistic
20           "can't resolve 'hostname.com'" and want to know more.
21           This may increase size of your executable a bit.
22
23 config ARP
24         bool "arp"
25         default n
26         help
27           Manipulate the system ARP cache.
28
29 config ARPING
30         bool "arping"
31         default n
32         help
33           Ping hosts by ARP packets.
34
35 config DNSD
36         bool "dnsd"
37         default n
38         help
39           Small and static DNS server daemon.
40
41 config ETHER_WAKE
42         bool "ether-wake"
43         default n
44         help
45           Send a magic packet to wake up sleeping machines.
46
47 config FAKEIDENTD
48         bool "fakeidentd"
49         default n
50         select FEATURE_SYSLOG
51         help
52           fakeidentd listens on the ident port and returns a predefined
53           fake value on any query.
54
55 config FTPGET
56         bool "ftpget"
57         default n
58         help
59           Retrieve a remote file via FTP.
60
61 config FTPPUT
62         bool "ftpput"
63         default n
64         help
65           Store a remote file via FTP.
66
67 config FEATURE_FTPGETPUT_LONG_OPTIONS
68         bool "Enable long options in ftpget/ftpput"
69         default n
70         depends on GETOPT_LONG && (FTPGET || FTPPUT)
71         help
72           Support long options for the ftpget/ftpput applet.
73
74 config HOSTNAME
75         bool "hostname"
76         default n
77         help
78           Show or set the system's host name.
79
80 config HTTPD
81         bool "httpd"
82         default n
83         help
84           Serve web pages via an HTTP server.
85
86 config FEATURE_HTTPD_RANGES
87         bool "Support 'Ranges:' header"
88         default n
89         depends on HTTPD
90         help
91           Makes httpd emit "Accept-Ranges: bytes" header and understand
92           "Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted
93           downloads, seeking in multimedia players etc.
94
95 config FEATURE_HTTPD_USE_SENDFILE
96         bool "Use sendfile system call"
97         default n
98         depends on HTTPD
99         help
100           When enabled, httpd will use the kernel sendfile() function
101           instead of read/write loop.
102
103 config FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
104         bool "Support reloading the global config file using hup signal"
105         default n
106         depends on HTTPD
107         help
108           This option enables processing of SIGHUP to reload cached
109           configuration settings.
110
111 config FEATURE_HTTPD_SETUID
112         bool "Enable -u <user> option"
113         default n
114         depends on HTTPD
115         help
116           This option allows the server to run as a specific user
117           rather than defaulting to the user that starts the server.
118           Use of this option requires special privileges to change to a
119           different user.
120
121 config FEATURE_HTTPD_BASIC_AUTH
122         bool "Enable Basic http Authentication"
123         default y
124         depends on HTTPD
125         help
126           Utilizes password settings from /etc/httpd.conf for basic
127           authentication on a per url basis.
128
129 config FEATURE_HTTPD_AUTH_MD5
130         bool "Support MD5 crypted passwords for http Authentication"
131         default n
132         depends on FEATURE_HTTPD_BASIC_AUTH
133         help
134           Enables basic per URL authentication from /etc/httpd.conf
135           using md5 passwords.
136
137 config FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES
138         bool "Support loading additional MIME types at run-time"
139         default n
140         depends on HTTPD
141         help
142           This option enables support for additional MIME types at
143           run-time to be specified in the configuration file.
144
145 config FEATURE_HTTPD_CGI
146         bool "Support Common Gateway Interface (CGI)"
147         default y
148         depends on HTTPD
149         help
150           This option allows scripts and executables to be invoked
151           when specific URLs are requested.
152
153 config FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
154         bool "Enable support for running scripts through an interpreter"
155         default n
156         depends on FEATURE_HTTPD_CGI
157         help
158           This option enables support for running scripts through an
159           interpreter. Turn this on if you want PHP scripts to work
160           properly. You need to supply an additional line in your httpd
161           config file:
162           *.php:/path/to/your/php
163
164 config FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
165         bool "Support the REMOTE_PORT environment variable for CGI"
166         default n
167         depends on FEATURE_HTTPD_CGI
168         help
169           Use of this option can assist scripts in generating
170           references that contain a unique port number.
171
172 config FEATURE_HTTPD_ENCODE_URL_STR
173         bool "Enable the -e option for shell script CGI simplification."
174         default y
175         depends on HTTPD
176         help
177           This option allows html encoding arbitrary
178           strings for display of the browser.  Output goes to stdout.
179           For example, httpd -e "<Hello World>" as
180           "&#60Hello&#32World&#62".
181
182 config FEATURE_HTTPD_ERROR_PAGES
183         bool "Enable support for custom error pages"
184         default n
185         depends on HTTPD
186         help
187           This option allows you to define custom error pages in
188           the configuration file instead of the default HTTP status
189           error pages. For instance, if you add the line:
190                 E404:/path/e404.html
191           in the config file, the server will respond the specified
192           '/path/e404.html' file instead of the terse '404 NOT FOUND'
193           message.
194
195 config FEATURE_HTTPD_PROXY
196         bool "Enable support for reverse proxy"
197         default n
198         depends on HTTPD
199         help
200           This option allows you to define URLs that will be forwarded
201           to another HTTP server. To setup add the following line to the
202           configuration file
203                 P:/url/:http://hostname[:port]/new/path/
204           Then a request to /url/myfile will be forwarded to
205           http://hostname[:port]/new/path/myfile.
206
207 config IFCONFIG
208         bool "ifconfig"
209         default n
210         help
211           Ifconfig is used to configure the kernel-resident network interfaces.
212
213 config FEATURE_IFCONFIG_STATUS
214         bool "Enable status reporting output (+7k)"
215         default y
216         depends on IFCONFIG
217         help
218           If ifconfig is called with no arguments it will display the status
219           of the currently active interfaces.
220
221 config FEATURE_IFCONFIG_SLIP
222         bool "Enable slip-specific options \"keepalive\" and \"outfill\""
223         default n
224         depends on IFCONFIG
225         help
226           Allow "keepalive" and "outfill" support for SLIP.  If you're not
227           planning on using serial lines, leave this unchecked.
228
229 config FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
230         bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
231         default n
232         depends on IFCONFIG
233         help
234           Allow the start address for shared memory, start address for I/O,
235           and/or the interrupt line used by the specified device.
236
237 config FEATURE_IFCONFIG_HW
238         bool "Enable option \"hw\" (ether only)"
239         default y
240         depends on IFCONFIG
241         help
242           Set the hardware address of this interface, if the device driver
243           supports  this  operation.  Currently, we only support the 'ether'
244           class.
245
246 config FEATURE_IFCONFIG_BROADCAST_PLUS
247         bool "Set the broadcast automatically"
248         default n
249         depends on IFCONFIG
250         help
251           Setting this will make ifconfig attempt to find the broadcast
252           automatically if the value '+' is used.
253
254 config IFUPDOWN
255         bool "ifupdown"
256         default n
257         help
258           Activate or deactivate the specified interfaces.  This applet makes
259           use of either "ifconfig" and "route" or the "ip" command to actually
260           configure network interfaces.  Therefore, you will probably also want
261           to enable either IFCONFIG and ROUTE, or enable
262           FEATURE_IFUPDOWN_IP and the various IP options.  Of
263           course you could use non-busybox versions of these programs, so
264           against my better judgement (since this will surely result in plenty
265           of support questions on the mailing list), I do not force you to
266           enable these additional options.  It is up to you to supply either
267           "ifconfig", "route" and "run-parts" or the "ip" command, either
268           via busybox or via standalone utilities.
269
270 config IFUPDOWN_IFSTATE_PATH
271         string "Absolute path to ifstate file"
272         default "/var/run/ifstate"
273         depends on IFUPDOWN
274         help
275           ifupdown keeps state information in a file called ifstate.
276           Typically it is located in /var/run/ifstate, however
277           some distributions tend to put it in other places
278           (debian, for example, uses /etc/network/run/ifstate).
279           This config option defines location of ifstate.
280
281 config FEATURE_IFUPDOWN_IP
282         bool "Use ip applet"
283         default n
284         depends on IFUPDOWN
285         help
286           Use the iproute "ip" command to implement "ifup" and "ifdown", rather
287           than the default of using the older 'ifconfig' and 'route' utilities.
288
289 config FEATURE_IFUPDOWN_IP_BUILTIN
290         bool "Use busybox ip applet"
291         default y
292         depends on FEATURE_IFUPDOWN_IP
293         select IP
294         select FEATURE_IP_ADDRESS
295         select FEATURE_IP_LINK
296         select FEATURE_IP_ROUTE
297         help
298           Use the busybox iproute "ip" applet to implement "ifupdown".
299
300           If left disabled, you must install the full-blown iproute2
301           utility or the  "ifup" and "ifdown" applets will not work.
302
303 config FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
304         bool "Use busybox ifconfig and route applets"
305         default y
306         depends on IFUPDOWN && !FEATURE_IFUPDOWN_IP
307         select IFCONFIG
308         select ROUTE
309         help
310           Use the busybox iproute "ifconfig" and "route" applets to
311           implement the "ifup" and "ifdown" utilities.
312
313           If left disabled, you must install the full-blown ifconfig
314           and route utilities, or the  "ifup" and "ifdown" applets will not
315           work.
316
317 config FEATURE_IFUPDOWN_IPV4
318         bool "Enable support for IPv4"
319         default y
320         depends on IFUPDOWN
321         help
322           If you want ifup/ifdown to talk IPv4, leave this on.
323
324 config FEATURE_IFUPDOWN_IPV6
325         bool "Enable support for IPv6"
326         default n
327         depends on IFUPDOWN && FEATURE_IPV6
328         help
329           If you need support for IPv6, turn this option on.
330
331 ### UNUSED
332 ###config FEATURE_IFUPDOWN_IPX
333 ###     bool "Enable support for IPX"
334 ###     default n
335 ###     depends on IFUPDOWN
336 ###     help
337 ###       If this option is selected you can use busybox to work with IPX
338 ###       networks.
339
340 config FEATURE_IFUPDOWN_MAPPING
341         bool "Enable mapping support"
342         default n
343         depends on IFUPDOWN
344         help
345           This enables support for the "mapping" stanza, unless you have
346           a weird network setup you don't need it.
347
348 config FEATURE_IFUPDOWN_EXTERNAL_DHCP
349         bool "Enable support for external dhcp clients"
350         default n
351         depends on IFUPDOWN
352         help
353           This enables support for the external dhcp clients. Clients are
354           tried in the following order: dhcpcd, dhclient, pump and udhcpc.
355           Otherwise, if udhcpc applet is enabled, it is used.
356           Otherwise, ifup/ifdown will have no support for DHCP.
357
358 config INETD
359         bool "inetd"
360         default n
361         select FEATURE_SYSLOG
362         help
363           Internet superserver daemon
364
365 config FEATURE_INETD_SUPPORT_BUILTIN_ECHO
366         bool "Support echo service"
367         default y
368         depends on INETD
369         help
370           Echo received data internal inetd service
371
372 config FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
373         bool "Support discard service"
374         default y
375         depends on INETD
376         help
377           Internet /dev/null internal inetd service
378
379 config FEATURE_INETD_SUPPORT_BUILTIN_TIME
380         bool "Support time service"
381         default y
382         depends on INETD
383         help
384           Return 32 bit time since 1900 internal inetd service
385
386 config FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
387         bool "Support daytime service"
388         default y
389         depends on INETD
390         help
391           Return human-readable time internal inetd service
392
393 config FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
394         bool "Support chargen service"
395         default y
396         depends on INETD
397         help
398           Familiar character generator internal inetd service
399
400 config FEATURE_INETD_RPC
401         bool "Support RPC services"
402         default n
403         depends on INETD
404         select FEATURE_HAVE_RPC
405         help
406           Support Sun-RPC based services
407
408 config IP
409         bool "ip"
410         default n
411         help
412           The "ip" applet is a TCP/IP interface configuration and routing
413           utility.  You generally don't need "ip" to use busybox with
414           TCP/IP.
415
416 config FEATURE_IP_ADDRESS
417         bool "ip address"
418         default y
419         depends on IP
420         help
421           Address manipulation support for the "ip" applet.
422
423 config FEATURE_IP_LINK
424         bool "ip link"
425         default y
426         depends on IP
427         help
428           Configure network devices with "ip".
429
430 config FEATURE_IP_ROUTE
431         bool "ip route"
432         default y
433         depends on IP
434         help
435           Add support for routing table management to "ip".
436
437 config FEATURE_IP_TUNNEL
438         bool "ip tunnel"
439         default n
440         depends on IP
441         help
442           Add support for tunneling commands to "ip".
443
444 config FEATURE_IP_RULE
445         bool "ip rule"
446         default n
447         depends on IP
448         help
449           Add support for rule commands to "ip".
450
451 config FEATURE_IP_SHORT_FORMS
452         bool "Support short forms of ip commands."
453         default n
454         depends on IP
455         help
456           Also support short-form of ip <OBJECT> commands:
457           ip addr   -> ipaddr
458           ip link   -> iplink
459           ip route  -> iproute
460           ip tunnel -> iptunnel
461           ip rule   -> iprule
462
463           Say N unless you desparately need the short form of the ip
464           object commands.
465
466 config FEATURE_IP_RARE_PROTOCOLS
467         bool "Support displaying rarely used link types"
468         default n
469         depends on IP
470         help
471           If you are not going to use links of type "frad", "econet",
472           "bif" etc, you probably don't need to enable this.
473           Ethernet, wireless, infrared, ppp/slip, ip tunnelling
474           link types are supported without this option selected.
475
476 config IPADDR
477         bool
478         default y
479         depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ADDRESS
480
481 config IPLINK
482         bool
483         default y
484         depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_LINK
485
486 config IPROUTE
487         bool
488         default y
489         depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ROUTE
490
491 config IPTUNNEL
492         bool
493         default y
494         depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_TUNNEL
495
496 config IPRULE
497         bool
498         default y
499         depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_RULE
500
501 config IPCALC
502         bool "ipcalc"
503         default n
504         help
505           ipcalc takes an IP address and netmask and calculates the
506           resulting broadcast, network, and host range.
507
508 config FEATURE_IPCALC_FANCY
509         bool "Fancy IPCALC, more options, adds 1 kbyte"
510         default y
511         depends on IPCALC
512         help
513           Adds the options hostname, prefix and silent to the output of "ipcalc".
514
515 config FEATURE_IPCALC_LONG_OPTIONS
516         bool "Enable long options"
517         default n
518         depends on IPCALC && GETOPT_LONG
519         help
520           Support long options for the ipcalc applet.
521
522 config NAMEIF
523         bool "nameif"
524         default n
525         select FEATURE_SYSLOG
526         help
527           nameif is used to rename network interface by its MAC address.
528           Renamed interfaces MUST be in the down state.
529           It is possible to use a file (default: /etc/mactab)
530           with list of new interface names and MACs.
531           Maximum interface name length: IF_NAMESIZE = 16
532           File fields are separated by space or tab.
533           File format:
534           # Comment
535           new_interface_name    XX:XX:XX:XX:XX:XX
536
537 config NC
538         bool "nc"
539         default n
540         help
541           A simple Unix utility which reads and writes data across network
542           connections.
543
544 config NC_SERVER
545         bool "Netcat server options (-l)"
546         default n
547         depends on NC
548         help
549           Allow netcat to act as a server.
550
551 config NC_EXTRA
552         bool "Netcat extensions (-eiw and filename)"
553         default n
554         depends on NC
555         help
556           Add -e (support for executing the rest of the command line after
557           making or receiving a successful connection), -i (delay interval for
558           lines sent), -w (timeout for initial connection).
559
560 config NETSTAT
561         bool "netstat"
562         default n
563         help
564           netstat prints information about the Linux networking subsystem.
565
566 config FEATURE_NETSTAT_WIDE
567         bool "  Enable wide netstat output"
568         default n
569         depends on NETSTAT
570         help
571           Add support for wide columns. Useful when displaying IPv6 addresses
572           (-W option).
573
574 config NSLOOKUP
575         bool "nslookup"
576         default n
577         help
578           nslookup is a tool to query Internet name servers.
579
580 config PING
581         bool "ping"
582         default n
583         help
584           ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
585           elicit an ICMP ECHO_RESPONSE from a host or gateway.
586
587 config PING6
588         bool "ping6"
589         default n
590         depends on FEATURE_IPV6 && PING
591         help
592           This will give you a ping that can talk IPv6.
593
594 config PSCAN
595         bool "pscan"
596         default n
597         help
598           Simple network port scanner.
599
600 config FEATURE_FANCY_PING
601         bool "Enable fancy ping output"
602         default y
603         depends on PING
604         help
605           Make the output from the ping applet include statistics, and at the
606           same time provide full support for ICMP packets.
607
608 config ROUTE
609         bool "route"
610         default n
611         help
612           Route displays or manipulates the kernel's IP routing tables.
613
614 config SLATTACH
615         bool "slattach"
616         default n
617         help
618           slattach is a small utility to attach network interfaces to serial lines.
619
620 config TELNET
621         bool "telnet"
622         default n
623         help
624           Telnet is an interface to the TELNET protocol, but is also commonly
625           used to test other simple protocols.
626
627 config FEATURE_TELNET_TTYPE
628         bool "Pass TERM type to remote host"
629         default y
630         depends on TELNET
631         help
632           Setting this option will forward the TERM environment variable to the
633           remote host you are connecting to.  This is useful to make sure that
634           things like ANSI colors and other control sequences behave.
635
636 config FEATURE_TELNET_AUTOLOGIN
637         bool "Pass USER type to remote host"
638         default y
639         depends on TELNET
640         help
641           Setting this option will forward the USER environment variable to the
642           remote host you are connecting to. This is useful when you need to
643           log into a machine without telling the username (autologin). This
644           option enables `-a' and `-l USER' arguments.
645
646 config TELNETD
647         bool "telnetd"
648         default n
649         select FEATURE_SYSLOG
650         help
651           A daemon for the TELNET protocol, allowing you to log onto the host
652           running the daemon.  Please keep in mind that the TELNET protocol
653           sends passwords in plain text.  If you can't afford the space for an
654           SSH daemon and you trust your network, you may say 'y' here.  As a
655           more secure alternative, you should seriously consider installing the
656           very small Dropbear SSH daemon instead:
657                 http://matt.ucc.asn.au/dropbear/dropbear.html
658
659           Note that for busybox telnetd to work you need several things:
660           First of all, your kernel needs:
661                   UNIX98_PTYS=y
662                   DEVPTS_FS=y
663
664           Next, you need a /dev/pts directory on your root filesystem:
665
666                   $ ls -ld /dev/pts
667                   drwxr-xr-x  2 root root 0 Sep 23 13:21 /dev/pts/
668
669           Next you need the pseudo terminal master multiplexer /dev/ptmx:
670
671                   $ ls -la /dev/ptmx
672                   crw-rw-rw-  1 root tty 5, 2 Sep 23 13:55 /dev/ptmx
673
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:
676
677                   mount -t devpts devpts /dev/pts
678
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:
682
683                 chown root.root /bin/busybox
684                 chmod 4755 /bin/busybox
685
686           with all that done, telnetd _should_ work....
687
688
689 config FEATURE_TELNETD_STANDALONE
690         bool "Support standalone telnetd (not inetd only)"
691         default n
692         depends on TELNETD
693         help
694           Selecting this will make telnetd able to run standalone.
695
696 config TFTP
697         bool "tftp"
698         default n
699         help
700           This enables the Trivial File Transfer Protocol client program.  TFTP
701           is usually used for simple, small transfers such as a root image
702           for a network-enabled bootloader.
703
704 config FEATURE_TFTP_GET
705         bool "Enable \"get\" command"
706         default y
707         depends on TFTP
708         help
709           Add support for the GET command within the TFTP client.  This allows
710           a client to retrieve a file from a TFTP server.
711
712 config FEATURE_TFTP_PUT
713         bool "Enable \"put\" command"
714         default y
715         depends on TFTP
716         help
717           Add support for the PUT command within the TFTP client.  This allows
718           a client to transfer a file to a TFTP server.
719
720 config FEATURE_TFTP_BLOCKSIZE
721         bool "Enable \"blocksize\" command"
722         default n
723         depends on TFTP
724         help
725           Allow the client to specify the desired block size for transfers.
726
727 config DEBUG_TFTP
728         bool "Enable debug"
729         default n
730         depends on TFTP
731         help
732           Enable debug settings for tftp.  This is useful if you're running
733           into problems with tftp as the protocol doesn't help you much when
734           you run into problems.
735
736 config TRACEROUTE
737         bool "traceroute"
738         default n
739         help
740           Utility to trace the route of IP packets
741
742 config FEATURE_TRACEROUTE_VERBOSE
743         bool "Enable verbose output"
744         default n
745         depends on TRACEROUTE
746         help
747           Add some verbosity to traceroute.  This includes amongst other things
748           hostnames and ICMP response types.
749
750 config FEATURE_TRACEROUTE_SOURCE_ROUTE
751         bool "Enable loose source route"
752         default n
753         depends on TRACEROUTE
754         help
755           Add option to specify a loose source route gateway
756           (8 maximum).
757
758 config FEATURE_TRACEROUTE_USE_ICMP
759         bool "Use ICMP instead of UDP"
760         default n
761         depends on TRACEROUTE
762         help
763           Add feature to allow for ICMP ECHO instead of UDP datagrams.
764
765 source networking/udhcp/Config.in
766
767 config VCONFIG
768         bool "vconfig"
769         default n
770         help
771           Creates, removes, and configures VLAN interfaces
772
773 config WGET
774         bool "wget"
775         default n
776         help
777           wget is a utility for non-interactive download of files from HTTP,
778           HTTPS, and FTP servers.
779
780 config FEATURE_WGET_STATUSBAR
781         bool "Enable a nifty process meter (+2k)"
782         default y
783         depends on WGET
784         help
785           Enable the transfer progress bar for wget transfers.
786
787 config FEATURE_WGET_AUTHENTICATION
788         bool "Enable HTTP authentication"
789         default y
790         depends on WGET
791         help
792           Support authenticated HTTP transfers.
793
794 config FEATURE_WGET_LONG_OPTIONS
795         bool "Enable long options"
796         default n
797         depends on WGET && GETOPT_LONG
798         help
799           Support long options for the wget applet.
800
801 config ZCIP
802         bool "zcip"
803         default n
804         select FEATURE_SYSLOG
805         help
806           ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
807           It's a daemon that allocates and defends a dynamically assigned
808           address on the 169.254/16 network, requiring no system administrator.
809
810           See http://www.zeroconf.org for further details, and "zcip.script"
811           in the busybox examples.
812
813 endmenu