diff options
author | Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com> | 2011-08-29 18:25:01 +0300 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2011-09-12 19:45:04 +0200 |
commit | b8f54ce4609bd3df87742d6a9b907fba9b84b7b6 (patch) | |
tree | 42fb40d16cda6dc85481ed5ff83ab903250c7c25 | |
parent | 7e63c18ebec3557c4e5f08b1216bf37e210a8518 (diff) | |
download | connman-b8f54ce4609bd3df87742d6a9b907fba9b84b7b6.tar.gz connman-b8f54ce4609bd3df87742d6a9b907fba9b84b7b6.tar.bz2 connman-b8f54ce4609bd3df87742d6a9b907fba9b84b7b6.zip |
wispr: Adding wispr logic entries in service and wpad
-rw-r--r-- | src/service.c | 13 | ||||
-rw-r--r-- | src/wpad.c | 6 |
2 files changed, 17 insertions, 2 deletions
diff --git a/src/service.c b/src/service.c index 195b8e91..841d9a33 100644 --- a/src/service.c +++ b/src/service.c @@ -4018,6 +4018,8 @@ static int service_indicate_state(struct connman_service *service) default_changed(); + __connman_wispr_stop(service); + __connman_wpad_stop(service); update_nameservers(service); @@ -4138,17 +4140,22 @@ static void check_proxy_setup(struct connman_service *service) */ if (service->proxy != CONNMAN_SERVICE_PROXY_METHOD_UNKNOWN) - return; + goto done; if (service->proxy_config != CONNMAN_SERVICE_PROXY_METHOD_UNKNOWN && (service->proxy_config != CONNMAN_SERVICE_PROXY_METHOD_AUTO || service->pac != NULL)) - return; + goto done; if (__connman_wpad_start(service) < 0) { service->proxy = CONNMAN_SERVICE_PROXY_METHOD_DIRECT; __connman_notifier_proxy_changed(service); } + + return; + +done: + __connman_wispr_start(service, CONNMAN_IPCONFIG_TYPE_IPV4); } int __connman_service_ipconfig_indicate_state(struct connman_service *service, @@ -4198,6 +4205,8 @@ int __connman_service_ipconfig_indicate_state(struct connman_service *service, if (type == CONNMAN_IPCONFIG_TYPE_IPV4) check_proxy_setup(service); + else + __connman_wispr_start(service, type); break; case CONNMAN_SERVICE_STATE_ONLINE: break; @@ -85,6 +85,9 @@ static void wpad_result(GResolvResultStatus status, g_free(url); + __connman_wispr_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_start(wpad->service, + CONNMAN_IPCONFIG_TYPE_IPV4); } int __connman_wpad_start(struct connman_service *service) |