# Legend: # --- = A new release # + = Added a feature (in a backwards compatible way) # ! = Changed something significant, or removed a feature # * = Fixed a bug, or made a minor improvement --- 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