-
Notifications
You must be signed in to change notification settings - Fork 26
/
pyspf.spec
169 lines (146 loc) · 6.66 KB
/
pyspf.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
%define __python python2.6
%if "%{dist}" == ".el4" || "%{dist}" == ".el5"
%define pythonbase python26
%else
%define pythonbase python
%endif
%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
Name: %{pythonbase}-pyspf
Version: 2.0.14
Release: 1
Summary: Python module and programs for SPF (Sender Policy Framework).
Group: Development/Languages
License: Python Software Foundation License
URL: http://sourceforge.net/forum/forum.php?forum_id=596908
Source0: pyspf-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
BuildRequires: %{pythonbase}-devel
Requires: %{pythonbase}-pydns, %{pythonbase} >= 2.6
Requires: %{pythonbase}-authres %{pythonbase}-ipaddr >= 2.1.10
%description
SPF does email sender validation. For more information about SPF,
please see http://open-spf.org
This SPF client is intended to be installed on the border MTA, checking
if incoming SMTP clients are permitted to send mail. The SPF check
should be done during the MAIL FROM:<...> command.
%define namewithoutpythonprefix %(echo %{name} | sed 's/^%{pythonbase}-//')
%prep
%setup -q -n %{namewithoutpythonprefix}-%{version}
%build
%{__python} setup.py build
%install
rm -rf $RPM_BUILD_ROOT
%{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
mv $RPM_BUILD_ROOT/usr/bin/type99.py $RPM_BUILD_ROOT/usr/bin/type99
mv $RPM_BUILD_ROOT/usr/bin/spfquery.py $RPM_BUILD_ROOT/usr/bin/spfquery
rm -f $RPM_BUILD_ROOT/usr/bin/*.py{o,c}
%check
%{__python} spf.py
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%doc CHANGELOG PKG-INFO README test
%{python_sitelib}/spf.py*
/usr/bin/type99
/usr/bin/spfquery
/usr/lib/python2.6/site-packages/pyspf-%{version}-py2.6.egg-info
%changelog
* Thu Oct 17 2019 Stuart Gathman <[email protected]> 2.0.14-1
- Fix doctest for CNAME fixes to work with python and python3
- Fix dnspython integration so that SPF TempError is properly raised when
there are timeout or no nameserver errors
- Restore DNSLookup API for pydnsv(DNS) for tcp fallback works again
* Mon Jul 23 2018 Stuart Gathman <[email protected]> 2.0.13-1
- Add support for use of dnspython (dns) if installed
- Catch ValueError due to improper IP address in connect IP or in ip4/ip6
mechanisms
- Fix for CNAME processing causing incorrect permerrors
* Wed Aug 5 2015 Stuart Gathman <[email protected]> 2.0.12-1
- Reset void_lookups at top of check() to fix bogus permerror on best_guess()
- Ignore permerror for best_guess()
- Don't crash on null DNS TXT record (ignore): test case null-text
- Trailing spaces are allowed by 4.5/2: test case trailing-space
- Make CNAME loop result in unknown host: test case ptr-cname-loop
- Test case and fix for mixed case CNAME loop, test case ptr-cname-loop
* Fri Dec 5 2014 Stuart Gathman <[email protected]> 2.0.11-1
- Fix another bug in SPF record parsing that caused records with terms
separated by multple spaces as invalid, but they are fine per the ABNF
- Downcase names in additional answers returned by DNS before adding
to cache, since case inconsistency can cause PTR match failures (initial
patch thanks to Joni Fieggen) and other problems.
* Tue Sep 2 2014 Stuart Gathman <[email protected]> 2.0.10-1
- Fix AAAA not flagged as bytes when strict=2
- Split mechanisms by space only, not by whitespace
- include '~' as safe char in url quoted macro expansion
- treat AttributeError from pydns as TempError
* Tue Apr 29 2014 Stuart Gathman <[email protected]> 2.0.9-1
- RFC7208 support
- void lookup limit and test cases
- Convert YAML tests to TestCases, and have testspf.py return success/fail.
* Tue Jul 23 2013 Stuart Gathman <[email protected]> 2.0.8-2
- Test case and fix for PermError on non-ascii chars in non-SPF TXT records
- Use ipaddr/ipaddress module in place of custom IP processing code
- Numerous python3 compatibility fixes
- Improved unicode error detection in SPF records
- Fixed a bug caused by a null CNAME in cache
* Fri Feb 03 2012 Stuart Gathman <[email protected]> 2.0.7-1
- fix CNAME chain duplicating TXT records
- local test cases for CNAME chains
- python3 compatibility changes e.g. print a -> print(a)
- check for 7-bit ascii on TXT and SPF records
- Use openspf.net for SPF web site instead of openspf.org
- Support Authentication-Results header field
- Support overall DNS timeout
* Thu Oct 27 2011 Stuart Gathman <[email protected]> 2.0.6-2
- Python3 port (still requires 2to3 on spf.py)
- Ensure Temperror for all DNS rcodes other than 0 and 3 per RFC 4408
- Parse Received-SPF header
- Report CIDR error only for valid mechanism
- Handle invalid SPF record on command line
- Add timeout to check2
- Check for non-ascii policy
* Wed Mar 03 2011 Stuart Gathman <[email protected]> 2.0.6-1
- Python-2.6
- parse_header method
* Wed Apr 02 2008 Stuart Gathman <[email protected]> 2.0.5-1
- Add timeout parameter to query ctor and DNSLookup
- Patch from Scott Kitterman to retry truncated results with TCP unless harsh
- Validate DNS labels
- Reflect decision on empty-exp errata
* Wed Jul 25 2007 Stuart Gathman <[email protected]> 2.0.4-1
- Correct unofficial 'best guess' processing.
- PTR validation processing cleanup
- Improved detection of exp= errors
- Keyword args for get_header, minor fixes
* Mon Jan 15 2007 Stuart Gathman <[email protected]> 2.0.3-1
- pyspf requires pydns, python-pyspf requires python-pydns
- Record matching mechanism and add to Received-SPF header.
- Test for RFC4408 6.2/4, and fix spf.py to comply.
- Test for type SPF (type 99) by default in harsh mode only.
- Permerror for more than one exp or redirect modifier.
- Parse op= modifier
* Sat Dec 30 2006 Stuart Gathman <[email protected]> 2.0.2-1
- Update openspf URLs
- Update Readme to better describe available pyspf interfaces
- Add basic description of type99.py and spfquery.py scripts
- Add usage instructions for type99.py DNS RR type conversion script
- Add spfquery.py usage instructions
- Incorporate downstream feedback from Debian packager
- Fix key-value quoting in get_header
* Fri Dec 08 2006 Stuart Gathman <[email protected]> 2.0.1-1
- Prevent cache poisoning attack
- Prevent malformed RR attack
- Update license on a few files we missed last time
* Mon Nov 20 2006 Stuart Gathman <[email protected]> 2.0-1
- Completed RFC 4408 compliance
- Added spf.check2 for RFC 4408 compatible result codes
- Full IP6 support
- Fedora Core compatible RPM spec file
- Update README, licenses
* Tue Sep 26 2006 Stuart Gathman <[email protected]> 1.8-1
- YAML test suite syntax
- trailing dot support (RFC4408 8.1)
* Tue Aug 29 2006 Sean Reifschneider <[email protected]> 1.7-1
- Initial RPM spec file.