From c21416e9565b9a1274ca605e7baeee8ce2f6f94f Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Mon, 3 May 2010 02:48:18 -0700 Subject: [PATCH] ip6: don't prematurely remove RDNSS nameservers (rh #588192) --- src/ip6-manager/nm-ip6-manager.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/ip6-manager/nm-ip6-manager.c b/src/ip6-manager/nm-ip6-manager.c index 8066d30639..1b544a2449 100644 --- a/src/ip6-manager/nm-ip6-manager.c +++ b/src/ip6-manager/nm-ip6-manager.c @@ -693,10 +693,13 @@ process_nduseropt (NMIP6Manager *manager, struct nl_msg *msg) if (changed) { nm_log_dbg (LOGD_IP6, "(%s): RA-provided nameservers changed", device->iface); - g_array_free (device->rdnss_servers, TRUE); - device->rdnss_servers = servers; - } else - g_array_free (servers, TRUE); + } + + /* Always copy in new servers (even if unchanged) to get their updated + * expiration times. + */ + g_array_free (device->rdnss_servers, TRUE); + device->rdnss_servers = servers; /* Timeouts may have changed even if IPs didn't */ set_rdnss_timeout (device);