diff --git a/dns/gdnsd2/Makefile b/dns/gdnsd2/Makefile index 2a26b4211af9..3eb3925a41ac 100644 --- a/dns/gdnsd2/Makefile +++ b/dns/gdnsd2/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= gdnsd -PORTVERSION= 2.4.1 -PORTREVISION= 2 +PORTVERSION= 2.4.2 CATEGORIES= dns MASTER_SITES= https://github.com/gdnsd/gdnsd/releases/download/v${PORTVERSION}/ \ ZI \ diff --git a/dns/gdnsd2/distinfo b/dns/gdnsd2/distinfo index 14da2e606669..eb0002ae2e63 100644 --- a/dns/gdnsd2/distinfo +++ b/dns/gdnsd2/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1547511962 -SHA256 (gdnsd-2.4.1.tar.xz) = 843c9c6f8a935eff66620eb38ceadda93cae1f42877315e64ba58b199c4643b5 -SIZE (gdnsd-2.4.1.tar.xz) = 639656 +TIMESTAMP = 1549900121 +SHA256 (gdnsd-2.4.2.tar.xz) = 76ca503cf96d5a26ba1fea82f6c31983542c497799c0ed659d53e51bec9643de +SIZE (gdnsd-2.4.2.tar.xz) = 640948 diff --git a/dns/gdnsd2/files/patch-src_dnsio__udp.c b/dns/gdnsd2/files/patch-src_dnsio__udp.c deleted file mode 100644 index 7c007a9c3add..000000000000 --- a/dns/gdnsd2/files/patch-src_dnsio__udp.c +++ /dev/null @@ -1,44 +0,0 @@ ---- 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)