#include <vconf/vconf.h>
#include "net_connection_private.h"
+#include "connection_extension.h"
#define HTTP_PROXY "http_proxy"
#define MAX_PREFIX_LENGTH 6
return &profile_info->ProfileInfo.Ethernet.net_info; //LCOV_EXCL_LINE
case NET_DEVICE_BLUETOOTH:
return &profile_info->ProfileInfo.Bluetooth.net_info;
+ case NET_DEVICE_MESH:
+ return &profile_info->ProfileInfo.Mesh.net_info;
case NET_DEVICE_DEFAULT:
case NET_DEVICE_USB:
case NET_DEVICE_UNKNOWN:
bt_name++;
*profile_name = g_strdup(bt_name);
} break;
+ case NET_DEVICE_MESH:
+ *profile_name = g_strdup(profile_info->ProfileInfo.Mesh.essid);
+ break;
default:
return CONNECTION_ERROR_INVALID_PARAMETER;
}
case NET_DEVICE_BLUETOOTH:
*type = CONNECTION_PROFILE_TYPE_BT;
break;
+ case NET_DEVICE_MESH:
+ *type = CONNECTION_PROFILE_TYPE_MESH;
+ break;
default:
CONNECTION_LOG(CONNECTION_ERROR, "Invalid profile type");
return CONNECTION_ERROR_OPERATION_FAILED;
net_profile_info_t *profile_info = profile;
- if (profile_info->profile_type != NET_DEVICE_WIFI)
+ if (profile_info->profile_type != NET_DEVICE_WIFI &&
+ profile_info->profile_type != NET_DEVICE_MESH)
return CONNECTION_ERROR_INVALID_PARAMETER;
- *essid = g_strdup(profile_info->ProfileInfo.Wlan.essid);
+ if (profile_info->profile_type == NET_DEVICE_WIFI)
+ *essid = g_strdup(profile_info->ProfileInfo.Wlan.essid);
+ else
+ *essid = g_strdup(profile_info->ProfileInfo.Mesh.essid);
+
if (*essid == NULL)
return CONNECTION_ERROR_OUT_OF_MEMORY;
net_profile_info_t *profile_info = profile;
- if (profile_info->profile_type != NET_DEVICE_WIFI)
+ if (profile_info->profile_type != NET_DEVICE_WIFI &&
+ profile_info->profile_type != NET_DEVICE_MESH)
return CONNECTION_ERROR_INVALID_PARAMETER;
- *bssid = g_strdup(profile_info->ProfileInfo.Wlan.bssid);
+ if (profile_info->profile_type == NET_DEVICE_WIFI)
+ *bssid = g_strdup(profile_info->ProfileInfo.Wlan.bssid);
+ else
+ *bssid = g_strdup(profile_info->ProfileInfo.Mesh.bssid);
+
if (*bssid == NULL)
return CONNECTION_ERROR_OUT_OF_MEMORY;
net_profile_info_t *profile_info = profile;
- if (profile_info->profile_type != NET_DEVICE_WIFI)
+ if (profile_info->profile_type != NET_DEVICE_WIFI &&
+ profile_info->profile_type != NET_DEVICE_MESH)
return CONNECTION_ERROR_INVALID_PARAMETER;
- *rssi = (int)profile_info->ProfileInfo.Wlan.Strength;
+ if (profile_info->profile_type == NET_DEVICE_WIFI)
+ *rssi = (int)profile_info->ProfileInfo.Wlan.Strength;
+ else
+ *rssi = (int)profile_info->ProfileInfo.Mesh.Strength;
+
return CONNECTION_ERROR_NONE;
}
net_profile_info_t *profile_info = profile;
- if (profile_info->profile_type != NET_DEVICE_WIFI)
+ if (profile_info->profile_type != NET_DEVICE_WIFI &&
+ profile_info->profile_type != NET_DEVICE_MESH)
return CONNECTION_ERROR_INVALID_PARAMETER;
- *frequency = (int)profile_info->ProfileInfo.Wlan.frequency;
+ if (profile_info->profile_type == NET_DEVICE_WIFI)
+ *frequency = (int)profile_info->ProfileInfo.Wlan.frequency;
+ else
+ *frequency = (int)profile_info->ProfileInfo.Mesh.frequency;
+
return CONNECTION_ERROR_NONE;
}
net_profile_info_t *profile_info = profile;
- if (profile_info->profile_type != NET_DEVICE_WIFI)
+ wlan_security_mode_type_t sec_mode;
+ if (profile_info->profile_type != NET_DEVICE_WIFI &&
+ profile_info->profile_type != NET_DEVICE_MESH)
return CONNECTION_ERROR_INVALID_PARAMETER;
- switch (profile_info->ProfileInfo.Wlan.security_info.sec_mode) {
+ if (profile_info->profile_type == NET_DEVICE_WIFI)
+ sec_mode = profile_info->ProfileInfo.Wlan.security_info.sec_mode;
+ else
+ sec_mode = profile_info->ProfileInfo.Mesh.security_info.sec_mode;
+
+ switch (sec_mode) {
//LCOV_EXCL_START
case WLAN_SEC_MODE_NONE:
*type = CONNECTION_WIFI_SECURITY_TYPE_NONE;
case WLAN_SEC_MODE_WPA2_PSK:
*type = CONNECTION_WIFI_SECURITY_TYPE_WPA2_PSK;
break;
+ case WLAN_SEC_MODE_SAE:
+ *type = CONNECTION_WIFI_SECURITY_TYPE_SAE;
+ break;
default:
return CONNECTION_ERROR_OPERATION_FAILED;
//LCOV_EXCL_STOP
net_profile_info_t *profile_info = profile;
- if (profile_info->profile_type != NET_DEVICE_WIFI)
+ wlan_security_mode_type_t sec_mode;
+ if (profile_info->profile_type != NET_DEVICE_WIFI &&
+ profile_info->profile_type != NET_DEVICE_MESH)
return CONNECTION_ERROR_INVALID_PARAMETER;
if (profile_info->Favourite) {
return CONNECTION_ERROR_NONE;
}
- switch (profile_info->ProfileInfo.Wlan.security_info.sec_mode) {
+ if (profile_info->profile_type == NET_DEVICE_WIFI)
+ sec_mode = profile_info->ProfileInfo.Wlan.security_info.sec_mode;
+ else
+ sec_mode = profile_info->ProfileInfo.Mesh.security_info.sec_mode;
+
+ switch (sec_mode) {
//LCOV_EXCL_START
case WLAN_SEC_MODE_NONE:
*required = false;
case WLAN_SEC_MODE_IEEE8021X:
case WLAN_SEC_MODE_WPA_PSK:
case WLAN_SEC_MODE_WPA2_PSK:
+ case WLAN_SEC_MODE_SAE:
*required = true;
break;
default:
net_profile_info_t *profile_info = profile;
- if (profile_info->profile_type != NET_DEVICE_WIFI)
+ if (profile_info->profile_type != NET_DEVICE_WIFI &&
+ profile_info->profile_type != NET_DEVICE_MESH)
return CONNECTION_ERROR_INVALID_PARAMETER;
- g_strlcpy(profile_info->ProfileInfo.Wlan.security_info.authentication.psk.pskKey,
- passphrase, NETPM_WLAN_MAX_PSK_PASSPHRASE_LEN);
+ if (profile_info->profile_type == NET_DEVICE_WIFI)
+ g_strlcpy(profile_info->ProfileInfo.Wlan.security_info.authentication.psk.pskKey,
+ passphrase, NETPM_WLAN_MAX_PSK_PASSPHRASE_LEN);
+ else
+ g_strlcpy(profile_info->ProfileInfo.Mesh.security_info.authentication.sae.saeKey,
+ passphrase, NETPM_WLAN_MAX_PSK_PASSPHRASE_LEN);
return CONNECTION_ERROR_NONE;
}