From ba3f8f84ad0b45ecbd2ad2c6e8c0836c3727348b Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Wed, 22 Sep 2021 09:55:07 +0200 Subject: [PATCH] rpcd-mod-luci: avoid PTR requests for IPv6 link-local and ULA addrs Signed-off-by: Jo-Philipp Wich (cherry picked from commit 45a398e1ed86c9706d47ff46be73bdaa303ff661) --- libs/rpcd-mod-luci/src/luci.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libs/rpcd-mod-luci/src/luci.c b/libs/rpcd-mod-luci/src/luci.c index b89bca494d..53ffff4fd2 100644 --- a/libs/rpcd-mod-luci/src/luci.c +++ b/libs/rpcd-mod-luci/src/luci.c @@ -52,6 +52,10 @@ #include +#ifndef IN6_IS_ADDR_ULA +#define IN6_IS_ADDR_ULA(a) (((a)->s6_addr[0] & 0xfe) == 0xfc) +#endif + static struct blob_buf blob; @@ -1720,7 +1724,9 @@ rpc_luci_get_host_hints_rrdns(struct reply_context *rctx) } } avl_for_each_element(&hint->ip6addrs, addr, avl) { - if (!IN6_IS_ADDR_UNSPECIFIED(&addr->addr.in6)) { + if (!IN6_IS_ADDR_UNSPECIFIED(&addr->addr.in6) && + !IN6_IS_ADDR_LINKLOCAL(&addr->addr.in6) && + !IN6_IS_ADDR_ULA(&addr>addr.in6)) { inet_ntop(AF_INET6, &addr->addr.in6, buf, sizeof(buf)); blobmsg_add_string(&req, NULL, buf); n++; -- 2.30.2