From: Patrik Flykt <[email protected]>
Add a boolean variable to authentication_cb_t callback to explicitely
state when values are returned from RequestInput.
---
src/agent.c | 9 +++++++--
src/connman.h | 1 +
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/agent.c b/src/agent.c
index 1c982ed..0bbb266 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);
diff --git a/src/connman.h b/src/connman.h
index 85055b1..1558e70 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -83,6 +83,7 @@ void __connman_counter_cleanup(void);
struct connman_service;
typedef void (* authentication_cb_t) (struct connman_service *service,
+ connman_bool_t values_received,
const char *identifier, const char *secret,
void *user_data);
typedef void (* report_error_cb_t) (struct connman_service *service,
--
1.7.2.5
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman