From: Pasi Sjöholm <[email protected]> Patch1: If timers are reset during __connman_resolver_redo_servers() they will not have their timers set again at connman_resolver_append_lifetime() because each entry without a timer is a not RA initialized nameserver/domain search list. Resetting the timers also causes the entry_list to grow by one or more entries when the next RA with RDNSS/DNSSL is received as connman_resolver_append_lifetime() will add the entries as new because no matches will be found during the check.
Eventually this would eat all the available memory. ;) Patch2: This patch is pre-requirement for the Patch3. __connman_ipconfig_newaddr() needs to return success / fail for rtln.c:process_newaddr() so that we know if it's necessary to run __connman_resolver_redo_servers() Patch3: Every RA causes process_newaddr() to be called with autoconfigured addresses and therefore removing/re-appending the dnsproxy servers is bit too radical thing to do if the address is already known/configured. Pasi Sjöholm (3): resolver: Do not reset timers when redoing nameservers ipconfig: modify __connman_ipconfig_newaddr() to return success/fail rtln: Redo nameserver(s) only when ipaddress is previously unknown src/connman.h | 2 +- src/ipconfig.c | 11 ++++++----- src/resolver.c | 8 -------- src/rtnl.c | 23 ++++++++++++----------- 4 files changed, 19 insertions(+), 25 deletions(-) -- 2.1.0 _______________________________________________ connman mailing list [email protected] https://lists.connman.net/mailman/listinfo/connman
