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