int name_len = 0;
DBusMessageIter iter, dict;
- if (!reply)
- goto out;
+ if (!reply) {
+ error = CONNMAN_ERROR_INTERFACE ".OperationAborted";
+ goto done;
+ }
if (dbus_message_get_type(reply) == DBUS_MESSAGE_TYPE_ERROR) {
error = dbus_message_get_error_name(reply);
DBusMessageIter entry, value;
dbus_message_iter_recurse(&dict, &entry);
- if (dbus_message_iter_get_arg_type(&entry) != DBUS_TYPE_STRING)
+ if (dbus_message_iter_get_arg_type(&entry) != DBUS_TYPE_STRING) {
+ error = CONNMAN_ERROR_INTERFACE ".InvalidArguments";
break;
+ }
dbus_message_iter_get_basic(&entry, &key);
if (g_str_equal(key, "Identity")) {
dbus_message_iter_next(&entry);
if (dbus_message_iter_get_arg_type(&entry)
- != DBUS_TYPE_VARIANT)
+ != DBUS_TYPE_VARIANT) {
+ error = CONNMAN_ERROR_INTERFACE ".InvalidArguments";
break;
+ }
+
dbus_message_iter_recurse(&entry, &value);
+ if (dbus_message_iter_get_arg_type(&value) != DBUS_TYPE_STRING) {
+ error = CONNMAN_ERROR_INTERFACE ".InvalidArguments";
+ break;
+ }
+
dbus_message_iter_get_basic(&value, &identity);
} else if (g_str_equal(key, "Passphrase")) {
dbus_message_iter_next(&entry);
if (dbus_message_iter_get_arg_type(&entry)
- != DBUS_TYPE_VARIANT)
+ != DBUS_TYPE_VARIANT) {
+ error = CONNMAN_ERROR_INTERFACE ".InvalidArguments";
break;
+ }
+
dbus_message_iter_recurse(&entry, &value);
+ if (dbus_message_iter_get_arg_type(&value) != DBUS_TYPE_STRING) {
+ error = CONNMAN_ERROR_INTERFACE ".InvalidArguments";
+ break;
+ }
+
dbus_message_iter_get_basic(&value, &passphrase);
} else if (g_str_equal(key, "WPS")) {
- wps = true;
dbus_message_iter_next(&entry);
if (dbus_message_iter_get_arg_type(&entry)
- != DBUS_TYPE_VARIANT)
+ != DBUS_TYPE_VARIANT) {
+ error = CONNMAN_ERROR_INTERFACE ".InvalidArguments";
break;
+ }
+
dbus_message_iter_recurse(&entry, &value);
+ if (dbus_message_iter_get_arg_type(&value) != DBUS_TYPE_STRING) {
+ error = CONNMAN_ERROR_INTERFACE ".InvalidArguments";
+ break;
+ }
+
+ wps = true;
dbus_message_iter_get_basic(&value, &wpspin);
break;
} else if (g_str_equal(key, "Name")) {
dbus_message_iter_next(&entry);
if (dbus_message_iter_get_arg_type(&entry)
- != DBUS_TYPE_VARIANT)
+ != DBUS_TYPE_VARIANT) {
+ error = CONNMAN_ERROR_INTERFACE ".InvalidArguments";
break;
+ }
+
dbus_message_iter_recurse(&entry, &value);
+ if (dbus_message_iter_get_arg_type(&value) != DBUS_TYPE_STRING) {
+ error = CONNMAN_ERROR_INTERFACE ".InvalidArguments";
+ break;
+ }
+
dbus_message_iter_get_basic(&value, &name);
name_len = strlen(name);
} else if (g_str_equal(key, "SSID")) {
+ DBusMessageIter array_iter;
+
dbus_message_iter_next(&entry);
if (dbus_message_iter_get_arg_type(&entry)
- != DBUS_TYPE_VARIANT)
+ != DBUS_TYPE_VARIANT) {
+ error = CONNMAN_ERROR_INTERFACE ".InvalidArguments";
break;
+ }
dbus_message_iter_recurse(&entry, &value);
if (dbus_message_iter_get_arg_type(&value)
- != DBUS_TYPE_VARIANT)
+ != DBUS_TYPE_ARRAY) {
+ error = CONNMAN_ERROR_INTERFACE ".InvalidArguments";
break;
- if (dbus_message_iter_get_element_type(&value)
- != DBUS_TYPE_VARIANT)
+ }
+ dbus_message_iter_recurse(&value, &array_iter);
+ if (dbus_message_iter_get_arg_type(&array_iter)
+ != DBUS_TYPE_BYTE) {
+ error = CONNMAN_ERROR_INTERFACE ".InvalidArguments";
break;
- dbus_message_iter_get_fixed_array(&value, &name,
+ }
+ dbus_message_iter_get_fixed_array(&array_iter, &name,
&name_len);
}
dbus_message_iter_next(&dict);
values_received, name, name_len,
identity, passphrase, wps, wpspin,
error, passphrase_reply->user_data);
-out:
+
g_free(passphrase_reply);
}
value = "wep";
break;
case CONNMAN_SERVICE_SECURITY_PSK:
+#if defined TIZEN_EXT
+ case CONNMAN_SERVICE_SECURITY_RSN:
+#endif
value = "psk";
break;
case CONNMAN_SERVICE_SECURITY_8021X:
data.type = "wep";
break;
case CONNMAN_SERVICE_SECURITY_PSK:
+#if defined TIZEN_EXT
+ case CONNMAN_SERVICE_SECURITY_RSN:
+#endif
data.type = "psk";
break;
/*
char *key;
DBusMessageIter iter, dict;
- if (!reply)
- goto out;
+ if (!reply) {
+ error = CONNMAN_ERROR_INTERFACE ".OperationAborted";
+ goto done;
+ }
if (dbus_message_get_type(reply) == DBUS_MESSAGE_TYPE_ERROR) {
error = dbus_message_get_error_name(reply);
if (g_str_equal(key, "Username")) {
dbus_message_iter_next(&entry);
if (dbus_message_iter_get_arg_type(&entry)
- != DBUS_TYPE_VARIANT)
+ != DBUS_TYPE_VARIANT) {
+ error = CONNMAN_ERROR_INTERFACE ".InvalidArguments";
break;
+ }
+
dbus_message_iter_recurse(&entry, &value);
+ if (dbus_message_iter_get_arg_type(&value) != DBUS_TYPE_STRING) {
+ error = CONNMAN_ERROR_INTERFACE ".InvalidArguments";
+ break;
+ }
+
dbus_message_iter_get_basic(&value, &username);
} else if (g_str_equal(key, "Password")) {
dbus_message_iter_next(&entry);
if (dbus_message_iter_get_arg_type(&entry) !=
- DBUS_TYPE_VARIANT)
+ DBUS_TYPE_VARIANT) {
+ error = CONNMAN_ERROR_INTERFACE ".InvalidArguments";
break;
+ }
+
dbus_message_iter_recurse(&entry, &value);
+ if (dbus_message_iter_get_arg_type(&value) != DBUS_TYPE_STRING) {
+ error = CONNMAN_ERROR_INTERFACE ".InvalidArguments";
+ break;
+ }
+
dbus_message_iter_get_basic(&value, &password);
}
username_password_reply->service, values_received,
NULL, 0, username, password, FALSE, NULL, error,
username_password_reply->user_data);
-out:
+
g_free(username_password_reply);
}
bool result = false;
const char *error = NULL;
+ if (!reply) {
+ error = CONNMAN_ERROR_INTERFACE ".OperationAborted";
+ goto done;
+ }
+
if (dbus_message_get_type(reply) == DBUS_MESSAGE_TYPE_ERROR) {
error = dbus_message_get_error_name(reply);
goto done;
char *wpspin = NULL;
char *key;
- if (!reply)
- goto out;
+ if (!reply) {
+ error = CONNMAN_ERROR_INTERFACE ".OperationAborted";
+ goto done;
+ }
if (dbus_message_get_type(reply) == DBUS_MESSAGE_TYPE_ERROR) {
error = dbus_message_get_error_name(reply);
DBusMessageIter entry, value;
dbus_message_iter_recurse(&dict, &entry);
- if (dbus_message_iter_get_arg_type(&entry) != DBUS_TYPE_STRING)
+ if (dbus_message_iter_get_arg_type(&entry) != DBUS_TYPE_STRING) {
+ error = CONNMAN_ERROR_INTERFACE ".InvalidArguments";
break;
+ }
dbus_message_iter_get_basic(&entry, &key);
dbus_message_iter_next(&entry);
if (dbus_message_iter_get_arg_type(&entry)
- != DBUS_TYPE_VARIANT)
+ != DBUS_TYPE_VARIANT) {
+ error = CONNMAN_ERROR_INTERFACE ".InvalidArguments";
break;
+ }
+
dbus_message_iter_recurse(&entry, &value);
+ if (dbus_message_iter_get_arg_type(&value) != DBUS_TYPE_STRING) {
+ error = CONNMAN_ERROR_INTERFACE ".InvalidArguments";
+ break;
+ }
+
dbus_message_iter_get_basic(&value, &wpspin);
break;
}
done:
auth_reply->peer_callback(auth_reply->peer, choice_done, wpspin,
error, auth_reply->user_data);
-out:
+
g_free(auth_reply);
}