Sun Apr 1 20:28:21 2018 UTC ()
Always const_cast the cmsg use, at least on NetBSD it will cast to void *
and that breaks otherwise.


(joerg)
diff -r1.30 -r1.31 pkgsrc/net/powerdns/distinfo
diff -r0 -r1.1 pkgsrc/net/powerdns/patches/patch-pdns_iputils.cc

cvs diff -r1.30 -r1.31 pkgsrc/net/powerdns/distinfo (expand / switch to unified diff)

--- pkgsrc/net/powerdns/distinfo 2018/02/19 12:59:40 1.30
+++ pkgsrc/net/powerdns/distinfo 2018/04/01 20:28:21 1.31
@@ -1,14 +1,15 @@ @@ -1,14 +1,15 @@
1$NetBSD: distinfo,v 1.30 2018/02/19 12:59:40 fhajny Exp $ 1$NetBSD: distinfo,v 1.31 2018/04/01 20:28:21 joerg Exp $
2 2
3SHA1 (pdns-4.1.1.tar.bz2) = c70f03bb73170d21026f1c32d1f75007057cc34e 3SHA1 (pdns-4.1.1.tar.bz2) = c70f03bb73170d21026f1c32d1f75007057cc34e
4RMD160 (pdns-4.1.1.tar.bz2) = d87aae5010278b96803347c1c227f278430884bd 4RMD160 (pdns-4.1.1.tar.bz2) = d87aae5010278b96803347c1c227f278430884bd
5SHA512 (pdns-4.1.1.tar.bz2) = 23e62ec39007e39a289945457e9b950cbeabf8581f477397341dfbd3592b7ccdede8f4c9ce653a47add07784d1a23116f9013c755eb11af1df383b49a8ca341d 5SHA512 (pdns-4.1.1.tar.bz2) = 23e62ec39007e39a289945457e9b950cbeabf8581f477397341dfbd3592b7ccdede8f4c9ce653a47add07784d1a23116f9013c755eb11af1df383b49a8ca341d
6Size (pdns-4.1.1.tar.bz2) = 1113659 bytes 6Size (pdns-4.1.1.tar.bz2) = 1113659 bytes
7SHA1 (patch-configure) = 8218324a863217f954ba63adf242c65c1b864038 7SHA1 (patch-configure) = 8218324a863217f954ba63adf242c65c1b864038
8SHA1 (patch-ext_json11_json11.cpp) = a8ffe67156a836841aef8a6bba134a82283f381e 8SHA1 (patch-ext_json11_json11.cpp) = a8ffe67156a836841aef8a6bba134a82283f381e
9SHA1 (patch-m4_pdns__check__os.m4) = c7a8d91c519ae7ca0616dfc08fa04402fca950d0 9SHA1 (patch-m4_pdns__check__os.m4) = c7a8d91c519ae7ca0616dfc08fa04402fca950d0
10SHA1 (patch-pdns_dns.hh) = 626eb4e29b7fcd82fbe056036c157c1e85fa49ca 10SHA1 (patch-pdns_dns.hh) = 626eb4e29b7fcd82fbe056036c157c1e85fa49ca
11SHA1 (patch-pdns_dnsscope.cc) = b289b750686b25041c3e291fb0d3d562beb36eaf 11SHA1 (patch-pdns_dnsscope.cc) = b289b750686b25041c3e291fb0d3d562beb36eaf
 12SHA1 (patch-pdns_iputils.cc) = fbd3bb210216bb98c3cd73b702b6dea486c51dec
12SHA1 (patch-pdns_iputils.hh) = 714277322ea721ea0439fc6aa0265bd290219e8b 13SHA1 (patch-pdns_iputils.hh) = 714277322ea721ea0439fc6aa0265bd290219e8b
13SHA1 (patch-pdns_qtype.hh) = 0f8bca4c0cafea9a5257a08077fa42b4c52127f5 14SHA1 (patch-pdns_qtype.hh) = 0f8bca4c0cafea9a5257a08077fa42b4c52127f5
14SHA1 (patch-pdns_version.cc) = be2035a37a554f64b8e6dad8f7faa112aba10f6c 15SHA1 (patch-pdns_version.cc) = be2035a37a554f64b8e6dad8f7faa112aba10f6c

File Added: pkgsrc/net/powerdns/patches/patch-pdns_iputils.cc
$NetBSD: patch-pdns_iputils.cc,v 1.1 2018/04/01 20:28:21 joerg Exp $

--- pdns/iputils.cc.orig	2018-04-01 17:24:16.523211468 +0000
+++ pdns/iputils.cc
@@ -150,14 +150,14 @@ bool HarvestDestinationAddress(const str
   for (cmsg = CMSG_FIRSTHDR(msgh); cmsg != NULL; cmsg = CMSG_NXTHDR(const_cast<struct msghdr*>(msgh), const_cast<struct cmsghdr*>(cmsg))) {
 #if defined(IP_PKTINFO)
      if ((cmsg->cmsg_level == IPPROTO_IP) && (cmsg->cmsg_type == IP_PKTINFO)) {
-        struct in_pktinfo *i = (struct in_pktinfo *) CMSG_DATA(cmsg);
+        struct in_pktinfo *i = (struct in_pktinfo *) CMSG_DATA(const_cast<struct cmsghdr *>(cmsg));
         destination->sin4.sin_addr = i->ipi_addr;
         destination->sin4.sin_family = AF_INET;
         return true;
     }
 #elif defined(IP_RECVDSTADDR)
     if ((cmsg->cmsg_level == IPPROTO_IP) && (cmsg->cmsg_type == IP_RECVDSTADDR)) {
-      struct in_addr *i = (struct in_addr *) CMSG_DATA(cmsg);
+      struct in_addr *i = (struct in_addr *) CMSG_DATA(const_cast<struct cmsghdr *>(cmsg));
       destination->sin4.sin_addr = *i;
       destination->sin4.sin_family = AF_INET;      
       return true;
@@ -165,7 +165,7 @@ bool HarvestDestinationAddress(const str
 #endif
 
     if ((cmsg->cmsg_level == IPPROTO_IPV6) && (cmsg->cmsg_type == IPV6_PKTINFO)) {
-        struct in6_pktinfo *i = (struct in6_pktinfo *) CMSG_DATA(cmsg);
+        struct in6_pktinfo *i = (struct in6_pktinfo *) CMSG_DATA(const_cast<struct cmsghdr *>(cmsg));
         destination->sin6.sin6_addr = i->ipi6_addr;
         destination->sin4.sin_family = AF_INET6;
         return true;