diff options
author | Patrik Flykt <patrik.flykt@linux.intel.com> | 2011-08-22 13:44:27 +0300 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2011-08-23 16:25:01 +0200 |
commit | 7b1fade4c9a982312f6377a57feacc97cbbcc522 (patch) | |
tree | d794ab299c21aee4bc633eaf67dd194f0e7828c6 /src/network.c | |
parent | 9a384100dc3eaddce677fc3988d1853d9b01e8ad (diff) | |
download | connman-7b1fade4c9a982312f6377a57feacc97cbbcc522.tar.gz connman-7b1fade4c9a982312f6377a57feacc97cbbcc522.tar.bz2 connman-7b1fade4c9a982312f6377a57feacc97cbbcc522.zip |
network: Re-read ipconfig from service when setting manual addresses
When a service was disconnected, its ipconfig data was cleared.
Re-read service ipconfig data before setting manual addresses.
Fixes BMC#17738
Diffstat (limited to 'src/network.c')
-rw-r--r-- | src/network.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/network.c b/src/network.c index 76901126..95aecc7d 100644 --- a/src/network.c +++ b/src/network.c @@ -890,6 +890,8 @@ static void set_connected_manual(struct connman_network *network) service = __connman_service_lookup_from_network(network); + __connman_service_read_ip4config(service); + ipconfig = __connman_service_get_ip4config(service); set_configuration(network); @@ -943,6 +945,8 @@ static int manual_ipv6_set(struct connman_network *network, if (service == NULL) return -EINVAL; + __connman_service_read_ip6config(service); + err = __connman_ipconfig_address_add(ipconfig_ipv6); if (err < 0) { connman_network_set_error(network, |