Hi Elena,

On 05/18/2012 05:54 PM, Elena Tebesoi wrote:
When connman is restarted, DNS servers are removed and added again
with function __connman_resolver_redo_servers(). While removing a
DNS entry, one should also remove the resolver timer registered for it.
Not doing so, causes the timeout handler resolver_expire_cb to fire
without being explicitly set.
---
when implementing RDNSS refresh feature, the resolver_refresh_cb() handler
is called before the timer is actually started. This makes Connman
to send Router Solicitation in a case when this is not desired.
---
  src/resolver.c |    1 +
  1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/src/resolver.c b/src/resolver.c
index e0a81d8..3dca496 100644
--- a/src/resolver.c
+++ b/src/resolver.c
@@ -550,6 +550,7 @@ int __connman_resolver_redo_servers(const char *interface)
                 */
                __connman_dnsproxy_remove(entry->interface, entry->domain,
                                        entry->server);
+               g_source_remove(entry->timeout);

Isn't this a problem now because you will not have a timeout any longer?


                __connman_dnsproxy_append(entry->interface, entry->domain,
                                        entry->server);


Cheers,
Jukka

_______________________________________________
connman mailing list
connman@connman.net
http://lists.connman.net/listinfo/connman

Reply via email to