1#
2# For a description of the syntax of this configuration file,
3# see scripts/kbuild/config-language.txt.
4#
5
6menu "Networking Utilities"
7
8config 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
15config 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
23config ARP
24	bool "arp"
25	default n
26	help
27	  Manipulate the system ARP cache.
28
29config ARPING
30	bool "arping"
31	default n
32	help
33	  Ping hosts by ARP packets.
34
35config DNSD
36	bool "dnsd"
37	default n
38	help
39	  Small and static DNS server daemon.
40
41config ETHER_WAKE
42	bool "ether-wake"
43	default n
44	help
45	  Send a magic packet to wake up sleeping machines.
46
47config 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
55config FTPGET
56	bool "ftpget"
57	default n
58	help
59	  Retrieve a remote file via FTP.
60
61config FTPPUT
62	bool "ftpput"
63	default n
64	help
65	  Store a remote file via FTP.
66
67config 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
74config HOSTNAME
75	bool "hostname"
76	default n
77	help
78	  Show or set the system's host name.
79
80config HTTPD
81	bool "httpd"
82	default n
83	help
84	  Serve web pages via an HTTP server.
85
86config 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
94config 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
102config 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
112config 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
120config 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
128config 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
136config 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
144config 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
155config 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
163config 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
173config 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
186config IFCONFIG
187	bool "ifconfig"
188	default n
189	help
190	  Ifconfig is used to configure the kernel-resident network interfaces.
191
192config 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
200config 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
208config 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
216config 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
225config 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
233config 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
249config 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
259config 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
267config 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
281config 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
295config 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
302config 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
318config 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
326config 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
336config INETD
337	bool "inetd"
338	default n
339	select FEATURE_SYSLOG
340	help
341	  Internet superserver daemon
342
343config 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
350config 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
357config 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
364config 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
371config 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
378config 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
386config 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
394config 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
401config FEATURE_IP_LINK
402	bool "ip link"
403	default y
404	depends on IP
405	help
406	  Configure network devices with "ip".
407
408config 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
415config 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
422config 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
429config 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
444config IPADDR
445	bool
446	default y
447	depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ADDRESS
448
449config IPLINK
450	bool
451	default y
452	depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_LINK
453
454config IPROUTE
455	bool
456	default y
457	depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ROUTE
458
459config IPTUNNEL
460	bool
461	default y
462	depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_TUNNEL
463
464config IPRULE
465	bool
466	default y
467	depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_RULE
468
469config 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
476config 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
483config 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
490config 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
505config NC
506	bool "nc"
507	default n
508	help
509	  A simple Unix utility which reads and writes data across network
510	  connections.
511
512config 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
519config 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
528config NETSTAT
529	bool "netstat"
530	default n
531	help
532	  netstat prints information about the Linux networking subsystem.
533
534config 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
542config NSLOOKUP
543	bool "nslookup"
544	default n
545	help
546	  nslookup is a tool to query Internet name servers.
547
548config 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
555config 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
562config PSCAN
563	bool "pscan"
564	default n
565	help
566	  Simple network port scanner.
567
568config 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
576config ROUTE
577	bool "route"
578	default n
579	help
580	  Route displays or manipulates the kernel's IP routing tables.
581
582config SLATTACH
583	bool "slattach"
584	default n
585	help
586	  slattach is a small utility to attach network interfaces to serial lines.
587
588config 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
595config 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
604config 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
614config 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
657config 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
664config 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
672config 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
680config 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
688config 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
695config 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
704config TRACEROUTE
705	bool "traceroute"
706	default n
707	help
708	  Utility to trace the route of IP packets
709
710config 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
718config 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
726config 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
733source networking/udhcp/Config.in
734
735config VCONFIG
736	bool "vconfig"
737	default n
738	help
739	  Creates, removes, and configures VLAN interfaces
740
741config 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
748config 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
755config FEATURE_WGET_AUTHENTICATION
756	bool "Enable HTTP authentication"
757	default y
758	depends on WGET
759	help
760	  Support authenticated HTTP transfers.
761
762config 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
769config 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
781endmenu
782