From: Patrik Flykt <patrik.fl...@linux.intel.com> Service states unknown, idle and association do not have valid ipconfig data configured. Do not save it in these states. --- src/service.c | 27 ++++++++++++++++++++------- 1 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/src/service.c b/src/service.c index 6482b50..ee37469 100644 --- a/src/service.c +++ b/src/service.c @@ -5399,13 +5399,26 @@ update: g_key_file_remove_key(keyfile, service->identifier, "Passphrase", NULL); - if (service->ipconfig_ipv4 != NULL) - __connman_ipconfig_save(service->ipconfig_ipv4, keyfile, - service->identifier, "IPv4."); - - if (service->ipconfig_ipv6 != NULL) - __connman_ipconfig_save(service->ipconfig_ipv6, keyfile, - service->identifier, "IPv6."); + switch (service->state) { + case CONNMAN_SERVICE_STATE_UNKNOWN: + case CONNMAN_SERVICE_STATE_IDLE: + case CONNMAN_SERVICE_STATE_ASSOCIATION: + break; + case CONNMAN_SERVICE_STATE_CONFIGURATION: + case CONNMAN_SERVICE_STATE_READY: + case CONNMAN_SERVICE_STATE_ONLINE: + case CONNMAN_SERVICE_STATE_DISCONNECT: + case CONNMAN_SERVICE_STATE_FAILURE: + if (service->ipconfig_ipv4 != NULL) + __connman_ipconfig_save(service->ipconfig_ipv4, + keyfile, service->identifier, + "IPv4."); + + if (service->ipconfig_ipv6 != NULL) + __connman_ipconfig_save(service->ipconfig_ipv6, + keyfile, service->identifier, + "IPv6."); + } if (service->nameservers_config != NULL) { guint len = g_strv_length(service->nameservers_config); -- 1.7.2.5 _______________________________________________ connman mailing list connman@connman.net http://lists.connman.net/listinfo/connman