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