int _net_dbus_dpp_stop(network_info_s *network_info,
guint32 peer_id, guint32 own_id, gboolean is_initiator);
+int _net_dbus_set_mac_policy(network_info_s *network_info, unsigned int policy);
+int _net_dbus_set_preassoc_mac_policy(network_info_s *network_info, unsigned int policy);
+int _net_dbus_set_random_mac_lifetime(network_info_s *network_info, unsigned int lifetime);
#ifdef __cplusplus
}
const char *configurator_key, const char *pass);
int net_dpp_stop(network_info_s *network_info,
guint32 peer_id, guint32 own_id, gboolean is_initiator);
+
+int net_wifi_set_mac_policy(network_info_s *network_info, unsigned int policy);
+int net_wifi_set_preassoc_mac_policy(network_info_s *network_info, unsigned int policy);
+int net_wifi_set_random_mac_lifetime(network_info_s *network_info, unsigned int lifetime);
+
/**
* \}
*/
} wifi_manager_connection_mode_e;
/**
+ * @brief Enumeration for the Wi-Fi Mac Address Policy.
+ * @since_tizen 6.5
+ */
+typedef enum {
+ WIFI_MANAGER_MAC_POLICY_FIXED_MAC, /**< Fixed Mac */
+ WIFI_MANAGER_MAC_POLICY_RANDOM_OUI_RANDOM_MAC, /**< Random OUI random Mac */
+ WIFI_MANAGER_MAC_POLICY_FIXED_OUI_RANDOM_MAC, /**< Fixed OUI random Mac */
+} wifi_manager_mac_policy_e;
+
+/**
* @brief The Wi-Fi netlink scan handle.
* @since_tizen 5.0
*/
int wifi_manager_ap_get_connection_mode(wifi_manager_ap_h ap, wifi_manager_connection_mode_e *mode);
/**
-* @}
-*/
+ * @brief Sets MAC address policy for connection operations.
+ * @since_tizen 6.5
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/network.set
+ * @param[in] wifi The Wi-Fi handle.
+ * @param[in] policy The mac address policy.
+ * @return 0 on success, otherwise negative error value
+ * @retval #WIFI_MANAGER_ERROR_NONE Successful
+ * @retval #WIFI_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #WIFI_MANAGER_ERROR_OPERATION_FAILED Operation Failed
+ * @retval #WIFI_MANAGER_ERROR_NOT_SUPPORTED Not supported
+ * @retval #WIFI_MANAGER_ERROR_PERMISSION_DENIED Permission Denied
+ */
+int wifi_manager_set_mac_policy(wifi_manager_h wifi, wifi_manager_mac_policy_e policy);
+
+/**
+ * @brief Gets MAC address policy for connection operations.
+ * @since_tizen 6.5
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/network.get
+ * @param[in] wifi The Wi-Fi handle.
+ * @param[out] policy The mac address policy.
+ * @return 0 on success, otherwise negative error value
+ * @retval #WIFI_MANAGER_ERROR_NONE Successful
+ * @retval #WIFI_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #WIFI_MANAGER_ERROR_OPERATION_FAILED Operation Failed
+ * @retval #WIFI_MANAGER_ERROR_NOT_SUPPORTED Not supported
+ * @retval #WIFI_MANAGER_ERROR_PERMISSION_DENIED Permission Denied
+ */
+int wifi_manager_get_mac_policy(wifi_manager_h wifi, wifi_manager_mac_policy_e *policy);
+
+/**
+ * @brief Sets MAC address policy for pre-association operations (scanning, ANQP).
+ * @since_tizen 6.5
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/network.set
+ * @param[in] wifi The Wi-Fi handle.
+ * @param[in] policy The mac address policy.
+ * @return 0 on success, otherwise negative error value
+ * @retval #WIFI_MANAGER_ERROR_NONE Successful
+ * @retval #WIFI_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #WIFI_MANAGER_ERROR_OPERATION_FAILED Operation Failed
+ * @retval #WIFI_MANAGER_ERROR_NOT_SUPPORTED Not supported
+ * @retval #WIFI_MANAGER_ERROR_PERMISSION_DENIED Permission Denied
+ */
+int wifi_manager_set_preassoc_mac_policy(wifi_manager_h wifi, wifi_manager_mac_policy_e policy);
+
+/**
+ * @brief Gets MAC address policy for pre-association operations (scanning, ANQP).
+ * @since_tizen 6.5
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/network.get
+ * @param[in] wifi The Wi-Fi handle.
+ * @param[out] policy The mac address policy.
+ * @return 0 on success, otherwise negative error value
+ * @retval #WIFI_MANAGER_ERROR_NONE Successful
+ * @retval #WIFI_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #WIFI_MANAGER_ERROR_OPERATION_FAILED Operation Failed
+ * @retval #WIFI_MANAGER_ERROR_NOT_SUPPORTED Not supported
+ * @retval #WIFI_MANAGER_ERROR_PERMISSION_DENIED Permission Denied
+ */
+int wifi_manager_get_preassoc_mac_policy(wifi_manager_h wifi, wifi_manager_mac_policy_e *policy);
+
+/**
+ * @brief Sets lifetime of random mac_address after which new random mac is used.
+ * @since_tizen 6.5
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/network.set
+ * @param[in] wifi The Wi-Fi handle.
+ * @param[in] lifetime The lifetime of random mac address.
+ * @return 0 on success, otherwise negative error value
+ * @retval #WIFI_MANAGER_ERROR_NONE Successful
+ * @retval #WIFI_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #WIFI_MANAGER_ERROR_OPERATION_FAILED Operation Failed
+ * @retval #WIFI_MANAGER_ERROR_NOT_SUPPORTED Not supported
+ * @retval #WIFI_MANAGER_ERROR_PERMISSION_DENIED Permission Denied
+ */
+int wifi_manager_set_random_mac_lifetime(wifi_manager_h wifi, unsigned int lifetime);
+
+/**
+ * @brief Gets lifetime of random mac_address after which new random mac is used.
+ * @since_tizen 6.5
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/network.get
+ * @param[in] wifi The Wi-Fi handle.
+ * @param[out] lifetime The lifetime of random mac address.
+ * @return 0 on success, otherwise negative error value
+ * @retval #WIFI_MANAGER_ERROR_NONE Successful
+ * @retval #WIFI_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #WIFI_MANAGER_ERROR_OPERATION_FAILED Operation Failed
+ * @retval #WIFI_MANAGER_ERROR_NOT_SUPPORTED Not supported
+ * @retval #WIFI_MANAGER_ERROR_PERMISSION_DENIED Permission Denied
+ */
+int wifi_manager_get_random_mac_lifetime(wifi_manager_h wifi, unsigned int *lifetime);
+
+/**
+ * @}
+ */
/**
#define WIFI_ERROR 2
#define WIFI_WARN 3
-#define WIFI_FEATURE "http://tizen.org/feature/network.wifi"
-#define WIFI_TDLS_FEATURE "http://tizen.org/feature/network.wifi.tdls"
+#define WIFI_FEATURE "http://tizen.org/feature/network.wifi"
+#define WIFI_TDLS_FEATURE "http://tizen.org/feature/network.wifi.tdls"
#define WIFI_CONFIG_NAME "Name"
#define WIFI_CONFIG_SSID "SSID"
GSList *specific_profile_iterator;
GSList *bss_profile_iterator;
GSList *config_iterator;
+
+ unsigned int mac_policy;
+ unsigned int preassoc_mac_policy;
+ unsigned int random_mac_lifetime;
} wifi_manager_handle_s;
typedef struct {
int _wifi_dpp_stop(wifi_dpp_s *p_dpp);
void _wifi_lock(void);
void _wifi_unlock(void);
+
+int _wifi_set_mac_policy(wifi_manager_h wifi, unsigned int policy);
+int _wifi_get_mac_policy(wifi_manager_h wifi, unsigned int *policy);
+int _wifi_set_preassoc_mac_policy(wifi_manager_h wifi, unsigned int policy);
+int _wifi_get_preassoc_mac_policy(wifi_manager_h wifi, unsigned int *policy);
+int _wifi_set_random_mac_lifetime(wifi_manager_h wifi, unsigned int lifetime);
+int _wifi_get_random_mac_lifetime(wifi_manager_h wifi, unsigned int *lifetime);
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
Name: capi-network-wifi-manager
Summary: Network Wi-Fi library in TIZEN C API
-Version: 1.3.7
+Version: 1.3.8
Release: 1
Group: System/Network
License: Apache-2.0
return Error;
}
//LCOV_EXCL_STOP
+
+int _net_dbus_set_mac_policy(network_info_s *network_info, unsigned int policy)
+{
+ __NETWORK_FUNC_ENTER__;
+
+ net_err_e Error = NET_ERR_NONE;
+ GVariant *message = NULL;
+
+ const char *prop_key = "MacPolicy";
+ const char *method = "SetProperty";
+ GVariant *params = NULL;
+
+ WIFI_LOG(WIFI_INFO, "MacPolicy [%u]", policy);
+
+ params = g_variant_new("(sv)", prop_key, g_variant_new_uint32(policy));
+
+ message = _net_invoke_dbus_method(network_info,
+ CONNMAN_SERVICE, CONNMAN_WIFI_TECHNOLOGY_PREFIX,
+ CONNMAN_TECHNOLOGY_INTERFACE,
+ method, params, &Error);
+
+ if (message == NULL) {
+ WIFI_LOG(WIFI_ERROR, "Failed to set mac policy");
+ __NETWORK_FUNC_EXIT__;
+ return Error;
+ }
+
+ g_variant_unref(message);
+
+ __NETWORK_FUNC_EXIT__;
+ return Error;
+}
+
+int _net_dbus_set_preassoc_mac_policy(network_info_s *network_info, unsigned int policy)
+{
+ __NETWORK_FUNC_ENTER__;
+
+ net_err_e Error = NET_ERR_NONE;
+ GVariant *message = NULL;
+
+ const char *prop_key = "PreassocMacPolicy";
+ const char *method = "SetProperty";
+ GVariant *params = NULL;
+
+ WIFI_LOG(WIFI_INFO, "PreassocMacPolicy [%u]", policy);
+
+ params = g_variant_new("(sv)", prop_key, g_variant_new_uint32(policy));
+
+ message = _net_invoke_dbus_method(network_info,
+ CONNMAN_SERVICE, CONNMAN_WIFI_TECHNOLOGY_PREFIX,
+ CONNMAN_TECHNOLOGY_INTERFACE,
+ method, params, &Error);
+
+ if (message == NULL) {
+ WIFI_LOG(WIFI_ERROR, "Failed to set preassoc mac policy");
+ __NETWORK_FUNC_EXIT__;
+ return Error;
+ }
+
+ g_variant_unref(message);
+
+ __NETWORK_FUNC_EXIT__;
+ return Error;
+}
+
+int _net_dbus_set_random_mac_lifetime(network_info_s *network_info, unsigned int lifetime)
+{
+ __NETWORK_FUNC_ENTER__;
+
+ net_err_e Error = NET_ERR_NONE;
+ GVariant *message = NULL;
+
+ const char *prop_key = "RandomMacLifetime";
+ const char *method = "SetProperty";
+ GVariant *params = NULL;
+
+ WIFI_LOG(WIFI_INFO, "RandomMacLifetime [%u]", lifetime);
+
+ params = g_variant_new("(sv)", prop_key, g_variant_new_uint32(lifetime));
+
+ message = _net_invoke_dbus_method(network_info,
+ CONNMAN_SERVICE, CONNMAN_WIFI_TECHNOLOGY_PREFIX,
+ CONNMAN_TECHNOLOGY_INTERFACE,
+ method, params, &Error);
+
+ if (message == NULL) {
+ WIFI_LOG(WIFI_ERROR, "Failed to set random mac lifetime");
+ __NETWORK_FUNC_EXIT__;
+ return Error;
+ }
+
+ g_variant_unref(message);
+
+ __NETWORK_FUNC_EXIT__;
+ return Error;
+}
return Error;
}
//LCOV_EXCL_STOP
+
+int net_wifi_set_mac_policy(network_info_s *network_info, unsigned int policy)
+{
+ __NETWORK_FUNC_ENTER__;
+
+ net_err_e Error = NET_ERR_NONE;
+
+ Error = _net_dbus_set_mac_policy(network_info, policy);
+
+ __NETWORK_FUNC_EXIT__;
+ return Error;
+}
+
+int net_wifi_set_preassoc_mac_policy(network_info_s *network_info, unsigned int policy)
+{
+ __NETWORK_FUNC_ENTER__;
+
+ net_err_e Error = NET_ERR_NONE;
+
+ Error = _net_dbus_set_preassoc_mac_policy(network_info, policy);
+
+ __NETWORK_FUNC_EXIT__;
+ return Error;
+}
+
+int net_wifi_set_random_mac_lifetime(network_info_s *network_info, unsigned int lifetime)
+{
+ __NETWORK_FUNC_ENTER__;
+
+ net_err_e Error = NET_ERR_NONE;
+
+ Error = _net_dbus_set_random_mac_lifetime(network_info, lifetime);
+
+ __NETWORK_FUNC_EXIT__;
+ return Error;
+}
}
pthread_mutex_init(&(wifi_handle->mutex_ap_handle_list), NULL);
+ wifi_handle->random_mac_lifetime = 60; /* default value */
+
*wifi = wifi_handle;
WIFI_LOG(WIFI_INFO, "New handle create[%p]", *wifi);
int ret = pthread_mutex_unlock(&(wifi->mutex_ap_handle_list));
if (ret < 0)
- WIFI_LOG(WIFI_ERROR, "Failed to lock the ap_handle_list[%d]", ret);
+ WIFI_LOG(WIFI_ERROR, "Failed to unlock the ap_handle_list[%d]", ret);
}
void _wifi_deinit(wifi_manager_h wifi)
{
pthread_mutex_unlock(&g_wifi_thread_mutex);
}
+
+int _wifi_set_mac_policy(wifi_manager_h wifi, unsigned int policy)
+{
+ int rv;
+ wifi_manager_handle_s *wifi_handle = wifi;
+
+ rv = net_wifi_set_mac_policy(wifi_handle->network_info, policy);
+ if (rv == NET_ERR_ACCESS_DENIED) {
+ WIFI_LOG(WIFI_ERROR, "Access denied"); //LCOV_EXCL_LINE
+ return WIFI_MANAGER_ERROR_PERMISSION_DENIED; //LCOV_EXCL_LINE
+ } else if (rv != NET_ERR_NONE)
+ return WIFI_MANAGER_ERROR_OPERATION_FAILED; //LCOV_EXCL_LINE
+
+ wifi_handle->mac_policy = policy;
+
+ return WIFI_MANAGER_ERROR_NONE;
+}
+
+int _wifi_get_mac_policy(wifi_manager_h wifi, unsigned int *policy)
+{
+ wifi_manager_handle_s *wifi_handle = wifi;
+
+ *policy = wifi_handle->mac_policy;
+
+ return WIFI_MANAGER_ERROR_NONE;
+}
+
+int _wifi_set_preassoc_mac_policy(wifi_manager_h wifi, unsigned int policy)
+{
+ int rv;
+ wifi_manager_handle_s *wifi_handle = wifi;
+
+ rv = net_wifi_set_preassoc_mac_policy(wifi_handle->network_info, policy);
+ if (rv == NET_ERR_ACCESS_DENIED) {
+ WIFI_LOG(WIFI_ERROR, "Access denied"); //LCOV_EXCL_LINE
+ return WIFI_MANAGER_ERROR_PERMISSION_DENIED; //LCOV_EXCL_LINE
+ } else if (rv != NET_ERR_NONE)
+ return WIFI_MANAGER_ERROR_OPERATION_FAILED; //LCOV_EXCL_LINE
+
+ wifi_handle->preassoc_mac_policy = policy;
+
+ return WIFI_MANAGER_ERROR_NONE;
+}
+
+int _wifi_get_preassoc_mac_policy(wifi_manager_h wifi, unsigned int *policy)
+{
+ wifi_manager_handle_s *wifi_handle = wifi;
+
+ *policy = wifi_handle->preassoc_mac_policy;
+
+ return WIFI_MANAGER_ERROR_NONE;
+}
+
+int _wifi_set_random_mac_lifetime(wifi_manager_h wifi, unsigned int lifetime)
+{
+ int rv;
+ wifi_manager_handle_s *wifi_handle = wifi;
+
+ rv = net_wifi_set_random_mac_lifetime(wifi_handle->network_info, lifetime);
+ if (rv == NET_ERR_ACCESS_DENIED) {
+ WIFI_LOG(WIFI_ERROR, "Access denied"); //LCOV_EXCL_LINE
+ return WIFI_MANAGER_ERROR_PERMISSION_DENIED; //LCOV_EXCL_LINE
+ } else if (rv != NET_ERR_NONE)
+ return WIFI_MANAGER_ERROR_OPERATION_FAILED; //LCOV_EXCL_LINE
+
+ wifi_handle->random_mac_lifetime = lifetime;
+
+ return WIFI_MANAGER_ERROR_NONE;
+}
+
+int _wifi_get_random_mac_lifetime(wifi_manager_h wifi, unsigned int *lifetime)
+{
+ wifi_manager_handle_s *wifi_handle = wifi;
+
+ *lifetime = wifi_handle->random_mac_lifetime;
+
+ return WIFI_MANAGER_ERROR_NONE;
+}
return rv;
}
//LCOV_EXCL_STOP
+
+EXPORT_API int wifi_manager_set_mac_policy(wifi_manager_h wifi, wifi_manager_mac_policy_e policy)
+{
+ __NETWORK_CAPI_FUNC_ENTER__;
+
+ int rv = WIFI_MANAGER_ERROR_NONE;
+
+ CHECK_FEATURE_SUPPORTED(WIFI_FEATURE);
+
+ if (policy < WIFI_MANAGER_MAC_POLICY_FIXED_MAC || policy > WIFI_MANAGER_MAC_POLICY_FIXED_OUI_RANDOM_MAC) {
+ WIFI_LOG(WIFI_ERROR, "Invalid policy parameter, value [%d]", policy);
+ return WIFI_MANAGER_ERROR_INVALID_PARAMETER;
+ }
+
+ RET_ERR_IF_HANDLE_IS_NOT_VALID_OR_NOT_INITIALIZED(wifi, __NETWORK_CAPI_FUNC_EXIT__);
+
+ WIFI_LOG(WIFI_INFO, "Mac policy %d", policy);
+ rv = _wifi_set_mac_policy(wifi, policy);
+
+ __NETWORK_CAPI_FUNC_EXIT__;
+ return rv;
+}
+
+EXPORT_API int wifi_manager_get_mac_policy(wifi_manager_h wifi, wifi_manager_mac_policy_e *policy)
+{
+ __NETWORK_CAPI_FUNC_ENTER__;
+
+ int rv = WIFI_MANAGER_ERROR_NONE;
+
+ CHECK_FEATURE_SUPPORTED(WIFI_FEATURE);
+
+ if (policy == NULL) {
+ WIFI_LOG(WIFI_ERROR, "policy parameter is NULL");
+ return WIFI_MANAGER_ERROR_INVALID_PARAMETER;
+ }
+
+ RET_ERR_IF_HANDLE_IS_NOT_VALID_OR_NOT_INITIALIZED(wifi, __NETWORK_CAPI_FUNC_EXIT__);
+
+ rv = _wifi_get_mac_policy(wifi, policy);
+ WIFI_LOG(WIFI_INFO, "Mac policy %d", *policy);
+
+ __NETWORK_CAPI_FUNC_EXIT__;
+ return rv;
+}
+
+EXPORT_API int wifi_manager_set_preassoc_mac_policy(wifi_manager_h wifi, wifi_manager_mac_policy_e policy)
+{
+ __NETWORK_CAPI_FUNC_ENTER__;
+
+ int rv = WIFI_MANAGER_ERROR_NONE;
+
+ CHECK_FEATURE_SUPPORTED(WIFI_FEATURE);
+
+ if (policy < WIFI_MANAGER_MAC_POLICY_FIXED_MAC || policy > WIFI_MANAGER_MAC_POLICY_FIXED_OUI_RANDOM_MAC) {
+ WIFI_LOG(WIFI_ERROR, "Invalid policy parameter, value [%d]", policy);
+ return WIFI_MANAGER_ERROR_INVALID_PARAMETER;
+ }
+
+ RET_ERR_IF_HANDLE_IS_NOT_VALID_OR_NOT_INITIALIZED(wifi, __NETWORK_CAPI_FUNC_EXIT__);
+
+ WIFI_LOG(WIFI_INFO, "Preassoc mac policy %d", policy);
+ rv = _wifi_set_preassoc_mac_policy(wifi, policy);
+
+ __NETWORK_CAPI_FUNC_EXIT__;
+ return rv;
+}
+
+EXPORT_API int wifi_manager_get_preassoc_mac_policy(wifi_manager_h wifi, wifi_manager_mac_policy_e *policy)
+{
+ __NETWORK_CAPI_FUNC_ENTER__;
+
+ int rv = WIFI_MANAGER_ERROR_NONE;
+
+ CHECK_FEATURE_SUPPORTED(WIFI_FEATURE);
+
+ if (policy == NULL) {
+ WIFI_LOG(WIFI_ERROR, "policy parameter is NULL");
+ return WIFI_MANAGER_ERROR_INVALID_PARAMETER;
+ }
+
+ RET_ERR_IF_HANDLE_IS_NOT_VALID_OR_NOT_INITIALIZED(wifi, __NETWORK_CAPI_FUNC_EXIT__);
+
+ rv = _wifi_get_preassoc_mac_policy(wifi, policy);
+ WIFI_LOG(WIFI_INFO, "Preassoc mac policy %d", *policy);
+
+ __NETWORK_CAPI_FUNC_EXIT__;
+ return rv;
+}
+
+EXPORT_API int wifi_manager_set_random_mac_lifetime(wifi_manager_h wifi, unsigned int lifetime)
+{
+ __NETWORK_CAPI_FUNC_ENTER__;
+
+ int rv = WIFI_MANAGER_ERROR_NONE;
+
+ CHECK_FEATURE_SUPPORTED(WIFI_FEATURE);
+
+ if (lifetime == 0) {
+ WIFI_LOG(WIFI_ERROR, "Invalid lifetime parameter, value [%u]", lifetime);
+ return WIFI_MANAGER_ERROR_INVALID_PARAMETER;
+ }
+
+ RET_ERR_IF_HANDLE_IS_NOT_VALID_OR_NOT_INITIALIZED(wifi, __NETWORK_CAPI_FUNC_EXIT__);
+
+ WIFI_LOG(WIFI_INFO, "Random mac lifetime %u", lifetime);
+ rv = _wifi_set_random_mac_lifetime(wifi, lifetime);
+
+ __NETWORK_CAPI_FUNC_EXIT__;
+ return rv;
+}
+
+EXPORT_API int wifi_manager_get_random_mac_lifetime(wifi_manager_h wifi, unsigned int *lifetime)
+{
+ __NETWORK_CAPI_FUNC_ENTER__;
+
+ int rv = WIFI_MANAGER_ERROR_NONE;
+
+ CHECK_FEATURE_SUPPORTED(WIFI_FEATURE);
+
+ if (lifetime == NULL) {
+ WIFI_LOG(WIFI_ERROR, "lifetime parameter is NULL");
+ return WIFI_MANAGER_ERROR_INVALID_PARAMETER;
+ }
+
+ RET_ERR_IF_HANDLE_IS_NOT_VALID_OR_NOT_INITIALIZED(wifi, __NETWORK_CAPI_FUNC_EXIT__);
+
+ rv = _wifi_get_random_mac_lifetime(wifi, lifetime);
+ WIFI_LOG(WIFI_INFO, "Random mac lifetime %u", *lifetime);
+
+ __NETWORK_CAPI_FUNC_EXIT__;
+ return rv;
+}
#include <gtest/gtest.h>
#include "wifi-manager.h"
+#include "wifi-manager-extension.h"
extern "C" {
#include "mocks/mock_system_info.h"
#include "mocks/mock_memory.h"
EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_deinitialize(handle));
EXPECT_EQ(WIFI_MANAGER_ERROR_NOT_INITIALIZED, wifi_manager_is_5ghz_band_supported(handle, nullptr));
}
+
+TEST_F(UtcWifiManagerInfo, SetMacPolicyP1)
+{
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_set_mac_policy(handle, WIFI_MANAGER_MAC_POLICY_FIXED_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_set_mac_policy(handle, WIFI_MANAGER_MAC_POLICY_RANDOM_OUI_RANDOM_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_set_mac_policy(handle, WIFI_MANAGER_MAC_POLICY_FIXED_OUI_RANDOM_MAC));
+}
+
+TEST_F(UtcWifiManagerInfo, SetMacPolicyN1)
+{
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_mac_policy(nullptr, WIFI_MANAGER_MAC_POLICY_FIXED_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_mac_policy(nullptr, WIFI_MANAGER_MAC_POLICY_RANDOM_OUI_RANDOM_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_mac_policy(nullptr, WIFI_MANAGER_MAC_POLICY_FIXED_OUI_RANDOM_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_mac_policy(handle, (wifi_manager_mac_policy_e)-1));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_mac_policy(handle, (wifi_manager_mac_policy_e)3));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_deinitialize(handle));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_mac_policy(nullptr, WIFI_MANAGER_MAC_POLICY_FIXED_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_mac_policy(nullptr, WIFI_MANAGER_MAC_POLICY_RANDOM_OUI_RANDOM_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_mac_policy(nullptr, WIFI_MANAGER_MAC_POLICY_FIXED_OUI_RANDOM_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_mac_policy(handle, (wifi_manager_mac_policy_e)-1));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_mac_policy(handle, (wifi_manager_mac_policy_e)3));
+}
+
+TEST_F(UtcWifiManagerInfo, SetMacPolicyN2)
+{
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_deinitialize(handle));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NOT_INITIALIZED, wifi_manager_set_mac_policy(handle, WIFI_MANAGER_MAC_POLICY_FIXED_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NOT_INITIALIZED, wifi_manager_set_mac_policy(handle, WIFI_MANAGER_MAC_POLICY_RANDOM_OUI_RANDOM_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NOT_INITIALIZED, wifi_manager_set_mac_policy(handle, WIFI_MANAGER_MAC_POLICY_FIXED_OUI_RANDOM_MAC));
+}
+
+TEST_F(UtcWifiManagerInfo, GetMacPolicyP1)
+{
+ wifi_manager_mac_policy_e mac_policy = WIFI_MANAGER_MAC_POLICY_FIXED_MAC;
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_get_mac_policy(handle, &mac_policy));
+}
+
+TEST_F(UtcWifiManagerInfo, GetMacPolicyN1)
+{
+ wifi_manager_mac_policy_e mac_policy = WIFI_MANAGER_MAC_POLICY_FIXED_MAC;
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_get_mac_policy(nullptr, &mac_policy));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_get_mac_policy(handle, nullptr));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_get_mac_policy(nullptr, nullptr));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_deinitialize(handle));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_get_mac_policy(nullptr, &mac_policy));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_get_mac_policy(handle, nullptr));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_get_mac_policy(nullptr, nullptr));
+}
+
+TEST_F(UtcWifiManagerInfo, GetMacPolicyN2)
+{
+ wifi_manager_mac_policy_e mac_policy = WIFI_MANAGER_MAC_POLICY_FIXED_MAC;
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_deinitialize(handle));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NOT_INITIALIZED, wifi_manager_get_mac_policy(handle, &mac_policy));
+}
+
+TEST_F(UtcWifiManagerInfo, SetPreassocMacPolicyP1)
+{
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_set_preassoc_mac_policy(handle, WIFI_MANAGER_MAC_POLICY_FIXED_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_set_preassoc_mac_policy(handle, WIFI_MANAGER_MAC_POLICY_RANDOM_OUI_RANDOM_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_set_preassoc_mac_policy(handle, WIFI_MANAGER_MAC_POLICY_FIXED_OUI_RANDOM_MAC));
+}
+
+TEST_F(UtcWifiManagerInfo, SetPreassocMacPolicyN1)
+{
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_preassoc_mac_policy(nullptr, WIFI_MANAGER_MAC_POLICY_FIXED_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_preassoc_mac_policy(nullptr, WIFI_MANAGER_MAC_POLICY_RANDOM_OUI_RANDOM_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_preassoc_mac_policy(nullptr, WIFI_MANAGER_MAC_POLICY_FIXED_OUI_RANDOM_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_preassoc_mac_policy(handle, (wifi_manager_mac_policy_e)-1));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_preassoc_mac_policy(handle, (wifi_manager_mac_policy_e)3));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_deinitialize(handle));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_preassoc_mac_policy(nullptr, WIFI_MANAGER_MAC_POLICY_FIXED_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_preassoc_mac_policy(nullptr, WIFI_MANAGER_MAC_POLICY_RANDOM_OUI_RANDOM_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_preassoc_mac_policy(nullptr, WIFI_MANAGER_MAC_POLICY_FIXED_OUI_RANDOM_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_preassoc_mac_policy(handle, (wifi_manager_mac_policy_e)-1));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_preassoc_mac_policy(handle, (wifi_manager_mac_policy_e)3));
+}
+
+TEST_F(UtcWifiManagerInfo, SetPreassocMacPolicyN2)
+{
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_deinitialize(handle));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NOT_INITIALIZED, wifi_manager_set_preassoc_mac_policy(handle, WIFI_MANAGER_MAC_POLICY_FIXED_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NOT_INITIALIZED, wifi_manager_set_preassoc_mac_policy(handle, WIFI_MANAGER_MAC_POLICY_RANDOM_OUI_RANDOM_MAC));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NOT_INITIALIZED, wifi_manager_set_preassoc_mac_policy(handle, WIFI_MANAGER_MAC_POLICY_FIXED_OUI_RANDOM_MAC));
+}
+
+TEST_F(UtcWifiManagerInfo, GetPreassocMacPolicyP1)
+{
+ wifi_manager_mac_policy_e preassoc_mac_policy = WIFI_MANAGER_MAC_POLICY_FIXED_MAC;
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_get_preassoc_mac_policy(handle, &preassoc_mac_policy));
+}
+
+TEST_F(UtcWifiManagerInfo, GetPreassocMacPolicyN1)
+{
+ wifi_manager_mac_policy_e preassoc_mac_policy = WIFI_MANAGER_MAC_POLICY_FIXED_MAC;
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_get_preassoc_mac_policy(nullptr, &preassoc_mac_policy));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_get_preassoc_mac_policy(handle, nullptr));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_get_preassoc_mac_policy(nullptr, nullptr));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_deinitialize(handle));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_get_preassoc_mac_policy(nullptr, &preassoc_mac_policy));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_get_preassoc_mac_policy(handle, nullptr));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_get_preassoc_mac_policy(nullptr, nullptr));
+}
+
+TEST_F(UtcWifiManagerInfo, GetPreassocMacPolicyN2)
+{
+ wifi_manager_mac_policy_e preassoc_mac_policy = WIFI_MANAGER_MAC_POLICY_FIXED_MAC;
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_deinitialize(handle));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NOT_INITIALIZED, wifi_manager_get_preassoc_mac_policy(handle, &preassoc_mac_policy));
+}
+
+TEST_F(UtcWifiManagerInfo, SetRandomMacLifetimeP1)
+{
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_set_random_mac_lifetime(handle, 1));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_set_random_mac_lifetime(handle, 60));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_set_random_mac_lifetime(handle, 3600));
+}
+
+TEST_F(UtcWifiManagerInfo, SetRandomMacLifetimeN1)
+{
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_random_mac_lifetime(nullptr, 1));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_random_mac_lifetime(nullptr, 0));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_random_mac_lifetime(handle, 0));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_deinitialize(handle));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_random_mac_lifetime(nullptr, 1));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_random_mac_lifetime(nullptr, 0));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_set_random_mac_lifetime(handle, 0));
+}
+
+TEST_F(UtcWifiManagerInfo, SetRandomMacLifetimeN2)
+{
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_deinitialize(handle));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NOT_INITIALIZED, wifi_manager_set_random_mac_lifetime(handle, 1));
+}
+
+TEST_F(UtcWifiManagerInfo, GetRandomMacLifetimeP1)
+{
+ unsigned int lifetime = 0;
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_get_random_mac_lifetime(handle, &lifetime));
+}
+
+TEST_F(UtcWifiManagerInfo, GetRandomMacLifetimeN1)
+{
+ unsigned int lifetime = 0;
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_get_random_mac_lifetime(nullptr, &lifetime));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_get_random_mac_lifetime(handle, nullptr));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_get_random_mac_lifetime(nullptr, nullptr));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_deinitialize(handle));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_get_random_mac_lifetime(nullptr, &lifetime));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_get_random_mac_lifetime(handle, nullptr));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_INVALID_PARAMETER, wifi_manager_get_random_mac_lifetime(nullptr, nullptr));
+}
+
+TEST_F(UtcWifiManagerInfo, GetRandomMacLifetimeN2)
+{
+ unsigned int lifetime = 0;
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, wifi_manager_deinitialize(handle));
+ EXPECT_EQ(WIFI_MANAGER_ERROR_NOT_INITIALIZED, wifi_manager_get_random_mac_lifetime(handle, &lifetime));
+}
return 1;
}
+int test_wifi_manager_set_mac_policy(void)
+{
+ int rv;
+ unsigned int policy = 0;
+
+ printf("Enter mac policy (0/1/2): ");
+ rv = scanf(" %u", &policy);
+
+ rv = wifi_manager_set_mac_policy(wifi, policy);
+ if (rv != WIFI_MANAGER_ERROR_NONE) {
+ printf("Fail to set mac policy, rv = %d\n", rv);
+ return 1;
+ }
+
+ printf("Success to set mac policy\n");
+ return 1;
+}
+
+int test_wifi_manager_set_preassoc_mac_policy(void)
+{
+ int rv;
+ unsigned int policy = 0;
+
+ printf("Enter mac policy (0/1/2): ");
+ rv = scanf(" %u", &policy);
+
+ rv = wifi_manager_set_preassoc_mac_policy(wifi, policy);
+ if (rv != WIFI_MANAGER_ERROR_NONE) {
+ printf("Fail to set preassoc mac policy, rv = %d\n", rv);
+ return 1;
+ }
+
+ printf("Success to set preassoc mac policy\n");
+ return 1;
+}
+
+int test_wifi_manager_set_random_mac_lifetime(void)
+{
+ int rv;
+ unsigned int lifetime = 0;
+
+ printf("Enter mac policy (> 0): ");
+ rv = scanf(" %u", &lifetime);
+
+ rv = wifi_manager_set_random_mac_lifetime(wifi, lifetime);
+ if (rv != WIFI_MANAGER_ERROR_NONE) {
+ printf("Fail to set random mac lifetime, rv = %d\n", rv);
+ return 1;
+ }
+
+ printf("Success to set random mac lifetime\n");
+ return 1;
+}
+
+int test_wifi_manager_get_mac_policies(void)
+{
+ int rv;
+ unsigned int mac_policy = 0;
+ unsigned int preassoc_mac_policy = 0;
+ unsigned int random_mac_lifetime = 0;
+
+ rv = wifi_manager_get_mac_policy(wifi, &mac_policy);
+ if (rv != WIFI_MANAGER_ERROR_NONE)
+ printf("Fail to get mac policy, rv = %d\n", rv);
+
+ rv = wifi_manager_get_preassoc_mac_policy(wifi, &preassoc_mac_policy);
+ if (rv != WIFI_MANAGER_ERROR_NONE)
+ printf("Fail to get preassoc mac policy, rv = %d\n", rv);
+
+ rv = wifi_manager_get_random_mac_lifetime(wifi, &random_mac_lifetime);
+ if (rv != WIFI_MANAGER_ERROR_NONE)
+ printf("Fail to get random mac lifetime, rv = %d\n", rv);
+
+ printf("Success to get mac policies: "
+ "[Mac Policy : %u], [Preassoc Mac Policy : %u], [Random Mac lifetime : %u]\n",
+ mac_policy, preassoc_mac_policy, random_mac_lifetime);
+ return 1;
+}
+
int test_wifi_manager_get_connection_mode(void)
{
int rv, int_value;
printf("X - Set passpoint on/off\n");
printf("Y - Get Access Point Hardware Mode\n");
printf("Z - Get 5Ghz supported\n");
+ printf("! - Set mac policy\n");
+ printf("@ - Set preassoc mac policy\n");
+ printf("# - Set random mac lifetime\n");
+ printf("$ - Get mac policies\n");
printf(LOG_RED "0 - Exit \n" LOG_END);
printf("ENTER - Show options menu.......\n");
case 'Z':
rv = test_wifi_manager_get_5ghz_band_supported();
break;
+ case '!':
+ rv = test_wifi_manager_set_mac_policy();
+ break;
+ case '@':
+ rv = test_wifi_manager_set_preassoc_mac_policy();
+ break;
+ case '#':
+ rv = test_wifi_manager_set_random_mac_lifetime();
+ break;
+ case '$':
+ rv = test_wifi_manager_get_mac_policies();
+ break;
default:
break;
}