dont delete records but set ttl to 1
authorJohn Crispin <blogic@openwrt.org>
Thu, 28 Aug 2014 10:40:12 +0000 (12:40 +0200)
committerJohn Crispin <blogic@openwrt.org>
Thu, 28 Aug 2014 10:44:21 +0000 (12:44 +0200)
-> 10.2.  Announcements to Flush Outdated Cache Entries

Signed-off-by: John Crispin <blogic@openwrt.org>
cache.c

diff --git a/cache.c b/cache.c
index 812478e..c78a3b7 100644 (file)
--- a/cache.c
+++ b/cache.c
@@ -301,7 +301,7 @@ cache_answer(struct interface *iface, uint8_t *base, int blen, char *name, struc
        if (r) {
                if (!a->ttl) {
                        DBG(1, "D -> %s %s ttl:%d\n", dns_type_string(r->type), r->record, r->ttl);
-                       cache_record_free(r);
+                       r->time = time(0) + 1 - r->ttl;
                } else {
                        r->ttl = a->ttl;
                        DBG(1, "A -> %s %s ttl:%d\n", dns_type_string(r->type), r->record, r->ttl);