--- 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