---
 src/service.c |    8 +++++++-
 src/wpad.c    |    6 ++++++
 2 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/src/service.c b/src/service.c
index f1973a5..a7b5d56 100644
--- a/src/service.c
+++ b/src/service.c
@@ -3568,13 +3568,17 @@ int __connman_service_indicate_state(struct 
connman_service *service,
                        (proxy_config == CONNMAN_SERVICE_PROXY_METHOD_UNKNOWN ||
                                (proxy_config ==
                                        CONNMAN_SERVICE_PROXY_METHOD_AUTO &&
-                                       service->pac == NULL)))
+                                service->pac == NULL))) {
                        if (__connman_wpad_start(service) < 0) {
                                service->proxy =
                                        CONNMAN_SERVICE_PROXY_METHOD_DIRECT;
 
                                __connman_notifier_proxy_changed(service);
+
+                               __connman_wispr_portal_start(service, type);
                        }
+               } else
+                       __connman_wispr_portal_start(service, type);
 
                __connman_notifier_connect(service->type);
 
@@ -3602,6 +3606,8 @@ int __connman_service_indicate_state(struct 
connman_service *service,
        } else if (state == CONNMAN_SERVICE_STATE_DISCONNECT) {
                default_changed();
 
+               __connman_wispr_portal_stop(service);
+
                __connman_wpad_stop(service);
 
                update_nameservers(service);
diff --git a/src/wpad.c b/src/wpad.c
index 0069c49..6284eb7 100644
--- a/src/wpad.c
+++ b/src/wpad.c
@@ -85,6 +85,9 @@ static void wpad_result(GResolvResultStatus status,
 
                g_free(url);
 
+               __connman_wispr_portal_start(wpad->service,
+                                       CONNMAN_IPCONFIG_TYPE_IPV4);
+
                return;
        }
 
@@ -113,6 +116,9 @@ static void wpad_result(GResolvResultStatus status,
 failed:
        connman_service_set_proxy_method(wpad->service,
                                CONNMAN_SERVICE_PROXY_METHOD_DIRECT);
+
+       __connman_wispr_portal_start(wpad->service,
+                                       CONNMAN_IPCONFIG_TYPE_IPV4);
 }
 
 int __connman_wpad_start(struct connman_service *service)
-- 
1.7.3.4

_______________________________________________
connman mailing list
connman@connman.net
http://lists.connman.net/listinfo/connman

Reply via email to