From d84b47728a9b1506042dff65fcfea9d34c65ff62 Mon Sep 17 00:00:00 2001 From: Teja Narahari Date: Fri, 19 Jul 2019 15:23:24 +0530 Subject: [PATCH] Enterprise security support --- .../emac-drivers/TARGET_WHD/interface/WhdSTAInterface.cpp | 8 ++++++-- features/netsocket/nsapi_types.h | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/features/netsocket/emac-drivers/TARGET_WHD/interface/WhdSTAInterface.cpp b/features/netsocket/emac-drivers/TARGET_WHD/interface/WhdSTAInterface.cpp index 64a38d028d..738e01ffd3 100644 --- a/features/netsocket/emac-drivers/TARGET_WHD/interface/WhdSTAInterface.cpp +++ b/features/netsocket/emac-drivers/TARGET_WHD/interface/WhdSTAInterface.cpp @@ -113,6 +113,8 @@ static nsapi_security_t whd_tosecurity(whd_security_t sec) return NSAPI_SECURITY_WPA; case WHD_SECURITY_WPA2_MIXED_PSK: return NSAPI_SECURITY_WPA_WPA2; + case WHD_SECURITY_WPA2_MIXED_ENT: + return NSAPI_SECURITY_WPA2_ENT; case WHD_SECURITY_WPA2_AES_PSK: case WHD_SECURITY_WPA2_AES_ENT: case WHD_SECURITY_WPA2_FBT_PSK: @@ -136,6 +138,8 @@ whd_security_t whd_fromsecurity(nsapi_security_t sec) return WHD_SECURITY_WPA2_AES_PSK; case NSAPI_SECURITY_WPA_WPA2: return WHD_SECURITY_WPA2_MIXED_PSK; + case NSAPI_SECURITY_WPA2_ENT: + return WHD_SECURITY_WPA2_MIXED_ENT; default: return WHD_SECURITY_UNKNOWN; } @@ -179,8 +183,8 @@ nsapi_error_t WhdSTAInterface::set_credentials(const char *ssid, const char *pas { if ((ssid == NULL) || (strlen(ssid) == 0) || - (pass == NULL && (security != NSAPI_SECURITY_NONE)) || - (strlen(pass) == 0 && (security != NSAPI_SECURITY_NONE)) || + (pass == NULL && ( security != NSAPI_SECURITY_NONE && security != NSAPI_SECURITY_WPA2_ENT)) || + (strlen(pass) == 0 && ( security != NSAPI_SECURITY_NONE && security != NSAPI_SECURITY_WPA2_ENT)) || (strlen(pass) > 63 && (security == NSAPI_SECURITY_WPA2 || security == NSAPI_SECURITY_WPA || security == NSAPI_SECURITY_WPA_WPA2)) ) { return NSAPI_ERROR_PARAMETER; diff --git a/features/netsocket/nsapi_types.h b/features/netsocket/nsapi_types.h index 39cf1f969f..00e07588d0 100644 --- a/features/netsocket/nsapi_types.h +++ b/features/netsocket/nsapi_types.h @@ -127,6 +127,7 @@ typedef enum nsapi_security { NSAPI_SECURITY_CHAP = 0x6, /*!< phrase conforms to PPP authentication context */ NSAPI_SECURITY_EAP_TLS = 0x7, /*!< phrase conforms to EAP-TLS */ NSAPI_SECURITY_PEAP = 0x8, /*!< phrase conforms to PEAP */ + NSAPI_SECURITY_WPA2_ENT = 0x9, /*!< phrase conforms to WPA2-AES and WPA-TKIP with enterprise security */ NSAPI_SECURITY_UNKNOWN = 0xFF, /*!< unknown/unsupported security in scan results */ } nsapi_security_t;