svn commit: r490577 - in branches/2019Q1/dns/gdnsd2: . files
Ryan Steinmetz
zi at FreeBSD.org
Thu Jan 17 17:04:42 UTC 2019
Author: zi
Date: Thu Jan 17 17:04:40 2019
New Revision: 490577
URL: https://svnweb.freebsd.org/changeset/ports/490577
Log:
MFH: r490324 r490326 r490503
- Update to 2.4.1 (fix maxmind DB warning that is no longer valid)
- Fix EADDRNOTAVAIL issue under FreeBSD when using IPs bound to loopback interfaces
- Bump PORTREVISION
Obtained from: upstream PR #175
Approved by: ports-secteam (with hat)
Added:
branches/2019Q1/dns/gdnsd2/files/patch-src_dnsio__udp.c
- copied unchanged from r490503, head/dns/gdnsd2/files/patch-src_dnsio__udp.c
Modified:
branches/2019Q1/dns/gdnsd2/Makefile
branches/2019Q1/dns/gdnsd2/distinfo
Directory Properties:
branches/2019Q1/ (props changed)
Modified: branches/2019Q1/dns/gdnsd2/Makefile
==============================================================================
--- branches/2019Q1/dns/gdnsd2/Makefile Thu Jan 17 16:58:02 2019 (r490576)
+++ branches/2019Q1/dns/gdnsd2/Makefile Thu Jan 17 17:04:40 2019 (r490577)
@@ -2,7 +2,8 @@
# $FreeBSD$
PORTNAME= gdnsd
-PORTVERSION= 2.4.0
+PORTVERSION= 2.4.1
+PORTREVISION= 2
CATEGORIES= dns
MASTER_SITES= https://github.com/gdnsd/gdnsd/releases/download/v${PORTVERSION}/ \
ZI \
Modified: branches/2019Q1/dns/gdnsd2/distinfo
==============================================================================
--- branches/2019Q1/dns/gdnsd2/distinfo Thu Jan 17 16:58:02 2019 (r490576)
+++ branches/2019Q1/dns/gdnsd2/distinfo Thu Jan 17 17:04:40 2019 (r490577)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1544042714
-SHA256 (gdnsd-2.4.0.tar.xz) = 3d56ccbb27054dc155839d94df136d760ac361abe868aa6a8c3dbfc9e464bb99
-SIZE (gdnsd-2.4.0.tar.xz) = 641820
+TIMESTAMP = 1547511962
+SHA256 (gdnsd-2.4.1.tar.xz) = 843c9c6f8a935eff66620eb38ceadda93cae1f42877315e64ba58b199c4643b5
+SIZE (gdnsd-2.4.1.tar.xz) = 639656
Copied: branches/2019Q1/dns/gdnsd2/files/patch-src_dnsio__udp.c (from r490503, head/dns/gdnsd2/files/patch-src_dnsio__udp.c)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/2019Q1/dns/gdnsd2/files/patch-src_dnsio__udp.c Thu Jan 17 17:04:40 2019 (r490577, copy of r490503, head/dns/gdnsd2/files/patch-src_dnsio__udp.c)
@@ -0,0 +1,44 @@
+--- src/dnsio_udp.c.orig 2019-01-16 15:44:43 UTC
++++ src/dnsio_udp.c
+@@ -296,13 +296,16 @@ static void mainloop(const int fd, void*
+ .iov_len = 0
+ };
+ struct msghdr msg_hdr;
+- char cmsg_buf[cmsg_size];
+- memset(cmsg_buf, 0, sizeof(cmsg_buf));
++ union {
++ char cbuf[CMSG_BUFSIZE];
++ struct cmsghdr align;
++ } cmsg_buf;
++ memset(cmsg_buf.cbuf, 0, sizeof(cmsg_buf.cbuf));
+ memset(&msg_hdr, 0, sizeof(struct msghdr));
+ msg_hdr.msg_name = &asin.sa;
+ msg_hdr.msg_iov = &iov;
+ msg_hdr.msg_iovlen = 1;
+- msg_hdr.msg_control = use_cmsg ? cmsg_buf : NULL;
++ msg_hdr.msg_control = use_cmsg ? cmsg_buf.cbuf : NULL;
+
+ #if GDNSD_B_QSBR
+ const struct timeval tmout_short = { .tv_sec = 0, .tv_usec = PRCU_DELAY_US };
+@@ -341,6 +344,21 @@ static void mainloop(const int fd, void*
+ recvmsg_rv = recvmsg(fd, &msg_hdr, 0);
+ #endif
+
++#if defined __FreeBSD__ && defined IPV6_PKTINFO
++ if(asin.sa.sa_family == AF_INET6) {
++ struct cmsghdr* cmsg;
++ for(cmsg = (struct cmsghdr *)CMSG_FIRSTHDR(&msg_hdr); cmsg;
++ cmsg = (struct cmsghdr *)CMSG_NXTHDR(&msg_hdr, cmsg)) {
++ if((cmsg->cmsg_level == IPPROTO_IPV6) && (cmsg->cmsg_type == IPV6_PKTINFO)) {
++ struct in6_pktinfo* pi = (void*)CMSG_DATA((struct cmsghdr*)cmsg_buf.cbuf);
++ if(!IN6_IS_ADDR_LINKLOCAL(&pi->ipi6_addr))
++ pi->ipi6_ifindex = 0;
++ continue;
++ }
++ }
++ }
++#endif
++
+ if(unlikely(
+ (asin.sa.sa_family == AF_INET && !asin.sin.sin_port)
+ || (asin.sa.sa_family == AF_INET6 && !asin.sin6.sin6_port)
More information about the svn-ports-branches
mailing list