summaryrefslogtreecommitdiffstats
path: root/contrib/wpa
diff options
context:
space:
mode:
authorrpaulo <rpaulo@FreeBSD.org>2014-03-29 23:25:09 +0000
committerrpaulo <rpaulo@FreeBSD.org>2014-03-29 23:25:09 +0000
commit4c66443e3331c2115f51289c149604f4091487b2 (patch)
treec20b504a3e0ee2025fce10a934dea5127c36969c /contrib/wpa
parentc374630340e8b48a5207d313eb2ed6c0453e31f9 (diff)
downloadFreeBSD-src-4c66443e3331c2115f51289c149604f4091487b2.zip
FreeBSD-src-4c66443e3331c2115f51289c149604f4091487b2.tar.gz
Enable all cryptocaps because net80211 can do software encryption.
MFC after: 1 week
Diffstat (limited to 'contrib/wpa')
-rw-r--r--contrib/wpa/src/drivers/driver_bsd.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/contrib/wpa/src/drivers/driver_bsd.c b/contrib/wpa/src/drivers/driver_bsd.c
index 13ca628..d3bca6f 100644
--- a/contrib/wpa/src/drivers/driver_bsd.c
+++ b/contrib/wpa/src/drivers/driver_bsd.c
@@ -1446,6 +1446,17 @@ static int wpa_driver_bsd_capa(struct bsd_driver_data *drv)
drv->capa.key_mgmt = WPA_DRIVER_CAPA_KEY_MGMT_WPA2 |
WPA_DRIVER_CAPA_KEY_MGMT_WPA2_PSK;
+#ifdef __FreeBSD__
+ drv->capa.enc |= WPA_DRIVER_CAPA_ENC_WEP40 |
+ WPA_DRIVER_CAPA_ENC_WEP104 |
+ WPA_DRIVER_CAPA_ENC_TKIP |
+ WPA_DRIVER_CAPA_ENC_CCMP;
+#else
+ /*
+ * XXX
+ * FreeBSD exports hardware cryptocaps. These have no meaning for wpa
+ * since net80211 performs software crypto.
+ */
if (devcaps.dc_cryptocaps & IEEE80211_CRYPTO_WEP)
drv->capa.enc |= WPA_DRIVER_CAPA_ENC_WEP40 |
WPA_DRIVER_CAPA_ENC_WEP104;
@@ -1453,6 +1464,7 @@ static int wpa_driver_bsd_capa(struct bsd_driver_data *drv)
drv->capa.enc |= WPA_DRIVER_CAPA_ENC_TKIP;
if (devcaps.dc_cryptocaps & IEEE80211_CRYPTO_AES_CCM)
drv->capa.enc |= WPA_DRIVER_CAPA_ENC_CCMP;
+#endif
if (devcaps.dc_drivercaps & IEEE80211_C_HOSTAP)
drv->capa.flags |= WPA_DRIVER_FLAGS_AP;
OpenPOWER on IntegriCloud