Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Jan 2019 17:04:40 +0000 (UTC)
From:      Ryan Steinmetz <zi@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org
Subject:   svn commit: r490577 - in branches/2019Q1/dns/gdnsd2: . files
Message-ID:  <201901171704.x0HH4eYf036308@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201901171704.x0HH4eYf036308>