From: Patrik Flykt <[email protected]>

When a service is set as hidden, do a network scan for the
SSID/name supplied via the Agent API. End the connection
attempt on the original hidden service.
---
 src/service.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/src/service.c b/src/service.c
index 782000e..94b1abc 100644
--- a/src/service.c
+++ b/src/service.c
@@ -4005,9 +4005,18 @@ static void request_input_cb (struct connman_service 
*service,
                        const char *identity, const char *passphrase,
                        void *user_data)
 {
+       struct connman_device *device;
+
        DBG ("RequestInput return, %p", service);
 
-       if (values_received == FALSE) {
+       if (service->hidden == TRUE && name_len > 0 && name_len <= 32) {
+               device = connman_network_get_device(service->network);
+               __connman_device_request_hidden_scan(device,
+                                               name, name_len,
+                                               identity, passphrase);
+       }
+
+       if (values_received == FALSE || service->hidden == TRUE) {
                service_complete(service);
                services_changed(FALSE);
                __connman_device_request_scan(CONNMAN_DEVICE_TYPE_UNKNOWN);
-- 
1.7.2.5

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

Reply via email to