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