ipconfig: Use correct ipconfig ipaddress for FIXED method
authorPatrik Flykt <patrik.flykt@linux.intel.com>
Thu, 16 Aug 2012 09:20:26 +0000 (12:20 +0300)
committerPatrik Flykt <patrik.flykt@linux.intel.com>
Fri, 17 Aug 2012 10:06:10 +0000 (13:06 +0300)
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

src/ipconfig.c

index f704443..d95e1e1 100644 (file)
@@ -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;
        }