---
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 8689180..b4e1fcb 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);
@@ -3600,6 +3604,8 @@ int __connman_service_indicate_state(struct
connman_service *service,
service->ipconfig_ipv6);
} else if (state == CONNMAN_SERVICE_STATE_DISCONNECT) {
+ __connman_wispr_portal_stop(service);
+
default_changed();
__connman_wpad_stop(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
[email protected]
http://lists.connman.net/listinfo/connman