struct connman_network *scan_pending_network;
bool allow_full_scan;
#endif
+ int disconnect_code;
+
};
#if defined TIZEN_EXT
#if defined TIZEN_EXT
ssid->bssid = connman_network_get_bssid(network);
#endif
+#if defined TIZEN_EXT
+ ssid->freq = connman_network_get_frequency(network);
+#endif
if (connman_setting_get_bool("BackgroundScanning"))
ssid->bgscan = BGSCAN_DEFAULT;
network, wifi))
break;
+ #if defined TIZEN_EXT
+ wifi->disconnect_code = g_supplicant_interface_get_disconnect_reason(wifi->interface);
+ DBG("Disconnect Reason code %d", wifi->disconnect_code);
+ #endif
+ /* See table 8-36 Reason codes in IEEE Std 802.11 */
+ switch (wifi->disconnect_code) {
+ case 1: /* Unspecified reason */
+ /* Let's assume it's because we got blocked */
+
+ case 6: /* Class 2 frame received from nonauthenticated STA */
+ connman_network_set_error(network,
+ CONNMAN_NETWORK_ERROR_BLOCKED);
+ break;
+
+ default:
+ break;
+ }
+
+
/* We disable the selected network, if not then
* wpa_supplicant will loop retrying */
if (g_supplicant_interface_enable_selected_network(interface,
#if defined TIZEN_EXT
int err;
- int reason_code = 0;
err = g_supplicant_interface_remove_network(wifi->interface);
if (err < 0)
DBG("Failed to remove network(%d)", err);
- reason_code = g_supplicant_interface_get_disconnect_reason(wifi->interface);
/* Some of Wi-Fi networks are not comply Wi-Fi specification.
* Retry association until its retry count is expired */
break;
}
- if(reason_code > 0){
- DBG("Set disconnect reason code(%d)", reason_code);
- connman_network_set_disconnect_reason(network, reason_code);
+ if(wifi->disconnect_code > 0){
+ DBG("Set disconnect reason code(%d)", wifi->disconnect_code);
+ connman_network_set_disconnect_reason(network, wifi->disconnect_code);
}
/* To avoid unnecessary repeated association in wpa_supplicant,
uid_t current_user;
};
-#if defined TIZEN_TV_EXT
+#ifdef TIZEN_EXT
enum connman_dnsconfig_method {
CONNMAN_DNSCONFIG_METHOD_UNKNOWN = 0,
CONNMAN_DNSCONFIG_METHOD_MANUAL = 1,
char *keymgmt_type;
int disconnect_reason;
#endif
-#if defined TIZEN_TV_EXT
+#ifdef TIZEN_EXT
enum connman_dnsconfig_method dns_config_method;
#endif
};
return "auth-failed";
case CONNMAN_SERVICE_ERROR_INVALID_KEY:
return "invalid-key";
+ case CONNMAN_SERVICE_ERROR_BLOCKED:
+ return "blocked";
}
return NULL;
return CONNMAN_SERVICE_PROXY_METHOD_UNKNOWN;
}
-#if defined TIZEN_TV_EXT
+#ifdef TIZEN_EXT
static const char *__connman_dnsconfig_method2string(enum connman_dnsconfig_method method)
{
switch (method) {
service->nameservers_config = NULL;
}
-#if defined TIZEN_TV_EXT
+#ifdef TIZEN_EXT
char *dns_method;
- dns_method = g_key_file_get_string(keyfile, service->identifier,
- "Nameservers.method", NULL);
- service->dns_config_method = __connman_dnsconfig_string2method(dns_method);
+ if (TIZEN_TV_EXT) {
+ dns_method = g_key_file_get_string(keyfile, service->identifier,
+ "Nameservers.method", NULL);
+ service->dns_config_method = __connman_dnsconfig_string2method(dns_method);
+ }
#endif
service->timeservers_config = g_key_file_get_string_list(keyfile,
g_key_file_remove_key(keyfile, service->identifier,
"Nameservers", NULL);
-#if defined TIZEN_TV_EXT
- if(service->dns_config_method != 0) {
- const char *method;
- method = __connman_dnsconfig_method2string(
- service->dns_config_method);
- g_key_file_set_string(keyfile, service->identifier,
- "Nameservers.method", method);
- } else
- g_key_file_remove_key(keyfile, service->identifier,
- "Nameservers.method", NULL);
+#ifdef TIZEN_EXT
+ if (TIZEN_TV_EXT) {
+ if(service->dns_config_method != 0) {
+ const char *method;
+ method = __connman_dnsconfig_method2string(
+ service->dns_config_method);
+ g_key_file_set_string(keyfile, service->identifier,
+ "Nameservers.method", method);
+ } else
+ g_key_file_remove_key(keyfile, service->identifier,
+ "Nameservers.method", NULL);
+ }
#endif
if (service->timeservers_config) {
nameservers[len + 1] = NULL;
-#if defined TIZEN_TV_EXT
- if(service->dns_config_method == CONNMAN_DNSCONFIG_METHOD_UNKNOWN)
+#ifdef TIZEN_EXT
+ if(TIZEN_TV_EXT &&
+ service->dns_config_method == CONNMAN_DNSCONFIG_METHOD_UNKNOWN)
service->dns_config_method = CONNMAN_DNSCONFIG_METHOD_DHCP;
#endif
if (!is_connected(service))
return;
-#if defined TIZEN_TV_EXT
- /* Append DNS Config Type */
+#ifdef TIZEN_EXT
const char *str;
- str = __connman_dnsconfig_method2string(service->dns_config_method);
- if(str != NULL)
- dbus_message_iter_append_basic(iter,
- DBUS_TYPE_STRING, &str);
+ if (TIZEN_TV_EXT) {
+ /* Append DNS Config Type */
+ str = __connman_dnsconfig_method2string(service->dns_config_method);
+ if(str != NULL)
+ dbus_message_iter_append_basic(iter,
+ DBUS_TYPE_STRING, &str);
+ }
#endif
if (service->nameservers_config) {
{
struct connman_service *service = user_data;
-#if defined TIZEN_TV_EXT
+#ifdef TIZEN_EXT
/* Append DNS Config Type */
const char *str;
- str = __connman_dnsconfig_method2string(service->dns_config_method);
- if(str != NULL)
- dbus_message_iter_append_basic(iter,
- DBUS_TYPE_STRING, &str);
+ if (TIZEN_TV_EXT) {
+ str = __connman_dnsconfig_method2string(service->dns_config_method);
+ if(str != NULL)
+ dbus_message_iter_append_basic(iter,
+ DBUS_TYPE_STRING, &str);
+ }
#endif
if (!service->nameservers_config)
connman_dbus_dict_append_basic(dict, "State",
DBUS_TYPE_STRING, &str);
-#if defined TIZEN_TV_EXT
- str = state2string(service->state_ipv6);
- if (str != NULL)
- connman_dbus_dict_append_basic(dict, "StateIPv6",
- DBUS_TYPE_STRING, &str);
+#ifdef TIZEN_EXT
+ if (TIZEN_TV_EXT) {
+ str = state2string(service->state_ipv6);
+ if (str != NULL)
+ connman_dbus_dict_append_basic(dict, "StateIPv6",
+ DBUS_TYPE_STRING, &str);
+ }
#endif
str = error2string(service->error);
const char *val;
dbus_message_iter_get_basic(&entry, &val);
dbus_message_iter_next(&entry);
-#if defined TIZEN_TV_EXT
- /* First unpack the DNS Config Method */
- if(g_strcmp0(val, "manual") == 0) {
- service->dns_config_method =
- CONNMAN_DNSCONFIG_METHOD_MANUAL;
- continue;
- } else if(g_strcmp0(val, "dhcp") == 0) {
- service->dns_config_method =
- CONNMAN_DNSCONFIG_METHOD_DHCP;
- continue;
+#ifdef TIZEN_EXT
+ if (TIZEN_TV_EXT) {
+ /* First unpack the DNS Config Method */
+ if(g_strcmp0(val, "manual") == 0) {
+ service->dns_config_method =
+ CONNMAN_DNSCONFIG_METHOD_MANUAL;
+ continue;
+ } else if(g_strcmp0(val, "dhcp") == 0) {
+ service->dns_config_method =
+ CONNMAN_DNSCONFIG_METHOD_DHCP;
+ continue;
+ }
}
#endif
if (connman_inet_check_ipaddress(val) > 0) {
__connman_provider_is_immutable(service->provider))
return false;
+#if !defined TIZEN_EXT
if (!service->favorite && service->state !=
CONNMAN_SERVICE_STATE_FAILURE)
return false;
+#endif
__connman_service_disconnect(service);