X-Git-Url: http://review.tizen.org/git/?p=platform%2Fupstream%2Fconnman.git;a=blobdiff_plain;f=src%2Fservice.c;h=d1ada486189d7b6bcda754cf4ad7b99348ce832e;hp=777db8f50400f672d56c852fbe5a88d359f720af;hb=a48fa9fdffe415e9a6f703776b5db795e242ac23;hpb=bf7dbf8354f076ec768ae24e61d6fb1e46c623af diff --git a/src/service.c b/src/service.c index 777db8f..d1ada48 100644 --- a/src/service.c +++ b/src/service.c @@ -350,6 +350,8 @@ enum connman_service_security __connman_service_string2security(const char *str) #if defined TIZEN_EXT if (!strcmp(str, "rsn")) return CONNMAN_SERVICE_SECURITY_RSN; + if (!strcmp(str, "sae")) + return CONNMAN_SERVICE_SECURITY_SAE; #endif return CONNMAN_SERVICE_SECURITY_UNKNOWN; @@ -370,6 +372,8 @@ static const char *security2string(enum connman_service_security security) return "psk"; case CONNMAN_SERVICE_SECURITY_RSN: return "rsn"; + case CONNMAN_SERVICE_SECURITY_SAE: + return "sae"; #else case CONNMAN_SERVICE_SECURITY_RSN: return "psk"; @@ -2388,6 +2392,9 @@ static void append_security(DBusMessageIter *iter, void *user_data) case CONNMAN_SERVICE_SECURITY_PSK: case CONNMAN_SERVICE_SECURITY_WPA: case CONNMAN_SERVICE_SECURITY_RSN: +#if defined TIZEN_EXT + case CONNMAN_SERVICE_SECURITY_SAE: +#endif str = "wps"; dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &str); @@ -3342,29 +3349,31 @@ static void append_wifi_ext_info(DBusMessageIter *dict, static void append_bssid_info(DBusMessageIter *iter, void *user_data) { - GSList *bssid_list = NULL; + GSList *bssid_list = NULL; struct connman_network *network = user_data; - struct connman_bssids *bssids; - char bssid_buf[18] = {0,}; - char *bssid_str = bssid_buf; + struct connman_bssids *bssids; + char bssid_buf[MAC_ADDRESS_LENGTH] = {0,}; + char *bssid_str = bssid_buf; - bssid_list = (GSList *)connman_network_get_bssid_list(network); - if(bssid_list) { - GSList *list; - for (list = bssid_list; list; list = list->next) { - bssids = (struct connman_bssids *)list->data; - memcpy(bssid_str, bssids->bssid, 18); + bssid_list = (GSList *)connman_network_get_bssid_list(network); + if(bssid_list) { + GSList *list; + for (list = bssid_list; list; list = list->next) { + bssids = (struct connman_bssids *)list->data; + g_snprintf(bssid_buf, MAC_ADDRESS_LENGTH, "%02x:%02x:%02x:%02x:%02x:%02x", + bssids->bssid[0], bssids->bssid[1], bssids->bssid[2], + bssids->bssid[3], bssids->bssid[4], bssids->bssid[5]); connman_dbus_dict_append_basic(iter, "BSSID", - DBUS_TYPE_STRING, &bssid_str); + DBUS_TYPE_STRING, &bssid_str); - connman_dbus_dict_append_basic(iter, "Strength", - DBUS_TYPE_UINT16, &bssids->strength); + connman_dbus_dict_append_basic(iter, "Strength", + DBUS_TYPE_UINT16, &bssids->strength); - connman_dbus_dict_append_basic(iter, "Frequency", - DBUS_TYPE_UINT16, &bssids->frequency); - } - } + connman_dbus_dict_append_basic(iter, "Frequency", + DBUS_TYPE_UINT16, &bssids->frequency); + } + } } #endif @@ -4141,6 +4150,8 @@ int __connman_service_check_passphrase(enum connman_service_security security, case CONNMAN_SERVICE_SECURITY_PSK: #if defined TIZEN_EXT case CONNMAN_SERVICE_SECURITY_RSN: + /* TO CHECK: We need to check the key length supported by SAE */ + case CONNMAN_SERVICE_SECURITY_SAE: #endif /* A raw key is always 64 bytes length, * its content is in hex representation. @@ -8205,6 +8216,9 @@ static int service_connect(struct connman_service *service) case CONNMAN_SERVICE_SECURITY_PSK: case CONNMAN_SERVICE_SECURITY_WPA: case CONNMAN_SERVICE_SECURITY_RSN: +#if defined TIZEN_EXT + case CONNMAN_SERVICE_SECURITY_SAE: +#endif if (service->error == CONNMAN_SERVICE_ERROR_INVALID_KEY) return -ENOKEY; @@ -8275,6 +8289,9 @@ static int service_connect(struct connman_service *service) case CONNMAN_SERVICE_SECURITY_PSK: case CONNMAN_SERVICE_SECURITY_WPA: case CONNMAN_SERVICE_SECURITY_RSN: +#if defined TIZEN_EXT + case CONNMAN_SERVICE_SECURITY_SAE: +#endif break; case CONNMAN_SERVICE_SECURITY_8021X: prepare_8021x(service); @@ -9026,6 +9043,8 @@ static enum connman_service_security convert_wifi_security(const char *security) else if (g_str_equal(security, "rsn")) return CONNMAN_SERVICE_SECURITY_RSN; #if defined TIZEN_EXT + else if (g_str_equal(security, "sae")) + return CONNMAN_SERVICE_SECURITY_SAE; else if (g_str_equal(security, "ft_psk") == TRUE) return CONNMAN_SERVICE_SECURITY_PSK; else if (g_str_equal(security, "ft_ieee8021x") == TRUE)