X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-core%2Fserver.c;h=86fd4a551e7341af4d3856687a99dfa6453cc7dd;hb=0458aec3b31f7a5c73bab74f131914249c8dd6f6;hp=d7fd71bc31714dba42825cd285c3d84d6a69a34d;hpb=3544d4584c70debc7bbf93c6dad00b303ff8919a;p=catta diff --git a/avahi-core/server.c b/avahi-core/server.c index d7fd71b..86fd4a5 100644 --- a/avahi-core/server.c +++ b/avahi-core/server.c @@ -513,12 +513,20 @@ static void reflect_response(AvahiServer *s, AvahiInterface *i, AvahiRecord *r, static void* reflect_cache_walk_callback(AvahiCache *c, AvahiKey *pattern, AvahiCacheEntry *e, void* userdata) { AvahiServer *s = userdata; + AvahiRecord* r; assert(c); assert(pattern); assert(e); assert(s); + /* Don't reflect cache entry with ipv6 link-local addresses. */ + r = e->record; + if ((r->key->type == AVAHI_DNS_TYPE_AAAA) && + (r->data.aaaa.address.address[0] == 0xFE) && + (r->data.aaaa.address.address[1] == 0x80)) + return NULL; + avahi_record_list_push(s->record_list, e->record, e->cache_flush, 0, 0); return NULL; } @@ -1591,6 +1599,8 @@ AvahiServerConfig* avahi_server_config_init(AvahiServerConfig *c) { c->publish_aaaa_on_ipv4 = 1; c->publish_a_on_ipv6 = 0; c->n_cache_entries_max = AVAHI_DEFAULT_CACHE_ENTRIES_MAX; + c->ratelimit_interval = 0; + c->ratelimit_burst = 0; return c; }