char *url;
if (results == NULL || g_strv_length(results) == 0)
- return;
+ goto failed;
url = g_strdup_printf("http://%s/wpad.dat", wpad->hostname);
hostname = wpad->hostname;
if (strlen(hostname) < 6)
- return;
+ goto failed;
ptr = strchr(hostname + 5, '.');
if (ptr == NULL || strlen(ptr) < 2)
- return;
+ goto failed;
if (strchr(ptr + 1, '.') == NULL)
- return;
+ goto failed;
wpad->hostname = g_strdup_printf("wpad.%s", ptr + 1);
g_free(hostname);
g_resolv_lookup_hostname(wpad->resolv, wpad->hostname,
wpad_result, wpad);
+
+ return;
+
+failed:
+ connman_service_set_proxy_method(wpad->service,
+ CONNMAN_SERVICE_PROXY_METHOD_DIRECT);
}
void __connman_wpad_start(struct connman_service *service)