diff options
author | Sabrina Dubroca <sd@queasysnail.net> | 2016-11-02 15:38:38 (GMT) |
---|---|---|
committer | Jouni Malinen <j@w1.fi> | 2016-11-19 22:35:23 (GMT) |
commit | 1d3d0666a6ed345da39886426c4416a4debfd094 (patch) | |
tree | 3ceea2930a07e7659af052b5d2e06ae0cb428c69 /wpa_supplicant | |
parent | 7b4d546e3dae57a39e50a91e47b8fcf3447b4978 (diff) | |
download | hostap-1d3d0666a6ed345da39886426c4416a4debfd094.zip hostap-1d3d0666a6ed345da39886426c4416a4debfd094.tar.gz hostap-1d3d0666a6ed345da39886426c4416a4debfd094.tar.bz2 |
mka: Add enable_encrypt op and call it from CP state machine
This allows MKA to turn encryption on/off down to the driver.
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Diffstat (limited to 'wpa_supplicant')
-rw-r--r-- | wpa_supplicant/driver_i.h | 8 | ||||
-rw-r--r-- | wpa_supplicant/wpas_kay.c | 7 |
2 files changed, 15 insertions, 0 deletions
diff --git a/wpa_supplicant/driver_i.h b/wpa_supplicant/driver_i.h index c9bb20d..cf08556 100644 --- a/wpa_supplicant/driver_i.h +++ b/wpa_supplicant/driver_i.h @@ -731,6 +731,14 @@ static inline int wpa_drv_enable_protect_frames(struct wpa_supplicant *wpa_s, return wpa_s->driver->enable_protect_frames(wpa_s->drv_priv, enabled); } +static inline int wpa_drv_enable_encrypt(struct wpa_supplicant *wpa_s, + Boolean enabled) +{ + if (!wpa_s->driver->enable_encrypt) + return -1; + return wpa_s->driver->enable_encrypt(wpa_s->drv_priv, enabled); +} + static inline int wpa_drv_set_replay_protect(struct wpa_supplicant *wpa_s, Boolean enabled, u32 window) { diff --git a/wpa_supplicant/wpas_kay.c b/wpa_supplicant/wpas_kay.c index 6343154..2ff4895 100644 --- a/wpa_supplicant/wpas_kay.c +++ b/wpa_supplicant/wpas_kay.c @@ -50,6 +50,12 @@ static int wpas_enable_protect_frames(void *wpa_s, Boolean enabled) } +static int wpas_enable_encrypt(void *wpa_s, Boolean enabled) +{ + return wpa_drv_enable_encrypt(wpa_s, enabled); +} + + static int wpas_set_replay_protect(void *wpa_s, Boolean enabled, u32 window) { return wpa_drv_set_replay_protect(wpa_s, enabled, window); @@ -206,6 +212,7 @@ int ieee802_1x_alloc_kay_sm(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid) kay_ctx->macsec_deinit = wpas_macsec_deinit; kay_ctx->macsec_get_capability = wpas_macsec_get_capability; kay_ctx->enable_protect_frames = wpas_enable_protect_frames; + kay_ctx->enable_encrypt = wpas_enable_encrypt; kay_ctx->set_replay_protect = wpas_set_replay_protect; kay_ctx->set_current_cipher_suite = wpas_set_current_cipher_suite; kay_ctx->enable_controlled_port = wpas_enable_controlled_port; |