summaryrefslogtreecommitdiff
path: root/src/ipconfig.c
diff options
context:
space:
mode:
authorPatrik Flykt <patrik.flykt@linux.intel.com>2012-08-16 12:20:26 +0300
committerPatrik Flykt <patrik.flykt@linux.intel.com>2012-08-17 13:06:10 +0300
commitfff6197f1aa998a8a226e808f2b2594491669d4e (patch)
treef74cf5f42b0c191d37abd89287844de885659fb7 /src/ipconfig.c
parent9a1ab643e6fbab4a8311e1453ef0c6d0f48b72a4 (diff)
downloadconnman-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.c14
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;
}