[PATCH 03/15] service: Leverage 'service_set_pac' function.
Grant Erickson <[email protected]>
| Newsgroups | dev.linux.lists.connman |
|---|---|
| Message-ID | <[email protected]> |
Leverage 'service_set_pac' at the three call sites the proxy
auto-configuration (PAC) URL is currently set or cleared for a network
service.
Frequently, a spurious, misconfigured, or otherwise incorrect PAC URL
is the source of connectivity problems, particularly for online
reachability checks. Consequently, being able to log all such
mutations can be helpful in triaging such problems.
---
src/service.c | 17 ++++-------------
1 file changed, 4 insertions(+), 13 deletions(-)
diff --git a/src/service.c b/src/service.c
index c48959a7940f..da851d681bc7 100644
--- a/src/service.c
+++ b/src/service.c
@@ -770,8 +770,7 @@ static int service_load(struct connman_service *service)
str = g_key_file_get_string(keyfile,
service->identifier, "Proxy.URL", NULL);
if (str) {
- g_free(service->pac);
- service->pac = str;
+ service_set_pac(service, str, false);
}
service->mdns_config = g_key_file_get_boolean(keyfile,
@@ -5757,12 +5756,9 @@ void __connman_service_timeserver_changed(struct connman_service *service,
void __connman_service_set_pac(struct connman_service *service,
const char *pac)
{
- if (service->hidden)
- return;
- g_free(service->pac);
- service->pac = g_strdup(pac);
+ const bool dochanged = true;
- proxy_changed(service);
+ service_set_pac(service, pac, dochanged);
}
void __connman_service_set_agent_identity(struct connman_service *service,
@@ -6049,12 +6045,7 @@ static int update_proxy_configuration(struct connman_service *service,
break;
case CONNMAN_SERVICE_PROXY_METHOD_AUTO:
- g_free(service->pac);
-
- if (url && strlen(url) > 0)
- service->pac = g_strstrip(g_strdup(url));
- else
- service->pac = NULL;
+ service_set_pac(service, url, false);
/* if we are connected:
- if service->pac == NULL
--
2.45.0