From: Patrik Flykt <[email protected]>

Change password query to use RequestInput method call instead of
RequestPassphrase. The supplied passphrase_cb_t function sets the password
returned via Agent API and tries to reconnect to the service.
---
 src/service.c |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/src/service.c b/src/service.c
index 42c8339..ca694f1 100644
--- a/src/service.c
+++ b/src/service.c
@@ -1862,6 +1862,17 @@ static connman_bool_t get_reconnect_state(struct 
connman_service *service)
        return __connman_device_get_reconnect(device);
 }
 
+static void request_input_cb (struct connman_service *service,
+                       const char *passphrase, void *user_data)
+{
+       DBG ("RequestInput return, %p", service);
+
+       if (passphrase == NULL)
+               return;
+       connman_service_set_passphrase(service, passphrase);
+       __connman_service_connect(service);
+}
+
 struct connman_service *
 __connman_service_connect_type(enum connman_service_type type)
 {
@@ -1911,8 +1922,9 @@ __connman_service_connect_type(enum connman_service_type 
type)
        err = __connman_service_connect(service);
        if (err < 0) {
                if (err == -ENOKEY)
-                       if (__connman_agent_request_passphrase(service,
-                                                               NULL, NULL))
+                       if ( __connman_agent_request_input(service,
+                                                       request_input_cb,
+                                                       NULL))
                                return service;
 
                if (err != -EINPROGRESS)
@@ -1957,8 +1969,9 @@ static DBusMessage *connect_service(DBusConnection *conn,
        err = __connman_service_connect(service);
        if (err < 0) {
                if (err == -ENOKEY) {
-                       if (__connman_agent_request_passphrase(service,
-                                                       NULL, NULL) == 0)
+                       if (__connman_agent_request_input(service,
+                                                       request_input_cb,
+                                                       NULL) == 0)
                                return NULL;
                }
 
-- 
1.7.1

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to