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