From 093564949d5dd789df10362f677d803e6a744fec Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:51:13 +0000 Subject: [PATCH 1/6] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index c8f0072..657ea7a 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ NAME := python-dns SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 0a90f239fa8ad2191a68ca9f592f2707aaebf7e0 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 8 May 2010 02:17:58 +0000 Subject: [PATCH 2/6] Initialize branch EL-6 for python-dns --- branch | 1 + 1 file changed, 1 insertion(+) create mode 100644 branch diff --git a/branch b/branch new file mode 100644 index 0000000..46381b9 --- /dev/null +++ b/branch @@ -0,0 +1 @@ +EL-6 From 369c1eafe633f90600cb7bc77d3385d2d9d1d2e4 Mon Sep 17 00:00:00 2001 From: Matt Domsch Date: Wed, 7 Jul 2010 19:38:19 +0000 Subject: [PATCH 3/6] update to match devel --- .cvsignore | 3 ++- python-dns.spec | 41 +++++++++++++++++++++++++++++++++++++++-- sources | 3 ++- 3 files changed, 43 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index 99674cc..f591382 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1,2 @@ -dnspython-1.7.1.tar.gz +dnspython-1.8.0.tar.gz +dnspython-1.8.0.tar.gz.asc diff --git a/python-dns.spec b/python-dns.spec index 12f5f6e..46fc86a 100644 --- a/python-dns.spec +++ b/python-dns.spec @@ -1,14 +1,15 @@ %{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} Name: python-dns -Version: 1.7.1 -Release: 2%{?dist} +Version: 1.8.0 +Release: 1.1%{?dist} Summary: DNS toolkit for Python Group: Development/Languages License: MIT URL: http://www.dnspython.org/ Source0: http://www.dnspython.org/kits/%{version}/dnspython-%{version}.tar.gz +Source1: http://www.dnspython.org/kits/%{version}/dnspython-%{version}.tar.gz.asc BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch @@ -64,6 +65,42 @@ rm -rf %{buildroot} %{python_sitelib}/dns %changelog +* Wed Jan 27 2010 Jeffrey C. Ollie - 1.8.0-1.1 +- Fix error + +* Wed Jan 27 2010 Jeffrey C. Ollie - 1.8.0-1 +- New since 1.7.1: +- +- Support for hmac-sha1, hmac-sha224, hmac-sha256, hmac-sha384 and +- hmac-sha512 has been contributed by Kevin Chen. +- +- The tokenizer's tokens are now Token objects instead of (type, +- value) tuples. +- +- Bugs fixed since 1.7.1: +- +- Escapes in masterfiles now work correctly. Previously they were +- only working correctly when the text involved was part of a domain +- name. +- +- When constructing a DDNS update, if the present() method was used +- with a single rdata, a zero TTL was not added. +- +- The entropy pool needed locking to be thread safe. +- +- The entropy pool's reading of /dev/random could cause dnspython to +- block. +- +- The entropy pool did buffered reads, potentially consuming more +- randomness than we needed. +- +- The entropy pool did not seed with high quality randomness on +- Windows. +- +- SRV records were compared incorrectly. +- +- In the e164 query function, the resolver parameter was not used. + * Sun Jul 26 2009 Fedora Release Engineering - 1.7.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild diff --git a/sources b/sources index 0f8507d..803a35f 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -870f52ca78b4f37ac7a4e718d337334c dnspython-1.7.1.tar.gz +77f379e0cb21e11470a35359e6211c53 dnspython-1.8.0.tar.gz +7234413d2cddf2ab1eb54bcf82e4f8bd dnspython-1.8.0.tar.gz.asc From c1bd47bd98b449f20cb393976dbc2869113e9304 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 10:18:05 +0000 Subject: [PATCH 4/6] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- branch | 1 - 3 files changed, 22 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 branch diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 657ea7a..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: python-dns -# $Id$ -NAME := python-dns -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/branch b/branch deleted file mode 100644 index 46381b9..0000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -EL-6 From c6f869da492fe8d1fc602af8ada04a725f9ed9ef Mon Sep 17 00:00:00 2001 From: Paul Wouters Date: Wed, 26 Sep 2012 15:05:04 -0400 Subject: [PATCH 5/6] * Mon Sep 17 2012 Paul Wouters - 1.10.0-1 - Updated to 1.10.0 - Patch to support TLSA RRtype --- dnspython-1.10.1-tlsa.patch | 175 ++++++++++++++++++++++++++++++++++++ python-dns.spec | 14 ++- 2 files changed, 186 insertions(+), 3 deletions(-) create mode 100644 dnspython-1.10.1-tlsa.patch diff --git a/dnspython-1.10.1-tlsa.patch b/dnspython-1.10.1-tlsa.patch new file mode 100644 index 0000000..31aca18 --- /dev/null +++ b/dnspython-1.10.1-tlsa.patch @@ -0,0 +1,175 @@ +commit 38d5ea59581275eafcf55f2d677056875483fa2f +Author: Pieter Lexis +Date: Mon Sep 17 23:58:20 2012 +0200 + + Add TLSA (RFC 6698) record type + +diff --git a/dns/rdatatype.py b/dns/rdatatype.py +index 380cfcd..f64307a 100644 +--- a/dns/rdatatype.py ++++ b/dns/rdatatype.py +@@ -78,6 +78,7 @@ DNSKEY = 48 + DHCID = 49 + NSEC3 = 50 + NSEC3PARAM = 51 ++TLSA = 52 + HIP = 55 + SPF = 99 + UNSPEC = 103 +@@ -140,6 +141,7 @@ _by_text = { + 'DHCID' : DHCID, + 'NSEC3' : NSEC3, + 'NSEC3PARAM' : NSEC3PARAM, ++ 'TLSA' : TLSA, + 'HIP' : HIP, + 'SPF' : SPF, + 'UNSPEC' : UNSPEC, +diff --git a/dns/rdtypes/ANY/TLSA.py b/dns/rdtypes/ANY/TLSA.py +new file mode 100644 +index 0000000..6ca8c0a +--- /dev/null ++++ b/dns/rdtypes/ANY/TLSA.py +@@ -0,0 +1,89 @@ ++# Copyright (C) 2005-2007, 2009-2011 Nominum, Inc. ++# ++# Permission to use, copy, modify, and distribute this software and its ++# documentation for any purpose with or without fee is hereby granted, ++# provided that the above copyright notice and this permission notice ++# appear in all copies. ++# ++# THE SOFTWARE IS PROVIDED "AS IS" AND NOMINUM DISCLAIMS ALL WARRANTIES ++# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NOMINUM BE LIABLE FOR ++# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ++# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT ++# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ ++import struct ++ ++import dns.rdata ++import dns.rdatatype ++ ++class TLSA(dns.rdata.Rdata): ++ """TLSA record ++ ++ @ivar usage: The certificate usage ++ @type usage: int ++ @ivar selector: The selector field ++ @type selector: int ++ @ivar mtype: The 'matching type' field ++ @type mtype: int ++ @ivar cert: The 'Certificate Association Data' field ++ @type cert: string ++ @see: RFC 6698""" ++ ++ __slots__ = ['usage', 'selector', 'mtype', 'cert'] ++ ++ def __init__(self, rdclass, rdtype, usage, selector, ++ mtype, cert): ++ super(TLSA, self).__init__(rdclass, rdtype) ++ self.usage = usage ++ self.selector = selector ++ self.mtype = mtype ++ self.cert = cert ++ ++ def to_text(self, origin=None, relativize=True, **kw): ++ return '%d %d %d %s' % (self.usage, ++ self.selector, ++ self.mtype, ++ dns.rdata._hexify(self.cert, ++ chunksize=128)) ++ ++ def from_text(cls, rdclass, rdtype, tok, origin = None, relativize = True): ++ usage = tok.get_uint8() ++ selector = tok.get_uint8() ++ mtype = tok.get_uint8() ++ cert_chunks = [] ++ while 1: ++ t = tok.get().unescape() ++ if t.is_eol_or_eof(): ++ break ++ if not t.is_identifier(): ++ raise dns.exception.SyntaxError ++ cert_chunks.append(t.value) ++ cert = ''.join(cert_chunks) ++ cert = cert.decode('hex_codec') ++ return cls(rdclass, rdtype, usage, selector, mtype, cert) ++ ++ from_text = classmethod(from_text) ++ ++ def to_wire(self, file, compress = None, origin = None): ++ header = struct.pack("!BBB", self.usage, self.selector, self.mtype) ++ file.write(header) ++ file.write(self.cert) ++ ++ def from_wire(cls, rdclass, rdtype, wire, current, rdlen, origin = None): ++ header = struct.unpack("!BBB", wire[current : current + 3]) ++ current += 3 ++ rdlen -= 3 ++ cert = wire[current : current + rdlen].unwrap() ++ return cls(rdclass, rdtype, header[0], header[1], header[2], cert) ++ ++ from_wire = classmethod(from_wire) ++ ++ def _cmp(self, other): ++ hs = struct.pack("!BBB", self.usage, self.selector, self.mtype) ++ ho = struct.pack("!BBB", other.usage, other.selector, other.mtype) ++ v = cmp(hs, ho) ++ if v == 0: ++ v = cmp(self.cert, other.cert) ++ return v +diff --git a/dns/rdtypes/ANY/__init__.py b/dns/rdtypes/ANY/__init__.py +index 721e9dd..cfb0be6 100644 +--- a/dns/rdtypes/ANY/__init__.py ++++ b/dns/rdtypes/ANY/__init__.py +@@ -33,6 +33,7 @@ __all__ = [ + 'NSEC', + 'NSEC3', + 'NSEC3PARAM', ++ 'TLSA', + 'PTR', + 'RP', + 'RRSIG', +diff --git a/tests/example b/tests/example +index 2f753a2..71fb8e6 100644 +--- a/tests/example ++++ b/tests/example +@@ -165,6 +165,9 @@ srv02 SRV 65535 65535 65535 old-slow-box.example.com. + $TTL 301 ; 5 minutes 1 second + t A 73.80.65.49 + $TTL 3600 ; 1 hour ++tlsa1 TLSA 3 1 1 01a9cdf989b504fe5dca90c0d2167b6550570734f7c763e09fdf88904e06157065 ++tlsa2 TLSA 1 0 1 efddf0d915c7bdc5782c0881e1b2a95ad099fbdd06d7b1f77982d9364338d955 ++tlsa3 TLSA 1 0 2 81ee7f6c0ecc6b09b7785a9418f54432de630dd54dc6ee9e3c49de547708d236d4c413c3e97e44f969e635958aa410495844127c04883503e5b024cf7a8f6a94 + txt01 TXT "foo" + txt02 TXT "foo" "bar" + txt03 TXT "foo" +diff --git a/tests/example1.good b/tests/example1.good +index 0834d17..4c2d01a 100644 +--- a/tests/example1.good ++++ b/tests/example1.good +@@ -90,6 +90,9 @@ srv01 3600 IN SRV 0 0 0 . + srv02 3600 IN SRV 65535 65535 65535 old-slow-box.example.com. + sshfp1 3600 IN SSHFP 1 1 aa549bfe898489c02d1715d97d79c57ba2fa76ab + t 301 IN A 73.80.65.49 ++tlsa1 3600 IN TLSA 3 1 1 01a9cdf989b504fe5dca90c0d2167b6550570734f7c763e09fdf88904e06157065 ++tlsa2 3600 IN TLSA 1 0 1 efddf0d915c7bdc5782c0881e1b2a95ad099fbdd06d7b1f77982d9364338d955 ++tlsa3 3600 IN TLSA 1 0 2 81ee7f6c0ecc6b09b7785a9418f54432de630dd54dc6ee9e3c49de547708d236d4c413c3e97e44f969e635958aa410495844127c04883503e5b024cf7a8f6a94 + txt01 3600 IN TXT "foo" + txt02 3600 IN TXT "foo" "bar" + txt03 3600 IN TXT "foo" +diff --git a/tests/example2.good b/tests/example2.good +index de4bcd5..1bf6b59 100644 +--- a/tests/example2.good ++++ b/tests/example2.good +@@ -90,6 +90,9 @@ srv01.example. 3600 IN SRV 0 0 0 . + srv02.example. 3600 IN SRV 65535 65535 65535 old-slow-box.example.com. + sshfp1.example. 3600 IN SSHFP 1 1 aa549bfe898489c02d1715d97d79c57ba2fa76ab + t.example. 301 IN A 73.80.65.49 ++tlsa1.example. 3600 IN TLSA 3 1 1 01a9cdf989b504fe5dca90c0d2167b6550570734f7c763e09fdf88904e06157065 ++tlsa2.example. 3600 IN TLSA 1 0 1 efddf0d915c7bdc5782c0881e1b2a95ad099fbdd06d7b1f77982d9364338d955 ++tlsa3.example. 3600 IN TLSA 1 0 2 81ee7f6c0ecc6b09b7785a9418f54432de630dd54dc6ee9e3c49de547708d236d4c413c3e97e44f969e635958aa410495844127c04883503e5b024cf7a8f6a94 + txt01.example. 3600 IN TXT "foo" + txt02.example. 3600 IN TXT "foo" "bar" + txt03.example. 3600 IN TXT "foo" diff --git a/python-dns.spec b/python-dns.spec index a28a78b..31184e7 100644 --- a/python-dns.spec +++ b/python-dns.spec @@ -11,7 +11,7 @@ Name: python-dns -Version: 1.9.4 +Version: 1.10.0 Release: 1%{?dist} Summary: DNS toolkit for Python @@ -23,6 +23,8 @@ Source1: http://www.dnspython.org/kits/%{version}/dnspython-%{version}.ta %if 0%{?rhel} == 5 Patch0: 0001-Don-t-fail-on-older-python-versions-because-of-hashe.patch %endif +Patch1: dnspython-1.10.1-tlsa.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch @@ -82,6 +84,7 @@ find %{py26dir} -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python26}|' %if 0%{?rhel} == 5 %patch0 -p1 %endif +%patch1 -p1 -b .tlsa %build CFLAGS="%{optflags}" %{__python} -c 'import setuptools; execfile("setup.py")' build @@ -130,7 +133,7 @@ rm -rf %{buildroot} %files %defattr(-,root,root,-) -%doc ChangeLog LICENSE README TODO examples +%doc ChangeLog LICENSE README examples %{python_sitelib}/*egg-info %{python_sitelib}/dns @@ -138,13 +141,18 @@ rm -rf %{buildroot} %if 0%{?with_python26} %files -n python26-dns %defattr(-,root,root,-) -%doc ChangeLog LICENSE README TODO examples +%doc ChangeLog LICENSE README examples %{python26_sitelib}/*egg-info %{python26_sitelib}/dns %endif %changelog +* Mon Sep 17 2012 Paul Wouters - 1.10.0-1 +- Updated to 1.10.0 +- Patch to support TLSA RRtype +- The file TODO no longer exists + * Mon Mar 28 2011 Jeffrey C. Ollie - 1.9.4-1 - - dnspython 1.9.4 has been released and is available at From b23e48ceeb45d82546c21f28c74dd167e6bc8a41 Mon Sep 17 00:00:00 2001 From: Paul Wouters Date: Wed, 26 Sep 2012 15:59:01 -0400 Subject: [PATCH 6/6] added sources --- .gitignore | 2 ++ sources | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index a0a7207..e8c31b7 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,5 @@ dnspython-1.8.0.tar.gz.asc /dnspython-1.9.3.tar.gz.asc /dnspython-1.9.4.tar.gz /dnspython-1.9.4.tar.gz.asc +/dnspython-1.10.0.tar.gz.asc +/dnspython-1.10.0.tar.gz diff --git a/sources b/sources index 9834fae..04ce6c1 100644 --- a/sources +++ b/sources @@ -1,2 +1,4 @@ 8a89b7865251c4e9d8ec2f8cc9f8cd78 dnspython-1.9.4.tar.gz 413d7fc295c6bf03f872938731919c95 dnspython-1.9.4.tar.gz.asc +81d7579e66ca37d0b03dce051b60324d dnspython-1.10.0.tar.gz.asc +b4f60852fd7ba64fc7c3a1fa239eba33 dnspython-1.10.0.tar.gz