rpcd-mod-luci: avoid PTR requests for IPv6 link-local and ULA addrs
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
parent
93bd93e220
commit
45a398e1ed
1 changed files with 7 additions and 1 deletions
|
@ -52,6 +52,10 @@
|
|||
|
||||
#include <rpcd/plugin.h>
|
||||
|
||||
#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++;
|
||||
|
|
Loading…
Reference in a new issue