Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[sfrench/cifs-2.6.git] / net / wireless / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 config WIRELESS_EXT
3         bool
4
5 config WEXT_CORE
6         def_bool y
7         depends on CFG80211_WEXT || WIRELESS_EXT
8
9 config WEXT_PROC
10         def_bool y
11         depends on PROC_FS
12         depends on WEXT_CORE
13
14 config WEXT_SPY
15         bool
16
17 config WEXT_PRIV
18         bool
19
20 config CFG80211
21         tristate "cfg80211 - wireless configuration API"
22         depends on RFKILL || !RFKILL
23         select FW_LOADER
24         # may need to update this when certificates are changed and are
25         # using a different algorithm, though right now they shouldn't
26         # (this is here rather than below to allow it to be a module)
27         select CRYPTO_SHA256 if CFG80211_USE_KERNEL_REGDB_KEYS
28         ---help---
29           cfg80211 is the Linux wireless LAN (802.11) configuration API.
30           Enable this if you have a wireless device.
31
32           For more information refer to documentation on the wireless wiki:
33
34           http://wireless.kernel.org/en/developers/Documentation/cfg80211
35
36           When built as a module it will be called cfg80211.
37
38 if CFG80211
39
40 config NL80211_TESTMODE
41         bool "nl80211 testmode command"
42         help
43           The nl80211 testmode command helps implementing things like
44           factory calibration or validation tools for wireless chips.
45
46           Select this option ONLY for kernels that are specifically
47           built for such purposes.
48
49           Debugging tools that are supposed to end up in the hands of
50           users should better be implemented with debugfs.
51
52           Say N.
53
54 config CFG80211_DEVELOPER_WARNINGS
55         bool "enable developer warnings"
56         default n
57         help
58           This option enables some additional warnings that help
59           cfg80211 developers and driver developers, but beware that
60           they can also trigger due to races with userspace.
61
62           For example, when a driver reports that it was disconnected
63           from the AP, but the user disconnects manually at the same
64           time, the warning might trigger spuriously due to races.
65
66           Say Y only if you are developing cfg80211 or a driver based
67           on it (or mac80211).
68
69
70 config CFG80211_CERTIFICATION_ONUS
71         bool "cfg80211 certification onus"
72         depends on EXPERT
73         default n
74         ---help---
75           You should disable this option unless you are both capable
76           and willing to ensure your system will remain regulatory
77           compliant with the features available under this option.
78           Some options may still be under heavy development and
79           for whatever reason regulatory compliance has not or
80           cannot yet be verified. Regulatory verification may at
81           times only be possible until you have the final system
82           in place.
83
84           This option should only be enabled by system integrators
85           or distributions that have done work necessary to ensure
86           regulatory certification on the system with the enabled
87           features. Alternatively you can enable this option if
88           you are a wireless researcher and are working in a controlled
89           and approved environment by your local regulatory agency.
90
91 config CFG80211_REQUIRE_SIGNED_REGDB
92         bool "require regdb signature" if CFG80211_CERTIFICATION_ONUS
93         default y
94         select SYSTEM_DATA_VERIFICATION
95         help
96           Require that in addition to the "regulatory.db" file a
97           "regulatory.db.p7s" can be loaded with a valid PKCS#7
98           signature for the regulatory.db file made by one of the
99           keys in the certs/ directory.
100
101 config CFG80211_USE_KERNEL_REGDB_KEYS
102         bool "allow regdb keys shipped with the kernel" if CFG80211_CERTIFICATION_ONUS
103         default y
104         depends on CFG80211_REQUIRE_SIGNED_REGDB
105         help
106           Allow the regulatory database to be signed by one of the keys for
107           which certificates are part of the kernel sources
108           (in net/wireless/certs/).
109
110           This is currently only Seth Forshee's key, who is the regulatory
111           database maintainer.
112
113 config CFG80211_EXTRA_REGDB_KEYDIR
114         string "additional regdb key directory" if CFG80211_CERTIFICATION_ONUS
115         depends on CFG80211_REQUIRE_SIGNED_REGDB
116         help
117           If selected, point to a directory with DER-encoded X.509
118           certificates like in the kernel sources (net/wireless/certs/)
119           that shall be accepted for a signed regulatory database.
120
121           Note that you need to also select the correct CRYPTO_<hash> modules
122           for your certificates, and if cfg80211 is built-in they also must be.
123
124 config CFG80211_REG_CELLULAR_HINTS
125         bool "cfg80211 regulatory support for cellular base station hints"
126         depends on CFG80211_CERTIFICATION_ONUS
127         ---help---
128           This option enables support for parsing regulatory hints
129           from cellular base stations. If enabled and at least one driver
130           claims support for parsing cellular base station hints the
131           regulatory core will allow and parse these regulatory hints.
132           The regulatory core will only apply these regulatory hints on
133           drivers that support this feature. You should only enable this
134           feature if you have tested and validated this feature on your
135           systems.
136
137 config CFG80211_REG_RELAX_NO_IR
138         bool "cfg80211 support for NO_IR relaxation"
139         depends on CFG80211_CERTIFICATION_ONUS
140         ---help---
141          This option enables support for relaxation of the NO_IR flag for
142          situations that certain regulatory bodies have provided clarifications
143          on how relaxation can occur. This feature has an inherent dependency on
144          userspace features which must have been properly tested and as such is
145          not enabled by default.
146
147          A relaxation feature example is allowing the operation of a P2P group
148          owner (GO) on channels marked with NO_IR if there is an additional BSS
149          interface which associated to an AP which userspace assumes or confirms
150          to be an authorized master, i.e., with radar detection support and DFS
151          capabilities. However, note that in order to not create daisy chain
152          scenarios, this relaxation is not allowed in cases where the BSS client
153          is associated to P2P GO and in addition the P2P GO instantiated on
154          a channel due to this relaxation should not allow connection from
155          non P2P clients.
156
157          The regulatory core will apply these relaxations only for drivers that
158          support this feature by declaring the appropriate channel flags and
159          capabilities in their registration flow.
160
161 config CFG80211_DEFAULT_PS
162         bool "enable powersave by default"
163         default y
164         help
165           This option enables powersave mode by default.
166
167           If this causes your applications to misbehave you should fix your
168           applications instead -- they need to register their network
169           latency requirement, see Documentation/power/pm_qos_interface.txt.
170
171 config CFG80211_DEBUGFS
172         bool "cfg80211 DebugFS entries"
173         depends on DEBUG_FS
174         ---help---
175           You can enable this if you want debugfs entries for cfg80211.
176
177           If unsure, say N.
178
179 config CFG80211_CRDA_SUPPORT
180         bool "support CRDA" if EXPERT
181         default y
182         help
183           You should enable this option unless you know for sure you have no
184           need for it, for example when using internal regdb (above) or the
185           database loaded as a firmware file.
186
187           If unsure, say Y.
188
189 config CFG80211_WEXT
190         bool "cfg80211 wireless extensions compatibility" if !CFG80211_WEXT_EXPORT
191         select WEXT_CORE
192         default y if CFG80211_WEXT_EXPORT
193         help
194           Enable this option if you need old userspace for wireless
195           extensions with cfg80211-based drivers.
196
197 config CFG80211_WEXT_EXPORT
198         bool
199         help
200           Drivers should select this option if they require cfg80211's
201           wext compatibility symbols to be exported.
202
203 endif # CFG80211
204
205 config LIB80211
206         tristate
207         default n
208         help
209           This options enables a library of common routines used
210           by IEEE802.11 wireless LAN drivers.
211
212           Drivers should select this themselves if needed.
213
214 config LIB80211_CRYPT_WEP
215         tristate
216         select CRYPTO_LIB_ARC4
217
218 config LIB80211_CRYPT_CCMP
219         tristate
220
221 config LIB80211_CRYPT_TKIP
222         tristate
223         select CRYPTO_LIB_ARC4
224
225 config LIB80211_DEBUG
226         bool "lib80211 debugging messages"
227         depends on LIB80211
228         default n
229         ---help---
230           You can enable this if you want verbose debugging messages
231           from lib80211.
232
233           If unsure, say N.