projects
/
platform
/
upstream
/
connman.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Imported Upstream version 1.37
[platform/upstream/connman.git]
/
src
/
wpad.c
diff --git
a/src/wpad.c
b/src/wpad.c
old mode 100644
(file)
new mode 100755
(executable)
index
e6d77e7
..
f50e4dd
--- a/
src/wpad.c
+++ b/
src/wpad.c
@@
-2,7
+2,7
@@
*
* Connection Manager
*
*
* Connection Manager
*
- * Copyright (C) 2007-201
0
Intel Corporation. All rights reserved.
+ * Copyright (C) 2007-201
2
Intel Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
@@
-49,11
+49,13
@@
static void free_wpad(gpointer data)
{
struct connman_wpad *wpad = data;
{
struct connman_wpad *wpad = data;
+ connman_service_unref(wpad->service);
+
g_resolv_unref(wpad->resolv);
g_strfreev(wpad->addrlist);
g_free(wpad->hostname);
g_resolv_unref(wpad->resolv);
g_strfreev(wpad->addrlist);
g_free(wpad->hostname);
-
g_free(wpad);
+ g_free(wpad);
}
static void download_pac(struct connman_wpad *wpad, const char *target)
}
static void download_pac(struct connman_wpad *wpad, const char *target)
@@
-72,7
+74,7
@@
static void wpad_result(GResolvResultStatus status,
if (status == G_RESOLV_RESULT_STATUS_SUCCESS) {
char *url;
if (status == G_RESOLV_RESULT_STATUS_SUCCESS) {
char *url;
- if (
results == NULL
|| g_strv_length(results) == 0)
+ if (
!results
|| g_strv_length(results) == 0)
goto failed;
url = g_strdup_printf("http://%s/wpad.dat", wpad->hostname);
goto failed;
url = g_strdup_printf("http://%s/wpad.dat", wpad->hostname);
@@
-80,12
+82,12
@@
static void wpad_result(GResolvResultStatus status,
__connman_service_set_proxy_autoconfig(wpad->service, url);
wpad->addrlist = g_strdupv(results);
__connman_service_set_proxy_autoconfig(wpad->service, url);
wpad->addrlist = g_strdupv(results);
- if (wpad->addrlist
!= NULL
)
+ if (wpad->addrlist)
download_pac(wpad, "wpad.dat");
g_free(url);
download_pac(wpad, "wpad.dat");
g_free(url);
- __connman_wispr_start(wpad->service,
+ __connman_
service_
wispr_start(wpad->service,
CONNMAN_IPCONFIG_TYPE_IPV4);
return;
CONNMAN_IPCONFIG_TYPE_IPV4);
return;
@@
-97,10
+99,10
@@
static void wpad_result(GResolvResultStatus status,
goto failed;
ptr = strchr(hostname + 5, '.');
goto failed;
ptr = strchr(hostname + 5, '.');
- if (
ptr == NULL
|| strlen(ptr) < 2)
+ if (
!ptr
|| strlen(ptr) < 2)
goto failed;
goto failed;
- if (
strchr(ptr + 1, '.') == NULL
)
+ if (
!strchr(ptr + 1, '.')
)
goto failed;
wpad->hostname = g_strdup_printf("wpad.%s", ptr + 1);
goto failed;
wpad->hostname = g_strdup_printf("wpad.%s", ptr + 1);
@@
-117,7
+119,7
@@
failed:
connman_service_set_proxy_method(wpad->service,
CONNMAN_SERVICE_PROXY_METHOD_DIRECT);
connman_service_set_proxy_method(wpad->service,
CONNMAN_SERVICE_PROXY_METHOD_DIRECT);
- __connman_wispr_start(wpad->service,
+ __connman_
service_
wispr_start(wpad->service,
CONNMAN_IPCONFIG_TYPE_IPV4);
}
CONNMAN_IPCONFIG_TYPE_IPV4);
}
@@
-131,7
+133,7
@@
int __connman_wpad_start(struct connman_service *service)
DBG("service %p", service);
DBG("service %p", service);
- if (
wpad_list == NULL
)
+ if (
!wpad_list
)
return -EINVAL;
index = __connman_service_get_index(service);
return -EINVAL;
index = __connman_service_get_index(service);
@@
-139,31
+141,32
@@
int __connman_wpad_start(struct connman_service *service)
return -EINVAL;
domainname = connman_service_get_domainname(service);
return -EINVAL;
domainname = connman_service_get_domainname(service);
- if (
domainname == NULL
)
+ if (
!domainname
)
return -EINVAL;
nameservers = connman_service_get_nameservers(service);
return -EINVAL;
nameservers = connman_service_get_nameservers(service);
- if (
nameservers == NULL
)
+ if (
!nameservers
)
return -EINVAL;
wpad = g_try_new0(struct connman_wpad, 1);
return -EINVAL;
wpad = g_try_new0(struct connman_wpad, 1);
- if (
wpad == NULL
) {
+ if (
!wpad
) {
g_strfreev(nameservers);
return -ENOMEM;
}
g_strfreev(nameservers);
return -ENOMEM;
}
- wpad->service = service;
wpad->resolv = g_resolv_new(index);
wpad->resolv = g_resolv_new(index);
- if (
wpad->resolv == NULL
) {
+ if (
!wpad->resolv
) {
g_strfreev(nameservers);
g_free(wpad);
return -ENOMEM;
}
g_strfreev(nameservers);
g_free(wpad);
return -ENOMEM;
}
+#if !defined TIZEN_EXT
if (getenv("CONNMAN_RESOLV_DEBUG"))
if (getenv("CONNMAN_RESOLV_DEBUG"))
+#endif
g_resolv_set_debug(wpad->resolv, resolv_debug, "RESOLV");
g_resolv_set_debug(wpad->resolv, resolv_debug, "RESOLV");
- for (i = 0; nameservers[i]
!= NULL
; i++)
+ for (i = 0; nameservers[i]; i++)
g_resolv_add_nameserver(wpad->resolv, nameservers[i], 53, 0);
g_strfreev(nameservers);
g_resolv_add_nameserver(wpad->resolv, nameservers[i], 53, 0);
g_strfreev(nameservers);
@@
-172,10
+175,11
@@
int __connman_wpad_start(struct connman_service *service)
DBG("hostname %s", wpad->hostname);
DBG("hostname %s", wpad->hostname);
+ wpad->service = connman_service_ref(service);
+
g_resolv_lookup_hostname(wpad->resolv, wpad->hostname,
wpad_result, wpad);
g_resolv_lookup_hostname(wpad->resolv, wpad->hostname,
wpad_result, wpad);
- connman_service_ref(service);
g_hash_table_replace(wpad_list, GINT_TO_POINTER(index), wpad);
return 0;
g_hash_table_replace(wpad_list, GINT_TO_POINTER(index), wpad);
return 0;
@@
-187,15
+191,14
@@
void __connman_wpad_stop(struct connman_service *service)
DBG("service %p", service);
DBG("service %p", service);
- if (
wpad_list == NULL
)
+ if (
!wpad_list
)
return;
index = __connman_service_get_index(service);
if (index < 0)
return;
return;
index = __connman_service_get_index(service);
if (index < 0)
return;
- if (g_hash_table_remove(wpad_list, GINT_TO_POINTER(index)) == TRUE)
- connman_service_unref(service);
+ g_hash_table_remove(wpad_list, GINT_TO_POINTER(index));
}
int __connman_wpad_init(void)
}
int __connman_wpad_init(void)