projects
/
project
/
mdnsd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't cache hosts as services
[project/mdnsd.git]
/
cache.c
diff --git
a/cache.c
b/cache.c
index 08f6308dc6fa6e6d5ba30b409cd08b06df152370..0e92137b391a2ea37f1e5716c1683d75aeaa68ba 100644
(file)
--- a/
cache.c
+++ b/
cache.c
@@
-101,8
+101,6
@@
cache_gc_timer(struct uloop_timeout *timeout)
continue;
}
s->refresh += 50;
continue;
}
s->refresh += 50;
- if (cache_service_is_host(s))
- continue;
dns_send_question(s->iface, s->entry, TYPE_PTR, 0);
}
dns_send_question(s->iface, s->entry, TYPE_PTR, 0);
}
@@
-276,7
+274,8
@@
cache_answer(struct interface *iface, uint8_t *base, int blen, char *name, struc
nlen + 1 < rdlength && !strcmp(rdata_buffer + rdlength - nlen, name))
host_len = rdlength - nlen - 1;
nlen + 1 < rdlength && !strcmp(rdata_buffer + rdlength - nlen, name))
host_len = rdlength - nlen - 1;
- cache_service(iface, rdata_buffer, host_len, a->ttl);
+ if (name[0] == '_')
+ cache_service(iface, rdata_buffer, host_len, a->ttl);
dlen = strlen(rdata_buffer) + 1;
rdata = (uint8_t*)rdata_buffer;
dlen = strlen(rdata_buffer) + 1;
rdata = (uint8_t*)rdata_buffer;
@@
-317,14
+316,12
@@
cache_answer(struct interface *iface, uint8_t *base, int blen, char *name, struc
break;
case TYPE_A:
break;
case TYPE_A:
- cache_service(iface, name, strlen(name), a->ttl);
if (a->rdlength != 4)
return;
dlen = 4;
break;
case TYPE_AAAA:
if (a->rdlength != 4)
return;
dlen = 4;
break;
case TYPE_AAAA:
- cache_service(iface, name, strlen(name), a->ttl);
if (a->rdlength != 16)
return;
dlen = 16;
if (a->rdlength != 16)
return;
dlen = 16;