diff options
Diffstat (limited to 'network/avahi/patches/ipv6_race_condition_fix.patch')
-rw-r--r-- | network/avahi/patches/ipv6_race_condition_fix.patch | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/network/avahi/patches/ipv6_race_condition_fix.patch b/network/avahi/patches/ipv6_race_condition_fix.patch deleted file mode 100644 index 3418b1a11c..0000000000 --- a/network/avahi/patches/ipv6_race_condition_fix.patch +++ /dev/null @@ -1,51 +0,0 @@ -Submitted By: Douglas R. Reno <renodr at linuxfromscratch dot org> -Date: 2020-10-19 -Initial Package Version: 0.8 -Upstream Status: PR, not applied -Origin: Upstream PR (github.com/lathiat/avahi/pull/309) -Description: Fixes a race condition when multiple NICs are in use - when IPv6 is enabled. This will exhibit behavior where - messages about withdrawing address records, registering - access records, and new hostname announcements are - spammed to the log every second. - -diff -Naurp avahi-0.8.orig/avahi-core/server.c avahi-0.8/avahi-core/server.c ---- avahi-0.8.orig/avahi-core/server.c 2020-02-16 21:41:24.939967558 -0600 -+++ avahi-0.8/avahi-core/server.c 2020-10-19 11:07:22.054861721 -0500 -@@ -193,7 +193,7 @@ static void withdraw_rrset(AvahiServer * - withdraw_entry(s, e); - } - --static void incoming_probe(AvahiServer *s, AvahiRecord *record, AvahiInterface *i) { -+static void incoming_probe(AvahiServer *s, AvahiRecord *record, AvahiInterface *i, int from_local_iface) { - AvahiEntry *e, *n; - int ours = 0, won = 0, lost = 0; - -@@ -210,7 +210,7 @@ static void incoming_probe(AvahiServer * - if (e->dead) - continue; - -- if ((cmp = avahi_record_lexicographical_compare(e->record, record)) == 0) { -+ if ((cmp = avahi_record_lexicographical_compare(e->record, record)) == 0 || from_local_iface) { - ours = 1; - break; - } else { -@@ -639,7 +639,7 @@ static void handle_query_packet(AvahiSer - if (!avahi_key_is_pattern(record->key)) { - if (!from_local_iface) - reflect_probe(s, i, record); -- incoming_probe(s, record, i); -+ incoming_probe(s, record, i, from_local_iface); - } - - avahi_record_unref(record); -@@ -961,8 +961,7 @@ static void dispatch_packet(AvahiServer - return; - - /* We don't want to reflect local traffic, so we check if this packet is generated locally. */ -- if (s->config.enable_reflector) -- from_local_iface = originates_from_local_iface(s, iface, src_address, port); -+ from_local_iface = originates_from_local_iface(s, iface, src_address, port); - - if (avahi_dns_packet_check_valid_multicast(p) < 0) { - avahi_log_debug("Received invalid packet."); |