summaryrefslogtreecommitdiff
path: root/package/busybox/config/networking/Config.in
blob: 4832a82d0329461841a16891092248e9b9dbcc46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see docs/Kconfig-language.txt.
#

menu "Networking Utilities"

config BUSYBOX_FEATURE_IPV6
	bool "Enable IPv6 support"
	default y
	help
	Enable IPv6 support in busybox.
	This adds IPv6 support in the networking applets.

config BUSYBOX_FEATURE_UNIX_LOCAL
	bool "Enable Unix domain socket support (usually not needed)"
	default n
	help
	Enable Unix domain socket support in all busybox networking
	applets.  Address of the form local:/path/to/unix/socket
	will be recognized.

	This extension is almost never used in real world usage.
	You most likely want to say N.

config BUSYBOX_FEATURE_PREFER_IPV4_ADDRESS
	bool "Prefer IPv4 addresses from DNS queries"
	default y
	depends on BUSYBOX_FEATURE_IPV6
	help
	Use IPv4 address of network host if it has one.

	If this option is off, the first returned address will be used.
	This may cause problems when your DNS server is IPv6-capable and
	is returning IPv6 host addresses too. If IPv6 address
	precedes IPv4 one in DNS reply, busybox network applets
	(e.g. wget) will use IPv6 address. On an IPv6-incapable host
	or network applets will fail to connect to the host
	using IPv6 address.

config BUSYBOX_VERBOSE_RESOLUTION_ERRORS
	bool "Verbose resolution errors"
	default n
	help
	Enable if you are not satisfied with simplistic
	"can't resolve 'hostname.com'" and want to know more.
	This may increase size of your executable a bit.

config BUSYBOX_FEATURE_TLS_SHA1
	bool "In TLS code, support ciphers which use deprecated SHA1"
	depends on BUSYBOX_TLS
	default n
	help
	Selecting this option increases interoperability with very old
	servers, but slightly increases code size.

	Most TLS servers support SHA256 today (2018), since SHA1 is
	considered possibly insecure (although not yet definitely broken).

config BUSYBOX_ARP
	bool "arp (10 kb)"
	default y
	help
	Manipulate the system ARP cache.
config BUSYBOX_ARPING
	bool "arping (9 kb)"
	default y
	help
	Ping hosts by ARP packets.
config BUSYBOX_BRCTL
	bool "brctl (4.7 kb)"
	default y
	help
	Manage ethernet bridges.
	Supports addbr/delbr and addif/delif.

config BUSYBOX_FEATURE_BRCTL_FANCY
	bool "Fancy options"
	default y
	depends on BUSYBOX_BRCTL
	help
	Add support for extended option like:
		setageing, setfd, sethello, setmaxage,
		setpathcost, setportprio, setbridgeprio,
		stp
	This adds about 600 bytes.

config BUSYBOX_FEATURE_BRCTL_SHOW
	bool "Support show"
	default y
	depends on BUSYBOX_BRCTL && BUSYBOX_FEATURE_BRCTL_FANCY
	help
	Add support for option which prints the current config:
		show
config BUSYBOX_DNSD
	bool "dnsd (9.8 kb)"
	default y
	help
	Small and static DNS server daemon.
config BUSYBOX_ETHER_WAKE
	bool "ether-wake (4.9 kb)"
	default y
	help
	Send a magic packet to wake up sleeping machines.
config BUSYBOX_FTPD
	bool "ftpd (30 kb)"
	default y
	help
	Simple FTP daemon. You have to run it via inetd.

config BUSYBOX_FEATURE_FTPD_WRITE
	bool "Enable -w (upload commands)"
	default y
	depends on BUSYBOX_FTPD
	help
	Enable -w option. "ftpd -w" will accept upload commands
	such as STOR, STOU, APPE, DELE, MKD, RMD, rename commands.

config BUSYBOX_FEATURE_FTPD_ACCEPT_BROKEN_LIST
	bool "Enable workaround for RFC-violating clients"
	default y
	depends on BUSYBOX_FTPD
	help
	Some ftp clients (among them KDE's Konqueror) issue illegal
	"LIST -l" requests. This option works around such problems.
	It might prevent you from listing files starting with "-" and
	it increases the code size by ~40 bytes.
	Most other ftp servers seem to behave similar to this.

config BUSYBOX_FEATURE_FTPD_AUTHENTICATION
	bool "Enable authentication"
	default y
	depends on BUSYBOX_FTPD
	help
	Require login, and change to logged in user's UID:GID before
	accessing any files. Option "-a USER" allows "anonymous"
	logins (treats them as if USER logged in).

	If this option is not selected, ftpd runs with the rights
	of the user it was started under, and does not require login.
	Take care to not launch it under root.
config BUSYBOX_FTPGET
	bool "ftpget (7.8 kb)"
	default y
	help
	Retrieve a remote file via FTP.

config BUSYBOX_FTPPUT
	bool "ftpput (7.5 kb)"
	default y
	help
	Store a remote file via FTP.

config BUSYBOX_FEATURE_FTPGETPUT_LONG_OPTIONS
	bool "Enable long options in ftpget/ftpput"
	default y
	depends on BUSYBOX_LONG_OPTS && (BUSYBOX_FTPGET || BUSYBOX_FTPPUT)
config BUSYBOX_HOSTNAME
	bool "hostname (5.5 kb)"
	default y
	help
	Show or set the system's host name.

config BUSYBOX_DNSDOMAINNAME
	bool "dnsdomainname (3.6 kb)"
	default y
	help
	Alias to "hostname -d".
config BUSYBOX_HTTPD
	bool "httpd (32 kb)"
	default y
	help
	HTTP server.

config BUSYBOX_FEATURE_HTTPD_RANGES
	bool "Support 'Ranges:' header"
	default y
	depends on BUSYBOX_HTTPD
	help
	Makes httpd emit "Accept-Ranges: bytes" header and understand
	"Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted
	downloads, seeking in multimedia players etc.

config BUSYBOX_FEATURE_HTTPD_SETUID
	bool "Enable -u <user> option"
	default y
	depends on BUSYBOX_HTTPD
	help
	This option allows the server to run as a specific user
	rather than defaulting to the user that starts the server.
	Use of this option requires special privileges to change to a
	different user.

config BUSYBOX_FEATURE_HTTPD_BASIC_AUTH
	bool "Enable HTTP authentication"
	default y
	depends on BUSYBOX_HTTPD
	help
	Utilizes password settings from /etc/httpd.conf for basic
	authentication on a per url basis.
	Example for httpd.conf file:
	/adm:toor:PaSsWd

config BUSYBOX_FEATURE_HTTPD_AUTH_MD5
	bool "Support MD5-encrypted passwords in HTTP authentication"
	default y
	depends on BUSYBOX_FEATURE_HTTPD_BASIC_AUTH
	help
	Enables encrypted passwords, and wildcard user/passwords
	in httpd.conf file.
	User '*' means 'any system user name is ok',
	password of '*' means 'use system password for this user'
	Examples:
	/adm:toor:$1$P/eKnWXS$aI1aPGxT.dJD5SzqAKWrF0
	/adm:root:*
	/wiki:*:*

config BUSYBOX_FEATURE_HTTPD_CGI
	bool "Support Common Gateway Interface (CGI)"
	default y
	depends on BUSYBOX_HTTPD
	help
	This option allows scripts and executables to be invoked
	when specific URLs are requested.

config BUSYBOX_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
	bool "Support running scripts through an interpreter"
	default y
	depends on BUSYBOX_FEATURE_HTTPD_CGI
	help
	This option enables support for running scripts through an
	interpreter. Turn this on if you want PHP scripts to work
	properly. You need to supply an additional line in your
	httpd.conf file:
	*.php:/path/to/your/php

config BUSYBOX_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
	bool "Set REMOTE_PORT environment variable for CGI"
	default y
	depends on BUSYBOX_FEATURE_HTTPD_CGI
	help
	Use of this option can assist scripts in generating
	references that contain a unique port number.

config BUSYBOX_FEATURE_HTTPD_ENCODE_URL_STR
	bool "Enable -e option (useful for CGIs written as shell scripts)"
	default y
	depends on BUSYBOX_HTTPD
	help
	This option allows html encoding of arbitrary strings for display
	by the browser. Output goes to stdout.
	For example, httpd -e "<Hello World>" produces
	"&#60Hello&#32World&#62".

config BUSYBOX_FEATURE_HTTPD_ERROR_PAGES
	bool "Support custom error pages"
	default y
	depends on BUSYBOX_HTTPD
	help
	This option allows you to define custom error pages in
	the configuration file instead of the default HTTP status
	error pages. For instance, if you add the line:
		E404:/path/e404.html
	in the config file, the server will respond the specified
	'/path/e404.html' file instead of the terse '404 NOT FOUND'
	message.

config BUSYBOX_FEATURE_HTTPD_PROXY
	bool "Support reverse proxy"
	default y
	depends on BUSYBOX_HTTPD
	help
	This option allows you to define URLs that will be forwarded
	to another HTTP server. To setup add the following line to the
	configuration file
		P:/url/:http://hostname[:port]/new/path/
	Then a request to /url/myfile will be forwarded to
	http://hostname[:port]/new/path/myfile.

config BUSYBOX_FEATURE_HTTPD_GZIP
	bool "Support GZIP content encoding"
	default y
	depends on BUSYBOX_HTTPD
	help
	Makes httpd send files using GZIP content encoding if the
	client supports it and a pre-compressed <file>.gz exists.

config BUSYBOX_FEATURE_HTTPD_ETAG
	bool "Support caching via ETag header"
	default y
	depends on BUSYBOX_HTTPD
	help
	If server responds with ETag then next time client (browser)
	resend it via If-None-Match header.
	Then httpd will check if file wasn't modified and if not,
	return 304 Not Modified status code.
	The ETag value is constructed from last modification date
	in unix epoch, and size: "hex(last_mod)-hex(file_size)".
	It's not completely reliable as hash functions but fair enough.

config BUSYBOX_FEATURE_HTTPD_LAST_MODIFIED
	bool "Add Last-Modified header to response"
	default y
	depends on BUSYBOX_HTTPD
	help
	The Last-Modified header is used for cache validation.
	The client sends last seen mtime to server in If-Modified-Since.
	Both headers MUST be an RFC 1123 formatted, which is hard to parse.
	Use ETag header instead.

config BUSYBOX_FEATURE_HTTPD_DATE
	bool "Add Date header to response"
	default y
	depends on BUSYBOX_HTTPD
	help
	RFC2616 says that server MUST add Date header to response.
	But it is almost useless and can be omitted.

config BUSYBOX_FEATURE_HTTPD_ACL_IP
	bool "ACL IP"
	default y
	depends on BUSYBOX_HTTPD
	help
	Support IP deny/allow rules
config BUSYBOX_IFCONFIG
	bool "ifconfig (12 kb)"
	default y
	help
	Ifconfig is used to configure the kernel-resident network interfaces.

config BUSYBOX_FEATURE_IFCONFIG_STATUS
	bool "Enable status reporting output (+7k)"
	default y
	depends on BUSYBOX_IFCONFIG
	help
	If ifconfig is called with no arguments it will display the status
	of the currently active interfaces.

config BUSYBOX_FEATURE_IFCONFIG_SLIP
	bool "Enable slip-specific options \"keepalive\" and \"outfill\""
	default y
	depends on BUSYBOX_IFCONFIG
	help
	Allow "keepalive" and "outfill" support for SLIP. If you're not
	planning on using serial lines, leave this unchecked.

config BUSYBOX_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
	bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
	default y
	depends on BUSYBOX_IFCONFIG
	help
	Allow the start address for shared memory, start address for I/O,
	and/or the interrupt line used by the specified device.

config BUSYBOX_FEATURE_IFCONFIG_HW
	bool "Enable option \"hw\" (ether only)"
	default y
	depends on BUSYBOX_IFCONFIG
	help
	Set the hardware address of this interface, if the device driver
	supports  this  operation. Currently, we only support the 'ether'
	class.

config BUSYBOX_FEATURE_IFCONFIG_BROADCAST_PLUS
	bool "Set the broadcast automatically"
	default y
	depends on BUSYBOX_IFCONFIG
	help
	Setting this will make ifconfig attempt to find the broadcast
	automatically if the value '+' is used.
config BUSYBOX_IFENSLAVE
	bool "ifenslave (13 kb)"
	default y
	help
	Userspace application to bind several interfaces
	to a logical interface (use with kernel bonding driver).
config BUSYBOX_IFPLUGD
	bool "ifplugd (10 kb)"
	default y
	help
	Network interface plug detection daemon.
config BUSYBOX_IFUP
	bool "ifup (14 kb)"
	default y
	help
	Activate the specified interfaces. This applet makes use
	of either "ifconfig" and "route" or the "ip" command to actually
	configure network interfaces. Therefore, you will probably also want
	to enable either IFCONFIG and ROUTE, or enable
	FEATURE_IFUPDOWN_IP and the various IP options. Of
	course you could use non-busybox versions of these programs, so
	against my better judgement (since this will surely result in plenty
	of support questions on the mailing list), I do not force you to
	enable these additional options. It is up to you to supply either
	"ifconfig", "route" and "run-parts" or the "ip" command, either
	via busybox or via standalone utilities.

config BUSYBOX_IFDOWN
	bool "ifdown (13 kb)"
	default y
	help
	Deactivate the specified interfaces.

config BUSYBOX_IFUPDOWN_IFSTATE_PATH
	string "Absolute path to ifstate file"
	default "/var/run/ifstate"
	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
	help
	ifupdown keeps state information in a file called ifstate.
	Typically it is located in /var/run/ifstate, however
	some distributions tend to put it in other places
	(debian, for example, uses /etc/network/run/ifstate).
	This config option defines location of ifstate.

config BUSYBOX_FEATURE_IFUPDOWN_IP
	bool "Use ip tool (else ifconfig/route is used)"
	default y
	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
	help
	Use the iproute "ip" command to implement "ifup" and "ifdown", rather
	than the default of using the older "ifconfig" and "route" utilities.

	If Y: you must install either the full-blown iproute2 package
	or enable "ip" applet in busybox, or the "ifup" and "ifdown" applets
	will not work.

	If N: you must install either the full-blown ifconfig and route
	utilities, or enable these applets in busybox.

config BUSYBOX_FEATURE_IFUPDOWN_IPV4
	bool "Support IPv4"
	default y
	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
	help
	If you want ifup/ifdown to talk IPv4, leave this on.

config BUSYBOX_FEATURE_IFUPDOWN_IPV6
	bool "Support IPv6"
	default y
	depends on (BUSYBOX_IFUP || BUSYBOX_IFDOWN) && BUSYBOX_FEATURE_IPV6
	help
	If you need support for IPv6, turn this option on.


config BUSYBOX_FEATURE_IFUPDOWN_MAPPING
	bool "Enable mapping support"
	default y
	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
	help
	This enables support for the "mapping" stanza, unless you have
	a weird network setup you don't need it.

config BUSYBOX_FEATURE_IFUPDOWN_EXTERNAL_DHCP
	bool "Support external DHCP clients"
	default n
	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
	help
	This enables support for the external dhcp clients. Clients are
	tried in the following order: dhcpcd, dhclient, pump and udhcpc.
	Otherwise, if udhcpc applet is enabled, it is used.
	Otherwise, ifup/ifdown will have no support for DHCP.
config BUSYBOX_INETD
	bool "inetd (18 kb)"
	default y
	select BUSYBOX_FEATURE_SYSLOG
	help
	Internet superserver daemon

config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_ECHO
	bool "Support echo service on port 7"
	default y
	depends on BUSYBOX_INETD
	help
	Internal service which echoes data back.
	Activated by configuration lines like these:
		echo stream tcp nowait root internal
		echo dgram  udp wait   root internal

config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
	bool "Support discard service on port 8"
	default y
	depends on BUSYBOX_INETD
	help
	Internal service which discards all input.
	Activated by configuration lines like these:
		discard stream tcp nowait root internal
		discard dgram  udp wait   root internal

config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_TIME
	bool "Support time service on port 37"
	default y
	depends on BUSYBOX_INETD
	help
	Internal service which returns big-endian 32-bit number
	of seconds passed since 1900-01-01. The number wraps around
	on overflow.
	Activated by configuration lines like these:
		time stream tcp nowait root internal
		time dgram  udp wait   root internal

config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
	bool "Support daytime service on port 13"
	default y
	depends on BUSYBOX_INETD
	help
	Internal service which returns human-readable time.
	Activated by configuration lines like these:
		daytime stream tcp nowait root internal
		daytime dgram  udp wait   root internal

config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
	bool "Support chargen service on port 19"
	default y
	depends on BUSYBOX_INETD
	help
	Internal service which generates endless stream
	of all ASCII chars beetween space and char 126.
	Activated by configuration lines like these:
		chargen stream tcp nowait root internal
		chargen dgram  udp wait   root internal

config BUSYBOX_FEATURE_INETD_RPC
	bool "Support RPC services"
	default n  # very rarely used, and needs Sun RPC support in libc
	depends on BUSYBOX_INETD
	help
	Support Sun-RPC based services
config BUSYBOX_IP
	bool "ip (35 kb)"
	default y
	help
	The "ip" applet is a TCP/BUSYBOX_IP interface configuration and routing
	utility.
	Short forms (enabled below) are busybox-specific extensions.
	The standard "ip" utility does not provide them. If you are
	trying to be portable, it's better to use "ip CMD" forms.

config BUSYBOX_IPADDR
	bool "ipaddr (14 kb)"
	default y
	select BUSYBOX_FEATURE_IP_ADDRESS
	help
	Short form of "ip addr"

config BUSYBOX_IPLINK
	bool "iplink (17 kb)"
	default y
	select BUSYBOX_FEATURE_IP_LINK
	help
	Short form of "ip link"

config BUSYBOX_IPROUTE
	bool "iproute (15 kb)"
	default y
	select BUSYBOX_FEATURE_IP_ROUTE
	help
	Short form of "ip route"

config BUSYBOX_IPTUNNEL
	bool "iptunnel (9.6 kb)"
	default y
	select BUSYBOX_FEATURE_IP_TUNNEL
	help
	Short form of "ip tunnel"

config BUSYBOX_IPRULE
	bool "iprule (10 kb)"
	default y
	select BUSYBOX_FEATURE_IP_RULE
	help
	Short form of "ip rule"

config BUSYBOX_IPNEIGH
	bool "ipneigh (8.3 kb)"
	default y
	select BUSYBOX_FEATURE_IP_NEIGH
	help
	Short form of "ip neigh"

config BUSYBOX_FEATURE_IP_ADDRESS
	bool "ip address"
	default y
	depends on BUSYBOX_IP || BUSYBOX_IPADDR
	help
	Address manipulation support for the "ip" applet.

config BUSYBOX_FEATURE_IP_LINK
	bool "ip link"
	default y
	depends on BUSYBOX_IP || BUSYBOX_IPLINK
	help
	Configure network devices with "ip".

config BUSYBOX_FEATURE_IP_ROUTE
	bool "ip route"
	default y
	depends on BUSYBOX_IP || BUSYBOX_IPROUTE
	help
	Add support for routing table management to "ip".

config BUSYBOX_FEATURE_IP_ROUTE_DIR
	string "ip route configuration directory"
	default "/etc/iproute2"
	depends on BUSYBOX_FEATURE_IP_ROUTE
	help
	Location of the "ip" applet routing configuration.

config BUSYBOX_FEATURE_IP_TUNNEL
	bool "ip tunnel"
	default y
	depends on BUSYBOX_IP || BUSYBOX_IPTUNNEL
	help
	Add support for tunneling commands to "ip".

config BUSYBOX_FEATURE_IP_RULE
	bool "ip rule"
	default y
	depends on BUSYBOX_IP || BUSYBOX_IPRULE
	help
	Add support for rule commands to "ip".

config BUSYBOX_FEATURE_IP_NEIGH
	bool "ip neighbor"
	default y
	depends on BUSYBOX_IP || BUSYBOX_IPNEIGH
	help
	Add support for neighbor commands to "ip".

config BUSYBOX_FEATURE_IP_RARE_PROTOCOLS
	bool "Support displaying rarely used link types"
	default n
	depends on BUSYBOX_IP || BUSYBOX_IPADDR || BUSYBOX_IPLINK || BUSYBOX_IPROUTE || BUSYBOX_IPTUNNEL || BUSYBOX_IPRULE || BUSYBOX_IPNEIGH
	help
	If you are not going to use links of type "frad", "econet",
	"bif" etc, you probably don't need to enable this.
	Ethernet, wireless, infrared, ppp/slip, ip tunnelling
	link types are supported without this option selected.
config BUSYBOX_IPCALC
	bool "ipcalc (4.4 kb)"
	default y
	help
	ipcalc takes an IP address and netmask and calculates the
	resulting broadcast, network, and host range.

config BUSYBOX_FEATURE_IPCALC_LONG_OPTIONS
	bool "Enable long options"
	default y
	depends on BUSYBOX_IPCALC && BUSYBOX_LONG_OPTS

config BUSYBOX_FEATURE_IPCALC_FANCY
	bool "Fancy IPCALC, more options, adds 1 kbyte"
	default y
	depends on BUSYBOX_IPCALC
	help
	Adds the options hostname, prefix and silent to the output of
	"ipcalc".
config BUSYBOX_FAKEIDENTD
	bool "fakeidentd (8.7 kb)"
	default y
	select BUSYBOX_FEATURE_SYSLOG
	help
	fakeidentd listens on the ident port and returns a predefined
	fake value on any query.
config BUSYBOX_NAMEIF
	bool "nameif (6.6 kb)"
	default y
	select BUSYBOX_FEATURE_SYSLOG
	help
	nameif is used to rename network interface by its MAC address.
	Renamed interfaces MUST be in the down state.
	It is possible to use a file (default: /etc/mactab)
	with list of new interface names and MACs.
	Maximum interface name length: IFNAMSIZ = 16
	File fields are separated by space or tab.
	File format:
		# Comment
		new_interface_name  XX:XX:XX:XX:XX:XX

config BUSYBOX_FEATURE_NAMEIF_EXTENDED
	bool "Extended nameif"
	default y
	depends on BUSYBOX_NAMEIF
	help
	This extends the nameif syntax to support the bus_info, driver,
	phyaddr selectors. The syntax is compatible to the normal nameif.
	File format:
		new_interface_name  driver=asix bus=usb-0000:00:08.2-3
		new_interface_name  bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5
		new_interface_name  phy_address=2 00:80:C8:38:91:B5
		new_interface_name  mac=00:80:C8:38:91:B5
		new_interface_name  00:80:C8:38:91:B5
config BUSYBOX_NBDCLIENT
	bool "nbd-client (6 kb)"
	default y
	help
	Network block device client
config BUSYBOX_NC
	bool "nc (11 kb)"
	default y
	help
	A simple Unix utility which reads and writes data across network
	connections.

config BUSYBOX_NETCAT
	bool "netcat (11 kb)"
	default n
	help
	Alias to nc.

config BUSYBOX_NC_SERVER
	bool "Netcat server options (-l)"
	default y
	depends on BUSYBOX_NC || BUSYBOX_NETCAT
	help
	Allow netcat to act as a server.

config BUSYBOX_NC_EXTRA
	bool "Netcat extensions (-eiw and -f FILE)"
	default y
	depends on BUSYBOX_NC || BUSYBOX_NETCAT
	help
	Add -e (support for executing the rest of the command line after
	making or receiving a successful connection), -i (delay interval for
	lines sent), -w (timeout for initial connection).

config BUSYBOX_NC_110_COMPAT
	bool "Netcat 1.10 compatibility (+2.5k)"
	default y
	depends on BUSYBOX_NC || BUSYBOX_NETCAT
	help
	This option makes nc closely follow original nc-1.10.
	The code is about 2.5k bigger. It enables
	-s ADDR, -n, -u, -v, -o FILE, -z options, but loses
	busybox-specific extensions: -f FILE.
config BUSYBOX_NETSTAT
	bool "netstat (10 kb)"
	default y
	help
	netstat prints information about the Linux networking subsystem.

config BUSYBOX_FEATURE_NETSTAT_WIDE
	bool "Enable wide output"
	default y
	depends on BUSYBOX_NETSTAT
	help
	Add support for wide columns. Useful when displaying IPv6 addresses
	(-W option).

config BUSYBOX_FEATURE_NETSTAT_PRG
	bool "Enable PID/Program name output"
	default y
	depends on BUSYBOX_NETSTAT
	help
	Add support for -p flag to print out PID and program name.
	+700 bytes of code.
config BUSYBOX_NSLOOKUP
	bool "nslookup (9.7 kb)"
	default y
	help
	nslookup is a tool to query Internet name servers.

config BUSYBOX_FEATURE_NSLOOKUP_BIG
	bool "Use internal resolver code instead of libc"
	depends on BUSYBOX_NSLOOKUP
	default y

config BUSYBOX_FEATURE_NSLOOKUP_LONG_OPTIONS
	bool "Enable long options"
	default y
	depends on BUSYBOX_FEATURE_NSLOOKUP_BIG && BUSYBOX_LONG_OPTS
config BUSYBOX_NTPD
	bool "ntpd (22 kb)"
	default y
	help
	The NTP client/server daemon.

config BUSYBOX_FEATURE_NTPD_SERVER
	bool "Make ntpd usable as a NTP server"
	default y
	depends on BUSYBOX_NTPD
	help
	Make ntpd usable as a NTP server. If you disable this option
	ntpd will be usable only as a NTP client.

config BUSYBOX_FEATURE_NTPD_CONF
	bool "Make ntpd understand /etc/ntp.conf"
	default y
	depends on BUSYBOX_NTPD
	help
	Make ntpd look in /etc/ntp.conf for peers. Only "server address"
	is supported.

config BUSYBOX_FEATURE_NTP_AUTH
	bool "Support md5/sha1 message authentication codes"
	default y
	depends on BUSYBOX_NTPD
config BUSYBOX_PING
	bool "ping (10 kb)"
	default y
	help
	ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
	elicit an ICMP ECHO_RESPONSE from a host or gateway.

config BUSYBOX_PING6
	bool "ping6 (11 kb)"
	default y
	depends on BUSYBOX_FEATURE_IPV6
	help
	Alias to "ping -6".

config BUSYBOX_FEATURE_FANCY_PING
	bool "Enable fancy ping output"
	default y
	depends on BUSYBOX_PING || BUSYBOX_PING6
	help
	With this option off, ping will say "HOST is alive!"
	or terminate with SIGALRM in 5 seconds otherwise.
	No command-line options will be recognized.
config BUSYBOX_PSCAN
	bool "pscan (6 kb)"
	default y
	help
	Simple network port scanner.
config BUSYBOX_ROUTE
	bool "route (8.7 kb)"
	default y
	help
	Route displays or manipulates the kernel's IP routing tables.
config BUSYBOX_SLATTACH
	bool "slattach (6.2 kb)"
	default y
	help
	slattach configures serial line as SLIP network interface.
config BUSYBOX_SSL_CLIENT
	bool "ssl_client (25 kb)"
	default y
	select BUSYBOX_TLS
	help
	This tool pipes data to/from a socket, TLS-encrypting it.
config BUSYBOX_TC
	bool "tc (8.3 kb)"
	default y
	help
	Show / manipulate traffic control settings

config BUSYBOX_FEATURE_TC_INGRESS
	bool "Enable ingress"
	default y
	depends on BUSYBOX_TC
config BUSYBOX_TCPSVD
	bool "tcpsvd (14 kb)"
	default y
	help
	tcpsvd listens on a TCP port and runs a program for each new
	connection.

config BUSYBOX_UDPSVD
	bool "udpsvd (13 kb)"
	default y
	help
	udpsvd listens on an UDP port and runs a program for each new
	connection.
config BUSYBOX_TELNET
	bool "telnet (8.8 kb)"
	default y
	help
	Telnet is an interface to the TELNET protocol, but is also commonly
	used to test other simple protocols.

config BUSYBOX_FEATURE_TELNET_TTYPE
	bool "Pass TERM type to remote host"
	default y
	depends on BUSYBOX_TELNET
	help
	Setting this option will forward the TERM environment variable to the
	remote host you are connecting to. This is useful to make sure that
	things like ANSI colors and other control sequences behave.

config BUSYBOX_FEATURE_TELNET_AUTOLOGIN
	bool "Pass USER type to remote host"
	default y
	depends on BUSYBOX_TELNET
	help
	Setting this option will forward the USER environment variable to the
	remote host you are connecting to. This is useful when you need to
	log into a machine without telling the username (autologin). This
	option enables '-a' and '-l USER' options.

config BUSYBOX_FEATURE_TELNET_WIDTH
	bool "Enable window size autodetection"
	default y
	depends on BUSYBOX_TELNET
config BUSYBOX_TELNETD
	bool "telnetd (12 kb)"
	default y
	select BUSYBOX_FEATURE_SYSLOG
	help
	A daemon for the TELNET protocol, allowing you to log onto the host
	running the daemon. Please keep in mind that the TELNET protocol
	sends passwords in plain text. If you can't afford the space for an
	SSH daemon and you trust your network, you may say 'y' here. As a
	more secure alternative, you should seriously consider installing the
	very small Dropbear SSH daemon instead:
		http://matt.ucc.asn.au/dropbear/dropbear.html

	Note that for busybox telnetd to work you need several things:
	First of all, your kernel needs:
		  CONFIG_UNIX98_PTYS=y

	Next, you need a /dev/pts directory on your root filesystem:

		  $ ls -ld /dev/pts
		  drwxr-xr-x  2 root root 0 Sep 23 13:21 /dev/pts/

	Next you need the pseudo terminal master multiplexer /dev/ptmx:

		  $ ls -la /dev/ptmx
		  crw-rw-rw-  1 root tty 5, 2 Sep 23 13:55 /dev/ptmx

	Any /dev/ttyp[0-9]* files you may have can be removed.
	Next, you need to mount the devpts filesystem on /dev/pts using:

		  mount -t devpts devpts /dev/pts

	You need to be sure that busybox has LOGIN and
	FEATURE_SUID enabled. And finally, you should make
	certain that busybox has been installed setuid root:

		chown root.root /bin/busybox
		chmod 4755 /bin/busybox

	with all that done, telnetd _should_ work....

config BUSYBOX_FEATURE_TELNETD_STANDALONE
	bool "Support standalone telnetd (not inetd only)"
	default y
	depends on BUSYBOX_TELNETD
	help
	Selecting this will make telnetd able to run standalone.

config BUSYBOX_FEATURE_TELNETD_INETD_WAIT
	bool "Support -w SEC option (inetd wait mode)"
	default y
	depends on BUSYBOX_FEATURE_TELNETD_STANDALONE
	help
	This option allows you to run telnetd in "inet wait" mode.
	Example inetd.conf line (note "wait", not usual "nowait"):

	telnet stream tcp wait root /bin/telnetd telnetd -w10

	In this example, inetd passes _listening_ socket_ as fd 0
	to telnetd when connection appears.
	telnetd will wait for connections until all existing
	connections are closed, and no new connections
	appear during 10 seconds. Then it exits, and inetd continues
	to listen for new connections.

	This option is rarely used. "tcp nowait" is much more usual
	way of running tcp services, including telnetd.
	You most probably want to say N here.
config BUSYBOX_TFTP
	bool "tftp (11 kb)"
	default y
	help
	Trivial File Transfer Protocol client. TFTP is usually used
	for simple, small transfers such as a root image
	for a network-enabled bootloader.

config BUSYBOX_FEATURE_TFTP_PROGRESS_BAR
	bool "Enable progress bar"
	default y
	depends on BUSYBOX_TFTP

config BUSYBOX_FEATURE_TFTP_HPA_COMPAT
	bool "tftp-hpa compat (support -c get/put FILE)"
	default y
	depends on BUSYBOX_TFTP

config BUSYBOX_TFTPD
	bool "tftpd (10 kb)"
	default y
	help
	Trivial File Transfer Protocol server.
	It expects that stdin is a datagram socket and a packet
	is already pending on it. It will exit after one transfer.
	In other words: it should be run from inetd in nowait mode,
	or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"

config BUSYBOX_FEATURE_TFTP_GET
	bool "Enable 'tftp get' and/or tftpd upload code"
	default y
	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
	help
	Add support for the GET command within the TFTP client. This allows
	a client to retrieve a file from a TFTP server.
	Also enable upload support in tftpd, if tftpd is selected.

	Note: this option does _not_ make tftpd capable of download
	(the usual operation people need from it)!

config BUSYBOX_FEATURE_TFTP_PUT
	bool "Enable 'tftp put' and/or tftpd download code"
	default y
	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
	help
	Add support for the PUT command within the TFTP client. This allows
	a client to transfer a file to a TFTP server.
	Also enable download support in tftpd, if tftpd is selected.

config BUSYBOX_FEATURE_TFTP_BLOCKSIZE
	bool "Enable 'blksize' and 'tsize' protocol options"
	default y
	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
	help
	Allow tftp to specify block size, and tftpd to understand
	"blksize" and "tsize" options.

config BUSYBOX_TFTP_DEBUG
	bool "Enable debug"
	default n
	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
	help
	Make tftp[d] print debugging messages on stderr.
	This is useful if you are diagnosing a bug in tftp[d].
config BUSYBOX_TLS
	bool #No description makes it a hidden option
	default n
config BUSYBOX_TRACEROUTE
	bool "traceroute (11 kb)"
	default y
	help
	Utility to trace the route of IP packets.

config BUSYBOX_TRACEROUTE6
	bool "traceroute6 (13 kb)"
	default y
	depends on BUSYBOX_FEATURE_IPV6
	help
	Utility to trace the route of IPv6 packets.

config BUSYBOX_FEATURE_TRACEROUTE_VERBOSE
	bool "Enable verbose output"
	default y
	depends on BUSYBOX_TRACEROUTE || BUSYBOX_TRACEROUTE6
	help
	Add some verbosity to traceroute. This includes among other things
	hostnames and ICMP response types.

config BUSYBOX_FEATURE_TRACEROUTE_USE_ICMP
	bool "Enable -I option (use ICMP instead of UDP)"
	default y
	depends on BUSYBOX_TRACEROUTE || BUSYBOX_TRACEROUTE6
config BUSYBOX_TUNCTL
	bool "tunctl (6.2 kb)"
	default y
	help
	tunctl creates or deletes tun devices.

config BUSYBOX_FEATURE_TUNCTL_UG
	bool "Support owner:group assignment"
	default y
	depends on BUSYBOX_TUNCTL
	help
	Allow to specify owner and group of newly created interface.
	340 bytes of pure bloat. Say no here.
config BUSYBOX_VCONFIG
	bool "vconfig (2.3 kb)"
	default y
	help
	Creates, removes, and configures VLAN interfaces
config BUSYBOX_WGET
	bool "wget (38 kb)"
	default y
	help
	wget is a utility for non-interactive download of files from HTTP
	and FTP servers.

config BUSYBOX_FEATURE_WGET_LONG_OPTIONS
	bool "Enable long options"
	default y
	depends on BUSYBOX_WGET && BUSYBOX_LONG_OPTS

config BUSYBOX_FEATURE_WGET_STATUSBAR
	bool "Enable progress bar (+2k)"
	default y
	depends on BUSYBOX_WGET

config BUSYBOX_FEATURE_WGET_AUTHENTICATION
	bool "Enable HTTP authentication"
	default y
	depends on BUSYBOX_WGET
	help
	Support authenticated HTTP transfers.

config BUSYBOX_FEATURE_WGET_TIMEOUT
	bool "Enable timeout option -T SEC"
	default y
	depends on BUSYBOX_WGET
	help
	Supports network read and connect timeouts for wget,
	so that wget will give up and timeout, through the -T
	command line option.

	Currently only connect and network data read timeout are
	supported (i.e., timeout is not applied to the DNS query). When
	FEATURE_WGET_LONG_OPTIONS is also enabled, the --timeout option
	will work in addition to -T.

config BUSYBOX_FEATURE_WGET_HTTPS
	bool "Support HTTPS using internal TLS code"
	default y
	depends on BUSYBOX_WGET
	select BUSYBOX_TLS
	help
	wget will use internal TLS code to connect to https:// URLs.
	Note:
	On NOMMU machines, ssl_helper applet should be available
	in the $PATH for this to work. Make sure to select that applet.

	Note: currently, TLS code only makes TLS I/O work, it
	does *not* check that the peer is who it claims to be, etc.
	IOW: it uses peer-supplied public keys to establish encryption
	and signing keys, then encrypts and signs outgoing data and
	decrypts incoming data.
	It does not check signature hashes on the incoming data:
	this means that attackers manipulating TCP packets can
	send altered data and we unknowingly receive garbage.
	(This check might be relatively easy to add).
	It does not check public key's certificate:
	this means that the peer may be an attacker impersonating
	the server we think we are talking to.

	If you think this is unacceptable, consider this. As more and more
	servers switch to HTTPS-only operation, without such "crippled"
	TLS code it is *impossible* to simply download a kernel source
	from kernel.org. Which can in real world translate into
	"my small automatic tooling to build cross-compilers from sources
	no longer works, I need to additionally keep a local copy
	of ~4 megabyte source tarball of a SSL library and ~2 megabyte
	source of wget, need to compile and built both before I can
	download anything. All this despite the fact that the build
	is done in a QEMU sandbox on a machine with absolutely nothing
	worth stealing, so I don't care if someone would go to a lot
	of trouble to intercept my HTTPS download to send me an altered
	kernel tarball".

	If you still think this is unacceptable, send patches.

	If you still think this is unacceptable, do not want to send
	patches, but do want to waste bandwidth expaining how wrong
	it is, you will be ignored.

	FEATURE_WGET_OPENSSL does implement TLS verification
	using the certificates available to OpenSSL.

config BUSYBOX_FEATURE_WGET_OPENSSL
	bool "Try to connect to HTTPS using openssl"
	default y
	depends on BUSYBOX_WGET
	help
	Try to use openssl to handle HTTPS.

	OpenSSL has a simple SSL client for debug purposes.
	If you select this option, wget will effectively run:
	"openssl s_client -quiet -connect hostname:443
	-servername hostname 2>/dev/null" and pipe its data
	through it. -servername is not used if hostname is numeric.
	Note inconvenient API: host resolution is done twice,
	and there is no guarantee openssl's idea of IPv6 address
	format is the same as ours.
	Another problem is that s_client prints debug information
	to stderr, and it needs to be suppressed. This means
	all error messages get suppressed too.
	openssl is also a big binary, often dynamically linked
	against ~15 libraries.

	If openssl can't be executed, internal TLS code will be used
	(if you enabled it); if openssl can be executed but fails later,
	wget can't detect this, and download will fail.

	By default BUSYBOX_TLS verification is performed, unless
	--no-check-certificate option is passed.
config BUSYBOX_WHOIS
	bool "whois (6.3 kb)"
	default y
	help
	whois is a client for the whois directory service
config BUSYBOX_ZCIP
	bool "zcip (8.4 kb)"
	default y
	select BUSYBOX_FEATURE_SYSLOG
	help
	BUSYBOX_ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
	It's a daemon that allocates and defends a dynamically assigned
	address on the 169.254/16 network, requiring no system administrator.

	See http://www.zeroconf.org for further details, and "zcip.script"
	in the busybox examples.

source package/busybox/config/networking/udhcp/Config.in

config BUSYBOX_IFUPDOWN_UDHCPC_CMD_OPTIONS
	string "ifup udhcpc command line options"
	default "-R -n"
	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
	help
	Command line options to pass to udhcpc from ifup.
	Intended to alter options not available in /etc/network/interfaces.
	(IE: --syslog --background etc...)

endmenu