From 665c92da575e4726f1b8c5398ee77a224336ae54 Mon Sep 17 00:00:00 2001 From: kn Date: Mon, 30 Aug 2021 19:14:30 +0000 Subject: [PATCH] Accept dns proposals for the loopback addresses Don't reserve^Wignore them for unwind(8); there are non-unwind use-cases and so far resolvd(8) always seems to do the right thing when proposing localhost while unwind is running. OK benno --- sbin/resolvd/resolvd.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/sbin/resolvd/resolvd.c b/sbin/resolvd/resolvd.c index d97cf97de27..de3b3bfaa24 100644 --- a/sbin/resolvd/resolvd.c +++ b/sbin/resolvd/resolvd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: resolvd.c,v 1.17 2021/08/30 11:04:50 kn Exp $ */ +/* $OpenBSD: resolvd.c,v 1.18 2021/08/30 19:14:30 kn Exp $ */ /* * Copyright (c) 2021 Florian Obser * Copyright (c) 2021 Theo de Raadt @@ -476,8 +476,6 @@ handle_route_message(struct rt_msghdr *rtm, struct sockaddr **rti_info) case AF_INET: memcpy(&addr4, src, sizeof(struct in_addr)); src += sizeof(struct in_addr); - if (addr4.s_addr == htonl(INADDR_LOOPBACK)) - continue; new = findslot(learning); if (inet_ntop(af, &addr4, learning[new].ip, INET6_ADDRSTRLEN) != NULL) { @@ -490,8 +488,6 @@ handle_route_message(struct rt_msghdr *rtm, struct sockaddr **rti_info) case AF_INET6: memcpy(&addr6, src, sizeof(struct in6_addr)); src += sizeof(struct in6_addr); - if (IN6_IS_ADDR_LOOPBACK(&addr6)) - continue; new = findslot(learning); if (inet_ntop(af, &addr6, learning[new].ip, INET6_ADDRSTRLEN) != NULL) { -- 2.20.1