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