Merge branch 'el5/master' into el6/master

This commit is contained in:
Jeffrey C. Ollie 2011-04-20 09:40:58 -05:00
commit 923bc15aee
5 changed files with 249 additions and 77 deletions

8
.gitignore vendored
View File

@ -1,2 +1,10 @@
dnspython-1.8.0.tar.gz
dnspython-1.8.0.tar.gz.asc
/dnspython-1.9.1.tar.gz
/dnspython-1.9.1.tar.gz.asc
/dnspython-1.9.2.tar.gz
/dnspython-1.9.2.tar.gz.asc
/dnspython-1.9.3.tar.gz
/dnspython-1.9.3.tar.gz.asc
/dnspython-1.9.4.tar.gz
/dnspython-1.9.4.tar.gz.asc

View File

@ -0,0 +1,26 @@
From f6f6666438af884da7b4b1d76a258639f949406f Mon Sep 17 00:00:00 2001
From: Jeffrey C. Ollie <jeff@ocjtech.us>
Date: Thu, 2 Dec 2010 13:05:50 -0600
Subject: [PATCH] Don't fail on older python versions because of hashes.
---
dns/hash.py | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
diff --git a/dns/hash.py b/dns/hash.py
index 7bd5ae5..8582a9c 100644
--- a/dns/hash.py
+++ b/dns/hash.py
@@ -37,9 +37,6 @@ def _setup():
if sys.hexversion >= 0x02050200:
_hashes['SHA384'] = hashlib.sha384
_hashes['SHA512'] = hashlib.sha512
- else:
- _hashes['SHA384'] = _need_later_python('SHA384')
- _hashes['SHA512'] = _need_later_python('SHA512')
if sys.hexversion < 0x02050000:
# hashlib doesn't conform to PEP 247: API for
--
1.7.3.2

View File

@ -1,36 +0,0 @@
From e80c56c6c5c6dd7aa12c439b1f3b664811f65dcb Mon Sep 17 00:00:00 2001
From: Bob Halley <halley@nominum.com>
Date: Wed, 10 Mar 2010 14:22:32 +0000
Subject: [PATCH] The TSIG algorithm was being passed to use_tsig() incorrectly.
---
diff --git a/dns/resolver.py b/dns/resolver.py
index 372d7d8..cd0e5f8 100644
--- a/dns/resolver.py
+++ b/dns/resolver.py
@@ -593,7 +593,8 @@ class Resolver(object):
return answer
request = dns.message.make_query(qname, rdtype, rdclass)
if not self.keyname is None:
- request.use_tsig(self.keyring, self.keyname, self.keyalgorithm)
+ request.use_tsig(self.keyring, self.keyname,
+ algorithm=self.keyalgorithm)
request.use_edns(self.edns, self.ednsflags, self.payload)
response = None
#
diff --git a/dns/update.py b/dns/update.py
index 7d42636..97aea18 100644
--- a/dns/update.py
+++ b/dns/update.py
@@ -56,7 +56,7 @@ class Update(dns.message.Message):
self.find_rrset(self.question, self.origin, rdclass, dns.rdatatype.SOA,
create=True, force_unique=True)
if not keyring is None:
- self.use_tsig(keyring, keyname, keyalgorithm)
+ self.use_tsig(keyring, keyname, algorithm=keyalgorithm)
def _add_rr(self, name, ttl, rd, deleting=None, section=None):
"""Add a single RR to the update section."""
--
1.7.2.1

View File

@ -1,8 +1,18 @@
%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5)
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%endif
%if 0%{?rhel} == 5
%global with_python26 1
%{!?py26dir: %global py26dir %{_builddir}/python26-%{name}-%{version}-%{release}}
%{!?__python26: %global __python26 /usr/bin/python26}
%{!?python26_sitelib: %global python26_sitelib %(%{__python26} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%endif
Name: python-dns
Version: 1.8.0
Release: 3%{?dist}
Version: 1.9.4
Release: 1%{?dist}
Summary: DNS toolkit for Python
Group: Development/Languages
@ -10,16 +20,23 @@ 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
Patch0: 0001-The-TSIG-algorithm-was-being-passed-to-use_tsig-inco.patch
%if 0%{?rhel} == 5
Patch0: 0001-Don-t-fail-on-older-python-versions-because-of-hashe.patch
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
%if 0%{?fedora} >= 8
BuildRequires: python-devel
%if 0%{?fedora} > 8
BuildRequires: python-setuptools-devel
%else
BuildRequires: python-setuptools
%endif
%if 0%{?with_python26}
BuildRequires: python26-devel
%endif
%description
dnspython is a DNS toolkit for Python. It supports almost all record
types. It can be used for queries, zone transfers, and dynamic
@ -30,21 +47,61 @@ level classes perform queries for data of a given name, type, and
class, and return an answer set. The low level classes allow direct
manipulation of DNS zones, messages, names, and records.
%if 0%{?with_python26}
%package -n python26-dns
Summary: DNS toolkit for Python 2.6
Group: Development/Languages
%description -n python26-dns
dnspython is a DNS toolkit for Python. It supports almost all record
types. It can be used for queries, zone transfers, and dynamic
updates. It supports TSIG authenticated messages and EDNS0.
dnspython provides both high and low level access to DNS. The high
level classes perform queries for data of a given name, type, and
class, and return an answer set. The low level classes allow direct
manipulation of DNS zones, messages, names, and records.
%endif
%prep
%setup0 -q -n dnspython-%{version}
%patch0 -p1
# get rid of Mac goop
find . -name ._\* -delete
# strip executable permissions so that we don't pick up dependencies
# from documentation
find examples -type f | xargs chmod a-x
%if 0%{?with_python26}
rm -rf %{py26dir}
cp -a . %{py26dir}
find %{py26dir} -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python26}|'
%endif
%if 0%{?rhel} == 5
%patch0 -p1
%endif
%build
CFLAGS="%{optflags}" %{__python} -c 'import setuptools; execfile("setup.py")' build
%if 0%{?with_python26}
pushd %{py26dir}
CFLAGS="%{optflags}" %{__python26} setup.py build
popd
%endif
%install
rm -rf %{buildroot}
%{__python} -c 'import setuptools; execfile("setup.py")' install --skip-build --root %{buildroot}
%if 0%{?with_python26}
pushd %{py26dir}
CFLAGS="%{optflags}" %{__python26} setup.py install --skip-build --root %{buildroot}
popd
%endif
%check
pushd tests
# skip one test because it queries the network
@ -56,6 +113,18 @@ do
fi
done
%if 0%{?with_python26}
pushd %{py26dir}/tests
# skip one test because it queries the network
for py in *.py
do
if [ $py != resolver.py ]
then
PYTHONPATH=%{buildroot}%{python26_sitelib} %{__python26} $py
fi
done
%endif
%clean
rm -rf %{buildroot}
@ -66,7 +135,112 @@ rm -rf %{buildroot}
%{python_sitelib}/*egg-info
%{python_sitelib}/dns
%if 0%{?with_python26}
%files -n python26-dns
%defattr(-,root,root,-)
%doc ChangeLog LICENSE README TODO examples
%{python26_sitelib}/*egg-info
%{python26_sitelib}/dns
%endif
%changelog
* Mon Mar 28 2011 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.9.4-1
-
- dnspython 1.9.4 has been released and is available at
- http://www.dnspython.org/kits/1.9.4/
-
- There is no new functionality in this release; just a few bug fixes
- in RRSIG and SIG code.
-
- I will be eliminating legacy code for earlier versions of DNSSEC in a
- future release of dnspython.
* Fri Mar 25 2011 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.9.3-1
-
- New since 1.9.2:
-
- A boolean parameter, 'raise_on_no_answer', has been added to
- the query() methods. In no-error, no-data situations, this
- parameter determines whether NoAnswer should be raised or not.
- If True, NoAnswer is raised. If False, then an Answer()
- object with a None rrset will be returned.
-
- Resolver Answer() objects now have a canonical_name field.
-
- Rdata now have a __hash__ method.
-
- Bugs fixed since 1.9.2:
-
- Dnspython was erroneously doing case-insensitive comparisons
- of the names in NSEC and RRSIG RRs.
-
- We now use "is" and not "==" when testing what section an RR
- is in.
-
- The resolver now disallows metaqueries.
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.9.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Thu Dec 2 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.9.2-2
- Build Python 2.6 subpackage for EPEL 5
* Tue Nov 23 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.9.2-1
- It's brown paper bag time :) The fix for the import problems was
- actually bad, but didn't show up in testing because the test suite's
- conditional importing code hid the problem.
-
- Any, 1.9.2 is out.
-
- Sorry for the churn!
* Mon Nov 22 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.9.1-1
- New since 1.9.0:
-
- Nothing.
-
- Bugs fixed since 1.9.0
-
- The dns.dnssec module didn't work with DSA due to namespace
- contamination from a "from"-style import.
-
- New since 1.8.0:
-
- dnspython now uses poll() instead of select() when available.
-
- Basic DNSSEC validation can be done using dns.dnsec.validate()
- and dns.dnssec.validate_rrsig() if you have PyCrypto 2.3 or
- later installed. Complete secure resolution is not yet
- available.
-
- Added key_id() to the DNSSEC module, which computes the DNSSEC
- key id of a DNSKEY rdata.
-
- Added make_ds() to the DNSSEC module, which returns the DS RR
- for a given DNSKEY rdata.
-
- dnspython now raises an exception if HMAC-SHA284 or
- HMAC-SHA512 are used with a Python older than 2.5.2. (Older
- Pythons do not compute the correct value.)
-
- Symbolic constants are now available for TSIG algorithm names.
-
- Bugs fixed since 1.8.0
-
- dns.resolver.zone_for_name() didn't handle a query response
- with a CNAME or DNAME correctly in some cases.
-
- When specifying rdata types and classes as text, Unicode
- strings may now be used.
-
- Hashlib compatibility issues have been fixed.
-
- dns.message now imports dns.edns.
-
- The TSIG algorithm value was passed incorrectly to use_tsig()
- in some cases.
* Fri Aug 13 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.8.0-3
- Add a patch from upstream to fix a Python 2.7 issue.

View File

@ -1,2 +1,2 @@
77f379e0cb21e11470a35359e6211c53 dnspython-1.8.0.tar.gz
7234413d2cddf2ab1eb54bcf82e4f8bd dnspython-1.8.0.tar.gz.asc
8a89b7865251c4e9d8ec2f8cc9f8cd78 dnspython-1.9.4.tar.gz
413d7fc295c6bf03f872938731919c95 dnspython-1.9.4.tar.gz.asc