diff options
Diffstat (limited to 'gsupplicant')
-rwxr-xr-x | gsupplicant/gsupplicant.h | 2 | ||||
-rwxr-xr-x | gsupplicant/supplicant.c | 13 |
2 files changed, 10 insertions, 5 deletions
diff --git a/gsupplicant/gsupplicant.h b/gsupplicant/gsupplicant.h index 8efa202b..ffd07b25 100755 --- a/gsupplicant/gsupplicant.h +++ b/gsupplicant/gsupplicant.h @@ -372,7 +372,7 @@ const unsigned char *g_supplicant_network_get_bssid( GSupplicantNetwork *network); unsigned int g_supplicant_network_get_maxrate(GSupplicantNetwork *network); const char *g_supplicant_network_get_enc_mode(GSupplicantNetwork *network); -bool g_supplicant_network_get_rsn_selected(GSupplicantNetwork *network); +bool g_supplicant_network_get_rsn_mode(GSupplicantNetwork *network); unsigned int g_supplicant_network_is_hs20AP(GSupplicantNetwork *network); const char *g_supplicant_network_get_eap(GSupplicantNetwork *network); const char *g_supplicant_network_get_identity(GSupplicantNetwork *network); diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index 89591fee..dc2232fc 100755 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -1315,14 +1315,19 @@ const char *g_supplicant_network_get_enc_mode(GSupplicantNetwork *network) return NULL; } -bool g_supplicant_network_get_rsn_selected(GSupplicantNetwork *network) +bool g_supplicant_network_get_rsn_mode(GSupplicantNetwork *network) { if (network == NULL || network->best_bss == NULL) return 0; - if (network->best_bss->rsn_selected) - return true; - else + if (network->best_bss->rsn_selected) { + const char *mode = g_supplicant_network_get_enc_mode(network); + if (g_strcmp0(mode, "aes") == 0 || + g_strcmp0(mode, "mixed") == 0) + return true; + else + return false; + } else return false; } |