Skip to content

Commit 5239c81

Browse files
committed
Merge branch 'pyspf-2_0-branch' of https://github.com/sdgathman/pyspf into pyspf-2_0-branch
2 parents ebbf26a + b5881a4 commit 5239c81

File tree

4 files changed

+14
-14
lines changed

4 files changed

+14
-14
lines changed

CHANGELOG

+2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ Version 2.0.14
22
* Fix doctest for CNAME fixes to work with python and python3
33
* Fix dnspython integration so that SPF TempError is properly raised when
44
there are timeout or no nameserver errors
5+
* Add missing use of timeout parameter for dnspython DNSLookup
56
* Restore DNSLookup API for pydnsv(DNS) for tcp fallback works again
7+
* Update Installation section of README.md
68

79
Version 2.0.13 - September 2, 2019
810
* Add support for use of dnspython (dns) if installed

README.md

+10-12
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55

66
Installation
77
------------
8-
This package requires PyDNS (or Py3DNS for running with Python 3) and either
9-
the ipaddr or python3.3 and later. PyDNS is available at
10-
http://pydns.sourceforge.net. Binary and source RPMs for PyDNS are also
11-
available from http://pymilter.sourceforge.net. Py3DNS is available on pypi
12-
and at https://launchpad.net/py3dns. The ipaddr module is available from
13-
http://code.google.com/p/ipaddr-py or as part of the Python standard library
14-
starting with python3.3 (as ipaddress). This package requires authres from
15-
either pypi or http://launchpad.net/authentication-results-python to process
16-
and generate RFC 5451 Authentication Results headers.
8+
This package requires either the dns (dnspython) or DNS (PyDNS/Py3DNS modules
9+
and either the ipaddr module or python3.3 and later. It does not work with
10+
the ipaddress module backport. For dnspython, at least version 1.16.0 is
11+
required. The authres module is required to process and generate RFC 7601
12+
Authentication Results headers. These can all be installed from pypi via pip.
13+
Additionally, they are also available via many distribution packaging systems.
14+
15+
pyspf uses traditional python distutils, so dependencies are not installed
16+
automatically. pyspf can be installed from pypi via pip or manually:
1717

1818
After unpacking the source distribution, install this in your site-
1919
specific Python extension directory::
@@ -23,9 +23,7 @@ specific Python extension directory::
2323
# python setup.py install
2424

2525
The minimum Python version required is python2.6. The spf module in this
26-
version has been tested with python3.2 and does not require using 2to3. It
27-
will work with all versions of pydns or py3dns. It works either with the
28-
stand alone ipaddr module or the standard library ipaddress module.
26+
version has been tested with python3 versions through python3.8.
2927

3028
Testing
3129
-------

spf.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ def DNSLookup_dnspython(name, qtype, tcpfallback=True, timeout=30):
128128
retVal = []
129129
try:
130130
# FIXME: how to disable TCP fallback in dnspython if not tcpfallback?
131-
answers = dns.resolver.query(name, qtype)
131+
answers = dns.resolver.query(name, qtype, lifetime=timeout)
132132
for rdata in answers:
133133
if qtype == 'A' or qtype == 'AAAA':
134134
retVal.append(((name, qtype), rdata.address))

test/testspf.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import yaml
1717
except:
1818
print("yaml can be found at http://pyyaml.org/")
19-
print("Tested with PYYAML 3.04")
19+
print("Tested with PYYAML 3.04 up to 5.1.2")
2020
raise
2121

2222
zonedata = {}

0 commit comments

Comments
 (0)