summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Massot <jmassot@aldebaran-robotics.com>2012-04-13 15:16:35 +0000
committerPatrik Flykt <patrik.flykt@linux.intel.com>2012-04-17 13:37:27 +0300
commit8757d58e68a6fa1132c34b0445908e1039832045 (patch)
tree6dd22cc5839b122f9dace6c0732b3d9f8f1b80af
parent78c88d814d9f429949f933aff0d5c84e52775ab0 (diff)
downloadconnman-8757d58e68a6fa1132c34b0445908e1039832045.tar.gz
connman-8757d58e68a6fa1132c34b0445908e1039832045.tar.bz2
connman-8757d58e68a6fa1132c34b0445908e1039832045.zip
service: Move setting of WPS input from agent to service.
-rw-r--r--src/agent.c18
-rw-r--r--src/service.c10
2 files changed, 10 insertions, 18 deletions
diff --git a/src/agent.c b/src/agent.c
index 7374138e..e3433c8c 100644
--- a/src/agent.c
+++ b/src/agent.c
@@ -172,24 +172,6 @@ static void request_input_passphrase_reply(DBusPendingCall *call, void *user_dat
dbus_message_iter_next(&dict);
}
- if (wps == TRUE) {
- struct connman_network *network;
-
- network = __connman_service_get_network(
- passphrase_reply->service);
- if (network == NULL)
- goto done;
-
- connman_network_set_bool(network, "WiFi.UseWPS", wps);
-
- if (wpspin != NULL && strlen(wpspin) > 0)
- connman_network_set_string(network,
- "WiFi.PinWPS", wpspin);
- else
- connman_network_set_string(network,
- "WiFi.PinWPS", NULL);
- }
-
done:
passphrase_reply->callback(passphrase_reply->service, values_received,
name, name_len,
diff --git a/src/service.c b/src/service.c
index 88d79120..5ce6f327 100644
--- a/src/service.c
+++ b/src/service.c
@@ -4323,12 +4323,22 @@ static void request_input_cb (struct connman_service *service,
return;
}
+ err = check_wpspin(wpspin);
+ if (err < 0)
+ goto done;
+ if (service->network != NULL) {
+ connman_network_set_bool(service->network, "Wifi.UseWPS", wps);
+ connman_network_set_string(service->network, "Wifi.PinWPS",
+ wpspin);
+ }
+
if (identity != NULL)
__connman_service_set_agent_identity(service, identity);
if (passphrase != NULL)
err = __connman_service_add_passphrase(service, passphrase);
+ done:
if (err >= 0) {
__connman_service_connect(service);