CVS commit: src/external/bsd/nsd/dist

2020-09-07 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Sep  7 19:37:21 UTC 2020

Modified Files:
src/external/bsd/nsd/dist: options.c

Log Message:
Simplify to avoid packed struct alignment issue.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.5 -r1.2 src/external/bsd/nsd/dist/options.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/nsd/dist/options.c
diff -u src/external/bsd/nsd/dist/options.c:1.1.1.5 src/external/bsd/nsd/dist/options.c:1.2
--- src/external/bsd/nsd/dist/options.c:1.1.1.5	Sun Dec 15 11:00:54 2019
+++ src/external/bsd/nsd/dist/options.c	Mon Sep  7 15:37:21 2020
@@ -1432,17 +1432,18 @@ acl_addr_matches_ipv6host(struct acl_opt
 int
 acl_addr_matches_ipv4host(struct acl_options* acl, struct sockaddr_in* addr, unsigned int port)
 {
+	uint32_t saddr = addr->sin_addr.s_addr;
 	if(acl->port != 0 && acl->port != port)
 		return 0;
 	switch(acl->rangetype) {
 	case acl_range_mask:
 	case acl_range_subnet:
-		if(!acl_addr_match_mask((uint32_t*)>addr.addr, (uint32_t*)>sin_addr,
+		if(!acl_addr_match_mask((uint32_t*)>addr.addr, ,
 			(uint32_t*)>range_mask.addr, sizeof(struct in_addr)))
 			return 0;
 		break;
 	case acl_range_minmax:
-		if(!acl_addr_match_range((uint32_t*)>addr.addr, (uint32_t*)>sin_addr,
+		if(!acl_addr_match_range((uint32_t*)>addr.addr, ,
 			(uint32_t*)>range_mask.addr, sizeof(struct in_addr)))
 			return 0;
 		break;



CVS commit: src/external/bsd/nsd/dist

2018-11-20 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Tue Nov 20 10:03:39 UTC 2018

Modified Files:
src/external/bsd/nsd/dist: server.c

Log Message:
Fix NSD when built with --enable-recvmmsg:

When resetting a query with query_reset(queries[i], ...) always restore the
corresponding msgs[i].msg_hdr.msg_namelen from queries[i]->addrlen.

After receiving a message set queries[i]->addrlen to the received msg_namelen.

Reported upstream, will be fixed for 4.1.26


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.3 -r1.2 src/external/bsd/nsd/dist/server.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/nsd/dist/server.c
diff -u src/external/bsd/nsd/dist/server.c:1.1.1.3 src/external/bsd/nsd/dist/server.c:1.2
--- src/external/bsd/nsd/dist/server.c:1.1.1.3	Mon Sep  3 11:29:15 2018
+++ src/external/bsd/nsd/dist/server.c	Tue Nov 20 10:03:39 2018
@@ -2209,6 +2209,7 @@ handle_udp(int fd, short event, void* ar
 	for (i = 0; i < recvcount; i++) {
 	loopstart:
 		received = msgs[i].msg_len;
+		queries[i]->addrlen = msgs[i].msg_hdr.msg_namelen;
 		q = queries[i];
 		if (received == -1) {
 			log_msg(LOG_ERR, "recvmmsg %d failed %s", i, strerror(
@@ -2217,6 +2218,7 @@ handle_udp(int fd, short event, void* ar
 			/* No zone statup */
 			query_reset(queries[i], UDP_MAX_MESSAGE_LEN, 0);
 			iovecs[i].iov_len = buffer_remaining(q->packet);
+			msgs[i].msg_hdr.msg_namelen = queries[i]->addrlen;
 			goto swap_drop;
 		}
 
@@ -2264,6 +2266,7 @@ handle_udp(int fd, short event, void* ar
 		} else {
 			query_reset(queries[i], UDP_MAX_MESSAGE_LEN, 0);
 			iovecs[i].iov_len = buffer_remaining(q->packet);
+			msgs[i].msg_hdr.msg_namelen = queries[i]->addrlen;
 		swap_drop:
 			STATUP(data->nsd, dropped);
 			ZTATUP(data->nsd, q->zone, dropped);
@@ -2304,6 +2307,7 @@ handle_udp(int fd, short event, void* ar
 	for(i=0; ipacket);
+		msgs[i].msg_hdr.msg_namelen = queries[i]->addrlen;
 	}
 }
 
@@ -2344,13 +2348,15 @@ handle_udp(int fd, short event, void* ar
 	}
 	for (i = 0; i < recvcount; i++) {
 		received = msgs[i].msg_len;
-		msgs[i].msg_hdr.msg_namelen = queries[i]->addrlen;
+		queries[i]->addrlen = msgs[i].msg_hdr.msg_namelen;
 		if (received == -1) {
 			log_msg(LOG_ERR, "recvmmsg failed");
 			STATUP(data->nsd, rxerr);
 			/* No zone statup */
 			/* the error can be found in msgs[i].msg_hdr.msg_flags */
 			query_reset(queries[i], UDP_MAX_MESSAGE_LEN, 0);
+			iovecs[i].iov_len = buffer_remaining(queries[i]->packet);
+			msgs[i].msg_hdr.msg_namelen = queries[i]->addrlen;
 			continue;
 		}
 		q = queries[i];
@@ -2442,6 +2448,8 @@ handle_udp(int fd, short event, void* ar
 #ifndef NONBLOCKING_IS_BROKEN
 #ifdef HAVE_RECVMMSG
 		query_reset(queries[i], UDP_MAX_MESSAGE_LEN, 0);
+		iovecs[i].iov_len = buffer_remaining(queries[i]->packet);
+		msgs[i].msg_hdr.msg_namelen = queries[i]->addrlen;
 #endif
 	}
 #endif



CVS commit: src/external/bsd/nsd/dist

2018-10-12 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Oct 12 18:02:59 UTC 2018

Removed Files:
src/external/bsd/nsd/dist: o

Log Message:
remove accidental commit debris.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r0 src/external/bsd/nsd/dist/o

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/external/bsd/nsd/dist

2017-01-07 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Jan  7 19:53:21 UTC 2017

Modified Files:
src/external/bsd/nsd/dist: util.h

Log Message:
undef debug


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 src/external/bsd/nsd/dist/util.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/nsd/dist/util.h
diff -u src/external/bsd/nsd/dist/util.h:1.1.1.1 src/external/bsd/nsd/dist/util.h:1.2
--- src/external/bsd/nsd/dist/util.h:1.1.1.1	Sat Jan  7 14:42:00 2017
+++ src/external/bsd/nsd/dist/util.h	Sat Jan  7 14:53:21 2017
@@ -268,6 +268,7 @@ read_uint64(const void *src)
 
 extern unsigned nsd_debug_facilities;
 extern int nsd_debug_level;
+#undef DEBUG	/* XXX */
 #ifdef NDEBUG
 #define DEBUG(facility, level, args)  /* empty */
 #else