#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;
if (net_info == NULL)
return CONNECTION_ERROR_OPERATION_FAILED;
- if (address_family == CONNECTION_ADDRESS_FAMILY_IPV6) {
- *ip_address = __profile_convert_ip_to_string(&net_info->IpAddr6,
+ if (address_family == CONNECTION_ADDRESS_FAMILY_IPV4) {
+ *ip_address = __profile_convert_ip_to_string(&net_info->IpAddr,
address_family);
} else {
if (net_get_preferred_ipv6_address(net_info->ProfileName, ip_address) != NET_ERR_NONE) {
CONNECTION_LOG(CONNECTION_ERROR, "Failed to get preferred ipv6 address");
- *ip_address = __profile_convert_ip_to_string(&net_info->IpAddr,
+ *ip_address = __profile_convert_ip_to_string(&net_info->IpAddr6,
address_family);
}
}
{
CHECK_FEATURE_SUPPORTED(TELEPHONY_FEATURE, WIFI_FEATURE, TETHERING_BLUETOOTH_FEATURE, ETHERNET_FEATURE);
- CONNECTION_LOG(CONNECTION_ERROR, "Address Family: ", address_family);
+ CONNECTION_LOG(CONNECTION_ERROR, "Address Family: %d", address_family);
if (!(_connection_libnet_check_profile_validity(profile)) ||
(address_family != CONNECTION_ADDRESS_FAMILY_IPV4 &&
address_family != CONNECTION_ADDRESS_FAMILY_IPV6)) {
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;
}
if (profile_info->profile_type != NET_DEVICE_WIFI)
return CONNECTION_ERROR_INVALID_PARAMETER;
- *max_speed = (int)profile_info->ProfileInfo.Wlan.max_rate / 1000000;
+ *max_speed = profile_info->ProfileInfo.Wlan.max_rate;
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;
}