httpd: add optional support for error pages
[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_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         help
253           ifupdown keeps state information in a file called ifstate.
254           Typically it is located in /var/run/ifstate, however
255           some distributions tend to put it in other places
256           (debian, for example, uses /etc/network/run/ifstate).
257           This config option defines location of ifstate.
258
259 config FEATURE_IFUPDOWN_IP
260         bool "Use ip applet"
261         default n
262         depends on IFUPDOWN
263         help
264           Use the iproute "ip" command to implement "ifup" and "ifdown", rather
265           than the default of using the older 'ifconfig' and 'route' utilities.
266
267 config FEATURE_IFUPDOWN_IP_BUILTIN
268         bool "Use busybox ip applet"
269         default y
270         depends on FEATURE_IFUPDOWN_IP
271         select IP
272         select FEATURE_IP_ADDRESS
273         select FEATURE_IP_LINK
274         select FEATURE_IP_ROUTE
275         help
276           Use the busybox iproute "ip" applet to implement "ifupdown".
277
278           If left disabled, you must install the full-blown iproute2
279           utility or the  "ifup" and "ifdown" applets will not work.
280
281 config FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
282         bool "Use busybox ifconfig and route applets"
283         default y
284         depends on IFUPDOWN && !FEATURE_IFUPDOWN_IP
285         select IFCONFIG
286         select ROUTE
287         help
288           Use the busybox iproute "ifconfig" and "route" applets to
289           implement the "ifup" and "ifdown" utilities.
290
291           If left disabled, you must install the full-blown ifconfig
292           and route utilities, or the  "ifup" and "ifdown" applets will not
293           work.
294
295 config FEATURE_IFUPDOWN_IPV4
296         bool "Enable support for IPv4"
297         default y
298         depends on IFUPDOWN
299         help
300           If you want ifup/ifdown to talk IPv4, leave this on.
301
302 config FEATURE_IFUPDOWN_IPV6
303         bool "Enable support for IPv6"
304         default n
305         depends on IFUPDOWN && FEATURE_IPV6
306         help
307           If you need support for IPv6, turn this option on.
308
309 ### UNUSED
310 ### config FEATURE_IFUPDOWN_IPX
311 ###     bool "Enable support for IPX"
312 ###     default n
313 ###     depends on IFUPDOWN
314 ###     help
315 ###       If this option is selected you can use busybox to work with IPX
316 ###       networks.
317
318 config FEATURE_IFUPDOWN_MAPPING
319         bool "Enable mapping support"
320         default n
321         depends on IFUPDOWN
322         help
323           This enables support for the "mapping" stanza, unless you have
324           a weird network setup you don't need it.
325
326 config FEATURE_IFUPDOWN_EXTERNAL_DHCP
327         bool "Enable support for external dhcp clients"
328         default n
329         depends on IFUPDOWN
330         help
331           This enables support for the external dhcp clients. Clients are
332           tried in the following order: dhcpcd, dhclient, pump and udhcpc.
333           Otherwise, if udhcpc applet is enabled, it is used.
334           Otherwise, ifup/ifdown will have no support for DHCP.
335
336 config INETD
337         bool "inetd"
338         default n
339         select FEATURE_SYSLOG
340         help
341           Internet superserver daemon
342
343 config FEATURE_INETD_SUPPORT_BUILTIN_ECHO
344         bool "Support echo service"
345         default y
346         depends on INETD
347         help
348           Echo received data internal inetd service
349
350 config FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
351         bool "Support discard service"
352         default y
353         depends on INETD
354         help
355           Internet /dev/null internal inetd service
356
357 config FEATURE_INETD_SUPPORT_BUILTIN_TIME
358         bool "Support time service"
359         default y
360         depends on INETD
361         help
362           Return 32 bit time since 1900 internal inetd service
363
364 config FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
365         bool "Support daytime service"
366         default y
367         depends on INETD
368         help
369           Return human-readable time internal inetd service
370
371 config FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
372         bool "Support chargen service"
373         default y
374         depends on INETD
375         help
376           Familiar character generator internal inetd service
377
378 config FEATURE_INETD_RPC
379         bool "Support RPC services"
380         default n
381         depends on INETD
382         select FEATURE_HAVE_RPC
383         help
384           Support Sun-RPC based services
385
386 config IP
387         bool "ip"
388         default n
389         help
390           The "ip" applet is a TCP/IP interface configuration and routing
391           utility.  You generally don't need "ip" to use busybox with
392           TCP/IP.
393
394 config FEATURE_IP_ADDRESS
395         bool "ip address"
396         default y
397         depends on IP
398         help
399           Address manipulation support for the "ip" applet.
400
401 config FEATURE_IP_LINK
402         bool "ip link"
403         default y
404         depends on IP
405         help
406           Configure network devices with "ip".
407
408 config FEATURE_IP_ROUTE
409         bool "ip route"
410         default y
411         depends on IP
412         help
413           Add support for routing table management to "ip".
414
415 config FEATURE_IP_TUNNEL
416         bool "ip tunnel"
417         default n
418         depends on IP
419         help
420           Add support for tunneling commands to "ip".
421
422 config FEATURE_IP_RULE
423         bool "ip rule"
424         default n
425         depends on IP
426         help
427           Add support for rule commands to "ip".
428
429 config FEATURE_IP_SHORT_FORMS
430         bool "Support short forms of ip commands."
431         default n
432         depends on IP
433         help
434           Also support short-form of ip <OBJECT> commands:
435           ip addr   -> ipaddr
436           ip link   -> iplink
437           ip route  -> iproute
438           ip tunnel -> iptunnel
439           ip rule   -> iprule
440
441           Say N unless you desparately need the short form of the ip
442           object commands.
443
444 config IPADDR
445         bool
446         default y
447         depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ADDRESS
448
449 config IPLINK
450         bool
451         default y
452         depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_LINK
453
454 config IPROUTE
455         bool
456         default y
457         depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ROUTE
458
459 config IPTUNNEL
460         bool
461         default y
462         depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_TUNNEL
463
464 config IPRULE
465         bool
466         default y
467         depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_RULE
468
469 config IPCALC
470         bool "ipcalc"
471         default n
472         help
473           ipcalc takes an IP address and netmask and calculates the
474           resulting broadcast, network, and host range.
475
476 config FEATURE_IPCALC_FANCY
477         bool "Fancy IPCALC, more options, adds 1 kbyte"
478         default y
479         depends on IPCALC
480         help
481           Adds the options hostname, prefix and silent to the output of "ipcalc".
482
483 config FEATURE_IPCALC_LONG_OPTIONS
484         bool "Enable long options"
485         default n
486         depends on IPCALC && GETOPT_LONG
487         help
488           Support long options for the ipcalc applet.
489
490 config NAMEIF
491         bool "nameif"
492         default n
493         select FEATURE_SYSLOG
494         help
495           nameif is used to rename network interface by its MAC address.
496           Renamed interfaces MUST be in the down state.
497           It is possible to use a file (default: /etc/mactab)
498           with list of new interface names and MACs.
499           Maximum interface name length: IF_NAMESIZE = 16
500           File fields are separated by space or tab.
501           File format:
502           # Comment
503           new_interface_name    XX:XX:XX:XX:XX:XX
504
505 config NC
506         bool "nc"
507         default n
508         help
509           A simple Unix utility which reads and writes data across network
510           connections.
511
512 config NC_SERVER
513         bool "Netcat server options (-l)"
514         default n
515         depends on NC
516         help
517           Allow netcat to act as a server.
518
519 config NC_EXTRA
520         bool "Netcat extensions (-eiw and filename)"
521         default n
522         depends on NC
523         help
524           Add -e (support for executing the rest of the command line after
525           making or receiving a successful connection), -i (delay interval for
526           lines sent), -w (timeout for initial connection).
527
528 config NETSTAT
529         bool "netstat"
530         default n
531         help
532           netstat prints information about the Linux networking subsystem.
533
534 config FEATURE_NETSTAT_WIDE
535         bool "  Enable wide netstat output"
536         default n
537         depends on NETSTAT
538         help
539           Add support for wide columns. Useful when displaying IPv6 addresses
540           (-W option).
541
542 config NSLOOKUP
543         bool "nslookup"
544         default n
545         help
546           nslookup is a tool to query Internet name servers.
547
548 config PING
549         bool "ping"
550         default n
551         help
552           ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
553           elicit an ICMP ECHO_RESPONSE from a host or gateway.
554
555 config PING6
556         bool "ping6"
557         default n
558         depends on FEATURE_IPV6 && PING
559         help
560           This will give you a ping that can talk IPv6.
561
562 config PSCAN
563         bool "pscan"
564         default n
565         help
566           Simple network port scanner.
567
568 config FEATURE_FANCY_PING
569         bool "Enable fancy ping output"
570         default y
571         depends on PING
572         help
573           Make the output from the ping applet include statistics, and at the
574           same time provide full support for ICMP packets.
575
576 config ROUTE
577         bool "route"
578         default n
579         help
580           Route displays or manipulates the kernel's IP routing tables.
581
582 config SLATTACH
583         bool "slattach"
584         default n
585         help
586           slattach is a small utility to attach network interfaces to serial lines.
587
588 config TELNET
589         bool "telnet"
590         default n
591         help
592           Telnet is an interface to the TELNET protocol, but is also commonly
593           used to test other simple protocols.
594
595 config FEATURE_TELNET_TTYPE
596         bool "Pass TERM type to remote host"
597         default y
598         depends on TELNET
599         help
600           Setting this option will forward the TERM environment variable to the
601           remote host you are connecting to.  This is useful to make sure that
602           things like ANSI colors and other control sequences behave.
603
604 config FEATURE_TELNET_AUTOLOGIN
605         bool "Pass USER type to remote host"
606         default y
607         depends on TELNET
608         help
609           Setting this option will forward the USER environment variable to the
610           remote host you are connecting to. This is useful when you need to
611           log into a machine without telling the username (autologin). This
612           option enables `-a' and `-l USER' arguments.
613
614 config TELNETD
615         bool "telnetd"
616         default n
617         select FEATURE_SYSLOG
618         help
619           A daemon for the TELNET protocol, allowing you to log onto the host
620           running the daemon.  Please keep in mind that the TELNET protocol
621           sends passwords in plain text.  If you can't afford the space for an
622           SSH daemon and you trust your network, you may say 'y' here.  As a
623           more secure alternative, you should seriously consider installing the
624           very small Dropbear SSH daemon instead:
625                 http://matt.ucc.asn.au/dropbear/dropbear.html
626
627           Note that for busybox telnetd to work you need several things:
628           First of all, your kernel needs:
629                   UNIX98_PTYS=y
630                   DEVPTS_FS=y
631
632           Next, you need a /dev/pts directory on your root filesystem:
633
634                   $ ls -ld /dev/pts
635                   drwxr-xr-x  2 root root 0 Sep 23 13:21 /dev/pts/
636
637           Next you need the pseudo terminal master multiplexer /dev/ptmx:
638
639                   $ ls -la /dev/ptmx
640                   crw-rw-rw-  1 root tty 5, 2 Sep 23 13:55 /dev/ptmx
641
642           Any /dev/ttyp[0-9]* files you may have can be removed.
643           Next, you need to mount the devpts filesystem on /dev/pts using:
644
645                   mount -t devpts devpts /dev/pts
646
647           You need to be sure that Busybox has LOGIN and
648           FEATURE_SUID enabled.  And finally, you should make
649           certain that Busybox has been installed setuid root:
650
651                 chown root.root /bin/busybox
652                 chmod 4755 /bin/busybox
653
654           with all that done, telnetd _should_ work....
655
656
657 config FEATURE_TELNETD_STANDALONE
658         bool "Support standalone telnetd (not inetd only)"
659         default n
660         depends on TELNETD
661         help
662           Selecting this will make telnetd able to run standalone.
663
664 config TFTP
665         bool "tftp"
666         default n
667         help
668           This enables the Trivial File Transfer Protocol client program.  TFTP
669           is usually used for simple, small transfers such as a root image
670           for a network-enabled bootloader.
671
672 config FEATURE_TFTP_GET
673         bool "Enable \"get\" command"
674         default y
675         depends on TFTP
676         help
677           Add support for the GET command within the TFTP client.  This allows
678           a client to retrieve a file from a TFTP server.
679
680 config FEATURE_TFTP_PUT
681         bool "Enable \"put\" command"
682         default y
683         depends on TFTP
684         help
685           Add support for the PUT command within the TFTP client.  This allows
686           a client to transfer a file to a TFTP server.
687
688 config FEATURE_TFTP_BLOCKSIZE
689         bool "Enable \"blocksize\" command"
690         default n
691         depends on TFTP
692         help
693           Allow the client to specify the desired block size for transfers.
694
695 config DEBUG_TFTP
696         bool "Enable debug"
697         default n
698         depends on TFTP
699         help
700           Enable debug settings for tftp.  This is useful if you're running
701           into problems with tftp as the protocol doesn't help you much when
702           you run into problems.
703
704 config TRACEROUTE
705         bool "traceroute"
706         default n
707         help
708           Utility to trace the route of IP packets
709
710 config FEATURE_TRACEROUTE_VERBOSE
711         bool "Enable verbose output"
712         default n
713         depends on TRACEROUTE
714         help
715           Add some verbosity to traceroute.  This includes amongst other things
716           hostnames and ICMP response types.
717
718 config FEATURE_TRACEROUTE_SOURCE_ROUTE
719         bool "Enable loose source route"
720         default n
721         depends on TRACEROUTE
722         help
723           Add option to specify a loose source route gateway
724           (8 maximum).
725
726 config FEATURE_TRACEROUTE_USE_ICMP
727         bool "Use ICMP instead of UDP"
728         default n
729         depends on TRACEROUTE
730         help
731           Add feature to allow for ICMP ECHO instead of UDP datagrams.
732
733 source networking/udhcp/Config.in
734
735 config VCONFIG
736         bool "vconfig"
737         default n
738         help
739           Creates, removes, and configures VLAN interfaces
740
741 config WGET
742         bool "wget"
743         default n
744         help
745           wget is a utility for non-interactive download of files from HTTP,
746           HTTPS, and FTP servers.
747
748 config FEATURE_WGET_STATUSBAR
749         bool "Enable a nifty process meter (+2k)"
750         default y
751         depends on WGET
752         help
753           Enable the transfer progress bar for wget transfers.
754
755 config FEATURE_WGET_AUTHENTICATION
756         bool "Enable HTTP authentication"
757         default y
758         depends on WGET
759         help
760           Support authenticated HTTP transfers.
761
762 config FEATURE_WGET_LONG_OPTIONS
763         bool "Enable long options"
764         default n
765         depends on WGET && GETOPT_LONG
766         help
767           Support long options for the wget applet.
768
769 config ZCIP
770         bool "zcip"
771         default n
772         select FEATURE_SYSLOG
773         help
774           ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
775           It's a daemon that allocates and defends a dynamically assigned
776           address on the 169.254/16 network, requiring no system administrator.
777
778           See http://www.zeroconf.org for further details, and "zcip.script"
779           in the busybox examples.
780
781 endmenu