diff options
author | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-08-16 12:20:26 +0300 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-08-17 13:06:10 +0300 |
commit | fff6197f1aa998a8a226e808f2b2594491669d4e (patch) | |
tree | f74cf5f42b0c191d37abd89287844de885659fb7 /src/ipconfig.c | |
parent | 9a1ab643e6fbab4a8311e1453ef0c6d0f48b72a4 (diff) | |
download | connman-fff6197f1aa998a8a226e808f2b2594491669d4e.tar.gz connman-fff6197f1aa998a8a226e808f2b2594491669d4e.tar.bz2 connman-fff6197f1aa998a8a226e808f2b2594491669d4e.zip |
ipconfig: Use correct ipconfig ipaddress for FIXED method
Use ipconfig->address when reporting IP addresses for services
with FIXED method. AUTO method is used only by IPv6, don't report
any addresses should it erroneously appear for IPv4.
Fixes BMC#25084
Diffstat (limited to 'src/ipconfig.c')
-rw-r--r-- | src/ipconfig.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/ipconfig.c b/src/ipconfig.c index f7044431..d95e1e12 100644 --- a/src/ipconfig.c +++ b/src/ipconfig.c @@ -1883,21 +1883,19 @@ void __connman_ipconfig_append_ipv4(struct connman_ipconfig *ipconfig, connman_dbus_dict_append_basic(iter, "Method", DBUS_TYPE_STRING, &str); - append_addr = ipconfig->system; - switch (ipconfig->method) { case CONNMAN_IPCONFIG_METHOD_UNKNOWN: case CONNMAN_IPCONFIG_METHOD_OFF: + case CONNMAN_IPCONFIG_METHOD_AUTO: return; case CONNMAN_IPCONFIG_METHOD_FIXED: - if (append_addr == NULL) - append_addr = ipconfig->address; + append_addr = ipconfig->address; break; case CONNMAN_IPCONFIG_METHOD_MANUAL: case CONNMAN_IPCONFIG_METHOD_DHCP: - case CONNMAN_IPCONFIG_METHOD_AUTO: + append_addr = ipconfig->system; break; } @@ -1948,21 +1946,19 @@ void __connman_ipconfig_append_ipv6(struct connman_ipconfig *ipconfig, connman_dbus_dict_append_basic(iter, "Method", DBUS_TYPE_STRING, &str); - append_addr = ipconfig->system; - switch (ipconfig->method) { case CONNMAN_IPCONFIG_METHOD_UNKNOWN: case CONNMAN_IPCONFIG_METHOD_OFF: return; case CONNMAN_IPCONFIG_METHOD_FIXED: - if (append_addr == NULL) - append_addr = ipconfig->address; + append_addr = ipconfig->address; break; case CONNMAN_IPCONFIG_METHOD_MANUAL: case CONNMAN_IPCONFIG_METHOD_DHCP: case CONNMAN_IPCONFIG_METHOD_AUTO: + append_addr = ipconfig->system; break; } |