diff options
author | Patrik Flykt <patrik.flykt@linux.intel.com> | 2011-12-02 16:18:23 +0200 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2011-12-12 10:44:40 +0100 |
commit | 5bc1f27efd0ebe70b5bddfab5543a8f48f33eae6 (patch) | |
tree | fb6e1a7e2410dfe87e8dfaca5d46ce443017205e /src/agent.c | |
parent | 7f218c554166af6a1782b2aefde8e873cc9e3e99 (diff) | |
download | connman-5bc1f27efd0ebe70b5bddfab5543a8f48f33eae6.tar.gz connman-5bc1f27efd0ebe70b5bddfab5543a8f48f33eae6.tar.bz2 connman-5bc1f27efd0ebe70b5bddfab5543a8f48f33eae6.zip |
agent: Be explicit when RequestInput method return provides values
Add a boolean variable to authentication_cb_t callback to explicitely
state when values are returned from RequestInput.
Diffstat (limited to 'src/agent.c')
-rw-r--r-- | src/agent.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/agent.c b/src/agent.c index 1c982ed7..0bbb2665 100644 --- a/src/agent.c +++ b/src/agent.c @@ -94,6 +94,7 @@ struct request_input_reply { static void request_input_passphrase_reply(DBusPendingCall *call, void *user_data) { struct request_input_reply *passphrase_reply = user_data; + connman_bool_t values_received = FALSE; connman_bool_t wps = FALSE; char *identity = NULL; char *passphrase = NULL; @@ -105,6 +106,8 @@ static void request_input_passphrase_reply(DBusPendingCall *call, void *user_dat if (dbus_message_get_type(reply) == DBUS_MESSAGE_TYPE_ERROR) goto done; + values_received = TRUE; + dbus_message_iter_init(reply, &iter); dbus_message_iter_recurse(&iter, &dict); while (dbus_message_iter_get_arg_type(&dict) == DBUS_TYPE_DICT_ENTRY) { @@ -164,8 +167,9 @@ static void request_input_passphrase_reply(DBusPendingCall *call, void *user_dat } done: - passphrase_reply->callback(passphrase_reply->service, identity, - passphrase, passphrase_reply->user_data); + passphrase_reply->callback(passphrase_reply->service, values_received, + identity, passphrase, + passphrase_reply->user_data); connman_service_unref(passphrase_reply->service); dbus_message_unref(reply); g_free(passphrase_reply); @@ -314,6 +318,7 @@ static void request_input_login_reply(DBusPendingCall *call, void *user_data) done: username_password_reply->callback(username_password_reply->service, + TRUE, username, password, username_password_reply->user_data); connman_service_unref(username_password_reply->service); |