[arch-commits] Commit in powerdns/trunk (3 files)

Levente Polyak anthraxx at archlinux.org
Thu Jan 19 19:02:08 UTC 2017


    Date: Thursday, January 19, 2017 @ 19:02:07
  Author: anthraxx
Revision: 208050

upgpkg: powerdns 4.0.3-1

Added:
  powerdns/trunk/fix-4.0.3-tests.patch
Modified:
  powerdns/trunk/PKGBUILD
Deleted:
  powerdns/trunk/powerdns.install

-----------------------+
 PKGBUILD              |   14 +++---
 fix-4.0.3-tests.patch |  100 ++++++++++++++++++++++++++++++++++++++++++++++++
 powerdns.install      |   10 ----
 3 files changed, 108 insertions(+), 16 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-01-19 15:51:02 UTC (rev 208049)
+++ PKGBUILD	2017-01-19 19:02:07 UTC (rev 208050)
@@ -5,8 +5,8 @@
 # Contributor: Remi Gacogne <rgacogne[at]archlinux[dot]org>
 
 pkgname=powerdns
-pkgver=4.0.1
-pkgrel=7
+pkgver=4.0.3
+pkgrel=1
 pkgdesc='Authoritative DNS server'
 url='http://www.powerdns.com/'
 arch=('i686' 'x86_64')
@@ -22,14 +22,16 @@
 provides=('pdns')
 conflicts=('pdns')
 backup=('etc/powerdns/pdns.conf')
-install=powerdns.install
-source=(https://downloads.powerdns.com/releases/pdns-${pkgver}.tar.bz2{,.asc})
-sha512sums=('77fce9963a05198afeb569f92fbb0f6a1cb3426c28dd77b0921128189c80d9a72ebdbfc249dfc0b5b89cc7a65a83887a0388d6cc3461453b1e3096e563afdd1e'
-            'SKIP')
+source=(https://downloads.powerdns.com/releases/pdns-${pkgver}.tar.bz2{,.asc}
+        fix-${pkgver}-tests.patch)
+sha512sums=('58d33ac6cf457a916bae6abd8d2dc17f76fbcd1bd9e649948584dd669f5596b43e3e4d91841700ea1ea2cd1ac102749e503cd9075273540f33a2321e20d8bfc2'
+            'SKIP'
+            '9f6b3d794495c21280f1077b644dd6ecc10112823806c9a4db9b0819445e6450eb1a874c95199e918b7a1ad09e83192cc09d3ecf02d11b7da7488e6e03c3810a')
 validpgpkeys=('B76CD4671C0968BAA87DE61C5E50715BF2FFE1A7') # Pieter Lexis <pieter.lexis at powerdns.com>
 
 prepare() {
   cd pdns-${pkgver}
+  patch -p1 < "${srcdir}/fix-${pkgver}-tests.patch"
 
   # Default settings
   for keyvalue in \

Added: fix-4.0.3-tests.patch
===================================================================
--- fix-4.0.3-tests.patch	                        (rev 0)
+++ fix-4.0.3-tests.patch	2017-01-19 19:02:07 UTC (rev 208050)
@@ -0,0 +1,100 @@
+From 00c6f2b9f5173c98cc883332f5ecf8b941715abc Mon Sep 17 00:00:00 2001
+From: Remi Gacogne <remi.gacogne at powerdns.com>
+Date: Fri, 13 Jan 2017 14:02:19 +0100
+Subject: [PATCH] Fix AtomicCounter unit tests on 32-bit
+
+---
+ pdns/misc.hh            | 3 ++-
+ pdns/test-statbag_cc.cc | 4 ++--
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/pdns/misc.hh b/pdns/misc.hh
+index 50e8dca..2e0e65a 100644
+--- a/pdns/misc.hh
++++ b/pdns/misc.hh
+@@ -373,7 +373,8 @@ inline bool pdns_iequals_ch(const char a, const char b)
+ }
+ 
+ 
+-typedef std::atomic<unsigned long> AtomicCounter ;
++typedef unsigned long AtomicCounterInner;
++typedef std::atomic<AtomicCounterInner> AtomicCounter ;
+ 
+ // FIXME400 this should probably go? 
+ struct CIStringCompare: public std::binary_function<string, string, bool>
+diff --git a/pdns/test-statbag_cc.cc b/pdns/test-statbag_cc.cc
+index 3330451..4abbcd0 100644
+--- a/pdns/test-statbag_cc.cc
++++ b/pdns/test-statbag_cc.cc
+@@ -83,7 +83,7 @@ BOOST_AUTO_TEST_CASE(test_StatBagBasic) {
+ 
+ #ifdef UINTPTR_MAX  
+ #if UINTPTR_MAX > 0xffffffffULL
+-    BOOST_CHECK_EQUAL(sizeof(unsigned long), 8);
++    BOOST_CHECK_EQUAL(sizeof(AtomicCounterInner), 8);
+     s.set("c", 1ULL<<33);
+     BOOST_CHECK_EQUAL(s.read("c"), (1ULL<<33) );
+     s.inc("c");
+@@ -94,7 +94,7 @@ BOOST_AUTO_TEST_CASE(test_StatBagBasic) {
+     s.inc("c");
+     BOOST_CHECK_EQUAL(s.read("c"), 0 );
+ #else
+-    BOOST_CHECK_EQUAL(sizeof(AtomicCounter::native_t), 4);
++    BOOST_CHECK_EQUAL(sizeof(AtomicCounterInner), 4);
+     BOOST_CHECK_EQUAL(~0UL, 0xffffffffUL);
+     s.set("c", ~0UL);
+     BOOST_CHECK_EQUAL(s.read("c"), 0xffffffffUL );
+From 6cbfa73b35a5cc7325b58625c0698576fb99601f Mon Sep 17 00:00:00 2001
+From: Remi Gacogne <remi.gacogne at powerdns.com>
+Date: Sun, 15 Jan 2017 21:45:27 +0100
+Subject: [PATCH] Fix negative port detection for IPv6 addresses on 32-bit
+
+On a 32-bit Arch, our `test_ComboAddress` unit test fails because
+`ComboAddress("[::1]:-6")` is considered valid. This is caused by
+`stoul()` not throwing for a negative value and returning an `unsigned
+long` value using unsigned integer wraparound rules. Since we used to
+store the result value in a `signed int` and treat negative values
+as if the port was not set, the test failed.
+---
+ pdns/misc.cc | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/pdns/misc.cc b/pdns/misc.cc
+index 10912ff..c80b4d5 100644
+--- a/pdns/misc.cc
++++ b/pdns/misc.cc
+@@ -710,7 +710,8 @@ int makeIPv6sockaddr(const std::string& addr, struct sockaddr_in6* ret)
+   if(addr.empty())
+     return -1;
+   string ourAddr(addr);
+-  int port = -1;
++  bool portSet = false;
++  unsigned int port;
+   if(addr[0]=='[') { // [::]:53 style address
+     string::size_type pos = addr.find(']');
+     if(pos == string::npos || pos + 2 > addr.size() || addr[pos+1]!=':')
+@@ -718,6 +719,7 @@ int makeIPv6sockaddr(const std::string& addr, struct sockaddr_in6* ret)
+     ourAddr.assign(addr.c_str() + 1, pos-1);
+     try {
+       port = pdns_stou(addr.substr(pos+2));
++      portSet = true;
+     }
+     catch(std::out_of_range) {
+       return -1;
+@@ -744,12 +746,12 @@ int makeIPv6sockaddr(const std::string& addr, struct sockaddr_in6* ret)
+     freeaddrinfo(res);
+   }
+ 
+-  if(port > 65535)
+-    // negative ports are found with the pdns_stou above
+-    return -1;
++  if(portSet) {
++    if(port > 65535)
++      return -1;
+ 
+-  if(port >= 0)
+     ret->sin6_port = htons(port);
++  }
+ 
+   return 0;
+ }

Deleted: powerdns.install
===================================================================
--- powerdns.install	2017-01-19 15:51:02 UTC (rev 208049)
+++ powerdns.install	2017-01-19 19:02:07 UTC (rev 208050)
@@ -1,10 +0,0 @@
-post_upgrade() {
-  echo
-  echo 'See http://doc.powerdns.com/md/authoritative/upgrading/ for'
-  echo 'information about changes when upgrading.'
-  echo
-  echo 'WARNING: powerdns.service has been renamed back to pdns.service.'
-  echo
-}
-
-# vim: ts=2 sw=2 et:



More information about the arch-commits mailing list