-
Notifications
You must be signed in to change notification settings - Fork 1
/
Changes
275 lines (217 loc) · 11.2 KB
/
Changes
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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
{{$NEXT}}
3.20240923 2024-09-23 Australia/Melbourne
- Fix issue where certain DNS results would cause an exception to be thrown
3.20240827 2024-08-27 Australia/Melbourne
** Thanks to Giovanni <[email protected]> for the changes in this release.
- Do not try to parse an IPv4 address unnecessarily
- Import RFC7208 Tests
- referencing the same TXT record through multiple CNAME aliases is not permitted
by RFC7208
- Make it clear that BlackMagic module is not available
- Fix checks for IPv4-mapped IPv6 connections
- Cache DNS results
- Misc dzil/build/ci improvements
- SPF explanation text is restricted to 7-bit ascii
3.20240617 2024-06-17 Australia/Melbourne
- Update INSTALL file for Dist::Zilla changes
Thanks to Giovanni <[email protected]>
- Fix memory leak in Mail::SPF::Server when cacheing a Mail::SPF::MacroString
Thanks to Giovanni <[email protected]> and Felipe Gasper
- When mfrom is empty, create a synthetic mfrom (postmaster@helo) and check
that identity using the mfrom scope as specified in RFC7208
Thanks to Giovanni <[email protected]>
- Fix missing declare in Mail::SPF::Server
Thanks to Giovanni <[email protected]>
- require Mail::SPF::Mech when needed
Thanks to Giovanni <[email protected]>
- correctly handle empty labels
Thanks to Giovanni <[email protected]>
- use "try" instead of "eval"
Thanks to Giovanni <[email protected]>
- error out if the lookup fails
Thanks to Giovanni <[email protected]>
3.20240206 2024-02-06 UTC
- Remove signature file from distribution
3.20240205 2024-02-05 UTC
- Fix pod in Mail::SPF::Util (RT#93241)
Thanks to [email protected] and [email protected]
- Fixes char_str_list is not a valid sub in new Net::DNS (RT#149825)
Reworked from patch supplied with thanks by [email protected]
- BREAKING CHANGE: spfd is now installed in /bin instead of /sbin
As a result Mail::SPF now respects an install prefix and may be
more easily installed in a non root and/or local lib environment.
--- 2.009 (2013-07-21 03:30)
Mail::SPF:
* Default to querying only TXT type RRs (query_rr_types = Mail::SPF::Server->
query_rr_type_txt). Experience has shown that querying SPF type RRs is
impractical.
--- 2.008 (2012-01-30 08:15)
Mail::SPF:
* Sanitize result local_explanation (as well as result object string
representation) by replacing all non-printable or non-ascii characters
with their hex-escaped representation (e.g., "\x00").
(Addresses: bugs.launchpad.net #806926)
Miscellaneous:
* Change openspf.org URLs to openspf.net because openspf.org is unreachable
indefinitely.
* Change <http://www.ietf.org/rfc/….txt> URLs
to <http://tools.ietf.org/html/…>.
* META.yml: configure_requires: Module::Build 0.2805
* META.yml: requires: Net::DNS 0.62 (was: 0.52) (Closes: rt.cpan.org #28545)
* META.yml: Revert to flat version numbers for perl and Net::DNS::Resolver::
Programmable build requirements to avoid Module::Build::Compat/Makefile.PL
incompatibilities. (Closes: rt.cpan.org #53231)
* Attempt to prevent a cascading failure in t/00.03-class-result.t that seems
to happen under rare, unknown circumstances. (Closes: rt.cpan.org #39099)
Debian:
* Declare Debian source package format as 3.0.
* Standards-Version: 3.9.2 (was: 3.8.3)
* Bump debhelper compatibility level to 7 (was: 5) and simplify debian/rules
using debhelper 7 features.
* debian/control: Simplify depdendencies under the assumption that package
will be installed on Debian Lenny (oldstable at the time of writing) or
later (or the Ubuntu equivalent).
* debian/watch: Use dist-based URL.
--- 2.007 (2009-10-31 21:00)
Mail::SPF:
* Macro expansion:
* Distinguish between split and join delimiters; they are not necessarily
the same.
* Support multiple split delimiters rather than at most one.
Miscellaneous:
* We ship and pass the 2009.10 release of the official RFC 4408 test suite.
* Give advice in INSTALL on how to install without root privileges.
Debian:
* Standards-Version: 3.8.3 (was: 3.8.0)
* Build-Depends-Indep: perl-modules (>= 5.10.0) | libmodule-build-perl (>= 0.26)
(was: libmodule-build-perl (>= 0.26))
--- 2.006 (2008-08-17 22:00)
Mail::SPF:
+ Added result object factory facility to Mail::SPF::Server in order to
support the sub-classing of Mail::SPF::Server and Mail::SPF::Result.
See README for details.
Any code throwing Mail::SPF::Result(::*) objects directly should stop doing
so and use Mail::SPF::Server::throw_result() instead.
+ Added a "query_rr_types" option to Mail::SPF::Server's constructor as a
way to disable the retrieval of either "SPF" or "TXT" type RRs.
I wouldn't make use of it if I was you!
! Changed the "max_void_dns_lookups" option's default value from undef (i.e.,
no limit) to a limit of 2. This should not cause any problems in practice,
however see the "max_void_dns_lookups" option's description for specifics
on what this entails.
* Match <toplabel> patterns greedily by reversing the order of the <toplabel>
regexp alternatives from RFC 4408. Thus TLDs with dashes (e.g.,
".xn--wgv71a") are now correctly matched.
* In macro strings, expand '%-' to '%20' rather than '-'.
Thanks to Frank Ellermann for providing a test case for the RFC 4408 test
suite that inadvertently exposed this bug.
> Mail::SPF::Result:
+ Added new received_spf_header_name() constant specifying the "Received-
SPF" header field name, which may (and usually should) be overridden by
custom result sub-classes; see the documentation.
* Generate "identity=mailfrom" rather than "identity=mfrom" in
"Received-SPF" header field.
* name() now returns a symbolic result name instead of the trailing part of
the result class name. This should have no impact on 3rd-party code.
* Added new isa_by_name() method as an equivalent to the built-in isa(),
taking a result name instead of a class name. Provides a superset of the
is_code() method's functionality.
* Substituted ";"s for "&" parameter separators in the openspf.org "Why?"
page URL in the default authority explanation string. This change is
purely cosmetic.
* Minor documentation fixes and improvements.
Miscellaneous:
* We ship and pass the 2008.08 release of the official RFC 4408 test suite.
* While officially declaring a build-requirement of Module::Build >= 0.2805
(which, if not satisfied, Module::Build itself will warn about, but not
abort), do not strictly require it. If the META.yml file generated during
package building is irrelevant, e.g., if we are being built by a package
management/build system such as Debian's, then 0.26 is sufficient.
* Recommend NetAddr::IP >= 4.007, as it has all $& and $` removed for better
performance;
see <http://issues.apache.org/SpamAssassin/show_bug.cgi?id=5312>.
--- 2.005 (2007-05-30 23:00)
Mail::SPF:
+ Added a "max_void_dns_lookups" option to Mail::SPF::Server's constructor,
allowing the number of potentially abusive lookups induced by DoS attacks
to be limited. See the documentation of the Mail::SPF::Server class.
+ Added a "precedence" class property to Mail::SPF::GlobalMod and sub-classes
that defines the order in which global modifiers are to be processed
(0: first, 1: last). See Mail::SPF::Mod.
Mail::SPF::Mod::Exp has precedence 0.2, Mail::SPF::Mod::Redirect has 0.8.
Also, Mail::SPF::Record::global_mods() now returns modifiers ordered by
precedence.
+ Added support for a non-standard %{_scope} pseudo macro that expands to the
request's identity scope. Note: Do NOT use any such non-standard macros in
explanation strings published in DNS!
! Mail::SPF::Util::valid_domain_for_ip_address() now requires a Mail::SPF::
Request object to be passed as a new second argument. This is actually
consistent with many of Mail::SPF's methods. Please excuse the late API
change (but who uses Mail::SPF::Util directly anyway?).
* Updated default authority explanation string to include identity scope in
the openspf.org "Why?" page URL in order to avoid misleading result
explanations.
* Truncate labels resulting from macro expansions to 63 bytes. This is not
strictly required by RFC 4408, 8.1/27, but is merely meant as a precaution.
* Minor documentation fixes and improvements.
Miscellaneous:
* We ship and pass the 2007.05 release of the official RFC 4408 test suite
(no changes were required).
! Build-require Module::Build >= 0.2805 (was: >= 0.26), hopefully fixing a
version.pm/CPAN.pm compatibility issue (closes: rt.cpan.org #26784).
(Debian packaging is not affected because it does not rely on META.yml.)
Debian:
* Conflicts: spfquery (<< 1.2.5.dfsg-1) (was unversioned)
--- 2.004 (2007-01-20 02:00)
Mail::SPF:
* Correctly fall back to default authority explanation if the authority
domain does specify an explanation string but it cannot be expanded (e.g.
due to syntax errors).
* In Mail::SPF::Result::received_spf_header(), gracefully fall back to a
hostname of "unknown" if a fully qualified hostname can not be determined.
Some (misconfigured) systems simply will not reveal one.
* Minor documentation improvements and fixes.
Miscellaneous:
* Note in the README file that we pass the 2006.11 release of the official
RFC 4408 test-suite.
Tests:
* Do not test Mail::SPF::Util::hostname(), as some (misconfigured) systems
simply will not reveal a fully qualified hostname (see CPANTS tests for
2.003).
* Minor code clean-up.
--- 2.003 (2007-01-10 00:00)
Mail::SPF:
* Fixed two Perl 5.6 incompatibilities:
* Added `use utf8` statements in several modules to keep Perl 5.6 from
whining about /[\p{}]/.
* Do not use the `use constant { a=>1, b=>2 }` multiple-constants idiom,
as it was introduced only in constant 1.03 (Perl 5.7.2).
* Fixed a very minor bug where a "TempError" result would incorrectly be
returned in the very rare case when the SPF-type look-up succeeded but
returned 0 records, and the following TXT-type look-up errored or timed
out. Now a "None" result is correctly returned in that case as demanded
by RFC 4408.
spfquery:
* Minor documentation fixes.
--- 2.002 (2006-12-14 00:00)
Mail::SPF:
* Updated default authority explanation string to the SPF website's new
"Why?" page URL parameters scheme:
<http://www.openspf.org/Why?id=%{S}&ip=%{I}&receiver=%{R}>
spfquery:
* Updated the '--help' text and man-page with regard to the black magic
options (which require the yet unreleased Mail::SPF::BlackMagic module).
--- 2.001 (gold release) (2006-12-09 20:00)
Gold Release!
Major overhaul:
! Major code refactoring, achieving full RFC 4408/4406 compliance, and
breaking API compatibility with 2.000.
! Switched from ExtUtils::MakeMaker to Module::Build.
+ Added complete rewrites of spfquery (2.500) and spfd (2.000).
+ Added complete documentation.
+ Added unit tests and the RFC 4408 test-suite.
+ Added Debian package control files.
+ And more... (closes: rt.cpan.org #20821, #20822, #21922, #21925)
--- 2.000 (initial release) (2005-06-23 00:00)
# $Id: CHANGES 61 2013-07-22 03:45:15Z julian $
# vim:syn= tw=79 sts=2 sw=2