Subversion Repositories libspf2

Compare Revisions

Regard whitespace Rev 1 → Rev HEAD

/trunk/debian/changelog
0,0 → 1,366
libspf2 (1.2.10-8) unstable; urgency=medium
 
* spf_compile.c-more-correct-size-of-ds_avail.patch: Fix potential
integer overflow when checking available space for SPF macro string
literal. May resolve #1053870.
* Migrate to automatic dbgsym packages.
* Bump Debhelper compat level to 12.
 
-- Magnus Holmgren <holmgren@debian.org> Sun, 22 Oct 2023 18:33:14 +0200
 
libspf2 (1.2.10-7.2) unstable; urgency=medium
 
* Non-maintainer upload.
* no-libreplace.patch: disable libreplace which is not needed anymore and
causes build failures with glibc 2.34 (Closes: #1016821).
 
-- Aurelien Jarno <aurel32@debian.org> Thu, 11 Aug 2022 23:05:37 +0200
 
libspf2 (1.2.10-7.1) unstable; urgency=medium
 
* Non-maintainer upload.
* spf_compile.c: Correct size of ds_avail (CVE-2021-20314)
* Sanity check for sprintf
* Fixed 'reverse' macro modifier
 
-- Salvatore Bonaccorso <carnil@debian.org> Sun, 08 Aug 2021 13:46:49 +0200
 
libspf2 (1.2.10-7) unstable; urgency=low
 
* error_results.patch: Return information to use in the mail header and
such when no or multiple SPF records exist (Closes: #806313). Thanks
to Sebastian Schweizer <sebastian@schweizer.tel>.
* Bump Standards-Version to 3.9.7.
 
-- Magnus Holmgren <holmgren@debian.org> Fri, 25 Mar 2016 17:51:50 +0100
 
libspf2 (1.2.10-6) unstable; urgency=medium
 
* gcc5-variadicmacros.patch: Fix syntax error with variadic macro with
no variable argument when compiling with GCC 5 (Closes: #777974).
* Rearrange debian/copyright to comply with the machine-readable format
specification.
 
-- Magnus Holmgren <holmgren@debian.org> Thu, 25 Jun 2015 22:26:05 +0200
 
libspf2 (1.2.10-5) unstable; urgency=low
 
* abolish-spf-rrtype.patch: Stop trying to look up the dedicated SPF DNS
RR type, which was abolished by RFC 7208 (Closes: #764533).
* Bump Standards-Version to 3.9.6.
 
-- Magnus Holmgren <holmgren@debian.org> Sun, 12 Oct 2014 21:18:33 +0200
 
libspf2 (1.2.10-4) unstable; urgency=low
 
* Upgrade to Debhelper compat level 9, in order to:
* Handle variable vendorarch installation directory (Closes: #752712),
by making debian/libmail-spf-xs-perl.install executable.
* Bump Standards-Version to 3.9.5.
* debian/rules: Update URL in get-orig-source target (a year late).
 
-- Magnus Holmgren <holmgren@debian.org> Sat, 05 Jul 2014 22:19:51 +0200
 
libspf2 (1.2.10-3) unstable; urgency=low
 
* Merge changes from Ubuntu (Closes: #734224).
 
-- Magnus Holmgren <holmgren@debian.org> Sat, 01 Feb 2014 14:51:57 +0100
 
libspf2 (1.2.10-2ubuntu1) trusty; urgency=medium
 
* Use dh-autoreconf instead of autotools-dev to also fix FTBFS on ppc64el by
getting new libtool macros (still updates config.{sub,guess}).
 
-- Logan Rosen <logan@ubuntu.com> Fri, 03 Jan 2014 15:56:24 -0500
 
libspf2 (1.2.10-2) unstable; urgency=low
 
* Convert debian/copyright to machine-readable format and update
copyright info including details on files in src/libreplace.
* debian/spfquery.libspf2.1: Change license to 2-clause BSD, as was
intended from the beginning.
 
-- Magnus Holmgren <holmgren@debian.org> Mon, 12 Aug 2013 12:07:40 +0200
 
libspf2 (1.2.10-1) unstable; urgency=low
 
* New upstream release.
* Drop ipv6-bugs.patch and private-glibc-functions.patch; incorporated
upstream.
* Hide additional internal symbols from the dynamic table.
* Build and include the Perl XS module.
* Bump Standards-Version to 3.9.4.
 
-- Magnus Holmgren <holmgren@debian.org> Thu, 13 Jun 2013 23:58:12 +0200
 
libspf2 (1.2.9-7) unstable; urgency=high
 
* Add postinst scripts that replace old documentation directories (from
before 1.2.9-5) in libspf2-dev, libspf2-2-dbg and spfquery with
symlinks (Closes: #687862, #687863, #687864). Thanks to Salvatore
Bonaccorso <carnil@debian.org>.
 
-- Magnus Holmgren <holmgren@debian.org> Sun, 23 Sep 2012 21:25:43 +0200
 
libspf2 (1.2.9-6) unstable; urgency=low
 
* Rename ipv6-buffer-miscalculation.patch ipv6-bugs.patch. Include
the following small IPv6-related patches from FreeBSD:
* patch-src_libspf2_spf__compile.c
* patch-src_libspf2_spf__interpret.c
Already included was patch-src_libspf2_spf__expand.c.
 
-- Magnus Holmgren <holmgren@debian.org> Sun, 22 Jan 2012 22:45:04 +0100
 
libspf2 (1.2.9-5) unstable; urgency=low
 
* Convert package to source format 3.0 (quilt).
* Include text of BSD license in debian/copyright, as is now preferred.
* Switch from CDBS to classic Debhelper, getting build flags from
dpkg-buildflags "by hand".
* Increase Debhelper compat level to 7.
* Put docs in libspf2-2 and replace the other packages' doc directories
with symlinks to that one.
 
-- Magnus Holmgren <holmgren@debian.org> Fri, 11 Nov 2011 22:13:50 +0100
 
libspf2 (1.2.9-4) unstable; urgency=low
 
* Drop obsolete README.Debian-source; move non-obsolete info to
libspf2-dev.README.Debian.
* debian/libspf2.ver: Explicitly unhide certain special symbols that
became hidden on the mips and mipsel architectures but nowhere else,
causing a FTBFS.
 
-- Magnus Holmgren <holmgren@debian.org> Sat, 03 Oct 2009 21:29:19 +0200
 
libspf2 (1.2.9-3) unstable; urgency=high
 
* ipv6_buffer_miscalculation.dpatch: Fix an abort() caused by
miscalculating the size of an internal buffer when mail is received
over IPv6. Thanks to Matthias Scheler <tron@netbsd.org>.
 
-- Magnus Holmgren <holmgren@debian.org> Sun, 13 Sep 2009 20:23:22 +0200
 
libspf2 (1.2.9-2) unstable; urgency=low
 
* debian/rules: Correct version.
* 01_private_glib_functions.dpatch: Avoid linking private glibc
functions.
* Simplify debian/*.install and exclude the libtool .la file from the
-dev package. Set DEB_DH_INSTALL_SOURCEDIR accordingly.
* Add ${misc:Depends} to Depends.
* Add debug package.
* Use ld version script to hide internal symbols.
* Bump Standards-Version to 3.8.3.
 
-- Magnus Holmgren <holmgren@debian.org> Tue, 25 Aug 2009 00:15:01 +0200
 
libspf2 (1.2.9-1) unstable; urgency=high
 
* New upstream release.
- Drops non-dfsg Free IETF internet draft, so tarball no longer needs
repacking
+ Fixes exploitable buffer overflow (LP: #287534)
+ Multiple fixes for improved RFC 4408 compliance
+ Update libspf2-2.symbols for new symbol
+ 20_spf_dns_include_std_headers.dpatch: Updated.
* Thanks to Scott Kitterman.
 
-- Magnus Holmgren <holmgren@debian.org> Tue, 04 Nov 2008 21:14:31 +0100
 
libspf2 (1.2.8~dfsg-1) unstable; urgency=low
 
* Merge changes from Ubuntu.
* Fix and tweak library dependency information (shlibs as well as
symbols).
* Upgrade to Standards-Version: 3.8.0. Changes needed:
+ Add debian/README.source (ยง 4.9).
* Bring debian/copyright a bit more up-to-date.
 
-- Magnus Holmgren <holmgren@debian.org> Sun, 02 Nov 2008 12:29:51 +0100
 
libspf2 (1.2.8~dfsg-0ubuntu1) intrepid; urgency=low
 
* New upstream release (LP: #283920)
- Fixes multiple memory leaks
- CVE2008-2469 buffer overflows
- Adds new documentation
- Drop all patches except 20_spf_dns_include_std_headers.dpatch (included
upstream)
- Freshen 20_spf_dns_include_std_headers.dpatch
- Update debian/rules for new release
* Repack tarball to remove non-DFSG Free IETF draft
* Added debian/libspf2-2.symbols and updated for new version
* Drop README.Debian since it no longer applies.
 
-- Scott Kitterman <scott@kitterman.com> Sun, 19 Oct 2008 01:00:13 -0400
 
libspf2 (1.2.5.dfsg-5) unstable; urgency=low
 
* 43_new_explanation_url.dpatch: Bring default explanation up to date by
referring to www.openspf.org instead of spf.pobox.com.
* Add spfquery(1) manpage.
* Fix format of copyright notice in debian/copyright.
* Move upstream homepage URL to the new Homepage control field, rename
VCS control fields, and update Standards-Version.
* A few cosmetic adjustments including fixing the indentation of the
1.2.5.dfsg-3 entry below (Closes: #465466).
* New maintainer email address.
 
-- Magnus Holmgren <holmgren@debian.org> Fri, 18 Apr 2008 17:51:28 +0200
 
libspf2 (1.2.5.dfsg-4) unstable; urgency=low
 
* Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
(Closes: #440147). Thanks to Matthias Cramer.
* 35_untabify_help.dpatch: Make --help output of utilities less ugly by
converting tabs to spaces.
 
-- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
 
libspf2 (1.2.5.dfsg-3) unstable; urgency=low
 
* 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
spfquery (Closes: #430414). Thanks to Robert Millan.
* Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
* A second patch from Robert split into three:
* 40_permanent_include_errors.dpatch: Make permanent errors in
processing an include: directive cause the parent evaluation to return
a permanent error as well (Closes: #435139).
* 41_none_not_neutral.dpatch: Use a diffent explanation for
SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
* 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
the sender address has been set to the empty string (Closes: #431239).
* debian/control: Add XS-Vcs-* fields.
 
-- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
 
libspf2 (1.2.5.dfsg-2) unstable; urgency=low
 
* 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
unimplemented options to spfquery.
* 20_printf_types.dpatch: Revert to using standard conversion specifiers
without z modifiers.
* debian/watch: mangle away .dfsg from package version.
* Lower spfquery and spfd alternatives priorities to 25.
* Skip applying 01_line-endings.dpatch; it's meaningless.
 
-- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
 
libspf2 (1.2.5.dfsg-1) unstable; urgency=low
 
* New maintainer (Closes: #372629).
* Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
#393390).
* Merge updates from Ubuntu:
- Add debian/compat and Build-depend on debhelper >= 5.
- Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
- Conflict on libmail-spf-query-perl << 1:1.999.1-3.
- Add postinst and prerm scripts.
- debian/copyright: update author address.
- debian/control: add final newline.
* debian/control:
* Change description of spfquery (Closes: #410592).
* Add homepage to package descriptions.
* Reduce Debian diff by changing line endings with sed instead.
* Further reduce Debian diff by eliminating config.sub and config.guess
from there. Build-depend on autotools-dev to ensure up-to-date
versions instead.
* The autogenerated spf_lib_version.h was put in the wrong directory,
while there was a static spf_lib_version.h in the right directory.
Fix that with some rules in debian/rules.
* Use dpatch to manage patches.
* Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
Koch-Mauthe and Herbert Straub.
* 20_printf_types.dpatch: Change format strings to use the z flag,
meaning size_t, among other things.
* 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
Thomas Jacob).
* debian/watch: added.
* Update Standards-Version to 3.7.2 without changes.
* Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
netdb.h from spf_dns.h instead of defining the constants needed unless
certain HAVE_ macros are defined (Closes: #405885).
* Apply 25_maxvals.dpatch, which brings certain processing limits (meant
to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
Kitterman.
* debian/control: Change libspf2-dev dependency to ${binary:Version} so
that binNMUs will work.
* Ship spfd in the spfquery package (Closes: #258360).
 
-- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
 
libspf2 (1.2.5-4) unstable; urgency=low
 
* Orphan.
 
-- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
 
libspf2 (1.2.5-3) unstable; urgency=low
 
* src/include/spf_server.h: Remove useless include to
spf_dns_internal.h. (Closes: #312145)
* debian/control: Have spfquery against libmail-spf-query-perl to work
around #306875, hopefully temporarily.
 
-- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
 
libspf2 (1.2.5-2) unstable; urgency=low
 
* The "Doh, missed a soname change" release.
* debian/libspf2-0.install: Rename to libspf2-2.install.
* debian/control:
- Change libspf2-0 to libspf2-2 to reflect soname change.
(Closes: #306205)
- Add spfquery package, don't package spfd for now, can't figure
out how to make it work. This partially addresses #258360.
* debian/spfquery.install: New file.
 
-- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
 
libspf2 (1.2.5-1) unstable; urgency=low
 
* New upstream release.
 
-- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
 
libspf2 (1.0.4-4) unstable; urgency=medium
 
* configure, aclocal.m4: Run aclocal and autoconf to get the right code
for the libtool test to use the pass_all method on arm. (Closes:
#276516)
* Urgency medium to get this bloody thing fixed already.
 
-- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
 
libspf2 (1.0.4-3) unstable; urgency=low
 
* config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
building.
 
-- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
 
libspf2 (1.0.4-2) unstable; urgency=low
 
* config/ltmain.sh: Re-libtoolize. (Closes: #269936)
* configure.ac: Apply patch from Kurt Roeckx to fix build on
amd64. (Closes: #262687)
* Rerun autoconf to apply the changes.
 
-- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
 
libspf2 (1.0.4-1) unstable; urgency=low
 
* New upstream release. (Closes: #261709)
 
-- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
 
libspf2 (1.0.3-1) unstable; urgency=low
 
* Initial release. (Closes: #257644)
-- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
 
/trunk/debian/control
0,0 → 1,66
Source: libspf2
Priority: optional
Section: libs
Maintainer: Magnus Holmgren <holmgren@debian.org>
Build-Depends: dpkg-dev (>= 1.15.7), debhelper-compat (= 12),
perl, libstring-escape-perl
Standards-Version: 3.9.7
Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
Vcs-Browser: http://svn.kibibyte.se/libspf2
Homepage: http://www.libspf2.org/
 
Package: libspf2-2
Section: libs
Architecture: any
Conflicts: libspf2-0
Replaces: libspf2-0
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: library for validating mail senders with SPF
libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
protocol pair. libspf2 is a library which allows email systems such
as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
records and make sure that the email is authorized by the domain name
that it is coming from. This prevents email forgery, commonly used by
spammers, scammers and email viruses/worms.
 
Package: libspf2-dev
Section: libdevel
Architecture: any
Depends: libspf2-2 (= ${binary:Version}), ${misc:Depends}
Description: Header and development libraries for libspf2
libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
protocol pair. libspf2 is a library which allows email systems such
as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
records and make sure that the email is authorized by the domain name
that it is coming from. This prevents email forgery, commonly used by
spammers, scammers and email viruses/worms.
 
Package: spfquery
Section: mail
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
Description: query SPF (Sender Policy Framework) to validate mail senders
The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
pair. SPF allows email systems such as Sendmail, Postfix, Exim,
Zmailer and MS Exchange to check SPF records and make sure that the
email is authorized by the domain name that it is coming from. This
prevents email forgery, commonly used by spammers, scammers and email
viruses/worms.
.
This package contains simple utilities that use libspf2 to test and
query SPF records.
 
Package: libmail-spf-xs-perl
Section: perl
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, libstring-escape-perl
Description: library for validating mail senders with SPF - Perl bindings
libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
protocol pair. libspf2 is a library which allows email systems such
as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
records and make sure that the email is authorized by the domain name
that it is coming from. This prevents email forgery, commonly used by
spammers, scammers and email viruses/worms.
.
This package provides an XS module for using libspf from Perl programs.
/trunk/debian/patches/series
0,0 → 1,9
spf_dns-include-std-headers.patch
abolish-spf-rrtype.patch
gcc5-variadicmacros.patch
error_results.patch
spf_compile.c-Correct-size-of-ds_avail.patch
Sanity-check-for-sprintf.patch
Fixed-reverse-macro-modifier.patch
no-libreplace.patch
spf_compile.c-more-correct-size-of-ds_avail.patch
/trunk/debian/patches/spf_compile.c-more-correct-size-of-ds_avail.patch
0,0 → 1,22
Origin: https://github.com/shevek/libspf2/pull/44/commits/c93823faef044150e1b232928d225ff5ff297e6c
Author: Simon Arlott
Description: Fix potential integer overflow when available checking space for SPF macro string literal
May resolve #1053870.
 
diff --git a/src/libspf2/spf_compile.c b/src/libspf2/spf_compile.c
index b08ffe2..d401028 100644
--- a/src/libspf2/spf_compile.c
+++ b/src/libspf2/spf_compile.c
@@ -455,7 +455,11 @@ SPF_c_parse_var(SPF_response_t *spf_response, SPF_data_var_t *data,
/* Magic numbers for x/Nc in gdb. */ \
data->ds.__unused0 = 0xba; data->ds.__unused1 = 0xbe; \
dst = SPF_data_str( data ); \
- ds_avail = _avail - sizeof(SPF_data_t); \
+ if ((_avail) < sizeof(SPF_data_t)) \
+ return SPF_response_add_error_ptr(spf_response, \
+ SPF_E_BIG_STRING, NULL, src, \
+ "Out of memory for string literal");\
+ ds_avail = (_avail) - sizeof(SPF_data_t); \
ds_len = 0; \
} while(0)
/trunk/debian/patches/no-libreplace.patch
0,0 → 1,19
Description: Don't use unnecessary libreplace
libreplace isn't providing anything of utility here, it's unconditional and
causing build failures on some architectures.
Author: Steve Langasek <steve.langasek@ubuntu.com>
Last-Updated: 2022-02-24
Forwarded: no
 
Index: libspf2-1.2.10/src/libspf2/Makefile.am
===================================================================
--- libspf2-1.2.10.orig/src/libspf2/Makefile.am
+++ libspf2-1.2.10/src/libspf2/Makefile.am
@@ -34,7 +34,6 @@
spf_utils.c \
spf_win32.c
-libspf2_la_LIBADD = $(top_builddir)/src/libreplace/libreplace.la
/trunk/debian/patches/Fixed-reverse-macro-modifier.patch
0,0 → 1,51
From: Nathaniel <me@nathanielbennett.com>
Date: Tue, 8 Jun 2021 20:02:52 -0400
Subject: Fixed 'reverse' macro modifier
Origin: https://github.com/shevek/libspf2/commit/f06fef6cede4c4cb42f2c617496e6041782d7070
 
---
src/libspf2/spf_expand.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
 
diff --git a/src/libspf2/spf_expand.c b/src/libspf2/spf_expand.c
index 25689da11e84..f93005d26f44 100644
--- a/src/libspf2/spf_expand.c
+++ b/src/libspf2/spf_expand.c
@@ -86,7 +86,7 @@ SPF_record_expand_data(SPF_server_t *spf_server,
{
SPF_data_t *d, *data_end;
- size_t len;
+ size_t len, label_len;
const char *p_err; // XXX Check this value, when returned.
char *p, *p_end;
const char *p_read;
@@ -300,9 +300,9 @@ top:
if ( SPF_delim_valid(d, *p_read) ) {
/* Subtract 1 because p_read points to delim, and
* p_read_end points to the following delim. */
- len = p_read_end - p_read - 1;
- memcpy( p_write, p_read + 1, len );
- p_write += len;
+ label_len = p_read_end - p_read - 1;
+ memcpy( p_write, p_read + 1, label_len );
+ p_write += label_len;
*p_write++ = '.';
p_read_end = p_read;
@@ -314,9 +314,9 @@ top:
* string. p_read_end might also point there if the string
* starts with a delimiter. */
if (p_read_end >= p_read) {
- len = p_read_end - p_read - 1;
- memcpy( p_write, p_read + 1, len );
- p_write += len;
+ label_len = p_read_end - p_read - 1;
+ memcpy( p_write, p_read + 1, label_len );
+ p_write += label_len;
*p_write++ = '.';
}
--
2.20.1
 
/trunk/debian/patches/Sanity-check-for-sprintf.patch
0,0 → 1,28
From: Nathaniel <me@nathanielbennett.com>
Date: Tue, 8 Jun 2021 06:43:29 -0400
Subject: Sanity check for sprintf
Origin: https://github.com/shevek/libspf2/commit/28faf4624a6a371b11afdb9820078d3b0ee3803d
 
---
src/libspf2/spf_expand.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
 
diff --git a/src/libspf2/spf_expand.c b/src/libspf2/spf_expand.c
index e7f5a26f3e1b..25689da11e84 100644
--- a/src/libspf2/spf_expand.c
+++ b/src/libspf2/spf_expand.c
@@ -398,10 +398,7 @@ top:
break;
default:
- /* No point doing snprintf with a const '4'
- * because we know we're going to get 4
- * characters anyway. */
- sprintf( p_write, "%%%02x", *p_read );
+ snprintf( p_write, 4, "%%%02x", (unsigned char) *p_read );
p_write += 3;
p_read++;
break;
--
2.20.1
 
/trunk/debian/patches/spf_compile.c-Correct-size-of-ds_avail.patch
0,0 → 1,26
From: Shevek <shevek@anarres.org>
Date: Sat, 5 Jun 2021 21:39:04 -0700
Subject: spf_compile.c: Correct size of ds_avail.
Origin: https://github.com/shevek/libspf2/commit/c37b7c13c30e225183899364b9f2efdfa85552ef
Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2021-20314
 
---
src/libspf2/spf_compile.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
 
diff --git a/src/libspf2/spf_compile.c b/src/libspf2/spf_compile.c
index ff02f8718b30..b08ffe204eba 100644
--- a/src/libspf2/spf_compile.c
+++ b/src/libspf2/spf_compile.c
@@ -455,7 +455,7 @@ SPF_c_parse_var(SPF_response_t *spf_response, SPF_data_var_t *data,
/* Magic numbers for x/Nc in gdb. */ \
data->ds.__unused0 = 0xba; data->ds.__unused1 = 0xbe; \
dst = SPF_data_str( data ); \
- ds_avail = _avail; \
+ ds_avail = _avail - sizeof(SPF_data_t); \
ds_len = 0; \
} while(0)
--
2.32.0
 
/trunk/debian/patches/error_results.patch
0,0 → 1,86
From: Sebastian Schweizer <sebastian@schweizer.tel>
Subject: Return header info also in case of missing or multiple SPF records.
Bug: https://bugs.debian.org/806313
Forwarded: https://github.com/shevek/libspf2/pull/9
 
diff --git a/src/libspf2/spf_interpret.c b/src/libspf2/spf_interpret.c
index a35b58c..5f15df4 100644
--- a/src/libspf2/spf_interpret.c
+++ b/src/libspf2/spf_interpret.c
@@ -104,7 +104,6 @@ SPF_i_set_smtp_comment(SPF_response_t *spf_response)
case SPF_RESULT_FAIL:
case SPF_RESULT_SOFTFAIL:
case SPF_RESULT_NEUTRAL:
- case SPF_RESULT_NONE:
err = SPF_i_set_explanation(spf_response);
if (err != SPF_E_SUCCESS)
@@ -126,6 +125,7 @@ SPF_i_set_smtp_comment(SPF_response_t *spf_response)
case SPF_RESULT_PASS:
case SPF_RESULT_TEMPERROR:
case SPF_RESULT_PERMERROR:
+ case SPF_RESULT_NONE:
default:
break;
}
@@ -380,7 +380,7 @@ SPF_i_set_received_spf(SPF_response_t *spf_response)
* This must be called with EITHER
* spf_response->spf_record_exp != NULL
* OR
- * result in { SPF_RESULT_PASS SPF_RESULT_INVALID
+ * result in { SPF_RESULT_NONE SPF_RESULT_PASS SPF_RESULT_INVALID
* SPF_RESULT_TEMPERROR SPF_RESULT_PERMERROR }
* or the library will abort when it tries to generate an explanation.
*/
diff --git a/src/libspf2/spf_server.c b/src/libspf2/spf_server.c
index d648b4e..66beb69 100644
--- a/src/libspf2/spf_server.c
+++ b/src/libspf2/spf_server.c
@@ -361,8 +361,9 @@ retry:
}
spf_response->result = SPF_RESULT_NONE;
spf_response->reason = SPF_REASON_FAILURE;
- return SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
- "Host '%s' not found.", domain);
+ return SPF_i_done(spf_response, SPF_RESULT_NONE, SPF_REASON_FAILURE,
+ SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
+ "Host '%s' not found.", domain));
// break;
case NO_DATA:
@@ -375,8 +376,9 @@ retry:
}
spf_response->result = SPF_RESULT_NONE;
spf_response->reason = SPF_REASON_FAILURE;
- return SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
- "No DNS data for '%s'.", domain);
+ return SPF_i_done(spf_response, SPF_RESULT_NONE, SPF_REASON_FAILURE,
+ SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
+ "No DNS data for '%s'.", domain));
// break;
case TRY_AGAIN:
@@ -453,17 +455,18 @@ retry:
}
spf_response->result = SPF_RESULT_NONE;
spf_response->reason = SPF_REASON_FAILURE;
- return SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
- "No SPF records for '%s'", domain);
+ return SPF_i_done(spf_response, SPF_RESULT_NONE, SPF_REASON_FAILURE,
+ SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
+ "No SPF records for '%s'", domain));
}
if (num_found > 1) {
SPF_dns_rr_free(rr_txt);
// rfc4408 requires permerror here.
- /* XXX This could be refactored with SPF_i_done. */
spf_response->result = SPF_RESULT_PERMERROR;
spf_response->reason = SPF_REASON_FAILURE;
- return SPF_response_add_error(spf_response, SPF_E_MULTIPLE_RECORDS,
- "Multiple SPF records for '%s'", domain);
+ return SPF_i_done(spf_response, SPF_RESULT_PERMERROR, SPF_REASON_FAILURE,
+ SPF_response_add_error(spf_response, SPF_E_MULTIPLE_RECORDS,
+ "Multiple SPF records for '%s'", domain));
}
/* try to compile the SPF record */
/trunk/debian/patches/gcc5-variadicmacros.patch
0,0 → 1,17
--- a/src/include/spf_log.h
+++ b/src/include/spf_log.h
@@ -63,10 +63,10 @@ void SPF_debugv( const char *file, int l
#if defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L
-#define SPF_errorf(format, ... ) SPF_errorx( __FILE__, __LINE__, format, __VA_ARGS__ )
-#define SPF_warningf(format, ... ) SPF_warningx( __FILE__, __LINE__, format, __VA_ARGS__ )
-#define SPF_infof(format, ... ) SPF_infox( __FILE__, __LINE__, format, __VA_ARGS__ )
-#define SPF_debugf(format, ... ) SPF_debugx( __FILE__, __LINE__, format, __VA_ARGS__ )
+#define SPF_errorf(format, ... ) SPF_errorx( __FILE__, __LINE__, format, ##__VA_ARGS__ )
+#define SPF_warningf(format, ... ) SPF_warningx( __FILE__, __LINE__, format, ##__VA_ARGS__ )
+#define SPF_infof(format, ... ) SPF_infox( __FILE__, __LINE__, format, ##__VA_ARGS__ )
+#define SPF_debugf(format, ... ) SPF_debugx( __FILE__, __LINE__, format, ##__VA_ARGS__ )
#elif defined( __GNUC__ )
/trunk/debian/patches/abolish-spf-rrtype.patch
0,0 → 1,16
Description: Stop trying to look up the dedicated SPF DNS RR type,
which was abolished by RFC 7208. The rr_type variable and the all the
"goto retry" commands could be deleted as well, but let's keep the
patch minimal.
 
--- a/src/libspf2/spf_server.c 2012-01-28 09:24:47.000000000 +0100
+++ b/src/libspf2/spf_server.c 2014-06-19 14:09:07.000000000 +0200
@@ -346,7 +346,7 @@
spf_response, spf_recordp);
 
/* I am VERY, VERY sorry about the gotos. Shevek. */
- rr_type = ns_t_spf;
+ rr_type = ns_t_txt;
retry:
rr_txt = SPF_dns_lookup(resolver, domain, rr_type, TRUE);
/trunk/debian/patches/spf_dns-include-std-headers.patch
0,0 → 1,62
Author: Magnus Holmgren <holmgren@debian.org>
Description: Include arpa/nameser.h and netdb.h from spf_dns.h
instead of defining the constants needed unless certain HAVE_ macros are defined.
Updated for libspf2 1.2.8/9 by Scott Kitterman <scott@kitterman.com>
 
--- libspf2-1.2.9~/src/include/spf_dns.h 2008-10-27 12:27:14.000000000 -0400
+++ libspf2-1.2.9/src/include/spf_dns.h 2008-11-04 10:10:58.000000000 -0500
@@ -63,48 +63,19 @@
*
*/
+/* The following two header files might not exist on all platforms,
+ * but at least they exist on Debian with libc6.
+ */
+#include <arpa/nameser.h>
+#include <netdb.h>
/*
- * For those who don't have <arpa/nameserv.h>
+ * Type 99 decl does not exist in Debian libc6 (not even 2.7)
*/
-
-/* XXX This should use a more sensible define. */
-#if !defined( HAVE_NS_TYPE )
-
-#define ns_t_invalid 0
-#define ns_t_a 1
-#define ns_t_ns 2
-#define ns_t_cname 5
-#define ns_t_ptr 12
-#define ns_t_mx 15
-#define ns_t_txt 16
-#define ns_t_aaaa 28
-/* #define ns_t_a6 38 */
-#define ns_t_any 255 /**< Wildcard match. */
-
-typedef int ns_type;
-#endif
-
#if ! HAVE_DECL_NS_T_SPF
#define ns_t_spf 99
#endif
-#if ! HAVE_DECL_NS_T_INVALID
-#define ns_t_invalid 0
-#endif
-
-
-/*
- * For those who don't have <netdb.h>
- */
-
-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
-#define NETDB_SUCCESS 0
-#define HOST_NOT_FOUND 1 /**< NXDOMAIN (authoritative answer)*/
-#define TRY_AGAIN 2 /**< SERVFAIL (no authoritative answer)*/
-#define NO_RECOVERY 3 /**< invalid/unimplmeneted query */
-#define NO_DATA 4 /**< host found, but no RR of req type*/
-#endif
typedef int SPF_dns_stat_t;
typedef struct SPF_dns_server_struct SPF_dns_server_t;
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: trunk/debian/copyright
===================================================================
--- trunk/debian/copyright (nonexistent)
+++ trunk/debian/copyright (revision 108)
@@ -0,0 +1,135 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Source: http://www.libspf2.org/
+Upstream-Contact: Shevek <libspf2@anarres.org>
+License: LGPL-2.1+ or BSD-2-clause
+
+Files: *
+Copyright: ยฉ 2004-2005 Wayne Schlitt and Shevek, ยฉ 2008 Shevek.
+ - Current maintainer: Shevek <libspf2@anarres.org>
+ - Contributors: Magnus Holmgren, Julian Mehnle, Scott Kitterman,
+ Dan Kaminsky, Ben Chelf, Hannah Schroeter, Manish Raje
+ - Original author, 1.0 series: Wayne Schlitt <wayne@schlitt.net>
+License: LGPL-2.1+ or BSD-2-clause
+
+Files: src/spf_example/spf_example.c
+Copyright: Written by Wayne Schlitt and released into the public domain.
+License: public-domain
+ "This program is in the public domain, there is no copyright, you can
+ do anything you want with it."
+
+Files: src/libreplace/__ns_name_uncompress.c src/libreplace/__ns_initparse.c
+Copyright: ยฉ 1996, 1999 Internet Software Consortium
+License: ISC
+ Permission to use, copy, modify, and distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
+ ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
+ CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ SOFTWARE.
+
+Files: src/libreplace/arpa_nameser.h
+Copyright: ยฉ 1983, 1989, 1993 The Regents of the University of California
+License: BSD-4-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+ 4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+Files: src/libreplace/getopt.h src/libreplace/getopt_long_only.c
+Copyright: ยฉ 1987,88,89,90,91,92,93,94,96,97 Free Software Foundation, Inc
+License: LGPL-2+
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License 2.0 can be found in the file `/usr/share/common-licenses/LGPL-2'.
+
+Files: perl/*
+Copyright: ยฉ 2008 Shevek <cpan@anarres.org>
+License: GPL-1+ or Artistic-1
+ This program is free software; you can redistribute it and/or modify
+ it under the same terms as Perl itself.
+ .
+ On Debian systems, the complete text of the GNU General Public
+ License 1.0 can be found in the file
+ `/usr/share/common-licenses/GPL-1'.
+ .
+ On Debian systems, the complete text of the "Artistic License" can be
+ found in the file `/usr/share/common-licenses/Artistic'.
+
+Files: debian/*
+Copyright: ยฉ 2004-2006 Eric Dorland, ยฉ 2007-2013 Magnus Holmgren
+License: LGPL-2.1+ or BSD-2-clause
+Comment: The parts of the Debian packaging that is eligible for
+ copyright is ยฉ 2004-2006 Eric Dorland, 2007-2013 Magnus Holmgren and
+ assumed to be licensed under the same licenses as above.
+
+Files: debian/spfquery.libspf2.1
+Copyright: ยฉ 2007 Magnus Holmgren
+License: BSD-2-clause
+Comment: Giving the LGPL as an alternative is quite redundant as the BSD
+ license is so permissive that it allows redistribution under the LGPL
+ or most other licenses anyway.
+
+License: LGPL-2.1+ or BSD-2-clause
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+ .
+ a) The GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1, or (at your option) any
+ later version,
+ .
+ OR
+ .
+ b) The two-clause BSD license.
+ .
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License 2.1 can be found in the file
+ `/usr/share/common-licenses/LGPL-2.1'.
+ .
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ .
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Index: trunk/debian/rules
===================================================================
--- trunk/debian/rules (nonexistent)
+++ trunk/debian/rules (revision 108)
@@ -0,0 +1,88 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+LIB_PACKAGE = libspf2-2
+
+DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE)
+else
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
+endif
+
+CFLAGS := $(shell dpkg-buildflags --get CFLAGS)
+CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
+LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)
+perlld := $(shell perl -MConfig -e 'print $$Config{ld}')
+
+DEB_LDFLAGS_MAINT_APPEND = -Wl,--version-script=$(CURDIR)/debian/libspf2.ver
+buildflags += $(shell DEB_LDFLAGS_MAINT_APPEND="$(DEB_LDFLAGS_MAINT_APPEND)" \
+ dpkg-buildflags --export=configure)
+
+config.status: configure
+ dh_testdir
+ # Add here commands to configure the package.
+ dh_autoreconf
+ ./configure --prefix=/usr $(buildflags)
+
+build: build-arch
+build-indep:
+build-arch: build-arch-stamp
+build-arch-stamp: config.status
+ dh_testdir
+
+ $(MAKE)
+ cd perl && perl Makefile.PL INSTALLDIRS=vendor \
+ OPTIMIZE="$(CPPFLAGS) $(CFLAGS)" LD="$(perlld) $(CFLAGS) $(LDFLAGS)"
+ $(MAKE) -C perl LD_RUN_PATH=
+
+ touch "$@"
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-arch-stamp
+
+ [ ! -f Makefile ] || $(MAKE) distclean
+ [ ! -f perl/Makefile ] || $(MAKE) -C perl realclean
+
+ dh_autoreconf_clean
+ dh_clean
+
+install: build-arch
+ dh_testdir
+ dh_testroot
+ dh_prep
+
+ $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
+ $(MAKE) -C perl install DESTDIR=$(CURDIR)/debian/tmp
+
+binary-arch: install
+ dh_testdir
+ dh_testroot
+ dh_install -a
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+ dh_installdocs -a --link-doc=$(LIB_PACKAGE)
+ dh_installchangelogs -a
+ dh_installman -a
+ dh_strip -a --dbgsym-migration="$(LIB_PACKAGE)-dbg (<< 1.2.10-8)"
+ dh_perl -a
+ dh_compress -a
+ dh_fixperms -a
+ dh_makeshlibs -V '$(LIB_PACKAGE) (>= 1.2.8~)'
+ dh_installdeb -a
+ dh_shlibdeps -a
+ dh_gencontrol -a
+ dh_md5sums -a
+ dh_builddeb -a
+
+binary: binary-arch
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.10.tar.gz
+
+.PHONY: build build-indep build-arch clean clean-patched binary-indep binary-arch binary install get-orig-source
/trunk/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: trunk/debian/libmail-spf-xs-perl.install
===================================================================
--- trunk/debian/libmail-spf-xs-perl.install (nonexistent)
+++ trunk/debian/libmail-spf-xs-perl.install (revision 108)
@@ -0,0 +1,5 @@
+#!/usr/bin/perl -w
+use Config;
+print <<"" =~ s!^/!!rgm;
+$Config{vendorarch}
+usr/share/man/man3/*.3pm
/trunk/debian/libmail-spf-xs-perl.install
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: trunk/debian/spfquery.libspf2.1
===================================================================
--- trunk/debian/spfquery.libspf2.1 (nonexistent)
+++ trunk/debian/spfquery.libspf2.1 (revision 108)
@@ -0,0 +1,197 @@
+.\" Title: SPFQUERY
+.\" Author: Magnus Holmgren <holmgren@debian.org>
+.\" Date: 2007-09-06
+.\" Manual: libspf2 manuals for Debian
+.\" Source: libspf2 1.2.5
+.\"
+.TH "SPFQUERY" "1" "2007-09-06" "libspf2 1.2.5" "libspf2 manuals for Debian"
+.\" disable hyphenation
+.nh
+.SH NAME
+spfquery, spfquery.libspf2 \- checks if an IP address is an SPF-authorized SMTP sender for a domain.
+.SH SYNOPSIS
+.ad l
+.HP 9
+.B spfquery
+.RB { \-i | \-\-ip }
+.I ip\-address
+.RB { -s | \-\-sender }
+.RI [ local-part \fB@\fP] domain
+.RB [{ \-h | \-\-helo }
+.IR domain-name ]
+.RB [ \-\-rcpt\-to
+.IR email-address(es) ]
+.RI [ CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-f | \-\-file }
+.IR datafile " [" CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-\-help | \-v | \-\-version }
+.ad b
+.SH DESCRIPTION
+This manual page documents briefly the
+\fBspfquery\fR
+command. It was written for the
+Debian\*[R] distribution because the original program does not have a manual page.
+.PP
+\fBspfquery\fR performs Sender Policy Framework (SPF) authorization
+checks based on the command-line arguments or data given in a file or
+on standard input. For information on SPF see http://www.openspf.org.
+.
+.SH OPTIONS
+Options are divided into two groups: Data options, which must be
+given, though just enough of them to specify a query; and control
+options, which are optional and control the local policy, behaviour
+and output format of spfquery.
+.PP
+This programs follows the GNU \fBgetopt_long_only\fR(3) command line
+syntax: Long options can be given with one or two dashes and can be
+abbreviated to a prefix long enough to be non-ambiguous. If an option
+starting with a single dash doesn't match a long option, it is taken
+as a short option with a following parameter, if applicable. An equals
+sign between the option name and the parameter is optional for both
+short and long options.
+.SS Data options
+The
+\fB\-\-file\fR option conflicts with all the other data options. The
+\fB\-\-helo\fR and \fB\-\-rcpt\-to\fR are optional.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfilename\fR
+Read SPF data from \fIfilename\fR. Specify \(lq-\(rq to read from standard input.
+.sp
+The file should consist of one line per query, each query line consisting of the IP address, sender adress, and optional HELO string, separated by spaces.
+.sp
+\fBNote\fP
+Local parts containing spaces are currently not supported.
+.TP
+\fB\-i\fP, \fB\-\-ip\fP \fIip-address\fP
+Specify the IP address of the remote host that is delivering the mail.
+.TP
+\fB\-s\fP, \fB\-\-sender\fP [\fIlocal-part\fP\fB@\fP]\fIdomain\fP
+Specify the email address that was used as the envelope sender. If no
+username (local part) is given, \(lqpostmaster\(rq will be assumed.
+.TP
+\fB\-h\fP, \fB\-\-helo\fP \fIdomain-name\fP
+Specify that \fIdomain-name\fP was provided in the SMTP HELO (or EHLO) command.
+.TP
+\fB\-r\fP, \fB\-\-rcpt-to\fP \fIrcpt-address\fP[,\fIrcpt-address\fP,...]
+Specify the recipients as comma-separated list. Any secondary mail exchangers of all
+recipient domains are automatically authorized.
+.
+.SS Control options
+.TP
+\fB\-d\fP, \fB\-\-debug\fP[\fB=\fP\fIlevel\fP]
+Turn on debugging output.
+.TP
+\fB\-l\fP, \fB\-\-local\fP \fIspf\-terms\fP
+Test against \fIspf\-terms\fR before the final (implicit or explicit)
+\(lqall\(rq in an SPF record. This can be used to implement a local policy for whitelisting.
+.TP
+\fB\-t, \fB\-\-trusted\fR [\fB1\fR]
+Check the sender domain with trusted\-forwarder.org.
+\fBThis is a non\-standard feature.\fR
+.TP
+\fB\-t\fP \fB0\fP, \fB\-\-trusted\fR \fB0\fP
+Do not check the sender domain with trusted\-forwarder.org. This is the default.
+.TP
+\fB\-g\fP, \fB\-\-guess\fP \fIspf-mechanisms\fP
+Test the sender domain against \fIspf\-mechanisms\fP if the domain has no SPF record.
+.TP
+\fB\-e\fP, \fB\-\-default\-explanation\fP \fIstring\fP
+Default explanation string to use if the SPF record does not specify an expla\%nation string itself.
+.TP
+\fB\-m\fP, \fB\-\-max\-lookup\fP \fInumber\fP
+Maximum number of DNS lookups to allow.
+.TP
+\fB\-c\fP, \fB\-\-sanitize\fP [\fB0\fP|\fB1\fP]
+Do [not] sanitize the output by condensing conse\%cutive white\%space
+into a single space and replacing non-printable characters with
+question marks. Enabled by default.
+.TP
+\fB\-n\fP, \fB\-\-name\fP \fIhostname\fP
+Use
+\fIhostname\fP
+as the name of the local system instead of
+\(lqspfquery\(rq
+(the name is used in the output).
+.TP
+\fB\-k\fP, \fB\-\-keep\-comments\fP
+Print comments found when reading from a file.
+.TP
+\fB\-a\fP, \fB\-\-override\fP \fI...\fP
+.TP
+\fB\-z\fP, \fB\-\-fallback\fP \fI...\fP
+Provide override and fallback SPF records for certain domains.
+\fBNot implemented yet.\fP
+\fBspfquery\fP
+would act as if the speci\%fied records were present before and after any existing record, respectively, of those domains.
+.TP
+\fB\-\-help\fP
+Show summary of options.
+.TP
+\fB\-v\fP, \fB\-\-version\fP
+Show version of program.
+.SH DIAGNOSTICS
+The output ordinarily consists of four lines:
+.IP 1. 4
+the \fIresult code\fP;
+.IP 2. 4
+the \fIexplanation\fP, suitable for use in an SMTP response message, empty
+except when a rejection (permanent or temporary) makes sense;
+.IP 3. 4
+the header comment on its own;
+.IP 4. 4
+the Received\-SPF header field as defined in RFC 4408 section 7,
+incorporating the header comment.
+.PP
+If errors (including no SPF record found!) occur during processing,
+one or more error blocks will be prepended.
+These start with \(lqStartError\(lq and end with \(lqEndError\(lq.
+.PP
+The result codes and their corresponding exit codes are as follows:
+.TP
+.B 1 \(en neutral
+The sender domain explicitly makes no assertion about the \fIip-address\fP.
+This result must be interpreted exactly as if no SPF record at all existed.
+.TP
+.B 2 \(en pass
+The \fIip-address\fP is authorized to send mail for the sender domain.
+.TP
+.B 3 \(en fail
+The \fIip-address\fP is \fBunauthorized\fP to send mail for the sender domain.
+.TP
+.B 4 \(en softfail
+The \fIip-address\fP is not authorized to send mail for the sender domain, but
+the sender domain cannot or does not wish to make a strong assertion that no such mail can
+ever come from it.
+.TP
+.B 5 \(en none
+No SPF record was found.
+.TP
+.BR "6 \(en error" " (temporary)"
+A transient error occurred (e.g. failure to reach a DNS server), preventing a
+result from being reached.
+.TP
+.BR "7 \(en unknown" " (permanent error)"
+One or more SPF records could not be interpreted.
+.SH EXAMPLES
+.nf
+spfquery \-ip=11.22.33.44 \-sender=user@aol.com \-helo=spammer.tld
+spfquery \-f test_data
+echo "127.0.0.1 myname@mydomain.com helohost.com" | spfquery \-f \-
+.fi
+.SH SEE ALSO
+\fBspftest\fR(1), \fBspfd\fR(8)
+.SH AUTHOR
+\fBspfquery\fP was written by Wayne Schlitt.
+.PP
+This manual page was written by Magnus Holmgren for the Debian\*[R]
+system (but may be used by others). Heavily inspired by the spfquery manpage of
+libmail\-spf\-query\-perl (\fBspfquery.mail\-spf\-query\-perl\fR(1)) by Julian Mehnle.
+Also based on the command\-line help of spfquery.
+.SH COPYRIGHT
+Copyright \(co 2007 Magnus Holmgren. Permission is granted to copy,
+distribute and/or modify this document under the terms of the two-clause BSD
+License. See /usr/share/doc/spfquery/copyright.
Index: trunk/debian/libspf2-2.symbols
===================================================================
--- trunk/debian/libspf2-2.symbols (nonexistent)
+++ trunk/debian/libspf2-2.symbols (revision 108)
@@ -0,0 +1,113 @@
+libspf2.so.2 libspf2-2 #MINVER#
+ SPF_debug_handler@Base 0
+ SPF_debug_stdio@Base 0
+ SPF_debug_syslog@Base 0
+ SPF_debugv@Base 0
+ SPF_debugx2@Base 0
+ SPF_debugx@Base 0
+ SPF_dns_cache_new@Base 0
+ SPF_dns_cache_set_ttl@Base 0
+ SPF_dns_free@Base 0
+ SPF_dns_get_client_dom@Base 0
+ SPF_dns_lookup@Base 0
+ SPF_dns_null_new@Base 0
+ SPF_dns_resolv_new@Base 0
+ SPF_dns_rlookup6@Base 0
+ SPF_dns_rlookup@Base 0
+ SPF_dns_rr_buf_realloc@Base 0
+ SPF_dns_rr_dup@Base 0
+ SPF_dns_rr_free@Base 0
+ SPF_dns_rr_new@Base 0
+ SPF_dns_rr_new_init@Base 0
+ SPF_dns_rr_new_nxdomain@Base 0
+ SPF_dns_set_conserve_cache@Base 0
+ SPF_dns_test_new@Base 0
+ SPF_dns_zone_add_str@Base 0
+ SPF_dns_zone_new@Base 0
+ SPF_error_code@Base 0
+ SPF_error_errorp@Base 0
+ SPF_error_handler@Base 0
+ SPF_error_message@Base 0
+ SPF_error_stdio@Base 0
+ SPF_error_syslog@Base 0
+ SPF_errorv@Base 0
+ SPF_errorx2@Base 0
+ SPF_errorx@Base 0
+ SPF_get_lib_version@Base 0
+ SPF_i_done@Base 0
+ SPF_info_handler@Base 0
+ SPF_info_stdio@Base 0
+ SPF_info_syslog@Base 0
+ SPF_infov@Base 0
+ SPF_infox2@Base 0
+ SPF_infox@Base 0
+ SPF_macro_free@Base 0
+ SPF_record_compile@Base 0
+ SPF_record_compile_macro@Base 0
+ SPF_record_expand_data@Base 0
+ SPF_record_find_mod_value@Base 0
+ SPF_record_free@Base 0
+ SPF_record_interpret@Base 0
+ SPF_record_new@Base 0
+ SPF_record_print@Base 0
+ SPF_record_stringify@Base 0
+ SPF_request_free@Base 0
+ SPF_request_get_client_dom@Base 0
+ SPF_request_get_exp@Base 0
+ SPF_request_get_rec_dom@Base 0
+ SPF_request_is_loopback@Base 0
+ SPF_request_new@Base 0
+ SPF_request_query_fallback@Base 0
+ SPF_request_query_mailfrom@Base 0
+ SPF_request_query_rcptto@Base 0
+ SPF_request_set_env_from@Base 0
+ SPF_request_set_helo_dom@Base 0
+ SPF_request_set_ipv4@Base 0
+ SPF_request_set_ipv4_str@Base 0
+ SPF_request_set_ipv6@Base 0
+ SPF_request_set_ipv6_str@Base 0
+ SPF_response_add_error@Base 0
+ SPF_response_add_error_idx@Base 0
+ SPF_response_add_error_ptr@Base 0
+ SPF_response_add_warn@Base 0
+ SPF_response_add_warn_idx@Base 0
+ SPF_response_add_warn_ptr@Base 0
+ SPF_response_combine@Base 0
+ SPF_response_errcode@Base 0
+ SPF_response_errors@Base 0
+ SPF_response_free@Base 0
+ SPF_response_get_explanation@Base 0
+ SPF_response_get_header_comment@Base 0
+ SPF_response_get_received_spf@Base 0
+ SPF_response_get_received_spf_value@Base 0
+ SPF_response_get_smtp_comment@Base 0
+ SPF_response_message@Base 0
+ SPF_response_messages@Base 0
+ SPF_response_new@Base 0
+ SPF_response_reason@Base 0
+ SPF_response_result@Base 0
+ SPF_response_warnings@Base 0
+ SPF_server_free@Base 0
+ SPF_server_get_max_dns_mech@Base 0
+ SPF_server_get_max_dns_mx@Base 0
+ SPF_server_get_max_dns_ptr@Base 0
+ SPF_server_get_record@Base 0
+ SPF_server_new@Base 0
+ SPF_server_new_dns@Base 1.2.8~
+ SPF_server_set_explanation@Base 0
+ SPF_server_set_localpolicy@Base 0
+ SPF_server_set_max_dns_mech@Base 0
+ SPF_server_set_max_dns_mx@Base 0
+ SPF_server_set_max_dns_ptr@Base 0
+ SPF_server_set_rec_dom@Base 0
+ SPF_server_set_sanitize@Base 0
+ SPF_strerror@Base 0
+ SPF_strreason@Base 0
+ SPF_strresult@Base 0
+ SPF_strrrtype@Base 1.2.8~
+ SPF_warning_handler@Base 0
+ SPF_warning_stdio@Base 0
+ SPF_warning_syslog@Base 0
+ SPF_warningv@Base 0
+ SPF_warningx2@Base 0
+ SPF_warningx@Base 0
Index: trunk/debian/libspf2.ver
===================================================================
--- trunk/debian/libspf2.ver (nonexistent)
+++ trunk/debian/libspf2.ver (revision 108)
@@ -0,0 +1,16 @@
+{
+global:
+ SPF_*;
+ main;
+ __libc_csu_*;
+ _init;
+ _fini;
+ _IO_stdin_used;
+ _DYNAMIC_LINKING;
+ __RLD_MAP;
+local:
+ SPF_recalloc;
+ SPF_sanitize;
+ SPF_print_sizeof;
+ *;
+};
Index: trunk/debian/spfquery.postinst
===================================================================
--- trunk/debian/spfquery.postinst (nonexistent)
+++ trunk/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,25 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25 \
+ --slave /usr/share/man/man1/spfquery.1.gz spfquery.1.gz /usr/share/man/man1/spfquery.$source_package.1.gz
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/spfquery"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
Index: trunk/debian/libspf2-dev.postinst
===================================================================
--- trunk/debian/libspf2-dev.postinst (nonexistent)
+++ trunk/debian/libspf2-dev.postinst (revision 108)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/libspf2-dev"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Index: trunk/debian/docs
===================================================================
--- trunk/debian/docs (nonexistent)
+++ trunk/debian/docs (revision 108)
@@ -0,0 +1,2 @@
+README
+TODO
Index: trunk/debian/README.Debian
===================================================================
--- trunk/debian/README.Debian (nonexistent)
+++ trunk/debian/README.Debian (revision 108)
@@ -0,0 +1,11 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+ -- Magnus Holmgren <holmgren@debian.org>, Mon, 14 Sep 2009 22:33:12 +0200
Index: trunk/debian/source/format
===================================================================
--- trunk/debian/source/format (nonexistent)
+++ trunk/debian/source/format (revision 108)
@@ -0,0 +1 @@
+3.0 (quilt)
Index: trunk/debian/libspf2-dev.install
===================================================================
--- trunk/debian/libspf2-dev.install (nonexistent)
+++ trunk/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,3 @@
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.so
Index: trunk/debian/spfquery.install
===================================================================
--- trunk/debian/spfquery.install (nonexistent)
+++ trunk/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+usr/bin/spfquery
+usr/bin/spftest
+usr/bin/spf_example
+usr/bin/spfd usr/sbin
Index: trunk/debian/libspf2-2.install
===================================================================
--- trunk/debian/libspf2-2.install (nonexistent)
+++ trunk/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+usr/lib/lib*.so.*
Index: trunk/debian/spfquery.manpages
===================================================================
--- trunk/debian/spfquery.manpages (nonexistent)
+++ trunk/debian/spfquery.manpages (revision 108)
@@ -0,0 +1 @@
+debian/spfquery.libspf2.1
Index: trunk/debian/watch
===================================================================
--- trunk/debian/watch (nonexistent)
+++ trunk/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: trunk/debian/spfquery.prerm
===================================================================
--- trunk/debian/spfquery.prerm (nonexistent)
+++ trunk/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: trunk/debian
===================================================================
--- trunk/debian (nonexistent)
+++ trunk/debian (revision 108)
/trunk/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: branches/bullseye/debian/changelog
===================================================================
--- branches/bullseye/debian/changelog (nonexistent)
+++ branches/bullseye/debian/changelog (revision 108)
@@ -0,0 +1,355 @@
+libspf2 (1.2.10-7.1~deb11u1) bullseye-security; urgency=high
+
+ * Non-maintainer upload by the Security Team.
+ * Rebuild for bullseye-security.
+
+ -- Salvatore Bonaccorso <carnil@debian.org> Sun, 08 Aug 2021 14:05:13 +0200
+
+libspf2 (1.2.10-7.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * spf_compile.c: Correct size of ds_avail (CVE-2021-20314)
+ * Sanity check for sprintf
+ * Fixed 'reverse' macro modifier
+
+ -- Salvatore Bonaccorso <carnil@debian.org> Sun, 08 Aug 2021 13:46:49 +0200
+
+libspf2 (1.2.10-7) unstable; urgency=low
+
+ * error_results.patch: Return information to use in the mail header and
+ such when no or multiple SPF records exist (Closes: #806313). Thanks
+ to Sebastian Schweizer <sebastian@schweizer.tel>.
+ * Bump Standards-Version to 3.9.7.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 25 Mar 2016 17:51:50 +0100
+
+libspf2 (1.2.10-6) unstable; urgency=medium
+
+ * gcc5-variadicmacros.patch: Fix syntax error with variadic macro with
+ no variable argument when compiling with GCC 5 (Closes: #777974).
+ * Rearrange debian/copyright to comply with the machine-readable format
+ specification.
+
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 25 Jun 2015 22:26:05 +0200
+
+libspf2 (1.2.10-5) unstable; urgency=low
+
+ * abolish-spf-rrtype.patch: Stop trying to look up the dedicated SPF DNS
+ RR type, which was abolished by RFC 7208 (Closes: #764533).
+ * Bump Standards-Version to 3.9.6.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 12 Oct 2014 21:18:33 +0200
+
+libspf2 (1.2.10-4) unstable; urgency=low
+
+ * Upgrade to Debhelper compat level 9, in order to:
+ * Handle variable vendorarch installation directory (Closes: #752712),
+ by making debian/libmail-spf-xs-perl.install executable.
+ * Bump Standards-Version to 3.9.5.
+ * debian/rules: Update URL in get-orig-source target (a year late).
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 05 Jul 2014 22:19:51 +0200
+
+libspf2 (1.2.10-3) unstable; urgency=low
+
+ * Merge changes from Ubuntu (Closes: #734224).
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 01 Feb 2014 14:51:57 +0100
+
+libspf2 (1.2.10-2ubuntu1) trusty; urgency=medium
+
+ * Use dh-autoreconf instead of autotools-dev to also fix FTBFS on ppc64el by
+ getting new libtool macros (still updates config.{sub,guess}).
+
+ -- Logan Rosen <logan@ubuntu.com> Fri, 03 Jan 2014 15:56:24 -0500
+
+libspf2 (1.2.10-2) unstable; urgency=low
+
+ * Convert debian/copyright to machine-readable format and update
+ copyright info including details on files in src/libreplace.
+ * debian/spfquery.libspf2.1: Change license to 2-clause BSD, as was
+ intended from the beginning.
+
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 12 Aug 2013 12:07:40 +0200
+
+libspf2 (1.2.10-1) unstable; urgency=low
+
+ * New upstream release.
+ * Drop ipv6-bugs.patch and private-glibc-functions.patch; incorporated
+ upstream.
+ * Hide additional internal symbols from the dynamic table.
+ * Build and include the Perl XS module.
+ * Bump Standards-Version to 3.9.4.
+
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 13 Jun 2013 23:58:12 +0200
+
+libspf2 (1.2.9-7) unstable; urgency=high
+
+ * Add postinst scripts that replace old documentation directories (from
+ before 1.2.9-5) in libspf2-dev, libspf2-2-dbg and spfquery with
+ symlinks (Closes: #687862, #687863, #687864). Thanks to Salvatore
+ Bonaccorso <carnil@debian.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 23 Sep 2012 21:25:43 +0200
+
+libspf2 (1.2.9-6) unstable; urgency=low
+
+ * Rename ipv6-buffer-miscalculation.patch ipv6-bugs.patch. Include
+ the following small IPv6-related patches from FreeBSD:
+ * patch-src_libspf2_spf__compile.c
+ * patch-src_libspf2_spf__interpret.c
+ Already included was patch-src_libspf2_spf__expand.c.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 22 Jan 2012 22:45:04 +0100
+
+libspf2 (1.2.9-5) unstable; urgency=low
+
+ * Convert package to source format 3.0 (quilt).
+ * Include text of BSD license in debian/copyright, as is now preferred.
+ * Switch from CDBS to classic Debhelper, getting build flags from
+ dpkg-buildflags "by hand".
+ * Increase Debhelper compat level to 7.
+ * Put docs in libspf2-2 and replace the other packages' doc directories
+ with symlinks to that one.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 11 Nov 2011 22:13:50 +0100
+
+libspf2 (1.2.9-4) unstable; urgency=low
+
+ * Drop obsolete README.Debian-source; move non-obsolete info to
+ libspf2-dev.README.Debian.
+ * debian/libspf2.ver: Explicitly unhide certain special symbols that
+ became hidden on the mips and mipsel architectures but nowhere else,
+ causing a FTBFS.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 03 Oct 2009 21:29:19 +0200
+
+libspf2 (1.2.9-3) unstable; urgency=high
+
+ * ipv6_buffer_miscalculation.dpatch: Fix an abort() caused by
+ miscalculating the size of an internal buffer when mail is received
+ over IPv6. Thanks to Matthias Scheler <tron@netbsd.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 13 Sep 2009 20:23:22 +0200
+
+libspf2 (1.2.9-2) unstable; urgency=low
+
+ * debian/rules: Correct version.
+ * 01_private_glib_functions.dpatch: Avoid linking private glibc
+ functions.
+ * Simplify debian/*.install and exclude the libtool .la file from the
+ -dev package. Set DEB_DH_INSTALL_SOURCEDIR accordingly.
+ * Add ${misc:Depends} to Depends.
+ * Add debug package.
+ * Use ld version script to hide internal symbols.
+ * Bump Standards-Version to 3.8.3.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 25 Aug 2009 00:15:01 +0200
+
+libspf2 (1.2.9-1) unstable; urgency=high
+
+ * New upstream release.
+ - Drops non-dfsg Free IETF internet draft, so tarball no longer needs
+ repacking
+ + Fixes exploitable buffer overflow (LP: #287534)
+ + Multiple fixes for improved RFC 4408 compliance
+ + Update libspf2-2.symbols for new symbol
+ + 20_spf_dns_include_std_headers.dpatch: Updated.
+ * Thanks to Scott Kitterman.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 04 Nov 2008 21:14:31 +0100
+
+libspf2 (1.2.8~dfsg-1) unstable; urgency=low
+
+ * Merge changes from Ubuntu.
+ * Fix and tweak library dependency information (shlibs as well as
+ symbols).
+ * Upgrade to Standards-Version: 3.8.0. Changes needed:
+ + Add debian/README.source (ยง 4.9).
+ * Bring debian/copyright a bit more up-to-date.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 02 Nov 2008 12:29:51 +0100
+
+libspf2 (1.2.8~dfsg-0ubuntu1) intrepid; urgency=low
+
+ * New upstream release (LP: #283920)
+ - Fixes multiple memory leaks
+ - CVE2008-2469 buffer overflows
+ - Adds new documentation
+ - Drop all patches except 20_spf_dns_include_std_headers.dpatch (included
+ upstream)
+ - Freshen 20_spf_dns_include_std_headers.dpatch
+ - Update debian/rules for new release
+ * Repack tarball to remove non-DFSG Free IETF draft
+ * Added debian/libspf2-2.symbols and updated for new version
+ * Drop README.Debian since it no longer applies.
+
+ -- Scott Kitterman <scott@kitterman.com> Sun, 19 Oct 2008 01:00:13 -0400
+
+libspf2 (1.2.5.dfsg-5) unstable; urgency=low
+
+ * 43_new_explanation_url.dpatch: Bring default explanation up to date by
+ referring to www.openspf.org instead of spf.pobox.com.
+ * Add spfquery(1) manpage.
+ * Fix format of copyright notice in debian/copyright.
+ * Move upstream homepage URL to the new Homepage control field, rename
+ VCS control fields, and update Standards-Version.
+ * A few cosmetic adjustments including fixing the indentation of the
+ 1.2.5.dfsg-3 entry below (Closes: #465466).
+ * New maintainer email address.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 18 Apr 2008 17:51:28 +0200
+
+libspf2 (1.2.5.dfsg-4) unstable; urgency=low
+
+ * Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
+ (Closes: #440147). Thanks to Matthias Cramer.
+ * 35_untabify_help.dpatch: Make --help output of utilities less ugly by
+ converting tabs to spaces.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
+
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: branches/bullseye/debian/patches/Fixed-reverse-macro-modifier.patch
===================================================================
--- branches/bullseye/debian/patches/Fixed-reverse-macro-modifier.patch (nonexistent)
+++ branches/bullseye/debian/patches/Fixed-reverse-macro-modifier.patch (revision 108)
@@ -0,0 +1,51 @@
+From: Nathaniel <me@nathanielbennett.com>
+Date: Tue, 8 Jun 2021 20:02:52 -0400
+Subject: Fixed 'reverse' macro modifier
+Origin: https://github.com/shevek/libspf2/commit/f06fef6cede4c4cb42f2c617496e6041782d7070
+
+---
+ src/libspf2/spf_expand.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/libspf2/spf_expand.c b/src/libspf2/spf_expand.c
+index 25689da11e84..f93005d26f44 100644
+--- a/src/libspf2/spf_expand.c
++++ b/src/libspf2/spf_expand.c
+@@ -86,7 +86,7 @@ SPF_record_expand_data(SPF_server_t *spf_server,
+ {
+ SPF_data_t *d, *data_end;
+
+- size_t len;
++ size_t len, label_len;
+ const char *p_err; // XXX Check this value, when returned.
+ char *p, *p_end;
+ const char *p_read;
+@@ -300,9 +300,9 @@ top:
+ if ( SPF_delim_valid(d, *p_read) ) {
+ /* Subtract 1 because p_read points to delim, and
+ * p_read_end points to the following delim. */
+- len = p_read_end - p_read - 1;
+- memcpy( p_write, p_read + 1, len );
+- p_write += len;
++ label_len = p_read_end - p_read - 1;
++ memcpy( p_write, p_read + 1, label_len );
++ p_write += label_len;
+ *p_write++ = '.';
+
+ p_read_end = p_read;
+@@ -314,9 +314,9 @@ top:
+ * string. p_read_end might also point there if the string
+ * starts with a delimiter. */
+ if (p_read_end >= p_read) {
+- len = p_read_end - p_read - 1;
+- memcpy( p_write, p_read + 1, len );
+- p_write += len;
++ label_len = p_read_end - p_read - 1;
++ memcpy( p_write, p_read + 1, label_len );
++ p_write += label_len;
+ *p_write++ = '.';
+ }
+
+--
+2.20.1
+
Index: branches/bullseye/debian/patches/Sanity-check-for-sprintf.patch
===================================================================
--- branches/bullseye/debian/patches/Sanity-check-for-sprintf.patch (nonexistent)
+++ branches/bullseye/debian/patches/Sanity-check-for-sprintf.patch (revision 108)
@@ -0,0 +1,28 @@
+From: Nathaniel <me@nathanielbennett.com>
+Date: Tue, 8 Jun 2021 06:43:29 -0400
+Subject: Sanity check for sprintf
+Origin: https://github.com/shevek/libspf2/commit/28faf4624a6a371b11afdb9820078d3b0ee3803d
+
+---
+ src/libspf2/spf_expand.c | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/libspf2/spf_expand.c b/src/libspf2/spf_expand.c
+index e7f5a26f3e1b..25689da11e84 100644
+--- a/src/libspf2/spf_expand.c
++++ b/src/libspf2/spf_expand.c
+@@ -398,10 +398,7 @@ top:
+ break;
+
+ default:
+- /* No point doing snprintf with a const '4'
+- * because we know we're going to get 4
+- * characters anyway. */
+- sprintf( p_write, "%%%02x", *p_read );
++ snprintf( p_write, 4, "%%%02x", (unsigned char) *p_read );
+ p_write += 3;
+ p_read++;
+ break;
+--
+2.20.1
+
Index: branches/bullseye/debian/patches/series
===================================================================
--- branches/bullseye/debian/patches/series (nonexistent)
+++ branches/bullseye/debian/patches/series (revision 108)
@@ -0,0 +1,7 @@
+spf_dns-include-std-headers.patch
+abolish-spf-rrtype.patch
+gcc5-variadicmacros.patch
+error_results.patch
+spf_compile.c-Correct-size-of-ds_avail.patch
+Sanity-check-for-sprintf.patch
+Fixed-reverse-macro-modifier.patch
Index: branches/bullseye/debian/patches/spf_compile.c-Correct-size-of-ds_avail.patch
===================================================================
--- branches/bullseye/debian/patches/spf_compile.c-Correct-size-of-ds_avail.patch (nonexistent)
+++ branches/bullseye/debian/patches/spf_compile.c-Correct-size-of-ds_avail.patch (revision 108)
@@ -0,0 +1,26 @@
+From: Shevek <shevek@anarres.org>
+Date: Sat, 5 Jun 2021 21:39:04 -0700
+Subject: spf_compile.c: Correct size of ds_avail.
+Origin: https://github.com/shevek/libspf2/commit/c37b7c13c30e225183899364b9f2efdfa85552ef
+Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2021-20314
+
+---
+ src/libspf2/spf_compile.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libspf2/spf_compile.c b/src/libspf2/spf_compile.c
+index ff02f8718b30..b08ffe204eba 100644
+--- a/src/libspf2/spf_compile.c
++++ b/src/libspf2/spf_compile.c
+@@ -455,7 +455,7 @@ SPF_c_parse_var(SPF_response_t *spf_response, SPF_data_var_t *data,
+ /* Magic numbers for x/Nc in gdb. */ \
+ data->ds.__unused0 = 0xba; data->ds.__unused1 = 0xbe; \
+ dst = SPF_data_str( data ); \
+- ds_avail = _avail; \
++ ds_avail = _avail - sizeof(SPF_data_t); \
+ ds_len = 0; \
+ } while(0)
+
+--
+2.32.0
+
Index: branches/bullseye/debian/patches/error_results.patch
===================================================================
--- branches/bullseye/debian/patches/error_results.patch (nonexistent)
+++ branches/bullseye/debian/patches/error_results.patch (revision 108)
@@ -0,0 +1,86 @@
+From: Sebastian Schweizer <sebastian@schweizer.tel>
+Subject: Return header info also in case of missing or multiple SPF records.
+Bug: https://bugs.debian.org/806313
+Forwarded: https://github.com/shevek/libspf2/pull/9
+
+diff --git a/src/libspf2/spf_interpret.c b/src/libspf2/spf_interpret.c
+index a35b58c..5f15df4 100644
+--- a/src/libspf2/spf_interpret.c
++++ b/src/libspf2/spf_interpret.c
+@@ -104,7 +104,6 @@ SPF_i_set_smtp_comment(SPF_response_t *spf_response)
+ case SPF_RESULT_FAIL:
+ case SPF_RESULT_SOFTFAIL:
+ case SPF_RESULT_NEUTRAL:
+- case SPF_RESULT_NONE:
+
+ err = SPF_i_set_explanation(spf_response);
+ if (err != SPF_E_SUCCESS)
+@@ -126,6 +125,7 @@ SPF_i_set_smtp_comment(SPF_response_t *spf_response)
+ case SPF_RESULT_PASS:
+ case SPF_RESULT_TEMPERROR:
+ case SPF_RESULT_PERMERROR:
++ case SPF_RESULT_NONE:
+ default:
+ break;
+ }
+@@ -380,7 +380,7 @@ SPF_i_set_received_spf(SPF_response_t *spf_response)
+ * This must be called with EITHER
+ * spf_response->spf_record_exp != NULL
+ * OR
+- * result in { SPF_RESULT_PASS SPF_RESULT_INVALID
++ * result in { SPF_RESULT_NONE SPF_RESULT_PASS SPF_RESULT_INVALID
+ * SPF_RESULT_TEMPERROR SPF_RESULT_PERMERROR }
+ * or the library will abort when it tries to generate an explanation.
+ */
+diff --git a/src/libspf2/spf_server.c b/src/libspf2/spf_server.c
+index d648b4e..66beb69 100644
+--- a/src/libspf2/spf_server.c
++++ b/src/libspf2/spf_server.c
+@@ -361,8 +361,9 @@ retry:
+ }
+ spf_response->result = SPF_RESULT_NONE;
+ spf_response->reason = SPF_REASON_FAILURE;
+- return SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
+- "Host '%s' not found.", domain);
++ return SPF_i_done(spf_response, SPF_RESULT_NONE, SPF_REASON_FAILURE,
++ SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
++ "Host '%s' not found.", domain));
+ // break;
+
+ case NO_DATA:
+@@ -375,8 +376,9 @@ retry:
+ }
+ spf_response->result = SPF_RESULT_NONE;
+ spf_response->reason = SPF_REASON_FAILURE;
+- return SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
+- "No DNS data for '%s'.", domain);
++ return SPF_i_done(spf_response, SPF_RESULT_NONE, SPF_REASON_FAILURE,
++ SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
++ "No DNS data for '%s'.", domain));
+ // break;
+
+ case TRY_AGAIN:
+@@ -453,17 +455,18 @@ retry:
+ }
+ spf_response->result = SPF_RESULT_NONE;
+ spf_response->reason = SPF_REASON_FAILURE;
+- return SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
+- "No SPF records for '%s'", domain);
++ return SPF_i_done(spf_response, SPF_RESULT_NONE, SPF_REASON_FAILURE,
++ SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
++ "No SPF records for '%s'", domain));
+ }
+ if (num_found > 1) {
+ SPF_dns_rr_free(rr_txt);
+ // rfc4408 requires permerror here.
+- /* XXX This could be refactored with SPF_i_done. */
+ spf_response->result = SPF_RESULT_PERMERROR;
+ spf_response->reason = SPF_REASON_FAILURE;
+- return SPF_response_add_error(spf_response, SPF_E_MULTIPLE_RECORDS,
+- "Multiple SPF records for '%s'", domain);
++ return SPF_i_done(spf_response, SPF_RESULT_PERMERROR, SPF_REASON_FAILURE,
++ SPF_response_add_error(spf_response, SPF_E_MULTIPLE_RECORDS,
++ "Multiple SPF records for '%s'", domain));
+ }
+
+ /* try to compile the SPF record */
Index: branches/bullseye/debian/patches/gcc5-variadicmacros.patch
===================================================================
--- branches/bullseye/debian/patches/gcc5-variadicmacros.patch (nonexistent)
+++ branches/bullseye/debian/patches/gcc5-variadicmacros.patch (revision 108)
@@ -0,0 +1,17 @@
+--- a/src/include/spf_log.h
++++ b/src/include/spf_log.h
+@@ -63,10 +63,10 @@ void SPF_debugv( const char *file, int l
+
+ #if defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L
+
+-#define SPF_errorf(format, ... ) SPF_errorx( __FILE__, __LINE__, format, __VA_ARGS__ )
+-#define SPF_warningf(format, ... ) SPF_warningx( __FILE__, __LINE__, format, __VA_ARGS__ )
+-#define SPF_infof(format, ... ) SPF_infox( __FILE__, __LINE__, format, __VA_ARGS__ )
+-#define SPF_debugf(format, ... ) SPF_debugx( __FILE__, __LINE__, format, __VA_ARGS__ )
++#define SPF_errorf(format, ... ) SPF_errorx( __FILE__, __LINE__, format, ##__VA_ARGS__ )
++#define SPF_warningf(format, ... ) SPF_warningx( __FILE__, __LINE__, format, ##__VA_ARGS__ )
++#define SPF_infof(format, ... ) SPF_infox( __FILE__, __LINE__, format, ##__VA_ARGS__ )
++#define SPF_debugf(format, ... ) SPF_debugx( __FILE__, __LINE__, format, ##__VA_ARGS__ )
+
+ #elif defined( __GNUC__ )
+
Index: branches/bullseye/debian/patches/abolish-spf-rrtype.patch
===================================================================
--- branches/bullseye/debian/patches/abolish-spf-rrtype.patch (nonexistent)
+++ branches/bullseye/debian/patches/abolish-spf-rrtype.patch (revision 108)
@@ -0,0 +1,16 @@
+Description: Stop trying to look up the dedicated SPF DNS RR type,
+ which was abolished by RFC 7208. The rr_type variable and the all the
+ "goto retry" commands could be deleted as well, but let's keep the
+ patch minimal.
+
+--- a/src/libspf2/spf_server.c 2012-01-28 09:24:47.000000000 +0100
++++ b/src/libspf2/spf_server.c 2014-06-19 14:09:07.000000000 +0200
+@@ -346,7 +346,7 @@
+ spf_response, spf_recordp);
+
+ /* I am VERY, VERY sorry about the gotos. Shevek. */
+- rr_type = ns_t_spf;
++ rr_type = ns_t_txt;
+ retry:
+ rr_txt = SPF_dns_lookup(resolver, domain, rr_type, TRUE);
+
Index: branches/bullseye/debian/patches/spf_dns-include-std-headers.patch
===================================================================
--- branches/bullseye/debian/patches/spf_dns-include-std-headers.patch (nonexistent)
+++ branches/bullseye/debian/patches/spf_dns-include-std-headers.patch (revision 108)
@@ -0,0 +1,62 @@
+Author: Magnus Holmgren <holmgren@debian.org>
+Description: Include arpa/nameser.h and netdb.h from spf_dns.h
+ instead of defining the constants needed unless certain HAVE_ macros are defined.
+ Updated for libspf2 1.2.8/9 by Scott Kitterman <scott@kitterman.com>
+
+--- libspf2-1.2.9~/src/include/spf_dns.h 2008-10-27 12:27:14.000000000 -0400
++++ libspf2-1.2.9/src/include/spf_dns.h 2008-11-04 10:10:58.000000000 -0500
+@@ -63,48 +63,19 @@
+ *
+ */
+
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
++ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+ /*
+- * For those who don't have <arpa/nameserv.h>
++ * Type 99 decl does not exist in Debian libc6 (not even 2.7)
+ */
+-
+-/* XXX This should use a more sensible define. */
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /**< Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+ #if ! HAVE_DECL_NS_T_SPF
+ #define ns_t_spf 99
+ #endif
+
+-#if ! HAVE_DECL_NS_T_INVALID
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /**< NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /**< SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /**< invalid/unimplmeneted query */
+-#define NO_DATA 4 /**< host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/branches/bullseye/debian/patches/spf_dns-include-std-headers.patch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/bullseye/debian/control
===================================================================
--- branches/bullseye/debian/control (nonexistent)
+++ branches/bullseye/debian/control (revision 108)
@@ -0,0 +1,79 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <holmgren@debian.org>
+Build-Depends: dpkg-dev (>= 1.15.7), debhelper (>= 9), dh-autoreconf,
+ perl, libstring-escape-perl
+Standards-Version: 3.9.7
+Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+Vcs-Browser: http://svn.kibibyte.se/libspf2
+Homepage: http://www.libspf2.org/
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}), ${misc:Depends}
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}) | spfquery (= ${binary:Version}),
+ ${misc:Depends}
+Description: library for validating mail senders with SPF (debugging symbols)
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair.
+ .
+ This package contains the debugging symbols.
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
+
+Package: libmail-spf-xs-perl
+Section: perl
+Priority: extra
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, libstring-escape-perl
+Description: library for validating mail senders with SPF - Perl bindings
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+ .
+ This package provides an XS module for using libspf from Perl programs.
Index: branches/bullseye/debian/copyright
===================================================================
--- branches/bullseye/debian/copyright (nonexistent)
+++ branches/bullseye/debian/copyright (revision 108)
@@ -0,0 +1,135 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Source: http://www.libspf2.org/
+Upstream-Contact: Shevek <libspf2@anarres.org>
+License: LGPL-2.1+ or BSD-2-clause
+
+Files: *
+Copyright: ยฉ 2004-2005 Wayne Schlitt and Shevek, ยฉ 2008 Shevek.
+ - Current maintainer: Shevek <libspf2@anarres.org>
+ - Contributors: Magnus Holmgren, Julian Mehnle, Scott Kitterman,
+ Dan Kaminsky, Ben Chelf, Hannah Schroeter, Manish Raje
+ - Original author, 1.0 series: Wayne Schlitt <wayne@schlitt.net>
+License: LGPL-2.1+ or BSD-2-clause
+
+Files: src/spf_example/spf_example.c
+Copyright: Written by Wayne Schlitt and released into the public domain.
+License: public-domain
+ "This program is in the public domain, there is no copyright, you can
+ do anything you want with it."
+
+Files: src/libreplace/__ns_name_uncompress.c src/libreplace/__ns_initparse.c
+Copyright: ยฉ 1996, 1999 Internet Software Consortium
+License: ISC
+ Permission to use, copy, modify, and distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
+ ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
+ CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ SOFTWARE.
+
+Files: src/libreplace/arpa_nameser.h
+Copyright: ยฉ 1983, 1989, 1993 The Regents of the University of California
+License: BSD-4-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+ 4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+Files: src/libreplace/getopt.h src/libreplace/getopt_long_only.c
+Copyright: ยฉ 1987,88,89,90,91,92,93,94,96,97 Free Software Foundation, Inc
+License: LGPL-2+
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License 2.0 can be found in the file `/usr/share/common-licenses/LGPL-2'.
+
+Files: perl/*
+Copyright: ยฉ 2008 Shevek <cpan@anarres.org>
+License: GPL-1+ or Artistic-1
+ This program is free software; you can redistribute it and/or modify
+ it under the same terms as Perl itself.
+ .
+ On Debian systems, the complete text of the GNU General Public
+ License 1.0 can be found in the file
+ `/usr/share/common-licenses/GPL-1'.
+ .
+ On Debian systems, the complete text of the "Artistic License" can be
+ found in the file `/usr/share/common-licenses/Artistic'.
+
+Files: debian/*
+Copyright: ยฉ 2004-2006 Eric Dorland, ยฉ 2007-2013 Magnus Holmgren
+License: LGPL-2.1+ or BSD-2-clause
+Comment: The parts of the Debian packaging that is eligible for
+ copyright is ยฉ 2004-2006 Eric Dorland, 2007-2013 Magnus Holmgren and
+ assumed to be licensed under the same licenses as above.
+
+Files: debian/spfquery.libspf2.1
+Copyright: ยฉ 2007 Magnus Holmgren
+License: BSD-2-clause
+Comment: Giving the LGPL as an alternative is quite redundant as the BSD
+ license is so permissive that it allows redistribution under the LGPL
+ or most other licenses anyway.
+
+License: LGPL-2.1+ or BSD-2-clause
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+ .
+ a) The GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1, or (at your option) any
+ later version,
+ .
+ OR
+ .
+ b) The two-clause BSD license.
+ .
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License 2.1 can be found in the file
+ `/usr/share/common-licenses/LGPL-2.1'.
+ .
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ .
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Index: branches/bullseye/debian/rules
===================================================================
--- branches/bullseye/debian/rules (nonexistent)
+++ branches/bullseye/debian/rules (revision 108)
@@ -0,0 +1,88 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+LIB_PACKAGE = libspf2-2
+
+DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE)
+else
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
+endif
+
+CFLAGS := $(shell dpkg-buildflags --get CFLAGS)
+CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
+LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)
+perlld := $(shell perl -MConfig -e 'print $$Config{ld}')
+
+DEB_LDFLAGS_MAINT_APPEND = -Wl,--version-script=$(CURDIR)/debian/libspf2.ver
+buildflags += $(shell DEB_LDFLAGS_MAINT_APPEND="$(DEB_LDFLAGS_MAINT_APPEND)" \
+ dpkg-buildflags --export=configure)
+
+config.status: configure
+ dh_testdir
+ # Add here commands to configure the package.
+ dh_autoreconf
+ ./configure --prefix=/usr $(buildflags)
+
+build: build-arch
+build-indep:
+build-arch: build-arch-stamp
+build-arch-stamp: config.status
+ dh_testdir
+
+ $(MAKE)
+ cd perl && perl Makefile.PL INSTALLDIRS=vendor \
+ OPTIMIZE="$(CPPFLAGS) $(CFLAGS)" LD="$(perlld) $(CFLAGS) $(LDFLAGS)"
+ $(MAKE) -C perl LD_RUN_PATH=
+
+ touch "$@"
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-arch-stamp
+
+ [ ! -f Makefile ] || $(MAKE) distclean
+ [ ! -f perl/Makefile ] || $(MAKE) -C perl realclean
+
+ dh_autoreconf_clean
+ dh_clean
+
+install: build-arch
+ dh_testdir
+ dh_testroot
+ dh_prep
+
+ $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
+ $(MAKE) -C perl install DESTDIR=$(CURDIR)/debian/tmp
+
+binary-arch: install
+ dh_testdir
+ dh_testroot
+ dh_install -a
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+ dh_installdocs -a --link-doc=$(LIB_PACKAGE)
+ dh_installchangelogs -a
+ dh_installman -a
+ dh_strip -a --dbg-package=$(LIB_PACKAGE)-dbg
+ dh_perl -a
+ dh_compress -a
+ dh_fixperms -a
+ dh_makeshlibs -V '$(LIB_PACKAGE) (>= 1.2.8~)'
+ dh_installdeb -a
+ dh_shlibdeps -a
+ dh_gencontrol -a
+ dh_md5sums -a
+ dh_builddeb -a
+
+binary: binary-arch
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.10.tar.gz
+
+.PHONY: build build-indep build-arch clean clean-patched binary-indep binary-arch binary install get-orig-source
/branches/bullseye/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/bullseye/debian/libmail-spf-xs-perl.install
===================================================================
--- branches/bullseye/debian/libmail-spf-xs-perl.install (nonexistent)
+++ branches/bullseye/debian/libmail-spf-xs-perl.install (revision 108)
@@ -0,0 +1,5 @@
+#!/usr/bin/perl -w
+use Config;
+print <<"" =~ s!^/!!rgm;
+$Config{vendorarch}
+usr/share/man/man3/*.3pm
/branches/bullseye/debian/libmail-spf-xs-perl.install
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/bullseye/debian/compat
===================================================================
--- branches/bullseye/debian/compat (nonexistent)
+++ branches/bullseye/debian/compat (revision 108)
@@ -0,0 +1 @@
+9
Index: branches/bullseye/debian/spfquery.libspf2.1
===================================================================
--- branches/bullseye/debian/spfquery.libspf2.1 (nonexistent)
+++ branches/bullseye/debian/spfquery.libspf2.1 (revision 108)
@@ -0,0 +1,197 @@
+.\" Title: SPFQUERY
+.\" Author: Magnus Holmgren <holmgren@debian.org>
+.\" Date: 2007-09-06
+.\" Manual: libspf2 manuals for Debian
+.\" Source: libspf2 1.2.5
+.\"
+.TH "SPFQUERY" "1" "2007-09-06" "libspf2 1.2.5" "libspf2 manuals for Debian"
+.\" disable hyphenation
+.nh
+.SH NAME
+spfquery, spfquery.libspf2 \- checks if an IP address is an SPF-authorized SMTP sender for a domain.
+.SH SYNOPSIS
+.ad l
+.HP 9
+.B spfquery
+.RB { \-i | \-\-ip }
+.I ip\-address
+.RB { -s | \-\-sender }
+.RI [ local-part \fB@\fP] domain
+.RB [{ \-h | \-\-helo }
+.IR domain-name ]
+.RB [ \-\-rcpt\-to
+.IR email-address(es) ]
+.RI [ CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-f | \-\-file }
+.IR datafile " [" CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-\-help | \-v | \-\-version }
+.ad b
+.SH DESCRIPTION
+This manual page documents briefly the
+\fBspfquery\fR
+command. It was written for the
+Debian\*[R] distribution because the original program does not have a manual page.
+.PP
+\fBspfquery\fR performs Sender Policy Framework (SPF) authorization
+checks based on the command-line arguments or data given in a file or
+on standard input. For information on SPF see http://www.openspf.org.
+.
+.SH OPTIONS
+Options are divided into two groups: Data options, which must be
+given, though just enough of them to specify a query; and control
+options, which are optional and control the local policy, behaviour
+and output format of spfquery.
+.PP
+This programs follows the GNU \fBgetopt_long_only\fR(3) command line
+syntax: Long options can be given with one or two dashes and can be
+abbreviated to a prefix long enough to be non-ambiguous. If an option
+starting with a single dash doesn't match a long option, it is taken
+as a short option with a following parameter, if applicable. An equals
+sign between the option name and the parameter is optional for both
+short and long options.
+.SS Data options
+The
+\fB\-\-file\fR option conflicts with all the other data options. The
+\fB\-\-helo\fR and \fB\-\-rcpt\-to\fR are optional.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfilename\fR
+Read SPF data from \fIfilename\fR. Specify \(lq-\(rq to read from standard input.
+.sp
+The file should consist of one line per query, each query line consisting of the IP address, sender adress, and optional HELO string, separated by spaces.
+.sp
+\fBNote\fP
+Local parts containing spaces are currently not supported.
+.TP
+\fB\-i\fP, \fB\-\-ip\fP \fIip-address\fP
+Specify the IP address of the remote host that is delivering the mail.
+.TP
+\fB\-s\fP, \fB\-\-sender\fP [\fIlocal-part\fP\fB@\fP]\fIdomain\fP
+Specify the email address that was used as the envelope sender. If no
+username (local part) is given, \(lqpostmaster\(rq will be assumed.
+.TP
+\fB\-h\fP, \fB\-\-helo\fP \fIdomain-name\fP
+Specify that \fIdomain-name\fP was provided in the SMTP HELO (or EHLO) command.
+.TP
+\fB\-r\fP, \fB\-\-rcpt-to\fP \fIrcpt-address\fP[,\fIrcpt-address\fP,...]
+Specify the recipients as comma-separated list. Any secondary mail exchangers of all
+recipient domains are automatically authorized.
+.
+.SS Control options
+.TP
+\fB\-d\fP, \fB\-\-debug\fP[\fB=\fP\fIlevel\fP]
+Turn on debugging output.
+.TP
+\fB\-l\fP, \fB\-\-local\fP \fIspf\-terms\fP
+Test against \fIspf\-terms\fR before the final (implicit or explicit)
+\(lqall\(rq in an SPF record. This can be used to implement a local policy for whitelisting.
+.TP
+\fB\-t, \fB\-\-trusted\fR [\fB1\fR]
+Check the sender domain with trusted\-forwarder.org.
+\fBThis is a non\-standard feature.\fR
+.TP
+\fB\-t\fP \fB0\fP, \fB\-\-trusted\fR \fB0\fP
+Do not check the sender domain with trusted\-forwarder.org. This is the default.
+.TP
+\fB\-g\fP, \fB\-\-guess\fP \fIspf-mechanisms\fP
+Test the sender domain against \fIspf\-mechanisms\fP if the domain has no SPF record.
+.TP
+\fB\-e\fP, \fB\-\-default\-explanation\fP \fIstring\fP
+Default explanation string to use if the SPF record does not specify an expla\%nation string itself.
+.TP
+\fB\-m\fP, \fB\-\-max\-lookup\fP \fInumber\fP
+Maximum number of DNS lookups to allow.
+.TP
+\fB\-c\fP, \fB\-\-sanitize\fP [\fB0\fP|\fB1\fP]
+Do [not] sanitize the output by condensing conse\%cutive white\%space
+into a single space and replacing non-printable characters with
+question marks. Enabled by default.
+.TP
+\fB\-n\fP, \fB\-\-name\fP \fIhostname\fP
+Use
+\fIhostname\fP
+as the name of the local system instead of
+\(lqspfquery\(rq
+(the name is used in the output).
+.TP
+\fB\-k\fP, \fB\-\-keep\-comments\fP
+Print comments found when reading from a file.
+.TP
+\fB\-a\fP, \fB\-\-override\fP \fI...\fP
+.TP
+\fB\-z\fP, \fB\-\-fallback\fP \fI...\fP
+Provide override and fallback SPF records for certain domains.
+\fBNot implemented yet.\fP
+\fBspfquery\fP
+would act as if the speci\%fied records were present before and after any existing record, respectively, of those domains.
+.TP
+\fB\-\-help\fP
+Show summary of options.
+.TP
+\fB\-v\fP, \fB\-\-version\fP
+Show version of program.
+.SH DIAGNOSTICS
+The output ordinarily consists of four lines:
+.IP 1. 4
+the \fIresult code\fP;
+.IP 2. 4
+the \fIexplanation\fP, suitable for use in an SMTP response message, empty
+except when a rejection (permanent or temporary) makes sense;
+.IP 3. 4
+the header comment on its own;
+.IP 4. 4
+the Received\-SPF header field as defined in RFC 4408 section 7,
+incorporating the header comment.
+.PP
+If errors (including no SPF record found!) occur during processing,
+one or more error blocks will be prepended.
+These start with \(lqStartError\(lq and end with \(lqEndError\(lq.
+.PP
+The result codes and their corresponding exit codes are as follows:
+.TP
+.B 1 \(en neutral
+The sender domain explicitly makes no assertion about the \fIip-address\fP.
+This result must be interpreted exactly as if no SPF record at all existed.
+.TP
+.B 2 \(en pass
+The \fIip-address\fP is authorized to send mail for the sender domain.
+.TP
+.B 3 \(en fail
+The \fIip-address\fP is \fBunauthorized\fP to send mail for the sender domain.
+.TP
+.B 4 \(en softfail
+The \fIip-address\fP is not authorized to send mail for the sender domain, but
+the sender domain cannot or does not wish to make a strong assertion that no such mail can
+ever come from it.
+.TP
+.B 5 \(en none
+No SPF record was found.
+.TP
+.BR "6 \(en error" " (temporary)"
+A transient error occurred (e.g. failure to reach a DNS server), preventing a
+result from being reached.
+.TP
+.BR "7 \(en unknown" " (permanent error)"
+One or more SPF records could not be interpreted.
+.SH EXAMPLES
+.nf
+spfquery \-ip=11.22.33.44 \-sender=user@aol.com \-helo=spammer.tld
+spfquery \-f test_data
+echo "127.0.0.1 myname@mydomain.com helohost.com" | spfquery \-f \-
+.fi
+.SH SEE ALSO
+\fBspftest\fR(1), \fBspfd\fR(8)
+.SH AUTHOR
+\fBspfquery\fP was written by Wayne Schlitt.
+.PP
+This manual page was written by Magnus Holmgren for the Debian\*[R]
+system (but may be used by others). Heavily inspired by the spfquery manpage of
+libmail\-spf\-query\-perl (\fBspfquery.mail\-spf\-query\-perl\fR(1)) by Julian Mehnle.
+Also based on the command\-line help of spfquery.
+.SH COPYRIGHT
+Copyright \(co 2007 Magnus Holmgren. Permission is granted to copy,
+distribute and/or modify this document under the terms of the two-clause BSD
+License. See /usr/share/doc/spfquery/copyright.
Index: branches/bullseye/debian/libspf2-2.symbols
===================================================================
--- branches/bullseye/debian/libspf2-2.symbols (nonexistent)
+++ branches/bullseye/debian/libspf2-2.symbols (revision 108)
@@ -0,0 +1,113 @@
+libspf2.so.2 libspf2-2 #MINVER#
+ SPF_debug_handler@Base 0
+ SPF_debug_stdio@Base 0
+ SPF_debug_syslog@Base 0
+ SPF_debugv@Base 0
+ SPF_debugx2@Base 0
+ SPF_debugx@Base 0
+ SPF_dns_cache_new@Base 0
+ SPF_dns_cache_set_ttl@Base 0
+ SPF_dns_free@Base 0
+ SPF_dns_get_client_dom@Base 0
+ SPF_dns_lookup@Base 0
+ SPF_dns_null_new@Base 0
+ SPF_dns_resolv_new@Base 0
+ SPF_dns_rlookup6@Base 0
+ SPF_dns_rlookup@Base 0
+ SPF_dns_rr_buf_realloc@Base 0
+ SPF_dns_rr_dup@Base 0
+ SPF_dns_rr_free@Base 0
+ SPF_dns_rr_new@Base 0
+ SPF_dns_rr_new_init@Base 0
+ SPF_dns_rr_new_nxdomain@Base 0
+ SPF_dns_set_conserve_cache@Base 0
+ SPF_dns_test_new@Base 0
+ SPF_dns_zone_add_str@Base 0
+ SPF_dns_zone_new@Base 0
+ SPF_error_code@Base 0
+ SPF_error_errorp@Base 0
+ SPF_error_handler@Base 0
+ SPF_error_message@Base 0
+ SPF_error_stdio@Base 0
+ SPF_error_syslog@Base 0
+ SPF_errorv@Base 0
+ SPF_errorx2@Base 0
+ SPF_errorx@Base 0
+ SPF_get_lib_version@Base 0
+ SPF_i_done@Base 0
+ SPF_info_handler@Base 0
+ SPF_info_stdio@Base 0
+ SPF_info_syslog@Base 0
+ SPF_infov@Base 0
+ SPF_infox2@Base 0
+ SPF_infox@Base 0
+ SPF_macro_free@Base 0
+ SPF_record_compile@Base 0
+ SPF_record_compile_macro@Base 0
+ SPF_record_expand_data@Base 0
+ SPF_record_find_mod_value@Base 0
+ SPF_record_free@Base 0
+ SPF_record_interpret@Base 0
+ SPF_record_new@Base 0
+ SPF_record_print@Base 0
+ SPF_record_stringify@Base 0
+ SPF_request_free@Base 0
+ SPF_request_get_client_dom@Base 0
+ SPF_request_get_exp@Base 0
+ SPF_request_get_rec_dom@Base 0
+ SPF_request_is_loopback@Base 0
+ SPF_request_new@Base 0
+ SPF_request_query_fallback@Base 0
+ SPF_request_query_mailfrom@Base 0
+ SPF_request_query_rcptto@Base 0
+ SPF_request_set_env_from@Base 0
+ SPF_request_set_helo_dom@Base 0
+ SPF_request_set_ipv4@Base 0
+ SPF_request_set_ipv4_str@Base 0
+ SPF_request_set_ipv6@Base 0
+ SPF_request_set_ipv6_str@Base 0
+ SPF_response_add_error@Base 0
+ SPF_response_add_error_idx@Base 0
+ SPF_response_add_error_ptr@Base 0
+ SPF_response_add_warn@Base 0
+ SPF_response_add_warn_idx@Base 0
+ SPF_response_add_warn_ptr@Base 0
+ SPF_response_combine@Base 0
+ SPF_response_errcode@Base 0
+ SPF_response_errors@Base 0
+ SPF_response_free@Base 0
+ SPF_response_get_explanation@Base 0
+ SPF_response_get_header_comment@Base 0
+ SPF_response_get_received_spf@Base 0
+ SPF_response_get_received_spf_value@Base 0
+ SPF_response_get_smtp_comment@Base 0
+ SPF_response_message@Base 0
+ SPF_response_messages@Base 0
+ SPF_response_new@Base 0
+ SPF_response_reason@Base 0
+ SPF_response_result@Base 0
+ SPF_response_warnings@Base 0
+ SPF_server_free@Base 0
+ SPF_server_get_max_dns_mech@Base 0
+ SPF_server_get_max_dns_mx@Base 0
+ SPF_server_get_max_dns_ptr@Base 0
+ SPF_server_get_record@Base 0
+ SPF_server_new@Base 0
+ SPF_server_new_dns@Base 1.2.8~
+ SPF_server_set_explanation@Base 0
+ SPF_server_set_localpolicy@Base 0
+ SPF_server_set_max_dns_mech@Base 0
+ SPF_server_set_max_dns_mx@Base 0
+ SPF_server_set_max_dns_ptr@Base 0
+ SPF_server_set_rec_dom@Base 0
+ SPF_server_set_sanitize@Base 0
+ SPF_strerror@Base 0
+ SPF_strreason@Base 0
+ SPF_strresult@Base 0
+ SPF_strrrtype@Base 1.2.8~
+ SPF_warning_handler@Base 0
+ SPF_warning_stdio@Base 0
+ SPF_warning_syslog@Base 0
+ SPF_warningv@Base 0
+ SPF_warningx2@Base 0
+ SPF_warningx@Base 0
Index: branches/bullseye/debian/libspf2.ver
===================================================================
--- branches/bullseye/debian/libspf2.ver (nonexistent)
+++ branches/bullseye/debian/libspf2.ver (revision 108)
@@ -0,0 +1,16 @@
+{
+global:
+ SPF_*;
+ main;
+ __libc_csu_*;
+ _init;
+ _fini;
+ _IO_stdin_used;
+ _DYNAMIC_LINKING;
+ __RLD_MAP;
+local:
+ SPF_recalloc;
+ SPF_sanitize;
+ SPF_print_sizeof;
+ *;
+};
Index: branches/bullseye/debian/spfquery.postinst
===================================================================
--- branches/bullseye/debian/spfquery.postinst (nonexistent)
+++ branches/bullseye/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,25 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25 \
+ --slave /usr/share/man/man1/spfquery.1.gz spfquery.1.gz /usr/share/man/man1/spfquery.$source_package.1.gz
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/spfquery"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
Index: branches/bullseye/debian/libspf2-2-dbg.postinst
===================================================================
--- branches/bullseye/debian/libspf2-2-dbg.postinst (nonexistent)
+++ branches/bullseye/debian/libspf2-2-dbg.postinst (revision 108)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/libspf2-2-dbg"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Index: branches/bullseye/debian/libspf2-dev.postinst
===================================================================
--- branches/bullseye/debian/libspf2-dev.postinst (nonexistent)
+++ branches/bullseye/debian/libspf2-dev.postinst (revision 108)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/libspf2-dev"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Index: branches/bullseye/debian/docs
===================================================================
--- branches/bullseye/debian/docs (nonexistent)
+++ branches/bullseye/debian/docs (revision 108)
@@ -0,0 +1,2 @@
+README
+TODO
Index: branches/bullseye/debian/README.Debian
===================================================================
--- branches/bullseye/debian/README.Debian (nonexistent)
+++ branches/bullseye/debian/README.Debian (revision 108)
@@ -0,0 +1,11 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+ -- Magnus Holmgren <holmgren@debian.org>, Mon, 14 Sep 2009 22:33:12 +0200
Index: branches/bullseye/debian/source/format
===================================================================
--- branches/bullseye/debian/source/format (nonexistent)
+++ branches/bullseye/debian/source/format (revision 108)
@@ -0,0 +1 @@
+3.0 (quilt)
Index: branches/bullseye/debian/libspf2-dev.install
===================================================================
--- branches/bullseye/debian/libspf2-dev.install (nonexistent)
+++ branches/bullseye/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,3 @@
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.so
Index: branches/bullseye/debian/spfquery.install
===================================================================
--- branches/bullseye/debian/spfquery.install (nonexistent)
+++ branches/bullseye/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+usr/bin/spfquery
+usr/bin/spftest
+usr/bin/spf_example
+usr/bin/spfd usr/sbin
Index: branches/bullseye/debian/libspf2-2.install
===================================================================
--- branches/bullseye/debian/libspf2-2.install (nonexistent)
+++ branches/bullseye/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+usr/lib/lib*.so.*
Index: branches/bullseye/debian/spfquery.manpages
===================================================================
--- branches/bullseye/debian/spfquery.manpages (nonexistent)
+++ branches/bullseye/debian/spfquery.manpages (revision 108)
@@ -0,0 +1 @@
+debian/spfquery.libspf2.1
Index: branches/bullseye/debian/watch
===================================================================
--- branches/bullseye/debian/watch (nonexistent)
+++ branches/bullseye/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: branches/bullseye/debian/spfquery.prerm
===================================================================
--- branches/bullseye/debian/spfquery.prerm (nonexistent)
+++ branches/bullseye/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: branches/bullseye/debian
===================================================================
--- branches/bullseye/debian (nonexistent)
+++ branches/bullseye/debian (revision 108)
/branches/bullseye/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: branches/bookworm/debian/changelog
===================================================================
--- branches/bookworm/debian/changelog (nonexistent)
+++ branches/bookworm/debian/changelog (revision 108)
@@ -0,0 +1,356 @@
+libspf2 (1.2.10-7.2) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * no-libreplace.patch: disable libreplace which is not needed anymore and
+ causes build failures with glibc 2.34 (Closes: #1016821).
+
+ -- Aurelien Jarno <aurel32@debian.org> Thu, 11 Aug 2022 23:05:37 +0200
+
+libspf2 (1.2.10-7.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * spf_compile.c: Correct size of ds_avail (CVE-2021-20314)
+ * Sanity check for sprintf
+ * Fixed 'reverse' macro modifier
+
+ -- Salvatore Bonaccorso <carnil@debian.org> Sun, 08 Aug 2021 13:46:49 +0200
+
+libspf2 (1.2.10-7) unstable; urgency=low
+
+ * error_results.patch: Return information to use in the mail header and
+ such when no or multiple SPF records exist (Closes: #806313). Thanks
+ to Sebastian Schweizer <sebastian@schweizer.tel>.
+ * Bump Standards-Version to 3.9.7.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 25 Mar 2016 17:51:50 +0100
+
+libspf2 (1.2.10-6) unstable; urgency=medium
+
+ * gcc5-variadicmacros.patch: Fix syntax error with variadic macro with
+ no variable argument when compiling with GCC 5 (Closes: #777974).
+ * Rearrange debian/copyright to comply with the machine-readable format
+ specification.
+
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 25 Jun 2015 22:26:05 +0200
+
+libspf2 (1.2.10-5) unstable; urgency=low
+
+ * abolish-spf-rrtype.patch: Stop trying to look up the dedicated SPF DNS
+ RR type, which was abolished by RFC 7208 (Closes: #764533).
+ * Bump Standards-Version to 3.9.6.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 12 Oct 2014 21:18:33 +0200
+
+libspf2 (1.2.10-4) unstable; urgency=low
+
+ * Upgrade to Debhelper compat level 9, in order to:
+ * Handle variable vendorarch installation directory (Closes: #752712),
+ by making debian/libmail-spf-xs-perl.install executable.
+ * Bump Standards-Version to 3.9.5.
+ * debian/rules: Update URL in get-orig-source target (a year late).
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 05 Jul 2014 22:19:51 +0200
+
+libspf2 (1.2.10-3) unstable; urgency=low
+
+ * Merge changes from Ubuntu (Closes: #734224).
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 01 Feb 2014 14:51:57 +0100
+
+libspf2 (1.2.10-2ubuntu1) trusty; urgency=medium
+
+ * Use dh-autoreconf instead of autotools-dev to also fix FTBFS on ppc64el by
+ getting new libtool macros (still updates config.{sub,guess}).
+
+ -- Logan Rosen <logan@ubuntu.com> Fri, 03 Jan 2014 15:56:24 -0500
+
+libspf2 (1.2.10-2) unstable; urgency=low
+
+ * Convert debian/copyright to machine-readable format and update
+ copyright info including details on files in src/libreplace.
+ * debian/spfquery.libspf2.1: Change license to 2-clause BSD, as was
+ intended from the beginning.
+
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 12 Aug 2013 12:07:40 +0200
+
+libspf2 (1.2.10-1) unstable; urgency=low
+
+ * New upstream release.
+ * Drop ipv6-bugs.patch and private-glibc-functions.patch; incorporated
+ upstream.
+ * Hide additional internal symbols from the dynamic table.
+ * Build and include the Perl XS module.
+ * Bump Standards-Version to 3.9.4.
+
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 13 Jun 2013 23:58:12 +0200
+
+libspf2 (1.2.9-7) unstable; urgency=high
+
+ * Add postinst scripts that replace old documentation directories (from
+ before 1.2.9-5) in libspf2-dev, libspf2-2-dbg and spfquery with
+ symlinks (Closes: #687862, #687863, #687864). Thanks to Salvatore
+ Bonaccorso <carnil@debian.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 23 Sep 2012 21:25:43 +0200
+
+libspf2 (1.2.9-6) unstable; urgency=low
+
+ * Rename ipv6-buffer-miscalculation.patch ipv6-bugs.patch. Include
+ the following small IPv6-related patches from FreeBSD:
+ * patch-src_libspf2_spf__compile.c
+ * patch-src_libspf2_spf__interpret.c
+ Already included was patch-src_libspf2_spf__expand.c.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 22 Jan 2012 22:45:04 +0100
+
+libspf2 (1.2.9-5) unstable; urgency=low
+
+ * Convert package to source format 3.0 (quilt).
+ * Include text of BSD license in debian/copyright, as is now preferred.
+ * Switch from CDBS to classic Debhelper, getting build flags from
+ dpkg-buildflags "by hand".
+ * Increase Debhelper compat level to 7.
+ * Put docs in libspf2-2 and replace the other packages' doc directories
+ with symlinks to that one.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 11 Nov 2011 22:13:50 +0100
+
+libspf2 (1.2.9-4) unstable; urgency=low
+
+ * Drop obsolete README.Debian-source; move non-obsolete info to
+ libspf2-dev.README.Debian.
+ * debian/libspf2.ver: Explicitly unhide certain special symbols that
+ became hidden on the mips and mipsel architectures but nowhere else,
+ causing a FTBFS.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 03 Oct 2009 21:29:19 +0200
+
+libspf2 (1.2.9-3) unstable; urgency=high
+
+ * ipv6_buffer_miscalculation.dpatch: Fix an abort() caused by
+ miscalculating the size of an internal buffer when mail is received
+ over IPv6. Thanks to Matthias Scheler <tron@netbsd.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 13 Sep 2009 20:23:22 +0200
+
+libspf2 (1.2.9-2) unstable; urgency=low
+
+ * debian/rules: Correct version.
+ * 01_private_glib_functions.dpatch: Avoid linking private glibc
+ functions.
+ * Simplify debian/*.install and exclude the libtool .la file from the
+ -dev package. Set DEB_DH_INSTALL_SOURCEDIR accordingly.
+ * Add ${misc:Depends} to Depends.
+ * Add debug package.
+ * Use ld version script to hide internal symbols.
+ * Bump Standards-Version to 3.8.3.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 25 Aug 2009 00:15:01 +0200
+
+libspf2 (1.2.9-1) unstable; urgency=high
+
+ * New upstream release.
+ - Drops non-dfsg Free IETF internet draft, so tarball no longer needs
+ repacking
+ + Fixes exploitable buffer overflow (LP: #287534)
+ + Multiple fixes for improved RFC 4408 compliance
+ + Update libspf2-2.symbols for new symbol
+ + 20_spf_dns_include_std_headers.dpatch: Updated.
+ * Thanks to Scott Kitterman.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 04 Nov 2008 21:14:31 +0100
+
+libspf2 (1.2.8~dfsg-1) unstable; urgency=low
+
+ * Merge changes from Ubuntu.
+ * Fix and tweak library dependency information (shlibs as well as
+ symbols).
+ * Upgrade to Standards-Version: 3.8.0. Changes needed:
+ + Add debian/README.source (ยง 4.9).
+ * Bring debian/copyright a bit more up-to-date.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 02 Nov 2008 12:29:51 +0100
+
+libspf2 (1.2.8~dfsg-0ubuntu1) intrepid; urgency=low
+
+ * New upstream release (LP: #283920)
+ - Fixes multiple memory leaks
+ - CVE2008-2469 buffer overflows
+ - Adds new documentation
+ - Drop all patches except 20_spf_dns_include_std_headers.dpatch (included
+ upstream)
+ - Freshen 20_spf_dns_include_std_headers.dpatch
+ - Update debian/rules for new release
+ * Repack tarball to remove non-DFSG Free IETF draft
+ * Added debian/libspf2-2.symbols and updated for new version
+ * Drop README.Debian since it no longer applies.
+
+ -- Scott Kitterman <scott@kitterman.com> Sun, 19 Oct 2008 01:00:13 -0400
+
+libspf2 (1.2.5.dfsg-5) unstable; urgency=low
+
+ * 43_new_explanation_url.dpatch: Bring default explanation up to date by
+ referring to www.openspf.org instead of spf.pobox.com.
+ * Add spfquery(1) manpage.
+ * Fix format of copyright notice in debian/copyright.
+ * Move upstream homepage URL to the new Homepage control field, rename
+ VCS control fields, and update Standards-Version.
+ * A few cosmetic adjustments including fixing the indentation of the
+ 1.2.5.dfsg-3 entry below (Closes: #465466).
+ * New maintainer email address.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 18 Apr 2008 17:51:28 +0200
+
+libspf2 (1.2.5.dfsg-4) unstable; urgency=low
+
+ * Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
+ (Closes: #440147). Thanks to Matthias Cramer.
+ * 35_untabify_help.dpatch: Make --help output of utilities less ugly by
+ converting tabs to spaces.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
+
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: branches/bookworm/debian/patches/no-libreplace.patch
===================================================================
--- branches/bookworm/debian/patches/no-libreplace.patch (nonexistent)
+++ branches/bookworm/debian/patches/no-libreplace.patch (revision 108)
@@ -0,0 +1,19 @@
+Description: Don't use unnecessary libreplace
+ libreplace isn't providing anything of utility here, it's unconditional and
+ causing build failures on some architectures.
+Author: Steve Langasek <steve.langasek@ubuntu.com>
+Last-Updated: 2022-02-24
+Forwarded: no
+
+Index: libspf2-1.2.10/src/libspf2/Makefile.am
+===================================================================
+--- libspf2-1.2.10.orig/src/libspf2/Makefile.am
++++ libspf2-1.2.10/src/libspf2/Makefile.am
+@@ -34,7 +34,6 @@
+ spf_utils.c \
+ spf_win32.c
+
+-libspf2_la_LIBADD = $(top_builddir)/src/libreplace/libreplace.la
+
+
+
Index: branches/bookworm/debian/patches/series
===================================================================
--- branches/bookworm/debian/patches/series (nonexistent)
+++ branches/bookworm/debian/patches/series (revision 108)
@@ -0,0 +1,8 @@
+spf_dns-include-std-headers.patch
+abolish-spf-rrtype.patch
+gcc5-variadicmacros.patch
+error_results.patch
+spf_compile.c-Correct-size-of-ds_avail.patch
+Sanity-check-for-sprintf.patch
+Fixed-reverse-macro-modifier.patch
+no-libreplace.patch
Index: branches/bookworm/debian/patches/Fixed-reverse-macro-modifier.patch
===================================================================
--- branches/bookworm/debian/patches/Fixed-reverse-macro-modifier.patch (nonexistent)
+++ branches/bookworm/debian/patches/Fixed-reverse-macro-modifier.patch (revision 108)
@@ -0,0 +1,51 @@
+From: Nathaniel <me@nathanielbennett.com>
+Date: Tue, 8 Jun 2021 20:02:52 -0400
+Subject: Fixed 'reverse' macro modifier
+Origin: https://github.com/shevek/libspf2/commit/f06fef6cede4c4cb42f2c617496e6041782d7070
+
+---
+ src/libspf2/spf_expand.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/libspf2/spf_expand.c b/src/libspf2/spf_expand.c
+index 25689da11e84..f93005d26f44 100644
+--- a/src/libspf2/spf_expand.c
++++ b/src/libspf2/spf_expand.c
+@@ -86,7 +86,7 @@ SPF_record_expand_data(SPF_server_t *spf_server,
+ {
+ SPF_data_t *d, *data_end;
+
+- size_t len;
++ size_t len, label_len;
+ const char *p_err; // XXX Check this value, when returned.
+ char *p, *p_end;
+ const char *p_read;
+@@ -300,9 +300,9 @@ top:
+ if ( SPF_delim_valid(d, *p_read) ) {
+ /* Subtract 1 because p_read points to delim, and
+ * p_read_end points to the following delim. */
+- len = p_read_end - p_read - 1;
+- memcpy( p_write, p_read + 1, len );
+- p_write += len;
++ label_len = p_read_end - p_read - 1;
++ memcpy( p_write, p_read + 1, label_len );
++ p_write += label_len;
+ *p_write++ = '.';
+
+ p_read_end = p_read;
+@@ -314,9 +314,9 @@ top:
+ * string. p_read_end might also point there if the string
+ * starts with a delimiter. */
+ if (p_read_end >= p_read) {
+- len = p_read_end - p_read - 1;
+- memcpy( p_write, p_read + 1, len );
+- p_write += len;
++ label_len = p_read_end - p_read - 1;
++ memcpy( p_write, p_read + 1, label_len );
++ p_write += label_len;
+ *p_write++ = '.';
+ }
+
+--
+2.20.1
+
Index: branches/bookworm/debian/patches/Sanity-check-for-sprintf.patch
===================================================================
--- branches/bookworm/debian/patches/Sanity-check-for-sprintf.patch (nonexistent)
+++ branches/bookworm/debian/patches/Sanity-check-for-sprintf.patch (revision 108)
@@ -0,0 +1,28 @@
+From: Nathaniel <me@nathanielbennett.com>
+Date: Tue, 8 Jun 2021 06:43:29 -0400
+Subject: Sanity check for sprintf
+Origin: https://github.com/shevek/libspf2/commit/28faf4624a6a371b11afdb9820078d3b0ee3803d
+
+---
+ src/libspf2/spf_expand.c | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/libspf2/spf_expand.c b/src/libspf2/spf_expand.c
+index e7f5a26f3e1b..25689da11e84 100644
+--- a/src/libspf2/spf_expand.c
++++ b/src/libspf2/spf_expand.c
+@@ -398,10 +398,7 @@ top:
+ break;
+
+ default:
+- /* No point doing snprintf with a const '4'
+- * because we know we're going to get 4
+- * characters anyway. */
+- sprintf( p_write, "%%%02x", *p_read );
++ snprintf( p_write, 4, "%%%02x", (unsigned char) *p_read );
+ p_write += 3;
+ p_read++;
+ break;
+--
+2.20.1
+
Index: branches/bookworm/debian/patches/spf_compile.c-Correct-size-of-ds_avail.patch
===================================================================
--- branches/bookworm/debian/patches/spf_compile.c-Correct-size-of-ds_avail.patch (nonexistent)
+++ branches/bookworm/debian/patches/spf_compile.c-Correct-size-of-ds_avail.patch (revision 108)
@@ -0,0 +1,26 @@
+From: Shevek <shevek@anarres.org>
+Date: Sat, 5 Jun 2021 21:39:04 -0700
+Subject: spf_compile.c: Correct size of ds_avail.
+Origin: https://github.com/shevek/libspf2/commit/c37b7c13c30e225183899364b9f2efdfa85552ef
+Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2021-20314
+
+---
+ src/libspf2/spf_compile.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libspf2/spf_compile.c b/src/libspf2/spf_compile.c
+index ff02f8718b30..b08ffe204eba 100644
+--- a/src/libspf2/spf_compile.c
++++ b/src/libspf2/spf_compile.c
+@@ -455,7 +455,7 @@ SPF_c_parse_var(SPF_response_t *spf_response, SPF_data_var_t *data,
+ /* Magic numbers for x/Nc in gdb. */ \
+ data->ds.__unused0 = 0xba; data->ds.__unused1 = 0xbe; \
+ dst = SPF_data_str( data ); \
+- ds_avail = _avail; \
++ ds_avail = _avail - sizeof(SPF_data_t); \
+ ds_len = 0; \
+ } while(0)
+
+--
+2.32.0
+
Index: branches/bookworm/debian/patches/error_results.patch
===================================================================
--- branches/bookworm/debian/patches/error_results.patch (nonexistent)
+++ branches/bookworm/debian/patches/error_results.patch (revision 108)
@@ -0,0 +1,86 @@
+From: Sebastian Schweizer <sebastian@schweizer.tel>
+Subject: Return header info also in case of missing or multiple SPF records.
+Bug: https://bugs.debian.org/806313
+Forwarded: https://github.com/shevek/libspf2/pull/9
+
+diff --git a/src/libspf2/spf_interpret.c b/src/libspf2/spf_interpret.c
+index a35b58c..5f15df4 100644
+--- a/src/libspf2/spf_interpret.c
++++ b/src/libspf2/spf_interpret.c
+@@ -104,7 +104,6 @@ SPF_i_set_smtp_comment(SPF_response_t *spf_response)
+ case SPF_RESULT_FAIL:
+ case SPF_RESULT_SOFTFAIL:
+ case SPF_RESULT_NEUTRAL:
+- case SPF_RESULT_NONE:
+
+ err = SPF_i_set_explanation(spf_response);
+ if (err != SPF_E_SUCCESS)
+@@ -126,6 +125,7 @@ SPF_i_set_smtp_comment(SPF_response_t *spf_response)
+ case SPF_RESULT_PASS:
+ case SPF_RESULT_TEMPERROR:
+ case SPF_RESULT_PERMERROR:
++ case SPF_RESULT_NONE:
+ default:
+ break;
+ }
+@@ -380,7 +380,7 @@ SPF_i_set_received_spf(SPF_response_t *spf_response)
+ * This must be called with EITHER
+ * spf_response->spf_record_exp != NULL
+ * OR
+- * result in { SPF_RESULT_PASS SPF_RESULT_INVALID
++ * result in { SPF_RESULT_NONE SPF_RESULT_PASS SPF_RESULT_INVALID
+ * SPF_RESULT_TEMPERROR SPF_RESULT_PERMERROR }
+ * or the library will abort when it tries to generate an explanation.
+ */
+diff --git a/src/libspf2/spf_server.c b/src/libspf2/spf_server.c
+index d648b4e..66beb69 100644
+--- a/src/libspf2/spf_server.c
++++ b/src/libspf2/spf_server.c
+@@ -361,8 +361,9 @@ retry:
+ }
+ spf_response->result = SPF_RESULT_NONE;
+ spf_response->reason = SPF_REASON_FAILURE;
+- return SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
+- "Host '%s' not found.", domain);
++ return SPF_i_done(spf_response, SPF_RESULT_NONE, SPF_REASON_FAILURE,
++ SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
++ "Host '%s' not found.", domain));
+ // break;
+
+ case NO_DATA:
+@@ -375,8 +376,9 @@ retry:
+ }
+ spf_response->result = SPF_RESULT_NONE;
+ spf_response->reason = SPF_REASON_FAILURE;
+- return SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
+- "No DNS data for '%s'.", domain);
++ return SPF_i_done(spf_response, SPF_RESULT_NONE, SPF_REASON_FAILURE,
++ SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
++ "No DNS data for '%s'.", domain));
+ // break;
+
+ case TRY_AGAIN:
+@@ -453,17 +455,18 @@ retry:
+ }
+ spf_response->result = SPF_RESULT_NONE;
+ spf_response->reason = SPF_REASON_FAILURE;
+- return SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
+- "No SPF records for '%s'", domain);
++ return SPF_i_done(spf_response, SPF_RESULT_NONE, SPF_REASON_FAILURE,
++ SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
++ "No SPF records for '%s'", domain));
+ }
+ if (num_found > 1) {
+ SPF_dns_rr_free(rr_txt);
+ // rfc4408 requires permerror here.
+- /* XXX This could be refactored with SPF_i_done. */
+ spf_response->result = SPF_RESULT_PERMERROR;
+ spf_response->reason = SPF_REASON_FAILURE;
+- return SPF_response_add_error(spf_response, SPF_E_MULTIPLE_RECORDS,
+- "Multiple SPF records for '%s'", domain);
++ return SPF_i_done(spf_response, SPF_RESULT_PERMERROR, SPF_REASON_FAILURE,
++ SPF_response_add_error(spf_response, SPF_E_MULTIPLE_RECORDS,
++ "Multiple SPF records for '%s'", domain));
+ }
+
+ /* try to compile the SPF record */
Index: branches/bookworm/debian/patches/gcc5-variadicmacros.patch
===================================================================
--- branches/bookworm/debian/patches/gcc5-variadicmacros.patch (nonexistent)
+++ branches/bookworm/debian/patches/gcc5-variadicmacros.patch (revision 108)
@@ -0,0 +1,17 @@
+--- a/src/include/spf_log.h
++++ b/src/include/spf_log.h
+@@ -63,10 +63,10 @@ void SPF_debugv( const char *file, int l
+
+ #if defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L
+
+-#define SPF_errorf(format, ... ) SPF_errorx( __FILE__, __LINE__, format, __VA_ARGS__ )
+-#define SPF_warningf(format, ... ) SPF_warningx( __FILE__, __LINE__, format, __VA_ARGS__ )
+-#define SPF_infof(format, ... ) SPF_infox( __FILE__, __LINE__, format, __VA_ARGS__ )
+-#define SPF_debugf(format, ... ) SPF_debugx( __FILE__, __LINE__, format, __VA_ARGS__ )
++#define SPF_errorf(format, ... ) SPF_errorx( __FILE__, __LINE__, format, ##__VA_ARGS__ )
++#define SPF_warningf(format, ... ) SPF_warningx( __FILE__, __LINE__, format, ##__VA_ARGS__ )
++#define SPF_infof(format, ... ) SPF_infox( __FILE__, __LINE__, format, ##__VA_ARGS__ )
++#define SPF_debugf(format, ... ) SPF_debugx( __FILE__, __LINE__, format, ##__VA_ARGS__ )
+
+ #elif defined( __GNUC__ )
+
Index: branches/bookworm/debian/patches/abolish-spf-rrtype.patch
===================================================================
--- branches/bookworm/debian/patches/abolish-spf-rrtype.patch (nonexistent)
+++ branches/bookworm/debian/patches/abolish-spf-rrtype.patch (revision 108)
@@ -0,0 +1,16 @@
+Description: Stop trying to look up the dedicated SPF DNS RR type,
+ which was abolished by RFC 7208. The rr_type variable and the all the
+ "goto retry" commands could be deleted as well, but let's keep the
+ patch minimal.
+
+--- a/src/libspf2/spf_server.c 2012-01-28 09:24:47.000000000 +0100
++++ b/src/libspf2/spf_server.c 2014-06-19 14:09:07.000000000 +0200
+@@ -346,7 +346,7 @@
+ spf_response, spf_recordp);
+
+ /* I am VERY, VERY sorry about the gotos. Shevek. */
+- rr_type = ns_t_spf;
++ rr_type = ns_t_txt;
+ retry:
+ rr_txt = SPF_dns_lookup(resolver, domain, rr_type, TRUE);
+
Index: branches/bookworm/debian/patches/spf_dns-include-std-headers.patch
===================================================================
--- branches/bookworm/debian/patches/spf_dns-include-std-headers.patch (nonexistent)
+++ branches/bookworm/debian/patches/spf_dns-include-std-headers.patch (revision 108)
@@ -0,0 +1,62 @@
+Author: Magnus Holmgren <holmgren@debian.org>
+Description: Include arpa/nameser.h and netdb.h from spf_dns.h
+ instead of defining the constants needed unless certain HAVE_ macros are defined.
+ Updated for libspf2 1.2.8/9 by Scott Kitterman <scott@kitterman.com>
+
+--- libspf2-1.2.9~/src/include/spf_dns.h 2008-10-27 12:27:14.000000000 -0400
++++ libspf2-1.2.9/src/include/spf_dns.h 2008-11-04 10:10:58.000000000 -0500
+@@ -63,48 +63,19 @@
+ *
+ */
+
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
++ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+ /*
+- * For those who don't have <arpa/nameserv.h>
++ * Type 99 decl does not exist in Debian libc6 (not even 2.7)
+ */
+-
+-/* XXX This should use a more sensible define. */
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /**< Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+ #if ! HAVE_DECL_NS_T_SPF
+ #define ns_t_spf 99
+ #endif
+
+-#if ! HAVE_DECL_NS_T_INVALID
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /**< NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /**< SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /**< invalid/unimplmeneted query */
+-#define NO_DATA 4 /**< host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/branches/bookworm/debian/patches/spf_dns-include-std-headers.patch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/bookworm/debian/control
===================================================================
--- branches/bookworm/debian/control (nonexistent)
+++ branches/bookworm/debian/control (revision 108)
@@ -0,0 +1,79 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <holmgren@debian.org>
+Build-Depends: dpkg-dev (>= 1.15.7), debhelper (>= 9), dh-autoreconf,
+ perl, libstring-escape-perl
+Standards-Version: 3.9.7
+Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+Vcs-Browser: http://svn.kibibyte.se/libspf2
+Homepage: http://www.libspf2.org/
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}), ${misc:Depends}
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}) | spfquery (= ${binary:Version}),
+ ${misc:Depends}
+Description: library for validating mail senders with SPF (debugging symbols)
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair.
+ .
+ This package contains the debugging symbols.
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
+
+Package: libmail-spf-xs-perl
+Section: perl
+Priority: extra
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, libstring-escape-perl
+Description: library for validating mail senders with SPF - Perl bindings
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+ .
+ This package provides an XS module for using libspf from Perl programs.
Index: branches/bookworm/debian/copyright
===================================================================
--- branches/bookworm/debian/copyright (nonexistent)
+++ branches/bookworm/debian/copyright (revision 108)
@@ -0,0 +1,135 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Source: http://www.libspf2.org/
+Upstream-Contact: Shevek <libspf2@anarres.org>
+License: LGPL-2.1+ or BSD-2-clause
+
+Files: *
+Copyright: ยฉ 2004-2005 Wayne Schlitt and Shevek, ยฉ 2008 Shevek.
+ - Current maintainer: Shevek <libspf2@anarres.org>
+ - Contributors: Magnus Holmgren, Julian Mehnle, Scott Kitterman,
+ Dan Kaminsky, Ben Chelf, Hannah Schroeter, Manish Raje
+ - Original author, 1.0 series: Wayne Schlitt <wayne@schlitt.net>
+License: LGPL-2.1+ or BSD-2-clause
+
+Files: src/spf_example/spf_example.c
+Copyright: Written by Wayne Schlitt and released into the public domain.
+License: public-domain
+ "This program is in the public domain, there is no copyright, you can
+ do anything you want with it."
+
+Files: src/libreplace/__ns_name_uncompress.c src/libreplace/__ns_initparse.c
+Copyright: ยฉ 1996, 1999 Internet Software Consortium
+License: ISC
+ Permission to use, copy, modify, and distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
+ ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
+ CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ SOFTWARE.
+
+Files: src/libreplace/arpa_nameser.h
+Copyright: ยฉ 1983, 1989, 1993 The Regents of the University of California
+License: BSD-4-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+ 4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+Files: src/libreplace/getopt.h src/libreplace/getopt_long_only.c
+Copyright: ยฉ 1987,88,89,90,91,92,93,94,96,97 Free Software Foundation, Inc
+License: LGPL-2+
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License 2.0 can be found in the file `/usr/share/common-licenses/LGPL-2'.
+
+Files: perl/*
+Copyright: ยฉ 2008 Shevek <cpan@anarres.org>
+License: GPL-1+ or Artistic-1
+ This program is free software; you can redistribute it and/or modify
+ it under the same terms as Perl itself.
+ .
+ On Debian systems, the complete text of the GNU General Public
+ License 1.0 can be found in the file
+ `/usr/share/common-licenses/GPL-1'.
+ .
+ On Debian systems, the complete text of the "Artistic License" can be
+ found in the file `/usr/share/common-licenses/Artistic'.
+
+Files: debian/*
+Copyright: ยฉ 2004-2006 Eric Dorland, ยฉ 2007-2013 Magnus Holmgren
+License: LGPL-2.1+ or BSD-2-clause
+Comment: The parts of the Debian packaging that is eligible for
+ copyright is ยฉ 2004-2006 Eric Dorland, 2007-2013 Magnus Holmgren and
+ assumed to be licensed under the same licenses as above.
+
+Files: debian/spfquery.libspf2.1
+Copyright: ยฉ 2007 Magnus Holmgren
+License: BSD-2-clause
+Comment: Giving the LGPL as an alternative is quite redundant as the BSD
+ license is so permissive that it allows redistribution under the LGPL
+ or most other licenses anyway.
+
+License: LGPL-2.1+ or BSD-2-clause
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+ .
+ a) The GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1, or (at your option) any
+ later version,
+ .
+ OR
+ .
+ b) The two-clause BSD license.
+ .
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License 2.1 can be found in the file
+ `/usr/share/common-licenses/LGPL-2.1'.
+ .
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ .
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Index: branches/bookworm/debian/rules
===================================================================
--- branches/bookworm/debian/rules (nonexistent)
+++ branches/bookworm/debian/rules (revision 108)
@@ -0,0 +1,88 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+LIB_PACKAGE = libspf2-2
+
+DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE)
+else
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
+endif
+
+CFLAGS := $(shell dpkg-buildflags --get CFLAGS)
+CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
+LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)
+perlld := $(shell perl -MConfig -e 'print $$Config{ld}')
+
+DEB_LDFLAGS_MAINT_APPEND = -Wl,--version-script=$(CURDIR)/debian/libspf2.ver
+buildflags += $(shell DEB_LDFLAGS_MAINT_APPEND="$(DEB_LDFLAGS_MAINT_APPEND)" \
+ dpkg-buildflags --export=configure)
+
+config.status: configure
+ dh_testdir
+ # Add here commands to configure the package.
+ dh_autoreconf
+ ./configure --prefix=/usr $(buildflags)
+
+build: build-arch
+build-indep:
+build-arch: build-arch-stamp
+build-arch-stamp: config.status
+ dh_testdir
+
+ $(MAKE)
+ cd perl && perl Makefile.PL INSTALLDIRS=vendor \
+ OPTIMIZE="$(CPPFLAGS) $(CFLAGS)" LD="$(perlld) $(CFLAGS) $(LDFLAGS)"
+ $(MAKE) -C perl LD_RUN_PATH=
+
+ touch "$@"
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-arch-stamp
+
+ [ ! -f Makefile ] || $(MAKE) distclean
+ [ ! -f perl/Makefile ] || $(MAKE) -C perl realclean
+
+ dh_autoreconf_clean
+ dh_clean
+
+install: build-arch
+ dh_testdir
+ dh_testroot
+ dh_prep
+
+ $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
+ $(MAKE) -C perl install DESTDIR=$(CURDIR)/debian/tmp
+
+binary-arch: install
+ dh_testdir
+ dh_testroot
+ dh_install -a
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+ dh_installdocs -a --link-doc=$(LIB_PACKAGE)
+ dh_installchangelogs -a
+ dh_installman -a
+ dh_strip -a --dbg-package=$(LIB_PACKAGE)-dbg
+ dh_perl -a
+ dh_compress -a
+ dh_fixperms -a
+ dh_makeshlibs -V '$(LIB_PACKAGE) (>= 1.2.8~)'
+ dh_installdeb -a
+ dh_shlibdeps -a
+ dh_gencontrol -a
+ dh_md5sums -a
+ dh_builddeb -a
+
+binary: binary-arch
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.10.tar.gz
+
+.PHONY: build build-indep build-arch clean clean-patched binary-indep binary-arch binary install get-orig-source
/branches/bookworm/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/bookworm/debian/libmail-spf-xs-perl.install
===================================================================
--- branches/bookworm/debian/libmail-spf-xs-perl.install (nonexistent)
+++ branches/bookworm/debian/libmail-spf-xs-perl.install (revision 108)
@@ -0,0 +1,5 @@
+#!/usr/bin/perl -w
+use Config;
+print <<"" =~ s!^/!!rgm;
+$Config{vendorarch}
+usr/share/man/man3/*.3pm
/branches/bookworm/debian/libmail-spf-xs-perl.install
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/bookworm/debian/compat
===================================================================
--- branches/bookworm/debian/compat (nonexistent)
+++ branches/bookworm/debian/compat (revision 108)
@@ -0,0 +1 @@
+9
Index: branches/bookworm/debian/spfquery.libspf2.1
===================================================================
--- branches/bookworm/debian/spfquery.libspf2.1 (nonexistent)
+++ branches/bookworm/debian/spfquery.libspf2.1 (revision 108)
@@ -0,0 +1,197 @@
+.\" Title: SPFQUERY
+.\" Author: Magnus Holmgren <holmgren@debian.org>
+.\" Date: 2007-09-06
+.\" Manual: libspf2 manuals for Debian
+.\" Source: libspf2 1.2.5
+.\"
+.TH "SPFQUERY" "1" "2007-09-06" "libspf2 1.2.5" "libspf2 manuals for Debian"
+.\" disable hyphenation
+.nh
+.SH NAME
+spfquery, spfquery.libspf2 \- checks if an IP address is an SPF-authorized SMTP sender for a domain.
+.SH SYNOPSIS
+.ad l
+.HP 9
+.B spfquery
+.RB { \-i | \-\-ip }
+.I ip\-address
+.RB { -s | \-\-sender }
+.RI [ local-part \fB@\fP] domain
+.RB [{ \-h | \-\-helo }
+.IR domain-name ]
+.RB [ \-\-rcpt\-to
+.IR email-address(es) ]
+.RI [ CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-f | \-\-file }
+.IR datafile " [" CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-\-help | \-v | \-\-version }
+.ad b
+.SH DESCRIPTION
+This manual page documents briefly the
+\fBspfquery\fR
+command. It was written for the
+Debian\*[R] distribution because the original program does not have a manual page.
+.PP
+\fBspfquery\fR performs Sender Policy Framework (SPF) authorization
+checks based on the command-line arguments or data given in a file or
+on standard input. For information on SPF see http://www.openspf.org.
+.
+.SH OPTIONS
+Options are divided into two groups: Data options, which must be
+given, though just enough of them to specify a query; and control
+options, which are optional and control the local policy, behaviour
+and output format of spfquery.
+.PP
+This programs follows the GNU \fBgetopt_long_only\fR(3) command line
+syntax: Long options can be given with one or two dashes and can be
+abbreviated to a prefix long enough to be non-ambiguous. If an option
+starting with a single dash doesn't match a long option, it is taken
+as a short option with a following parameter, if applicable. An equals
+sign between the option name and the parameter is optional for both
+short and long options.
+.SS Data options
+The
+\fB\-\-file\fR option conflicts with all the other data options. The
+\fB\-\-helo\fR and \fB\-\-rcpt\-to\fR are optional.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfilename\fR
+Read SPF data from \fIfilename\fR. Specify \(lq-\(rq to read from standard input.
+.sp
+The file should consist of one line per query, each query line consisting of the IP address, sender adress, and optional HELO string, separated by spaces.
+.sp
+\fBNote\fP
+Local parts containing spaces are currently not supported.
+.TP
+\fB\-i\fP, \fB\-\-ip\fP \fIip-address\fP
+Specify the IP address of the remote host that is delivering the mail.
+.TP
+\fB\-s\fP, \fB\-\-sender\fP [\fIlocal-part\fP\fB@\fP]\fIdomain\fP
+Specify the email address that was used as the envelope sender. If no
+username (local part) is given, \(lqpostmaster\(rq will be assumed.
+.TP
+\fB\-h\fP, \fB\-\-helo\fP \fIdomain-name\fP
+Specify that \fIdomain-name\fP was provided in the SMTP HELO (or EHLO) command.
+.TP
+\fB\-r\fP, \fB\-\-rcpt-to\fP \fIrcpt-address\fP[,\fIrcpt-address\fP,...]
+Specify the recipients as comma-separated list. Any secondary mail exchangers of all
+recipient domains are automatically authorized.
+.
+.SS Control options
+.TP
+\fB\-d\fP, \fB\-\-debug\fP[\fB=\fP\fIlevel\fP]
+Turn on debugging output.
+.TP
+\fB\-l\fP, \fB\-\-local\fP \fIspf\-terms\fP
+Test against \fIspf\-terms\fR before the final (implicit or explicit)
+\(lqall\(rq in an SPF record. This can be used to implement a local policy for whitelisting.
+.TP
+\fB\-t, \fB\-\-trusted\fR [\fB1\fR]
+Check the sender domain with trusted\-forwarder.org.
+\fBThis is a non\-standard feature.\fR
+.TP
+\fB\-t\fP \fB0\fP, \fB\-\-trusted\fR \fB0\fP
+Do not check the sender domain with trusted\-forwarder.org. This is the default.
+.TP
+\fB\-g\fP, \fB\-\-guess\fP \fIspf-mechanisms\fP
+Test the sender domain against \fIspf\-mechanisms\fP if the domain has no SPF record.
+.TP
+\fB\-e\fP, \fB\-\-default\-explanation\fP \fIstring\fP
+Default explanation string to use if the SPF record does not specify an expla\%nation string itself.
+.TP
+\fB\-m\fP, \fB\-\-max\-lookup\fP \fInumber\fP
+Maximum number of DNS lookups to allow.
+.TP
+\fB\-c\fP, \fB\-\-sanitize\fP [\fB0\fP|\fB1\fP]
+Do [not] sanitize the output by condensing conse\%cutive white\%space
+into a single space and replacing non-printable characters with
+question marks. Enabled by default.
+.TP
+\fB\-n\fP, \fB\-\-name\fP \fIhostname\fP
+Use
+\fIhostname\fP
+as the name of the local system instead of
+\(lqspfquery\(rq
+(the name is used in the output).
+.TP
+\fB\-k\fP, \fB\-\-keep\-comments\fP
+Print comments found when reading from a file.
+.TP
+\fB\-a\fP, \fB\-\-override\fP \fI...\fP
+.TP
+\fB\-z\fP, \fB\-\-fallback\fP \fI...\fP
+Provide override and fallback SPF records for certain domains.
+\fBNot implemented yet.\fP
+\fBspfquery\fP
+would act as if the speci\%fied records were present before and after any existing record, respectively, of those domains.
+.TP
+\fB\-\-help\fP
+Show summary of options.
+.TP
+\fB\-v\fP, \fB\-\-version\fP
+Show version of program.
+.SH DIAGNOSTICS
+The output ordinarily consists of four lines:
+.IP 1. 4
+the \fIresult code\fP;
+.IP 2. 4
+the \fIexplanation\fP, suitable for use in an SMTP response message, empty
+except when a rejection (permanent or temporary) makes sense;
+.IP 3. 4
+the header comment on its own;
+.IP 4. 4
+the Received\-SPF header field as defined in RFC 4408 section 7,
+incorporating the header comment.
+.PP
+If errors (including no SPF record found!) occur during processing,
+one or more error blocks will be prepended.
+These start with \(lqStartError\(lq and end with \(lqEndError\(lq.
+.PP
+The result codes and their corresponding exit codes are as follows:
+.TP
+.B 1 \(en neutral
+The sender domain explicitly makes no assertion about the \fIip-address\fP.
+This result must be interpreted exactly as if no SPF record at all existed.
+.TP
+.B 2 \(en pass
+The \fIip-address\fP is authorized to send mail for the sender domain.
+.TP
+.B 3 \(en fail
+The \fIip-address\fP is \fBunauthorized\fP to send mail for the sender domain.
+.TP
+.B 4 \(en softfail
+The \fIip-address\fP is not authorized to send mail for the sender domain, but
+the sender domain cannot or does not wish to make a strong assertion that no such mail can
+ever come from it.
+.TP
+.B 5 \(en none
+No SPF record was found.
+.TP
+.BR "6 \(en error" " (temporary)"
+A transient error occurred (e.g. failure to reach a DNS server), preventing a
+result from being reached.
+.TP
+.BR "7 \(en unknown" " (permanent error)"
+One or more SPF records could not be interpreted.
+.SH EXAMPLES
+.nf
+spfquery \-ip=11.22.33.44 \-sender=user@aol.com \-helo=spammer.tld
+spfquery \-f test_data
+echo "127.0.0.1 myname@mydomain.com helohost.com" | spfquery \-f \-
+.fi
+.SH SEE ALSO
+\fBspftest\fR(1), \fBspfd\fR(8)
+.SH AUTHOR
+\fBspfquery\fP was written by Wayne Schlitt.
+.PP
+This manual page was written by Magnus Holmgren for the Debian\*[R]
+system (but may be used by others). Heavily inspired by the spfquery manpage of
+libmail\-spf\-query\-perl (\fBspfquery.mail\-spf\-query\-perl\fR(1)) by Julian Mehnle.
+Also based on the command\-line help of spfquery.
+.SH COPYRIGHT
+Copyright \(co 2007 Magnus Holmgren. Permission is granted to copy,
+distribute and/or modify this document under the terms of the two-clause BSD
+License. See /usr/share/doc/spfquery/copyright.
Index: branches/bookworm/debian/libspf2-2.symbols
===================================================================
--- branches/bookworm/debian/libspf2-2.symbols (nonexistent)
+++ branches/bookworm/debian/libspf2-2.symbols (revision 108)
@@ -0,0 +1,113 @@
+libspf2.so.2 libspf2-2 #MINVER#
+ SPF_debug_handler@Base 0
+ SPF_debug_stdio@Base 0
+ SPF_debug_syslog@Base 0
+ SPF_debugv@Base 0
+ SPF_debugx2@Base 0
+ SPF_debugx@Base 0
+ SPF_dns_cache_new@Base 0
+ SPF_dns_cache_set_ttl@Base 0
+ SPF_dns_free@Base 0
+ SPF_dns_get_client_dom@Base 0
+ SPF_dns_lookup@Base 0
+ SPF_dns_null_new@Base 0
+ SPF_dns_resolv_new@Base 0
+ SPF_dns_rlookup6@Base 0
+ SPF_dns_rlookup@Base 0
+ SPF_dns_rr_buf_realloc@Base 0
+ SPF_dns_rr_dup@Base 0
+ SPF_dns_rr_free@Base 0
+ SPF_dns_rr_new@Base 0
+ SPF_dns_rr_new_init@Base 0
+ SPF_dns_rr_new_nxdomain@Base 0
+ SPF_dns_set_conserve_cache@Base 0
+ SPF_dns_test_new@Base 0
+ SPF_dns_zone_add_str@Base 0
+ SPF_dns_zone_new@Base 0
+ SPF_error_code@Base 0
+ SPF_error_errorp@Base 0
+ SPF_error_handler@Base 0
+ SPF_error_message@Base 0
+ SPF_error_stdio@Base 0
+ SPF_error_syslog@Base 0
+ SPF_errorv@Base 0
+ SPF_errorx2@Base 0
+ SPF_errorx@Base 0
+ SPF_get_lib_version@Base 0
+ SPF_i_done@Base 0
+ SPF_info_handler@Base 0
+ SPF_info_stdio@Base 0
+ SPF_info_syslog@Base 0
+ SPF_infov@Base 0
+ SPF_infox2@Base 0
+ SPF_infox@Base 0
+ SPF_macro_free@Base 0
+ SPF_record_compile@Base 0
+ SPF_record_compile_macro@Base 0
+ SPF_record_expand_data@Base 0
+ SPF_record_find_mod_value@Base 0
+ SPF_record_free@Base 0
+ SPF_record_interpret@Base 0
+ SPF_record_new@Base 0
+ SPF_record_print@Base 0
+ SPF_record_stringify@Base 0
+ SPF_request_free@Base 0
+ SPF_request_get_client_dom@Base 0
+ SPF_request_get_exp@Base 0
+ SPF_request_get_rec_dom@Base 0
+ SPF_request_is_loopback@Base 0
+ SPF_request_new@Base 0
+ SPF_request_query_fallback@Base 0
+ SPF_request_query_mailfrom@Base 0
+ SPF_request_query_rcptto@Base 0
+ SPF_request_set_env_from@Base 0
+ SPF_request_set_helo_dom@Base 0
+ SPF_request_set_ipv4@Base 0
+ SPF_request_set_ipv4_str@Base 0
+ SPF_request_set_ipv6@Base 0
+ SPF_request_set_ipv6_str@Base 0
+ SPF_response_add_error@Base 0
+ SPF_response_add_error_idx@Base 0
+ SPF_response_add_error_ptr@Base 0
+ SPF_response_add_warn@Base 0
+ SPF_response_add_warn_idx@Base 0
+ SPF_response_add_warn_ptr@Base 0
+ SPF_response_combine@Base 0
+ SPF_response_errcode@Base 0
+ SPF_response_errors@Base 0
+ SPF_response_free@Base 0
+ SPF_response_get_explanation@Base 0
+ SPF_response_get_header_comment@Base 0
+ SPF_response_get_received_spf@Base 0
+ SPF_response_get_received_spf_value@Base 0
+ SPF_response_get_smtp_comment@Base 0
+ SPF_response_message@Base 0
+ SPF_response_messages@Base 0
+ SPF_response_new@Base 0
+ SPF_response_reason@Base 0
+ SPF_response_result@Base 0
+ SPF_response_warnings@Base 0
+ SPF_server_free@Base 0
+ SPF_server_get_max_dns_mech@Base 0
+ SPF_server_get_max_dns_mx@Base 0
+ SPF_server_get_max_dns_ptr@Base 0
+ SPF_server_get_record@Base 0
+ SPF_server_new@Base 0
+ SPF_server_new_dns@Base 1.2.8~
+ SPF_server_set_explanation@Base 0
+ SPF_server_set_localpolicy@Base 0
+ SPF_server_set_max_dns_mech@Base 0
+ SPF_server_set_max_dns_mx@Base 0
+ SPF_server_set_max_dns_ptr@Base 0
+ SPF_server_set_rec_dom@Base 0
+ SPF_server_set_sanitize@Base 0
+ SPF_strerror@Base 0
+ SPF_strreason@Base 0
+ SPF_strresult@Base 0
+ SPF_strrrtype@Base 1.2.8~
+ SPF_warning_handler@Base 0
+ SPF_warning_stdio@Base 0
+ SPF_warning_syslog@Base 0
+ SPF_warningv@Base 0
+ SPF_warningx2@Base 0
+ SPF_warningx@Base 0
Index: branches/bookworm/debian/libspf2.ver
===================================================================
--- branches/bookworm/debian/libspf2.ver (nonexistent)
+++ branches/bookworm/debian/libspf2.ver (revision 108)
@@ -0,0 +1,16 @@
+{
+global:
+ SPF_*;
+ main;
+ __libc_csu_*;
+ _init;
+ _fini;
+ _IO_stdin_used;
+ _DYNAMIC_LINKING;
+ __RLD_MAP;
+local:
+ SPF_recalloc;
+ SPF_sanitize;
+ SPF_print_sizeof;
+ *;
+};
Index: branches/bookworm/debian/spfquery.postinst
===================================================================
--- branches/bookworm/debian/spfquery.postinst (nonexistent)
+++ branches/bookworm/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,25 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25 \
+ --slave /usr/share/man/man1/spfquery.1.gz spfquery.1.gz /usr/share/man/man1/spfquery.$source_package.1.gz
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/spfquery"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
Index: branches/bookworm/debian/libspf2-2-dbg.postinst
===================================================================
--- branches/bookworm/debian/libspf2-2-dbg.postinst (nonexistent)
+++ branches/bookworm/debian/libspf2-2-dbg.postinst (revision 108)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/libspf2-2-dbg"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Index: branches/bookworm/debian/libspf2-dev.postinst
===================================================================
--- branches/bookworm/debian/libspf2-dev.postinst (nonexistent)
+++ branches/bookworm/debian/libspf2-dev.postinst (revision 108)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/libspf2-dev"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Index: branches/bookworm/debian/docs
===================================================================
--- branches/bookworm/debian/docs (nonexistent)
+++ branches/bookworm/debian/docs (revision 108)
@@ -0,0 +1,2 @@
+README
+TODO
Index: branches/bookworm/debian/README.Debian
===================================================================
--- branches/bookworm/debian/README.Debian (nonexistent)
+++ branches/bookworm/debian/README.Debian (revision 108)
@@ -0,0 +1,11 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+ -- Magnus Holmgren <holmgren@debian.org>, Mon, 14 Sep 2009 22:33:12 +0200
Index: branches/bookworm/debian/source/format
===================================================================
--- branches/bookworm/debian/source/format (nonexistent)
+++ branches/bookworm/debian/source/format (revision 108)
@@ -0,0 +1 @@
+3.0 (quilt)
Index: branches/bookworm/debian/libspf2-dev.install
===================================================================
--- branches/bookworm/debian/libspf2-dev.install (nonexistent)
+++ branches/bookworm/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,3 @@
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.so
Index: branches/bookworm/debian/spfquery.install
===================================================================
--- branches/bookworm/debian/spfquery.install (nonexistent)
+++ branches/bookworm/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+usr/bin/spfquery
+usr/bin/spftest
+usr/bin/spf_example
+usr/bin/spfd usr/sbin
Index: branches/bookworm/debian/libspf2-2.install
===================================================================
--- branches/bookworm/debian/libspf2-2.install (nonexistent)
+++ branches/bookworm/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+usr/lib/lib*.so.*
Index: branches/bookworm/debian/spfquery.manpages
===================================================================
--- branches/bookworm/debian/spfquery.manpages (nonexistent)
+++ branches/bookworm/debian/spfquery.manpages (revision 108)
@@ -0,0 +1 @@
+debian/spfquery.libspf2.1
Index: branches/bookworm/debian/watch
===================================================================
--- branches/bookworm/debian/watch (nonexistent)
+++ branches/bookworm/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: branches/bookworm/debian/spfquery.prerm
===================================================================
--- branches/bookworm/debian/spfquery.prerm (nonexistent)
+++ branches/bookworm/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: branches/bookworm/debian
===================================================================
--- branches/bookworm/debian (nonexistent)
+++ branches/bookworm/debian (revision 108)
/branches/bookworm/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: branches/buster/debian/changelog
===================================================================
--- branches/buster/debian/changelog (nonexistent)
+++ branches/buster/debian/changelog (revision 108)
@@ -0,0 +1,339 @@
+libspf2 (1.2.10-7) unstable; urgency=low
+
+ * error_results.patch: Return information to use in the mail header and
+ such when no or multiple SPF records exist (Closes: #806313). Thanks
+ to Sebastian Schweizer <sebastian@schweizer.tel>.
+ * Bump Standards-Version to 3.9.7.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 25 Mar 2016 17:51:50 +0100
+
+libspf2 (1.2.10-6) unstable; urgency=medium
+
+ * gcc5-variadicmacros.patch: Fix syntax error with variadic macro with
+ no variable argument when compiling with GCC 5 (Closes: #777974).
+ * Rearrange debian/copyright to comply with the machine-readable format
+ specification.
+
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 25 Jun 2015 22:26:05 +0200
+
+libspf2 (1.2.10-5) unstable; urgency=low
+
+ * abolish-spf-rrtype.patch: Stop trying to look up the dedicated SPF DNS
+ RR type, which was abolished by RFC 7208 (Closes: #764533).
+ * Bump Standards-Version to 3.9.6.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 12 Oct 2014 21:18:33 +0200
+
+libspf2 (1.2.10-4) unstable; urgency=low
+
+ * Upgrade to Debhelper compat level 9, in order to:
+ * Handle variable vendorarch installation directory (Closes: #752712),
+ by making debian/libmail-spf-xs-perl.install executable.
+ * Bump Standards-Version to 3.9.5.
+ * debian/rules: Update URL in get-orig-source target (a year late).
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 05 Jul 2014 22:19:51 +0200
+
+libspf2 (1.2.10-3) unstable; urgency=low
+
+ * Merge changes from Ubuntu (Closes: #734224).
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 01 Feb 2014 14:51:57 +0100
+
+libspf2 (1.2.10-2ubuntu1) trusty; urgency=medium
+
+ * Use dh-autoreconf instead of autotools-dev to also fix FTBFS on ppc64el by
+ getting new libtool macros (still updates config.{sub,guess}).
+
+ -- Logan Rosen <logan@ubuntu.com> Fri, 03 Jan 2014 15:56:24 -0500
+
+libspf2 (1.2.10-2) unstable; urgency=low
+
+ * Convert debian/copyright to machine-readable format and update
+ copyright info including details on files in src/libreplace.
+ * debian/spfquery.libspf2.1: Change license to 2-clause BSD, as was
+ intended from the beginning.
+
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 12 Aug 2013 12:07:40 +0200
+
+libspf2 (1.2.10-1) unstable; urgency=low
+
+ * New upstream release.
+ * Drop ipv6-bugs.patch and private-glibc-functions.patch; incorporated
+ upstream.
+ * Hide additional internal symbols from the dynamic table.
+ * Build and include the Perl XS module.
+ * Bump Standards-Version to 3.9.4.
+
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 13 Jun 2013 23:58:12 +0200
+
+libspf2 (1.2.9-7) unstable; urgency=high
+
+ * Add postinst scripts that replace old documentation directories (from
+ before 1.2.9-5) in libspf2-dev, libspf2-2-dbg and spfquery with
+ symlinks (Closes: #687862, #687863, #687864). Thanks to Salvatore
+ Bonaccorso <carnil@debian.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 23 Sep 2012 21:25:43 +0200
+
+libspf2 (1.2.9-6) unstable; urgency=low
+
+ * Rename ipv6-buffer-miscalculation.patch ipv6-bugs.patch. Include
+ the following small IPv6-related patches from FreeBSD:
+ * patch-src_libspf2_spf__compile.c
+ * patch-src_libspf2_spf__interpret.c
+ Already included was patch-src_libspf2_spf__expand.c.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 22 Jan 2012 22:45:04 +0100
+
+libspf2 (1.2.9-5) unstable; urgency=low
+
+ * Convert package to source format 3.0 (quilt).
+ * Include text of BSD license in debian/copyright, as is now preferred.
+ * Switch from CDBS to classic Debhelper, getting build flags from
+ dpkg-buildflags "by hand".
+ * Increase Debhelper compat level to 7.
+ * Put docs in libspf2-2 and replace the other packages' doc directories
+ with symlinks to that one.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 11 Nov 2011 22:13:50 +0100
+
+libspf2 (1.2.9-4) unstable; urgency=low
+
+ * Drop obsolete README.Debian-source; move non-obsolete info to
+ libspf2-dev.README.Debian.
+ * debian/libspf2.ver: Explicitly unhide certain special symbols that
+ became hidden on the mips and mipsel architectures but nowhere else,
+ causing a FTBFS.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 03 Oct 2009 21:29:19 +0200
+
+libspf2 (1.2.9-3) unstable; urgency=high
+
+ * ipv6_buffer_miscalculation.dpatch: Fix an abort() caused by
+ miscalculating the size of an internal buffer when mail is received
+ over IPv6. Thanks to Matthias Scheler <tron@netbsd.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 13 Sep 2009 20:23:22 +0200
+
+libspf2 (1.2.9-2) unstable; urgency=low
+
+ * debian/rules: Correct version.
+ * 01_private_glib_functions.dpatch: Avoid linking private glibc
+ functions.
+ * Simplify debian/*.install and exclude the libtool .la file from the
+ -dev package. Set DEB_DH_INSTALL_SOURCEDIR accordingly.
+ * Add ${misc:Depends} to Depends.
+ * Add debug package.
+ * Use ld version script to hide internal symbols.
+ * Bump Standards-Version to 3.8.3.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 25 Aug 2009 00:15:01 +0200
+
+libspf2 (1.2.9-1) unstable; urgency=high
+
+ * New upstream release.
+ - Drops non-dfsg Free IETF internet draft, so tarball no longer needs
+ repacking
+ + Fixes exploitable buffer overflow (LP: #287534)
+ + Multiple fixes for improved RFC 4408 compliance
+ + Update libspf2-2.symbols for new symbol
+ + 20_spf_dns_include_std_headers.dpatch: Updated.
+ * Thanks to Scott Kitterman.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 04 Nov 2008 21:14:31 +0100
+
+libspf2 (1.2.8~dfsg-1) unstable; urgency=low
+
+ * Merge changes from Ubuntu.
+ * Fix and tweak library dependency information (shlibs as well as
+ symbols).
+ * Upgrade to Standards-Version: 3.8.0. Changes needed:
+ + Add debian/README.source (ยง 4.9).
+ * Bring debian/copyright a bit more up-to-date.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 02 Nov 2008 12:29:51 +0100
+
+libspf2 (1.2.8~dfsg-0ubuntu1) intrepid; urgency=low
+
+ * New upstream release (LP: #283920)
+ - Fixes multiple memory leaks
+ - CVE2008-2469 buffer overflows
+ - Adds new documentation
+ - Drop all patches except 20_spf_dns_include_std_headers.dpatch (included
+ upstream)
+ - Freshen 20_spf_dns_include_std_headers.dpatch
+ - Update debian/rules for new release
+ * Repack tarball to remove non-DFSG Free IETF draft
+ * Added debian/libspf2-2.symbols and updated for new version
+ * Drop README.Debian since it no longer applies.
+
+ -- Scott Kitterman <scott@kitterman.com> Sun, 19 Oct 2008 01:00:13 -0400
+
+libspf2 (1.2.5.dfsg-5) unstable; urgency=low
+
+ * 43_new_explanation_url.dpatch: Bring default explanation up to date by
+ referring to www.openspf.org instead of spf.pobox.com.
+ * Add spfquery(1) manpage.
+ * Fix format of copyright notice in debian/copyright.
+ * Move upstream homepage URL to the new Homepage control field, rename
+ VCS control fields, and update Standards-Version.
+ * A few cosmetic adjustments including fixing the indentation of the
+ 1.2.5.dfsg-3 entry below (Closes: #465466).
+ * New maintainer email address.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 18 Apr 2008 17:51:28 +0200
+
+libspf2 (1.2.5.dfsg-4) unstable; urgency=low
+
+ * Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
+ (Closes: #440147). Thanks to Matthias Cramer.
+ * 35_untabify_help.dpatch: Make --help output of utilities less ugly by
+ converting tabs to spaces.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
+
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: branches/buster/debian/control
===================================================================
--- branches/buster/debian/control (nonexistent)
+++ branches/buster/debian/control (revision 108)
@@ -0,0 +1,79 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <holmgren@debian.org>
+Build-Depends: dpkg-dev (>= 1.15.7), debhelper (>= 9), dh-autoreconf,
+ perl, libstring-escape-perl
+Standards-Version: 3.9.7
+Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+Vcs-Browser: http://svn.kibibyte.se/libspf2
+Homepage: http://www.libspf2.org/
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}), ${misc:Depends}
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}) | spfquery (= ${binary:Version}),
+ ${misc:Depends}
+Description: library for validating mail senders with SPF (debugging symbols)
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair.
+ .
+ This package contains the debugging symbols.
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
+
+Package: libmail-spf-xs-perl
+Section: perl
+Priority: extra
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, libstring-escape-perl
+Description: library for validating mail senders with SPF - Perl bindings
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+ .
+ This package provides an XS module for using libspf from Perl programs.
Index: branches/buster/debian/patches/error_results.patch
===================================================================
--- branches/buster/debian/patches/error_results.patch (nonexistent)
+++ branches/buster/debian/patches/error_results.patch (revision 108)
@@ -0,0 +1,86 @@
+From: Sebastian Schweizer <sebastian@schweizer.tel>
+Subject: Return header info also in case of missing or multiple SPF records.
+Bug: https://bugs.debian.org/806313
+Forwarded: https://github.com/shevek/libspf2/pull/9
+
+diff --git a/src/libspf2/spf_interpret.c b/src/libspf2/spf_interpret.c
+index a35b58c..5f15df4 100644
+--- a/src/libspf2/spf_interpret.c
++++ b/src/libspf2/spf_interpret.c
+@@ -104,7 +104,6 @@ SPF_i_set_smtp_comment(SPF_response_t *spf_response)
+ case SPF_RESULT_FAIL:
+ case SPF_RESULT_SOFTFAIL:
+ case SPF_RESULT_NEUTRAL:
+- case SPF_RESULT_NONE:
+
+ err = SPF_i_set_explanation(spf_response);
+ if (err != SPF_E_SUCCESS)
+@@ -126,6 +125,7 @@ SPF_i_set_smtp_comment(SPF_response_t *spf_response)
+ case SPF_RESULT_PASS:
+ case SPF_RESULT_TEMPERROR:
+ case SPF_RESULT_PERMERROR:
++ case SPF_RESULT_NONE:
+ default:
+ break;
+ }
+@@ -380,7 +380,7 @@ SPF_i_set_received_spf(SPF_response_t *spf_response)
+ * This must be called with EITHER
+ * spf_response->spf_record_exp != NULL
+ * OR
+- * result in { SPF_RESULT_PASS SPF_RESULT_INVALID
++ * result in { SPF_RESULT_NONE SPF_RESULT_PASS SPF_RESULT_INVALID
+ * SPF_RESULT_TEMPERROR SPF_RESULT_PERMERROR }
+ * or the library will abort when it tries to generate an explanation.
+ */
+diff --git a/src/libspf2/spf_server.c b/src/libspf2/spf_server.c
+index d648b4e..66beb69 100644
+--- a/src/libspf2/spf_server.c
++++ b/src/libspf2/spf_server.c
+@@ -361,8 +361,9 @@ retry:
+ }
+ spf_response->result = SPF_RESULT_NONE;
+ spf_response->reason = SPF_REASON_FAILURE;
+- return SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
+- "Host '%s' not found.", domain);
++ return SPF_i_done(spf_response, SPF_RESULT_NONE, SPF_REASON_FAILURE,
++ SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
++ "Host '%s' not found.", domain));
+ // break;
+
+ case NO_DATA:
+@@ -375,8 +376,9 @@ retry:
+ }
+ spf_response->result = SPF_RESULT_NONE;
+ spf_response->reason = SPF_REASON_FAILURE;
+- return SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
+- "No DNS data for '%s'.", domain);
++ return SPF_i_done(spf_response, SPF_RESULT_NONE, SPF_REASON_FAILURE,
++ SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
++ "No DNS data for '%s'.", domain));
+ // break;
+
+ case TRY_AGAIN:
+@@ -453,17 +455,18 @@ retry:
+ }
+ spf_response->result = SPF_RESULT_NONE;
+ spf_response->reason = SPF_REASON_FAILURE;
+- return SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
+- "No SPF records for '%s'", domain);
++ return SPF_i_done(spf_response, SPF_RESULT_NONE, SPF_REASON_FAILURE,
++ SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
++ "No SPF records for '%s'", domain));
+ }
+ if (num_found > 1) {
+ SPF_dns_rr_free(rr_txt);
+ // rfc4408 requires permerror here.
+- /* XXX This could be refactored with SPF_i_done. */
+ spf_response->result = SPF_RESULT_PERMERROR;
+ spf_response->reason = SPF_REASON_FAILURE;
+- return SPF_response_add_error(spf_response, SPF_E_MULTIPLE_RECORDS,
+- "Multiple SPF records for '%s'", domain);
++ return SPF_i_done(spf_response, SPF_RESULT_PERMERROR, SPF_REASON_FAILURE,
++ SPF_response_add_error(spf_response, SPF_E_MULTIPLE_RECORDS,
++ "Multiple SPF records for '%s'", domain));
+ }
+
+ /* try to compile the SPF record */
Index: branches/buster/debian/patches/series
===================================================================
--- branches/buster/debian/patches/series (nonexistent)
+++ branches/buster/debian/patches/series (revision 108)
@@ -0,0 +1,4 @@
+spf_dns-include-std-headers.patch
+abolish-spf-rrtype.patch
+gcc5-variadicmacros.patch
+error_results.patch
Index: branches/buster/debian/patches/gcc5-variadicmacros.patch
===================================================================
--- branches/buster/debian/patches/gcc5-variadicmacros.patch (nonexistent)
+++ branches/buster/debian/patches/gcc5-variadicmacros.patch (revision 108)
@@ -0,0 +1,17 @@
+--- a/src/include/spf_log.h
++++ b/src/include/spf_log.h
+@@ -63,10 +63,10 @@ void SPF_debugv( const char *file, int l
+
+ #if defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L
+
+-#define SPF_errorf(format, ... ) SPF_errorx( __FILE__, __LINE__, format, __VA_ARGS__ )
+-#define SPF_warningf(format, ... ) SPF_warningx( __FILE__, __LINE__, format, __VA_ARGS__ )
+-#define SPF_infof(format, ... ) SPF_infox( __FILE__, __LINE__, format, __VA_ARGS__ )
+-#define SPF_debugf(format, ... ) SPF_debugx( __FILE__, __LINE__, format, __VA_ARGS__ )
++#define SPF_errorf(format, ... ) SPF_errorx( __FILE__, __LINE__, format, ##__VA_ARGS__ )
++#define SPF_warningf(format, ... ) SPF_warningx( __FILE__, __LINE__, format, ##__VA_ARGS__ )
++#define SPF_infof(format, ... ) SPF_infox( __FILE__, __LINE__, format, ##__VA_ARGS__ )
++#define SPF_debugf(format, ... ) SPF_debugx( __FILE__, __LINE__, format, ##__VA_ARGS__ )
+
+ #elif defined( __GNUC__ )
+
Index: branches/buster/debian/patches/abolish-spf-rrtype.patch
===================================================================
--- branches/buster/debian/patches/abolish-spf-rrtype.patch (nonexistent)
+++ branches/buster/debian/patches/abolish-spf-rrtype.patch (revision 108)
@@ -0,0 +1,16 @@
+Description: Stop trying to look up the dedicated SPF DNS RR type,
+ which was abolished by RFC 7208. The rr_type variable and the all the
+ "goto retry" commands could be deleted as well, but let's keep the
+ patch minimal.
+
+--- a/src/libspf2/spf_server.c 2012-01-28 09:24:47.000000000 +0100
++++ b/src/libspf2/spf_server.c 2014-06-19 14:09:07.000000000 +0200
+@@ -346,7 +346,7 @@
+ spf_response, spf_recordp);
+
+ /* I am VERY, VERY sorry about the gotos. Shevek. */
+- rr_type = ns_t_spf;
++ rr_type = ns_t_txt;
+ retry:
+ rr_txt = SPF_dns_lookup(resolver, domain, rr_type, TRUE);
+
Index: branches/buster/debian/patches/spf_dns-include-std-headers.patch
===================================================================
--- branches/buster/debian/patches/spf_dns-include-std-headers.patch (nonexistent)
+++ branches/buster/debian/patches/spf_dns-include-std-headers.patch (revision 108)
@@ -0,0 +1,62 @@
+Author: Magnus Holmgren <holmgren@debian.org>
+Description: Include arpa/nameser.h and netdb.h from spf_dns.h
+ instead of defining the constants needed unless certain HAVE_ macros are defined.
+ Updated for libspf2 1.2.8/9 by Scott Kitterman <scott@kitterman.com>
+
+--- libspf2-1.2.9~/src/include/spf_dns.h 2008-10-27 12:27:14.000000000 -0400
++++ libspf2-1.2.9/src/include/spf_dns.h 2008-11-04 10:10:58.000000000 -0500
+@@ -63,48 +63,19 @@
+ *
+ */
+
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
++ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+ /*
+- * For those who don't have <arpa/nameserv.h>
++ * Type 99 decl does not exist in Debian libc6 (not even 2.7)
+ */
+-
+-/* XXX This should use a more sensible define. */
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /**< Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+ #if ! HAVE_DECL_NS_T_SPF
+ #define ns_t_spf 99
+ #endif
+
+-#if ! HAVE_DECL_NS_T_INVALID
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /**< NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /**< SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /**< invalid/unimplmeneted query */
+-#define NO_DATA 4 /**< host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/branches/buster/debian/patches/spf_dns-include-std-headers.patch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/buster/debian/copyright
===================================================================
--- branches/buster/debian/copyright (nonexistent)
+++ branches/buster/debian/copyright (revision 108)
@@ -0,0 +1,135 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Source: http://www.libspf2.org/
+Upstream-Contact: Shevek <libspf2@anarres.org>
+License: LGPL-2.1+ or BSD-2-clause
+
+Files: *
+Copyright: ยฉ 2004-2005 Wayne Schlitt and Shevek, ยฉ 2008 Shevek.
+ - Current maintainer: Shevek <libspf2@anarres.org>
+ - Contributors: Magnus Holmgren, Julian Mehnle, Scott Kitterman,
+ Dan Kaminsky, Ben Chelf, Hannah Schroeter, Manish Raje
+ - Original author, 1.0 series: Wayne Schlitt <wayne@schlitt.net>
+License: LGPL-2.1+ or BSD-2-clause
+
+Files: src/spf_example/spf_example.c
+Copyright: Written by Wayne Schlitt and released into the public domain.
+License: public-domain
+ "This program is in the public domain, there is no copyright, you can
+ do anything you want with it."
+
+Files: src/libreplace/__ns_name_uncompress.c src/libreplace/__ns_initparse.c
+Copyright: ยฉ 1996, 1999 Internet Software Consortium
+License: ISC
+ Permission to use, copy, modify, and distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
+ ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
+ CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ SOFTWARE.
+
+Files: src/libreplace/arpa_nameser.h
+Copyright: ยฉ 1983, 1989, 1993 The Regents of the University of California
+License: BSD-4-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+ 4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+Files: src/libreplace/getopt.h src/libreplace/getopt_long_only.c
+Copyright: ยฉ 1987,88,89,90,91,92,93,94,96,97 Free Software Foundation, Inc
+License: LGPL-2+
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License 2.0 can be found in the file `/usr/share/common-licenses/LGPL-2'.
+
+Files: perl/*
+Copyright: ยฉ 2008 Shevek <cpan@anarres.org>
+License: GPL-1+ or Artistic-1
+ This program is free software; you can redistribute it and/or modify
+ it under the same terms as Perl itself.
+ .
+ On Debian systems, the complete text of the GNU General Public
+ License 1.0 can be found in the file
+ `/usr/share/common-licenses/GPL-1'.
+ .
+ On Debian systems, the complete text of the "Artistic License" can be
+ found in the file `/usr/share/common-licenses/Artistic'.
+
+Files: debian/*
+Copyright: ยฉ 2004-2006 Eric Dorland, ยฉ 2007-2013 Magnus Holmgren
+License: LGPL-2.1+ or BSD-2-clause
+Comment: The parts of the Debian packaging that is eligible for
+ copyright is ยฉ 2004-2006 Eric Dorland, 2007-2013 Magnus Holmgren and
+ assumed to be licensed under the same licenses as above.
+
+Files: debian/spfquery.libspf2.1
+Copyright: ยฉ 2007 Magnus Holmgren
+License: BSD-2-clause
+Comment: Giving the LGPL as an alternative is quite redundant as the BSD
+ license is so permissive that it allows redistribution under the LGPL
+ or most other licenses anyway.
+
+License: LGPL-2.1+ or BSD-2-clause
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+ .
+ a) The GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1, or (at your option) any
+ later version,
+ .
+ OR
+ .
+ b) The two-clause BSD license.
+ .
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License 2.1 can be found in the file
+ `/usr/share/common-licenses/LGPL-2.1'.
+ .
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ .
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Index: branches/buster/debian/rules
===================================================================
--- branches/buster/debian/rules (nonexistent)
+++ branches/buster/debian/rules (revision 108)
@@ -0,0 +1,88 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+LIB_PACKAGE = libspf2-2
+
+DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE)
+else
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
+endif
+
+CFLAGS := $(shell dpkg-buildflags --get CFLAGS)
+CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
+LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)
+perlld := $(shell perl -MConfig -e 'print $$Config{ld}')
+
+DEB_LDFLAGS_MAINT_APPEND = -Wl,--version-script=$(CURDIR)/debian/libspf2.ver
+buildflags += $(shell DEB_LDFLAGS_MAINT_APPEND="$(DEB_LDFLAGS_MAINT_APPEND)" \
+ dpkg-buildflags --export=configure)
+
+config.status: configure
+ dh_testdir
+ # Add here commands to configure the package.
+ dh_autoreconf
+ ./configure --prefix=/usr $(buildflags)
+
+build: build-arch
+build-indep:
+build-arch: build-arch-stamp
+build-arch-stamp: config.status
+ dh_testdir
+
+ $(MAKE)
+ cd perl && perl Makefile.PL INSTALLDIRS=vendor \
+ OPTIMIZE="$(CPPFLAGS) $(CFLAGS)" LD="$(perlld) $(CFLAGS) $(LDFLAGS)"
+ $(MAKE) -C perl LD_RUN_PATH=
+
+ touch "$@"
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-arch-stamp
+
+ [ ! -f Makefile ] || $(MAKE) distclean
+ [ ! -f perl/Makefile ] || $(MAKE) -C perl realclean
+
+ dh_autoreconf_clean
+ dh_clean
+
+install: build-arch
+ dh_testdir
+ dh_testroot
+ dh_prep
+
+ $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
+ $(MAKE) -C perl install DESTDIR=$(CURDIR)/debian/tmp
+
+binary-arch: install
+ dh_testdir
+ dh_testroot
+ dh_install -a
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+ dh_installdocs -a --link-doc=$(LIB_PACKAGE)
+ dh_installchangelogs -a
+ dh_installman -a
+ dh_strip -a --dbg-package=$(LIB_PACKAGE)-dbg
+ dh_perl -a
+ dh_compress -a
+ dh_fixperms -a
+ dh_makeshlibs -V '$(LIB_PACKAGE) (>= 1.2.8~)'
+ dh_installdeb -a
+ dh_shlibdeps -a
+ dh_gencontrol -a
+ dh_md5sums -a
+ dh_builddeb -a
+
+binary: binary-arch
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.10.tar.gz
+
+.PHONY: build build-indep build-arch clean clean-patched binary-indep binary-arch binary install get-orig-source
/branches/buster/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/buster/debian/libmail-spf-xs-perl.install
===================================================================
--- branches/buster/debian/libmail-spf-xs-perl.install (nonexistent)
+++ branches/buster/debian/libmail-spf-xs-perl.install (revision 108)
@@ -0,0 +1,5 @@
+#!/usr/bin/perl -w
+use Config;
+print <<"" =~ s!^/!!rgm;
+$Config{vendorarch}
+usr/share/man/man3/*.3pm
/branches/buster/debian/libmail-spf-xs-perl.install
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/buster/debian/compat
===================================================================
--- branches/buster/debian/compat (nonexistent)
+++ branches/buster/debian/compat (revision 108)
@@ -0,0 +1 @@
+9
Index: branches/buster/debian/spfquery.libspf2.1
===================================================================
--- branches/buster/debian/spfquery.libspf2.1 (nonexistent)
+++ branches/buster/debian/spfquery.libspf2.1 (revision 108)
@@ -0,0 +1,197 @@
+.\" Title: SPFQUERY
+.\" Author: Magnus Holmgren <holmgren@debian.org>
+.\" Date: 2007-09-06
+.\" Manual: libspf2 manuals for Debian
+.\" Source: libspf2 1.2.5
+.\"
+.TH "SPFQUERY" "1" "2007-09-06" "libspf2 1.2.5" "libspf2 manuals for Debian"
+.\" disable hyphenation
+.nh
+.SH NAME
+spfquery, spfquery.libspf2 \- checks if an IP address is an SPF-authorized SMTP sender for a domain.
+.SH SYNOPSIS
+.ad l
+.HP 9
+.B spfquery
+.RB { \-i | \-\-ip }
+.I ip\-address
+.RB { -s | \-\-sender }
+.RI [ local-part \fB@\fP] domain
+.RB [{ \-h | \-\-helo }
+.IR domain-name ]
+.RB [ \-\-rcpt\-to
+.IR email-address(es) ]
+.RI [ CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-f | \-\-file }
+.IR datafile " [" CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-\-help | \-v | \-\-version }
+.ad b
+.SH DESCRIPTION
+This manual page documents briefly the
+\fBspfquery\fR
+command. It was written for the
+Debian\*[R] distribution because the original program does not have a manual page.
+.PP
+\fBspfquery\fR performs Sender Policy Framework (SPF) authorization
+checks based on the command-line arguments or data given in a file or
+on standard input. For information on SPF see http://www.openspf.org.
+.
+.SH OPTIONS
+Options are divided into two groups: Data options, which must be
+given, though just enough of them to specify a query; and control
+options, which are optional and control the local policy, behaviour
+and output format of spfquery.
+.PP
+This programs follows the GNU \fBgetopt_long_only\fR(3) command line
+syntax: Long options can be given with one or two dashes and can be
+abbreviated to a prefix long enough to be non-ambiguous. If an option
+starting with a single dash doesn't match a long option, it is taken
+as a short option with a following parameter, if applicable. An equals
+sign between the option name and the parameter is optional for both
+short and long options.
+.SS Data options
+The
+\fB\-\-file\fR option conflicts with all the other data options. The
+\fB\-\-helo\fR and \fB\-\-rcpt\-to\fR are optional.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfilename\fR
+Read SPF data from \fIfilename\fR. Specify \(lq-\(rq to read from standard input.
+.sp
+The file should consist of one line per query, each query line consisting of the IP address, sender adress, and optional HELO string, separated by spaces.
+.sp
+\fBNote\fP
+Local parts containing spaces are currently not supported.
+.TP
+\fB\-i\fP, \fB\-\-ip\fP \fIip-address\fP
+Specify the IP address of the remote host that is delivering the mail.
+.TP
+\fB\-s\fP, \fB\-\-sender\fP [\fIlocal-part\fP\fB@\fP]\fIdomain\fP
+Specify the email address that was used as the envelope sender. If no
+username (local part) is given, \(lqpostmaster\(rq will be assumed.
+.TP
+\fB\-h\fP, \fB\-\-helo\fP \fIdomain-name\fP
+Specify that \fIdomain-name\fP was provided in the SMTP HELO (or EHLO) command.
+.TP
+\fB\-r\fP, \fB\-\-rcpt-to\fP \fIrcpt-address\fP[,\fIrcpt-address\fP,...]
+Specify the recipients as comma-separated list. Any secondary mail exchangers of all
+recipient domains are automatically authorized.
+.
+.SS Control options
+.TP
+\fB\-d\fP, \fB\-\-debug\fP[\fB=\fP\fIlevel\fP]
+Turn on debugging output.
+.TP
+\fB\-l\fP, \fB\-\-local\fP \fIspf\-terms\fP
+Test against \fIspf\-terms\fR before the final (implicit or explicit)
+\(lqall\(rq in an SPF record. This can be used to implement a local policy for whitelisting.
+.TP
+\fB\-t, \fB\-\-trusted\fR [\fB1\fR]
+Check the sender domain with trusted\-forwarder.org.
+\fBThis is a non\-standard feature.\fR
+.TP
+\fB\-t\fP \fB0\fP, \fB\-\-trusted\fR \fB0\fP
+Do not check the sender domain with trusted\-forwarder.org. This is the default.
+.TP
+\fB\-g\fP, \fB\-\-guess\fP \fIspf-mechanisms\fP
+Test the sender domain against \fIspf\-mechanisms\fP if the domain has no SPF record.
+.TP
+\fB\-e\fP, \fB\-\-default\-explanation\fP \fIstring\fP
+Default explanation string to use if the SPF record does not specify an expla\%nation string itself.
+.TP
+\fB\-m\fP, \fB\-\-max\-lookup\fP \fInumber\fP
+Maximum number of DNS lookups to allow.
+.TP
+\fB\-c\fP, \fB\-\-sanitize\fP [\fB0\fP|\fB1\fP]
+Do [not] sanitize the output by condensing conse\%cutive white\%space
+into a single space and replacing non-printable characters with
+question marks. Enabled by default.
+.TP
+\fB\-n\fP, \fB\-\-name\fP \fIhostname\fP
+Use
+\fIhostname\fP
+as the name of the local system instead of
+\(lqspfquery\(rq
+(the name is used in the output).
+.TP
+\fB\-k\fP, \fB\-\-keep\-comments\fP
+Print comments found when reading from a file.
+.TP
+\fB\-a\fP, \fB\-\-override\fP \fI...\fP
+.TP
+\fB\-z\fP, \fB\-\-fallback\fP \fI...\fP
+Provide override and fallback SPF records for certain domains.
+\fBNot implemented yet.\fP
+\fBspfquery\fP
+would act as if the speci\%fied records were present before and after any existing record, respectively, of those domains.
+.TP
+\fB\-\-help\fP
+Show summary of options.
+.TP
+\fB\-v\fP, \fB\-\-version\fP
+Show version of program.
+.SH DIAGNOSTICS
+The output ordinarily consists of four lines:
+.IP 1. 4
+the \fIresult code\fP;
+.IP 2. 4
+the \fIexplanation\fP, suitable for use in an SMTP response message, empty
+except when a rejection (permanent or temporary) makes sense;
+.IP 3. 4
+the header comment on its own;
+.IP 4. 4
+the Received\-SPF header field as defined in RFC 4408 section 7,
+incorporating the header comment.
+.PP
+If errors (including no SPF record found!) occur during processing,
+one or more error blocks will be prepended.
+These start with \(lqStartError\(lq and end with \(lqEndError\(lq.
+.PP
+The result codes and their corresponding exit codes are as follows:
+.TP
+.B 1 \(en neutral
+The sender domain explicitly makes no assertion about the \fIip-address\fP.
+This result must be interpreted exactly as if no SPF record at all existed.
+.TP
+.B 2 \(en pass
+The \fIip-address\fP is authorized to send mail for the sender domain.
+.TP
+.B 3 \(en fail
+The \fIip-address\fP is \fBunauthorized\fP to send mail for the sender domain.
+.TP
+.B 4 \(en softfail
+The \fIip-address\fP is not authorized to send mail for the sender domain, but
+the sender domain cannot or does not wish to make a strong assertion that no such mail can
+ever come from it.
+.TP
+.B 5 \(en none
+No SPF record was found.
+.TP
+.BR "6 \(en error" " (temporary)"
+A transient error occurred (e.g. failure to reach a DNS server), preventing a
+result from being reached.
+.TP
+.BR "7 \(en unknown" " (permanent error)"
+One or more SPF records could not be interpreted.
+.SH EXAMPLES
+.nf
+spfquery \-ip=11.22.33.44 \-sender=user@aol.com \-helo=spammer.tld
+spfquery \-f test_data
+echo "127.0.0.1 myname@mydomain.com helohost.com" | spfquery \-f \-
+.fi
+.SH SEE ALSO
+\fBspftest\fR(1), \fBspfd\fR(8)
+.SH AUTHOR
+\fBspfquery\fP was written by Wayne Schlitt.
+.PP
+This manual page was written by Magnus Holmgren for the Debian\*[R]
+system (but may be used by others). Heavily inspired by the spfquery manpage of
+libmail\-spf\-query\-perl (\fBspfquery.mail\-spf\-query\-perl\fR(1)) by Julian Mehnle.
+Also based on the command\-line help of spfquery.
+.SH COPYRIGHT
+Copyright \(co 2007 Magnus Holmgren. Permission is granted to copy,
+distribute and/or modify this document under the terms of the two-clause BSD
+License. See /usr/share/doc/spfquery/copyright.
Index: branches/buster/debian/libspf2-2.symbols
===================================================================
--- branches/buster/debian/libspf2-2.symbols (nonexistent)
+++ branches/buster/debian/libspf2-2.symbols (revision 108)
@@ -0,0 +1,113 @@
+libspf2.so.2 libspf2-2 #MINVER#
+ SPF_debug_handler@Base 0
+ SPF_debug_stdio@Base 0
+ SPF_debug_syslog@Base 0
+ SPF_debugv@Base 0
+ SPF_debugx2@Base 0
+ SPF_debugx@Base 0
+ SPF_dns_cache_new@Base 0
+ SPF_dns_cache_set_ttl@Base 0
+ SPF_dns_free@Base 0
+ SPF_dns_get_client_dom@Base 0
+ SPF_dns_lookup@Base 0
+ SPF_dns_null_new@Base 0
+ SPF_dns_resolv_new@Base 0
+ SPF_dns_rlookup6@Base 0
+ SPF_dns_rlookup@Base 0
+ SPF_dns_rr_buf_realloc@Base 0
+ SPF_dns_rr_dup@Base 0
+ SPF_dns_rr_free@Base 0
+ SPF_dns_rr_new@Base 0
+ SPF_dns_rr_new_init@Base 0
+ SPF_dns_rr_new_nxdomain@Base 0
+ SPF_dns_set_conserve_cache@Base 0
+ SPF_dns_test_new@Base 0
+ SPF_dns_zone_add_str@Base 0
+ SPF_dns_zone_new@Base 0
+ SPF_error_code@Base 0
+ SPF_error_errorp@Base 0
+ SPF_error_handler@Base 0
+ SPF_error_message@Base 0
+ SPF_error_stdio@Base 0
+ SPF_error_syslog@Base 0
+ SPF_errorv@Base 0
+ SPF_errorx2@Base 0
+ SPF_errorx@Base 0
+ SPF_get_lib_version@Base 0
+ SPF_i_done@Base 0
+ SPF_info_handler@Base 0
+ SPF_info_stdio@Base 0
+ SPF_info_syslog@Base 0
+ SPF_infov@Base 0
+ SPF_infox2@Base 0
+ SPF_infox@Base 0
+ SPF_macro_free@Base 0
+ SPF_record_compile@Base 0
+ SPF_record_compile_macro@Base 0
+ SPF_record_expand_data@Base 0
+ SPF_record_find_mod_value@Base 0
+ SPF_record_free@Base 0
+ SPF_record_interpret@Base 0
+ SPF_record_new@Base 0
+ SPF_record_print@Base 0
+ SPF_record_stringify@Base 0
+ SPF_request_free@Base 0
+ SPF_request_get_client_dom@Base 0
+ SPF_request_get_exp@Base 0
+ SPF_request_get_rec_dom@Base 0
+ SPF_request_is_loopback@Base 0
+ SPF_request_new@Base 0
+ SPF_request_query_fallback@Base 0
+ SPF_request_query_mailfrom@Base 0
+ SPF_request_query_rcptto@Base 0
+ SPF_request_set_env_from@Base 0
+ SPF_request_set_helo_dom@Base 0
+ SPF_request_set_ipv4@Base 0
+ SPF_request_set_ipv4_str@Base 0
+ SPF_request_set_ipv6@Base 0
+ SPF_request_set_ipv6_str@Base 0
+ SPF_response_add_error@Base 0
+ SPF_response_add_error_idx@Base 0
+ SPF_response_add_error_ptr@Base 0
+ SPF_response_add_warn@Base 0
+ SPF_response_add_warn_idx@Base 0
+ SPF_response_add_warn_ptr@Base 0
+ SPF_response_combine@Base 0
+ SPF_response_errcode@Base 0
+ SPF_response_errors@Base 0
+ SPF_response_free@Base 0
+ SPF_response_get_explanation@Base 0
+ SPF_response_get_header_comment@Base 0
+ SPF_response_get_received_spf@Base 0
+ SPF_response_get_received_spf_value@Base 0
+ SPF_response_get_smtp_comment@Base 0
+ SPF_response_message@Base 0
+ SPF_response_messages@Base 0
+ SPF_response_new@Base 0
+ SPF_response_reason@Base 0
+ SPF_response_result@Base 0
+ SPF_response_warnings@Base 0
+ SPF_server_free@Base 0
+ SPF_server_get_max_dns_mech@Base 0
+ SPF_server_get_max_dns_mx@Base 0
+ SPF_server_get_max_dns_ptr@Base 0
+ SPF_server_get_record@Base 0
+ SPF_server_new@Base 0
+ SPF_server_new_dns@Base 1.2.8~
+ SPF_server_set_explanation@Base 0
+ SPF_server_set_localpolicy@Base 0
+ SPF_server_set_max_dns_mech@Base 0
+ SPF_server_set_max_dns_mx@Base 0
+ SPF_server_set_max_dns_ptr@Base 0
+ SPF_server_set_rec_dom@Base 0
+ SPF_server_set_sanitize@Base 0
+ SPF_strerror@Base 0
+ SPF_strreason@Base 0
+ SPF_strresult@Base 0
+ SPF_strrrtype@Base 1.2.8~
+ SPF_warning_handler@Base 0
+ SPF_warning_stdio@Base 0
+ SPF_warning_syslog@Base 0
+ SPF_warningv@Base 0
+ SPF_warningx2@Base 0
+ SPF_warningx@Base 0
Index: branches/buster/debian/libspf2.ver
===================================================================
--- branches/buster/debian/libspf2.ver (nonexistent)
+++ branches/buster/debian/libspf2.ver (revision 108)
@@ -0,0 +1,16 @@
+{
+global:
+ SPF_*;
+ main;
+ __libc_csu_*;
+ _init;
+ _fini;
+ _IO_stdin_used;
+ _DYNAMIC_LINKING;
+ __RLD_MAP;
+local:
+ SPF_recalloc;
+ SPF_sanitize;
+ SPF_print_sizeof;
+ *;
+};
Index: branches/buster/debian/spfquery.postinst
===================================================================
--- branches/buster/debian/spfquery.postinst (nonexistent)
+++ branches/buster/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,25 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25 \
+ --slave /usr/share/man/man1/spfquery.1.gz spfquery.1.gz /usr/share/man/man1/spfquery.$source_package.1.gz
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/spfquery"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
Index: branches/buster/debian/libspf2-2-dbg.postinst
===================================================================
--- branches/buster/debian/libspf2-2-dbg.postinst (nonexistent)
+++ branches/buster/debian/libspf2-2-dbg.postinst (revision 108)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/libspf2-2-dbg"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Index: branches/buster/debian/libspf2-dev.postinst
===================================================================
--- branches/buster/debian/libspf2-dev.postinst (nonexistent)
+++ branches/buster/debian/libspf2-dev.postinst (revision 108)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/libspf2-dev"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Index: branches/buster/debian/docs
===================================================================
--- branches/buster/debian/docs (nonexistent)
+++ branches/buster/debian/docs (revision 108)
@@ -0,0 +1,2 @@
+README
+TODO
Index: branches/buster/debian/README.Debian
===================================================================
--- branches/buster/debian/README.Debian (nonexistent)
+++ branches/buster/debian/README.Debian (revision 108)
@@ -0,0 +1,11 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+ -- Magnus Holmgren <holmgren@debian.org>, Mon, 14 Sep 2009 22:33:12 +0200
Index: branches/buster/debian/source/format
===================================================================
--- branches/buster/debian/source/format (nonexistent)
+++ branches/buster/debian/source/format (revision 108)
@@ -0,0 +1 @@
+3.0 (quilt)
Index: branches/buster/debian/libspf2-dev.install
===================================================================
--- branches/buster/debian/libspf2-dev.install (nonexistent)
+++ branches/buster/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,3 @@
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.so
Index: branches/buster/debian/spfquery.install
===================================================================
--- branches/buster/debian/spfquery.install (nonexistent)
+++ branches/buster/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+usr/bin/spfquery
+usr/bin/spftest
+usr/bin/spf_example
+usr/bin/spfd usr/sbin
Index: branches/buster/debian/libspf2-2.install
===================================================================
--- branches/buster/debian/libspf2-2.install (nonexistent)
+++ branches/buster/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+usr/lib/lib*.so.*
Index: branches/buster/debian/spfquery.manpages
===================================================================
--- branches/buster/debian/spfquery.manpages (nonexistent)
+++ branches/buster/debian/spfquery.manpages (revision 108)
@@ -0,0 +1 @@
+debian/spfquery.libspf2.1
Index: branches/buster/debian/watch
===================================================================
--- branches/buster/debian/watch (nonexistent)
+++ branches/buster/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: branches/buster/debian/spfquery.prerm
===================================================================
--- branches/buster/debian/spfquery.prerm (nonexistent)
+++ branches/buster/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: branches/buster/debian
===================================================================
--- branches/buster/debian (nonexistent)
+++ branches/buster/debian (revision 108)
/branches/buster/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: branches/squeeze/debian/changelog
===================================================================
--- branches/squeeze/debian/changelog (nonexistent)
+++ branches/squeeze/debian/changelog (revision 108)
@@ -0,0 +1,246 @@
+libspf2 (1.2.9-4+squeeze1) oldstable; urgency=low
+
+ * ipv6_buffer_miscalculation.dpatch: Include further fixes from wheezy
+ (Closes: #718581).
+
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 Aug 2013 09:37:47 +0200
+
+libspf2 (1.2.9-4) unstable; urgency=low
+
+ * Drop obsolete README.Debian-source; move non-obsolete info to
+ libspf2-dev.README.Debian.
+ * debian/libspf2.ver: Explicitly unhide certain special symbols that
+ became hidden on the mips and mipsel architectures but nowhere else,
+ causing a FTBFS.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 03 Oct 2009 21:29:19 +0200
+
+libspf2 (1.2.9-3) unstable; urgency=high
+
+ * ipv6_buffer_miscalculation.dpatch: Fix an abort() caused by
+ miscalculating the size of an internal buffer when mail is received
+ over IPv6. Thanks to Matthias Scheler <tron@netbsd.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 13 Sep 2009 20:23:22 +0200
+
+libspf2 (1.2.9-2) unstable; urgency=low
+
+ * debian/rules: Correct version.
+ * 01_private_glib_functions.dpatch: Avoid linking private glibc
+ functions.
+ * Simplify debian/*.install and exclude the libtool .la file from the
+ -dev package. Set DEB_DH_INSTALL_SOURCEDIR accordingly.
+ * Add ${misc:Depends} to Depends.
+ * Add debug package.
+ * Use ld version script to hide internal symbols.
+ * Bump Standards-Version to 3.8.3.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 25 Aug 2009 00:15:01 +0200
+
+libspf2 (1.2.9-1) unstable; urgency=high
+
+ * New upstream release.
+ - Drops non-dfsg Free IETF internet draft, so tarball no longer needs
+ repacking
+ + Fixes exploitable buffer overflow (LP: #287534)
+ + Multiple fixes for improved RFC 4408 compliance
+ + Update libspf2-2.symbols for new symbol
+ + 20_spf_dns_include_std_headers.dpatch: Updated.
+ * Thanks to Scott Kitterman.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 04 Nov 2008 21:14:31 +0100
+
+libspf2 (1.2.8~dfsg-1) unstable; urgency=low
+
+ * Merge changes from Ubuntu.
+ * Fix and tweak library dependency information (shlibs as well as
+ symbols).
+ * Upgrade to Standards-Version: 3.8.0. Changes needed:
+ + Add debian/README.source (ยง 4.9).
+ * Bring debian/copyright a bit more up-to-date.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 02 Nov 2008 12:29:51 +0100
+
+libspf2 (1.2.8~dfsg-0ubuntu1) intrepid; urgency=low
+
+ * New upstream release (LP: #283920)
+ - Fixes multiple memory leaks
+ - CVE2008-2469 buffer overflows
+ - Adds new documentation
+ - Drop all patches except 20_spf_dns_include_std_headers.dpatch (included
+ upstream)
+ - Freshen 20_spf_dns_include_std_headers.dpatch
+ - Update debian/rules for new release
+ * Repack tarball to remove non-DFSG Free IETF draft
+ * Added debian/libspf2-2.symbols and updated for new version
+ * Drop README.Debian since it no longer applies.
+
+ -- Scott Kitterman <scott@kitterman.com> Sun, 19 Oct 2008 01:00:13 -0400
+
+libspf2 (1.2.5.dfsg-5) unstable; urgency=low
+
+ * 43_new_explanation_url.dpatch: Bring default explanation up to date by
+ referring to www.openspf.org instead of spf.pobox.com.
+ * Add spfquery(1) manpage.
+ * Fix format of copyright notice in debian/copyright.
+ * Move upstream homepage URL to the new Homepage control field, rename
+ VCS control fields, and update Standards-Version.
+ * A few cosmetic adjustments including fixing the indentation of the
+ 1.2.5.dfsg-3 entry below (Closes: #465466).
+ * New maintainer email address.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 18 Apr 2008 17:51:28 +0200
+
+libspf2 (1.2.5.dfsg-4) unstable; urgency=low
+
+ * Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
+ (Closes: #440147). Thanks to Matthias Cramer.
+ * 35_untabify_help.dpatch: Make --help output of utilities less ugly by
+ converting tabs to spaces.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
+
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: branches/squeeze/debian/patches/ipv6_buffer_miscalculation.dpatch
===================================================================
--- branches/squeeze/debian/patches/ipv6_buffer_miscalculation.dpatch (nonexistent)
+++ branches/squeeze/debian/patches/ipv6_buffer_miscalculation.dpatch (revision 108)
@@ -0,0 +1,59 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## ipv6_buffer_miscalculation.dpatch by Matthias Scheler <tron@netbsd.org> and others
+##
+## DP: Fix various IPv6-related typos, C&P bugs etc.
+## DP: These can crash applications using libspf2 or give the wrong result if
+## DP: an e-mail gets delivered via SMTP over IPv6 depending on the remote
+## DP: machine's IPv6 address.
+
+@DPATCH@
+--- a/src/libspf2/spf_expand.c 2008-11-03 21:29:00.000000000 +0000
++++ b/src/libspf2/spf_expand.c 2009-09-08 11:27:52.000000000 +0100
+@@ -245,7 +245,7 @@
+ case PARM_CLIENT_IP: /* SMTP client IP */
+ #ifdef COMPUTE
+ if (compute_length) {
+- len = sizeof(ip6_buf);
++ len = sizeof(ip6_rbuf);
+ if (d->dv.url_encode)
+ len *= 3;
+ buflen += len;
+--- a/src/libspf2/spf_interpret.c 2008-10-22 11:47:43.000000000 -0400
++++ b/src/libspf2/spf_interpret.c 2009-09-08 00:42:25.000000000 -0400
+@@ -505,7 +505,7 @@
+ char dst_ip6_buf[ INET6_ADDRSTRLEN ];
+
+ struct in6_addr src_ipv6;
+- int cidr, mask;
++ int cidr, cidr_save, mask;
+ int i;
+ int match;
+
+@@ -517,6 +517,7 @@
+ cidr = SPF_i_mech_cidr(spf_request, mech);
+ if ( cidr == 0 )
+ cidr = 128;
++ cidr_save = cidr;
+
+ match = TRUE;
+ for( i = 0; i < array_elem( ipv6.s6_addr ) && match; i++ )
+@@ -538,7 +539,7 @@
+ INET_NTOP(AF_INET6, &ipv6.s6_addr,
+ dst_ip6_buf, sizeof(dst_ip6_buf));
+ SPF_debugf( "ip_match: %s == %s (/%d): %d",
+- src_ip6_buf, dst_ip6_buf, cidr, match );
++ src_ip6_buf, dst_ip6_buf, cidr_save, match );
+ }
+
+ return match;
+--- a/src/libspf2/spf_compile.c 2008-11-03 15:37:33.000000000 -0500
++++ b/src/libspf2/spf_compile.c 2009-09-07 23:46:02.000000000 -0400
+@@ -778,7 +778,7 @@
+ const char *end;
+ const char *p;
+
+- char buf[ INET_ADDRSTRLEN ];
++ char buf[ INET6_ADDRSTRLEN ];
+ size_t len;
+ int err;
+
Index: branches/squeeze/debian/patches/00list
===================================================================
--- branches/squeeze/debian/patches/00list (nonexistent)
+++ branches/squeeze/debian/patches/00list (revision 108)
@@ -0,0 +1,3 @@
+01_private_glibc_functions
+20_spf_dns_include_std_headers
+ipv6_buffer_miscalculation
Index: branches/squeeze/debian/patches/01_private_glibc_functions.dpatch
===================================================================
--- branches/squeeze/debian/patches/01_private_glibc_functions.dpatch (nonexistent)
+++ branches/squeeze/debian/patches/01_private_glibc_functions.dpatch (revision 108)
@@ -0,0 +1,45 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 01_private_glibc_functions.dpatch by Magnus Holmgren <holmgren@debian.org>
+##
+## DP: Avoid linking private glibc functions (specifically __ns_get16).
+
+@DPATCH@
+diff -urNad trunk~/configure.ac trunk/configure.ac
+--- trunk~/configure.ac 2008-11-04 16:32:10.000000000 +0100
++++ trunk/configure.ac 2008-11-15 15:35:38.000000000 +0100
+@@ -272,7 +272,8 @@
+ AC_CHECK_FUNCS([gethostbyname inet_ntoa select strrchr strstr strtol])
+
+ AC_REPLACE_FUNCS([getopt_long_only strncasecmp])
+-AC_REPLACE_FUNCS([__ns_initparse __ns_name_uncompress __ns_get16 __ns_msg_getflag])
++AC_REPLACE_FUNCS([__ns_initparse __ns_name_uncompress __ns_msg_getflag])
++AC_LIBOBJ(__ns_get16)
+
+ AC_CONFIG_FILES([Makefile
+ Doxyfile
+diff -urNad trunk~/configure trunk/configure
+--- trunk~/configure 2008-11-04 16:32:56.000000000 +0100
++++ trunk/configure 2008-11-15 15:35:39.000000000 +0100
+@@ -25752,8 +25752,7 @@
+
+
+
+-
+-for ac_func in __ns_initparse __ns_name_uncompress __ns_get16 __ns_msg_getflag
++for ac_func in __ns_initparse __ns_name_uncompress __ns_msg_getflag
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ { echo "$as_me:$LINENO: checking for $ac_func" >&5
+@@ -25854,6 +25853,12 @@
+ done
+
+
++case " $LIBOBJS " in
++ *" __ns_get16.$ac_objext "* ) ;;
++ *) LIBOBJS="$LIBOBJS __ns_get16.$ac_objext"
++ ;;
++esac
++
+
+ ac_config_files="$ac_config_files Makefile Doxyfile src/Makefile src/include/Makefile src/libreplace/Makefile src/libspf2/Makefile src/spfquery/Makefile src/spftest/Makefile src/spfd/Makefile src/spf_example/Makefile"
+
/branches/squeeze/debian/patches/01_private_glibc_functions.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/squeeze/debian/patches/20_spf_dns_include_std_headers.dpatch
===================================================================
--- branches/squeeze/debian/patches/20_spf_dns_include_std_headers.dpatch (nonexistent)
+++ branches/squeeze/debian/patches/20_spf_dns_include_std_headers.dpatch (revision 108)
@@ -0,0 +1,67 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_dns_include_std_headers.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Include arpa/nameser.h and netdb.h from spf_dns.h instead of defining
+## DP: the constants needed unless certain HAVE_ macros are defined.
+## DP: Updated for libspf2 1.2.8/9 by Scott Kitterman <scott@kitterman.com>
+
+@DPATCH@
+diff -urNad libspf2-1.2.9~/src/include/spf_dns.h libspf2-1.2.9/src/include/spf_dns.h
+--- libspf2-1.2.9~/src/include/spf_dns.h 2008-10-27 12:27:14.000000000 -0400
++++ libspf2-1.2.9/src/include/spf_dns.h 2008-11-04 10:10:58.000000000 -0500
+@@ -63,48 +63,19 @@
+ *
+ */
+
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
++ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+ /*
+- * For those who don't have <arpa/nameserv.h>
++ * Type 99 decl does not exist in Debian libc6 (not even 2.7)
+ */
+-
+-/* XXX This should use a more sensible define. */
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /**< Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+ #if ! HAVE_DECL_NS_T_SPF
+ #define ns_t_spf 99
+ #endif
+
+-#if ! HAVE_DECL_NS_T_INVALID
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /**< NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /**< SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /**< invalid/unimplmeneted query */
+-#define NO_DATA 4 /**< host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/branches/squeeze/debian/patches/20_spf_dns_include_std_headers.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/squeeze/debian/libspf2.ver
===================================================================
--- branches/squeeze/debian/libspf2.ver (nonexistent)
+++ branches/squeeze/debian/libspf2.ver (revision 108)
@@ -0,0 +1,13 @@
+{
+global:
+ SPF_*;
+ main;
+ __libc_csu_*;
+ _init;
+ _fini;
+ _IO_stdin_used;
+ _DYNAMIC_LINKING;
+ __RLD_MAP;
+local:
+ *;
+};
Index: branches/squeeze/debian/libspf2-dev.README.Debian
===================================================================
--- branches/squeeze/debian/libspf2-dev.README.Debian (nonexistent)
+++ branches/squeeze/debian/libspf2-dev.README.Debian (revision 108)
@@ -0,0 +1,11 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+ -- Magnus Holmgren <holmgren@debian.org>, Mon, 14 Sep 2009 22:33:12 +0200
Index: branches/squeeze/debian/control
===================================================================
--- branches/squeeze/debian/control (nonexistent)
+++ branches/squeeze/debian/control (revision 108)
@@ -0,0 +1,63 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <holmgren@debian.org>
+Build-Depends: debhelper (>= 5), cdbs, dpatch, autotools-dev
+Standards-Version: 3.8.3
+Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+Vcs-Browser: http://svn.kibibyte.se/libspf2
+Homepage: http://www.libspf2.org/
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}), ${misc:Depends}
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}) | spfquery (= ${binary:Version}),
+ ${misc:Depends}
+Description: library for validating mail senders with SPF (debugging symbols)
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair.
+ .
+ This package contains the debugging symbols.
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
Index: branches/squeeze/debian/libspf2-2.symbols
===================================================================
--- branches/squeeze/debian/libspf2-2.symbols (nonexistent)
+++ branches/squeeze/debian/libspf2-2.symbols (revision 108)
@@ -0,0 +1,116 @@
+libspf2.so.2 libspf2-2 #MINVER#
+ SPF_debug_handler@Base 0
+ SPF_debug_stdio@Base 0
+ SPF_debug_syslog@Base 0
+ SPF_debugv@Base 0
+ SPF_debugx2@Base 0
+ SPF_debugx@Base 0
+ SPF_dns_cache_new@Base 0
+ SPF_dns_cache_set_ttl@Base 0
+ SPF_dns_free@Base 0
+ SPF_dns_get_client_dom@Base 0
+ SPF_dns_lookup@Base 0
+ SPF_dns_null_new@Base 0
+ SPF_dns_resolv_new@Base 0
+ SPF_dns_rlookup6@Base 0
+ SPF_dns_rlookup@Base 0
+ SPF_dns_rr_buf_realloc@Base 0
+ SPF_dns_rr_dup@Base 0
+ SPF_dns_rr_free@Base 0
+ SPF_dns_rr_new@Base 0
+ SPF_dns_rr_new_init@Base 0
+ SPF_dns_rr_new_nxdomain@Base 0
+ SPF_dns_set_conserve_cache@Base 0
+ SPF_dns_test_new@Base 0
+ SPF_dns_zone_add_str@Base 0
+ SPF_dns_zone_new@Base 0
+ SPF_error_code@Base 0
+ SPF_error_errorp@Base 0
+ SPF_error_handler@Base 0
+ SPF_error_message@Base 0
+ SPF_error_stdio@Base 0
+ SPF_error_syslog@Base 0
+ SPF_errorv@Base 0
+ SPF_errorx2@Base 0
+ SPF_errorx@Base 0
+ SPF_get_lib_version@Base 0
+ SPF_i_done@Base 0
+ SPF_info_handler@Base 0
+ SPF_info_stdio@Base 0
+ SPF_info_syslog@Base 0
+ SPF_infov@Base 0
+ SPF_infox2@Base 0
+ SPF_infox@Base 0
+ SPF_macro_free@Base 0
+ SPF_print_sizeof@Base 0
+ SPF_realloc@Base 1.2.9
+ SPF_record_compile@Base 0
+ SPF_record_compile_macro@Base 0
+ SPF_record_expand_data@Base 0
+ SPF_record_find_mod_value@Base 0
+ SPF_record_free@Base 0
+ SPF_record_interpret@Base 0
+ SPF_record_new@Base 0
+ SPF_record_print@Base 0
+ SPF_record_stringify@Base 0
+ SPF_request_free@Base 0
+ SPF_request_get_client_dom@Base 0
+ SPF_request_get_exp@Base 0
+ SPF_request_get_rec_dom@Base 0
+ SPF_request_is_loopback@Base 0
+ SPF_request_new@Base 0
+ SPF_request_query_fallback@Base 0
+ SPF_request_query_mailfrom@Base 0
+ SPF_request_query_rcptto@Base 0
+ SPF_request_set_env_from@Base 0
+ SPF_request_set_helo_dom@Base 0
+ SPF_request_set_ipv4@Base 0
+ SPF_request_set_ipv4_str@Base 0
+ SPF_request_set_ipv6@Base 0
+ SPF_request_set_ipv6_str@Base 0
+ SPF_response_add_error@Base 0
+ SPF_response_add_error_idx@Base 0
+ SPF_response_add_error_ptr@Base 0
+ SPF_response_add_warn@Base 0
+ SPF_response_add_warn_idx@Base 0
+ SPF_response_add_warn_ptr@Base 0
+ SPF_response_combine@Base 0
+ SPF_response_errcode@Base 0
+ SPF_response_errors@Base 0
+ SPF_response_free@Base 0
+ SPF_response_get_explanation@Base 0
+ SPF_response_get_header_comment@Base 0
+ SPF_response_get_received_spf@Base 0
+ SPF_response_get_received_spf_value@Base 0
+ SPF_response_get_smtp_comment@Base 0
+ SPF_response_message@Base 0
+ SPF_response_messages@Base 0
+ SPF_response_new@Base 0
+ SPF_response_reason@Base 0
+ SPF_response_result@Base 0
+ SPF_response_warnings@Base 0
+ SPF_sanitize@Base 0
+ SPF_server_free@Base 0
+ SPF_server_get_max_dns_mech@Base 0
+ SPF_server_get_max_dns_mx@Base 0
+ SPF_server_get_max_dns_ptr@Base 0
+ SPF_server_get_record@Base 0
+ SPF_server_new@Base 0
+ SPF_server_new_dns@Base 1.2.8~
+ SPF_server_set_explanation@Base 0
+ SPF_server_set_localpolicy@Base 0
+ SPF_server_set_max_dns_mech@Base 0
+ SPF_server_set_max_dns_mx@Base 0
+ SPF_server_set_max_dns_ptr@Base 0
+ SPF_server_set_rec_dom@Base 0
+ SPF_server_set_sanitize@Base 0
+ SPF_strerror@Base 0
+ SPF_strreason@Base 0
+ SPF_strresult@Base 0
+ SPF_strrrtype@Base 1.2.8~
+ SPF_warning_handler@Base 0
+ SPF_warning_stdio@Base 0
+ SPF_warning_syslog@Base 0
+ SPF_warningv@Base 0
+ SPF_warningx2@Base 0
+ SPF_warningx@Base 0
Index: branches/squeeze/debian/rules
===================================================================
--- branches/squeeze/debian/rules (nonexistent)
+++ branches/squeeze/debian/rules (revision 108)
@@ -0,0 +1,19 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+
+include /usr/share/cdbs/1/class/autotools.mk
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/dpatch.mk
+
+DEB_DH_MAKESHLIBS_ARGS_libspf2-2 = -V 'libspf2-2 (>= 1.2.9)'
+LDFLAGS += -Wl,--version-script=$(CURDIR)/debian/libspf2.ver
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp
+
+binary-install/spfquery::
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.9.tar.gz
/branches/squeeze/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/squeeze/debian/libspf2-dev.install
===================================================================
--- branches/squeeze/debian/libspf2-dev.install (nonexistent)
+++ branches/squeeze/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,3 @@
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.so
Index: branches/squeeze/debian/spfquery.install
===================================================================
--- branches/squeeze/debian/spfquery.install (nonexistent)
+++ branches/squeeze/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+usr/bin/spfquery
+usr/bin/spftest
+usr/bin/spf_example
+usr/bin/spfd usr/sbin
Index: branches/squeeze/debian/libspf2-2.install
===================================================================
--- branches/squeeze/debian/libspf2-2.install (nonexistent)
+++ branches/squeeze/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+usr/lib/lib*.so.*
Index: branches/squeeze/debian/copyright
===================================================================
--- branches/squeeze/debian/copyright (nonexistent)
+++ branches/squeeze/debian/copyright (revision 108)
@@ -0,0 +1,39 @@
+This package was debianized by Eric Dorland <eric@debian.org> on
+Sun, 04 Jul 2004 19:00:36 -0400
+
+The current maintainer is Magnus Holmgren <holmgren@debian.org>.
+
+It was downloaded from http://www.libspf2.org/
+
+Upstream authors:
+ - Current maintainer: Shevek <libspf2@anarres.org>
+ - Contributors: Magnus Holmgren, Julian Mehnle, Scott Kitterman,
+ Dan Kaminsky, Ben Chelf, Hannah Schroeter, Manish Raje
+ - Original author, 1.0 series: Wayne Schlitt <wayne@schlitt.net>
+
+Copyright:
+
+Software copyright ยฉ 2004-2005 Wayne Schlitt and Shevek,
+ ยฉ 2008 Shevek.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+
+ a) The GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1, or (at your option) any
+ later version,
+
+ OR
+
+ b) The two-clause BSD license.
+
+On Debian systems, the complete text of the GNU Lesser General Public
+License can be found in the file `/usr/share/common-licenses/LGPL' and
+the BSD license can be found in the file `/usr/share/common-licenses/BSD'.
+
+The parts of the Debian packaging that is eligible for copyright is ยฉ
+2004-2006 Eric Dorland, 2007-2008 Magnus Holmgren and assumed to be
+licensed under the same licenses as above. The spfquery(1) manpage
+is (Giving the LGPL as an alternative is quite redundant as the BSD
+license is so permissive that it allows redistribution under the LGPL
+or most other licenses anyway).
Index: branches/squeeze/debian/README.source
===================================================================
--- branches/squeeze/debian/README.source (nonexistent)
+++ branches/squeeze/debian/README.source (revision 108)
@@ -0,0 +1,8 @@
+This package uses dpatch to manage all modifications to the upstream
+source. Changes are stored in the source package as diffs in
+debian/patches and applied during the build. For basic usage
+information, see
+
+ /usr/share/doc/dpatch/README.source.gz
+
+(after installing dpatch).
Index: branches/squeeze/debian/spfquery.postinst
===================================================================
--- branches/squeeze/debian/spfquery.postinst (nonexistent)
+++ branches/squeeze/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,17 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25 \
+ --slave /usr/share/man/man1/spfquery.1.gz spfquery.1.gz /usr/share/man/man1/spfquery.$source_package.1.gz
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+#DEBHELPER#
Index: branches/squeeze/debian/spfquery.manpages
===================================================================
--- branches/squeeze/debian/spfquery.manpages (nonexistent)
+++ branches/squeeze/debian/spfquery.manpages (revision 108)
@@ -0,0 +1 @@
+debian/spfquery.libspf2.1
Index: branches/squeeze/debian/spfquery.libspf2.1
===================================================================
--- branches/squeeze/debian/spfquery.libspf2.1 (nonexistent)
+++ branches/squeeze/debian/spfquery.libspf2.1 (revision 108)
@@ -0,0 +1,199 @@
+.\" Title: SPFQUERY
+.\" Author: Magnus Holmgren <magnus@kibibyte.se>
+.\" Date: 2007-09-06
+.\" Manual: libspf2 manuals for Debian
+.\" Source: libspf2 1.2.5
+.\"
+.TH "SPFQUERY" "1" "2007-09-06" "libspf2 1.2.5" "libspf2 manuals for Debian"
+.\" disable hyphenation
+.nh
+.SH NAME
+spfquery, spfquery.libspf2 \- checks if an IP address is an SPF-authorized SMTP sender for a domain.
+.SH SYNOPSIS
+.ad l
+.HP 9
+.B spfquery
+.RB { \-i | \-\-ip }
+.I ip\-address
+.RB { -s | \-\-sender }
+.RI [ local-part \fB@\fP] domain
+.RB [{ \-h | \-\-helo }
+.IR domain-name ]
+.RB [ \-\-rcpt\-to
+.IR email-address(es) ]
+.RI [ CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-f | \-\-file }
+.IR datafile " [" CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-\-help | \-v | \-\-version }
+.ad b
+.SH DESCRIPTION
+This manual page documents briefly the
+\fBspfquery\fR
+command. It was written for the
+Debian\*[R] distribution because the original program does not have a manual page.
+.PP
+\fBspfquery\fR performs Sender Policy Framework (SPF) authorization
+checks based on the command-line arguments or data given in a file or
+on standard input. For information on SPF see http://www.openspf.org.
+.
+.SH OPTIONS
+Options are divided into two groups: Data options, which must be
+given, though just enough of them to specify a query; and control
+options, which are optional and control the local policy, behaviour
+and output format of spfquery.
+.PP
+This programs follows the GNU \fBgetopt_long_only\fR(3) command line
+syntax: Long options can be given with one or two dashes and can be
+abbreviated to a prefix long enough to be non-ambiguous. If an option
+starting with a single dash doesn't match a long option, it is taken
+as a short option with a following parameter, if applicable. An equals
+sign between the option name and the parameter is optional for both
+short and long options.
+.SS Data options
+The
+\fB\-\-file\fR option conflicts with all the other data options. The
+\fB\-\-helo\fR and \fB\-\-rcpt\-to\fR are optional.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfilename\fR
+Read SPF data from \fIfilename\fR. Specify \(lq-\(rq to read from standard input.
+.sp
+The file should consist of one line per query, each query line consisting of the IP address, sender adress, and optional HELO string, separated by spaces.
+.sp
+\fBNote\fP
+Local parts containing spaces are currently not supported.
+.TP
+\fB\-i\fP, \fB\-\-ip\fP \fIip-address\fP
+Specify the IP address of the remote host that is delivering the mail.
+.TP
+\fB\-s\fP, \fB\-\-sender\fP [\fIlocal-part\fP\fB@\fP]\fIdomain\fP
+Specify the email address that was used as the envelope sender. If no
+username (local part) is given, \(lqpostmaster\(rq will be assumed.
+.TP
+\fB\-h\fP, \fB\-\-helo\fP \fIdomain-name\fP
+Specify that \fIdomain-name\fP was provided in the SMTP HELO (or EHLO) command.
+.TP
+\fB\-r\fP, \fB\-\-rcpt-to\fP \fIrcpt-address\fP[,\fIrcpt-address\fP,...]
+Specify the recipients as comma-separated list. Any secondary mail exchangers of all
+recipient domains are automatically authorized.
+.
+.SS Control options
+.TP
+\fB\-d\fP, \fB\-\-debug\fP[\fB=\fP\fIlevel\fP]
+Turn on debugging output.
+.TP
+\fB\-l\fP, \fB\-\-local\fP \fIspf\-terms\fP
+Test against \fIspf\-terms\fR before the final (implicit or explicit)
+\(lqall\(rq in an SPF record. This can be used to implement a local policy for whitelisting.
+.TP
+\fB\-t, \fB\-\-trusted\fR [\fB1\fR]
+Check the sender domain with trusted\-forwarder.org.
+\fBThis is a non\-standard feature.\fR
+.TP
+\fB\-t\fP \fB0\fP, \fB\-\-trusted\fR \fB0\fP
+Do not check the sender domain with trusted\-forwarder.org. This is the default.
+.TP
+\fB\-g\fP, \fB\-\-guess\fP \fIspf-mechanisms\fP
+Test the sender domain against \fIspf\-mechanisms\fP if the domain has no SPF record.
+.TP
+\fB\-e\fP, \fB\-\-default\-explanation\fP \fIstring\fP
+Default explanation string to use if the SPF record does not specify an expla\%nation string itself.
+.TP
+\fB\-m\fP, \fB\-\-max\-lookup\fP \fInumber\fP
+Maximum number of DNS lookups to allow.
+.TP
+\fB\-c\fP, \fB\-\-sanitize\fP [\fB0\fP|\fB1\fP]
+Do [not] sanitize the output by condensing conse\%cutive white\%space
+into a single space and replacing non-printable characters with
+question marks. Enabled by default.
+.TP
+\fB\-n\fP, \fB\-\-name\fP \fIhostname\fP
+Use
+\fIhostname\fP
+as the name of the local system instead of
+\(lqspfquery\(rq
+(the name is used in the output).
+.TP
+\fB\-k\fP, \fB\-\-keep\-comments\fP
+Print comments found when reading from a file.
+.TP
+\fB\-a\fP, \fB\-\-override\fP \fI...\fP
+.TP
+\fB\-z\fP, \fB\-\-fallback\fP \fI...\fP
+Provide override and fallback SPF records for certain domains.
+\fBNot implemented yet.\fP
+\fBspfquery\fP
+would act as if the speci\%fied records were present before and after any existing record, respectively, of those domains.
+.TP
+\fB\-\-help\fP
+Show summary of options.
+.TP
+\fB\-v\fP, \fB\-\-version\fP
+Show version of program.
+.SH DIAGNOSTICS
+The output ordinarily consists of four lines:
+.IP 1. 4
+the \fIresult code\fP;
+.IP 2. 4
+the \fIexplanation\fP, suitable for use in an SMTP response message, empty
+except when a rejection (permanent or temporary) makes sense;
+.IP 3. 4
+the header comment on its own;
+.IP 4. 4
+the Received\-SPF header field as defined in RFC 4408 section 7,
+incorporating the header comment.
+.PP
+If errors (including no SPF record found!) occur during processing,
+one or more error blocks will be prepended.
+These start with \(lqStartError\(lq and end with \(lqEndError\(lq.
+.PP
+The result codes and their corresponding exit codes are as follows:
+.TP
+.B 1 \(en neutral
+The sender domain explicitly makes no assertion about the \fIip-address\fP.
+This result must be interpreted exactly as if no SPF record at all existed.
+.TP
+.B 2 \(en pass
+The \fIip-address\fP is authorized to send mail for the sender domain.
+.TP
+.B 3 \(en fail
+The \fIip-address\fP is \fBunauthorized\fP to send mail for the sender domain.
+.TP
+.B 4 \(en softfail
+The \fIip-address\fP is not authorized to send mail for the sender domain, but
+the sender domain cannot or does not wish to make a strong assertion that no such mail can
+ever come from it.
+.TP
+.B 5 \(en none
+No SPF record was found.
+.TP
+.BR "6 \(en error" " (temporary)"
+A transient error occurred (e.g. failure to reach a DNS server), preventing a
+result from being reached.
+.TP
+.BR "7 \(en unknown" " (permanent error)"
+One or more SPF records could not be interpreted.
+.SH EXAMPLES
+.nf
+spfquery \-ip=11.22.33.44 \-sender=user@aol.com \-helo=spammer.tld
+spfquery \-f test_data
+echo "127.0.0.1 myname@mydomain.com helohost.com" | spfquery \-f \-
+.fi
+.SH SEE ALSO
+\fBspftest\fR(1), \fBspfd\fR(8)
+.SH AUTHOR
+\fBspfquery\fP was written by Wayne Schlitt.
+.PP
+This manual page was written by Magnus Holmgren for the Debian\*[R]
+system (but may be used by others). Heavily inspired by the spfquery manpage of
+libmail\-spf\-query\-perl (\fBspfquery.mail\-spf\-query\-perl\fR(1)) by Julian Mehnle.
+Also based on the command\-line help of spfquery.
+.SH COPYRIGHT
+Copyright \(co 2007 Magnus Holmgren. Permission is granted to copy,
+distribute and/or modify this document under the terms of the BSD
+License.
+.PP
+On Debian systems, the complete text of the BSD License can be found in /usr/share/common\-licenses/BSD.
Index: branches/squeeze/debian/watch
===================================================================
--- branches/squeeze/debian/watch (nonexistent)
+++ branches/squeeze/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: branches/squeeze/debian/spfquery.prerm
===================================================================
--- branches/squeeze/debian/spfquery.prerm (nonexistent)
+++ branches/squeeze/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: branches/squeeze/debian/compat
===================================================================
--- branches/squeeze/debian/compat (nonexistent)
+++ branches/squeeze/debian/compat (revision 108)
@@ -0,0 +1 @@
+5
Index: branches/squeeze/debian
===================================================================
--- branches/squeeze/debian (nonexistent)
+++ branches/squeeze/debian (revision 108)
/branches/squeeze/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: branches/lenny/debian/changelog
===================================================================
--- branches/lenny/debian/changelog (nonexistent)
+++ branches/lenny/debian/changelog (revision 108)
@@ -0,0 +1,187 @@
+libspf2 (1.2.5.dfsg-5+lenny2) testing-security; urgency=high
+
+ * 51_actually-keep-track-of-max_var_len.dpatch: Fix possible DoS with
+ long sender addresses. Thanks to Hannah Schroeter.
+ * 52_compile_bufoverflow.dpatch: Prevent buffer overflows in SPF_compile
+ from mechanisms with huge domainspecs. Workaround suggested by
+ upstream. Limits the size of mechanisms and modifiers, but that
+ shouldn't be a problem in practice.
+ * 42_empty_sender.dpatch could previously cause segfaults by trying to
+ write to a constant string. Fixed.
+
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 05 Nov 2008 10:37:20 +0100
+
+libspf2 (1.2.5.dfsg-5+lenny1) testing-security; urgency=high
+
+ * [CVE-2008-2469] 50_dns_resolv_bufoverflow.dpatch: Fix buffer overflows
+ in DNS response parsing.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 19 Oct 2008 22:14:18 +0200
+
+libspf2 (1.2.5.dfsg-5) unstable; urgency=low
+
+ * 43_new_explanation_url.dpatch: Bring default explanation up to date by
+ referring to www.openspf.org instead of spf.pobox.com.
+ * Add spfquery(1) manpage.
+ * Fix format of copyright notice in debian/copyright.
+ * Move upstream homepage URL to the new Homepage control field, rename
+ VCS control fields, and update Standards-Version.
+ * A few cosmetic adjustments including fixing the indentation of the
+ 1.2.5.dfsg-3 entry below (Closes: #465466).
+ * New maintainer email address.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 18 Apr 2008 17:51:28 +0200
+
+libspf2 (1.2.5.dfsg-4) unstable; urgency=low
+
+ * Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
+ (Closes: #440147). Thanks to Matthias Cramer.
+ * 35_untabify_help.dpatch: Make --help output of utilities less ugly by
+ converting tabs to spaces.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
+
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: branches/lenny/debian/patches/42_empty_sender.dpatch
===================================================================
--- branches/lenny/debian/patches/42_empty_sender.dpatch (nonexistent)
+++ branches/lenny/debian/patches/42_empty_sender.dpatch (revision 108)
@@ -0,0 +1,33 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 42_empty_sender.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## DP: If SPF_request_set_env_from() is called with from set to the empty
+## DP: string (i.e. a DSN), use the HELO identity. Also fix incorrect
+## DP: handling when the local part is empty (but the "@" is present).
+
+@DPATCH@
+diff -urNad trunk~/src/libspf2/spf_request.c trunk/src/libspf2/spf_request.c
+--- trunk~/src/libspf2/spf_request.c 2005-02-22 03:38:57.000000000 +0100
++++ trunk/src/libspf2/spf_request.c 2007-07-30 21:58:48.000000000 +0200
+@@ -142,14 +142,19 @@
+ SPF_FREE(sr->env_from_lp);
+ SPF_FREE(sr->env_from_dp);
+
++ if (*from == '\0' && sr->helo_dom != NULL) {
++ from = sr->helo_dom;
++ }
+ cp = strrchr(from, '@');
+ if (cp && (cp != from)) {
+ sr->env_from = strdup(from);
+- sr->env_from_lp = strdup(from); /* Too long, but simple */
+- sr->env_from_lp[(cp - from)] = '\0';
++ sr->env_from[cp - from] = '\0';
++ sr->env_from_lp = strdup(sr->env_from);
+ sr->env_from_dp = strdup(cp + 1);
++ sr->env_from[cp - from] = '@';
+ }
+ else {
++ if (cp == from) from++; /* "@domain.example" */
+ len = sizeof("postmaster@") + strlen(from);
+ sr->env_from = malloc(len + 1); /* sizeof("") == 1? */
+ sprintf(sr->env_from, "postmaster@%s", from);
Index: branches/lenny/debian/patches/52_compile_bufoverflow.dpatch
===================================================================
--- branches/lenny/debian/patches/52_compile_bufoverflow.dpatch (nonexistent)
+++ branches/lenny/debian/patches/52_compile_bufoverflow.dpatch (revision 108)
@@ -0,0 +1,30 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 52_compile_bufoverflow.dpatch by Magnus Holmgren <holmgren@debian.org>
+##
+## DP: Prevent buffer overflows from mechanisms with huge domainspecs.
+## DP: As suggested by upstream.
+
+@DPATCH@
+diff -urNad lenny~/src/libspf2/spf_compile.c lenny/src/libspf2/spf_compile.c
+--- lenny~/src/libspf2/spf_compile.c 2008-11-04 21:51:22.000000000 +0100
++++ lenny/src/libspf2/spf_compile.c 2008-11-04 21:53:22.000000000 +0100
+@@ -711,6 +711,9 @@
+
+ SPF_errcode_t err;
+
++ if (strlen(*mech_value) > (sizeof(buf) >> 1))
++ return SPF_E_BIG_MECH;
++
+ memset(buf, 'B', sizeof(buf)); /* Poison the buffer. */
+ memset(spf_mechanism, 0, sizeof(SPF_mech_t));
+
+@@ -858,6 +861,9 @@
+
+ SPF_errcode_t err;
+
++ if (strlen(*mod_value) > (sizeof(buf) >> 1))
++ return SPF_E_BIG_MOD;
++
+ memset(buf, 'A', sizeof(buf));
+ memset(spf_modifier, 0, sizeof(SPF_mod_t));
+
/branches/lenny/debian/patches/52_compile_bufoverflow.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/lenny/debian/patches/51_actually-keep-track-of-max_var_len.dpatch
===================================================================
--- branches/lenny/debian/patches/51_actually-keep-track-of-max_var_len.dpatch (nonexistent)
+++ branches/lenny/debian/patches/51_actually-keep-track-of-max_var_len.dpatch (revision 108)
@@ -0,0 +1,144 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 51_actually-keep-track-of-max_var_len.dpatch by Hannah Schroeter <hannah.schroeter@1und1.de>
+##
+## DP: actually keep track of max_var_len so SPF_record_expand_data doesn't fail
+## DP: and abort the whole program on some cases, e.g. creating the Received-SPF
+## DP: header when the envelope from is very long.
+##
+## src/libspf2/spf_request.c | 50 +++++++++++++++++++++++++++++++++++++++++++-
+## 1 files changed, 48 insertions(+), 2 deletions(-)
+
+@DPATCH@
+diff --git a/src/libspf2/spf_request.c b/src/libspf2/spf_request.c
+index 181b0e4..cf6c39b 100644
+--- a/src/libspf2/spf_request.c
++++ b/src/libspf2/spf_request.c
+@@ -41,6 +41,7 @@ SPF_request_t *
+ SPF_request_new(SPF_server_t *spf_server)
+ {
+ SPF_request_t *sr;
++ const char *rec_dom;
+
+ sr = (SPF_request_t *)malloc(sizeof(SPF_request_t));
+ if (! sr)
+@@ -51,6 +52,9 @@ SPF_request_new(SPF_server_t *spf_server)
+ sr->client_ver = AF_UNSPEC;
+ sr->ipv4.s_addr = htonl(INADDR_ANY);
+ sr->ipv6 = in6addr_any;
++ rec_dom = SPF_request_get_rec_dom(sr);
++ if (rec_dom)
++ sr->max_var_len = strlen(rec_dom);
+
+ return sr;
+ }
+@@ -116,9 +120,15 @@ SPF_request_set_ipv6_str(SPF_request_t *sr, const char *astr)
+ SPF_errcode_t
+ SPF_request_set_helo_dom(SPF_request_t *sr, const char *dom)
+ {
++ size_t len;
+ SPF_ASSERT_NOTNULL(dom);
+ SPF_FREE(sr->helo_dom);
+ sr->helo_dom = strdup(dom);
++ if (! sr->helo_dom)
++ return SPF_E_NO_MEMORY;
++ len = strlen(dom);
++ if (len > sr->max_var_len)
++ sr->max_var_len = len;
+ /* set cur_dom and env_from? */
+ if (sr->env_from == NULL)
+ return SPF_request_set_env_from(sr, dom);
+@@ -130,16 +138,24 @@ SPF_request_set_helo_dom(SPF_request_t *sr, const char *dom)
+ const char *
+ SPF_request_get_rec_dom(SPF_request_t *sr)
+ {
++ char *result;
++ size_t len;
+ SPF_server_t *spf_server;
+ spf_server = sr->spf_server;
+- return spf_server->rec_dom;
++ result = spf_server->rec_dom;
++ if (result) {
++ len = strlen(result);
++ if (len > sr->max_var_len)
++ sr->max_var_len = len;
++ }
++ return result;
+ }
+
+ int
+ SPF_request_set_env_from(SPF_request_t *sr, const char *from)
+ {
+ char *cp;
+- int len;
++ size_t len;
+
+ SPF_ASSERT_NOTNULL(from);
+ SPF_FREE(sr->env_from);
+@@ -187,6 +203,10 @@ SPF_request_set_env_from(SPF_request_t *sr, const char *from)
+ }
+ }
+
++ len = strlen(sr->env_from);
++ if (sr->max_var_len < len)
++ sr->max_var_len = len;
++
+ return 0;
+ }
+
+@@ -200,8 +220,12 @@ SPF_request_get_client_dom(SPF_request_t *sr)
+ SPF_ASSERT_NOTNULL(spf_server);
+
+ if (sr->client_dom == NULL) {
++ size_t len;
+ sr->client_dom = SPF_dns_get_client_dom(spf_server->resolver,
+ sr);
++ len = strlen(sr->client_dom);
++ if (len > sr->max_var_len)
++ sr->max_var_len = len;
+ }
+ return sr->client_dom;
+ }
+@@ -225,6 +249,16 @@ SPF_request_is_loopback(SPF_request_t *sr)
+ static SPF_errcode_t
+ SPF_request_prepare(SPF_request_t *sr)
+ {
++ const char *rec_dom;
++ size_t len;
++
++ /* SPF_request_get_rec_dom result could have changed */
++ rec_dom = SPF_request_get_rec_dom(sr);
++ if (rec_dom) {
++ len = strlen(rec_dom);
++ if (len > sr->max_var_len)
++ sr->max_var_len = len;
++ }
+ if (sr->use_helo)
+ sr->cur_dom = sr->helo_dom;
+ else
+@@ -241,11 +275,23 @@ SPF_request_query_record(SPF_request_t *spf_request,
+ SPF_record_t *spf_record,
+ SPF_errcode_t err)
+ {
++ const char *rec_dom;
++ size_t len;
++
+ if (err != SPF_E_SUCCESS) {
+ if (spf_record)
+ SPF_record_free(spf_record);
+ return err;
+ }
++
++ /* SPF_request_get_rec_dom result could have changed */
++ rec_dom = SPF_request_get_rec_dom(spf_request);
++ if (rec_dom) {
++ len = strlen(rec_dom);
++ if (len > spf_request->max_var_len)
++ spf_request->max_var_len = len;
++ }
++
+ /* Now, in theory, SPF_response_errors(spf_response) == 0 */
+ if (SPF_response_errors(spf_response) > 0)
+ SPF_infof("Warning: %d errors in response, "
+--
+1.5.6.4
+
Index: branches/lenny/debian/patches/00list
===================================================================
--- branches/lenny/debian/patches/00list (nonexistent)
+++ branches/lenny/debian/patches/00list (revision 108)
@@ -0,0 +1,19 @@
+#01_line-endings
+02_wrong_lib_version_h
+20_64bit_types
+20_printf_types
+20_spf_dns_include_std_headers
+20_spf_server_unnecessary_include
+21_spfquery_infininte_loop
+22_spfquery_fallback_segfault
+23_spfquery_ipv6
+25_maxvals
+30_spfd_check_unlink_failure
+35_untabify_help
+40_permanent_include_errors
+41_none_not_neutral
+42_empty_sender
+43_new_explanation_url
+50_dns_resolv_bufoverflow
+51_actually-keep-track-of-max_var_len
+52_compile_bufoverflow
Index: branches/lenny/debian/patches/50_dns_resolv_bufoverflow.dpatch
===================================================================
--- branches/lenny/debian/patches/50_dns_resolv_bufoverflow.dpatch (nonexistent)
+++ branches/lenny/debian/patches/50_dns_resolv_bufoverflow.dpatch (revision 108)
@@ -0,0 +1,325 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 50_permanent_include_errors.dpatch by Shevek <shevek@anarres.org>, edited by Magnus Holmgren
+##
+## DP: Fix CVE-2008-2469 - buffer overflows handling DNS responses.
+
+@DPATCH@
+
+--- libspf2/src/libspf2/spf_dns_resolv.c.orig 2008-09-20 19:36:57.000000000 +0200
++++ libspf2/src/libspf2/spf_dns_resolv.c 2008-09-20 19:39:08.000000000 +0200
+@@ -110,7 +110,8 @@
+ int nrec;
+ int cnt;
+
+- u_char response[2048];
++ u_char *responsebuf;
++ size_t responselen;
+
+ int dns_len;
+
+@@ -127,11 +128,13 @@
+ char name_buf[ NS_MAXDNAME ];
+ int prio;
+
+- int rdlen;
+- const u_char *rdata, *rdata_end;
++ size_t rdlen;
++ const u_char *rdata;
+
++#if HAVE_DECL_RES_NINIT
+ void *res_spec;
+ struct __res_state *res_state;
++#endif
+
+ SPF_ASSERT_NOTNULL(spf_dns_server);
+
+@@ -140,10 +143,12 @@
+ SPF_ASSERT_NOTNULL(spfhook);
+ #endif
+
++#if HAVE_DECL_RES_NINIT
+ res_spec = pthread_getspecific(res_state_key);
+ if (res_spec == NULL) {
+ res_state = (struct __res_state *)
+ malloc(sizeof(struct __res_state));
++ memset(res_state, 0, sizeof(struct __res_state));
+ if (res_ninit(res_state) != 0) {
+ SPF_error("Failed to call res_ninit()");
+ }
+@@ -152,20 +157,45 @@
+ else {
+ res_state = (struct __res_state *)res_spec;
+ }
++#endif
++
++ responselen = 2048;
++ responsebuf = (u_char *)malloc(responselen);
++ memset(responsebuf, 0, responselen);
++
++ /*
++ * Retry the lookup until our response buffer is big enough.
++ *
++ * This loop repeats until either we fail a lookup or we succeed.
++ * The size of the response buffer is monotonic increasing, so eventually we
++ * must either succeed, or we try to malloc more RAM than we can.
++ *
++ * The Linux man pages do not describe res_nquery adequately. Solaris says:
++ *
++ * The res_nquery() and res_query() routines return a length that may be bigger
++ * than anslen. In that case, retry the query with a larger buf. The answer to the
++ * second query may be larger still], so it is recommended that you supply a buf
++ * larger than the answer returned by the previous query. answer must be large
++ * enough to receive a maximum UDP response from the server or parts of the answer
++ * will be silently discarded. The default maximum UDP response size is 512 bytes.
++ */
++ for (;;) {
+
+ /*
+ * try resolving the name
+ */
+ #if HAVE_DECL_RES_NINIT
+ dns_len = res_nquery(res_state, domain, ns_c_in, rr_type,
+- response, sizeof(response));
++ responsebuf, responselen);
+ #else
+ dns_len = res_query(domain, ns_c_in, rr_type,
+- response, sizeof(response));
++ responsebuf, responselen);
+ #endif
+
+ if ( dns_len < 0 ) {
++ /* We failed to perform a lookup. */
+ /* This block returns unconditionally. */
++ free(responsebuf);
+ if ( spf_dns_server->debug )
+ SPF_debugf( "query failed: err = %d %s (%d): %s",
+ dns_len, hstrerror( SPF_h_errno ), SPF_h_errno,
+@@ -178,6 +208,25 @@
+ return SPF_dns_rr_new_init(spf_dns_server,
+ domain, rr_type, 0, SPF_h_errno);
+ }
++ else if (dns_len > responselen) {
++ /* We managed a lookup but our buffer was too small. */
++ responselen = dns_len + (dns_len >> 1);
++#if 0
++ /* Sanity-trap - we should never hit this. */
++ if (responselen > 1048576) { /* One megabyte. */
++ free(responsebuf);
++ return SPF_dns_rr_new_init(spf_dns_server,
++ domain, rr_type, 0, SPF_h_errno);
++ }
++#endif
++ responsebuf = realloc(responsebuf, responselen);
++ }
++ else {
++ /* We managed a lookup, and our buffer was large enough. */
++ responselen = dns_len;
++ break;
++ }
++ }
+
+ /*
+ * initialize stuff
+@@ -185,12 +234,13 @@
+ spfrr = SPF_dns_rr_new_init(spf_dns_server,
+ domain, rr_type, 0, NETDB_SUCCESS);
+
+- err = ns_initparse( response, dns_len, &ns_handle );
++ err = ns_initparse(responsebuf, responselen, &ns_handle);
+
+ if ( err < 0 ) { /* 0 or -1 */
+ if ( spf_dns_server->debug )
+ SPF_debugf( "ns_initparse failed: err = %d %s (%d)",
+ err, strerror( errno ), errno );
++ free(responsebuf);
+ return spfrr;
+ }
+
+@@ -226,6 +276,7 @@
+ if ( spf_dns_server->debug > 1 )
+ SPF_debugf( "ns_parserr failed: err = %d %s (%d)",
+ err, strerror( errno ), errno );
++ free(responsebuf);
+ return spfrr;
+ }
+
+@@ -257,8 +308,8 @@
+ break;
+
+ case ns_t_ns:
+- err = ns_name_uncompress( response,
+- response + sizeof( response ),
++ err = ns_name_uncompress( responsebuf,
++ responsebuf + responselen,
+ rdata,
+ name_buf, sizeof( name_buf ) );
+ if ( err < 0 ) /* 0 or -1 */
+@@ -271,8 +322,8 @@
+ break;
+
+ case ns_t_cname:
+- err = ns_name_uncompress( response,
+- response + sizeof( response ),
++ err = ns_name_uncompress( responsebuf,
++ responsebuf + responselen,
+ rdata,
+ name_buf, sizeof( name_buf ) );
+ if ( err < 0 ) /* 0 or -1 */
+@@ -286,8 +337,8 @@
+
+ case ns_t_mx:
+ prio = ns_get16( rdata );
+- err = ns_name_uncompress( response,
+- response + sizeof( response ),
++ err = ns_name_uncompress( responsebuf,
++ responsebuf + sizeof( responselen ),
+ rdata + NS_INT16SZ,
+ name_buf, sizeof( name_buf ) );
+ if ( err < 0 ) /* 0 or -1 */
+@@ -300,14 +351,13 @@
+ break;
+
+ case ns_t_txt:
+- rdata_end = rdata + rdlen;
+ SPF_debugf( "TXT: (%d) \"%.*s\"",
+ rdlen, rdlen-1, rdata+1 );
+ break;
+
+ case ns_t_ptr:
+- err = ns_name_uncompress( response,
+- response + sizeof( response ),
++ err = ns_name_uncompress( responsebuf,
++ responsebuf + responselen,
+ rdata,
+ name_buf, sizeof( name_buf ) );
+ if ( err < 0 ) /* 0 or -1 */
+@@ -341,18 +391,21 @@
+ {
+ case ns_t_a:
+ if ( SPF_dns_rr_buf_realloc( spfrr, cnt,
+- sizeof( spfrr->rr[cnt]->a ) ) != SPF_E_SUCCESS )
++ sizeof(spfrr->rr[cnt]->a)) != SPF_E_SUCCESS) {
++ free(responsebuf);
+ return spfrr;
+- memmove( &spfrr->rr[cnt]->a, rdata, sizeof( spfrr->rr[cnt]->a ) );
++ }
++ memcpy(&spfrr->rr[cnt]->a, rdata, sizeof(spfrr->rr[cnt]->a));
+ cnt++;
+ break;
+
+ case ns_t_aaaa:
+ if ( SPF_dns_rr_buf_realloc( spfrr, cnt,
+- sizeof( spfrr->rr[cnt]->aaaa ) ) != SPF_E_SUCCESS )
++ sizeof(spfrr->rr[cnt]->aaaa)) != SPF_E_SUCCESS) {
++ free(responsebuf);
+ return spfrr;
+- memmove( &spfrr->rr[cnt]->aaaa, rdata, sizeof( spfrr->rr[cnt]->aaaa ) );
+-
++ }
++ memcpy(&spfrr->rr[cnt]->aaaa, rdata, sizeof(spfrr->rr[cnt]->aaaa));
+ cnt++;
+ break;
+
+@@ -364,8 +417,8 @@
+ break;
+
+ case ns_t_mx:
+- err = ns_name_uncompress( response,
+- response + sizeof( response ),
++ err = ns_name_uncompress(responsebuf,
++ responsebuf + responselen,
+ rdata + NS_INT16SZ,
+ name_buf, sizeof( name_buf ) );
+ if ( err < 0 ) /* 0 or -1 */
+@@ -373,12 +426,15 @@
+ if ( spf_dns_server->debug > 1 )
+ SPF_debugf( "ns_name_uncompress failed: err = %d %s (%d)",
+ err, strerror( errno ), errno );
++ free(responsebuf);
+ return spfrr;
+ }
+
+ if ( SPF_dns_rr_buf_realloc( spfrr, cnt,
+- strlen( name_buf ) + 1 ) != SPF_E_SUCCESS )
++ strlen(name_buf) + 1 ) != SPF_E_SUCCESS) {
++ free(responsebuf);
+ return spfrr;
++ }
+ strcpy( spfrr->rr[cnt]->mx, name_buf );
+
+ cnt++;
+@@ -390,8 +446,12 @@
+ u_char *src, *dst;
+ size_t len;
+
+- if ( SPF_dns_rr_buf_realloc( spfrr, cnt, rdlen ) != SPF_E_SUCCESS )
++ /* Just rdlen is enough because there is at least one
++ * length byte. */
++ if (SPF_dns_rr_buf_realloc(spfrr, cnt, rdlen) != SPF_E_SUCCESS) {
++ free(responsebuf);
+ return spfrr;
++ }
+
+ dst = (u_char *)(spfrr->rr[cnt]->txt);
+ len = 0;
+@@ -400,15 +460,22 @@
+ {
+ len = *src;
+ src++;
++ rdlen--;
++
++ /* Avoid buffer overrun if len is junk. */
++ if (len > rdlen)
++ len = rdlen;
+ memcpy( dst, src, len );
+ dst += len;
+ src += len;
+- rdlen -= len + 1;
++ rdlen -= len;
+ }
+ *dst = '\0';
+ } else {
+- if ( SPF_dns_rr_buf_realloc( spfrr, cnt, 1 ) != SPF_E_SUCCESS )
++ if (SPF_dns_rr_buf_realloc(spfrr, cnt, 1) != SPF_E_SUCCESS) {
++ free(responsebuf);
+ return spfrr;
++ }
+ spfrr->rr[cnt]->txt[0] = '\0';
+ }
+
+@@ -416,8 +483,8 @@
+ break;
+
+ case ns_t_ptr:
+- err = ns_name_uncompress( response,
+- response + sizeof( response ),
++ err = ns_name_uncompress(responsebuf,
++ responsebuf + responselen,
+ rdata,
+ name_buf, sizeof( name_buf ) );
+ if ( err < 0 ) /* 0 or -1 */
+@@ -425,12 +492,15 @@
+ if ( spf_dns_server->debug > 1 )
+ SPF_debugf( "ns_name_uncompress failed: err = %d %s (%d)",
+ err, strerror( errno ), errno );
++ free(responsebuf);
+ return spfrr;
+ }
+
+ if ( SPF_dns_rr_buf_realloc( spfrr, cnt,
+- strlen( name_buf ) + 1 ) != SPF_E_SUCCESS )
++ strlen(name_buf) + 1) != SPF_E_SUCCESS) {
++ free(responsebuf);
+ return spfrr;
++ }
+ strcpy( spfrr->rr[cnt]->ptr, name_buf );
+
+ cnt++;
+@@ -447,6 +517,7 @@
+ if ( spfrr->num_rr == 0 )
+ spfrr->herrno = NO_DATA;
+
++ free(responsebuf);
+ return spfrr;
+ }
+
Index: branches/lenny/debian/patches/43_new_explanation_url.dpatch
===================================================================
--- branches/lenny/debian/patches/43_new_explanation_url.dpatch (nonexistent)
+++ branches/lenny/debian/patches/43_new_explanation_url.dpatch (revision 108)
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 43_new_explanation_url.dpatch by <magnus@proffe.kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Bring default explanation up to date by referring to
+## DP: www.openspf.org instead of spf.pobox.com.
+
+@DPATCH@
+diff -urNad trunk~/src/include/spf.h trunk/src/include/spf.h
+--- trunk~/src/include/spf.h 2007-09-06 13:57:32.000000000 +0200
++++ trunk/src/include/spf.h 2007-09-06 13:58:59.000000000 +0200
+@@ -57,7 +57,7 @@
+ #define SPF_DEFAULT_SANITIZE 1
+ #define SPF_DEFAULT_WHITELIST "include:spf.trusted-forwarder.org"
+ #define SPF_EXP_MOD_NAME "exp-text"
+-#define SPF_DEFAULT_EXP "Please see http://spf.pobox.com/why.html?sender=%{S}&ip=%{C}&receiver=%{R}"
++#define SPF_DEFAULT_EXP "Please see http://www.openspf.org/Why?id=%{S}&ip=%{C}&receiver=%{R}"
+
+
+
/branches/lenny/debian/patches/43_new_explanation_url.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/lenny/debian/patches/35_untabify_help.dpatch
===================================================================
--- branches/lenny/debian/patches/35_untabify_help.dpatch (nonexistent)
+++ branches/lenny/debian/patches/35_untabify_help.dpatch (revision 108)
@@ -0,0 +1,25 @@
+#!/bin/sh
+## 35_untabify_help.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Tidy up --help messages by converting tabs to four spaces (" ").
+
+FILES_TO_PROCESS="src/spfquery/spfquery.c
+ src/spftest/spftest.c
+ src/spf_example/spf_example.c"
+
+dpatch_patch() {
+ # Change line endings to LF in files with CRLF
+ perl -pi -e 's/("[^"]*?)\t/$1 / and redo;' $FILES_TO_PROCESS
+}
+
+dpatch_unpatch() {
+ # Change line endings back to CRLF in files that had it in the tarball
+ # Unfortunately there are exceptions ... have to watch out for changes
+ # in future upstream versions (or simply make backups instead).
+ perl -pi -e 's/("[^"]*?) /$1\t/ and redo;' $FILES_TO_PROCESS
+}
+
+DPATCH_LIB_NO_DEFAULT=1
+
+. /usr/share/dpatch/dpatch.lib.sh
Index: branches/lenny/debian/patches/23_spfquery_ipv6.dpatch
===================================================================
--- branches/lenny/debian/patches/23_spfquery_ipv6.dpatch (nonexistent)
+++ branches/lenny/debian/patches/23_spfquery_ipv6.dpatch (revision 108)
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 23_spfquery_ipv6.dpatch by Matthias Cramer <matthias.cramer@interway.ch>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Make spfquery accept IPv6 addresses
+
+@DPATCH@
+
+--- libspf2-1.2.5.orig/src/spfquery/spfquery.c 2005-02-22 03:36:55.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/spfquery/spfquery.c 2007-08-30 09:39:32.000000000 +0200
+@@ -604,7 +602,8 @@
+
+ spf_request = SPF_request_new(spf_server);
+
+- if (SPF_request_set_ipv4_str(spf_request, req->ip)) {
++ if (SPF_request_set_ipv4_str(spf_request, req->ip)
++ && SPF_request_set_ipv6_str(spf_request, req->ip)) {
+ printf( "Invalid IP address.\n" );
+ CONTINUE_ERROR;
+
Index: branches/lenny/debian/patches/22_spfquery_fallback_segfault.dpatch
===================================================================
--- branches/lenny/debian/patches/22_spfquery_fallback_segfault.dpatch (nonexistent)
+++ branches/lenny/debian/patches/22_spfquery_fallback_segfault.dpatch (revision 108)
@@ -0,0 +1,45 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 22_spfquery_fallback_segfault.dpatch by Robert Millan <rmh@aybabtu.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix segfault with malformed -guess argument
+
+@DPATCH@
+
+diff -ur libspf2-1.2.5.dfsg.old/src/spfquery/spfquery.c libspf2-1.2.5.dfsg/src/spfquery/spfquery.c
+--- libspf2-1.2.5.dfsg.old/src/spfquery/spfquery.c 2005-02-22 03:36:55.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/spfquery/spfquery.c 2007-06-24 13:17:34.000000000 +0200
+@@ -341,6 +341,7 @@
+ SPF_request_t *spf_request = NULL;
+ SPF_response_t *spf_response = NULL;
+ SPF_response_t *spf_response_2mx = NULL;
++ SPF_response_t *spf_response_fallback = NULL;
+ SPF_errcode_t err;
+
+ char *opt_file = NULL;
+@@ -670,20 +671,20 @@
+ /* We now have an option to call SPF_request_query_fallback */
+ if (opts->fallback) {
+ err = SPF_request_query_fallback(spf_request,
+- &spf_response, opts->fallback);
++ &spf_response_fallback, opts->fallback);
+ if (opts->debug)
+- response_print("fallback query", spf_response_2mx);
++ response_print("fallback query", spf_response_fallback);
+ if (err) {
+ response_print_errors("Failed to query best-guess",
+- spf_response, err);
++ spf_response_fallback, err);
+ CONTINUE_ERROR;
+ }
+
+ /* append the result */
+- APPEND_RESULT(SPF_response_result(spf_response_2mx));
++ APPEND_RESULT(SPF_response_result(spf_response_fallback));
+
+ spf_response = SPF_response_combine(spf_response,
+- spf_response_2mx);
++ spf_response_fallback);
+ }
+
+ printf( "%s\n%s\n%s\n%s\n",
Index: branches/lenny/debian/patches/41_none_not_neutral.dpatch
===================================================================
--- branches/lenny/debian/patches/41_none_not_neutral.dpatch (nonexistent)
+++ branches/lenny/debian/patches/41_none_not_neutral.dpatch (revision 108)
@@ -0,0 +1,48 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 41_none_not_neutral.dpatch by Robert Millan <rmh@aybabtu.com>, edited by Magnus Holmgren
+##
+## DP: Differentiate between SPF_RESULT_NONE and
+## DP: SPF_RESULT_NEUTRAL in the header comment.
+
+@DPATCH@
+
+diff -ur libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c
+--- libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c 2005-02-22 04:41:27.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c 2007-07-01 01:03:17.000000000 +0200
+@@ -214,11 +226,15 @@
+ break;
+
+ case SPF_RESULT_NEUTRAL:
+- case SPF_RESULT_NONE:
+ snprintf( p, p_end - p, "%s is neither permitted nor denied by %s",
+ ip, spf_source );
+ break;
+
++ case SPF_RESULT_NONE:
++ snprintf( p, p_end - p, "%s does not provide an SPF record",
++ spf_source );
++ break;
++
+ case SPF_RESULT_TEMPERROR:
+ snprintf( p, p_end - p, "encountered temporary error during SPF processing of %s",
+ spf_source );
+diff -ur libspf2-1.2.5.dfsg.old/src/libspf2/spf_result.c libspf2-1.2.5.dfsg/src/libspf2/spf_result.c
+--- libspf2-1.2.5.dfsg.old/src/libspf2/spf_result.c 2004-08-10 15:04:02.000000000 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_result.c 2007-07-01 01:03:29.000000000 +0200
+@@ -187,11 +197,15 @@
+ break;
+
+ case SPF_RESULT_NEUTRAL:
+- case SPF_RESULT_NONE:
+ snprintf( p, p_end - p, "%s is neither permitted nor denied by %s",
+ ip, spf_source );
+ break;
+
++ case SPF_RESULT_NONE:
++ snprintf( p, p_end - p, "%s does not provide an SPF record",
++ spf_source );
++ break;
++
+ case SPF_RESULT_ERROR:
+ snprintf( p, p_end - p, "encountered temporary error during SPF processing of %s",
+ spf_source );
Index: branches/lenny/debian/patches/40_permanent_include_errors.dpatch
===================================================================
--- branches/lenny/debian/patches/40_permanent_include_errors.dpatch (nonexistent)
+++ branches/lenny/debian/patches/40_permanent_include_errors.dpatch (revision 108)
@@ -0,0 +1,23 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 40_permanent_include_errors.dpatch by Robert Millan <rmh@aybabtu.com>, edited by Magnus Holmgren
+##
+## DP: Permanent error when processing an include: directive should in turn
+## DP: produce permanent error (see the table in RFC 4408 / section 5.2).
+
+@DPATCH@
+
+diff -ur libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c
+--- libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c 2005-02-22 04:41:27.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c 2007-07-01 01:03:17.000000000 +0200
+@@ -1022,7 +1042,10 @@
+ if (spf_record_subr)
+ SPF_record_free(spf_record_subr);
+ SPF_FREE_LOOKUP_DATA();
+- return DONE_TEMPERR( err );
++ if (err == SPF_E_DNS_ERROR)
++ return DONE_TEMPERR( err );
++ else
++ return DONE_PERMERR( err );
+ }
+
+ /*
Index: branches/lenny/debian/patches/20_printf_types.dpatch
===================================================================
--- branches/lenny/debian/patches/20_printf_types.dpatch (nonexistent)
+++ branches/lenny/debian/patches/20_printf_types.dpatch (revision 108)
@@ -0,0 +1,64 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_printf_types.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Change the format strings of various calls to printf-style functions to
+## DP: match the arguments.
+
+@DPATCH@
+diff -urNad libspf2-1.2.5.dfsg~/src/libspf2/spf_compile.c libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c
+--- libspf2-1.2.5.dfsg~/src/libspf2/spf_compile.c 2007-03-27 14:28:00.931960929 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c 2007-03-27 14:30:04.000000000 +0200
+@@ -470,7 +470,7 @@
+ len = end - p;
+ if (spf_server->debug)
+ SPF_debugf("Adding string literal (%d): '%*.*s'",
+- len, len, len, p);
++ (int)len, (int)len, (int)len, p);
+ memcpy( dst, p, len );
+ ds_len += len;
+ dst += len;
+diff -urNad libspf2-1.2.5.dfsg~/src/libspf2/spf_id2str.c libspf2-1.2.5.dfsg/src/libspf2/spf_id2str.c
+--- libspf2-1.2.5.dfsg~/src/libspf2/spf_id2str.c 2007-03-27 14:27:58.171600935 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_id2str.c 2007-03-27 14:30:51.000000000 +0200
+@@ -309,7 +309,7 @@
+ p_end = *bufp + *buflenp;
+
+ if (debug)
+- SPF_debugf("stringify: Buffer length is %d\n", *buflenp);
++ SPF_debugf("stringify: Buffer length is %u\n", (unsigned int)*buflenp);
+
+
+ /*
+diff -urNad libspf2-1.2.5.dfsg~/src/libspf2/spf_print.c libspf2-1.2.5.dfsg/src/libspf2/spf_print.c
+--- libspf2-1.2.5.dfsg~/src/libspf2/spf_print.c 2007-03-27 14:27:58.231608763 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_print.c 2007-03-27 14:47:39.000000000 +0200
+@@ -54,12 +54,12 @@
+ return SPF_E_SUCCESS;
+ }
+
+- SPF_infof( "SPF header: version: %d mech %d/%d mod %d/%d len=%d",
++ SPF_infof( "SPF header: version: %d mech %d/%u mod %d/%u len=%u",
+ spf_record->version,
+- spf_record->num_mech, spf_record->mech_len,
+- spf_record->num_mod, spf_record->mod_len,
+- sizeof(SPF_record_t) + spf_record->mech_len
+- + spf_record->mod_len);
++ (int)spf_record->num_mech, (unsigned int)spf_record->mech_len,
++ (int)spf_record->num_mod, (unsigned int)spf_record->mod_len,
++ (unsigned int)(sizeof(SPF_record_t) + spf_record->mech_len
++ + spf_record->mod_len));
+
+ err = SPF_record_stringify(spf_record, &prt_buf, &prt_len);
+ if ( err == SPF_E_RESULT_UNKNOWN )
+@@ -81,7 +81,7 @@
+ void SPF_print_sizeof(void)
+ {
+ // SPF_infof( "sizeof(SPF_rec_header_t)=%u", sizeof(SPF_rec_header_t));
+- SPF_infof( "sizeof(SPF_mech_t)=%u", sizeof(SPF_mech_t));
+- SPF_infof( "sizeof(SPF_data_t)=%u", sizeof(SPF_data_t));
+- SPF_infof( "sizeof(SPF_mod_t)=%u", sizeof(SPF_mod_t));
++ SPF_infof( "sizeof(SPF_mech_t)=%u", (unsigned int)sizeof(SPF_mech_t));
++ SPF_infof( "sizeof(SPF_data_t)=%u", (unsigned int)sizeof(SPF_data_t));
++ SPF_infof( "sizeof(SPF_mod_t)=%u", (unsigned int)sizeof(SPF_mod_t));
+ }
/branches/lenny/debian/patches/20_printf_types.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/lenny/debian/patches/01_line-endings.dpatch
===================================================================
--- branches/lenny/debian/patches/01_line-endings.dpatch (nonexistent)
+++ branches/lenny/debian/patches/01_line-endings.dpatch (revision 108)
@@ -0,0 +1,30 @@
+#!/bin/sh
+## 01_line-endings.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Convert CRLF line endings to LF in certain Windows-related files
+
+FILES_WITH_CRLF="src/libspf2/spf_dns_windns.c
+ src/libspf2/spf_win32.c
+ src/libreplace/win32_config.h
+ src/include/spf_dns_windns.h
+ src/include/spf_win32.h"
+
+set -e
+
+dpatch_patch() {
+ if [ ! -f debian/patched/patched-line-endings.tar.gz ]; then
+ tar -czf debian/patched/patched-line-endings.tar.gz $FILES_WITH_CRLF
+ # Change line endings to LF in files with CRLF
+ sed -ri -e 's/\r$//' $FILES_WITH_CRLF
+ fi
+}
+
+dpatch_unpatch() {
+ # Change line endings back to CRLF in files that had it in the tarball
+ tar -xzf debian/patched/patched-line-endings.tar.gz
+}
+
+DPATCH_LIB_NO_DEFAULT=1
+
+. /usr/share/dpatch/dpatch.lib.sh
/branches/lenny/debian/patches/01_line-endings.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/lenny/debian/patches/21_spfquery_infininte_loop.dpatch
===================================================================
--- branches/lenny/debian/patches/21_spfquery_infininte_loop.dpatch (nonexistent)
+++ branches/lenny/debian/patches/21_spfquery_infininte_loop.dpatch (revision 108)
@@ -0,0 +1,21 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 21_spfquery_infininte_loop.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix infinite loop in spfquery.c:unimplemented().
+
+@DPATCH@
+diff -urNad libspf2-1.2.5.dfsg~/src/spfquery/spfquery.c libspf2-1.2.5.dfsg/src/spfquery/spfquery.c
+--- libspf2-1.2.5.dfsg~/src/spfquery/spfquery.c 2005-02-22 03:36:55.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/spfquery/spfquery.c 2007-03-24 22:28:15.000000000 +0100
+@@ -174,9 +174,7 @@
+ struct option *opt;
+ int i;
+
+- i = 0;
+- opt = &long_options[i];
+- while (opt->name) {
++ for (i = 0; (opt = &long_options[i])->name; i++) {
+ if (flag == opt->val) {
+ fprintf(stderr, "Unimplemented option: -%s or -%c\n",
+ opt->name, flag);
/branches/lenny/debian/patches/21_spfquery_infininte_loop.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/lenny/debian/patches/20_64bit_types.dpatch
===================================================================
--- branches/lenny/debian/patches/20_64bit_types.dpatch (nonexistent)
+++ branches/lenny/debian/patches/20_64bit_types.dpatch (revision 108)
@@ -0,0 +1,105 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_64bit_types.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Change various ints to size_t etc, to avoid crashes on 64-bit
+## DP: architectures.
+
+@DPATCH@
+
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_internal.h libspf2-1.2.5.dfsg.new/src/include/spf_internal.h
+--- libspf2-1.2.5.dfsg/src/include/spf_internal.h 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/include/spf_internal.h 2007-03-23 23:08:54.000000000 +0100
+@@ -71,7 +71,7 @@
+ static inline size_t _align_sz(size_t s)
+ { return (s + (_ALIGN_SZ - 1 - (((s - 1) & (_ALIGN_SZ - 1))))); }
+ static inline char * _align_ptr(char *s)
+- { return (s + (_ALIGN_SZ - 1 - ((((unsigned int)s - 1) & (_ALIGN_SZ - 1))))); }
++ { return (s + (_ALIGN_SZ - 1 - ((((size_t)s - 1) & (_ALIGN_SZ - 1))))); }
+ #else
+ static inline size_t _align_sz(size_t s) { return s; }
+ static inline char * _align_ptr(char *s) { return s; }
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_record.h libspf2-1.2.5.dfsg.new/src/include/spf_record.h
+--- libspf2-1.2.5.dfsg/src/include/spf_record.h 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/include/spf_record.h 2007-03-23 23:08:54.000000000 +0100
+@@ -224,7 +224,7 @@
+
+ struct SPF_macro_struct
+ {
+- unsigned int macro_len; /* bytes of data */
++ size_t macro_len; /* bytes of data */
+ /* data: (SPF_data_t[] = char[macro_len]) follows */
+ };
+
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_compile.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_compile.c 2007-03-23 23:18:41.000000000 +0100
+@@ -98,7 +98,7 @@
+ }
+
+ static void
+-SPF_c_ensure_capacity(void **datap, int *sizep, int length)
++SPF_c_ensure_capacity(void **datap, size_t *sizep, int length)
+ {
+ int size = *sizep;
+ if (length > size)
+@@ -435,7 +435,7 @@
+ static SPF_errcode_t
+ SPF_c_parse_macro(SPF_server_t *spf_server,
+ SPF_response_t *spf_response,
+- SPF_data_t *data, int *data_len,
++ SPF_data_t *data, size_t *data_len,
+ const char **startp, const char **endp,
+ size_t max_len, SPF_errcode_t big_err,
+ int is_mod)
+@@ -551,10 +551,10 @@
+ static SPF_errcode_t
+ SPF_c_parse_domainspec(SPF_server_t *spf_server,
+ SPF_response_t *spf_response,
+- SPF_data_t *data, int *data_len,
++ SPF_data_t *data, size_t *data_len,
+ const char **startp, const char **endp,
+ size_t max_len, SPF_errcode_t big_err,
+- int cidr_ok, int is_mod)
++ SPF_cidr_t cidr_ok, int is_mod)
+ {
+ SPF_errcode_t err;
+ /* Generic parsing iterators and boundaries */
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_dns_resolv.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_dns_resolv.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_dns_resolv.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_dns_resolv.c 2007-03-23 23:08:54.000000000 +0100
+@@ -393,7 +393,7 @@
+ if ( SPF_dns_rr_buf_realloc( spfrr, cnt, rdlen ) != SPF_E_SUCCESS )
+ return spfrr;
+
+- dst = spfrr->rr[cnt]->txt;
++ dst = (u_char *)(spfrr->rr[cnt]->txt);
+ len = 0;
+ src = (u_char *)rdata;
+ while ( rdlen > 0 )
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_interpret.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_interpret.c 2007-03-23 23:20:30.000000000 +0100
+@@ -49,8 +49,8 @@
+ SPF_record_t *spf_record;
+ SPF_errcode_t err;
+ char *buf;
+- int buflen;
+- int len;
++ size_t buflen;
++ size_t len;
+
+ SPF_ASSERT_NOTNULL(spf_response);
+ spf_request = spf_response->spf_request;
+diff -Nur libspf2-1.2.5.dfsg/src/spfd/spfd.c libspf2-1.2.5.dfsg.new/src/spfd/spfd.c
+--- libspf2-1.2.5.dfsg/src/spfd/spfd.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/spfd/spfd.c 2007-03-23 23:08:54.000000000 +0100
+@@ -168,7 +168,7 @@
+ struct sockaddr_in in;
+ struct sockaddr_un un;
+ } addr;
+- int addrlen;
++ socklen_t addrlen;
+ char *data;
+ int datalen;
+
/branches/lenny/debian/patches/20_64bit_types.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/lenny/debian/patches/02_wrong_lib_version_h.dpatch
===================================================================
--- branches/lenny/debian/patches/02_wrong_lib_version_h.dpatch (nonexistent)
+++ branches/lenny/debian/patches/02_wrong_lib_version_h.dpatch (revision 108)
@@ -0,0 +1,30 @@
+#!/bin/sh
+## 02_wrong_lib_version_h.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Move static spf_lib_version.h out of the way and patch configure to put
+## DP: the autogenerated one in the right place.
+
+set -e
+
+lib_version_h=src/include/spf_lib_version.h
+
+dpatch_patch() {
+ # Update configure script so that it writes to the right .h file
+ test -e configure.old || \
+ sed -ri.old -e 's%src/libspf2/spf_lib_version%src/include/spf_lib_version%' configure
+ # Move the bad .h file out of the way
+ test -e $lib_version_h.old || mv -f $lib_version_h $lib_version_h.old
+}
+
+dpatch_unpatch() {
+ # Move the bad .h file back to its position
+ if test -e $lib_version_h.old; then mv -f $lib_version_h.old $lib_version_h; fi
+ # Move the original configure script back
+ if test -e configure.old; then mv -f configure.old configure; fi
+}
+
+
+DPATCH_LIB_NO_DEFAULT=1
+
+. /usr/share/dpatch/dpatch.lib.sh
/branches/lenny/debian/patches/02_wrong_lib_version_h.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/lenny/debian/patches/20_spf_server_unnecessary_include.dpatch
===================================================================
--- branches/lenny/debian/patches/20_spf_server_unnecessary_include.dpatch (nonexistent)
+++ branches/lenny/debian/patches/20_spf_server_unnecessary_include.dpatch (revision 108)
@@ -0,0 +1,18 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_server_unnecessary_include.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: src/include/spf_server.h: Remove useless include of spf_dns_internal.h.
+
+@DPATCH@
+
+--- libspf2-1.2.5.dfsg.orig/src/include/spf_server.h
++++ libspf2-1.2.5.dfsg/src/include/spf_server.h
+@@ -20,7 +20,6 @@
+
+ #include "spf_record.h"
+ #include "spf_dns.h"
+-#include "spf_dns_internal.h"
+
+ #ifndef SPF_MAX_DNS_MECH
+ /* It is a bad idea to change this for two reasons.
/branches/lenny/debian/patches/20_spf_server_unnecessary_include.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/lenny/debian/patches/25_maxvals.dpatch
===================================================================
--- branches/lenny/debian/patches/25_maxvals.dpatch (nonexistent)
+++ branches/lenny/debian/patches/25_maxvals.dpatch (revision 108)
@@ -0,0 +1,61 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 25_maxvals.dpatch by Thomas Jacob <jacob@internet24.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Bring certain processing limits (meant to mitigate DoS attacks) in line
+## DP: with RFC 4408.
+
+@DPATCH@
+
+diff -ruN libspf2-1.2.5/src/include/spf.h libspf2-1.2.5.patched/src/include/spf.h
+--- libspf2-1.2.5/src/include/spf.h 2005-02-17 01:56:55.000000000 +0100
++++ libspf2-1.2.5.patched/src/include/spf.h 2007-03-14 16:58:21.000000000 +0100
+@@ -52,8 +52,8 @@
+
+ /* FYI only -- defaults can't be changed without recompiling the library */
+ #define SPF_DEFAULT_MAX_DNS_MECH 10 /* DoS limit on SPF mechanisms */
+-#define SPF_DEFAULT_MAX_DNS_PTR 5 /* DoS limit on PTR records */
+-#define SPF_DEFAULT_MAX_DNS_MX 5 /* DoS limit on MX records */
++#define SPF_DEFAULT_MAX_DNS_PTR 10 /* DoS limit on PTR records */
++#define SPF_DEFAULT_MAX_DNS_MX 10 /* DoS limit on MX records */
+ #define SPF_DEFAULT_SANITIZE 1
+ #define SPF_DEFAULT_WHITELIST "include:spf.trusted-forwarder.org"
+ #define SPF_EXP_MOD_NAME "exp-text"
+diff -ruN libspf2-1.2.5/src/include/spf_internal.h libspf2-1.2.5.patched/src/include/spf_internal.h
+--- libspf2-1.2.5/src/include/spf_internal.h 2005-02-24 05:10:49.000000000 +0100
++++ libspf2-1.2.5.patched/src/include/spf_internal.h 2007-03-14 16:58:04.000000000 +0100
+@@ -57,13 +57,13 @@
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_PTR 5
++#define SPF_MAX_DNS_PTR 10
+ #endif
+ #ifndef SPF_MAX_DNS_MX
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_MX 5
++#define SPF_MAX_DNS_MX 10
+ #endif
+
+ #if 1
+diff -ruN libspf2-1.2.5/src/include/spf_server.h libspf2-1.2.5.patched/src/include/spf_server.h
+--- libspf2-1.2.5/src/include/spf_server.h 2004-09-29 12:33:09.000000000 +0200
++++ libspf2-1.2.5.patched/src/include/spf_server.h 2007-03-14 16:58:54.000000000 +0100
+@@ -44,13 +44,13 @@
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_PTR 5
++#define SPF_MAX_DNS_PTR 10
+ #endif
+ #ifndef SPF_MAX_DNS_MX
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_MX 5
++#define SPF_MAX_DNS_MX 10
+ #endif
+
+ struct SPF_server_struct {
/branches/lenny/debian/patches/25_maxvals.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/lenny/debian/patches/30_spfd_check_unlink_failure.dpatch
===================================================================
--- branches/lenny/debian/patches/30_spfd_check_unlink_failure.dpatch (nonexistent)
+++ branches/lenny/debian/patches/30_spfd_check_unlink_failure.dpatch (revision 108)
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 30_spfd_check_unlink_failure.dpatch by Thomas Jacob <jacob@internet24.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix a call to unlink() in spfd.c. It passed 'path < 0' as the argument
+## DP: instead of checking whether the return value < 0.
+
+@DPATCH@
+
+--- libspf2-1.2.5/src/spfd/spfd.c 2005-02-19 03:40:35.000000000 +0100
++++ libspf2-1.2.5-amd64/src/spfd/spfd.c 2007-03-08 21:17:09.000000000 +0100
+@@ -640,7 +640,7 @@
+ memset(&addr, 0, sizeof(addr));
+ addr.sun_family = AF_UNIX;
+ strcpy(addr.sun_path, spfd_config.path);
+- if (unlink(spfd_config.path < 0)) {
++ if (unlink(spfd_config.path) < 0) {
+ if (errno != ENOENT) {
+ perror("unlink");
+ DIE("Failed to unlink socket");
/branches/lenny/debian/patches/30_spfd_check_unlink_failure.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/lenny/debian/patches/20_spf_dns_include_std_headers.dpatch
===================================================================
--- branches/lenny/debian/patches/20_spf_dns_include_std_headers.dpatch (nonexistent)
+++ branches/lenny/debian/patches/20_spf_dns_include_std_headers.dpatch (revision 108)
@@ -0,0 +1,60 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_dns_include_std_headers.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Include arpa/nameser.h and netdb.h from spf_dns.h instead of defining
+## DP: the constants needed unless certain HAVE_ macros are defined.
+
+@DPATCH@
+
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_dns.h libspf2-1.2.5.dfsg.new/src/include/spf_dns.h
+--- libspf2-1.2.5.dfsg/src/include/spf_dns.h 2004-08-29 16:59:33.000000000 +0200
++++ libspf2-1.2.5.dfsg.new/src/include/spf_dns.h 2007-03-23 18:04:17.000000000 +0100
+@@ -61,43 +61,12 @@
+ *
+ */
+
+-
+-/*
+- * For those who don't have <arpa/nameserv.h>
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
+ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /* Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+-#ifndef ns_t_invalid
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /* NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /* SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /* invalid/unimplmeneted query */
+-#define NO_DATA 4 /* host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/branches/lenny/debian/patches/20_spf_dns_include_std_headers.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/lenny/debian/control
===================================================================
--- branches/lenny/debian/control (nonexistent)
+++ branches/lenny/debian/control (revision 108)
@@ -0,0 +1,51 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <holmgren@debian.org>
+Build-Depends: debhelper (>> 5), cdbs, dpatch, autotools-dev
+Standards-Version: 3.7.3
+Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+Vcs-Browser: http://svn.kibibyte.se/libspf2
+Homepage: http://www.libspf2.org/
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version})
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
Index: branches/lenny/debian/spfquery.postinst
===================================================================
--- branches/lenny/debian/spfquery.postinst (nonexistent)
+++ branches/lenny/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,17 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25 \
+ --slave /usr/share/man/man1/spfquery.1.gz spfquery.1.gz /usr/share/man/man1/spfquery.$source_package.1.gz
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+#DEBHELPER#
Index: branches/lenny/debian/spfquery.manpages
===================================================================
--- branches/lenny/debian/spfquery.manpages (nonexistent)
+++ branches/lenny/debian/spfquery.manpages (revision 108)
@@ -0,0 +1 @@
+debian/spfquery.libspf2.1
Index: branches/lenny/debian/copyright
===================================================================
--- branches/lenny/debian/copyright (nonexistent)
+++ branches/lenny/debian/copyright (revision 108)
@@ -0,0 +1,20 @@
+This package was debianized by Eric Dorland <eric@debian.org> on
+Sun, 04 Jul 2004 19:00:36 -0400
+
+The current maintainer is Magnus Holmgren <magnus@kibibyte.se>.
+
+It was downloaded from http://www.libspf2.org/
+
+Upstream Author: Wayne Schlitt <wayne@schlitt.net>
+
+Copyright:
+
+Software copyright ยฉ 2004-2005 Wayne Schlitt <wayne@schlitt.net> and
+Shevek <shevek@anarres.org>
+
+You are free to distribute this software under the terms of the GNU Lesser
+General Public License version 2.1 or the BSD license, at your choice.
+
+On Debian systems, the complete text of the GNU Lesser General Public
+License can be found in the file `/usr/share/common-licenses/LGPL-2.1' and
+the BSD license can be found in the file `/usr/share/common-licenses/BSD'.
Index: branches/lenny/debian/spfquery.libspf2.1
===================================================================
--- branches/lenny/debian/spfquery.libspf2.1 (nonexistent)
+++ branches/lenny/debian/spfquery.libspf2.1 (revision 108)
@@ -0,0 +1,199 @@
+.\" Title: SPFQUERY
+.\" Author: Magnus Holmgren <magnus@kibibyte.se>
+.\" Date: 2007-09-06
+.\" Manual: libspf2 manuals for Debian
+.\" Source: libspf2 1.2.5
+.\"
+.TH "SPFQUERY" "1" "2007-09-06" "libspf2 1.2.5" "libspf2 manuals for Debian"
+.\" disable hyphenation
+.nh
+.SH NAME
+spfquery, spfquery.libspf2 \- checks if an IP address is an SPF-authorized SMTP sender for a domain.
+.SH SYNOPSIS
+.ad l
+.HP 9
+.B spfquery
+.RB { \-i | \-\-ip }
+.I ip\-address
+.RB { -s | \-\-sender }
+.RI [ local-part \fB@\fP] domain
+.RB [{ \-h | \-\-helo }
+.IR domain-name ]
+.RB [ \-\-rcpt\-to
+.IR email-address(es) ]
+.RI [ CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-f | \-\-file }
+.IR datafile " [" CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-\-help | \-v | \-\-version }
+.ad b
+.SH DESCRIPTION
+This manual page documents briefly the
+\fBspfquery\fR
+command. It was written for the
+Debian\*[R] distribution because the original program does not have a manual page.
+.PP
+\fBspfquery\fR performs Sender Policy Framework (SPF) authorization
+checks based on the command-line arguments or data given in a file or
+on standard input. For information on SPF see http://www.openspf.org.
+.
+.SH OPTIONS
+Options are divided into two groups: Data options, which must be
+given, though just enough of them to specify a query; and control
+options, which are optional and control the local policy, behaviour
+and output format of spfquery.
+.PP
+This programs follows the GNU \fBgetopt_long_only\fR(3) command line
+syntax: Long options can be given with one or two dashes and can be
+abbreviated to a prefix long enough to be non-ambiguous. If an option
+starting with a single dash doesn't match a long option, it is taken
+as a short option with a following parameter, if applicable. An equals
+sign between the option name and the parameter is optional for both
+short and long options.
+.SS Data options
+The
+\fB\-\-file\fR option conflicts with all the other data options. The
+\fB\-\-helo\fR and \fB\-\-rcpt\-to\fR are optional.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfilename\fR
+Read SPF data from \fIfilename\fR. Specify \(lq-\(rq to read from standard input.
+.sp
+The file should consist of one line per query, each query line consisting of the IP address, sender adress, and optional HELO string, separated by spaces.
+.sp
+\fBNote\fP
+Local parts containing spaces are currently not supported.
+.TP
+\fB\-i\fP, \fB\-\-ip\fP \fIip-address\fP
+Specify the IP address of the remote host that is delivering the mail.
+.TP
+\fB\-s\fP, \fB\-\-sender\fP [\fIlocal-part\fP\fB@\fP]\fIdomain\fP
+Specify the email address that was used as the envelope sender. If no
+username (local part) is given, \(lqpostmaster\(rq will be assumed.
+.TP
+\fB\-h\fP, \fB\-\-helo\fP \fIdomain-name\fP
+Specify that \fIdomain-name\fP was provided in the SMTP HELO (or EHLO) command.
+.TP
+\fB\-r\fP, \fB\-\-rcpt-to\fP \fIrcpt-address\fP[,\fIrcpt-address\fP,...]
+Specify the recipients as comma-separated list. Any secondary mail exchangers of all
+recipient domains are automatically authorized.
+.
+.SS Control options
+.TP
+\fB\-d\fP, \fB\-\-debug\fP[\fB=\fP\fIlevel\fP]
+Turn on debugging output.
+.TP
+\fB\-l\fP, \fB\-\-local\fP \fIspf\-terms\fP
+Test against \fIspf\-terms\fR before the final (implicit or explicit)
+\(lqall\(rq in an SPF record. This can be used to implement a local policy for whitelisting.
+.TP
+\fB\-t, \fB\-\-trusted\fR [\fB1\fR]
+Check the sender domain with trusted\-forwarder.org.
+\fBThis is a non\-standard feature.\fR
+.TP
+\fB\-t\fP \fB0\fP, \fB\-\-trusted\fR \fB0\fP
+Do not check the sender domain with trusted\-forwarder.org. This is the default.
+.TP
+\fB\-g\fP, \fB\-\-guess\fP \fIspf-mechanisms\fP
+Test the sender domain against \fIspf\-mechanisms\fP if the domain has no SPF record.
+.TP
+\fB\-e\fP, \fB\-\-default\-explanation\fP \fIstring\fP
+Default explanation string to use if the SPF record does not specify an expla\%nation string itself.
+.TP
+\fB\-m\fP, \fB\-\-max\-lookup\fP \fInumber\fP
+Maximum number of DNS lookups to allow.
+.TP
+\fB\-c\fP, \fB\-\-sanitize\fP [\fB0\fP|\fB1\fP]
+Do [not] sanitize the output by condensing conse\%cutive white\%space
+into a single space and replacing non-printable characters with
+question marks. Enabled by default.
+.TP
+\fB\-n\fP, \fB\-\-name\fP \fIhostname\fP
+Use
+\fIhostname\fP
+as the name of the local system instead of
+\(lqspfquery\(rq
+(the name is used in the output).
+.TP
+\fB\-k\fP, \fB\-\-keep\-comments\fP
+Print comments found when reading from a file.
+.TP
+\fB\-a\fP, \fB\-\-override\fP \fI...\fP
+.TP
+\fB\-z\fP, \fB\-\-fallback\fP \fI...\fP
+Provide override and fallback SPF records for certain domains.
+\fBNot implemented yet.\fP
+\fBspfquery\fP
+would act as if the speci\%fied records were present before and after any existing record, respectively, of those domains.
+.TP
+\fB\-\-help\fP
+Show summary of options.
+.TP
+\fB\-v\fP, \fB\-\-version\fP
+Show version of program.
+.SH DIAGNOSTICS
+The output ordinarily consists of four lines:
+.IP 1. 4
+the \fIresult code\fP;
+.IP 2. 4
+the \fIexplanation\fP, suitable for use in an SMTP response message, empty
+except when a rejection (permanent or temporary) makes sense;
+.IP 3. 4
+the header comment on its own;
+.IP 4. 4
+the Received\-SPF header field as defined in RFC 4408 section 7,
+incorporating the header comment.
+.PP
+If errors (including no SPF record found!) occur during processing,
+one or more error blocks will be prepended.
+These start with \(lqStartError\(lq and end with \(lqEndError\(lq.
+.PP
+The result codes and their corresponding exit codes are as follows:
+.TP
+.B 1 \(en neutral
+The sender domain explicitly makes no assertion about the \fIip-address\fP.
+This result must be interpreted exactly as if no SPF record at all existed.
+.TP
+.B 2 \(en pass
+The \fIip-address\fP is authorized to send mail for the sender domain.
+.TP
+.B 3 \(en fail
+The \fIip-address\fP is \fBunauthorized\fP to send mail for the sender domain.
+.TP
+.B 4 \(en softfail
+The \fIip-address\fP is not authorized to send mail for the sender domain, but
+the sender domain cannot or does not wish to make a strong assertion that no such mail can
+ever come from it.
+.TP
+.B 5 \(en none
+No SPF record was found.
+.TP
+.BR "6 \(en error" " (temporary)"
+A transient error occurred (e.g. failure to reach a DNS server), preventing a
+result from being reached.
+.TP
+.BR "7 \(en unknown" " (permanent error)"
+One or more SPF records could not be interpreted.
+.SH EXAMPLES
+.nf
+spfquery \-ip=11.22.33.44 \-sender=user@aol.com \-helo=spammer.tld
+spfquery \-f test_data
+echo "127.0.0.1 myname@mydomain.com helohost.com" | spfquery \-f \-
+.fi
+.SH SEE ALSO
+\fBspftest\fR(1), \fBspfd\fR(8)
+.SH AUTHOR
+\fBspfquery\fP was written by Wayne Schlitt.
+.PP
+This manual page was written by Magnus Holmgren for the Debian\*[R]
+system (but may be used by others). Heavily inspired by the spfquery manpage of
+libmail\-spf\-query\-perl (\fBspfquery.mail\-spf\-query\-perl\fR(1)) by Julian Mehnle.
+Also based on the command\-line help of spfquery.
+.SH COPYRIGHT
+Copyright \(co 2007 Magnus Holmgren. Permission is granted to copy,
+distribute and/or modify this document under the terms of the BSD
+License.
+.PP
+On Debian systems, the complete text of the BSD License can be found in /usr/share/common\-licenses/BSD.
Index: branches/lenny/debian/README.Debian
===================================================================
--- branches/lenny/debian/README.Debian (nonexistent)
+++ branches/lenny/debian/README.Debian (revision 108)
@@ -0,0 +1,22 @@
+libspf2 for Debian
+==================
+
+Debian's version of libspf2 does a couple of things slightly
+differently compared to the upstream version (usually meaning: more
+RFC-compliantly). You can always see all applied patches by
+downloading the source package and looking in the debian/patches
+subdirectory. All patches should also be mentioned in the Debian
+changelog. Some deserve further comment, though:
+
+* 42_empty_sender.dpatch changes SPF_request_set_env_sender() so that
+ if called with an empty envelope sender, the envelope sender in the
+ SPF_request_struct structure will be set to the HELO identity
+ instead ("postmaster@" + the HELO domain), provided that
+ SPF_request_set_helo_dom() has been called beforehand. This should
+ improve behaviour of applications that (incorrectly) call
+ SPF_request_set_env_sender() with an empty envelope sender address.
+ However, applications SHOULD NOT RELY ON THIS, but should check if
+ the envelope sender address is empty, and in that case pass the HELO
+ identity instead, or use the result of an earlier HELO check.
+
+ -- Magnus Holmgren <magnus@kibibyte.se>, Wed, 22 Aug 2007 17:10:07 +0200
Index: branches/lenny/debian/watch
===================================================================
--- branches/lenny/debian/watch (nonexistent)
+++ branches/lenny/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: branches/lenny/debian/libspf2-dev.install
===================================================================
--- branches/lenny/debian/libspf2-dev.install (nonexistent)
+++ branches/lenny/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,4 @@
+debian/tmp/usr/lib/*.so usr/lib
+debian/tmp/usr/lib/*.a usr/lib
+debian/tmp/usr/lib/*.la usr/lib
+debian/tmp/usr/include/* usr/include
Index: branches/lenny/debian/spfquery.prerm
===================================================================
--- branches/lenny/debian/spfquery.prerm (nonexistent)
+++ branches/lenny/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: branches/lenny/debian/compat
===================================================================
--- branches/lenny/debian/compat (nonexistent)
+++ branches/lenny/debian/compat (revision 108)
@@ -0,0 +1 @@
+5
Index: branches/lenny/debian/spfquery.install
===================================================================
--- branches/lenny/debian/spfquery.install (nonexistent)
+++ branches/lenny/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+debian/tmp/usr/bin/spfquery usr/bin
+debian/tmp/usr/bin/spftest usr/bin
+debian/tmp/usr/bin/spf_example usr/bin
+debian/tmp/usr/bin/spfd usr/sbin
Index: branches/lenny/debian/libspf2-2.install
===================================================================
--- branches/lenny/debian/libspf2-2.install (nonexistent)
+++ branches/lenny/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+debian/tmp/usr/lib/*.so.* usr/lib
Index: branches/lenny/debian/libspf2-dev.README.Debian
===================================================================
--- branches/lenny/debian/libspf2-dev.README.Debian (nonexistent)
+++ branches/lenny/debian/libspf2-dev.README.Debian (revision 108)
@@ -0,0 +1,8 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+ -- Eric Dorland <eric@debian.org>, Sun Jul 4 19:02:07 2004
Index: branches/lenny/debian/rules
===================================================================
--- branches/lenny/debian/rules (nonexistent)
+++ branches/lenny/debian/rules (revision 108)
@@ -0,0 +1,17 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+
+include /usr/share/cdbs/1/class/autotools.mk
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/dpatch.mk
+
+DEB_DH_MAKESHLIBS_ARGS_libspf2-2 = -V 'libspf2-2 (>= 1.2.5)'
+
+binary-install/spfquery::
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.5.tar.gz
/branches/lenny/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/lenny/debian/README.Debian-source
===================================================================
--- branches/lenny/debian/README.Debian-source (nonexistent)
+++ branches/lenny/debian/README.Debian-source (revision 108)
@@ -0,0 +1,16 @@
+The upstream tarball has been repackaged because it contained non-free
+material in the form of an (obsolete) IETF Internet Draft
+(draft-mengwong-spf-00.txt in the docs subdirectory). As far as I can
+see It's non-free because it doesn't contain any copyright information
+at all, thereby defaulting to "all right reserved" in most
+jurisdictions.
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+To download the original tarball use `debian/rules get-orig-source' or
+go to <http://www.libspf2.org/download.html> (beware that running
+debian/rules outside the package directory can have unwanted side
+effects due to CDBS).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Fri, 23 Mar 2007 16:44:20 +0100
Index: branches/lenny/debian
===================================================================
--- branches/lenny/debian (nonexistent)
+++ branches/lenny/debian (revision 108)
/branches/lenny/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: tags/1.2.10-7/debian/changelog
===================================================================
--- tags/1.2.10-7/debian/changelog (nonexistent)
+++ tags/1.2.10-7/debian/changelog (revision 108)
@@ -0,0 +1,339 @@
+libspf2 (1.2.10-7) unstable; urgency=low
+
+ * error_results.patch: Return information to use in the mail header and
+ such when no or multiple SPF records exist (Closes: #806313). Thanks
+ to Sebastian Schweizer <sebastian@schweizer.tel>.
+ * Bump Standards-Version to 3.9.7.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 25 Mar 2016 17:51:50 +0100
+
+libspf2 (1.2.10-6) unstable; urgency=medium
+
+ * gcc5-variadicmacros.patch: Fix syntax error with variadic macro with
+ no variable argument when compiling with GCC 5 (Closes: #777974).
+ * Rearrange debian/copyright to comply with the machine-readable format
+ specification.
+
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 25 Jun 2015 22:26:05 +0200
+
+libspf2 (1.2.10-5) unstable; urgency=low
+
+ * abolish-spf-rrtype.patch: Stop trying to look up the dedicated SPF DNS
+ RR type, which was abolished by RFC 7208 (Closes: #764533).
+ * Bump Standards-Version to 3.9.6.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 12 Oct 2014 21:18:33 +0200
+
+libspf2 (1.2.10-4) unstable; urgency=low
+
+ * Upgrade to Debhelper compat level 9, in order to:
+ * Handle variable vendorarch installation directory (Closes: #752712),
+ by making debian/libmail-spf-xs-perl.install executable.
+ * Bump Standards-Version to 3.9.5.
+ * debian/rules: Update URL in get-orig-source target (a year late).
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 05 Jul 2014 22:19:51 +0200
+
+libspf2 (1.2.10-3) unstable; urgency=low
+
+ * Merge changes from Ubuntu (Closes: #734224).
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 01 Feb 2014 14:51:57 +0100
+
+libspf2 (1.2.10-2ubuntu1) trusty; urgency=medium
+
+ * Use dh-autoreconf instead of autotools-dev to also fix FTBFS on ppc64el by
+ getting new libtool macros (still updates config.{sub,guess}).
+
+ -- Logan Rosen <logan@ubuntu.com> Fri, 03 Jan 2014 15:56:24 -0500
+
+libspf2 (1.2.10-2) unstable; urgency=low
+
+ * Convert debian/copyright to machine-readable format and update
+ copyright info including details on files in src/libreplace.
+ * debian/spfquery.libspf2.1: Change license to 2-clause BSD, as was
+ intended from the beginning.
+
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 12 Aug 2013 12:07:40 +0200
+
+libspf2 (1.2.10-1) unstable; urgency=low
+
+ * New upstream release.
+ * Drop ipv6-bugs.patch and private-glibc-functions.patch; incorporated
+ upstream.
+ * Hide additional internal symbols from the dynamic table.
+ * Build and include the Perl XS module.
+ * Bump Standards-Version to 3.9.4.
+
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 13 Jun 2013 23:58:12 +0200
+
+libspf2 (1.2.9-7) unstable; urgency=high
+
+ * Add postinst scripts that replace old documentation directories (from
+ before 1.2.9-5) in libspf2-dev, libspf2-2-dbg and spfquery with
+ symlinks (Closes: #687862, #687863, #687864). Thanks to Salvatore
+ Bonaccorso <carnil@debian.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 23 Sep 2012 21:25:43 +0200
+
+libspf2 (1.2.9-6) unstable; urgency=low
+
+ * Rename ipv6-buffer-miscalculation.patch ipv6-bugs.patch. Include
+ the following small IPv6-related patches from FreeBSD:
+ * patch-src_libspf2_spf__compile.c
+ * patch-src_libspf2_spf__interpret.c
+ Already included was patch-src_libspf2_spf__expand.c.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 22 Jan 2012 22:45:04 +0100
+
+libspf2 (1.2.9-5) unstable; urgency=low
+
+ * Convert package to source format 3.0 (quilt).
+ * Include text of BSD license in debian/copyright, as is now preferred.
+ * Switch from CDBS to classic Debhelper, getting build flags from
+ dpkg-buildflags "by hand".
+ * Increase Debhelper compat level to 7.
+ * Put docs in libspf2-2 and replace the other packages' doc directories
+ with symlinks to that one.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 11 Nov 2011 22:13:50 +0100
+
+libspf2 (1.2.9-4) unstable; urgency=low
+
+ * Drop obsolete README.Debian-source; move non-obsolete info to
+ libspf2-dev.README.Debian.
+ * debian/libspf2.ver: Explicitly unhide certain special symbols that
+ became hidden on the mips and mipsel architectures but nowhere else,
+ causing a FTBFS.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 03 Oct 2009 21:29:19 +0200
+
+libspf2 (1.2.9-3) unstable; urgency=high
+
+ * ipv6_buffer_miscalculation.dpatch: Fix an abort() caused by
+ miscalculating the size of an internal buffer when mail is received
+ over IPv6. Thanks to Matthias Scheler <tron@netbsd.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 13 Sep 2009 20:23:22 +0200
+
+libspf2 (1.2.9-2) unstable; urgency=low
+
+ * debian/rules: Correct version.
+ * 01_private_glib_functions.dpatch: Avoid linking private glibc
+ functions.
+ * Simplify debian/*.install and exclude the libtool .la file from the
+ -dev package. Set DEB_DH_INSTALL_SOURCEDIR accordingly.
+ * Add ${misc:Depends} to Depends.
+ * Add debug package.
+ * Use ld version script to hide internal symbols.
+ * Bump Standards-Version to 3.8.3.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 25 Aug 2009 00:15:01 +0200
+
+libspf2 (1.2.9-1) unstable; urgency=high
+
+ * New upstream release.
+ - Drops non-dfsg Free IETF internet draft, so tarball no longer needs
+ repacking
+ + Fixes exploitable buffer overflow (LP: #287534)
+ + Multiple fixes for improved RFC 4408 compliance
+ + Update libspf2-2.symbols for new symbol
+ + 20_spf_dns_include_std_headers.dpatch: Updated.
+ * Thanks to Scott Kitterman.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 04 Nov 2008 21:14:31 +0100
+
+libspf2 (1.2.8~dfsg-1) unstable; urgency=low
+
+ * Merge changes from Ubuntu.
+ * Fix and tweak library dependency information (shlibs as well as
+ symbols).
+ * Upgrade to Standards-Version: 3.8.0. Changes needed:
+ + Add debian/README.source (ยง 4.9).
+ * Bring debian/copyright a bit more up-to-date.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 02 Nov 2008 12:29:51 +0100
+
+libspf2 (1.2.8~dfsg-0ubuntu1) intrepid; urgency=low
+
+ * New upstream release (LP: #283920)
+ - Fixes multiple memory leaks
+ - CVE2008-2469 buffer overflows
+ - Adds new documentation
+ - Drop all patches except 20_spf_dns_include_std_headers.dpatch (included
+ upstream)
+ - Freshen 20_spf_dns_include_std_headers.dpatch
+ - Update debian/rules for new release
+ * Repack tarball to remove non-DFSG Free IETF draft
+ * Added debian/libspf2-2.symbols and updated for new version
+ * Drop README.Debian since it no longer applies.
+
+ -- Scott Kitterman <scott@kitterman.com> Sun, 19 Oct 2008 01:00:13 -0400
+
+libspf2 (1.2.5.dfsg-5) unstable; urgency=low
+
+ * 43_new_explanation_url.dpatch: Bring default explanation up to date by
+ referring to www.openspf.org instead of spf.pobox.com.
+ * Add spfquery(1) manpage.
+ * Fix format of copyright notice in debian/copyright.
+ * Move upstream homepage URL to the new Homepage control field, rename
+ VCS control fields, and update Standards-Version.
+ * A few cosmetic adjustments including fixing the indentation of the
+ 1.2.5.dfsg-3 entry below (Closes: #465466).
+ * New maintainer email address.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 18 Apr 2008 17:51:28 +0200
+
+libspf2 (1.2.5.dfsg-4) unstable; urgency=low
+
+ * Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
+ (Closes: #440147). Thanks to Matthias Cramer.
+ * 35_untabify_help.dpatch: Make --help output of utilities less ugly by
+ converting tabs to spaces.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
+
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: tags/1.2.10-7/debian/control
===================================================================
--- tags/1.2.10-7/debian/control (nonexistent)
+++ tags/1.2.10-7/debian/control (revision 108)
@@ -0,0 +1,79 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <holmgren@debian.org>
+Build-Depends: dpkg-dev (>= 1.15.7), debhelper (>= 9), dh-autoreconf,
+ perl, libstring-escape-perl
+Standards-Version: 3.9.7
+Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+Vcs-Browser: http://svn.kibibyte.se/libspf2
+Homepage: http://www.libspf2.org/
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}), ${misc:Depends}
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}) | spfquery (= ${binary:Version}),
+ ${misc:Depends}
+Description: library for validating mail senders with SPF (debugging symbols)
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair.
+ .
+ This package contains the debugging symbols.
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
+
+Package: libmail-spf-xs-perl
+Section: perl
+Priority: extra
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, libstring-escape-perl
+Description: library for validating mail senders with SPF - Perl bindings
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+ .
+ This package provides an XS module for using libspf from Perl programs.
Index: tags/1.2.10-7/debian/patches/error_results.patch
===================================================================
--- tags/1.2.10-7/debian/patches/error_results.patch (nonexistent)
+++ tags/1.2.10-7/debian/patches/error_results.patch (revision 108)
@@ -0,0 +1,86 @@
+From: Sebastian Schweizer <sebastian@schweizer.tel>
+Subject: Return header info also in case of missing or multiple SPF records.
+Bug: https://bugs.debian.org/806313
+Forwarded: https://github.com/shevek/libspf2/pull/9
+
+diff --git a/src/libspf2/spf_interpret.c b/src/libspf2/spf_interpret.c
+index a35b58c..5f15df4 100644
+--- a/src/libspf2/spf_interpret.c
++++ b/src/libspf2/spf_interpret.c
+@@ -104,7 +104,6 @@ SPF_i_set_smtp_comment(SPF_response_t *spf_response)
+ case SPF_RESULT_FAIL:
+ case SPF_RESULT_SOFTFAIL:
+ case SPF_RESULT_NEUTRAL:
+- case SPF_RESULT_NONE:
+
+ err = SPF_i_set_explanation(spf_response);
+ if (err != SPF_E_SUCCESS)
+@@ -126,6 +125,7 @@ SPF_i_set_smtp_comment(SPF_response_t *spf_response)
+ case SPF_RESULT_PASS:
+ case SPF_RESULT_TEMPERROR:
+ case SPF_RESULT_PERMERROR:
++ case SPF_RESULT_NONE:
+ default:
+ break;
+ }
+@@ -380,7 +380,7 @@ SPF_i_set_received_spf(SPF_response_t *spf_response)
+ * This must be called with EITHER
+ * spf_response->spf_record_exp != NULL
+ * OR
+- * result in { SPF_RESULT_PASS SPF_RESULT_INVALID
++ * result in { SPF_RESULT_NONE SPF_RESULT_PASS SPF_RESULT_INVALID
+ * SPF_RESULT_TEMPERROR SPF_RESULT_PERMERROR }
+ * or the library will abort when it tries to generate an explanation.
+ */
+diff --git a/src/libspf2/spf_server.c b/src/libspf2/spf_server.c
+index d648b4e..66beb69 100644
+--- a/src/libspf2/spf_server.c
++++ b/src/libspf2/spf_server.c
+@@ -361,8 +361,9 @@ retry:
+ }
+ spf_response->result = SPF_RESULT_NONE;
+ spf_response->reason = SPF_REASON_FAILURE;
+- return SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
+- "Host '%s' not found.", domain);
++ return SPF_i_done(spf_response, SPF_RESULT_NONE, SPF_REASON_FAILURE,
++ SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
++ "Host '%s' not found.", domain));
+ // break;
+
+ case NO_DATA:
+@@ -375,8 +376,9 @@ retry:
+ }
+ spf_response->result = SPF_RESULT_NONE;
+ spf_response->reason = SPF_REASON_FAILURE;
+- return SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
+- "No DNS data for '%s'.", domain);
++ return SPF_i_done(spf_response, SPF_RESULT_NONE, SPF_REASON_FAILURE,
++ SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
++ "No DNS data for '%s'.", domain));
+ // break;
+
+ case TRY_AGAIN:
+@@ -453,17 +455,18 @@ retry:
+ }
+ spf_response->result = SPF_RESULT_NONE;
+ spf_response->reason = SPF_REASON_FAILURE;
+- return SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
+- "No SPF records for '%s'", domain);
++ return SPF_i_done(spf_response, SPF_RESULT_NONE, SPF_REASON_FAILURE,
++ SPF_response_add_error(spf_response, SPF_E_NOT_SPF,
++ "No SPF records for '%s'", domain));
+ }
+ if (num_found > 1) {
+ SPF_dns_rr_free(rr_txt);
+ // rfc4408 requires permerror here.
+- /* XXX This could be refactored with SPF_i_done. */
+ spf_response->result = SPF_RESULT_PERMERROR;
+ spf_response->reason = SPF_REASON_FAILURE;
+- return SPF_response_add_error(spf_response, SPF_E_MULTIPLE_RECORDS,
+- "Multiple SPF records for '%s'", domain);
++ return SPF_i_done(spf_response, SPF_RESULT_PERMERROR, SPF_REASON_FAILURE,
++ SPF_response_add_error(spf_response, SPF_E_MULTIPLE_RECORDS,
++ "Multiple SPF records for '%s'", domain));
+ }
+
+ /* try to compile the SPF record */
Index: tags/1.2.10-7/debian/patches/series
===================================================================
--- tags/1.2.10-7/debian/patches/series (nonexistent)
+++ tags/1.2.10-7/debian/patches/series (revision 108)
@@ -0,0 +1,4 @@
+spf_dns-include-std-headers.patch
+abolish-spf-rrtype.patch
+gcc5-variadicmacros.patch
+error_results.patch
Index: tags/1.2.10-7/debian/patches/gcc5-variadicmacros.patch
===================================================================
--- tags/1.2.10-7/debian/patches/gcc5-variadicmacros.patch (nonexistent)
+++ tags/1.2.10-7/debian/patches/gcc5-variadicmacros.patch (revision 108)
@@ -0,0 +1,17 @@
+--- a/src/include/spf_log.h
++++ b/src/include/spf_log.h
+@@ -63,10 +63,10 @@ void SPF_debugv( const char *file, int l
+
+ #if defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L
+
+-#define SPF_errorf(format, ... ) SPF_errorx( __FILE__, __LINE__, format, __VA_ARGS__ )
+-#define SPF_warningf(format, ... ) SPF_warningx( __FILE__, __LINE__, format, __VA_ARGS__ )
+-#define SPF_infof(format, ... ) SPF_infox( __FILE__, __LINE__, format, __VA_ARGS__ )
+-#define SPF_debugf(format, ... ) SPF_debugx( __FILE__, __LINE__, format, __VA_ARGS__ )
++#define SPF_errorf(format, ... ) SPF_errorx( __FILE__, __LINE__, format, ##__VA_ARGS__ )
++#define SPF_warningf(format, ... ) SPF_warningx( __FILE__, __LINE__, format, ##__VA_ARGS__ )
++#define SPF_infof(format, ... ) SPF_infox( __FILE__, __LINE__, format, ##__VA_ARGS__ )
++#define SPF_debugf(format, ... ) SPF_debugx( __FILE__, __LINE__, format, ##__VA_ARGS__ )
+
+ #elif defined( __GNUC__ )
+
Index: tags/1.2.10-7/debian/patches/abolish-spf-rrtype.patch
===================================================================
--- tags/1.2.10-7/debian/patches/abolish-spf-rrtype.patch (nonexistent)
+++ tags/1.2.10-7/debian/patches/abolish-spf-rrtype.patch (revision 108)
@@ -0,0 +1,16 @@
+Description: Stop trying to look up the dedicated SPF DNS RR type,
+ which was abolished by RFC 7208. The rr_type variable and the all the
+ "goto retry" commands could be deleted as well, but let's keep the
+ patch minimal.
+
+--- a/src/libspf2/spf_server.c 2012-01-28 09:24:47.000000000 +0100
++++ b/src/libspf2/spf_server.c 2014-06-19 14:09:07.000000000 +0200
+@@ -346,7 +346,7 @@
+ spf_response, spf_recordp);
+
+ /* I am VERY, VERY sorry about the gotos. Shevek. */
+- rr_type = ns_t_spf;
++ rr_type = ns_t_txt;
+ retry:
+ rr_txt = SPF_dns_lookup(resolver, domain, rr_type, TRUE);
+
Index: tags/1.2.10-7/debian/patches/spf_dns-include-std-headers.patch
===================================================================
--- tags/1.2.10-7/debian/patches/spf_dns-include-std-headers.patch (nonexistent)
+++ tags/1.2.10-7/debian/patches/spf_dns-include-std-headers.patch (revision 108)
@@ -0,0 +1,62 @@
+Author: Magnus Holmgren <holmgren@debian.org>
+Description: Include arpa/nameser.h and netdb.h from spf_dns.h
+ instead of defining the constants needed unless certain HAVE_ macros are defined.
+ Updated for libspf2 1.2.8/9 by Scott Kitterman <scott@kitterman.com>
+
+--- libspf2-1.2.9~/src/include/spf_dns.h 2008-10-27 12:27:14.000000000 -0400
++++ libspf2-1.2.9/src/include/spf_dns.h 2008-11-04 10:10:58.000000000 -0500
+@@ -63,48 +63,19 @@
+ *
+ */
+
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
++ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+ /*
+- * For those who don't have <arpa/nameserv.h>
++ * Type 99 decl does not exist in Debian libc6 (not even 2.7)
+ */
+-
+-/* XXX This should use a more sensible define. */
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /**< Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+ #if ! HAVE_DECL_NS_T_SPF
+ #define ns_t_spf 99
+ #endif
+
+-#if ! HAVE_DECL_NS_T_INVALID
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /**< NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /**< SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /**< invalid/unimplmeneted query */
+-#define NO_DATA 4 /**< host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/tags/1.2.10-7/debian/patches/spf_dns-include-std-headers.patch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.10-7/debian/copyright
===================================================================
--- tags/1.2.10-7/debian/copyright (nonexistent)
+++ tags/1.2.10-7/debian/copyright (revision 108)
@@ -0,0 +1,135 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Source: http://www.libspf2.org/
+Upstream-Contact: Shevek <libspf2@anarres.org>
+License: LGPL-2.1+ or BSD-2-clause
+
+Files: *
+Copyright: ยฉ 2004-2005 Wayne Schlitt and Shevek, ยฉ 2008 Shevek.
+ - Current maintainer: Shevek <libspf2@anarres.org>
+ - Contributors: Magnus Holmgren, Julian Mehnle, Scott Kitterman,
+ Dan Kaminsky, Ben Chelf, Hannah Schroeter, Manish Raje
+ - Original author, 1.0 series: Wayne Schlitt <wayne@schlitt.net>
+License: LGPL-2.1+ or BSD-2-clause
+
+Files: src/spf_example/spf_example.c
+Copyright: Written by Wayne Schlitt and released into the public domain.
+License: public-domain
+ "This program is in the public domain, there is no copyright, you can
+ do anything you want with it."
+
+Files: src/libreplace/__ns_name_uncompress.c src/libreplace/__ns_initparse.c
+Copyright: ยฉ 1996, 1999 Internet Software Consortium
+License: ISC
+ Permission to use, copy, modify, and distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
+ ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
+ CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ SOFTWARE.
+
+Files: src/libreplace/arpa_nameser.h
+Copyright: ยฉ 1983, 1989, 1993 The Regents of the University of California
+License: BSD-4-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+ 4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+Files: src/libreplace/getopt.h src/libreplace/getopt_long_only.c
+Copyright: ยฉ 1987,88,89,90,91,92,93,94,96,97 Free Software Foundation, Inc
+License: LGPL-2+
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License 2.0 can be found in the file `/usr/share/common-licenses/LGPL-2'.
+
+Files: perl/*
+Copyright: ยฉ 2008 Shevek <cpan@anarres.org>
+License: GPL-1+ or Artistic-1
+ This program is free software; you can redistribute it and/or modify
+ it under the same terms as Perl itself.
+ .
+ On Debian systems, the complete text of the GNU General Public
+ License 1.0 can be found in the file
+ `/usr/share/common-licenses/GPL-1'.
+ .
+ On Debian systems, the complete text of the "Artistic License" can be
+ found in the file `/usr/share/common-licenses/Artistic'.
+
+Files: debian/*
+Copyright: ยฉ 2004-2006 Eric Dorland, ยฉ 2007-2013 Magnus Holmgren
+License: LGPL-2.1+ or BSD-2-clause
+Comment: The parts of the Debian packaging that is eligible for
+ copyright is ยฉ 2004-2006 Eric Dorland, 2007-2013 Magnus Holmgren and
+ assumed to be licensed under the same licenses as above.
+
+Files: debian/spfquery.libspf2.1
+Copyright: ยฉ 2007 Magnus Holmgren
+License: BSD-2-clause
+Comment: Giving the LGPL as an alternative is quite redundant as the BSD
+ license is so permissive that it allows redistribution under the LGPL
+ or most other licenses anyway.
+
+License: LGPL-2.1+ or BSD-2-clause
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+ .
+ a) The GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1, or (at your option) any
+ later version,
+ .
+ OR
+ .
+ b) The two-clause BSD license.
+ .
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License 2.1 can be found in the file
+ `/usr/share/common-licenses/LGPL-2.1'.
+ .
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ .
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Index: tags/1.2.10-7/debian/rules
===================================================================
--- tags/1.2.10-7/debian/rules (nonexistent)
+++ tags/1.2.10-7/debian/rules (revision 108)
@@ -0,0 +1,88 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+LIB_PACKAGE = libspf2-2
+
+DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE)
+else
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
+endif
+
+CFLAGS := $(shell dpkg-buildflags --get CFLAGS)
+CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
+LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)
+perlld := $(shell perl -MConfig -e 'print $$Config{ld}')
+
+DEB_LDFLAGS_MAINT_APPEND = -Wl,--version-script=$(CURDIR)/debian/libspf2.ver
+buildflags += $(shell DEB_LDFLAGS_MAINT_APPEND="$(DEB_LDFLAGS_MAINT_APPEND)" \
+ dpkg-buildflags --export=configure)
+
+config.status: configure
+ dh_testdir
+ # Add here commands to configure the package.
+ dh_autoreconf
+ ./configure --prefix=/usr $(buildflags)
+
+build: build-arch
+build-indep:
+build-arch: build-arch-stamp
+build-arch-stamp: config.status
+ dh_testdir
+
+ $(MAKE)
+ cd perl && perl Makefile.PL INSTALLDIRS=vendor \
+ OPTIMIZE="$(CPPFLAGS) $(CFLAGS)" LD="$(perlld) $(CFLAGS) $(LDFLAGS)"
+ $(MAKE) -C perl LD_RUN_PATH=
+
+ touch "$@"
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-arch-stamp
+
+ [ ! -f Makefile ] || $(MAKE) distclean
+ [ ! -f perl/Makefile ] || $(MAKE) -C perl realclean
+
+ dh_autoreconf_clean
+ dh_clean
+
+install: build-arch
+ dh_testdir
+ dh_testroot
+ dh_prep
+
+ $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
+ $(MAKE) -C perl install DESTDIR=$(CURDIR)/debian/tmp
+
+binary-arch: install
+ dh_testdir
+ dh_testroot
+ dh_install -a
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+ dh_installdocs -a --link-doc=$(LIB_PACKAGE)
+ dh_installchangelogs -a
+ dh_installman -a
+ dh_strip -a --dbg-package=$(LIB_PACKAGE)-dbg
+ dh_perl -a
+ dh_compress -a
+ dh_fixperms -a
+ dh_makeshlibs -V '$(LIB_PACKAGE) (>= 1.2.8~)'
+ dh_installdeb -a
+ dh_shlibdeps -a
+ dh_gencontrol -a
+ dh_md5sums -a
+ dh_builddeb -a
+
+binary: binary-arch
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.10.tar.gz
+
+.PHONY: build build-indep build-arch clean clean-patched binary-indep binary-arch binary install get-orig-source
/tags/1.2.10-7/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.10-7/debian/libmail-spf-xs-perl.install
===================================================================
--- tags/1.2.10-7/debian/libmail-spf-xs-perl.install (nonexistent)
+++ tags/1.2.10-7/debian/libmail-spf-xs-perl.install (revision 108)
@@ -0,0 +1,5 @@
+#!/usr/bin/perl -w
+use Config;
+print <<"" =~ s!^/!!rgm;
+$Config{vendorarch}
+usr/share/man/man3/*.3pm
/tags/1.2.10-7/debian/libmail-spf-xs-perl.install
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.10-7/debian/compat
===================================================================
--- tags/1.2.10-7/debian/compat (nonexistent)
+++ tags/1.2.10-7/debian/compat (revision 108)
@@ -0,0 +1 @@
+9
Index: tags/1.2.10-7/debian/spfquery.libspf2.1
===================================================================
--- tags/1.2.10-7/debian/spfquery.libspf2.1 (nonexistent)
+++ tags/1.2.10-7/debian/spfquery.libspf2.1 (revision 108)
@@ -0,0 +1,197 @@
+.\" Title: SPFQUERY
+.\" Author: Magnus Holmgren <holmgren@debian.org>
+.\" Date: 2007-09-06
+.\" Manual: libspf2 manuals for Debian
+.\" Source: libspf2 1.2.5
+.\"
+.TH "SPFQUERY" "1" "2007-09-06" "libspf2 1.2.5" "libspf2 manuals for Debian"
+.\" disable hyphenation
+.nh
+.SH NAME
+spfquery, spfquery.libspf2 \- checks if an IP address is an SPF-authorized SMTP sender for a domain.
+.SH SYNOPSIS
+.ad l
+.HP 9
+.B spfquery
+.RB { \-i | \-\-ip }
+.I ip\-address
+.RB { -s | \-\-sender }
+.RI [ local-part \fB@\fP] domain
+.RB [{ \-h | \-\-helo }
+.IR domain-name ]
+.RB [ \-\-rcpt\-to
+.IR email-address(es) ]
+.RI [ CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-f | \-\-file }
+.IR datafile " [" CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-\-help | \-v | \-\-version }
+.ad b
+.SH DESCRIPTION
+This manual page documents briefly the
+\fBspfquery\fR
+command. It was written for the
+Debian\*[R] distribution because the original program does not have a manual page.
+.PP
+\fBspfquery\fR performs Sender Policy Framework (SPF) authorization
+checks based on the command-line arguments or data given in a file or
+on standard input. For information on SPF see http://www.openspf.org.
+.
+.SH OPTIONS
+Options are divided into two groups: Data options, which must be
+given, though just enough of them to specify a query; and control
+options, which are optional and control the local policy, behaviour
+and output format of spfquery.
+.PP
+This programs follows the GNU \fBgetopt_long_only\fR(3) command line
+syntax: Long options can be given with one or two dashes and can be
+abbreviated to a prefix long enough to be non-ambiguous. If an option
+starting with a single dash doesn't match a long option, it is taken
+as a short option with a following parameter, if applicable. An equals
+sign between the option name and the parameter is optional for both
+short and long options.
+.SS Data options
+The
+\fB\-\-file\fR option conflicts with all the other data options. The
+\fB\-\-helo\fR and \fB\-\-rcpt\-to\fR are optional.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfilename\fR
+Read SPF data from \fIfilename\fR. Specify \(lq-\(rq to read from standard input.
+.sp
+The file should consist of one line per query, each query line consisting of the IP address, sender adress, and optional HELO string, separated by spaces.
+.sp
+\fBNote\fP
+Local parts containing spaces are currently not supported.
+.TP
+\fB\-i\fP, \fB\-\-ip\fP \fIip-address\fP
+Specify the IP address of the remote host that is delivering the mail.
+.TP
+\fB\-s\fP, \fB\-\-sender\fP [\fIlocal-part\fP\fB@\fP]\fIdomain\fP
+Specify the email address that was used as the envelope sender. If no
+username (local part) is given, \(lqpostmaster\(rq will be assumed.
+.TP
+\fB\-h\fP, \fB\-\-helo\fP \fIdomain-name\fP
+Specify that \fIdomain-name\fP was provided in the SMTP HELO (or EHLO) command.
+.TP
+\fB\-r\fP, \fB\-\-rcpt-to\fP \fIrcpt-address\fP[,\fIrcpt-address\fP,...]
+Specify the recipients as comma-separated list. Any secondary mail exchangers of all
+recipient domains are automatically authorized.
+.
+.SS Control options
+.TP
+\fB\-d\fP, \fB\-\-debug\fP[\fB=\fP\fIlevel\fP]
+Turn on debugging output.
+.TP
+\fB\-l\fP, \fB\-\-local\fP \fIspf\-terms\fP
+Test against \fIspf\-terms\fR before the final (implicit or explicit)
+\(lqall\(rq in an SPF record. This can be used to implement a local policy for whitelisting.
+.TP
+\fB\-t, \fB\-\-trusted\fR [\fB1\fR]
+Check the sender domain with trusted\-forwarder.org.
+\fBThis is a non\-standard feature.\fR
+.TP
+\fB\-t\fP \fB0\fP, \fB\-\-trusted\fR \fB0\fP
+Do not check the sender domain with trusted\-forwarder.org. This is the default.
+.TP
+\fB\-g\fP, \fB\-\-guess\fP \fIspf-mechanisms\fP
+Test the sender domain against \fIspf\-mechanisms\fP if the domain has no SPF record.
+.TP
+\fB\-e\fP, \fB\-\-default\-explanation\fP \fIstring\fP
+Default explanation string to use if the SPF record does not specify an expla\%nation string itself.
+.TP
+\fB\-m\fP, \fB\-\-max\-lookup\fP \fInumber\fP
+Maximum number of DNS lookups to allow.
+.TP
+\fB\-c\fP, \fB\-\-sanitize\fP [\fB0\fP|\fB1\fP]
+Do [not] sanitize the output by condensing conse\%cutive white\%space
+into a single space and replacing non-printable characters with
+question marks. Enabled by default.
+.TP
+\fB\-n\fP, \fB\-\-name\fP \fIhostname\fP
+Use
+\fIhostname\fP
+as the name of the local system instead of
+\(lqspfquery\(rq
+(the name is used in the output).
+.TP
+\fB\-k\fP, \fB\-\-keep\-comments\fP
+Print comments found when reading from a file.
+.TP
+\fB\-a\fP, \fB\-\-override\fP \fI...\fP
+.TP
+\fB\-z\fP, \fB\-\-fallback\fP \fI...\fP
+Provide override and fallback SPF records for certain domains.
+\fBNot implemented yet.\fP
+\fBspfquery\fP
+would act as if the speci\%fied records were present before and after any existing record, respectively, of those domains.
+.TP
+\fB\-\-help\fP
+Show summary of options.
+.TP
+\fB\-v\fP, \fB\-\-version\fP
+Show version of program.
+.SH DIAGNOSTICS
+The output ordinarily consists of four lines:
+.IP 1. 4
+the \fIresult code\fP;
+.IP 2. 4
+the \fIexplanation\fP, suitable for use in an SMTP response message, empty
+except when a rejection (permanent or temporary) makes sense;
+.IP 3. 4
+the header comment on its own;
+.IP 4. 4
+the Received\-SPF header field as defined in RFC 4408 section 7,
+incorporating the header comment.
+.PP
+If errors (including no SPF record found!) occur during processing,
+one or more error blocks will be prepended.
+These start with \(lqStartError\(lq and end with \(lqEndError\(lq.
+.PP
+The result codes and their corresponding exit codes are as follows:
+.TP
+.B 1 \(en neutral
+The sender domain explicitly makes no assertion about the \fIip-address\fP.
+This result must be interpreted exactly as if no SPF record at all existed.
+.TP
+.B 2 \(en pass
+The \fIip-address\fP is authorized to send mail for the sender domain.
+.TP
+.B 3 \(en fail
+The \fIip-address\fP is \fBunauthorized\fP to send mail for the sender domain.
+.TP
+.B 4 \(en softfail
+The \fIip-address\fP is not authorized to send mail for the sender domain, but
+the sender domain cannot or does not wish to make a strong assertion that no such mail can
+ever come from it.
+.TP
+.B 5 \(en none
+No SPF record was found.
+.TP
+.BR "6 \(en error" " (temporary)"
+A transient error occurred (e.g. failure to reach a DNS server), preventing a
+result from being reached.
+.TP
+.BR "7 \(en unknown" " (permanent error)"
+One or more SPF records could not be interpreted.
+.SH EXAMPLES
+.nf
+spfquery \-ip=11.22.33.44 \-sender=user@aol.com \-helo=spammer.tld
+spfquery \-f test_data
+echo "127.0.0.1 myname@mydomain.com helohost.com" | spfquery \-f \-
+.fi
+.SH SEE ALSO
+\fBspftest\fR(1), \fBspfd\fR(8)
+.SH AUTHOR
+\fBspfquery\fP was written by Wayne Schlitt.
+.PP
+This manual page was written by Magnus Holmgren for the Debian\*[R]
+system (but may be used by others). Heavily inspired by the spfquery manpage of
+libmail\-spf\-query\-perl (\fBspfquery.mail\-spf\-query\-perl\fR(1)) by Julian Mehnle.
+Also based on the command\-line help of spfquery.
+.SH COPYRIGHT
+Copyright \(co 2007 Magnus Holmgren. Permission is granted to copy,
+distribute and/or modify this document under the terms of the two-clause BSD
+License. See /usr/share/doc/spfquery/copyright.
Index: tags/1.2.10-7/debian/libspf2-2.symbols
===================================================================
--- tags/1.2.10-7/debian/libspf2-2.symbols (nonexistent)
+++ tags/1.2.10-7/debian/libspf2-2.symbols (revision 108)
@@ -0,0 +1,113 @@
+libspf2.so.2 libspf2-2 #MINVER#
+ SPF_debug_handler@Base 0
+ SPF_debug_stdio@Base 0
+ SPF_debug_syslog@Base 0
+ SPF_debugv@Base 0
+ SPF_debugx2@Base 0
+ SPF_debugx@Base 0
+ SPF_dns_cache_new@Base 0
+ SPF_dns_cache_set_ttl@Base 0
+ SPF_dns_free@Base 0
+ SPF_dns_get_client_dom@Base 0
+ SPF_dns_lookup@Base 0
+ SPF_dns_null_new@Base 0
+ SPF_dns_resolv_new@Base 0
+ SPF_dns_rlookup6@Base 0
+ SPF_dns_rlookup@Base 0
+ SPF_dns_rr_buf_realloc@Base 0
+ SPF_dns_rr_dup@Base 0
+ SPF_dns_rr_free@Base 0
+ SPF_dns_rr_new@Base 0
+ SPF_dns_rr_new_init@Base 0
+ SPF_dns_rr_new_nxdomain@Base 0
+ SPF_dns_set_conserve_cache@Base 0
+ SPF_dns_test_new@Base 0
+ SPF_dns_zone_add_str@Base 0
+ SPF_dns_zone_new@Base 0
+ SPF_error_code@Base 0
+ SPF_error_errorp@Base 0
+ SPF_error_handler@Base 0
+ SPF_error_message@Base 0
+ SPF_error_stdio@Base 0
+ SPF_error_syslog@Base 0
+ SPF_errorv@Base 0
+ SPF_errorx2@Base 0
+ SPF_errorx@Base 0
+ SPF_get_lib_version@Base 0
+ SPF_i_done@Base 0
+ SPF_info_handler@Base 0
+ SPF_info_stdio@Base 0
+ SPF_info_syslog@Base 0
+ SPF_infov@Base 0
+ SPF_infox2@Base 0
+ SPF_infox@Base 0
+ SPF_macro_free@Base 0
+ SPF_record_compile@Base 0
+ SPF_record_compile_macro@Base 0
+ SPF_record_expand_data@Base 0
+ SPF_record_find_mod_value@Base 0
+ SPF_record_free@Base 0
+ SPF_record_interpret@Base 0
+ SPF_record_new@Base 0
+ SPF_record_print@Base 0
+ SPF_record_stringify@Base 0
+ SPF_request_free@Base 0
+ SPF_request_get_client_dom@Base 0
+ SPF_request_get_exp@Base 0
+ SPF_request_get_rec_dom@Base 0
+ SPF_request_is_loopback@Base 0
+ SPF_request_new@Base 0
+ SPF_request_query_fallback@Base 0
+ SPF_request_query_mailfrom@Base 0
+ SPF_request_query_rcptto@Base 0
+ SPF_request_set_env_from@Base 0
+ SPF_request_set_helo_dom@Base 0
+ SPF_request_set_ipv4@Base 0
+ SPF_request_set_ipv4_str@Base 0
+ SPF_request_set_ipv6@Base 0
+ SPF_request_set_ipv6_str@Base 0
+ SPF_response_add_error@Base 0
+ SPF_response_add_error_idx@Base 0
+ SPF_response_add_error_ptr@Base 0
+ SPF_response_add_warn@Base 0
+ SPF_response_add_warn_idx@Base 0
+ SPF_response_add_warn_ptr@Base 0
+ SPF_response_combine@Base 0
+ SPF_response_errcode@Base 0
+ SPF_response_errors@Base 0
+ SPF_response_free@Base 0
+ SPF_response_get_explanation@Base 0
+ SPF_response_get_header_comment@Base 0
+ SPF_response_get_received_spf@Base 0
+ SPF_response_get_received_spf_value@Base 0
+ SPF_response_get_smtp_comment@Base 0
+ SPF_response_message@Base 0
+ SPF_response_messages@Base 0
+ SPF_response_new@Base 0
+ SPF_response_reason@Base 0
+ SPF_response_result@Base 0
+ SPF_response_warnings@Base 0
+ SPF_server_free@Base 0
+ SPF_server_get_max_dns_mech@Base 0
+ SPF_server_get_max_dns_mx@Base 0
+ SPF_server_get_max_dns_ptr@Base 0
+ SPF_server_get_record@Base 0
+ SPF_server_new@Base 0
+ SPF_server_new_dns@Base 1.2.8~
+ SPF_server_set_explanation@Base 0
+ SPF_server_set_localpolicy@Base 0
+ SPF_server_set_max_dns_mech@Base 0
+ SPF_server_set_max_dns_mx@Base 0
+ SPF_server_set_max_dns_ptr@Base 0
+ SPF_server_set_rec_dom@Base 0
+ SPF_server_set_sanitize@Base 0
+ SPF_strerror@Base 0
+ SPF_strreason@Base 0
+ SPF_strresult@Base 0
+ SPF_strrrtype@Base 1.2.8~
+ SPF_warning_handler@Base 0
+ SPF_warning_stdio@Base 0
+ SPF_warning_syslog@Base 0
+ SPF_warningv@Base 0
+ SPF_warningx2@Base 0
+ SPF_warningx@Base 0
Index: tags/1.2.10-7/debian/libspf2.ver
===================================================================
--- tags/1.2.10-7/debian/libspf2.ver (nonexistent)
+++ tags/1.2.10-7/debian/libspf2.ver (revision 108)
@@ -0,0 +1,16 @@
+{
+global:
+ SPF_*;
+ main;
+ __libc_csu_*;
+ _init;
+ _fini;
+ _IO_stdin_used;
+ _DYNAMIC_LINKING;
+ __RLD_MAP;
+local:
+ SPF_recalloc;
+ SPF_sanitize;
+ SPF_print_sizeof;
+ *;
+};
Index: tags/1.2.10-7/debian/spfquery.postinst
===================================================================
--- tags/1.2.10-7/debian/spfquery.postinst (nonexistent)
+++ tags/1.2.10-7/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,25 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25 \
+ --slave /usr/share/man/man1/spfquery.1.gz spfquery.1.gz /usr/share/man/man1/spfquery.$source_package.1.gz
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/spfquery"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
Index: tags/1.2.10-7/debian/libspf2-2-dbg.postinst
===================================================================
--- tags/1.2.10-7/debian/libspf2-2-dbg.postinst (nonexistent)
+++ tags/1.2.10-7/debian/libspf2-2-dbg.postinst (revision 108)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/libspf2-2-dbg"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Index: tags/1.2.10-7/debian/libspf2-dev.postinst
===================================================================
--- tags/1.2.10-7/debian/libspf2-dev.postinst (nonexistent)
+++ tags/1.2.10-7/debian/libspf2-dev.postinst (revision 108)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/libspf2-dev"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Index: tags/1.2.10-7/debian/docs
===================================================================
--- tags/1.2.10-7/debian/docs (nonexistent)
+++ tags/1.2.10-7/debian/docs (revision 108)
@@ -0,0 +1,2 @@
+README
+TODO
Index: tags/1.2.10-7/debian/README.Debian
===================================================================
--- tags/1.2.10-7/debian/README.Debian (nonexistent)
+++ tags/1.2.10-7/debian/README.Debian (revision 108)
@@ -0,0 +1,11 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+ -- Magnus Holmgren <holmgren@debian.org>, Mon, 14 Sep 2009 22:33:12 +0200
Index: tags/1.2.10-7/debian/source/format
===================================================================
--- tags/1.2.10-7/debian/source/format (nonexistent)
+++ tags/1.2.10-7/debian/source/format (revision 108)
@@ -0,0 +1 @@
+3.0 (quilt)
Index: tags/1.2.10-7/debian/libspf2-dev.install
===================================================================
--- tags/1.2.10-7/debian/libspf2-dev.install (nonexistent)
+++ tags/1.2.10-7/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,3 @@
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.so
Index: tags/1.2.10-7/debian/spfquery.install
===================================================================
--- tags/1.2.10-7/debian/spfquery.install (nonexistent)
+++ tags/1.2.10-7/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+usr/bin/spfquery
+usr/bin/spftest
+usr/bin/spf_example
+usr/bin/spfd usr/sbin
Index: tags/1.2.10-7/debian/libspf2-2.install
===================================================================
--- tags/1.2.10-7/debian/libspf2-2.install (nonexistent)
+++ tags/1.2.10-7/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+usr/lib/lib*.so.*
Index: tags/1.2.10-7/debian/spfquery.manpages
===================================================================
--- tags/1.2.10-7/debian/spfquery.manpages (nonexistent)
+++ tags/1.2.10-7/debian/spfquery.manpages (revision 108)
@@ -0,0 +1 @@
+debian/spfquery.libspf2.1
Index: tags/1.2.10-7/debian/watch
===================================================================
--- tags/1.2.10-7/debian/watch (nonexistent)
+++ tags/1.2.10-7/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: tags/1.2.10-7/debian/spfquery.prerm
===================================================================
--- tags/1.2.10-7/debian/spfquery.prerm (nonexistent)
+++ tags/1.2.10-7/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.10-7/debian
===================================================================
--- tags/1.2.10-7/debian (nonexistent)
+++ tags/1.2.10-7/debian (revision 108)
/tags/1.2.10-7/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: tags/1.2.10-5/debian/changelog
===================================================================
--- tags/1.2.10-5/debian/changelog (nonexistent)
+++ tags/1.2.10-5/debian/changelog (revision 108)
@@ -0,0 +1,321 @@
+libspf2 (1.2.10-5) unstable; urgency=low
+
+ * abolish-spf-rrtype.patch: Stop trying to look up the dedicated SPF DNS
+ RR type, which was abolished by RFC 7208 (Closes: #764533).
+ * Bump Standards-Version to 3.9.6.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 12 Oct 2014 21:18:33 +0200
+
+libspf2 (1.2.10-4) unstable; urgency=low
+
+ * Upgrade to Debhelper compat level 9, in order to:
+ * Handle variable vendorarch installation directory (Closes: #752712),
+ by making debian/libmail-spf-xs-perl.install executable.
+ * Bump Standards-Version to 3.9.5.
+ * debian/rules: Update URL in get-orig-source target (a year late).
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 05 Jul 2014 22:19:51 +0200
+
+libspf2 (1.2.10-3) unstable; urgency=low
+
+ * Merge changes from Ubuntu (Closes: #734224).
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 01 Feb 2014 14:51:57 +0100
+
+libspf2 (1.2.10-2ubuntu1) trusty; urgency=medium
+
+ * Use dh-autoreconf instead of autotools-dev to also fix FTBFS on ppc64el by
+ getting new libtool macros (still updates config.{sub,guess}).
+
+ -- Logan Rosen <logan@ubuntu.com> Fri, 03 Jan 2014 15:56:24 -0500
+
+libspf2 (1.2.10-2) unstable; urgency=low
+
+ * Convert debian/copyright to machine-readable format and update
+ copyright info including details on files in src/libreplace.
+ * debian/spfquery.libspf2.1: Change license to 2-clause BSD, as was
+ intended from the beginning.
+
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 12 Aug 2013 12:07:40 +0200
+
+libspf2 (1.2.10-1) unstable; urgency=low
+
+ * New upstream release.
+ * Drop ipv6-bugs.patch and private-glibc-functions.patch; incorporated
+ upstream.
+ * Hide additional internal symbols from the dynamic table.
+ * Build and include the Perl XS module.
+ * Bump Standards-Version to 3.9.4.
+
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 13 Jun 2013 23:58:12 +0200
+
+libspf2 (1.2.9-7) unstable; urgency=high
+
+ * Add postinst scripts that replace old documentation directories (from
+ before 1.2.9-5) in libspf2-dev, libspf2-2-dbg and spfquery with
+ symlinks (Closes: #687862, #687863, #687864). Thanks to Salvatore
+ Bonaccorso <carnil@debian.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 23 Sep 2012 21:25:43 +0200
+
+libspf2 (1.2.9-6) unstable; urgency=low
+
+ * Rename ipv6-buffer-miscalculation.patch ipv6-bugs.patch. Include
+ the following small IPv6-related patches from FreeBSD:
+ * patch-src_libspf2_spf__compile.c
+ * patch-src_libspf2_spf__interpret.c
+ Already included was patch-src_libspf2_spf__expand.c.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 22 Jan 2012 22:45:04 +0100
+
+libspf2 (1.2.9-5) unstable; urgency=low
+
+ * Convert package to source format 3.0 (quilt).
+ * Include text of BSD license in debian/copyright, as is now preferred.
+ * Switch from CDBS to classic Debhelper, getting build flags from
+ dpkg-buildflags "by hand".
+ * Increase Debhelper compat level to 7.
+ * Put docs in libspf2-2 and replace the other packages' doc directories
+ with symlinks to that one.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 11 Nov 2011 22:13:50 +0100
+
+libspf2 (1.2.9-4) unstable; urgency=low
+
+ * Drop obsolete README.Debian-source; move non-obsolete info to
+ libspf2-dev.README.Debian.
+ * debian/libspf2.ver: Explicitly unhide certain special symbols that
+ became hidden on the mips and mipsel architectures but nowhere else,
+ causing a FTBFS.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 03 Oct 2009 21:29:19 +0200
+
+libspf2 (1.2.9-3) unstable; urgency=high
+
+ * ipv6_buffer_miscalculation.dpatch: Fix an abort() caused by
+ miscalculating the size of an internal buffer when mail is received
+ over IPv6. Thanks to Matthias Scheler <tron@netbsd.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 13 Sep 2009 20:23:22 +0200
+
+libspf2 (1.2.9-2) unstable; urgency=low
+
+ * debian/rules: Correct version.
+ * 01_private_glib_functions.dpatch: Avoid linking private glibc
+ functions.
+ * Simplify debian/*.install and exclude the libtool .la file from the
+ -dev package. Set DEB_DH_INSTALL_SOURCEDIR accordingly.
+ * Add ${misc:Depends} to Depends.
+ * Add debug package.
+ * Use ld version script to hide internal symbols.
+ * Bump Standards-Version to 3.8.3.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 25 Aug 2009 00:15:01 +0200
+
+libspf2 (1.2.9-1) unstable; urgency=high
+
+ * New upstream release.
+ - Drops non-dfsg Free IETF internet draft, so tarball no longer needs
+ repacking
+ + Fixes exploitable buffer overflow (LP: #287534)
+ + Multiple fixes for improved RFC 4408 compliance
+ + Update libspf2-2.symbols for new symbol
+ + 20_spf_dns_include_std_headers.dpatch: Updated.
+ * Thanks to Scott Kitterman.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 04 Nov 2008 21:14:31 +0100
+
+libspf2 (1.2.8~dfsg-1) unstable; urgency=low
+
+ * Merge changes from Ubuntu.
+ * Fix and tweak library dependency information (shlibs as well as
+ symbols).
+ * Upgrade to Standards-Version: 3.8.0. Changes needed:
+ + Add debian/README.source (ยง 4.9).
+ * Bring debian/copyright a bit more up-to-date.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 02 Nov 2008 12:29:51 +0100
+
+libspf2 (1.2.8~dfsg-0ubuntu1) intrepid; urgency=low
+
+ * New upstream release (LP: #283920)
+ - Fixes multiple memory leaks
+ - CVE2008-2469 buffer overflows
+ - Adds new documentation
+ - Drop all patches except 20_spf_dns_include_std_headers.dpatch (included
+ upstream)
+ - Freshen 20_spf_dns_include_std_headers.dpatch
+ - Update debian/rules for new release
+ * Repack tarball to remove non-DFSG Free IETF draft
+ * Added debian/libspf2-2.symbols and updated for new version
+ * Drop README.Debian since it no longer applies.
+
+ -- Scott Kitterman <scott@kitterman.com> Sun, 19 Oct 2008 01:00:13 -0400
+
+libspf2 (1.2.5.dfsg-5) unstable; urgency=low
+
+ * 43_new_explanation_url.dpatch: Bring default explanation up to date by
+ referring to www.openspf.org instead of spf.pobox.com.
+ * Add spfquery(1) manpage.
+ * Fix format of copyright notice in debian/copyright.
+ * Move upstream homepage URL to the new Homepage control field, rename
+ VCS control fields, and update Standards-Version.
+ * A few cosmetic adjustments including fixing the indentation of the
+ 1.2.5.dfsg-3 entry below (Closes: #465466).
+ * New maintainer email address.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 18 Apr 2008 17:51:28 +0200
+
+libspf2 (1.2.5.dfsg-4) unstable; urgency=low
+
+ * Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
+ (Closes: #440147). Thanks to Matthias Cramer.
+ * 35_untabify_help.dpatch: Make --help output of utilities less ugly by
+ converting tabs to spaces.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
+
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: tags/1.2.10-5/debian/compat
===================================================================
--- tags/1.2.10-5/debian/compat (nonexistent)
+++ tags/1.2.10-5/debian/compat (revision 108)
@@ -0,0 +1 @@
+9
Index: tags/1.2.10-5/debian/control
===================================================================
--- tags/1.2.10-5/debian/control (nonexistent)
+++ tags/1.2.10-5/debian/control (revision 108)
@@ -0,0 +1,79 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <holmgren@debian.org>
+Build-Depends: dpkg-dev (>= 1.15.7), debhelper (>= 9), dh-autoreconf,
+ perl, libstring-escape-perl
+Standards-Version: 3.9.6
+Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+Vcs-Browser: http://svn.kibibyte.se/libspf2
+Homepage: http://www.libspf2.org/
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}), ${misc:Depends}
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}) | spfquery (= ${binary:Version}),
+ ${misc:Depends}
+Description: library for validating mail senders with SPF (debugging symbols)
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair.
+ .
+ This package contains the debugging symbols.
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
+
+Package: libmail-spf-xs-perl
+Section: perl
+Priority: extra
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, libstring-escape-perl
+Description: library for validating mail senders with SPF - Perl bindings
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+ .
+ This package provides an XS module for using libspf from Perl programs.
Index: tags/1.2.10-5/debian/libmail-spf-xs-perl.install
===================================================================
--- tags/1.2.10-5/debian/libmail-spf-xs-perl.install (nonexistent)
+++ tags/1.2.10-5/debian/libmail-spf-xs-perl.install (revision 108)
@@ -0,0 +1,5 @@
+#!/usr/bin/perl -w
+use Config;
+print <<"" =~ s!^/!!rgm;
+$Config{vendorarch}
+usr/share/man/man3/*.3pm
/tags/1.2.10-5/debian/libmail-spf-xs-perl.install
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.10-5/debian/patches/abolish-spf-rrtype.patch
===================================================================
--- tags/1.2.10-5/debian/patches/abolish-spf-rrtype.patch (nonexistent)
+++ tags/1.2.10-5/debian/patches/abolish-spf-rrtype.patch (revision 108)
@@ -0,0 +1,16 @@
+Description: Stop trying to look up the dedicated SPF DNS RR type,
+ which was abolished by RFC 7208. The rr_type variable and the all the
+ "goto retry" commands could be deleted as well, but let's keep the
+ patch minimal.
+
+--- a/src/libspf2/spf_server.c 2012-01-28 09:24:47.000000000 +0100
++++ b/src/libspf2/spf_server.c 2014-06-19 14:09:07.000000000 +0200
+@@ -346,7 +346,7 @@
+ spf_response, spf_recordp);
+
+ /* I am VERY, VERY sorry about the gotos. Shevek. */
+- rr_type = ns_t_spf;
++ rr_type = ns_t_txt;
+ retry:
+ rr_txt = SPF_dns_lookup(resolver, domain, rr_type, TRUE);
+
Index: tags/1.2.10-5/debian/patches/series
===================================================================
--- tags/1.2.10-5/debian/patches/series (nonexistent)
+++ tags/1.2.10-5/debian/patches/series (revision 108)
@@ -0,0 +1,2 @@
+spf_dns-include-std-headers.patch
+abolish-spf-rrtype.patch
Index: tags/1.2.10-5/debian/patches/spf_dns-include-std-headers.patch
===================================================================
--- tags/1.2.10-5/debian/patches/spf_dns-include-std-headers.patch (nonexistent)
+++ tags/1.2.10-5/debian/patches/spf_dns-include-std-headers.patch (revision 108)
@@ -0,0 +1,62 @@
+Author: Magnus Holmgren <holmgren@debian.org>
+Description: Include arpa/nameser.h and netdb.h from spf_dns.h
+ instead of defining the constants needed unless certain HAVE_ macros are defined.
+ Updated for libspf2 1.2.8/9 by Scott Kitterman <scott@kitterman.com>
+
+--- libspf2-1.2.9~/src/include/spf_dns.h 2008-10-27 12:27:14.000000000 -0400
++++ libspf2-1.2.9/src/include/spf_dns.h 2008-11-04 10:10:58.000000000 -0500
+@@ -63,48 +63,19 @@
+ *
+ */
+
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
++ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+ /*
+- * For those who don't have <arpa/nameserv.h>
++ * Type 99 decl does not exist in Debian libc6 (not even 2.7)
+ */
+-
+-/* XXX This should use a more sensible define. */
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /**< Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+ #if ! HAVE_DECL_NS_T_SPF
+ #define ns_t_spf 99
+ #endif
+
+-#if ! HAVE_DECL_NS_T_INVALID
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /**< NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /**< SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /**< invalid/unimplmeneted query */
+-#define NO_DATA 4 /**< host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/tags/1.2.10-5/debian/patches/spf_dns-include-std-headers.patch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.10-5/debian/rules
===================================================================
--- tags/1.2.10-5/debian/rules (nonexistent)
+++ tags/1.2.10-5/debian/rules (revision 108)
@@ -0,0 +1,88 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+LIB_PACKAGE = libspf2-2
+
+DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE)
+else
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
+endif
+
+CFLAGS := $(shell dpkg-buildflags --get CFLAGS)
+CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
+LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)
+perlld := $(shell perl -MConfig -e 'print $$Config{ld}')
+
+DEB_LDFLAGS_MAINT_APPEND = -Wl,--version-script=$(CURDIR)/debian/libspf2.ver
+buildflags += $(shell DEB_LDFLAGS_MAINT_APPEND="$(DEB_LDFLAGS_MAINT_APPEND)" \
+ dpkg-buildflags --export=configure)
+
+config.status: configure
+ dh_testdir
+ # Add here commands to configure the package.
+ dh_autoreconf
+ ./configure --prefix=/usr $(buildflags)
+
+build: build-arch
+build-indep:
+build-arch: build-arch-stamp
+build-arch-stamp: config.status
+ dh_testdir
+
+ $(MAKE)
+ cd perl && perl Makefile.PL INSTALLDIRS=vendor \
+ OPTIMIZE="$(CPPFLAGS) $(CFLAGS)" LD="$(perlld) $(CFLAGS) $(LDFLAGS)"
+ $(MAKE) -C perl LD_RUN_PATH=
+
+ touch "$@"
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-arch-stamp
+
+ [ ! -f Makefile ] || $(MAKE) distclean
+ [ ! -f perl/Makefile ] || $(MAKE) -C perl realclean
+
+ dh_autoreconf_clean
+ dh_clean
+
+install: build-arch
+ dh_testdir
+ dh_testroot
+ dh_prep
+
+ $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
+ $(MAKE) -C perl install DESTDIR=$(CURDIR)/debian/tmp
+
+binary-arch: install
+ dh_testdir
+ dh_testroot
+ dh_install -a
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+ dh_installdocs -a --link-doc=$(LIB_PACKAGE)
+ dh_installchangelogs -a
+ dh_installman -a
+ dh_strip -a --dbg-package=$(LIB_PACKAGE)-dbg
+ dh_perl -a
+ dh_compress -a
+ dh_fixperms -a
+ dh_makeshlibs -V '$(LIB_PACKAGE) (>= 1.2.8~)'
+ dh_installdeb -a
+ dh_shlibdeps -a
+ dh_gencontrol -a
+ dh_md5sums -a
+ dh_builddeb -a
+
+binary: binary-arch
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.10.tar.gz
+
+.PHONY: build build-indep build-arch clean clean-patched binary-indep binary-arch binary install get-orig-source
/tags/1.2.10-5/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.10-5/debian/copyright
===================================================================
--- tags/1.2.10-5/debian/copyright (nonexistent)
+++ tags/1.2.10-5/debian/copyright (revision 108)
@@ -0,0 +1,137 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Source: http://www.libspf2.org/
+Upstream-Contact: Shevek <libspf2@anarres.org>
+License: LGPL-2.1+ or BSD-2-clause
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+ .
+ a) The GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1, or (at your option) any
+ later version,
+ .
+ OR
+ .
+ b) The two-clause BSD license.
+
+Files: *
+Copyright: ยฉ 2004-2005 Wayne Schlitt and Shevek, ยฉ 2008 Shevek.
+ - Current maintainer: Shevek <libspf2@anarres.org>
+ - Contributors: Magnus Holmgren, Julian Mehnle, Scott Kitterman,
+ Dan Kaminsky, Ben Chelf, Hannah Schroeter, Manish Raje
+ - Original author, 1.0 series: Wayne Schlitt <wayne@schlitt.net>
+License: LGPL-2.1+ or BSD-2-clause
+
+Files: src/spf_example/spf_example.c
+Copyright: Written by Wayne Schlitt and released into the public domain.
+License: public-domain
+ "This program is in the public domain, there is no copyright, you can
+ do anything you want with it."
+
+Files: src/libreplace/__ns_name_uncompress.c src/libreplace/__ns_initparse.c
+Copyright: ยฉ 1996, 1999 Internet Software Consortium
+License: ISC
+ Permission to use, copy, modify, and distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
+ ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
+ CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ SOFTWARE.
+
+Files: src/libreplace/arpa_nameser.h
+Copyright: ยฉ 1983, 1989, 1993 The Regents of the University of California
+License: BSD-4-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+ 4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+Files: src/libreplace/getopt.h src/libreplace/getopt_long_only.c
+Copyright: ยฉ 1987,88,89,90,91,92,93,94,96,97 Free Software Foundation, Inc
+License: LGPL-2+
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License 2.0 can be found in the file `/usr/share/common-licenses/LGPL-2'.
+
+Files: perl/*
+Copyright: ยฉ 2008 Shevek <cpan@anarres.org>
+License: GPL-1+ or Artistic-1
+ This program is free software; you can redistribute it and/or modify
+ it under the same terms as Perl itself.
+
+Files: debian/*
+Copyright: ยฉ 2004-2006 Eric Dorland, ยฉ 2007-2013 Magnus Holmgren
+License: LGPL-2.1+ or BSD-2-clause
+Comment: The parts of the Debian packaging that is eligible for
+ copyright is ยฉ 2004-2006 Eric Dorland, 2007-2013 Magnus Holmgren and
+ assumed to be licensed under the same licenses as above.
+
+Files: debian/spfquery.libspf2.1
+Copyright: ยฉ 2007 Magnus Holmgren
+License: BSD-2-clause
+ (Giving the LGPL as an alternative is quite redundant as the BSD
+ license is so permissive that it allows redistribution under the LGPL
+ or most other licenses anyway).
+
+License: LGPL-2.1+
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License 2.1 can be found in the file
+ `/usr/share/common-licenses/LGPL-2.1'.
+
+License: BSD-2-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ .
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: GPL-1+
+ On Debian systems, the complete text of the GNU General Public
+ License 1.0 can be found in the file
+ `/usr/share/common-licenses/GPL-1'.
+
+License: Artistic-1
+ On Debian systems, the complete text of the "Artistic License" can be
+ found in the file `/usr/share/common-licenses/Artistic'.
Index: tags/1.2.10-5/debian/spfquery.libspf2.1
===================================================================
--- tags/1.2.10-5/debian/spfquery.libspf2.1 (nonexistent)
+++ tags/1.2.10-5/debian/spfquery.libspf2.1 (revision 108)
@@ -0,0 +1,197 @@
+.\" Title: SPFQUERY
+.\" Author: Magnus Holmgren <holmgren@debian.org>
+.\" Date: 2007-09-06
+.\" Manual: libspf2 manuals for Debian
+.\" Source: libspf2 1.2.5
+.\"
+.TH "SPFQUERY" "1" "2007-09-06" "libspf2 1.2.5" "libspf2 manuals for Debian"
+.\" disable hyphenation
+.nh
+.SH NAME
+spfquery, spfquery.libspf2 \- checks if an IP address is an SPF-authorized SMTP sender for a domain.
+.SH SYNOPSIS
+.ad l
+.HP 9
+.B spfquery
+.RB { \-i | \-\-ip }
+.I ip\-address
+.RB { -s | \-\-sender }
+.RI [ local-part \fB@\fP] domain
+.RB [{ \-h | \-\-helo }
+.IR domain-name ]
+.RB [ \-\-rcpt\-to
+.IR email-address(es) ]
+.RI [ CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-f | \-\-file }
+.IR datafile " [" CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-\-help | \-v | \-\-version }
+.ad b
+.SH DESCRIPTION
+This manual page documents briefly the
+\fBspfquery\fR
+command. It was written for the
+Debian\*[R] distribution because the original program does not have a manual page.
+.PP
+\fBspfquery\fR performs Sender Policy Framework (SPF) authorization
+checks based on the command-line arguments or data given in a file or
+on standard input. For information on SPF see http://www.openspf.org.
+.
+.SH OPTIONS
+Options are divided into two groups: Data options, which must be
+given, though just enough of them to specify a query; and control
+options, which are optional and control the local policy, behaviour
+and output format of spfquery.
+.PP
+This programs follows the GNU \fBgetopt_long_only\fR(3) command line
+syntax: Long options can be given with one or two dashes and can be
+abbreviated to a prefix long enough to be non-ambiguous. If an option
+starting with a single dash doesn't match a long option, it is taken
+as a short option with a following parameter, if applicable. An equals
+sign between the option name and the parameter is optional for both
+short and long options.
+.SS Data options
+The
+\fB\-\-file\fR option conflicts with all the other data options. The
+\fB\-\-helo\fR and \fB\-\-rcpt\-to\fR are optional.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfilename\fR
+Read SPF data from \fIfilename\fR. Specify \(lq-\(rq to read from standard input.
+.sp
+The file should consist of one line per query, each query line consisting of the IP address, sender adress, and optional HELO string, separated by spaces.
+.sp
+\fBNote\fP
+Local parts containing spaces are currently not supported.
+.TP
+\fB\-i\fP, \fB\-\-ip\fP \fIip-address\fP
+Specify the IP address of the remote host that is delivering the mail.
+.TP
+\fB\-s\fP, \fB\-\-sender\fP [\fIlocal-part\fP\fB@\fP]\fIdomain\fP
+Specify the email address that was used as the envelope sender. If no
+username (local part) is given, \(lqpostmaster\(rq will be assumed.
+.TP
+\fB\-h\fP, \fB\-\-helo\fP \fIdomain-name\fP
+Specify that \fIdomain-name\fP was provided in the SMTP HELO (or EHLO) command.
+.TP
+\fB\-r\fP, \fB\-\-rcpt-to\fP \fIrcpt-address\fP[,\fIrcpt-address\fP,...]
+Specify the recipients as comma-separated list. Any secondary mail exchangers of all
+recipient domains are automatically authorized.
+.
+.SS Control options
+.TP
+\fB\-d\fP, \fB\-\-debug\fP[\fB=\fP\fIlevel\fP]
+Turn on debugging output.
+.TP
+\fB\-l\fP, \fB\-\-local\fP \fIspf\-terms\fP
+Test against \fIspf\-terms\fR before the final (implicit or explicit)
+\(lqall\(rq in an SPF record. This can be used to implement a local policy for whitelisting.
+.TP
+\fB\-t, \fB\-\-trusted\fR [\fB1\fR]
+Check the sender domain with trusted\-forwarder.org.
+\fBThis is a non\-standard feature.\fR
+.TP
+\fB\-t\fP \fB0\fP, \fB\-\-trusted\fR \fB0\fP
+Do not check the sender domain with trusted\-forwarder.org. This is the default.
+.TP
+\fB\-g\fP, \fB\-\-guess\fP \fIspf-mechanisms\fP
+Test the sender domain against \fIspf\-mechanisms\fP if the domain has no SPF record.
+.TP
+\fB\-e\fP, \fB\-\-default\-explanation\fP \fIstring\fP
+Default explanation string to use if the SPF record does not specify an expla\%nation string itself.
+.TP
+\fB\-m\fP, \fB\-\-max\-lookup\fP \fInumber\fP
+Maximum number of DNS lookups to allow.
+.TP
+\fB\-c\fP, \fB\-\-sanitize\fP [\fB0\fP|\fB1\fP]
+Do [not] sanitize the output by condensing conse\%cutive white\%space
+into a single space and replacing non-printable characters with
+question marks. Enabled by default.
+.TP
+\fB\-n\fP, \fB\-\-name\fP \fIhostname\fP
+Use
+\fIhostname\fP
+as the name of the local system instead of
+\(lqspfquery\(rq
+(the name is used in the output).
+.TP
+\fB\-k\fP, \fB\-\-keep\-comments\fP
+Print comments found when reading from a file.
+.TP
+\fB\-a\fP, \fB\-\-override\fP \fI...\fP
+.TP
+\fB\-z\fP, \fB\-\-fallback\fP \fI...\fP
+Provide override and fallback SPF records for certain domains.
+\fBNot implemented yet.\fP
+\fBspfquery\fP
+would act as if the speci\%fied records were present before and after any existing record, respectively, of those domains.
+.TP
+\fB\-\-help\fP
+Show summary of options.
+.TP
+\fB\-v\fP, \fB\-\-version\fP
+Show version of program.
+.SH DIAGNOSTICS
+The output ordinarily consists of four lines:
+.IP 1. 4
+the \fIresult code\fP;
+.IP 2. 4
+the \fIexplanation\fP, suitable for use in an SMTP response message, empty
+except when a rejection (permanent or temporary) makes sense;
+.IP 3. 4
+the header comment on its own;
+.IP 4. 4
+the Received\-SPF header field as defined in RFC 4408 section 7,
+incorporating the header comment.
+.PP
+If errors (including no SPF record found!) occur during processing,
+one or more error blocks will be prepended.
+These start with \(lqStartError\(lq and end with \(lqEndError\(lq.
+.PP
+The result codes and their corresponding exit codes are as follows:
+.TP
+.B 1 \(en neutral
+The sender domain explicitly makes no assertion about the \fIip-address\fP.
+This result must be interpreted exactly as if no SPF record at all existed.
+.TP
+.B 2 \(en pass
+The \fIip-address\fP is authorized to send mail for the sender domain.
+.TP
+.B 3 \(en fail
+The \fIip-address\fP is \fBunauthorized\fP to send mail for the sender domain.
+.TP
+.B 4 \(en softfail
+The \fIip-address\fP is not authorized to send mail for the sender domain, but
+the sender domain cannot or does not wish to make a strong assertion that no such mail can
+ever come from it.
+.TP
+.B 5 \(en none
+No SPF record was found.
+.TP
+.BR "6 \(en error" " (temporary)"
+A transient error occurred (e.g. failure to reach a DNS server), preventing a
+result from being reached.
+.TP
+.BR "7 \(en unknown" " (permanent error)"
+One or more SPF records could not be interpreted.
+.SH EXAMPLES
+.nf
+spfquery \-ip=11.22.33.44 \-sender=user@aol.com \-helo=spammer.tld
+spfquery \-f test_data
+echo "127.0.0.1 myname@mydomain.com helohost.com" | spfquery \-f \-
+.fi
+.SH SEE ALSO
+\fBspftest\fR(1), \fBspfd\fR(8)
+.SH AUTHOR
+\fBspfquery\fP was written by Wayne Schlitt.
+.PP
+This manual page was written by Magnus Holmgren for the Debian\*[R]
+system (but may be used by others). Heavily inspired by the spfquery manpage of
+libmail\-spf\-query\-perl (\fBspfquery.mail\-spf\-query\-perl\fR(1)) by Julian Mehnle.
+Also based on the command\-line help of spfquery.
+.SH COPYRIGHT
+Copyright \(co 2007 Magnus Holmgren. Permission is granted to copy,
+distribute and/or modify this document under the terms of the two-clause BSD
+License. See /usr/share/doc/spfquery/copyright.
Index: tags/1.2.10-5/debian/libspf2-2.symbols
===================================================================
--- tags/1.2.10-5/debian/libspf2-2.symbols (nonexistent)
+++ tags/1.2.10-5/debian/libspf2-2.symbols (revision 108)
@@ -0,0 +1,113 @@
+libspf2.so.2 libspf2-2 #MINVER#
+ SPF_debug_handler@Base 0
+ SPF_debug_stdio@Base 0
+ SPF_debug_syslog@Base 0
+ SPF_debugv@Base 0
+ SPF_debugx2@Base 0
+ SPF_debugx@Base 0
+ SPF_dns_cache_new@Base 0
+ SPF_dns_cache_set_ttl@Base 0
+ SPF_dns_free@Base 0
+ SPF_dns_get_client_dom@Base 0
+ SPF_dns_lookup@Base 0
+ SPF_dns_null_new@Base 0
+ SPF_dns_resolv_new@Base 0
+ SPF_dns_rlookup6@Base 0
+ SPF_dns_rlookup@Base 0
+ SPF_dns_rr_buf_realloc@Base 0
+ SPF_dns_rr_dup@Base 0
+ SPF_dns_rr_free@Base 0
+ SPF_dns_rr_new@Base 0
+ SPF_dns_rr_new_init@Base 0
+ SPF_dns_rr_new_nxdomain@Base 0
+ SPF_dns_set_conserve_cache@Base 0
+ SPF_dns_test_new@Base 0
+ SPF_dns_zone_add_str@Base 0
+ SPF_dns_zone_new@Base 0
+ SPF_error_code@Base 0
+ SPF_error_errorp@Base 0
+ SPF_error_handler@Base 0
+ SPF_error_message@Base 0
+ SPF_error_stdio@Base 0
+ SPF_error_syslog@Base 0
+ SPF_errorv@Base 0
+ SPF_errorx2@Base 0
+ SPF_errorx@Base 0
+ SPF_get_lib_version@Base 0
+ SPF_i_done@Base 0
+ SPF_info_handler@Base 0
+ SPF_info_stdio@Base 0
+ SPF_info_syslog@Base 0
+ SPF_infov@Base 0
+ SPF_infox2@Base 0
+ SPF_infox@Base 0
+ SPF_macro_free@Base 0
+ SPF_record_compile@Base 0
+ SPF_record_compile_macro@Base 0
+ SPF_record_expand_data@Base 0
+ SPF_record_find_mod_value@Base 0
+ SPF_record_free@Base 0
+ SPF_record_interpret@Base 0
+ SPF_record_new@Base 0
+ SPF_record_print@Base 0
+ SPF_record_stringify@Base 0
+ SPF_request_free@Base 0
+ SPF_request_get_client_dom@Base 0
+ SPF_request_get_exp@Base 0
+ SPF_request_get_rec_dom@Base 0
+ SPF_request_is_loopback@Base 0
+ SPF_request_new@Base 0
+ SPF_request_query_fallback@Base 0
+ SPF_request_query_mailfrom@Base 0
+ SPF_request_query_rcptto@Base 0
+ SPF_request_set_env_from@Base 0
+ SPF_request_set_helo_dom@Base 0
+ SPF_request_set_ipv4@Base 0
+ SPF_request_set_ipv4_str@Base 0
+ SPF_request_set_ipv6@Base 0
+ SPF_request_set_ipv6_str@Base 0
+ SPF_response_add_error@Base 0
+ SPF_response_add_error_idx@Base 0
+ SPF_response_add_error_ptr@Base 0
+ SPF_response_add_warn@Base 0
+ SPF_response_add_warn_idx@Base 0
+ SPF_response_add_warn_ptr@Base 0
+ SPF_response_combine@Base 0
+ SPF_response_errcode@Base 0
+ SPF_response_errors@Base 0
+ SPF_response_free@Base 0
+ SPF_response_get_explanation@Base 0
+ SPF_response_get_header_comment@Base 0
+ SPF_response_get_received_spf@Base 0
+ SPF_response_get_received_spf_value@Base 0
+ SPF_response_get_smtp_comment@Base 0
+ SPF_response_message@Base 0
+ SPF_response_messages@Base 0
+ SPF_response_new@Base 0
+ SPF_response_reason@Base 0
+ SPF_response_result@Base 0
+ SPF_response_warnings@Base 0
+ SPF_server_free@Base 0
+ SPF_server_get_max_dns_mech@Base 0
+ SPF_server_get_max_dns_mx@Base 0
+ SPF_server_get_max_dns_ptr@Base 0
+ SPF_server_get_record@Base 0
+ SPF_server_new@Base 0
+ SPF_server_new_dns@Base 1.2.8~
+ SPF_server_set_explanation@Base 0
+ SPF_server_set_localpolicy@Base 0
+ SPF_server_set_max_dns_mech@Base 0
+ SPF_server_set_max_dns_mx@Base 0
+ SPF_server_set_max_dns_ptr@Base 0
+ SPF_server_set_rec_dom@Base 0
+ SPF_server_set_sanitize@Base 0
+ SPF_strerror@Base 0
+ SPF_strreason@Base 0
+ SPF_strresult@Base 0
+ SPF_strrrtype@Base 1.2.8~
+ SPF_warning_handler@Base 0
+ SPF_warning_stdio@Base 0
+ SPF_warning_syslog@Base 0
+ SPF_warningv@Base 0
+ SPF_warningx2@Base 0
+ SPF_warningx@Base 0
Index: tags/1.2.10-5/debian/libspf2.ver
===================================================================
--- tags/1.2.10-5/debian/libspf2.ver (nonexistent)
+++ tags/1.2.10-5/debian/libspf2.ver (revision 108)
@@ -0,0 +1,16 @@
+{
+global:
+ SPF_*;
+ main;
+ __libc_csu_*;
+ _init;
+ _fini;
+ _IO_stdin_used;
+ _DYNAMIC_LINKING;
+ __RLD_MAP;
+local:
+ SPF_recalloc;
+ SPF_sanitize;
+ SPF_print_sizeof;
+ *;
+};
Index: tags/1.2.10-5/debian/spfquery.postinst
===================================================================
--- tags/1.2.10-5/debian/spfquery.postinst (nonexistent)
+++ tags/1.2.10-5/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,25 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25 \
+ --slave /usr/share/man/man1/spfquery.1.gz spfquery.1.gz /usr/share/man/man1/spfquery.$source_package.1.gz
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/spfquery"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
Index: tags/1.2.10-5/debian/libspf2-2-dbg.postinst
===================================================================
--- tags/1.2.10-5/debian/libspf2-2-dbg.postinst (nonexistent)
+++ tags/1.2.10-5/debian/libspf2-2-dbg.postinst (revision 108)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/libspf2-2-dbg"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Index: tags/1.2.10-5/debian/libspf2-dev.postinst
===================================================================
--- tags/1.2.10-5/debian/libspf2-dev.postinst (nonexistent)
+++ tags/1.2.10-5/debian/libspf2-dev.postinst (revision 108)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/libspf2-dev"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Index: tags/1.2.10-5/debian/docs
===================================================================
--- tags/1.2.10-5/debian/docs (nonexistent)
+++ tags/1.2.10-5/debian/docs (revision 108)
@@ -0,0 +1,2 @@
+README
+TODO
Index: tags/1.2.10-5/debian/README.Debian
===================================================================
--- tags/1.2.10-5/debian/README.Debian (nonexistent)
+++ tags/1.2.10-5/debian/README.Debian (revision 108)
@@ -0,0 +1,11 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+ -- Magnus Holmgren <holmgren@debian.org>, Mon, 14 Sep 2009 22:33:12 +0200
Index: tags/1.2.10-5/debian/source/format
===================================================================
--- tags/1.2.10-5/debian/source/format (nonexistent)
+++ tags/1.2.10-5/debian/source/format (revision 108)
@@ -0,0 +1 @@
+3.0 (quilt)
Index: tags/1.2.10-5/debian/libspf2-dev.install
===================================================================
--- tags/1.2.10-5/debian/libspf2-dev.install (nonexistent)
+++ tags/1.2.10-5/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,3 @@
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.so
Index: tags/1.2.10-5/debian/spfquery.install
===================================================================
--- tags/1.2.10-5/debian/spfquery.install (nonexistent)
+++ tags/1.2.10-5/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+usr/bin/spfquery
+usr/bin/spftest
+usr/bin/spf_example
+usr/bin/spfd usr/sbin
Index: tags/1.2.10-5/debian/libspf2-2.install
===================================================================
--- tags/1.2.10-5/debian/libspf2-2.install (nonexistent)
+++ tags/1.2.10-5/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+usr/lib/lib*.so.*
Index: tags/1.2.10-5/debian/spfquery.manpages
===================================================================
--- tags/1.2.10-5/debian/spfquery.manpages (nonexistent)
+++ tags/1.2.10-5/debian/spfquery.manpages (revision 108)
@@ -0,0 +1 @@
+debian/spfquery.libspf2.1
Index: tags/1.2.10-5/debian/watch
===================================================================
--- tags/1.2.10-5/debian/watch (nonexistent)
+++ tags/1.2.10-5/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: tags/1.2.10-5/debian/spfquery.prerm
===================================================================
--- tags/1.2.10-5/debian/spfquery.prerm (nonexistent)
+++ tags/1.2.10-5/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.10-5/debian
===================================================================
--- tags/1.2.10-5/debian (nonexistent)
+++ tags/1.2.10-5/debian (revision 108)
/tags/1.2.10-5/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: tags/1.2.10-4/debian/changelog
===================================================================
--- tags/1.2.10-4/debian/changelog (nonexistent)
+++ tags/1.2.10-4/debian/changelog (revision 108)
@@ -0,0 +1,313 @@
+libspf2 (1.2.10-4) unstable; urgency=low
+
+ * Upgrade to Debhelper compat level 9, in order to:
+ * Handle variable vendorarch installation directory (Closes: #752712),
+ by making debian/libmail-spf-xs-perl.install executable.
+ * Bump Standards-Version to 3.9.5.
+ * debian/rules: Update URL in get-orig-source target (a year late).
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 05 Jul 2014 22:19:51 +0200
+
+libspf2 (1.2.10-3) unstable; urgency=low
+
+ * Merge changes from Ubuntu (Closes: #734224).
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 01 Feb 2014 14:51:57 +0100
+
+libspf2 (1.2.10-2ubuntu1) trusty; urgency=medium
+
+ * Use dh-autoreconf instead of autotools-dev to also fix FTBFS on ppc64el by
+ getting new libtool macros (still updates config.{sub,guess}).
+
+ -- Logan Rosen <logan@ubuntu.com> Fri, 03 Jan 2014 15:56:24 -0500
+
+libspf2 (1.2.10-2) unstable; urgency=low
+
+ * Convert debian/copyright to machine-readable format and update
+ copyright info including details on files in src/libreplace.
+ * debian/spfquery.libspf2.1: Change license to 2-clause BSD, as was
+ intended from the beginning.
+
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 12 Aug 2013 12:07:40 +0200
+
+libspf2 (1.2.10-1) unstable; urgency=low
+
+ * New upstream release.
+ * Drop ipv6-bugs.patch and private-glibc-functions.patch; incorporated
+ upstream.
+ * Hide additional internal symbols from the dynamic table.
+ * Build and include the Perl XS module.
+ * Bump Standards-Version to 3.9.4.
+
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 13 Jun 2013 23:58:12 +0200
+
+libspf2 (1.2.9-7) unstable; urgency=high
+
+ * Add postinst scripts that replace old documentation directories (from
+ before 1.2.9-5) in libspf2-dev, libspf2-2-dbg and spfquery with
+ symlinks (Closes: #687862, #687863, #687864). Thanks to Salvatore
+ Bonaccorso <carnil@debian.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 23 Sep 2012 21:25:43 +0200
+
+libspf2 (1.2.9-6) unstable; urgency=low
+
+ * Rename ipv6-buffer-miscalculation.patch ipv6-bugs.patch. Include
+ the following small IPv6-related patches from FreeBSD:
+ * patch-src_libspf2_spf__compile.c
+ * patch-src_libspf2_spf__interpret.c
+ Already included was patch-src_libspf2_spf__expand.c.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 22 Jan 2012 22:45:04 +0100
+
+libspf2 (1.2.9-5) unstable; urgency=low
+
+ * Convert package to source format 3.0 (quilt).
+ * Include text of BSD license in debian/copyright, as is now preferred.
+ * Switch from CDBS to classic Debhelper, getting build flags from
+ dpkg-buildflags "by hand".
+ * Increase Debhelper compat level to 7.
+ * Put docs in libspf2-2 and replace the other packages' doc directories
+ with symlinks to that one.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 11 Nov 2011 22:13:50 +0100
+
+libspf2 (1.2.9-4) unstable; urgency=low
+
+ * Drop obsolete README.Debian-source; move non-obsolete info to
+ libspf2-dev.README.Debian.
+ * debian/libspf2.ver: Explicitly unhide certain special symbols that
+ became hidden on the mips and mipsel architectures but nowhere else,
+ causing a FTBFS.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 03 Oct 2009 21:29:19 +0200
+
+libspf2 (1.2.9-3) unstable; urgency=high
+
+ * ipv6_buffer_miscalculation.dpatch: Fix an abort() caused by
+ miscalculating the size of an internal buffer when mail is received
+ over IPv6. Thanks to Matthias Scheler <tron@netbsd.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 13 Sep 2009 20:23:22 +0200
+
+libspf2 (1.2.9-2) unstable; urgency=low
+
+ * debian/rules: Correct version.
+ * 01_private_glib_functions.dpatch: Avoid linking private glibc
+ functions.
+ * Simplify debian/*.install and exclude the libtool .la file from the
+ -dev package. Set DEB_DH_INSTALL_SOURCEDIR accordingly.
+ * Add ${misc:Depends} to Depends.
+ * Add debug package.
+ * Use ld version script to hide internal symbols.
+ * Bump Standards-Version to 3.8.3.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 25 Aug 2009 00:15:01 +0200
+
+libspf2 (1.2.9-1) unstable; urgency=high
+
+ * New upstream release.
+ - Drops non-dfsg Free IETF internet draft, so tarball no longer needs
+ repacking
+ + Fixes exploitable buffer overflow (LP: #287534)
+ + Multiple fixes for improved RFC 4408 compliance
+ + Update libspf2-2.symbols for new symbol
+ + 20_spf_dns_include_std_headers.dpatch: Updated.
+ * Thanks to Scott Kitterman.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 04 Nov 2008 21:14:31 +0100
+
+libspf2 (1.2.8~dfsg-1) unstable; urgency=low
+
+ * Merge changes from Ubuntu.
+ * Fix and tweak library dependency information (shlibs as well as
+ symbols).
+ * Upgrade to Standards-Version: 3.8.0. Changes needed:
+ + Add debian/README.source (ยง 4.9).
+ * Bring debian/copyright a bit more up-to-date.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 02 Nov 2008 12:29:51 +0100
+
+libspf2 (1.2.8~dfsg-0ubuntu1) intrepid; urgency=low
+
+ * New upstream release (LP: #283920)
+ - Fixes multiple memory leaks
+ - CVE2008-2469 buffer overflows
+ - Adds new documentation
+ - Drop all patches except 20_spf_dns_include_std_headers.dpatch (included
+ upstream)
+ - Freshen 20_spf_dns_include_std_headers.dpatch
+ - Update debian/rules for new release
+ * Repack tarball to remove non-DFSG Free IETF draft
+ * Added debian/libspf2-2.symbols and updated for new version
+ * Drop README.Debian since it no longer applies.
+
+ -- Scott Kitterman <scott@kitterman.com> Sun, 19 Oct 2008 01:00:13 -0400
+
+libspf2 (1.2.5.dfsg-5) unstable; urgency=low
+
+ * 43_new_explanation_url.dpatch: Bring default explanation up to date by
+ referring to www.openspf.org instead of spf.pobox.com.
+ * Add spfquery(1) manpage.
+ * Fix format of copyright notice in debian/copyright.
+ * Move upstream homepage URL to the new Homepage control field, rename
+ VCS control fields, and update Standards-Version.
+ * A few cosmetic adjustments including fixing the indentation of the
+ 1.2.5.dfsg-3 entry below (Closes: #465466).
+ * New maintainer email address.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 18 Apr 2008 17:51:28 +0200
+
+libspf2 (1.2.5.dfsg-4) unstable; urgency=low
+
+ * Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
+ (Closes: #440147). Thanks to Matthias Cramer.
+ * 35_untabify_help.dpatch: Make --help output of utilities less ugly by
+ converting tabs to spaces.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
+
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: tags/1.2.10-4/debian/compat
===================================================================
--- tags/1.2.10-4/debian/compat (nonexistent)
+++ tags/1.2.10-4/debian/compat (revision 108)
@@ -0,0 +1 @@
+9
Index: tags/1.2.10-4/debian/control
===================================================================
--- tags/1.2.10-4/debian/control (nonexistent)
+++ tags/1.2.10-4/debian/control (revision 108)
@@ -0,0 +1,79 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <holmgren@debian.org>
+Build-Depends: dpkg-dev (>= 1.15.7), debhelper (>= 9), dh-autoreconf,
+ perl, libstring-escape-perl
+Standards-Version: 3.9.5
+Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+Vcs-Browser: http://svn.kibibyte.se/libspf2
+Homepage: http://www.libspf2.org/
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}), ${misc:Depends}
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}) | spfquery (= ${binary:Version}),
+ ${misc:Depends}
+Description: library for validating mail senders with SPF (debugging symbols)
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair.
+ .
+ This package contains the debugging symbols.
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
+
+Package: libmail-spf-xs-perl
+Section: perl
+Priority: extra
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, libstring-escape-perl
+Description: library for validating mail senders with SPF - Perl bindings
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+ .
+ This package provides an XS module for using libspf from Perl programs.
Index: tags/1.2.10-4/debian/libmail-spf-xs-perl.install
===================================================================
--- tags/1.2.10-4/debian/libmail-spf-xs-perl.install (nonexistent)
+++ tags/1.2.10-4/debian/libmail-spf-xs-perl.install (revision 108)
@@ -0,0 +1,5 @@
+#!/usr/bin/perl -w
+use Config;
+print <<"" =~ s!^/!!rgm;
+$Config{vendorarch}
+usr/share/man/man3/*.3pm
/tags/1.2.10-4/debian/libmail-spf-xs-perl.install
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.10-4/debian/rules
===================================================================
--- tags/1.2.10-4/debian/rules (nonexistent)
+++ tags/1.2.10-4/debian/rules (revision 108)
@@ -0,0 +1,88 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+LIB_PACKAGE = libspf2-2
+
+DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE)
+else
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
+endif
+
+CFLAGS := $(shell dpkg-buildflags --get CFLAGS)
+CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
+LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)
+perlld := $(shell perl -MConfig -e 'print $$Config{ld}')
+
+DEB_LDFLAGS_MAINT_APPEND = -Wl,--version-script=$(CURDIR)/debian/libspf2.ver
+buildflags += $(shell DEB_LDFLAGS_MAINT_APPEND="$(DEB_LDFLAGS_MAINT_APPEND)" \
+ dpkg-buildflags --export=configure)
+
+config.status: configure
+ dh_testdir
+ # Add here commands to configure the package.
+ dh_autoreconf
+ ./configure --prefix=/usr $(buildflags)
+
+build: build-arch
+build-indep:
+build-arch: build-arch-stamp
+build-arch-stamp: config.status
+ dh_testdir
+
+ $(MAKE)
+ cd perl && perl Makefile.PL INSTALLDIRS=vendor \
+ OPTIMIZE="$(CPPFLAGS) $(CFLAGS)" LD="$(perlld) $(CFLAGS) $(LDFLAGS)"
+ $(MAKE) -C perl LD_RUN_PATH=
+
+ touch "$@"
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-arch-stamp
+
+ [ ! -f Makefile ] || $(MAKE) distclean
+ [ ! -f perl/Makefile ] || $(MAKE) -C perl realclean
+
+ dh_autoreconf_clean
+ dh_clean
+
+install: build-arch
+ dh_testdir
+ dh_testroot
+ dh_prep
+
+ $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
+ $(MAKE) -C perl install DESTDIR=$(CURDIR)/debian/tmp
+
+binary-arch: install
+ dh_testdir
+ dh_testroot
+ dh_install -a
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+ dh_installdocs -a --link-doc=$(LIB_PACKAGE)
+ dh_installchangelogs -a
+ dh_installman -a
+ dh_strip -a --dbg-package=$(LIB_PACKAGE)-dbg
+ dh_perl -a
+ dh_compress -a
+ dh_fixperms -a
+ dh_makeshlibs -V '$(LIB_PACKAGE) (>= 1.2.8~)'
+ dh_installdeb -a
+ dh_shlibdeps -a
+ dh_gencontrol -a
+ dh_md5sums -a
+ dh_builddeb -a
+
+binary: binary-arch
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.10.tar.gz
+
+.PHONY: build build-indep build-arch clean clean-patched binary-indep binary-arch binary install get-orig-source
/tags/1.2.10-4/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.10-4/debian/copyright
===================================================================
--- tags/1.2.10-4/debian/copyright (nonexistent)
+++ tags/1.2.10-4/debian/copyright (revision 108)
@@ -0,0 +1,137 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Source: http://www.libspf2.org/
+Upstream-Contact: Shevek <libspf2@anarres.org>
+License: LGPL-2.1+ or BSD-2-clause
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+ .
+ a) The GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1, or (at your option) any
+ later version,
+ .
+ OR
+ .
+ b) The two-clause BSD license.
+
+Files: *
+Copyright: ยฉ 2004-2005 Wayne Schlitt and Shevek, ยฉ 2008 Shevek.
+ - Current maintainer: Shevek <libspf2@anarres.org>
+ - Contributors: Magnus Holmgren, Julian Mehnle, Scott Kitterman,
+ Dan Kaminsky, Ben Chelf, Hannah Schroeter, Manish Raje
+ - Original author, 1.0 series: Wayne Schlitt <wayne@schlitt.net>
+License: LGPL-2.1+ or BSD-2-clause
+
+Files: src/spf_example/spf_example.c
+Copyright: Written by Wayne Schlitt and released into the public domain.
+License: public-domain
+ "This program is in the public domain, there is no copyright, you can
+ do anything you want with it."
+
+Files: src/libreplace/__ns_name_uncompress.c src/libreplace/__ns_initparse.c
+Copyright: ยฉ 1996, 1999 Internet Software Consortium
+License: ISC
+ Permission to use, copy, modify, and distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
+ ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
+ CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ SOFTWARE.
+
+Files: src/libreplace/arpa_nameser.h
+Copyright: ยฉ 1983, 1989, 1993 The Regents of the University of California
+License: BSD-4-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+ 4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+Files: src/libreplace/getopt.h src/libreplace/getopt_long_only.c
+Copyright: ยฉ 1987,88,89,90,91,92,93,94,96,97 Free Software Foundation, Inc
+License: LGPL-2+
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License 2.0 can be found in the file `/usr/share/common-licenses/LGPL-2'.
+
+Files: perl/*
+Copyright: ยฉ 2008 Shevek <cpan@anarres.org>
+License: GPL-1+ or Artistic-1
+ This program is free software; you can redistribute it and/or modify
+ it under the same terms as Perl itself.
+
+Files: debian/*
+Copyright: ยฉ 2004-2006 Eric Dorland, ยฉ 2007-2013 Magnus Holmgren
+License: LGPL-2.1+ or BSD-2-clause
+Comment: The parts of the Debian packaging that is eligible for
+ copyright is ยฉ 2004-2006 Eric Dorland, 2007-2013 Magnus Holmgren and
+ assumed to be licensed under the same licenses as above.
+
+Files: debian/spfquery.libspf2.1
+Copyright: ยฉ 2007 Magnus Holmgren
+License: BSD-2-clause
+ (Giving the LGPL as an alternative is quite redundant as the BSD
+ license is so permissive that it allows redistribution under the LGPL
+ or most other licenses anyway).
+
+License: LGPL-2.1+
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License 2.1 can be found in the file
+ `/usr/share/common-licenses/LGPL-2.1'.
+
+License: BSD-2-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ .
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: GPL-1+
+ On Debian systems, the complete text of the GNU General Public
+ License 1.0 can be found in the file
+ `/usr/share/common-licenses/GPL-1'.
+
+License: Artistic-1
+ On Debian systems, the complete text of the "Artistic License" can be
+ found in the file `/usr/share/common-licenses/Artistic'.
Index: tags/1.2.10-4/debian/spfquery.libspf2.1
===================================================================
--- tags/1.2.10-4/debian/spfquery.libspf2.1 (nonexistent)
+++ tags/1.2.10-4/debian/spfquery.libspf2.1 (revision 108)
@@ -0,0 +1,197 @@
+.\" Title: SPFQUERY
+.\" Author: Magnus Holmgren <holmgren@debian.org>
+.\" Date: 2007-09-06
+.\" Manual: libspf2 manuals for Debian
+.\" Source: libspf2 1.2.5
+.\"
+.TH "SPFQUERY" "1" "2007-09-06" "libspf2 1.2.5" "libspf2 manuals for Debian"
+.\" disable hyphenation
+.nh
+.SH NAME
+spfquery, spfquery.libspf2 \- checks if an IP address is an SPF-authorized SMTP sender for a domain.
+.SH SYNOPSIS
+.ad l
+.HP 9
+.B spfquery
+.RB { \-i | \-\-ip }
+.I ip\-address
+.RB { -s | \-\-sender }
+.RI [ local-part \fB@\fP] domain
+.RB [{ \-h | \-\-helo }
+.IR domain-name ]
+.RB [ \-\-rcpt\-to
+.IR email-address(es) ]
+.RI [ CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-f | \-\-file }
+.IR datafile " [" CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-\-help | \-v | \-\-version }
+.ad b
+.SH DESCRIPTION
+This manual page documents briefly the
+\fBspfquery\fR
+command. It was written for the
+Debian\*[R] distribution because the original program does not have a manual page.
+.PP
+\fBspfquery\fR performs Sender Policy Framework (SPF) authorization
+checks based on the command-line arguments or data given in a file or
+on standard input. For information on SPF see http://www.openspf.org.
+.
+.SH OPTIONS
+Options are divided into two groups: Data options, which must be
+given, though just enough of them to specify a query; and control
+options, which are optional and control the local policy, behaviour
+and output format of spfquery.
+.PP
+This programs follows the GNU \fBgetopt_long_only\fR(3) command line
+syntax: Long options can be given with one or two dashes and can be
+abbreviated to a prefix long enough to be non-ambiguous. If an option
+starting with a single dash doesn't match a long option, it is taken
+as a short option with a following parameter, if applicable. An equals
+sign between the option name and the parameter is optional for both
+short and long options.
+.SS Data options
+The
+\fB\-\-file\fR option conflicts with all the other data options. The
+\fB\-\-helo\fR and \fB\-\-rcpt\-to\fR are optional.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfilename\fR
+Read SPF data from \fIfilename\fR. Specify \(lq-\(rq to read from standard input.
+.sp
+The file should consist of one line per query, each query line consisting of the IP address, sender adress, and optional HELO string, separated by spaces.
+.sp
+\fBNote\fP
+Local parts containing spaces are currently not supported.
+.TP
+\fB\-i\fP, \fB\-\-ip\fP \fIip-address\fP
+Specify the IP address of the remote host that is delivering the mail.
+.TP
+\fB\-s\fP, \fB\-\-sender\fP [\fIlocal-part\fP\fB@\fP]\fIdomain\fP
+Specify the email address that was used as the envelope sender. If no
+username (local part) is given, \(lqpostmaster\(rq will be assumed.
+.TP
+\fB\-h\fP, \fB\-\-helo\fP \fIdomain-name\fP
+Specify that \fIdomain-name\fP was provided in the SMTP HELO (or EHLO) command.
+.TP
+\fB\-r\fP, \fB\-\-rcpt-to\fP \fIrcpt-address\fP[,\fIrcpt-address\fP,...]
+Specify the recipients as comma-separated list. Any secondary mail exchangers of all
+recipient domains are automatically authorized.
+.
+.SS Control options
+.TP
+\fB\-d\fP, \fB\-\-debug\fP[\fB=\fP\fIlevel\fP]
+Turn on debugging output.
+.TP
+\fB\-l\fP, \fB\-\-local\fP \fIspf\-terms\fP
+Test against \fIspf\-terms\fR before the final (implicit or explicit)
+\(lqall\(rq in an SPF record. This can be used to implement a local policy for whitelisting.
+.TP
+\fB\-t, \fB\-\-trusted\fR [\fB1\fR]
+Check the sender domain with trusted\-forwarder.org.
+\fBThis is a non\-standard feature.\fR
+.TP
+\fB\-t\fP \fB0\fP, \fB\-\-trusted\fR \fB0\fP
+Do not check the sender domain with trusted\-forwarder.org. This is the default.
+.TP
+\fB\-g\fP, \fB\-\-guess\fP \fIspf-mechanisms\fP
+Test the sender domain against \fIspf\-mechanisms\fP if the domain has no SPF record.
+.TP
+\fB\-e\fP, \fB\-\-default\-explanation\fP \fIstring\fP
+Default explanation string to use if the SPF record does not specify an expla\%nation string itself.
+.TP
+\fB\-m\fP, \fB\-\-max\-lookup\fP \fInumber\fP
+Maximum number of DNS lookups to allow.
+.TP
+\fB\-c\fP, \fB\-\-sanitize\fP [\fB0\fP|\fB1\fP]
+Do [not] sanitize the output by condensing conse\%cutive white\%space
+into a single space and replacing non-printable characters with
+question marks. Enabled by default.
+.TP
+\fB\-n\fP, \fB\-\-name\fP \fIhostname\fP
+Use
+\fIhostname\fP
+as the name of the local system instead of
+\(lqspfquery\(rq
+(the name is used in the output).
+.TP
+\fB\-k\fP, \fB\-\-keep\-comments\fP
+Print comments found when reading from a file.
+.TP
+\fB\-a\fP, \fB\-\-override\fP \fI...\fP
+.TP
+\fB\-z\fP, \fB\-\-fallback\fP \fI...\fP
+Provide override and fallback SPF records for certain domains.
+\fBNot implemented yet.\fP
+\fBspfquery\fP
+would act as if the speci\%fied records were present before and after any existing record, respectively, of those domains.
+.TP
+\fB\-\-help\fP
+Show summary of options.
+.TP
+\fB\-v\fP, \fB\-\-version\fP
+Show version of program.
+.SH DIAGNOSTICS
+The output ordinarily consists of four lines:
+.IP 1. 4
+the \fIresult code\fP;
+.IP 2. 4
+the \fIexplanation\fP, suitable for use in an SMTP response message, empty
+except when a rejection (permanent or temporary) makes sense;
+.IP 3. 4
+the header comment on its own;
+.IP 4. 4
+the Received\-SPF header field as defined in RFC 4408 section 7,
+incorporating the header comment.
+.PP
+If errors (including no SPF record found!) occur during processing,
+one or more error blocks will be prepended.
+These start with \(lqStartError\(lq and end with \(lqEndError\(lq.
+.PP
+The result codes and their corresponding exit codes are as follows:
+.TP
+.B 1 \(en neutral
+The sender domain explicitly makes no assertion about the \fIip-address\fP.
+This result must be interpreted exactly as if no SPF record at all existed.
+.TP
+.B 2 \(en pass
+The \fIip-address\fP is authorized to send mail for the sender domain.
+.TP
+.B 3 \(en fail
+The \fIip-address\fP is \fBunauthorized\fP to send mail for the sender domain.
+.TP
+.B 4 \(en softfail
+The \fIip-address\fP is not authorized to send mail for the sender domain, but
+the sender domain cannot or does not wish to make a strong assertion that no such mail can
+ever come from it.
+.TP
+.B 5 \(en none
+No SPF record was found.
+.TP
+.BR "6 \(en error" " (temporary)"
+A transient error occurred (e.g. failure to reach a DNS server), preventing a
+result from being reached.
+.TP
+.BR "7 \(en unknown" " (permanent error)"
+One or more SPF records could not be interpreted.
+.SH EXAMPLES
+.nf
+spfquery \-ip=11.22.33.44 \-sender=user@aol.com \-helo=spammer.tld
+spfquery \-f test_data
+echo "127.0.0.1 myname@mydomain.com helohost.com" | spfquery \-f \-
+.fi
+.SH SEE ALSO
+\fBspftest\fR(1), \fBspfd\fR(8)
+.SH AUTHOR
+\fBspfquery\fP was written by Wayne Schlitt.
+.PP
+This manual page was written by Magnus Holmgren for the Debian\*[R]
+system (but may be used by others). Heavily inspired by the spfquery manpage of
+libmail\-spf\-query\-perl (\fBspfquery.mail\-spf\-query\-perl\fR(1)) by Julian Mehnle.
+Also based on the command\-line help of spfquery.
+.SH COPYRIGHT
+Copyright \(co 2007 Magnus Holmgren. Permission is granted to copy,
+distribute and/or modify this document under the terms of the two-clause BSD
+License. See /usr/share/doc/spfquery/copyright.
Index: tags/1.2.10-4/debian/libspf2-2.symbols
===================================================================
--- tags/1.2.10-4/debian/libspf2-2.symbols (nonexistent)
+++ tags/1.2.10-4/debian/libspf2-2.symbols (revision 108)
@@ -0,0 +1,113 @@
+libspf2.so.2 libspf2-2 #MINVER#
+ SPF_debug_handler@Base 0
+ SPF_debug_stdio@Base 0
+ SPF_debug_syslog@Base 0
+ SPF_debugv@Base 0
+ SPF_debugx2@Base 0
+ SPF_debugx@Base 0
+ SPF_dns_cache_new@Base 0
+ SPF_dns_cache_set_ttl@Base 0
+ SPF_dns_free@Base 0
+ SPF_dns_get_client_dom@Base 0
+ SPF_dns_lookup@Base 0
+ SPF_dns_null_new@Base 0
+ SPF_dns_resolv_new@Base 0
+ SPF_dns_rlookup6@Base 0
+ SPF_dns_rlookup@Base 0
+ SPF_dns_rr_buf_realloc@Base 0
+ SPF_dns_rr_dup@Base 0
+ SPF_dns_rr_free@Base 0
+ SPF_dns_rr_new@Base 0
+ SPF_dns_rr_new_init@Base 0
+ SPF_dns_rr_new_nxdomain@Base 0
+ SPF_dns_set_conserve_cache@Base 0
+ SPF_dns_test_new@Base 0
+ SPF_dns_zone_add_str@Base 0
+ SPF_dns_zone_new@Base 0
+ SPF_error_code@Base 0
+ SPF_error_errorp@Base 0
+ SPF_error_handler@Base 0
+ SPF_error_message@Base 0
+ SPF_error_stdio@Base 0
+ SPF_error_syslog@Base 0
+ SPF_errorv@Base 0
+ SPF_errorx2@Base 0
+ SPF_errorx@Base 0
+ SPF_get_lib_version@Base 0
+ SPF_i_done@Base 0
+ SPF_info_handler@Base 0
+ SPF_info_stdio@Base 0
+ SPF_info_syslog@Base 0
+ SPF_infov@Base 0
+ SPF_infox2@Base 0
+ SPF_infox@Base 0
+ SPF_macro_free@Base 0
+ SPF_record_compile@Base 0
+ SPF_record_compile_macro@Base 0
+ SPF_record_expand_data@Base 0
+ SPF_record_find_mod_value@Base 0
+ SPF_record_free@Base 0
+ SPF_record_interpret@Base 0
+ SPF_record_new@Base 0
+ SPF_record_print@Base 0
+ SPF_record_stringify@Base 0
+ SPF_request_free@Base 0
+ SPF_request_get_client_dom@Base 0
+ SPF_request_get_exp@Base 0
+ SPF_request_get_rec_dom@Base 0
+ SPF_request_is_loopback@Base 0
+ SPF_request_new@Base 0
+ SPF_request_query_fallback@Base 0
+ SPF_request_query_mailfrom@Base 0
+ SPF_request_query_rcptto@Base 0
+ SPF_request_set_env_from@Base 0
+ SPF_request_set_helo_dom@Base 0
+ SPF_request_set_ipv4@Base 0
+ SPF_request_set_ipv4_str@Base 0
+ SPF_request_set_ipv6@Base 0
+ SPF_request_set_ipv6_str@Base 0
+ SPF_response_add_error@Base 0
+ SPF_response_add_error_idx@Base 0
+ SPF_response_add_error_ptr@Base 0
+ SPF_response_add_warn@Base 0
+ SPF_response_add_warn_idx@Base 0
+ SPF_response_add_warn_ptr@Base 0
+ SPF_response_combine@Base 0
+ SPF_response_errcode@Base 0
+ SPF_response_errors@Base 0
+ SPF_response_free@Base 0
+ SPF_response_get_explanation@Base 0
+ SPF_response_get_header_comment@Base 0
+ SPF_response_get_received_spf@Base 0
+ SPF_response_get_received_spf_value@Base 0
+ SPF_response_get_smtp_comment@Base 0
+ SPF_response_message@Base 0
+ SPF_response_messages@Base 0
+ SPF_response_new@Base 0
+ SPF_response_reason@Base 0
+ SPF_response_result@Base 0
+ SPF_response_warnings@Base 0
+ SPF_server_free@Base 0
+ SPF_server_get_max_dns_mech@Base 0
+ SPF_server_get_max_dns_mx@Base 0
+ SPF_server_get_max_dns_ptr@Base 0
+ SPF_server_get_record@Base 0
+ SPF_server_new@Base 0
+ SPF_server_new_dns@Base 1.2.8~
+ SPF_server_set_explanation@Base 0
+ SPF_server_set_localpolicy@Base 0
+ SPF_server_set_max_dns_mech@Base 0
+ SPF_server_set_max_dns_mx@Base 0
+ SPF_server_set_max_dns_ptr@Base 0
+ SPF_server_set_rec_dom@Base 0
+ SPF_server_set_sanitize@Base 0
+ SPF_strerror@Base 0
+ SPF_strreason@Base 0
+ SPF_strresult@Base 0
+ SPF_strrrtype@Base 1.2.8~
+ SPF_warning_handler@Base 0
+ SPF_warning_stdio@Base 0
+ SPF_warning_syslog@Base 0
+ SPF_warningv@Base 0
+ SPF_warningx2@Base 0
+ SPF_warningx@Base 0
Index: tags/1.2.10-4/debian/libspf2.ver
===================================================================
--- tags/1.2.10-4/debian/libspf2.ver (nonexistent)
+++ tags/1.2.10-4/debian/libspf2.ver (revision 108)
@@ -0,0 +1,16 @@
+{
+global:
+ SPF_*;
+ main;
+ __libc_csu_*;
+ _init;
+ _fini;
+ _IO_stdin_used;
+ _DYNAMIC_LINKING;
+ __RLD_MAP;
+local:
+ SPF_recalloc;
+ SPF_sanitize;
+ SPF_print_sizeof;
+ *;
+};
Index: tags/1.2.10-4/debian/patches/series
===================================================================
--- tags/1.2.10-4/debian/patches/series (nonexistent)
+++ tags/1.2.10-4/debian/patches/series (revision 108)
@@ -0,0 +1 @@
+spf_dns-include-std-headers.patch
Index: tags/1.2.10-4/debian/patches/spf_dns-include-std-headers.patch
===================================================================
--- tags/1.2.10-4/debian/patches/spf_dns-include-std-headers.patch (nonexistent)
+++ tags/1.2.10-4/debian/patches/spf_dns-include-std-headers.patch (revision 108)
@@ -0,0 +1,62 @@
+Author: Magnus Holmgren <holmgren@debian.org>
+Description: Include arpa/nameser.h and netdb.h from spf_dns.h
+ instead of defining the constants needed unless certain HAVE_ macros are defined.
+ Updated for libspf2 1.2.8/9 by Scott Kitterman <scott@kitterman.com>
+
+--- libspf2-1.2.9~/src/include/spf_dns.h 2008-10-27 12:27:14.000000000 -0400
++++ libspf2-1.2.9/src/include/spf_dns.h 2008-11-04 10:10:58.000000000 -0500
+@@ -63,48 +63,19 @@
+ *
+ */
+
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
++ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+ /*
+- * For those who don't have <arpa/nameserv.h>
++ * Type 99 decl does not exist in Debian libc6 (not even 2.7)
+ */
+-
+-/* XXX This should use a more sensible define. */
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /**< Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+ #if ! HAVE_DECL_NS_T_SPF
+ #define ns_t_spf 99
+ #endif
+
+-#if ! HAVE_DECL_NS_T_INVALID
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /**< NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /**< SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /**< invalid/unimplmeneted query */
+-#define NO_DATA 4 /**< host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/tags/1.2.10-4/debian/patches/spf_dns-include-std-headers.patch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.10-4/debian/spfquery.postinst
===================================================================
--- tags/1.2.10-4/debian/spfquery.postinst (nonexistent)
+++ tags/1.2.10-4/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,25 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25 \
+ --slave /usr/share/man/man1/spfquery.1.gz spfquery.1.gz /usr/share/man/man1/spfquery.$source_package.1.gz
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/spfquery"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
Index: tags/1.2.10-4/debian/libspf2-2-dbg.postinst
===================================================================
--- tags/1.2.10-4/debian/libspf2-2-dbg.postinst (nonexistent)
+++ tags/1.2.10-4/debian/libspf2-2-dbg.postinst (revision 108)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/libspf2-2-dbg"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Index: tags/1.2.10-4/debian/libspf2-dev.postinst
===================================================================
--- tags/1.2.10-4/debian/libspf2-dev.postinst (nonexistent)
+++ tags/1.2.10-4/debian/libspf2-dev.postinst (revision 108)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/libspf2-dev"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Index: tags/1.2.10-4/debian/docs
===================================================================
--- tags/1.2.10-4/debian/docs (nonexistent)
+++ tags/1.2.10-4/debian/docs (revision 108)
@@ -0,0 +1,2 @@
+README
+TODO
Index: tags/1.2.10-4/debian/README.Debian
===================================================================
--- tags/1.2.10-4/debian/README.Debian (nonexistent)
+++ tags/1.2.10-4/debian/README.Debian (revision 108)
@@ -0,0 +1,11 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+ -- Magnus Holmgren <holmgren@debian.org>, Mon, 14 Sep 2009 22:33:12 +0200
Index: tags/1.2.10-4/debian/source/format
===================================================================
--- tags/1.2.10-4/debian/source/format (nonexistent)
+++ tags/1.2.10-4/debian/source/format (revision 108)
@@ -0,0 +1 @@
+3.0 (quilt)
Index: tags/1.2.10-4/debian/libspf2-dev.install
===================================================================
--- tags/1.2.10-4/debian/libspf2-dev.install (nonexistent)
+++ tags/1.2.10-4/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,3 @@
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.so
Index: tags/1.2.10-4/debian/spfquery.install
===================================================================
--- tags/1.2.10-4/debian/spfquery.install (nonexistent)
+++ tags/1.2.10-4/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+usr/bin/spfquery
+usr/bin/spftest
+usr/bin/spf_example
+usr/bin/spfd usr/sbin
Index: tags/1.2.10-4/debian/libspf2-2.install
===================================================================
--- tags/1.2.10-4/debian/libspf2-2.install (nonexistent)
+++ tags/1.2.10-4/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+usr/lib/lib*.so.*
Index: tags/1.2.10-4/debian/spfquery.manpages
===================================================================
--- tags/1.2.10-4/debian/spfquery.manpages (nonexistent)
+++ tags/1.2.10-4/debian/spfquery.manpages (revision 108)
@@ -0,0 +1 @@
+debian/spfquery.libspf2.1
Index: tags/1.2.10-4/debian/watch
===================================================================
--- tags/1.2.10-4/debian/watch (nonexistent)
+++ tags/1.2.10-4/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: tags/1.2.10-4/debian/spfquery.prerm
===================================================================
--- tags/1.2.10-4/debian/spfquery.prerm (nonexistent)
+++ tags/1.2.10-4/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.10-4/debian
===================================================================
--- tags/1.2.10-4/debian (nonexistent)
+++ tags/1.2.10-4/debian (revision 108)
/tags/1.2.10-4/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: tags/1.2.10-3/debian/changelog
===================================================================
--- tags/1.2.10-3/debian/changelog (nonexistent)
+++ tags/1.2.10-3/debian/changelog (revision 108)
@@ -0,0 +1,303 @@
+libspf2 (1.2.10-3) unstable; urgency=low
+
+ * Merge changes from Ubuntu (Closes: #734224).
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 01 Feb 2014 14:51:57 +0100
+
+libspf2 (1.2.10-2ubuntu1) trusty; urgency=medium
+
+ * Use dh-autoreconf instead of autotools-dev to also fix FTBFS on ppc64el by
+ getting new libtool macros (still updates config.{sub,guess}).
+
+ -- Logan Rosen <logan@ubuntu.com> Fri, 03 Jan 2014 15:56:24 -0500
+
+libspf2 (1.2.10-2) unstable; urgency=low
+
+ * Convert debian/copyright to machine-readable format and update
+ copyright info including details on files in src/libreplace.
+ * debian/spfquery.libspf2.1: Change license to 2-clause BSD, as was
+ intended from the beginning.
+
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 12 Aug 2013 12:07:40 +0200
+
+libspf2 (1.2.10-1) unstable; urgency=low
+
+ * New upstream release.
+ * Drop ipv6-bugs.patch and private-glibc-functions.patch; incorporated
+ upstream.
+ * Hide additional internal symbols from the dynamic table.
+ * Build and include the Perl XS module.
+ * Bump Standards-Version to 3.9.4.
+
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 13 Jun 2013 23:58:12 +0200
+
+libspf2 (1.2.9-7) unstable; urgency=high
+
+ * Add postinst scripts that replace old documentation directories (from
+ before 1.2.9-5) in libspf2-dev, libspf2-2-dbg and spfquery with
+ symlinks (Closes: #687862, #687863, #687864). Thanks to Salvatore
+ Bonaccorso <carnil@debian.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 23 Sep 2012 21:25:43 +0200
+
+libspf2 (1.2.9-6) unstable; urgency=low
+
+ * Rename ipv6-buffer-miscalculation.patch ipv6-bugs.patch. Include
+ the following small IPv6-related patches from FreeBSD:
+ * patch-src_libspf2_spf__compile.c
+ * patch-src_libspf2_spf__interpret.c
+ Already included was patch-src_libspf2_spf__expand.c.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 22 Jan 2012 22:45:04 +0100
+
+libspf2 (1.2.9-5) unstable; urgency=low
+
+ * Convert package to source format 3.0 (quilt).
+ * Include text of BSD license in debian/copyright, as is now preferred.
+ * Switch from CDBS to classic Debhelper, getting build flags from
+ dpkg-buildflags "by hand".
+ * Increase Debhelper compat level to 7.
+ * Put docs in libspf2-2 and replace the other packages' doc directories
+ with symlinks to that one.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 11 Nov 2011 22:13:50 +0100
+
+libspf2 (1.2.9-4) unstable; urgency=low
+
+ * Drop obsolete README.Debian-source; move non-obsolete info to
+ libspf2-dev.README.Debian.
+ * debian/libspf2.ver: Explicitly unhide certain special symbols that
+ became hidden on the mips and mipsel architectures but nowhere else,
+ causing a FTBFS.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 03 Oct 2009 21:29:19 +0200
+
+libspf2 (1.2.9-3) unstable; urgency=high
+
+ * ipv6_buffer_miscalculation.dpatch: Fix an abort() caused by
+ miscalculating the size of an internal buffer when mail is received
+ over IPv6. Thanks to Matthias Scheler <tron@netbsd.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 13 Sep 2009 20:23:22 +0200
+
+libspf2 (1.2.9-2) unstable; urgency=low
+
+ * debian/rules: Correct version.
+ * 01_private_glib_functions.dpatch: Avoid linking private glibc
+ functions.
+ * Simplify debian/*.install and exclude the libtool .la file from the
+ -dev package. Set DEB_DH_INSTALL_SOURCEDIR accordingly.
+ * Add ${misc:Depends} to Depends.
+ * Add debug package.
+ * Use ld version script to hide internal symbols.
+ * Bump Standards-Version to 3.8.3.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 25 Aug 2009 00:15:01 +0200
+
+libspf2 (1.2.9-1) unstable; urgency=high
+
+ * New upstream release.
+ - Drops non-dfsg Free IETF internet draft, so tarball no longer needs
+ repacking
+ + Fixes exploitable buffer overflow (LP: #287534)
+ + Multiple fixes for improved RFC 4408 compliance
+ + Update libspf2-2.symbols for new symbol
+ + 20_spf_dns_include_std_headers.dpatch: Updated.
+ * Thanks to Scott Kitterman.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 04 Nov 2008 21:14:31 +0100
+
+libspf2 (1.2.8~dfsg-1) unstable; urgency=low
+
+ * Merge changes from Ubuntu.
+ * Fix and tweak library dependency information (shlibs as well as
+ symbols).
+ * Upgrade to Standards-Version: 3.8.0. Changes needed:
+ + Add debian/README.source (ยง 4.9).
+ * Bring debian/copyright a bit more up-to-date.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 02 Nov 2008 12:29:51 +0100
+
+libspf2 (1.2.8~dfsg-0ubuntu1) intrepid; urgency=low
+
+ * New upstream release (LP: #283920)
+ - Fixes multiple memory leaks
+ - CVE2008-2469 buffer overflows
+ - Adds new documentation
+ - Drop all patches except 20_spf_dns_include_std_headers.dpatch (included
+ upstream)
+ - Freshen 20_spf_dns_include_std_headers.dpatch
+ - Update debian/rules for new release
+ * Repack tarball to remove non-DFSG Free IETF draft
+ * Added debian/libspf2-2.symbols and updated for new version
+ * Drop README.Debian since it no longer applies.
+
+ -- Scott Kitterman <scott@kitterman.com> Sun, 19 Oct 2008 01:00:13 -0400
+
+libspf2 (1.2.5.dfsg-5) unstable; urgency=low
+
+ * 43_new_explanation_url.dpatch: Bring default explanation up to date by
+ referring to www.openspf.org instead of spf.pobox.com.
+ * Add spfquery(1) manpage.
+ * Fix format of copyright notice in debian/copyright.
+ * Move upstream homepage URL to the new Homepage control field, rename
+ VCS control fields, and update Standards-Version.
+ * A few cosmetic adjustments including fixing the indentation of the
+ 1.2.5.dfsg-3 entry below (Closes: #465466).
+ * New maintainer email address.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 18 Apr 2008 17:51:28 +0200
+
+libspf2 (1.2.5.dfsg-4) unstable; urgency=low
+
+ * Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
+ (Closes: #440147). Thanks to Matthias Cramer.
+ * 35_untabify_help.dpatch: Make --help output of utilities less ugly by
+ converting tabs to spaces.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
+
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: tags/1.2.10-3/debian/control
===================================================================
--- tags/1.2.10-3/debian/control (nonexistent)
+++ tags/1.2.10-3/debian/control (revision 108)
@@ -0,0 +1,79 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <holmgren@debian.org>
+Build-Depends: dpkg-dev (>= 1.15.7), debhelper (>= 7), dh-autoreconf,
+ perl, libstring-escape-perl
+Standards-Version: 3.9.4
+Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+Vcs-Browser: http://svn.kibibyte.se/libspf2
+Homepage: http://www.libspf2.org/
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}), ${misc:Depends}
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}) | spfquery (= ${binary:Version}),
+ ${misc:Depends}
+Description: library for validating mail senders with SPF (debugging symbols)
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair.
+ .
+ This package contains the debugging symbols.
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
+
+Package: libmail-spf-xs-perl
+Section: perl
+Priority: extra
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, libstring-escape-perl
+Description: library for validating mail senders with SPF - Perl bindings
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+ .
+ This package provides an XS module for using libspf from Perl programs.
Index: tags/1.2.10-3/debian/rules
===================================================================
--- tags/1.2.10-3/debian/rules (nonexistent)
+++ tags/1.2.10-3/debian/rules (revision 108)
@@ -0,0 +1,88 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+LIB_PACKAGE = libspf2-2
+
+DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE)
+else
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
+endif
+
+CFLAGS := $(shell dpkg-buildflags --get CFLAGS)
+CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
+LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)
+perlld := $(shell perl -MConfig -e 'print $$Config{ld}')
+
+DEB_LDFLAGS_MAINT_APPEND = -Wl,--version-script=$(CURDIR)/debian/libspf2.ver
+buildflags += $(shell DEB_LDFLAGS_MAINT_APPEND="$(DEB_LDFLAGS_MAINT_APPEND)" \
+ dpkg-buildflags --export=configure)
+
+config.status: configure
+ dh_testdir
+ # Add here commands to configure the package.
+ dh_autoreconf
+ ./configure --prefix=/usr $(buildflags)
+
+build: build-arch
+build-indep:
+build-arch: build-arch-stamp
+build-arch-stamp: config.status
+ dh_testdir
+
+ $(MAKE)
+ cd perl && perl Makefile.PL INSTALLDIRS=vendor \
+ OPTIMIZE="$(CPPFLAGS) $(CFLAGS)" LD="$(perlld) $(CFLAGS) $(LDFLAGS)"
+ $(MAKE) -C perl LD_RUN_PATH=
+
+ touch "$@"
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-arch-stamp
+
+ [ ! -f Makefile ] || $(MAKE) distclean
+ [ ! -f perl/Makefile ] || $(MAKE) -C perl realclean
+
+ dh_autoreconf_clean
+ dh_clean
+
+install: build-arch
+ dh_testdir
+ dh_testroot
+ dh_prep
+
+ $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
+ $(MAKE) -C perl install DESTDIR=$(CURDIR)/debian/tmp
+
+binary-arch: install
+ dh_testdir
+ dh_testroot
+ dh_install -a
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+ dh_installdocs -a --link-doc=$(LIB_PACKAGE)
+ dh_installchangelogs -a
+ dh_installman -a
+ dh_strip -a --dbg-package=$(LIB_PACKAGE)-dbg
+ dh_perl -a
+ dh_compress -a
+ dh_fixperms -a
+ dh_makeshlibs -V '$(LIB_PACKAGE) (>= 1.2.8~)'
+ dh_installdeb -a
+ dh_shlibdeps -a
+ dh_gencontrol -a
+ dh_md5sums -a
+ dh_builddeb -a
+
+binary: binary-arch
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.9.tar.gz
+
+.PHONY: build build-indep build-arch clean clean-patched binary-indep binary-arch binary install get-orig-source
/tags/1.2.10-3/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.10-3/debian/copyright
===================================================================
--- tags/1.2.10-3/debian/copyright (nonexistent)
+++ tags/1.2.10-3/debian/copyright (revision 108)
@@ -0,0 +1,137 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Source: http://www.libspf2.org/
+Upstream-Contact: Shevek <libspf2@anarres.org>
+License: LGPL-2.1+ or BSD-2-clause
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+ .
+ a) The GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1, or (at your option) any
+ later version,
+ .
+ OR
+ .
+ b) The two-clause BSD license.
+
+Files: *
+Copyright: ยฉ 2004-2005 Wayne Schlitt and Shevek, ยฉ 2008 Shevek.
+ - Current maintainer: Shevek <libspf2@anarres.org>
+ - Contributors: Magnus Holmgren, Julian Mehnle, Scott Kitterman,
+ Dan Kaminsky, Ben Chelf, Hannah Schroeter, Manish Raje
+ - Original author, 1.0 series: Wayne Schlitt <wayne@schlitt.net>
+License: LGPL-2.1+ or BSD-2-clause
+
+Files: src/spf_example/spf_example.c
+Copyright: Written by Wayne Schlitt and released into the public domain.
+License: public-domain
+ "This program is in the public domain, there is no copyright, you can
+ do anything you want with it."
+
+Files: src/libreplace/__ns_name_uncompress.c src/libreplace/__ns_initparse.c
+Copyright: ยฉ 1996, 1999 Internet Software Consortium
+License: ISC
+ Permission to use, copy, modify, and distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
+ ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
+ CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ SOFTWARE.
+
+Files: src/libreplace/arpa_nameser.h
+Copyright: ยฉ 1983, 1989, 1993 The Regents of the University of California
+License: BSD-4-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+ 4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+Files: src/libreplace/getopt.h src/libreplace/getopt_long_only.c
+Copyright: ยฉ 1987,88,89,90,91,92,93,94,96,97 Free Software Foundation, Inc
+License: LGPL-2+
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License 2.0 can be found in the file `/usr/share/common-licenses/LGPL-2'.
+
+Files: perl/*
+Copyright: ยฉ 2008 Shevek <cpan@anarres.org>
+License: GPL-1+ or Artistic-1
+ This program is free software; you can redistribute it and/or modify
+ it under the same terms as Perl itself.
+
+Files: debian/*
+Copyright: ยฉ 2004-2006 Eric Dorland, ยฉ 2007-2013 Magnus Holmgren
+License: LGPL-2.1+ or BSD-2-clause
+Comment: The parts of the Debian packaging that is eligible for
+ copyright is ยฉ 2004-2006 Eric Dorland, 2007-2013 Magnus Holmgren and
+ assumed to be licensed under the same licenses as above.
+
+Files: debian/spfquery.libspf2.1
+Copyright: ยฉ 2007 Magnus Holmgren
+License: BSD-2-clause
+ (Giving the LGPL as an alternative is quite redundant as the BSD
+ license is so permissive that it allows redistribution under the LGPL
+ or most other licenses anyway).
+
+License: LGPL-2.1+
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License 2.1 can be found in the file
+ `/usr/share/common-licenses/LGPL-2.1'.
+
+License: BSD-2-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ .
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: GPL-1+
+ On Debian systems, the complete text of the GNU General Public
+ License 1.0 can be found in the file
+ `/usr/share/common-licenses/GPL-1'.
+
+License: Artistic-1
+ On Debian systems, the complete text of the "Artistic License" can be
+ found in the file `/usr/share/common-licenses/Artistic'.
Index: tags/1.2.10-3/debian/spfquery.libspf2.1
===================================================================
--- tags/1.2.10-3/debian/spfquery.libspf2.1 (nonexistent)
+++ tags/1.2.10-3/debian/spfquery.libspf2.1 (revision 108)
@@ -0,0 +1,197 @@
+.\" Title: SPFQUERY
+.\" Author: Magnus Holmgren <holmgren@debian.org>
+.\" Date: 2007-09-06
+.\" Manual: libspf2 manuals for Debian
+.\" Source: libspf2 1.2.5
+.\"
+.TH "SPFQUERY" "1" "2007-09-06" "libspf2 1.2.5" "libspf2 manuals for Debian"
+.\" disable hyphenation
+.nh
+.SH NAME
+spfquery, spfquery.libspf2 \- checks if an IP address is an SPF-authorized SMTP sender for a domain.
+.SH SYNOPSIS
+.ad l
+.HP 9
+.B spfquery
+.RB { \-i | \-\-ip }
+.I ip\-address
+.RB { -s | \-\-sender }
+.RI [ local-part \fB@\fP] domain
+.RB [{ \-h | \-\-helo }
+.IR domain-name ]
+.RB [ \-\-rcpt\-to
+.IR email-address(es) ]
+.RI [ CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-f | \-\-file }
+.IR datafile " [" CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-\-help | \-v | \-\-version }
+.ad b
+.SH DESCRIPTION
+This manual page documents briefly the
+\fBspfquery\fR
+command. It was written for the
+Debian\*[R] distribution because the original program does not have a manual page.
+.PP
+\fBspfquery\fR performs Sender Policy Framework (SPF) authorization
+checks based on the command-line arguments or data given in a file or
+on standard input. For information on SPF see http://www.openspf.org.
+.
+.SH OPTIONS
+Options are divided into two groups: Data options, which must be
+given, though just enough of them to specify a query; and control
+options, which are optional and control the local policy, behaviour
+and output format of spfquery.
+.PP
+This programs follows the GNU \fBgetopt_long_only\fR(3) command line
+syntax: Long options can be given with one or two dashes and can be
+abbreviated to a prefix long enough to be non-ambiguous. If an option
+starting with a single dash doesn't match a long option, it is taken
+as a short option with a following parameter, if applicable. An equals
+sign between the option name and the parameter is optional for both
+short and long options.
+.SS Data options
+The
+\fB\-\-file\fR option conflicts with all the other data options. The
+\fB\-\-helo\fR and \fB\-\-rcpt\-to\fR are optional.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfilename\fR
+Read SPF data from \fIfilename\fR. Specify \(lq-\(rq to read from standard input.
+.sp
+The file should consist of one line per query, each query line consisting of the IP address, sender adress, and optional HELO string, separated by spaces.
+.sp
+\fBNote\fP
+Local parts containing spaces are currently not supported.
+.TP
+\fB\-i\fP, \fB\-\-ip\fP \fIip-address\fP
+Specify the IP address of the remote host that is delivering the mail.
+.TP
+\fB\-s\fP, \fB\-\-sender\fP [\fIlocal-part\fP\fB@\fP]\fIdomain\fP
+Specify the email address that was used as the envelope sender. If no
+username (local part) is given, \(lqpostmaster\(rq will be assumed.
+.TP
+\fB\-h\fP, \fB\-\-helo\fP \fIdomain-name\fP
+Specify that \fIdomain-name\fP was provided in the SMTP HELO (or EHLO) command.
+.TP
+\fB\-r\fP, \fB\-\-rcpt-to\fP \fIrcpt-address\fP[,\fIrcpt-address\fP,...]
+Specify the recipients as comma-separated list. Any secondary mail exchangers of all
+recipient domains are automatically authorized.
+.
+.SS Control options
+.TP
+\fB\-d\fP, \fB\-\-debug\fP[\fB=\fP\fIlevel\fP]
+Turn on debugging output.
+.TP
+\fB\-l\fP, \fB\-\-local\fP \fIspf\-terms\fP
+Test against \fIspf\-terms\fR before the final (implicit or explicit)
+\(lqall\(rq in an SPF record. This can be used to implement a local policy for whitelisting.
+.TP
+\fB\-t, \fB\-\-trusted\fR [\fB1\fR]
+Check the sender domain with trusted\-forwarder.org.
+\fBThis is a non\-standard feature.\fR
+.TP
+\fB\-t\fP \fB0\fP, \fB\-\-trusted\fR \fB0\fP
+Do not check the sender domain with trusted\-forwarder.org. This is the default.
+.TP
+\fB\-g\fP, \fB\-\-guess\fP \fIspf-mechanisms\fP
+Test the sender domain against \fIspf\-mechanisms\fP if the domain has no SPF record.
+.TP
+\fB\-e\fP, \fB\-\-default\-explanation\fP \fIstring\fP
+Default explanation string to use if the SPF record does not specify an expla\%nation string itself.
+.TP
+\fB\-m\fP, \fB\-\-max\-lookup\fP \fInumber\fP
+Maximum number of DNS lookups to allow.
+.TP
+\fB\-c\fP, \fB\-\-sanitize\fP [\fB0\fP|\fB1\fP]
+Do [not] sanitize the output by condensing conse\%cutive white\%space
+into a single space and replacing non-printable characters with
+question marks. Enabled by default.
+.TP
+\fB\-n\fP, \fB\-\-name\fP \fIhostname\fP
+Use
+\fIhostname\fP
+as the name of the local system instead of
+\(lqspfquery\(rq
+(the name is used in the output).
+.TP
+\fB\-k\fP, \fB\-\-keep\-comments\fP
+Print comments found when reading from a file.
+.TP
+\fB\-a\fP, \fB\-\-override\fP \fI...\fP
+.TP
+\fB\-z\fP, \fB\-\-fallback\fP \fI...\fP
+Provide override and fallback SPF records for certain domains.
+\fBNot implemented yet.\fP
+\fBspfquery\fP
+would act as if the speci\%fied records were present before and after any existing record, respectively, of those domains.
+.TP
+\fB\-\-help\fP
+Show summary of options.
+.TP
+\fB\-v\fP, \fB\-\-version\fP
+Show version of program.
+.SH DIAGNOSTICS
+The output ordinarily consists of four lines:
+.IP 1. 4
+the \fIresult code\fP;
+.IP 2. 4
+the \fIexplanation\fP, suitable for use in an SMTP response message, empty
+except when a rejection (permanent or temporary) makes sense;
+.IP 3. 4
+the header comment on its own;
+.IP 4. 4
+the Received\-SPF header field as defined in RFC 4408 section 7,
+incorporating the header comment.
+.PP
+If errors (including no SPF record found!) occur during processing,
+one or more error blocks will be prepended.
+These start with \(lqStartError\(lq and end with \(lqEndError\(lq.
+.PP
+The result codes and their corresponding exit codes are as follows:
+.TP
+.B 1 \(en neutral
+The sender domain explicitly makes no assertion about the \fIip-address\fP.
+This result must be interpreted exactly as if no SPF record at all existed.
+.TP
+.B 2 \(en pass
+The \fIip-address\fP is authorized to send mail for the sender domain.
+.TP
+.B 3 \(en fail
+The \fIip-address\fP is \fBunauthorized\fP to send mail for the sender domain.
+.TP
+.B 4 \(en softfail
+The \fIip-address\fP is not authorized to send mail for the sender domain, but
+the sender domain cannot or does not wish to make a strong assertion that no such mail can
+ever come from it.
+.TP
+.B 5 \(en none
+No SPF record was found.
+.TP
+.BR "6 \(en error" " (temporary)"
+A transient error occurred (e.g. failure to reach a DNS server), preventing a
+result from being reached.
+.TP
+.BR "7 \(en unknown" " (permanent error)"
+One or more SPF records could not be interpreted.
+.SH EXAMPLES
+.nf
+spfquery \-ip=11.22.33.44 \-sender=user@aol.com \-helo=spammer.tld
+spfquery \-f test_data
+echo "127.0.0.1 myname@mydomain.com helohost.com" | spfquery \-f \-
+.fi
+.SH SEE ALSO
+\fBspftest\fR(1), \fBspfd\fR(8)
+.SH AUTHOR
+\fBspfquery\fP was written by Wayne Schlitt.
+.PP
+This manual page was written by Magnus Holmgren for the Debian\*[R]
+system (but may be used by others). Heavily inspired by the spfquery manpage of
+libmail\-spf\-query\-perl (\fBspfquery.mail\-spf\-query\-perl\fR(1)) by Julian Mehnle.
+Also based on the command\-line help of spfquery.
+.SH COPYRIGHT
+Copyright \(co 2007 Magnus Holmgren. Permission is granted to copy,
+distribute and/or modify this document under the terms of the two-clause BSD
+License. See /usr/share/doc/spfquery/copyright.
Index: tags/1.2.10-3/debian/libspf2-2.symbols
===================================================================
--- tags/1.2.10-3/debian/libspf2-2.symbols (nonexistent)
+++ tags/1.2.10-3/debian/libspf2-2.symbols (revision 108)
@@ -0,0 +1,113 @@
+libspf2.so.2 libspf2-2 #MINVER#
+ SPF_debug_handler@Base 0
+ SPF_debug_stdio@Base 0
+ SPF_debug_syslog@Base 0
+ SPF_debugv@Base 0
+ SPF_debugx2@Base 0
+ SPF_debugx@Base 0
+ SPF_dns_cache_new@Base 0
+ SPF_dns_cache_set_ttl@Base 0
+ SPF_dns_free@Base 0
+ SPF_dns_get_client_dom@Base 0
+ SPF_dns_lookup@Base 0
+ SPF_dns_null_new@Base 0
+ SPF_dns_resolv_new@Base 0
+ SPF_dns_rlookup6@Base 0
+ SPF_dns_rlookup@Base 0
+ SPF_dns_rr_buf_realloc@Base 0
+ SPF_dns_rr_dup@Base 0
+ SPF_dns_rr_free@Base 0
+ SPF_dns_rr_new@Base 0
+ SPF_dns_rr_new_init@Base 0
+ SPF_dns_rr_new_nxdomain@Base 0
+ SPF_dns_set_conserve_cache@Base 0
+ SPF_dns_test_new@Base 0
+ SPF_dns_zone_add_str@Base 0
+ SPF_dns_zone_new@Base 0
+ SPF_error_code@Base 0
+ SPF_error_errorp@Base 0
+ SPF_error_handler@Base 0
+ SPF_error_message@Base 0
+ SPF_error_stdio@Base 0
+ SPF_error_syslog@Base 0
+ SPF_errorv@Base 0
+ SPF_errorx2@Base 0
+ SPF_errorx@Base 0
+ SPF_get_lib_version@Base 0
+ SPF_i_done@Base 0
+ SPF_info_handler@Base 0
+ SPF_info_stdio@Base 0
+ SPF_info_syslog@Base 0
+ SPF_infov@Base 0
+ SPF_infox2@Base 0
+ SPF_infox@Base 0
+ SPF_macro_free@Base 0
+ SPF_record_compile@Base 0
+ SPF_record_compile_macro@Base 0
+ SPF_record_expand_data@Base 0
+ SPF_record_find_mod_value@Base 0
+ SPF_record_free@Base 0
+ SPF_record_interpret@Base 0
+ SPF_record_new@Base 0
+ SPF_record_print@Base 0
+ SPF_record_stringify@Base 0
+ SPF_request_free@Base 0
+ SPF_request_get_client_dom@Base 0
+ SPF_request_get_exp@Base 0
+ SPF_request_get_rec_dom@Base 0
+ SPF_request_is_loopback@Base 0
+ SPF_request_new@Base 0
+ SPF_request_query_fallback@Base 0
+ SPF_request_query_mailfrom@Base 0
+ SPF_request_query_rcptto@Base 0
+ SPF_request_set_env_from@Base 0
+ SPF_request_set_helo_dom@Base 0
+ SPF_request_set_ipv4@Base 0
+ SPF_request_set_ipv4_str@Base 0
+ SPF_request_set_ipv6@Base 0
+ SPF_request_set_ipv6_str@Base 0
+ SPF_response_add_error@Base 0
+ SPF_response_add_error_idx@Base 0
+ SPF_response_add_error_ptr@Base 0
+ SPF_response_add_warn@Base 0
+ SPF_response_add_warn_idx@Base 0
+ SPF_response_add_warn_ptr@Base 0
+ SPF_response_combine@Base 0
+ SPF_response_errcode@Base 0
+ SPF_response_errors@Base 0
+ SPF_response_free@Base 0
+ SPF_response_get_explanation@Base 0
+ SPF_response_get_header_comment@Base 0
+ SPF_response_get_received_spf@Base 0
+ SPF_response_get_received_spf_value@Base 0
+ SPF_response_get_smtp_comment@Base 0
+ SPF_response_message@Base 0
+ SPF_response_messages@Base 0
+ SPF_response_new@Base 0
+ SPF_response_reason@Base 0
+ SPF_response_result@Base 0
+ SPF_response_warnings@Base 0
+ SPF_server_free@Base 0
+ SPF_server_get_max_dns_mech@Base 0
+ SPF_server_get_max_dns_mx@Base 0
+ SPF_server_get_max_dns_ptr@Base 0
+ SPF_server_get_record@Base 0
+ SPF_server_new@Base 0
+ SPF_server_new_dns@Base 1.2.8~
+ SPF_server_set_explanation@Base 0
+ SPF_server_set_localpolicy@Base 0
+ SPF_server_set_max_dns_mech@Base 0
+ SPF_server_set_max_dns_mx@Base 0
+ SPF_server_set_max_dns_ptr@Base 0
+ SPF_server_set_rec_dom@Base 0
+ SPF_server_set_sanitize@Base 0
+ SPF_strerror@Base 0
+ SPF_strreason@Base 0
+ SPF_strresult@Base 0
+ SPF_strrrtype@Base 1.2.8~
+ SPF_warning_handler@Base 0
+ SPF_warning_stdio@Base 0
+ SPF_warning_syslog@Base 0
+ SPF_warningv@Base 0
+ SPF_warningx2@Base 0
+ SPF_warningx@Base 0
Index: tags/1.2.10-3/debian/libspf2.ver
===================================================================
--- tags/1.2.10-3/debian/libspf2.ver (nonexistent)
+++ tags/1.2.10-3/debian/libspf2.ver (revision 108)
@@ -0,0 +1,16 @@
+{
+global:
+ SPF_*;
+ main;
+ __libc_csu_*;
+ _init;
+ _fini;
+ _IO_stdin_used;
+ _DYNAMIC_LINKING;
+ __RLD_MAP;
+local:
+ SPF_recalloc;
+ SPF_sanitize;
+ SPF_print_sizeof;
+ *;
+};
Index: tags/1.2.10-3/debian/libmail-spf-xs-perl.install
===================================================================
--- tags/1.2.10-3/debian/libmail-spf-xs-perl.install (nonexistent)
+++ tags/1.2.10-3/debian/libmail-spf-xs-perl.install (revision 108)
@@ -0,0 +1,2 @@
+usr/lib/perl5
+usr/share/man/man3/*.3pm
Index: tags/1.2.10-3/debian/patches/series
===================================================================
--- tags/1.2.10-3/debian/patches/series (nonexistent)
+++ tags/1.2.10-3/debian/patches/series (revision 108)
@@ -0,0 +1 @@
+spf_dns-include-std-headers.patch
Index: tags/1.2.10-3/debian/patches/spf_dns-include-std-headers.patch
===================================================================
--- tags/1.2.10-3/debian/patches/spf_dns-include-std-headers.patch (nonexistent)
+++ tags/1.2.10-3/debian/patches/spf_dns-include-std-headers.patch (revision 108)
@@ -0,0 +1,62 @@
+Author: Magnus Holmgren <holmgren@debian.org>
+Description: Include arpa/nameser.h and netdb.h from spf_dns.h
+ instead of defining the constants needed unless certain HAVE_ macros are defined.
+ Updated for libspf2 1.2.8/9 by Scott Kitterman <scott@kitterman.com>
+
+--- libspf2-1.2.9~/src/include/spf_dns.h 2008-10-27 12:27:14.000000000 -0400
++++ libspf2-1.2.9/src/include/spf_dns.h 2008-11-04 10:10:58.000000000 -0500
+@@ -63,48 +63,19 @@
+ *
+ */
+
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
++ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+ /*
+- * For those who don't have <arpa/nameserv.h>
++ * Type 99 decl does not exist in Debian libc6 (not even 2.7)
+ */
+-
+-/* XXX This should use a more sensible define. */
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /**< Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+ #if ! HAVE_DECL_NS_T_SPF
+ #define ns_t_spf 99
+ #endif
+
+-#if ! HAVE_DECL_NS_T_INVALID
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /**< NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /**< SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /**< invalid/unimplmeneted query */
+-#define NO_DATA 4 /**< host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/tags/1.2.10-3/debian/patches/spf_dns-include-std-headers.patch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.10-3/debian/spfquery.postinst
===================================================================
--- tags/1.2.10-3/debian/spfquery.postinst (nonexistent)
+++ tags/1.2.10-3/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,25 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25 \
+ --slave /usr/share/man/man1/spfquery.1.gz spfquery.1.gz /usr/share/man/man1/spfquery.$source_package.1.gz
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/spfquery"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
Index: tags/1.2.10-3/debian/libspf2-2-dbg.postinst
===================================================================
--- tags/1.2.10-3/debian/libspf2-2-dbg.postinst (nonexistent)
+++ tags/1.2.10-3/debian/libspf2-2-dbg.postinst (revision 108)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/libspf2-2-dbg"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Index: tags/1.2.10-3/debian/libspf2-dev.postinst
===================================================================
--- tags/1.2.10-3/debian/libspf2-dev.postinst (nonexistent)
+++ tags/1.2.10-3/debian/libspf2-dev.postinst (revision 108)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/libspf2-dev"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Index: tags/1.2.10-3/debian/compat
===================================================================
--- tags/1.2.10-3/debian/compat (nonexistent)
+++ tags/1.2.10-3/debian/compat (revision 108)
@@ -0,0 +1 @@
+7
Index: tags/1.2.10-3/debian/docs
===================================================================
--- tags/1.2.10-3/debian/docs (nonexistent)
+++ tags/1.2.10-3/debian/docs (revision 108)
@@ -0,0 +1,2 @@
+README
+TODO
Index: tags/1.2.10-3/debian/README.Debian
===================================================================
--- tags/1.2.10-3/debian/README.Debian (nonexistent)
+++ tags/1.2.10-3/debian/README.Debian (revision 108)
@@ -0,0 +1,11 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+ -- Magnus Holmgren <holmgren@debian.org>, Mon, 14 Sep 2009 22:33:12 +0200
Index: tags/1.2.10-3/debian/source/format
===================================================================
--- tags/1.2.10-3/debian/source/format (nonexistent)
+++ tags/1.2.10-3/debian/source/format (revision 108)
@@ -0,0 +1 @@
+3.0 (quilt)
Index: tags/1.2.10-3/debian/libspf2-dev.install
===================================================================
--- tags/1.2.10-3/debian/libspf2-dev.install (nonexistent)
+++ tags/1.2.10-3/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,3 @@
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.so
Index: tags/1.2.10-3/debian/spfquery.install
===================================================================
--- tags/1.2.10-3/debian/spfquery.install (nonexistent)
+++ tags/1.2.10-3/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+usr/bin/spfquery
+usr/bin/spftest
+usr/bin/spf_example
+usr/bin/spfd usr/sbin
Index: tags/1.2.10-3/debian/libspf2-2.install
===================================================================
--- tags/1.2.10-3/debian/libspf2-2.install (nonexistent)
+++ tags/1.2.10-3/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+usr/lib/lib*.so.*
Index: tags/1.2.10-3/debian/spfquery.manpages
===================================================================
--- tags/1.2.10-3/debian/spfquery.manpages (nonexistent)
+++ tags/1.2.10-3/debian/spfquery.manpages (revision 108)
@@ -0,0 +1 @@
+debian/spfquery.libspf2.1
Index: tags/1.2.10-3/debian/watch
===================================================================
--- tags/1.2.10-3/debian/watch (nonexistent)
+++ tags/1.2.10-3/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: tags/1.2.10-3/debian/spfquery.prerm
===================================================================
--- tags/1.2.10-3/debian/spfquery.prerm (nonexistent)
+++ tags/1.2.10-3/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.10-3/debian
===================================================================
--- tags/1.2.10-3/debian (nonexistent)
+++ tags/1.2.10-3/debian (revision 108)
/tags/1.2.10-3/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: tags/1.2.9-4+squeeze1/debian/changelog
===================================================================
--- tags/1.2.9-4+squeeze1/debian/changelog (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/changelog (revision 108)
@@ -0,0 +1,246 @@
+libspf2 (1.2.9-4+squeeze1) oldstable; urgency=low
+
+ * ipv6_buffer_miscalculation.dpatch: Include further fixes from wheezy
+ (Closes: #718581).
+
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 Aug 2013 09:37:47 +0200
+
+libspf2 (1.2.9-4) unstable; urgency=low
+
+ * Drop obsolete README.Debian-source; move non-obsolete info to
+ libspf2-dev.README.Debian.
+ * debian/libspf2.ver: Explicitly unhide certain special symbols that
+ became hidden on the mips and mipsel architectures but nowhere else,
+ causing a FTBFS.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 03 Oct 2009 21:29:19 +0200
+
+libspf2 (1.2.9-3) unstable; urgency=high
+
+ * ipv6_buffer_miscalculation.dpatch: Fix an abort() caused by
+ miscalculating the size of an internal buffer when mail is received
+ over IPv6. Thanks to Matthias Scheler <tron@netbsd.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 13 Sep 2009 20:23:22 +0200
+
+libspf2 (1.2.9-2) unstable; urgency=low
+
+ * debian/rules: Correct version.
+ * 01_private_glib_functions.dpatch: Avoid linking private glibc
+ functions.
+ * Simplify debian/*.install and exclude the libtool .la file from the
+ -dev package. Set DEB_DH_INSTALL_SOURCEDIR accordingly.
+ * Add ${misc:Depends} to Depends.
+ * Add debug package.
+ * Use ld version script to hide internal symbols.
+ * Bump Standards-Version to 3.8.3.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 25 Aug 2009 00:15:01 +0200
+
+libspf2 (1.2.9-1) unstable; urgency=high
+
+ * New upstream release.
+ - Drops non-dfsg Free IETF internet draft, so tarball no longer needs
+ repacking
+ + Fixes exploitable buffer overflow (LP: #287534)
+ + Multiple fixes for improved RFC 4408 compliance
+ + Update libspf2-2.symbols for new symbol
+ + 20_spf_dns_include_std_headers.dpatch: Updated.
+ * Thanks to Scott Kitterman.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 04 Nov 2008 21:14:31 +0100
+
+libspf2 (1.2.8~dfsg-1) unstable; urgency=low
+
+ * Merge changes from Ubuntu.
+ * Fix and tweak library dependency information (shlibs as well as
+ symbols).
+ * Upgrade to Standards-Version: 3.8.0. Changes needed:
+ + Add debian/README.source (ยง 4.9).
+ * Bring debian/copyright a bit more up-to-date.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 02 Nov 2008 12:29:51 +0100
+
+libspf2 (1.2.8~dfsg-0ubuntu1) intrepid; urgency=low
+
+ * New upstream release (LP: #283920)
+ - Fixes multiple memory leaks
+ - CVE2008-2469 buffer overflows
+ - Adds new documentation
+ - Drop all patches except 20_spf_dns_include_std_headers.dpatch (included
+ upstream)
+ - Freshen 20_spf_dns_include_std_headers.dpatch
+ - Update debian/rules for new release
+ * Repack tarball to remove non-DFSG Free IETF draft
+ * Added debian/libspf2-2.symbols and updated for new version
+ * Drop README.Debian since it no longer applies.
+
+ -- Scott Kitterman <scott@kitterman.com> Sun, 19 Oct 2008 01:00:13 -0400
+
+libspf2 (1.2.5.dfsg-5) unstable; urgency=low
+
+ * 43_new_explanation_url.dpatch: Bring default explanation up to date by
+ referring to www.openspf.org instead of spf.pobox.com.
+ * Add spfquery(1) manpage.
+ * Fix format of copyright notice in debian/copyright.
+ * Move upstream homepage URL to the new Homepage control field, rename
+ VCS control fields, and update Standards-Version.
+ * A few cosmetic adjustments including fixing the indentation of the
+ 1.2.5.dfsg-3 entry below (Closes: #465466).
+ * New maintainer email address.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 18 Apr 2008 17:51:28 +0200
+
+libspf2 (1.2.5.dfsg-4) unstable; urgency=low
+
+ * Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
+ (Closes: #440147). Thanks to Matthias Cramer.
+ * 35_untabify_help.dpatch: Make --help output of utilities less ugly by
+ converting tabs to spaces.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
+
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: tags/1.2.9-4+squeeze1/debian/patches/ipv6_buffer_miscalculation.dpatch
===================================================================
--- tags/1.2.9-4+squeeze1/debian/patches/ipv6_buffer_miscalculation.dpatch (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/patches/ipv6_buffer_miscalculation.dpatch (revision 108)
@@ -0,0 +1,59 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## ipv6_buffer_miscalculation.dpatch by Matthias Scheler <tron@netbsd.org> and others
+##
+## DP: Fix various IPv6-related typos, C&P bugs etc.
+## DP: These can crash applications using libspf2 or give the wrong result if
+## DP: an e-mail gets delivered via SMTP over IPv6 depending on the remote
+## DP: machine's IPv6 address.
+
+@DPATCH@
+--- a/src/libspf2/spf_expand.c 2008-11-03 21:29:00.000000000 +0000
++++ b/src/libspf2/spf_expand.c 2009-09-08 11:27:52.000000000 +0100
+@@ -245,7 +245,7 @@
+ case PARM_CLIENT_IP: /* SMTP client IP */
+ #ifdef COMPUTE
+ if (compute_length) {
+- len = sizeof(ip6_buf);
++ len = sizeof(ip6_rbuf);
+ if (d->dv.url_encode)
+ len *= 3;
+ buflen += len;
+--- a/src/libspf2/spf_interpret.c 2008-10-22 11:47:43.000000000 -0400
++++ b/src/libspf2/spf_interpret.c 2009-09-08 00:42:25.000000000 -0400
+@@ -505,7 +505,7 @@
+ char dst_ip6_buf[ INET6_ADDRSTRLEN ];
+
+ struct in6_addr src_ipv6;
+- int cidr, mask;
++ int cidr, cidr_save, mask;
+ int i;
+ int match;
+
+@@ -517,6 +517,7 @@
+ cidr = SPF_i_mech_cidr(spf_request, mech);
+ if ( cidr == 0 )
+ cidr = 128;
++ cidr_save = cidr;
+
+ match = TRUE;
+ for( i = 0; i < array_elem( ipv6.s6_addr ) && match; i++ )
+@@ -538,7 +539,7 @@
+ INET_NTOP(AF_INET6, &ipv6.s6_addr,
+ dst_ip6_buf, sizeof(dst_ip6_buf));
+ SPF_debugf( "ip_match: %s == %s (/%d): %d",
+- src_ip6_buf, dst_ip6_buf, cidr, match );
++ src_ip6_buf, dst_ip6_buf, cidr_save, match );
+ }
+
+ return match;
+--- a/src/libspf2/spf_compile.c 2008-11-03 15:37:33.000000000 -0500
++++ b/src/libspf2/spf_compile.c 2009-09-07 23:46:02.000000000 -0400
+@@ -778,7 +778,7 @@
+ const char *end;
+ const char *p;
+
+- char buf[ INET_ADDRSTRLEN ];
++ char buf[ INET6_ADDRSTRLEN ];
+ size_t len;
+ int err;
+
Index: tags/1.2.9-4+squeeze1/debian/patches/00list
===================================================================
--- tags/1.2.9-4+squeeze1/debian/patches/00list (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/patches/00list (revision 108)
@@ -0,0 +1,3 @@
+01_private_glibc_functions
+20_spf_dns_include_std_headers
+ipv6_buffer_miscalculation
Index: tags/1.2.9-4+squeeze1/debian/patches/01_private_glibc_functions.dpatch
===================================================================
--- tags/1.2.9-4+squeeze1/debian/patches/01_private_glibc_functions.dpatch (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/patches/01_private_glibc_functions.dpatch (revision 108)
@@ -0,0 +1,45 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 01_private_glibc_functions.dpatch by Magnus Holmgren <holmgren@debian.org>
+##
+## DP: Avoid linking private glibc functions (specifically __ns_get16).
+
+@DPATCH@
+diff -urNad trunk~/configure.ac trunk/configure.ac
+--- trunk~/configure.ac 2008-11-04 16:32:10.000000000 +0100
++++ trunk/configure.ac 2008-11-15 15:35:38.000000000 +0100
+@@ -272,7 +272,8 @@
+ AC_CHECK_FUNCS([gethostbyname inet_ntoa select strrchr strstr strtol])
+
+ AC_REPLACE_FUNCS([getopt_long_only strncasecmp])
+-AC_REPLACE_FUNCS([__ns_initparse __ns_name_uncompress __ns_get16 __ns_msg_getflag])
++AC_REPLACE_FUNCS([__ns_initparse __ns_name_uncompress __ns_msg_getflag])
++AC_LIBOBJ(__ns_get16)
+
+ AC_CONFIG_FILES([Makefile
+ Doxyfile
+diff -urNad trunk~/configure trunk/configure
+--- trunk~/configure 2008-11-04 16:32:56.000000000 +0100
++++ trunk/configure 2008-11-15 15:35:39.000000000 +0100
+@@ -25752,8 +25752,7 @@
+
+
+
+-
+-for ac_func in __ns_initparse __ns_name_uncompress __ns_get16 __ns_msg_getflag
++for ac_func in __ns_initparse __ns_name_uncompress __ns_msg_getflag
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ { echo "$as_me:$LINENO: checking for $ac_func" >&5
+@@ -25854,6 +25853,12 @@
+ done
+
+
++case " $LIBOBJS " in
++ *" __ns_get16.$ac_objext "* ) ;;
++ *) LIBOBJS="$LIBOBJS __ns_get16.$ac_objext"
++ ;;
++esac
++
+
+ ac_config_files="$ac_config_files Makefile Doxyfile src/Makefile src/include/Makefile src/libreplace/Makefile src/libspf2/Makefile src/spfquery/Makefile src/spftest/Makefile src/spfd/Makefile src/spf_example/Makefile"
+
/tags/1.2.9-4+squeeze1/debian/patches/01_private_glibc_functions.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.9-4+squeeze1/debian/patches/20_spf_dns_include_std_headers.dpatch
===================================================================
--- tags/1.2.9-4+squeeze1/debian/patches/20_spf_dns_include_std_headers.dpatch (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/patches/20_spf_dns_include_std_headers.dpatch (revision 108)
@@ -0,0 +1,67 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_dns_include_std_headers.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Include arpa/nameser.h and netdb.h from spf_dns.h instead of defining
+## DP: the constants needed unless certain HAVE_ macros are defined.
+## DP: Updated for libspf2 1.2.8/9 by Scott Kitterman <scott@kitterman.com>
+
+@DPATCH@
+diff -urNad libspf2-1.2.9~/src/include/spf_dns.h libspf2-1.2.9/src/include/spf_dns.h
+--- libspf2-1.2.9~/src/include/spf_dns.h 2008-10-27 12:27:14.000000000 -0400
++++ libspf2-1.2.9/src/include/spf_dns.h 2008-11-04 10:10:58.000000000 -0500
+@@ -63,48 +63,19 @@
+ *
+ */
+
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
++ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+ /*
+- * For those who don't have <arpa/nameserv.h>
++ * Type 99 decl does not exist in Debian libc6 (not even 2.7)
+ */
+-
+-/* XXX This should use a more sensible define. */
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /**< Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+ #if ! HAVE_DECL_NS_T_SPF
+ #define ns_t_spf 99
+ #endif
+
+-#if ! HAVE_DECL_NS_T_INVALID
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /**< NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /**< SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /**< invalid/unimplmeneted query */
+-#define NO_DATA 4 /**< host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/tags/1.2.9-4+squeeze1/debian/patches/20_spf_dns_include_std_headers.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.9-4+squeeze1/debian/libspf2.ver
===================================================================
--- tags/1.2.9-4+squeeze1/debian/libspf2.ver (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/libspf2.ver (revision 108)
@@ -0,0 +1,13 @@
+{
+global:
+ SPF_*;
+ main;
+ __libc_csu_*;
+ _init;
+ _fini;
+ _IO_stdin_used;
+ _DYNAMIC_LINKING;
+ __RLD_MAP;
+local:
+ *;
+};
Index: tags/1.2.9-4+squeeze1/debian/libspf2-dev.README.Debian
===================================================================
--- tags/1.2.9-4+squeeze1/debian/libspf2-dev.README.Debian (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/libspf2-dev.README.Debian (revision 108)
@@ -0,0 +1,11 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+ -- Magnus Holmgren <holmgren@debian.org>, Mon, 14 Sep 2009 22:33:12 +0200
Index: tags/1.2.9-4+squeeze1/debian/control
===================================================================
--- tags/1.2.9-4+squeeze1/debian/control (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/control (revision 108)
@@ -0,0 +1,63 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <holmgren@debian.org>
+Build-Depends: debhelper (>= 5), cdbs, dpatch, autotools-dev
+Standards-Version: 3.8.3
+Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+Vcs-Browser: http://svn.kibibyte.se/libspf2
+Homepage: http://www.libspf2.org/
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}), ${misc:Depends}
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}) | spfquery (= ${binary:Version}),
+ ${misc:Depends}
+Description: library for validating mail senders with SPF (debugging symbols)
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair.
+ .
+ This package contains the debugging symbols.
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
Index: tags/1.2.9-4+squeeze1/debian/libspf2-2.symbols
===================================================================
--- tags/1.2.9-4+squeeze1/debian/libspf2-2.symbols (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/libspf2-2.symbols (revision 108)
@@ -0,0 +1,116 @@
+libspf2.so.2 libspf2-2 #MINVER#
+ SPF_debug_handler@Base 0
+ SPF_debug_stdio@Base 0
+ SPF_debug_syslog@Base 0
+ SPF_debugv@Base 0
+ SPF_debugx2@Base 0
+ SPF_debugx@Base 0
+ SPF_dns_cache_new@Base 0
+ SPF_dns_cache_set_ttl@Base 0
+ SPF_dns_free@Base 0
+ SPF_dns_get_client_dom@Base 0
+ SPF_dns_lookup@Base 0
+ SPF_dns_null_new@Base 0
+ SPF_dns_resolv_new@Base 0
+ SPF_dns_rlookup6@Base 0
+ SPF_dns_rlookup@Base 0
+ SPF_dns_rr_buf_realloc@Base 0
+ SPF_dns_rr_dup@Base 0
+ SPF_dns_rr_free@Base 0
+ SPF_dns_rr_new@Base 0
+ SPF_dns_rr_new_init@Base 0
+ SPF_dns_rr_new_nxdomain@Base 0
+ SPF_dns_set_conserve_cache@Base 0
+ SPF_dns_test_new@Base 0
+ SPF_dns_zone_add_str@Base 0
+ SPF_dns_zone_new@Base 0
+ SPF_error_code@Base 0
+ SPF_error_errorp@Base 0
+ SPF_error_handler@Base 0
+ SPF_error_message@Base 0
+ SPF_error_stdio@Base 0
+ SPF_error_syslog@Base 0
+ SPF_errorv@Base 0
+ SPF_errorx2@Base 0
+ SPF_errorx@Base 0
+ SPF_get_lib_version@Base 0
+ SPF_i_done@Base 0
+ SPF_info_handler@Base 0
+ SPF_info_stdio@Base 0
+ SPF_info_syslog@Base 0
+ SPF_infov@Base 0
+ SPF_infox2@Base 0
+ SPF_infox@Base 0
+ SPF_macro_free@Base 0
+ SPF_print_sizeof@Base 0
+ SPF_realloc@Base 1.2.9
+ SPF_record_compile@Base 0
+ SPF_record_compile_macro@Base 0
+ SPF_record_expand_data@Base 0
+ SPF_record_find_mod_value@Base 0
+ SPF_record_free@Base 0
+ SPF_record_interpret@Base 0
+ SPF_record_new@Base 0
+ SPF_record_print@Base 0
+ SPF_record_stringify@Base 0
+ SPF_request_free@Base 0
+ SPF_request_get_client_dom@Base 0
+ SPF_request_get_exp@Base 0
+ SPF_request_get_rec_dom@Base 0
+ SPF_request_is_loopback@Base 0
+ SPF_request_new@Base 0
+ SPF_request_query_fallback@Base 0
+ SPF_request_query_mailfrom@Base 0
+ SPF_request_query_rcptto@Base 0
+ SPF_request_set_env_from@Base 0
+ SPF_request_set_helo_dom@Base 0
+ SPF_request_set_ipv4@Base 0
+ SPF_request_set_ipv4_str@Base 0
+ SPF_request_set_ipv6@Base 0
+ SPF_request_set_ipv6_str@Base 0
+ SPF_response_add_error@Base 0
+ SPF_response_add_error_idx@Base 0
+ SPF_response_add_error_ptr@Base 0
+ SPF_response_add_warn@Base 0
+ SPF_response_add_warn_idx@Base 0
+ SPF_response_add_warn_ptr@Base 0
+ SPF_response_combine@Base 0
+ SPF_response_errcode@Base 0
+ SPF_response_errors@Base 0
+ SPF_response_free@Base 0
+ SPF_response_get_explanation@Base 0
+ SPF_response_get_header_comment@Base 0
+ SPF_response_get_received_spf@Base 0
+ SPF_response_get_received_spf_value@Base 0
+ SPF_response_get_smtp_comment@Base 0
+ SPF_response_message@Base 0
+ SPF_response_messages@Base 0
+ SPF_response_new@Base 0
+ SPF_response_reason@Base 0
+ SPF_response_result@Base 0
+ SPF_response_warnings@Base 0
+ SPF_sanitize@Base 0
+ SPF_server_free@Base 0
+ SPF_server_get_max_dns_mech@Base 0
+ SPF_server_get_max_dns_mx@Base 0
+ SPF_server_get_max_dns_ptr@Base 0
+ SPF_server_get_record@Base 0
+ SPF_server_new@Base 0
+ SPF_server_new_dns@Base 1.2.8~
+ SPF_server_set_explanation@Base 0
+ SPF_server_set_localpolicy@Base 0
+ SPF_server_set_max_dns_mech@Base 0
+ SPF_server_set_max_dns_mx@Base 0
+ SPF_server_set_max_dns_ptr@Base 0
+ SPF_server_set_rec_dom@Base 0
+ SPF_server_set_sanitize@Base 0
+ SPF_strerror@Base 0
+ SPF_strreason@Base 0
+ SPF_strresult@Base 0
+ SPF_strrrtype@Base 1.2.8~
+ SPF_warning_handler@Base 0
+ SPF_warning_stdio@Base 0
+ SPF_warning_syslog@Base 0
+ SPF_warningv@Base 0
+ SPF_warningx2@Base 0
+ SPF_warningx@Base 0
Index: tags/1.2.9-4+squeeze1/debian/rules
===================================================================
--- tags/1.2.9-4+squeeze1/debian/rules (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/rules (revision 108)
@@ -0,0 +1,19 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+
+include /usr/share/cdbs/1/class/autotools.mk
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/dpatch.mk
+
+DEB_DH_MAKESHLIBS_ARGS_libspf2-2 = -V 'libspf2-2 (>= 1.2.9)'
+LDFLAGS += -Wl,--version-script=$(CURDIR)/debian/libspf2.ver
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp
+
+binary-install/spfquery::
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.9.tar.gz
/tags/1.2.9-4+squeeze1/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.9-4+squeeze1/debian/libspf2-dev.install
===================================================================
--- tags/1.2.9-4+squeeze1/debian/libspf2-dev.install (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,3 @@
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.so
Index: tags/1.2.9-4+squeeze1/debian/spfquery.install
===================================================================
--- tags/1.2.9-4+squeeze1/debian/spfquery.install (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+usr/bin/spfquery
+usr/bin/spftest
+usr/bin/spf_example
+usr/bin/spfd usr/sbin
Index: tags/1.2.9-4+squeeze1/debian/libspf2-2.install
===================================================================
--- tags/1.2.9-4+squeeze1/debian/libspf2-2.install (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+usr/lib/lib*.so.*
Index: tags/1.2.9-4+squeeze1/debian/copyright
===================================================================
--- tags/1.2.9-4+squeeze1/debian/copyright (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/copyright (revision 108)
@@ -0,0 +1,39 @@
+This package was debianized by Eric Dorland <eric@debian.org> on
+Sun, 04 Jul 2004 19:00:36 -0400
+
+The current maintainer is Magnus Holmgren <holmgren@debian.org>.
+
+It was downloaded from http://www.libspf2.org/
+
+Upstream authors:
+ - Current maintainer: Shevek <libspf2@anarres.org>
+ - Contributors: Magnus Holmgren, Julian Mehnle, Scott Kitterman,
+ Dan Kaminsky, Ben Chelf, Hannah Schroeter, Manish Raje
+ - Original author, 1.0 series: Wayne Schlitt <wayne@schlitt.net>
+
+Copyright:
+
+Software copyright ยฉ 2004-2005 Wayne Schlitt and Shevek,
+ ยฉ 2008 Shevek.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+
+ a) The GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1, or (at your option) any
+ later version,
+
+ OR
+
+ b) The two-clause BSD license.
+
+On Debian systems, the complete text of the GNU Lesser General Public
+License can be found in the file `/usr/share/common-licenses/LGPL' and
+the BSD license can be found in the file `/usr/share/common-licenses/BSD'.
+
+The parts of the Debian packaging that is eligible for copyright is ยฉ
+2004-2006 Eric Dorland, 2007-2008 Magnus Holmgren and assumed to be
+licensed under the same licenses as above. The spfquery(1) manpage
+is (Giving the LGPL as an alternative is quite redundant as the BSD
+license is so permissive that it allows redistribution under the LGPL
+or most other licenses anyway).
Index: tags/1.2.9-4+squeeze1/debian/README.source
===================================================================
--- tags/1.2.9-4+squeeze1/debian/README.source (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/README.source (revision 108)
@@ -0,0 +1,8 @@
+This package uses dpatch to manage all modifications to the upstream
+source. Changes are stored in the source package as diffs in
+debian/patches and applied during the build. For basic usage
+information, see
+
+ /usr/share/doc/dpatch/README.source.gz
+
+(after installing dpatch).
Index: tags/1.2.9-4+squeeze1/debian/spfquery.postinst
===================================================================
--- tags/1.2.9-4+squeeze1/debian/spfquery.postinst (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,17 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25 \
+ --slave /usr/share/man/man1/spfquery.1.gz spfquery.1.gz /usr/share/man/man1/spfquery.$source_package.1.gz
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.9-4+squeeze1/debian/spfquery.manpages
===================================================================
--- tags/1.2.9-4+squeeze1/debian/spfquery.manpages (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/spfquery.manpages (revision 108)
@@ -0,0 +1 @@
+debian/spfquery.libspf2.1
Index: tags/1.2.9-4+squeeze1/debian/spfquery.libspf2.1
===================================================================
--- tags/1.2.9-4+squeeze1/debian/spfquery.libspf2.1 (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/spfquery.libspf2.1 (revision 108)
@@ -0,0 +1,199 @@
+.\" Title: SPFQUERY
+.\" Author: Magnus Holmgren <magnus@kibibyte.se>
+.\" Date: 2007-09-06
+.\" Manual: libspf2 manuals for Debian
+.\" Source: libspf2 1.2.5
+.\"
+.TH "SPFQUERY" "1" "2007-09-06" "libspf2 1.2.5" "libspf2 manuals for Debian"
+.\" disable hyphenation
+.nh
+.SH NAME
+spfquery, spfquery.libspf2 \- checks if an IP address is an SPF-authorized SMTP sender for a domain.
+.SH SYNOPSIS
+.ad l
+.HP 9
+.B spfquery
+.RB { \-i | \-\-ip }
+.I ip\-address
+.RB { -s | \-\-sender }
+.RI [ local-part \fB@\fP] domain
+.RB [{ \-h | \-\-helo }
+.IR domain-name ]
+.RB [ \-\-rcpt\-to
+.IR email-address(es) ]
+.RI [ CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-f | \-\-file }
+.IR datafile " [" CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-\-help | \-v | \-\-version }
+.ad b
+.SH DESCRIPTION
+This manual page documents briefly the
+\fBspfquery\fR
+command. It was written for the
+Debian\*[R] distribution because the original program does not have a manual page.
+.PP
+\fBspfquery\fR performs Sender Policy Framework (SPF) authorization
+checks based on the command-line arguments or data given in a file or
+on standard input. For information on SPF see http://www.openspf.org.
+.
+.SH OPTIONS
+Options are divided into two groups: Data options, which must be
+given, though just enough of them to specify a query; and control
+options, which are optional and control the local policy, behaviour
+and output format of spfquery.
+.PP
+This programs follows the GNU \fBgetopt_long_only\fR(3) command line
+syntax: Long options can be given with one or two dashes and can be
+abbreviated to a prefix long enough to be non-ambiguous. If an option
+starting with a single dash doesn't match a long option, it is taken
+as a short option with a following parameter, if applicable. An equals
+sign between the option name and the parameter is optional for both
+short and long options.
+.SS Data options
+The
+\fB\-\-file\fR option conflicts with all the other data options. The
+\fB\-\-helo\fR and \fB\-\-rcpt\-to\fR are optional.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfilename\fR
+Read SPF data from \fIfilename\fR. Specify \(lq-\(rq to read from standard input.
+.sp
+The file should consist of one line per query, each query line consisting of the IP address, sender adress, and optional HELO string, separated by spaces.
+.sp
+\fBNote\fP
+Local parts containing spaces are currently not supported.
+.TP
+\fB\-i\fP, \fB\-\-ip\fP \fIip-address\fP
+Specify the IP address of the remote host that is delivering the mail.
+.TP
+\fB\-s\fP, \fB\-\-sender\fP [\fIlocal-part\fP\fB@\fP]\fIdomain\fP
+Specify the email address that was used as the envelope sender. If no
+username (local part) is given, \(lqpostmaster\(rq will be assumed.
+.TP
+\fB\-h\fP, \fB\-\-helo\fP \fIdomain-name\fP
+Specify that \fIdomain-name\fP was provided in the SMTP HELO (or EHLO) command.
+.TP
+\fB\-r\fP, \fB\-\-rcpt-to\fP \fIrcpt-address\fP[,\fIrcpt-address\fP,...]
+Specify the recipients as comma-separated list. Any secondary mail exchangers of all
+recipient domains are automatically authorized.
+.
+.SS Control options
+.TP
+\fB\-d\fP, \fB\-\-debug\fP[\fB=\fP\fIlevel\fP]
+Turn on debugging output.
+.TP
+\fB\-l\fP, \fB\-\-local\fP \fIspf\-terms\fP
+Test against \fIspf\-terms\fR before the final (implicit or explicit)
+\(lqall\(rq in an SPF record. This can be used to implement a local policy for whitelisting.
+.TP
+\fB\-t, \fB\-\-trusted\fR [\fB1\fR]
+Check the sender domain with trusted\-forwarder.org.
+\fBThis is a non\-standard feature.\fR
+.TP
+\fB\-t\fP \fB0\fP, \fB\-\-trusted\fR \fB0\fP
+Do not check the sender domain with trusted\-forwarder.org. This is the default.
+.TP
+\fB\-g\fP, \fB\-\-guess\fP \fIspf-mechanisms\fP
+Test the sender domain against \fIspf\-mechanisms\fP if the domain has no SPF record.
+.TP
+\fB\-e\fP, \fB\-\-default\-explanation\fP \fIstring\fP
+Default explanation string to use if the SPF record does not specify an expla\%nation string itself.
+.TP
+\fB\-m\fP, \fB\-\-max\-lookup\fP \fInumber\fP
+Maximum number of DNS lookups to allow.
+.TP
+\fB\-c\fP, \fB\-\-sanitize\fP [\fB0\fP|\fB1\fP]
+Do [not] sanitize the output by condensing conse\%cutive white\%space
+into a single space and replacing non-printable characters with
+question marks. Enabled by default.
+.TP
+\fB\-n\fP, \fB\-\-name\fP \fIhostname\fP
+Use
+\fIhostname\fP
+as the name of the local system instead of
+\(lqspfquery\(rq
+(the name is used in the output).
+.TP
+\fB\-k\fP, \fB\-\-keep\-comments\fP
+Print comments found when reading from a file.
+.TP
+\fB\-a\fP, \fB\-\-override\fP \fI...\fP
+.TP
+\fB\-z\fP, \fB\-\-fallback\fP \fI...\fP
+Provide override and fallback SPF records for certain domains.
+\fBNot implemented yet.\fP
+\fBspfquery\fP
+would act as if the speci\%fied records were present before and after any existing record, respectively, of those domains.
+.TP
+\fB\-\-help\fP
+Show summary of options.
+.TP
+\fB\-v\fP, \fB\-\-version\fP
+Show version of program.
+.SH DIAGNOSTICS
+The output ordinarily consists of four lines:
+.IP 1. 4
+the \fIresult code\fP;
+.IP 2. 4
+the \fIexplanation\fP, suitable for use in an SMTP response message, empty
+except when a rejection (permanent or temporary) makes sense;
+.IP 3. 4
+the header comment on its own;
+.IP 4. 4
+the Received\-SPF header field as defined in RFC 4408 section 7,
+incorporating the header comment.
+.PP
+If errors (including no SPF record found!) occur during processing,
+one or more error blocks will be prepended.
+These start with \(lqStartError\(lq and end with \(lqEndError\(lq.
+.PP
+The result codes and their corresponding exit codes are as follows:
+.TP
+.B 1 \(en neutral
+The sender domain explicitly makes no assertion about the \fIip-address\fP.
+This result must be interpreted exactly as if no SPF record at all existed.
+.TP
+.B 2 \(en pass
+The \fIip-address\fP is authorized to send mail for the sender domain.
+.TP
+.B 3 \(en fail
+The \fIip-address\fP is \fBunauthorized\fP to send mail for the sender domain.
+.TP
+.B 4 \(en softfail
+The \fIip-address\fP is not authorized to send mail for the sender domain, but
+the sender domain cannot or does not wish to make a strong assertion that no such mail can
+ever come from it.
+.TP
+.B 5 \(en none
+No SPF record was found.
+.TP
+.BR "6 \(en error" " (temporary)"
+A transient error occurred (e.g. failure to reach a DNS server), preventing a
+result from being reached.
+.TP
+.BR "7 \(en unknown" " (permanent error)"
+One or more SPF records could not be interpreted.
+.SH EXAMPLES
+.nf
+spfquery \-ip=11.22.33.44 \-sender=user@aol.com \-helo=spammer.tld
+spfquery \-f test_data
+echo "127.0.0.1 myname@mydomain.com helohost.com" | spfquery \-f \-
+.fi
+.SH SEE ALSO
+\fBspftest\fR(1), \fBspfd\fR(8)
+.SH AUTHOR
+\fBspfquery\fP was written by Wayne Schlitt.
+.PP
+This manual page was written by Magnus Holmgren for the Debian\*[R]
+system (but may be used by others). Heavily inspired by the spfquery manpage of
+libmail\-spf\-query\-perl (\fBspfquery.mail\-spf\-query\-perl\fR(1)) by Julian Mehnle.
+Also based on the command\-line help of spfquery.
+.SH COPYRIGHT
+Copyright \(co 2007 Magnus Holmgren. Permission is granted to copy,
+distribute and/or modify this document under the terms of the BSD
+License.
+.PP
+On Debian systems, the complete text of the BSD License can be found in /usr/share/common\-licenses/BSD.
Index: tags/1.2.9-4+squeeze1/debian/watch
===================================================================
--- tags/1.2.9-4+squeeze1/debian/watch (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: tags/1.2.9-4+squeeze1/debian/spfquery.prerm
===================================================================
--- tags/1.2.9-4+squeeze1/debian/spfquery.prerm (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.9-4+squeeze1/debian/compat
===================================================================
--- tags/1.2.9-4+squeeze1/debian/compat (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian/compat (revision 108)
@@ -0,0 +1 @@
+5
Index: tags/1.2.9-4+squeeze1/debian
===================================================================
--- tags/1.2.9-4+squeeze1/debian (nonexistent)
+++ tags/1.2.9-4+squeeze1/debian (revision 108)
/tags/1.2.9-4+squeeze1/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: tags/1.2.10-2/debian/spfquery.libspf2.1
===================================================================
--- tags/1.2.10-2/debian/spfquery.libspf2.1 (nonexistent)
+++ tags/1.2.10-2/debian/spfquery.libspf2.1 (revision 108)
@@ -0,0 +1,197 @@
+.\" Title: SPFQUERY
+.\" Author: Magnus Holmgren <holmgren@debian.org>
+.\" Date: 2007-09-06
+.\" Manual: libspf2 manuals for Debian
+.\" Source: libspf2 1.2.5
+.\"
+.TH "SPFQUERY" "1" "2007-09-06" "libspf2 1.2.5" "libspf2 manuals for Debian"
+.\" disable hyphenation
+.nh
+.SH NAME
+spfquery, spfquery.libspf2 \- checks if an IP address is an SPF-authorized SMTP sender for a domain.
+.SH SYNOPSIS
+.ad l
+.HP 9
+.B spfquery
+.RB { \-i | \-\-ip }
+.I ip\-address
+.RB { -s | \-\-sender }
+.RI [ local-part \fB@\fP] domain
+.RB [{ \-h | \-\-helo }
+.IR domain-name ]
+.RB [ \-\-rcpt\-to
+.IR email-address(es) ]
+.RI [ CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-f | \-\-file }
+.IR datafile " [" CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-\-help | \-v | \-\-version }
+.ad b
+.SH DESCRIPTION
+This manual page documents briefly the
+\fBspfquery\fR
+command. It was written for the
+Debian\*[R] distribution because the original program does not have a manual page.
+.PP
+\fBspfquery\fR performs Sender Policy Framework (SPF) authorization
+checks based on the command-line arguments or data given in a file or
+on standard input. For information on SPF see http://www.openspf.org.
+.
+.SH OPTIONS
+Options are divided into two groups: Data options, which must be
+given, though just enough of them to specify a query; and control
+options, which are optional and control the local policy, behaviour
+and output format of spfquery.
+.PP
+This programs follows the GNU \fBgetopt_long_only\fR(3) command line
+syntax: Long options can be given with one or two dashes and can be
+abbreviated to a prefix long enough to be non-ambiguous. If an option
+starting with a single dash doesn't match a long option, it is taken
+as a short option with a following parameter, if applicable. An equals
+sign between the option name and the parameter is optional for both
+short and long options.
+.SS Data options
+The
+\fB\-\-file\fR option conflicts with all the other data options. The
+\fB\-\-helo\fR and \fB\-\-rcpt\-to\fR are optional.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfilename\fR
+Read SPF data from \fIfilename\fR. Specify \(lq-\(rq to read from standard input.
+.sp
+The file should consist of one line per query, each query line consisting of the IP address, sender adress, and optional HELO string, separated by spaces.
+.sp
+\fBNote\fP
+Local parts containing spaces are currently not supported.
+.TP
+\fB\-i\fP, \fB\-\-ip\fP \fIip-address\fP
+Specify the IP address of the remote host that is delivering the mail.
+.TP
+\fB\-s\fP, \fB\-\-sender\fP [\fIlocal-part\fP\fB@\fP]\fIdomain\fP
+Specify the email address that was used as the envelope sender. If no
+username (local part) is given, \(lqpostmaster\(rq will be assumed.
+.TP
+\fB\-h\fP, \fB\-\-helo\fP \fIdomain-name\fP
+Specify that \fIdomain-name\fP was provided in the SMTP HELO (or EHLO) command.
+.TP
+\fB\-r\fP, \fB\-\-rcpt-to\fP \fIrcpt-address\fP[,\fIrcpt-address\fP,...]
+Specify the recipients as comma-separated list. Any secondary mail exchangers of all
+recipient domains are automatically authorized.
+.
+.SS Control options
+.TP
+\fB\-d\fP, \fB\-\-debug\fP[\fB=\fP\fIlevel\fP]
+Turn on debugging output.
+.TP
+\fB\-l\fP, \fB\-\-local\fP \fIspf\-terms\fP
+Test against \fIspf\-terms\fR before the final (implicit or explicit)
+\(lqall\(rq in an SPF record. This can be used to implement a local policy for whitelisting.
+.TP
+\fB\-t, \fB\-\-trusted\fR [\fB1\fR]
+Check the sender domain with trusted\-forwarder.org.
+\fBThis is a non\-standard feature.\fR
+.TP
+\fB\-t\fP \fB0\fP, \fB\-\-trusted\fR \fB0\fP
+Do not check the sender domain with trusted\-forwarder.org. This is the default.
+.TP
+\fB\-g\fP, \fB\-\-guess\fP \fIspf-mechanisms\fP
+Test the sender domain against \fIspf\-mechanisms\fP if the domain has no SPF record.
+.TP
+\fB\-e\fP, \fB\-\-default\-explanation\fP \fIstring\fP
+Default explanation string to use if the SPF record does not specify an expla\%nation string itself.
+.TP
+\fB\-m\fP, \fB\-\-max\-lookup\fP \fInumber\fP
+Maximum number of DNS lookups to allow.
+.TP
+\fB\-c\fP, \fB\-\-sanitize\fP [\fB0\fP|\fB1\fP]
+Do [not] sanitize the output by condensing conse\%cutive white\%space
+into a single space and replacing non-printable characters with
+question marks. Enabled by default.
+.TP
+\fB\-n\fP, \fB\-\-name\fP \fIhostname\fP
+Use
+\fIhostname\fP
+as the name of the local system instead of
+\(lqspfquery\(rq
+(the name is used in the output).
+.TP
+\fB\-k\fP, \fB\-\-keep\-comments\fP
+Print comments found when reading from a file.
+.TP
+\fB\-a\fP, \fB\-\-override\fP \fI...\fP
+.TP
+\fB\-z\fP, \fB\-\-fallback\fP \fI...\fP
+Provide override and fallback SPF records for certain domains.
+\fBNot implemented yet.\fP
+\fBspfquery\fP
+would act as if the speci\%fied records were present before and after any existing record, respectively, of those domains.
+.TP
+\fB\-\-help\fP
+Show summary of options.
+.TP
+\fB\-v\fP, \fB\-\-version\fP
+Show version of program.
+.SH DIAGNOSTICS
+The output ordinarily consists of four lines:
+.IP 1. 4
+the \fIresult code\fP;
+.IP 2. 4
+the \fIexplanation\fP, suitable for use in an SMTP response message, empty
+except when a rejection (permanent or temporary) makes sense;
+.IP 3. 4
+the header comment on its own;
+.IP 4. 4
+the Received\-SPF header field as defined in RFC 4408 section 7,
+incorporating the header comment.
+.PP
+If errors (including no SPF record found!) occur during processing,
+one or more error blocks will be prepended.
+These start with \(lqStartError\(lq and end with \(lqEndError\(lq.
+.PP
+The result codes and their corresponding exit codes are as follows:
+.TP
+.B 1 \(en neutral
+The sender domain explicitly makes no assertion about the \fIip-address\fP.
+This result must be interpreted exactly as if no SPF record at all existed.
+.TP
+.B 2 \(en pass
+The \fIip-address\fP is authorized to send mail for the sender domain.
+.TP
+.B 3 \(en fail
+The \fIip-address\fP is \fBunauthorized\fP to send mail for the sender domain.
+.TP
+.B 4 \(en softfail
+The \fIip-address\fP is not authorized to send mail for the sender domain, but
+the sender domain cannot or does not wish to make a strong assertion that no such mail can
+ever come from it.
+.TP
+.B 5 \(en none
+No SPF record was found.
+.TP
+.BR "6 \(en error" " (temporary)"
+A transient error occurred (e.g. failure to reach a DNS server), preventing a
+result from being reached.
+.TP
+.BR "7 \(en unknown" " (permanent error)"
+One or more SPF records could not be interpreted.
+.SH EXAMPLES
+.nf
+spfquery \-ip=11.22.33.44 \-sender=user@aol.com \-helo=spammer.tld
+spfquery \-f test_data
+echo "127.0.0.1 myname@mydomain.com helohost.com" | spfquery \-f \-
+.fi
+.SH SEE ALSO
+\fBspftest\fR(1), \fBspfd\fR(8)
+.SH AUTHOR
+\fBspfquery\fP was written by Wayne Schlitt.
+.PP
+This manual page was written by Magnus Holmgren for the Debian\*[R]
+system (but may be used by others). Heavily inspired by the spfquery manpage of
+libmail\-spf\-query\-perl (\fBspfquery.mail\-spf\-query\-perl\fR(1)) by Julian Mehnle.
+Also based on the command\-line help of spfquery.
+.SH COPYRIGHT
+Copyright \(co 2007 Magnus Holmgren. Permission is granted to copy,
+distribute and/or modify this document under the terms of the two-clause BSD
+License. See /usr/share/doc/spfquery/copyright.
Index: tags/1.2.10-2/debian/changelog
===================================================================
--- tags/1.2.10-2/debian/changelog (nonexistent)
+++ tags/1.2.10-2/debian/changelog (revision 108)
@@ -0,0 +1,290 @@
+libspf2 (1.2.10-2) unstable; urgency=low
+
+ * Convert debian/copyright to machine-readable format and update
+ copyright info including details on files in src/libreplace.
+ * debian/spfquery.libspf2.1: Change license to 2-clause BSD, as was
+ intended from the beginning.
+
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 12 Aug 2013 12:07:40 +0200
+
+libspf2 (1.2.10-1) unstable; urgency=low
+
+ * New upstream release.
+ * Drop ipv6-bugs.patch and private-glibc-functions.patch; incorporated
+ upstream.
+ * Hide additional internal symbols from the dynamic table.
+ * Build and include the Perl XS module.
+ * Bump Standards-Version to 3.9.4.
+
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 13 Jun 2013 23:58:12 +0200
+
+libspf2 (1.2.9-7) unstable; urgency=high
+
+ * Add postinst scripts that replace old documentation directories (from
+ before 1.2.9-5) in libspf2-dev, libspf2-2-dbg and spfquery with
+ symlinks (Closes: #687862, #687863, #687864). Thanks to Salvatore
+ Bonaccorso <carnil@debian.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 23 Sep 2012 21:25:43 +0200
+
+libspf2 (1.2.9-6) unstable; urgency=low
+
+ * Rename ipv6-buffer-miscalculation.patch ipv6-bugs.patch. Include
+ the following small IPv6-related patches from FreeBSD:
+ * patch-src_libspf2_spf__compile.c
+ * patch-src_libspf2_spf__interpret.c
+ Already included was patch-src_libspf2_spf__expand.c.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 22 Jan 2012 22:45:04 +0100
+
+libspf2 (1.2.9-5) unstable; urgency=low
+
+ * Convert package to source format 3.0 (quilt).
+ * Include text of BSD license in debian/copyright, as is now preferred.
+ * Switch from CDBS to classic Debhelper, getting build flags from
+ dpkg-buildflags "by hand".
+ * Increase Debhelper compat level to 7.
+ * Put docs in libspf2-2 and replace the other packages' doc directories
+ with symlinks to that one.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 11 Nov 2011 22:13:50 +0100
+
+libspf2 (1.2.9-4) unstable; urgency=low
+
+ * Drop obsolete README.Debian-source; move non-obsolete info to
+ libspf2-dev.README.Debian.
+ * debian/libspf2.ver: Explicitly unhide certain special symbols that
+ became hidden on the mips and mipsel architectures but nowhere else,
+ causing a FTBFS.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 03 Oct 2009 21:29:19 +0200
+
+libspf2 (1.2.9-3) unstable; urgency=high
+
+ * ipv6_buffer_miscalculation.dpatch: Fix an abort() caused by
+ miscalculating the size of an internal buffer when mail is received
+ over IPv6. Thanks to Matthias Scheler <tron@netbsd.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 13 Sep 2009 20:23:22 +0200
+
+libspf2 (1.2.9-2) unstable; urgency=low
+
+ * debian/rules: Correct version.
+ * 01_private_glib_functions.dpatch: Avoid linking private glibc
+ functions.
+ * Simplify debian/*.install and exclude the libtool .la file from the
+ -dev package. Set DEB_DH_INSTALL_SOURCEDIR accordingly.
+ * Add ${misc:Depends} to Depends.
+ * Add debug package.
+ * Use ld version script to hide internal symbols.
+ * Bump Standards-Version to 3.8.3.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 25 Aug 2009 00:15:01 +0200
+
+libspf2 (1.2.9-1) unstable; urgency=high
+
+ * New upstream release.
+ - Drops non-dfsg Free IETF internet draft, so tarball no longer needs
+ repacking
+ + Fixes exploitable buffer overflow (LP: #287534)
+ + Multiple fixes for improved RFC 4408 compliance
+ + Update libspf2-2.symbols for new symbol
+ + 20_spf_dns_include_std_headers.dpatch: Updated.
+ * Thanks to Scott Kitterman.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 04 Nov 2008 21:14:31 +0100
+
+libspf2 (1.2.8~dfsg-1) unstable; urgency=low
+
+ * Merge changes from Ubuntu.
+ * Fix and tweak library dependency information (shlibs as well as
+ symbols).
+ * Upgrade to Standards-Version: 3.8.0. Changes needed:
+ + Add debian/README.source (ยง 4.9).
+ * Bring debian/copyright a bit more up-to-date.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 02 Nov 2008 12:29:51 +0100
+
+libspf2 (1.2.8~dfsg-0ubuntu1) intrepid; urgency=low
+
+ * New upstream release (LP: #283920)
+ - Fixes multiple memory leaks
+ - CVE2008-2469 buffer overflows
+ - Adds new documentation
+ - Drop all patches except 20_spf_dns_include_std_headers.dpatch (included
+ upstream)
+ - Freshen 20_spf_dns_include_std_headers.dpatch
+ - Update debian/rules for new release
+ * Repack tarball to remove non-DFSG Free IETF draft
+ * Added debian/libspf2-2.symbols and updated for new version
+ * Drop README.Debian since it no longer applies.
+
+ -- Scott Kitterman <scott@kitterman.com> Sun, 19 Oct 2008 01:00:13 -0400
+
+libspf2 (1.2.5.dfsg-5) unstable; urgency=low
+
+ * 43_new_explanation_url.dpatch: Bring default explanation up to date by
+ referring to www.openspf.org instead of spf.pobox.com.
+ * Add spfquery(1) manpage.
+ * Fix format of copyright notice in debian/copyright.
+ * Move upstream homepage URL to the new Homepage control field, rename
+ VCS control fields, and update Standards-Version.
+ * A few cosmetic adjustments including fixing the indentation of the
+ 1.2.5.dfsg-3 entry below (Closes: #465466).
+ * New maintainer email address.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 18 Apr 2008 17:51:28 +0200
+
+libspf2 (1.2.5.dfsg-4) unstable; urgency=low
+
+ * Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
+ (Closes: #440147). Thanks to Matthias Cramer.
+ * 35_untabify_help.dpatch: Make --help output of utilities less ugly by
+ converting tabs to spaces.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
+
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: tags/1.2.10-2/debian/copyright
===================================================================
--- tags/1.2.10-2/debian/copyright (nonexistent)
+++ tags/1.2.10-2/debian/copyright (revision 108)
@@ -0,0 +1,137 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Source: http://www.libspf2.org/
+Upstream-Contact: Shevek <libspf2@anarres.org>
+License: LGPL-2.1+ or BSD-2-clause
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+ .
+ a) The GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1, or (at your option) any
+ later version,
+ .
+ OR
+ .
+ b) The two-clause BSD license.
+
+Files: *
+Copyright: ยฉ 2004-2005 Wayne Schlitt and Shevek, ยฉ 2008 Shevek.
+ - Current maintainer: Shevek <libspf2@anarres.org>
+ - Contributors: Magnus Holmgren, Julian Mehnle, Scott Kitterman,
+ Dan Kaminsky, Ben Chelf, Hannah Schroeter, Manish Raje
+ - Original author, 1.0 series: Wayne Schlitt <wayne@schlitt.net>
+License: LGPL-2.1+ or BSD-2-clause
+
+Files: src/spf_example/spf_example.c
+Copyright: Written by Wayne Schlitt and released into the public domain.
+License: public-domain
+ "This program is in the public domain, there is no copyright, you can
+ do anything you want with it."
+
+Files: src/libreplace/__ns_name_uncompress.c src/libreplace/__ns_initparse.c
+Copyright: ยฉ 1996, 1999 Internet Software Consortium
+License: ISC
+ Permission to use, copy, modify, and distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
+ ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
+ CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ SOFTWARE.
+
+Files: src/libreplace/arpa_nameser.h
+Copyright: ยฉ 1983, 1989, 1993 The Regents of the University of California
+License: BSD-4-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+ 4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+Files: src/libreplace/getopt.h src/libreplace/getopt_long_only.c
+Copyright: ยฉ 1987,88,89,90,91,92,93,94,96,97 Free Software Foundation, Inc
+License: LGPL-2+
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License 2.0 can be found in the file `/usr/share/common-licenses/LGPL-2'.
+
+Files: perl/*
+Copyright: ยฉ 2008 Shevek <cpan@anarres.org>
+License: GPL-1+ or Artistic-1
+ This program is free software; you can redistribute it and/or modify
+ it under the same terms as Perl itself.
+
+Files: debian/*
+Copyright: ยฉ 2004-2006 Eric Dorland, ยฉ 2007-2013 Magnus Holmgren
+License: LGPL-2.1+ or BSD-2-clause
+Comment: The parts of the Debian packaging that is eligible for
+ copyright is ยฉ 2004-2006 Eric Dorland, 2007-2013 Magnus Holmgren and
+ assumed to be licensed under the same licenses as above.
+
+Files: debian/spfquery.libspf2.1
+Copyright: ยฉ 2007 Magnus Holmgren
+License: BSD-2-clause
+ (Giving the LGPL as an alternative is quite redundant as the BSD
+ license is so permissive that it allows redistribution under the LGPL
+ or most other licenses anyway).
+
+License: LGPL-2.1+
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License 2.1 can be found in the file
+ `/usr/share/common-licenses/LGPL-2.1'.
+
+License: BSD-2-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ .
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: GPL-1+
+ On Debian systems, the complete text of the GNU General Public
+ License 1.0 can be found in the file
+ `/usr/share/common-licenses/GPL-1'.
+
+License: Artistic-1
+ On Debian systems, the complete text of the "Artistic License" can be
+ found in the file `/usr/share/common-licenses/Artistic'.
Index: tags/1.2.10-2/debian/control
===================================================================
--- tags/1.2.10-2/debian/control (nonexistent)
+++ tags/1.2.10-2/debian/control (revision 108)
@@ -0,0 +1,79 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <holmgren@debian.org>
+Build-Depends: dpkg-dev (>= 1.15.7), debhelper (>= 7), autotools-dev,
+ perl, libstring-escape-perl
+Standards-Version: 3.9.4
+Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+Vcs-Browser: http://svn.kibibyte.se/libspf2
+Homepage: http://www.libspf2.org/
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}), ${misc:Depends}
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}) | spfquery (= ${binary:Version}),
+ ${misc:Depends}
+Description: library for validating mail senders with SPF (debugging symbols)
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair.
+ .
+ This package contains the debugging symbols.
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
+
+Package: libmail-spf-xs-perl
+Section: perl
+Priority: extra
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, libstring-escape-perl
+Description: library for validating mail senders with SPF - Perl bindings
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+ .
+ This package provides an XS module for using libspf from Perl programs.
Index: tags/1.2.10-2/debian/rules
===================================================================
--- tags/1.2.10-2/debian/rules (nonexistent)
+++ tags/1.2.10-2/debian/rules (revision 108)
@@ -0,0 +1,88 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+LIB_PACKAGE = libspf2-2
+
+DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE)
+else
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
+endif
+
+CFLAGS := $(shell dpkg-buildflags --get CFLAGS)
+CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
+LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)
+perlld := $(shell perl -MConfig -e 'print $$Config{ld}')
+
+DEB_LDFLAGS_MAINT_APPEND = -Wl,--version-script=$(CURDIR)/debian/libspf2.ver
+buildflags += $(shell DEB_LDFLAGS_MAINT_APPEND="$(DEB_LDFLAGS_MAINT_APPEND)" \
+ dpkg-buildflags --export=configure)
+
+config.status: configure
+ dh_testdir
+ # Add here commands to configure the package.
+ dh_autotools-dev_updateconfig
+ ./configure --prefix=/usr $(buildflags)
+
+build: build-arch
+build-indep:
+build-arch: build-arch-stamp
+build-arch-stamp: config.status
+ dh_testdir
+
+ $(MAKE)
+ cd perl && perl Makefile.PL INSTALLDIRS=vendor \
+ OPTIMIZE="$(CPPFLAGS) $(CFLAGS)" LD="$(perlld) $(CFLAGS) $(LDFLAGS)"
+ $(MAKE) -C perl LD_RUN_PATH=
+
+ touch "$@"
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-arch-stamp
+
+ [ ! -f Makefile ] || $(MAKE) distclean
+ [ ! -f perl/Makefile ] || $(MAKE) -C perl realclean
+
+ dh_autotools-dev_restoreconfig
+ dh_clean
+
+install: build-arch
+ dh_testdir
+ dh_testroot
+ dh_prep
+
+ $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
+ $(MAKE) -C perl install DESTDIR=$(CURDIR)/debian/tmp
+
+binary-arch: install
+ dh_testdir
+ dh_testroot
+ dh_install -a
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+ dh_installdocs -a --link-doc=$(LIB_PACKAGE)
+ dh_installchangelogs -a
+ dh_installman -a
+ dh_strip -a --dbg-package=$(LIB_PACKAGE)-dbg
+ dh_perl -a
+ dh_compress -a
+ dh_fixperms -a
+ dh_makeshlibs -V '$(LIB_PACKAGE) (>= 1.2.8~)'
+ dh_installdeb -a
+ dh_shlibdeps -a
+ dh_gencontrol -a
+ dh_md5sums -a
+ dh_builddeb -a
+
+binary: binary-arch
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.9.tar.gz
+
+.PHONY: build build-indep build-arch clean clean-patched binary-indep binary-arch binary install get-orig-source
/tags/1.2.10-2/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.10-2/debian/libspf2-2.symbols
===================================================================
--- tags/1.2.10-2/debian/libspf2-2.symbols (nonexistent)
+++ tags/1.2.10-2/debian/libspf2-2.symbols (revision 108)
@@ -0,0 +1,113 @@
+libspf2.so.2 libspf2-2 #MINVER#
+ SPF_debug_handler@Base 0
+ SPF_debug_stdio@Base 0
+ SPF_debug_syslog@Base 0
+ SPF_debugv@Base 0
+ SPF_debugx2@Base 0
+ SPF_debugx@Base 0
+ SPF_dns_cache_new@Base 0
+ SPF_dns_cache_set_ttl@Base 0
+ SPF_dns_free@Base 0
+ SPF_dns_get_client_dom@Base 0
+ SPF_dns_lookup@Base 0
+ SPF_dns_null_new@Base 0
+ SPF_dns_resolv_new@Base 0
+ SPF_dns_rlookup6@Base 0
+ SPF_dns_rlookup@Base 0
+ SPF_dns_rr_buf_realloc@Base 0
+ SPF_dns_rr_dup@Base 0
+ SPF_dns_rr_free@Base 0
+ SPF_dns_rr_new@Base 0
+ SPF_dns_rr_new_init@Base 0
+ SPF_dns_rr_new_nxdomain@Base 0
+ SPF_dns_set_conserve_cache@Base 0
+ SPF_dns_test_new@Base 0
+ SPF_dns_zone_add_str@Base 0
+ SPF_dns_zone_new@Base 0
+ SPF_error_code@Base 0
+ SPF_error_errorp@Base 0
+ SPF_error_handler@Base 0
+ SPF_error_message@Base 0
+ SPF_error_stdio@Base 0
+ SPF_error_syslog@Base 0
+ SPF_errorv@Base 0
+ SPF_errorx2@Base 0
+ SPF_errorx@Base 0
+ SPF_get_lib_version@Base 0
+ SPF_i_done@Base 0
+ SPF_info_handler@Base 0
+ SPF_info_stdio@Base 0
+ SPF_info_syslog@Base 0
+ SPF_infov@Base 0
+ SPF_infox2@Base 0
+ SPF_infox@Base 0
+ SPF_macro_free@Base 0
+ SPF_record_compile@Base 0
+ SPF_record_compile_macro@Base 0
+ SPF_record_expand_data@Base 0
+ SPF_record_find_mod_value@Base 0
+ SPF_record_free@Base 0
+ SPF_record_interpret@Base 0
+ SPF_record_new@Base 0
+ SPF_record_print@Base 0
+ SPF_record_stringify@Base 0
+ SPF_request_free@Base 0
+ SPF_request_get_client_dom@Base 0
+ SPF_request_get_exp@Base 0
+ SPF_request_get_rec_dom@Base 0
+ SPF_request_is_loopback@Base 0
+ SPF_request_new@Base 0
+ SPF_request_query_fallback@Base 0
+ SPF_request_query_mailfrom@Base 0
+ SPF_request_query_rcptto@Base 0
+ SPF_request_set_env_from@Base 0
+ SPF_request_set_helo_dom@Base 0
+ SPF_request_set_ipv4@Base 0
+ SPF_request_set_ipv4_str@Base 0
+ SPF_request_set_ipv6@Base 0
+ SPF_request_set_ipv6_str@Base 0
+ SPF_response_add_error@Base 0
+ SPF_response_add_error_idx@Base 0
+ SPF_response_add_error_ptr@Base 0
+ SPF_response_add_warn@Base 0
+ SPF_response_add_warn_idx@Base 0
+ SPF_response_add_warn_ptr@Base 0
+ SPF_response_combine@Base 0
+ SPF_response_errcode@Base 0
+ SPF_response_errors@Base 0
+ SPF_response_free@Base 0
+ SPF_response_get_explanation@Base 0
+ SPF_response_get_header_comment@Base 0
+ SPF_response_get_received_spf@Base 0
+ SPF_response_get_received_spf_value@Base 0
+ SPF_response_get_smtp_comment@Base 0
+ SPF_response_message@Base 0
+ SPF_response_messages@Base 0
+ SPF_response_new@Base 0
+ SPF_response_reason@Base 0
+ SPF_response_result@Base 0
+ SPF_response_warnings@Base 0
+ SPF_server_free@Base 0
+ SPF_server_get_max_dns_mech@Base 0
+ SPF_server_get_max_dns_mx@Base 0
+ SPF_server_get_max_dns_ptr@Base 0
+ SPF_server_get_record@Base 0
+ SPF_server_new@Base 0
+ SPF_server_new_dns@Base 1.2.8~
+ SPF_server_set_explanation@Base 0
+ SPF_server_set_localpolicy@Base 0
+ SPF_server_set_max_dns_mech@Base 0
+ SPF_server_set_max_dns_mx@Base 0
+ SPF_server_set_max_dns_ptr@Base 0
+ SPF_server_set_rec_dom@Base 0
+ SPF_server_set_sanitize@Base 0
+ SPF_strerror@Base 0
+ SPF_strreason@Base 0
+ SPF_strresult@Base 0
+ SPF_strrrtype@Base 1.2.8~
+ SPF_warning_handler@Base 0
+ SPF_warning_stdio@Base 0
+ SPF_warning_syslog@Base 0
+ SPF_warningv@Base 0
+ SPF_warningx2@Base 0
+ SPF_warningx@Base 0
Index: tags/1.2.10-2/debian/libspf2.ver
===================================================================
--- tags/1.2.10-2/debian/libspf2.ver (nonexistent)
+++ tags/1.2.10-2/debian/libspf2.ver (revision 108)
@@ -0,0 +1,16 @@
+{
+global:
+ SPF_*;
+ main;
+ __libc_csu_*;
+ _init;
+ _fini;
+ _IO_stdin_used;
+ _DYNAMIC_LINKING;
+ __RLD_MAP;
+local:
+ SPF_recalloc;
+ SPF_sanitize;
+ SPF_print_sizeof;
+ *;
+};
Index: tags/1.2.10-2/debian/libmail-spf-xs-perl.install
===================================================================
--- tags/1.2.10-2/debian/libmail-spf-xs-perl.install (nonexistent)
+++ tags/1.2.10-2/debian/libmail-spf-xs-perl.install (revision 108)
@@ -0,0 +1,2 @@
+usr/lib/perl5
+usr/share/man/man3/*.3pm
Index: tags/1.2.10-2/debian/patches/series
===================================================================
--- tags/1.2.10-2/debian/patches/series (nonexistent)
+++ tags/1.2.10-2/debian/patches/series (revision 108)
@@ -0,0 +1 @@
+spf_dns-include-std-headers.patch
Index: tags/1.2.10-2/debian/patches/spf_dns-include-std-headers.patch
===================================================================
--- tags/1.2.10-2/debian/patches/spf_dns-include-std-headers.patch (nonexistent)
+++ tags/1.2.10-2/debian/patches/spf_dns-include-std-headers.patch (revision 108)
@@ -0,0 +1,62 @@
+Author: Magnus Holmgren <holmgren@debian.org>
+Description: Include arpa/nameser.h and netdb.h from spf_dns.h
+ instead of defining the constants needed unless certain HAVE_ macros are defined.
+ Updated for libspf2 1.2.8/9 by Scott Kitterman <scott@kitterman.com>
+
+--- libspf2-1.2.9~/src/include/spf_dns.h 2008-10-27 12:27:14.000000000 -0400
++++ libspf2-1.2.9/src/include/spf_dns.h 2008-11-04 10:10:58.000000000 -0500
+@@ -63,48 +63,19 @@
+ *
+ */
+
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
++ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+ /*
+- * For those who don't have <arpa/nameserv.h>
++ * Type 99 decl does not exist in Debian libc6 (not even 2.7)
+ */
+-
+-/* XXX This should use a more sensible define. */
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /**< Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+ #if ! HAVE_DECL_NS_T_SPF
+ #define ns_t_spf 99
+ #endif
+
+-#if ! HAVE_DECL_NS_T_INVALID
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /**< NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /**< SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /**< invalid/unimplmeneted query */
+-#define NO_DATA 4 /**< host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/tags/1.2.10-2/debian/patches/spf_dns-include-std-headers.patch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.10-2/debian/spfquery.postinst
===================================================================
--- tags/1.2.10-2/debian/spfquery.postinst (nonexistent)
+++ tags/1.2.10-2/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,25 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25 \
+ --slave /usr/share/man/man1/spfquery.1.gz spfquery.1.gz /usr/share/man/man1/spfquery.$source_package.1.gz
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/spfquery"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
Index: tags/1.2.10-2/debian/libspf2-2-dbg.postinst
===================================================================
--- tags/1.2.10-2/debian/libspf2-2-dbg.postinst (nonexistent)
+++ tags/1.2.10-2/debian/libspf2-2-dbg.postinst (revision 108)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/libspf2-2-dbg"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Index: tags/1.2.10-2/debian/libspf2-dev.postinst
===================================================================
--- tags/1.2.10-2/debian/libspf2-dev.postinst (nonexistent)
+++ tags/1.2.10-2/debian/libspf2-dev.postinst (revision 108)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/libspf2-dev"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Index: tags/1.2.10-2/debian/compat
===================================================================
--- tags/1.2.10-2/debian/compat (nonexistent)
+++ tags/1.2.10-2/debian/compat (revision 108)
@@ -0,0 +1 @@
+7
Index: tags/1.2.10-2/debian/docs
===================================================================
--- tags/1.2.10-2/debian/docs (nonexistent)
+++ tags/1.2.10-2/debian/docs (revision 108)
@@ -0,0 +1,2 @@
+README
+TODO
Index: tags/1.2.10-2/debian/README.Debian
===================================================================
--- tags/1.2.10-2/debian/README.Debian (nonexistent)
+++ tags/1.2.10-2/debian/README.Debian (revision 108)
@@ -0,0 +1,11 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+ -- Magnus Holmgren <holmgren@debian.org>, Mon, 14 Sep 2009 22:33:12 +0200
Index: tags/1.2.10-2/debian/source/format
===================================================================
--- tags/1.2.10-2/debian/source/format (nonexistent)
+++ tags/1.2.10-2/debian/source/format (revision 108)
@@ -0,0 +1 @@
+3.0 (quilt)
Index: tags/1.2.10-2/debian/libspf2-dev.install
===================================================================
--- tags/1.2.10-2/debian/libspf2-dev.install (nonexistent)
+++ tags/1.2.10-2/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,3 @@
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.so
Index: tags/1.2.10-2/debian/spfquery.install
===================================================================
--- tags/1.2.10-2/debian/spfquery.install (nonexistent)
+++ tags/1.2.10-2/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+usr/bin/spfquery
+usr/bin/spftest
+usr/bin/spf_example
+usr/bin/spfd usr/sbin
Index: tags/1.2.10-2/debian/libspf2-2.install
===================================================================
--- tags/1.2.10-2/debian/libspf2-2.install (nonexistent)
+++ tags/1.2.10-2/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+usr/lib/lib*.so.*
Index: tags/1.2.10-2/debian/spfquery.manpages
===================================================================
--- tags/1.2.10-2/debian/spfquery.manpages (nonexistent)
+++ tags/1.2.10-2/debian/spfquery.manpages (revision 108)
@@ -0,0 +1 @@
+debian/spfquery.libspf2.1
Index: tags/1.2.10-2/debian/watch
===================================================================
--- tags/1.2.10-2/debian/watch (nonexistent)
+++ tags/1.2.10-2/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: tags/1.2.10-2/debian/spfquery.prerm
===================================================================
--- tags/1.2.10-2/debian/spfquery.prerm (nonexistent)
+++ tags/1.2.10-2/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.10-2/debian
===================================================================
--- tags/1.2.10-2/debian (nonexistent)
+++ tags/1.2.10-2/debian (revision 108)
/tags/1.2.10-2/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: tags/1.2.9-7/debian/spfquery.postinst
===================================================================
--- tags/1.2.9-7/debian/spfquery.postinst (nonexistent)
+++ tags/1.2.9-7/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,25 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25 \
+ --slave /usr/share/man/man1/spfquery.1.gz spfquery.1.gz /usr/share/man/man1/spfquery.$source_package.1.gz
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/spfquery"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
Index: tags/1.2.9-7/debian/libspf2-2-dbg.postinst
===================================================================
--- tags/1.2.9-7/debian/libspf2-2-dbg.postinst (nonexistent)
+++ tags/1.2.9-7/debian/libspf2-2-dbg.postinst (revision 108)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/libspf2-2-dbg"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Index: tags/1.2.9-7/debian/changelog
===================================================================
--- tags/1.2.9-7/debian/changelog (nonexistent)
+++ tags/1.2.9-7/debian/changelog (revision 108)
@@ -0,0 +1,270 @@
+libspf2 (1.2.9-7) unstable; urgency=high
+
+ * Add postinst scripts that replace old documentation directories (from
+ before 1.2.9-5) in libspf2-dev, libspf2-2-dbg and spfquery with
+ symlinks (Closes: #687862, #687863, #687864). Thanks to Salvatore
+ Bonaccorso <carnil@debian.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 23 Sep 2012 21:25:43 +0200
+
+libspf2 (1.2.9-6) unstable; urgency=low
+
+ * Rename ipv6-buffer-miscalculation.patch ipv6-bugs.patch. Include
+ the following small IPv6-related patches from FreeBSD:
+ * patch-src_libspf2_spf__compile.c
+ * patch-src_libspf2_spf__interpret.c
+ Already included was patch-src_libspf2_spf__expand.c.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 22 Jan 2012 22:45:04 +0100
+
+libspf2 (1.2.9-5) unstable; urgency=low
+
+ * Convert package to source format 3.0 (quilt).
+ * Include text of BSD license in debian/copyright, as is now preferred.
+ * Switch from CDBS to classic Debhelper, getting build flags from
+ dpkg-buildflags "by hand".
+ * Increase Debhelper compat level to 7.
+ * Put docs in libspf2-2 and replace the other packages' doc directories
+ with symlinks to that one.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 11 Nov 2011 22:13:50 +0100
+
+libspf2 (1.2.9-4) unstable; urgency=low
+
+ * Drop obsolete README.Debian-source; move non-obsolete info to
+ libspf2-dev.README.Debian.
+ * debian/libspf2.ver: Explicitly unhide certain special symbols that
+ became hidden on the mips and mipsel architectures but nowhere else,
+ causing a FTBFS.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 03 Oct 2009 21:29:19 +0200
+
+libspf2 (1.2.9-3) unstable; urgency=high
+
+ * ipv6_buffer_miscalculation.dpatch: Fix an abort() caused by
+ miscalculating the size of an internal buffer when mail is received
+ over IPv6. Thanks to Matthias Scheler <tron@netbsd.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 13 Sep 2009 20:23:22 +0200
+
+libspf2 (1.2.9-2) unstable; urgency=low
+
+ * debian/rules: Correct version.
+ * 01_private_glib_functions.dpatch: Avoid linking private glibc
+ functions.
+ * Simplify debian/*.install and exclude the libtool .la file from the
+ -dev package. Set DEB_DH_INSTALL_SOURCEDIR accordingly.
+ * Add ${misc:Depends} to Depends.
+ * Add debug package.
+ * Use ld version script to hide internal symbols.
+ * Bump Standards-Version to 3.8.3.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 25 Aug 2009 00:15:01 +0200
+
+libspf2 (1.2.9-1) unstable; urgency=high
+
+ * New upstream release.
+ - Drops non-dfsg Free IETF internet draft, so tarball no longer needs
+ repacking
+ + Fixes exploitable buffer overflow (LP: #287534)
+ + Multiple fixes for improved RFC 4408 compliance
+ + Update libspf2-2.symbols for new symbol
+ + 20_spf_dns_include_std_headers.dpatch: Updated.
+ * Thanks to Scott Kitterman.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 04 Nov 2008 21:14:31 +0100
+
+libspf2 (1.2.8~dfsg-1) unstable; urgency=low
+
+ * Merge changes from Ubuntu.
+ * Fix and tweak library dependency information (shlibs as well as
+ symbols).
+ * Upgrade to Standards-Version: 3.8.0. Changes needed:
+ + Add debian/README.source (ยง 4.9).
+ * Bring debian/copyright a bit more up-to-date.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 02 Nov 2008 12:29:51 +0100
+
+libspf2 (1.2.8~dfsg-0ubuntu1) intrepid; urgency=low
+
+ * New upstream release (LP: #283920)
+ - Fixes multiple memory leaks
+ - CVE2008-2469 buffer overflows
+ - Adds new documentation
+ - Drop all patches except 20_spf_dns_include_std_headers.dpatch (included
+ upstream)
+ - Freshen 20_spf_dns_include_std_headers.dpatch
+ - Update debian/rules for new release
+ * Repack tarball to remove non-DFSG Free IETF draft
+ * Added debian/libspf2-2.symbols and updated for new version
+ * Drop README.Debian since it no longer applies.
+
+ -- Scott Kitterman <scott@kitterman.com> Sun, 19 Oct 2008 01:00:13 -0400
+
+libspf2 (1.2.5.dfsg-5) unstable; urgency=low
+
+ * 43_new_explanation_url.dpatch: Bring default explanation up to date by
+ referring to www.openspf.org instead of spf.pobox.com.
+ * Add spfquery(1) manpage.
+ * Fix format of copyright notice in debian/copyright.
+ * Move upstream homepage URL to the new Homepage control field, rename
+ VCS control fields, and update Standards-Version.
+ * A few cosmetic adjustments including fixing the indentation of the
+ 1.2.5.dfsg-3 entry below (Closes: #465466).
+ * New maintainer email address.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 18 Apr 2008 17:51:28 +0200
+
+libspf2 (1.2.5.dfsg-4) unstable; urgency=low
+
+ * Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
+ (Closes: #440147). Thanks to Matthias Cramer.
+ * 35_untabify_help.dpatch: Make --help output of utilities less ugly by
+ converting tabs to spaces.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
+
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: tags/1.2.9-7/debian/libspf2-dev.postinst
===================================================================
--- tags/1.2.9-7/debian/libspf2-dev.postinst (nonexistent)
+++ tags/1.2.9-7/debian/libspf2-dev.postinst (revision 108)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+# Replace documentation directory with symlink
+docdir="/usr/share/doc/libspf2-dev"
+if [ -d $docdir ] && [ ! -L $docdir ]; then
+ if rmdir $docdir 2>/dev/null; then
+ ln -sf libspf2-2 $docdir
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Index: tags/1.2.9-7/debian/patches/ipv6-bugs.patch
===================================================================
--- tags/1.2.9-7/debian/patches/ipv6-bugs.patch (nonexistent)
+++ tags/1.2.9-7/debian/patches/ipv6-bugs.patch (revision 108)
@@ -0,0 +1,56 @@
+Author: Matthias Scheler <tron@netbsd.org> and others
+Description: Fix various IPv6-related typos, C&P bugs etc.
+ These can crash applications using libspf2 or give the wrong result if
+ an e-mail gets delivered via SMTP over IPv6 depending on the remote
+ machine's IPv6 address.
+
+--- a/src/libspf2/spf_expand.c 2008-11-03 21:29:00.000000000 +0000
++++ b/src/libspf2/spf_expand.c 2009-09-08 11:27:52.000000000 +0100
+@@ -245,7 +245,7 @@
+ case PARM_CLIENT_IP: /* SMTP client IP */
+ #ifdef COMPUTE
+ if (compute_length) {
+- len = sizeof(ip6_buf);
++ len = sizeof(ip6_rbuf);
+ if (d->dv.url_encode)
+ len *= 3;
+ buflen += len;
+--- a/src/libspf2/spf_interpret.c 2008-10-22 11:47:43.000000000 -0400
++++ b/src/libspf2/spf_interpret.c 2009-09-08 00:42:25.000000000 -0400
+@@ -505,7 +505,7 @@
+ char dst_ip6_buf[ INET6_ADDRSTRLEN ];
+
+ struct in6_addr src_ipv6;
+- int cidr, mask;
++ int cidr, cidr_save, mask;
+ int i;
+ int match;
+
+@@ -517,6 +517,7 @@
+ cidr = SPF_i_mech_cidr(spf_request, mech);
+ if ( cidr == 0 )
+ cidr = 128;
++ cidr_save = cidr;
+
+ match = TRUE;
+ for( i = 0; i < array_elem( ipv6.s6_addr ) && match; i++ )
+@@ -538,7 +539,7 @@
+ INET_NTOP(AF_INET6, &ipv6.s6_addr,
+ dst_ip6_buf, sizeof(dst_ip6_buf));
+ SPF_debugf( "ip_match: %s == %s (/%d): %d",
+- src_ip6_buf, dst_ip6_buf, cidr, match );
++ src_ip6_buf, dst_ip6_buf, cidr_save, match );
+ }
+
+ return match;
+--- a/src/libspf2/spf_compile.c 2008-11-03 15:37:33.000000000 -0500
++++ b/src/libspf2/spf_compile.c 2009-09-07 23:46:02.000000000 -0400
+@@ -778,7 +778,7 @@
+ const char *end;
+ const char *p;
+
+- char buf[ INET_ADDRSTRLEN ];
++ char buf[ INET6_ADDRSTRLEN ];
+ size_t len;
+ int err;
+
Index: tags/1.2.9-7/debian/patches/series
===================================================================
--- tags/1.2.9-7/debian/patches/series (nonexistent)
+++ tags/1.2.9-7/debian/patches/series (revision 108)
@@ -0,0 +1,3 @@
+private-glibc-functions.patch
+spf_dns-include-std-headers.patch
+ipv6-bugs.patch
Index: tags/1.2.9-7/debian/patches/private-glibc-functions.patch
===================================================================
--- tags/1.2.9-7/debian/patches/private-glibc-functions.patch (nonexistent)
+++ tags/1.2.9-7/debian/patches/private-glibc-functions.patch (revision 108)
@@ -0,0 +1,41 @@
+Author: Magnus Holmgren <holmgren@debian.org>
+Description: Avoid linking private glibc functions (specifically __ns_get16).
+
+--- trunk~/configure.ac 2008-11-04 16:32:10.000000000 +0100
++++ trunk/configure.ac 2008-11-15 15:35:38.000000000 +0100
+@@ -272,7 +272,8 @@
+ AC_CHECK_FUNCS([gethostbyname inet_ntoa select strrchr strstr strtol])
+
+ AC_REPLACE_FUNCS([getopt_long_only strncasecmp])
+-AC_REPLACE_FUNCS([__ns_initparse __ns_name_uncompress __ns_get16 __ns_msg_getflag])
++AC_REPLACE_FUNCS([__ns_initparse __ns_name_uncompress __ns_msg_getflag])
++AC_LIBOBJ(__ns_get16)
+
+ AC_CONFIG_FILES([Makefile
+ Doxyfile
+diff -urNad trunk~/configure trunk/configure
+--- trunk~/configure 2008-11-04 16:32:56.000000000 +0100
++++ trunk/configure 2008-11-15 15:35:39.000000000 +0100
+@@ -25752,8 +25752,7 @@
+
+
+
+-
+-for ac_func in __ns_initparse __ns_name_uncompress __ns_get16 __ns_msg_getflag
++for ac_func in __ns_initparse __ns_name_uncompress __ns_msg_getflag
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ { echo "$as_me:$LINENO: checking for $ac_func" >&5
+@@ -25854,6 +25853,12 @@
+ done
+
+
++case " $LIBOBJS " in
++ *" __ns_get16.$ac_objext "* ) ;;
++ *) LIBOBJS="$LIBOBJS __ns_get16.$ac_objext"
++ ;;
++esac
++
+
+ ac_config_files="$ac_config_files Makefile Doxyfile src/Makefile src/include/Makefile src/libreplace/Makefile src/libspf2/Makefile src/spfquery/Makefile src/spftest/Makefile src/spfd/Makefile src/spf_example/Makefile"
+
/tags/1.2.9-7/debian/patches/private-glibc-functions.patch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.9-7/debian/patches/spf_dns-include-std-headers.patch
===================================================================
--- tags/1.2.9-7/debian/patches/spf_dns-include-std-headers.patch (nonexistent)
+++ tags/1.2.9-7/debian/patches/spf_dns-include-std-headers.patch (revision 108)
@@ -0,0 +1,62 @@
+Author: Magnus Holmgren <holmgren@debian.org>
+Description: Include arpa/nameser.h and netdb.h from spf_dns.h
+ instead of defining the constants needed unless certain HAVE_ macros are defined.
+ Updated for libspf2 1.2.8/9 by Scott Kitterman <scott@kitterman.com>
+
+--- libspf2-1.2.9~/src/include/spf_dns.h 2008-10-27 12:27:14.000000000 -0400
++++ libspf2-1.2.9/src/include/spf_dns.h 2008-11-04 10:10:58.000000000 -0500
+@@ -63,48 +63,19 @@
+ *
+ */
+
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
++ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+ /*
+- * For those who don't have <arpa/nameserv.h>
++ * Type 99 decl does not exist in Debian libc6 (not even 2.7)
+ */
+-
+-/* XXX This should use a more sensible define. */
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /**< Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+ #if ! HAVE_DECL_NS_T_SPF
+ #define ns_t_spf 99
+ #endif
+
+-#if ! HAVE_DECL_NS_T_INVALID
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /**< NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /**< SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /**< invalid/unimplmeneted query */
+-#define NO_DATA 4 /**< host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/tags/1.2.9-7/debian/patches/spf_dns-include-std-headers.patch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.9-7/debian/control
===================================================================
--- tags/1.2.9-7/debian/control (nonexistent)
+++ tags/1.2.9-7/debian/control (revision 108)
@@ -0,0 +1,63 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <holmgren@debian.org>
+Build-Depends: dpkg-dev (>= 1.15.7), debhelper (>= 7), autotools-dev
+Standards-Version: 3.8.3
+Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+Vcs-Browser: http://svn.kibibyte.se/libspf2
+Homepage: http://www.libspf2.org/
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}), ${misc:Depends}
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}) | spfquery (= ${binary:Version}),
+ ${misc:Depends}
+Description: library for validating mail senders with SPF (debugging symbols)
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair.
+ .
+ This package contains the debugging symbols.
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
Index: tags/1.2.9-7/debian/compat
===================================================================
--- tags/1.2.9-7/debian/compat (nonexistent)
+++ tags/1.2.9-7/debian/compat (revision 108)
@@ -0,0 +1 @@
+7
Index: tags/1.2.9-7/debian/docs
===================================================================
--- tags/1.2.9-7/debian/docs (nonexistent)
+++ tags/1.2.9-7/debian/docs (revision 108)
@@ -0,0 +1,2 @@
+README
+TODO
Index: tags/1.2.9-7/debian/rules
===================================================================
--- tags/1.2.9-7/debian/rules (nonexistent)
+++ tags/1.2.9-7/debian/rules (revision 108)
@@ -0,0 +1,77 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+LIB_PACKAGE = libspf2-2
+
+DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE)
+else
+ buildflags := --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
+endif
+
+DEB_LDFLAGS_MAINT_APPEND = -Wl,--version-script=$(CURDIR)/debian/libspf2.ver
+buildflags += $(shell DEB_LDFLAGS_MAINT_APPEND="$(DEB_LDFLAGS_MAINT_APPEND)" \
+ dpkg-buildflags --export=configure)
+
+config.status: configure
+ dh_testdir
+ # Add here commands to configure the package.
+ dh_autotools-dev_updateconfig
+ ./configure --prefix=/usr $(buildflags)
+
+build: build-arch
+build-indep:
+build-arch: build-arch-stamp
+build-arch-stamp: config.status
+ dh_testdir
+
+ $(MAKE)
+
+ touch "$@"
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-arch-stamp
+
+ [ ! -f Makefile ] || $(MAKE) distclean
+
+ dh_autotools-dev_restoreconfig
+ dh_clean
+
+install: build-arch
+ dh_testdir
+ dh_testroot
+ dh_prep
+
+ $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
+
+binary-arch: install
+ dh_testdir
+ dh_testroot
+ dh_install -a
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+ dh_installdocs -a --link-doc=$(LIB_PACKAGE)
+ dh_installchangelogs -a
+ dh_installman -a
+ dh_strip -a --dbg-package=$(LIB_PACKAGE)-dbg
+ dh_compress -a
+ dh_fixperms -a
+ dh_makeshlibs -V '$(LIB_PACKAGE) (>= 1.2.9)'
+ dh_installdeb -a
+ dh_shlibdeps -a
+ dh_gencontrol -a
+ dh_md5sums -a
+ dh_builddeb -a
+
+binary: binary-arch
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.9.tar.gz
+
+.PHONY: build build-indep build-arch clean clean-patched binary-indep binary-arch binary install get-orig-source
/tags/1.2.9-7/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.9-7/debian/README.Debian
===================================================================
--- tags/1.2.9-7/debian/README.Debian (nonexistent)
+++ tags/1.2.9-7/debian/README.Debian (revision 108)
@@ -0,0 +1,11 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+ -- Magnus Holmgren <holmgren@debian.org>, Mon, 14 Sep 2009 22:33:12 +0200
Index: tags/1.2.9-7/debian/copyright
===================================================================
--- tags/1.2.9-7/debian/copyright (nonexistent)
+++ tags/1.2.9-7/debian/copyright (revision 108)
@@ -0,0 +1,61 @@
+This package was debianized by Eric Dorland <eric@debian.org> on
+Sun, 04 Jul 2004 19:00:36 -0400
+
+The current maintainer is Magnus Holmgren <holmgren@debian.org>.
+
+It was downloaded from http://www.libspf2.org/
+
+Upstream authors:
+ - Current maintainer: Shevek <libspf2@anarres.org>
+ - Contributors: Magnus Holmgren, Julian Mehnle, Scott Kitterman,
+ Dan Kaminsky, Ben Chelf, Hannah Schroeter, Manish Raje
+ - Original author, 1.0 series: Wayne Schlitt <wayne@schlitt.net>
+
+Copyright:
+
+Software copyright ยฉ 2004-2005 Wayne Schlitt and Shevek,
+ ยฉ 2008 Shevek.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+
+ a) The GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1, or (at your option) any
+ later version,
+
+ OR
+
+ b) The two-clause BSD license.
+
+The parts of the Debian packaging that is eligible for copyright is ยฉ
+2004-2006 Eric Dorland, 2007-2008 Magnus Holmgren and assumed to be
+licensed under the same licenses as above. The spfquery(1) manpage
+is (Giving the LGPL as an alternative is quite redundant as the BSD
+license is so permissive that it allows redistribution under the LGPL
+or most other licenses anyway).
+
+On Debian systems, the complete text of the GNU Lesser General Public
+License can be found in the file `/usr/share/common-licenses/LGPL'.
+
+The two-clause BSD license reads as follows:
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Index: tags/1.2.9-7/debian/source/format
===================================================================
--- tags/1.2.9-7/debian/source/format (nonexistent)
+++ tags/1.2.9-7/debian/source/format (revision 108)
@@ -0,0 +1 @@
+3.0 (quilt)
Index: tags/1.2.9-7/debian/libspf2.ver
===================================================================
--- tags/1.2.9-7/debian/libspf2.ver (nonexistent)
+++ tags/1.2.9-7/debian/libspf2.ver (revision 108)
@@ -0,0 +1,13 @@
+{
+global:
+ SPF_*;
+ main;
+ __libc_csu_*;
+ _init;
+ _fini;
+ _IO_stdin_used;
+ _DYNAMIC_LINKING;
+ __RLD_MAP;
+local:
+ *;
+};
Index: tags/1.2.9-7/debian/libspf2-2.symbols
===================================================================
--- tags/1.2.9-7/debian/libspf2-2.symbols (nonexistent)
+++ tags/1.2.9-7/debian/libspf2-2.symbols (revision 108)
@@ -0,0 +1,116 @@
+libspf2.so.2 libspf2-2 #MINVER#
+ SPF_debug_handler@Base 0
+ SPF_debug_stdio@Base 0
+ SPF_debug_syslog@Base 0
+ SPF_debugv@Base 0
+ SPF_debugx2@Base 0
+ SPF_debugx@Base 0
+ SPF_dns_cache_new@Base 0
+ SPF_dns_cache_set_ttl@Base 0
+ SPF_dns_free@Base 0
+ SPF_dns_get_client_dom@Base 0
+ SPF_dns_lookup@Base 0
+ SPF_dns_null_new@Base 0
+ SPF_dns_resolv_new@Base 0
+ SPF_dns_rlookup6@Base 0
+ SPF_dns_rlookup@Base 0
+ SPF_dns_rr_buf_realloc@Base 0
+ SPF_dns_rr_dup@Base 0
+ SPF_dns_rr_free@Base 0
+ SPF_dns_rr_new@Base 0
+ SPF_dns_rr_new_init@Base 0
+ SPF_dns_rr_new_nxdomain@Base 0
+ SPF_dns_set_conserve_cache@Base 0
+ SPF_dns_test_new@Base 0
+ SPF_dns_zone_add_str@Base 0
+ SPF_dns_zone_new@Base 0
+ SPF_error_code@Base 0
+ SPF_error_errorp@Base 0
+ SPF_error_handler@Base 0
+ SPF_error_message@Base 0
+ SPF_error_stdio@Base 0
+ SPF_error_syslog@Base 0
+ SPF_errorv@Base 0
+ SPF_errorx2@Base 0
+ SPF_errorx@Base 0
+ SPF_get_lib_version@Base 0
+ SPF_i_done@Base 0
+ SPF_info_handler@Base 0
+ SPF_info_stdio@Base 0
+ SPF_info_syslog@Base 0
+ SPF_infov@Base 0
+ SPF_infox2@Base 0
+ SPF_infox@Base 0
+ SPF_macro_free@Base 0
+ SPF_print_sizeof@Base 0
+ SPF_realloc@Base 1.2.9
+ SPF_record_compile@Base 0
+ SPF_record_compile_macro@Base 0
+ SPF_record_expand_data@Base 0
+ SPF_record_find_mod_value@Base 0
+ SPF_record_free@Base 0
+ SPF_record_interpret@Base 0
+ SPF_record_new@Base 0
+ SPF_record_print@Base 0
+ SPF_record_stringify@Base 0
+ SPF_request_free@Base 0
+ SPF_request_get_client_dom@Base 0
+ SPF_request_get_exp@Base 0
+ SPF_request_get_rec_dom@Base 0
+ SPF_request_is_loopback@Base 0
+ SPF_request_new@Base 0
+ SPF_request_query_fallback@Base 0
+ SPF_request_query_mailfrom@Base 0
+ SPF_request_query_rcptto@Base 0
+ SPF_request_set_env_from@Base 0
+ SPF_request_set_helo_dom@Base 0
+ SPF_request_set_ipv4@Base 0
+ SPF_request_set_ipv4_str@Base 0
+ SPF_request_set_ipv6@Base 0
+ SPF_request_set_ipv6_str@Base 0
+ SPF_response_add_error@Base 0
+ SPF_response_add_error_idx@Base 0
+ SPF_response_add_error_ptr@Base 0
+ SPF_response_add_warn@Base 0
+ SPF_response_add_warn_idx@Base 0
+ SPF_response_add_warn_ptr@Base 0
+ SPF_response_combine@Base 0
+ SPF_response_errcode@Base 0
+ SPF_response_errors@Base 0
+ SPF_response_free@Base 0
+ SPF_response_get_explanation@Base 0
+ SPF_response_get_header_comment@Base 0
+ SPF_response_get_received_spf@Base 0
+ SPF_response_get_received_spf_value@Base 0
+ SPF_response_get_smtp_comment@Base 0
+ SPF_response_message@Base 0
+ SPF_response_messages@Base 0
+ SPF_response_new@Base 0
+ SPF_response_reason@Base 0
+ SPF_response_result@Base 0
+ SPF_response_warnings@Base 0
+ SPF_sanitize@Base 0
+ SPF_server_free@Base 0
+ SPF_server_get_max_dns_mech@Base 0
+ SPF_server_get_max_dns_mx@Base 0
+ SPF_server_get_max_dns_ptr@Base 0
+ SPF_server_get_record@Base 0
+ SPF_server_new@Base 0
+ SPF_server_new_dns@Base 1.2.8~
+ SPF_server_set_explanation@Base 0
+ SPF_server_set_localpolicy@Base 0
+ SPF_server_set_max_dns_mech@Base 0
+ SPF_server_set_max_dns_mx@Base 0
+ SPF_server_set_max_dns_ptr@Base 0
+ SPF_server_set_rec_dom@Base 0
+ SPF_server_set_sanitize@Base 0
+ SPF_strerror@Base 0
+ SPF_strreason@Base 0
+ SPF_strresult@Base 0
+ SPF_strrrtype@Base 1.2.8~
+ SPF_warning_handler@Base 0
+ SPF_warning_stdio@Base 0
+ SPF_warning_syslog@Base 0
+ SPF_warningv@Base 0
+ SPF_warningx2@Base 0
+ SPF_warningx@Base 0
Index: tags/1.2.9-7/debian/libspf2-dev.install
===================================================================
--- tags/1.2.9-7/debian/libspf2-dev.install (nonexistent)
+++ tags/1.2.9-7/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,3 @@
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.so
Index: tags/1.2.9-7/debian/spfquery.install
===================================================================
--- tags/1.2.9-7/debian/spfquery.install (nonexistent)
+++ tags/1.2.9-7/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+usr/bin/spfquery
+usr/bin/spftest
+usr/bin/spf_example
+usr/bin/spfd usr/sbin
Index: tags/1.2.9-7/debian/libspf2-2.install
===================================================================
--- tags/1.2.9-7/debian/libspf2-2.install (nonexistent)
+++ tags/1.2.9-7/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+usr/lib/lib*.so.*
Index: tags/1.2.9-7/debian/spfquery.manpages
===================================================================
--- tags/1.2.9-7/debian/spfquery.manpages (nonexistent)
+++ tags/1.2.9-7/debian/spfquery.manpages (revision 108)
@@ -0,0 +1 @@
+debian/spfquery.libspf2.1
Index: tags/1.2.9-7/debian/spfquery.libspf2.1
===================================================================
--- tags/1.2.9-7/debian/spfquery.libspf2.1 (nonexistent)
+++ tags/1.2.9-7/debian/spfquery.libspf2.1 (revision 108)
@@ -0,0 +1,199 @@
+.\" Title: SPFQUERY
+.\" Author: Magnus Holmgren <magnus@kibibyte.se>
+.\" Date: 2007-09-06
+.\" Manual: libspf2 manuals for Debian
+.\" Source: libspf2 1.2.5
+.\"
+.TH "SPFQUERY" "1" "2007-09-06" "libspf2 1.2.5" "libspf2 manuals for Debian"
+.\" disable hyphenation
+.nh
+.SH NAME
+spfquery, spfquery.libspf2 \- checks if an IP address is an SPF-authorized SMTP sender for a domain.
+.SH SYNOPSIS
+.ad l
+.HP 9
+.B spfquery
+.RB { \-i | \-\-ip }
+.I ip\-address
+.RB { -s | \-\-sender }
+.RI [ local-part \fB@\fP] domain
+.RB [{ \-h | \-\-helo }
+.IR domain-name ]
+.RB [ \-\-rcpt\-to
+.IR email-address(es) ]
+.RI [ CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-f | \-\-file }
+.IR datafile " [" CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-\-help | \-v | \-\-version }
+.ad b
+.SH DESCRIPTION
+This manual page documents briefly the
+\fBspfquery\fR
+command. It was written for the
+Debian\*[R] distribution because the original program does not have a manual page.
+.PP
+\fBspfquery\fR performs Sender Policy Framework (SPF) authorization
+checks based on the command-line arguments or data given in a file or
+on standard input. For information on SPF see http://www.openspf.org.
+.
+.SH OPTIONS
+Options are divided into two groups: Data options, which must be
+given, though just enough of them to specify a query; and control
+options, which are optional and control the local policy, behaviour
+and output format of spfquery.
+.PP
+This programs follows the GNU \fBgetopt_long_only\fR(3) command line
+syntax: Long options can be given with one or two dashes and can be
+abbreviated to a prefix long enough to be non-ambiguous. If an option
+starting with a single dash doesn't match a long option, it is taken
+as a short option with a following parameter, if applicable. An equals
+sign between the option name and the parameter is optional for both
+short and long options.
+.SS Data options
+The
+\fB\-\-file\fR option conflicts with all the other data options. The
+\fB\-\-helo\fR and \fB\-\-rcpt\-to\fR are optional.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfilename\fR
+Read SPF data from \fIfilename\fR. Specify \(lq-\(rq to read from standard input.
+.sp
+The file should consist of one line per query, each query line consisting of the IP address, sender adress, and optional HELO string, separated by spaces.
+.sp
+\fBNote\fP
+Local parts containing spaces are currently not supported.
+.TP
+\fB\-i\fP, \fB\-\-ip\fP \fIip-address\fP
+Specify the IP address of the remote host that is delivering the mail.
+.TP
+\fB\-s\fP, \fB\-\-sender\fP [\fIlocal-part\fP\fB@\fP]\fIdomain\fP
+Specify the email address that was used as the envelope sender. If no
+username (local part) is given, \(lqpostmaster\(rq will be assumed.
+.TP
+\fB\-h\fP, \fB\-\-helo\fP \fIdomain-name\fP
+Specify that \fIdomain-name\fP was provided in the SMTP HELO (or EHLO) command.
+.TP
+\fB\-r\fP, \fB\-\-rcpt-to\fP \fIrcpt-address\fP[,\fIrcpt-address\fP,...]
+Specify the recipients as comma-separated list. Any secondary mail exchangers of all
+recipient domains are automatically authorized.
+.
+.SS Control options
+.TP
+\fB\-d\fP, \fB\-\-debug\fP[\fB=\fP\fIlevel\fP]
+Turn on debugging output.
+.TP
+\fB\-l\fP, \fB\-\-local\fP \fIspf\-terms\fP
+Test against \fIspf\-terms\fR before the final (implicit or explicit)
+\(lqall\(rq in an SPF record. This can be used to implement a local policy for whitelisting.
+.TP
+\fB\-t, \fB\-\-trusted\fR [\fB1\fR]
+Check the sender domain with trusted\-forwarder.org.
+\fBThis is a non\-standard feature.\fR
+.TP
+\fB\-t\fP \fB0\fP, \fB\-\-trusted\fR \fB0\fP
+Do not check the sender domain with trusted\-forwarder.org. This is the default.
+.TP
+\fB\-g\fP, \fB\-\-guess\fP \fIspf-mechanisms\fP
+Test the sender domain against \fIspf\-mechanisms\fP if the domain has no SPF record.
+.TP
+\fB\-e\fP, \fB\-\-default\-explanation\fP \fIstring\fP
+Default explanation string to use if the SPF record does not specify an expla\%nation string itself.
+.TP
+\fB\-m\fP, \fB\-\-max\-lookup\fP \fInumber\fP
+Maximum number of DNS lookups to allow.
+.TP
+\fB\-c\fP, \fB\-\-sanitize\fP [\fB0\fP|\fB1\fP]
+Do [not] sanitize the output by condensing conse\%cutive white\%space
+into a single space and replacing non-printable characters with
+question marks. Enabled by default.
+.TP
+\fB\-n\fP, \fB\-\-name\fP \fIhostname\fP
+Use
+\fIhostname\fP
+as the name of the local system instead of
+\(lqspfquery\(rq
+(the name is used in the output).
+.TP
+\fB\-k\fP, \fB\-\-keep\-comments\fP
+Print comments found when reading from a file.
+.TP
+\fB\-a\fP, \fB\-\-override\fP \fI...\fP
+.TP
+\fB\-z\fP, \fB\-\-fallback\fP \fI...\fP
+Provide override and fallback SPF records for certain domains.
+\fBNot implemented yet.\fP
+\fBspfquery\fP
+would act as if the speci\%fied records were present before and after any existing record, respectively, of those domains.
+.TP
+\fB\-\-help\fP
+Show summary of options.
+.TP
+\fB\-v\fP, \fB\-\-version\fP
+Show version of program.
+.SH DIAGNOSTICS
+The output ordinarily consists of four lines:
+.IP 1. 4
+the \fIresult code\fP;
+.IP 2. 4
+the \fIexplanation\fP, suitable for use in an SMTP response message, empty
+except when a rejection (permanent or temporary) makes sense;
+.IP 3. 4
+the header comment on its own;
+.IP 4. 4
+the Received\-SPF header field as defined in RFC 4408 section 7,
+incorporating the header comment.
+.PP
+If errors (including no SPF record found!) occur during processing,
+one or more error blocks will be prepended.
+These start with \(lqStartError\(lq and end with \(lqEndError\(lq.
+.PP
+The result codes and their corresponding exit codes are as follows:
+.TP
+.B 1 \(en neutral
+The sender domain explicitly makes no assertion about the \fIip-address\fP.
+This result must be interpreted exactly as if no SPF record at all existed.
+.TP
+.B 2 \(en pass
+The \fIip-address\fP is authorized to send mail for the sender domain.
+.TP
+.B 3 \(en fail
+The \fIip-address\fP is \fBunauthorized\fP to send mail for the sender domain.
+.TP
+.B 4 \(en softfail
+The \fIip-address\fP is not authorized to send mail for the sender domain, but
+the sender domain cannot or does not wish to make a strong assertion that no such mail can
+ever come from it.
+.TP
+.B 5 \(en none
+No SPF record was found.
+.TP
+.BR "6 \(en error" " (temporary)"
+A transient error occurred (e.g. failure to reach a DNS server), preventing a
+result from being reached.
+.TP
+.BR "7 \(en unknown" " (permanent error)"
+One or more SPF records could not be interpreted.
+.SH EXAMPLES
+.nf
+spfquery \-ip=11.22.33.44 \-sender=user@aol.com \-helo=spammer.tld
+spfquery \-f test_data
+echo "127.0.0.1 myname@mydomain.com helohost.com" | spfquery \-f \-
+.fi
+.SH SEE ALSO
+\fBspftest\fR(1), \fBspfd\fR(8)
+.SH AUTHOR
+\fBspfquery\fP was written by Wayne Schlitt.
+.PP
+This manual page was written by Magnus Holmgren for the Debian\*[R]
+system (but may be used by others). Heavily inspired by the spfquery manpage of
+libmail\-spf\-query\-perl (\fBspfquery.mail\-spf\-query\-perl\fR(1)) by Julian Mehnle.
+Also based on the command\-line help of spfquery.
+.SH COPYRIGHT
+Copyright \(co 2007 Magnus Holmgren. Permission is granted to copy,
+distribute and/or modify this document under the terms of the BSD
+License.
+.PP
+On Debian systems, the complete text of the BSD License can be found in /usr/share/common\-licenses/BSD.
Index: tags/1.2.9-7/debian/watch
===================================================================
--- tags/1.2.9-7/debian/watch (nonexistent)
+++ tags/1.2.9-7/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: tags/1.2.9-7/debian/spfquery.prerm
===================================================================
--- tags/1.2.9-7/debian/spfquery.prerm (nonexistent)
+++ tags/1.2.9-7/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.9-7/debian
===================================================================
--- tags/1.2.9-7/debian (nonexistent)
+++ tags/1.2.9-7/debian (revision 108)
/tags/1.2.9-7/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: tags/1.2.9-4/debian/changelog
===================================================================
--- tags/1.2.9-4/debian/changelog (nonexistent)
+++ tags/1.2.9-4/debian/changelog (revision 108)
@@ -0,0 +1,239 @@
+libspf2 (1.2.9-4) unstable; urgency=low
+
+ * Drop obsolete README.Debian-source; move non-obsolete info to
+ libspf2-dev.README.Debian.
+ * debian/libspf2.ver: Explicitly unhide certain special symbols that
+ became hidden on the mips and mipsel architectures but nowhere else,
+ causing a FTBFS.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 03 Oct 2009 21:29:19 +0200
+
+libspf2 (1.2.9-3) unstable; urgency=high
+
+ * ipv6_buffer_miscalculation.dpatch: Fix an abort() caused by
+ miscalculating the size of an internal buffer when mail is received
+ over IPv6. Thanks to Matthias Scheler <tron@netbsd.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 13 Sep 2009 20:23:22 +0200
+
+libspf2 (1.2.9-2) unstable; urgency=low
+
+ * debian/rules: Correct version.
+ * 01_private_glib_functions.dpatch: Avoid linking private glibc
+ functions.
+ * Simplify debian/*.install and exclude the libtool .la file from the
+ -dev package. Set DEB_DH_INSTALL_SOURCEDIR accordingly.
+ * Add ${misc:Depends} to Depends.
+ * Add debug package.
+ * Use ld version script to hide internal symbols.
+ * Bump Standards-Version to 3.8.3.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 25 Aug 2009 00:15:01 +0200
+
+libspf2 (1.2.9-1) unstable; urgency=high
+
+ * New upstream release.
+ - Drops non-dfsg Free IETF internet draft, so tarball no longer needs
+ repacking
+ + Fixes exploitable buffer overflow (LP: #287534)
+ + Multiple fixes for improved RFC 4408 compliance
+ + Update libspf2-2.symbols for new symbol
+ + 20_spf_dns_include_std_headers.dpatch: Updated.
+ * Thanks to Scott Kitterman.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 04 Nov 2008 21:14:31 +0100
+
+libspf2 (1.2.8~dfsg-1) unstable; urgency=low
+
+ * Merge changes from Ubuntu.
+ * Fix and tweak library dependency information (shlibs as well as
+ symbols).
+ * Upgrade to Standards-Version: 3.8.0. Changes needed:
+ + Add debian/README.source (ยง 4.9).
+ * Bring debian/copyright a bit more up-to-date.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 02 Nov 2008 12:29:51 +0100
+
+libspf2 (1.2.8~dfsg-0ubuntu1) intrepid; urgency=low
+
+ * New upstream release (LP: #283920)
+ - Fixes multiple memory leaks
+ - CVE2008-2469 buffer overflows
+ - Adds new documentation
+ - Drop all patches except 20_spf_dns_include_std_headers.dpatch (included
+ upstream)
+ - Freshen 20_spf_dns_include_std_headers.dpatch
+ - Update debian/rules for new release
+ * Repack tarball to remove non-DFSG Free IETF draft
+ * Added debian/libspf2-2.symbols and updated for new version
+ * Drop README.Debian since it no longer applies.
+
+ -- Scott Kitterman <scott@kitterman.com> Sun, 19 Oct 2008 01:00:13 -0400
+
+libspf2 (1.2.5.dfsg-5) unstable; urgency=low
+
+ * 43_new_explanation_url.dpatch: Bring default explanation up to date by
+ referring to www.openspf.org instead of spf.pobox.com.
+ * Add spfquery(1) manpage.
+ * Fix format of copyright notice in debian/copyright.
+ * Move upstream homepage URL to the new Homepage control field, rename
+ VCS control fields, and update Standards-Version.
+ * A few cosmetic adjustments including fixing the indentation of the
+ 1.2.5.dfsg-3 entry below (Closes: #465466).
+ * New maintainer email address.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 18 Apr 2008 17:51:28 +0200
+
+libspf2 (1.2.5.dfsg-4) unstable; urgency=low
+
+ * Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
+ (Closes: #440147). Thanks to Matthias Cramer.
+ * 35_untabify_help.dpatch: Make --help output of utilities less ugly by
+ converting tabs to spaces.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
+
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: tags/1.2.9-4/debian/libspf2.ver
===================================================================
--- tags/1.2.9-4/debian/libspf2.ver (nonexistent)
+++ tags/1.2.9-4/debian/libspf2.ver (revision 108)
@@ -0,0 +1,13 @@
+{
+global:
+ SPF_*;
+ main;
+ __libc_csu_*;
+ _init;
+ _fini;
+ _IO_stdin_used;
+ _DYNAMIC_LINKING;
+ __RLD_MAP;
+local:
+ *;
+};
Index: tags/1.2.9-4/debian/libspf2-dev.README.Debian
===================================================================
--- tags/1.2.9-4/debian/libspf2-dev.README.Debian (nonexistent)
+++ tags/1.2.9-4/debian/libspf2-dev.README.Debian (revision 108)
@@ -0,0 +1,11 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+ -- Magnus Holmgren <holmgren@debian.org>, Mon, 14 Sep 2009 22:33:12 +0200
Index: tags/1.2.9-4/debian/patches/ipv6_buffer_miscalculation.dpatch
===================================================================
--- tags/1.2.9-4/debian/patches/ipv6_buffer_miscalculation.dpatch (nonexistent)
+++ tags/1.2.9-4/debian/patches/ipv6_buffer_miscalculation.dpatch (revision 108)
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## ipv6_buffer_miscalculation.dpatch by Matthias Scheler <tron@netbsd.org>
+##
+## DP: Fix an abort() caused by miscalculating the size of an internal buffer.
+## DP: This can crash applications using "libspf2" (e.g. "milter-greylist")
+## DP: in an e-mail gets delivered via SMTP over IPv6 depending on the
+## DP: remote machine's IPv6 address.
+
+@DPATCH@
+--- a/src/libspf2/spf_expand.c 2008-11-03 21:29:00.000000000 +0000
++++ b/src/libspf2/spf_expand.c 2009-09-08 11:27:52.000000000 +0100
+@@ -245,7 +245,7 @@
+ case PARM_CLIENT_IP: /* SMTP client IP */
+ #ifdef COMPUTE
+ if (compute_length) {
+- len = sizeof(ip6_buf);
++ len = sizeof(ip6_rbuf);
+ if (d->dv.url_encode)
+ len *= 3;
+ buflen += len;
Index: tags/1.2.9-4/debian/patches/00list
===================================================================
--- tags/1.2.9-4/debian/patches/00list (nonexistent)
+++ tags/1.2.9-4/debian/patches/00list (revision 108)
@@ -0,0 +1,3 @@
+01_private_glibc_functions
+20_spf_dns_include_std_headers
+ipv6_buffer_miscalculation
Index: tags/1.2.9-4/debian/patches/01_private_glibc_functions.dpatch
===================================================================
--- tags/1.2.9-4/debian/patches/01_private_glibc_functions.dpatch (nonexistent)
+++ tags/1.2.9-4/debian/patches/01_private_glibc_functions.dpatch (revision 108)
@@ -0,0 +1,45 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 01_private_glibc_functions.dpatch by Magnus Holmgren <holmgren@debian.org>
+##
+## DP: Avoid linking private glibc functions (specifically __ns_get16).
+
+@DPATCH@
+diff -urNad trunk~/configure.ac trunk/configure.ac
+--- trunk~/configure.ac 2008-11-04 16:32:10.000000000 +0100
++++ trunk/configure.ac 2008-11-15 15:35:38.000000000 +0100
+@@ -272,7 +272,8 @@
+ AC_CHECK_FUNCS([gethostbyname inet_ntoa select strrchr strstr strtol])
+
+ AC_REPLACE_FUNCS([getopt_long_only strncasecmp])
+-AC_REPLACE_FUNCS([__ns_initparse __ns_name_uncompress __ns_get16 __ns_msg_getflag])
++AC_REPLACE_FUNCS([__ns_initparse __ns_name_uncompress __ns_msg_getflag])
++AC_LIBOBJ(__ns_get16)
+
+ AC_CONFIG_FILES([Makefile
+ Doxyfile
+diff -urNad trunk~/configure trunk/configure
+--- trunk~/configure 2008-11-04 16:32:56.000000000 +0100
++++ trunk/configure 2008-11-15 15:35:39.000000000 +0100
+@@ -25752,8 +25752,7 @@
+
+
+
+-
+-for ac_func in __ns_initparse __ns_name_uncompress __ns_get16 __ns_msg_getflag
++for ac_func in __ns_initparse __ns_name_uncompress __ns_msg_getflag
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ { echo "$as_me:$LINENO: checking for $ac_func" >&5
+@@ -25854,6 +25853,12 @@
+ done
+
+
++case " $LIBOBJS " in
++ *" __ns_get16.$ac_objext "* ) ;;
++ *) LIBOBJS="$LIBOBJS __ns_get16.$ac_objext"
++ ;;
++esac
++
+
+ ac_config_files="$ac_config_files Makefile Doxyfile src/Makefile src/include/Makefile src/libreplace/Makefile src/libspf2/Makefile src/spfquery/Makefile src/spftest/Makefile src/spfd/Makefile src/spf_example/Makefile"
+
/tags/1.2.9-4/debian/patches/01_private_glibc_functions.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.9-4/debian/patches/20_spf_dns_include_std_headers.dpatch
===================================================================
--- tags/1.2.9-4/debian/patches/20_spf_dns_include_std_headers.dpatch (nonexistent)
+++ tags/1.2.9-4/debian/patches/20_spf_dns_include_std_headers.dpatch (revision 108)
@@ -0,0 +1,67 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_dns_include_std_headers.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Include arpa/nameser.h and netdb.h from spf_dns.h instead of defining
+## DP: the constants needed unless certain HAVE_ macros are defined.
+## DP: Updated for libspf2 1.2.8/9 by Scott Kitterman <scott@kitterman.com>
+
+@DPATCH@
+diff -urNad libspf2-1.2.9~/src/include/spf_dns.h libspf2-1.2.9/src/include/spf_dns.h
+--- libspf2-1.2.9~/src/include/spf_dns.h 2008-10-27 12:27:14.000000000 -0400
++++ libspf2-1.2.9/src/include/spf_dns.h 2008-11-04 10:10:58.000000000 -0500
+@@ -63,48 +63,19 @@
+ *
+ */
+
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
++ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+ /*
+- * For those who don't have <arpa/nameserv.h>
++ * Type 99 decl does not exist in Debian libc6 (not even 2.7)
+ */
+-
+-/* XXX This should use a more sensible define. */
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /**< Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+ #if ! HAVE_DECL_NS_T_SPF
+ #define ns_t_spf 99
+ #endif
+
+-#if ! HAVE_DECL_NS_T_INVALID
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /**< NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /**< SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /**< invalid/unimplmeneted query */
+-#define NO_DATA 4 /**< host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/tags/1.2.9-4/debian/patches/20_spf_dns_include_std_headers.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.9-4/debian/control
===================================================================
--- tags/1.2.9-4/debian/control (nonexistent)
+++ tags/1.2.9-4/debian/control (revision 108)
@@ -0,0 +1,63 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <holmgren@debian.org>
+Build-Depends: debhelper (>= 5), cdbs, dpatch, autotools-dev
+Standards-Version: 3.8.3
+Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+Vcs-Browser: http://svn.kibibyte.se/libspf2
+Homepage: http://www.libspf2.org/
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}), ${misc:Depends}
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}) | spfquery (= ${binary:Version}),
+ ${misc:Depends}
+Description: library for validating mail senders with SPF (debugging symbols)
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair.
+ .
+ This package contains the debugging symbols.
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
Index: tags/1.2.9-4/debian/libspf2-2.symbols
===================================================================
--- tags/1.2.9-4/debian/libspf2-2.symbols (nonexistent)
+++ tags/1.2.9-4/debian/libspf2-2.symbols (revision 108)
@@ -0,0 +1,116 @@
+libspf2.so.2 libspf2-2 #MINVER#
+ SPF_debug_handler@Base 0
+ SPF_debug_stdio@Base 0
+ SPF_debug_syslog@Base 0
+ SPF_debugv@Base 0
+ SPF_debugx2@Base 0
+ SPF_debugx@Base 0
+ SPF_dns_cache_new@Base 0
+ SPF_dns_cache_set_ttl@Base 0
+ SPF_dns_free@Base 0
+ SPF_dns_get_client_dom@Base 0
+ SPF_dns_lookup@Base 0
+ SPF_dns_null_new@Base 0
+ SPF_dns_resolv_new@Base 0
+ SPF_dns_rlookup6@Base 0
+ SPF_dns_rlookup@Base 0
+ SPF_dns_rr_buf_realloc@Base 0
+ SPF_dns_rr_dup@Base 0
+ SPF_dns_rr_free@Base 0
+ SPF_dns_rr_new@Base 0
+ SPF_dns_rr_new_init@Base 0
+ SPF_dns_rr_new_nxdomain@Base 0
+ SPF_dns_set_conserve_cache@Base 0
+ SPF_dns_test_new@Base 0
+ SPF_dns_zone_add_str@Base 0
+ SPF_dns_zone_new@Base 0
+ SPF_error_code@Base 0
+ SPF_error_errorp@Base 0
+ SPF_error_handler@Base 0
+ SPF_error_message@Base 0
+ SPF_error_stdio@Base 0
+ SPF_error_syslog@Base 0
+ SPF_errorv@Base 0
+ SPF_errorx2@Base 0
+ SPF_errorx@Base 0
+ SPF_get_lib_version@Base 0
+ SPF_i_done@Base 0
+ SPF_info_handler@Base 0
+ SPF_info_stdio@Base 0
+ SPF_info_syslog@Base 0
+ SPF_infov@Base 0
+ SPF_infox2@Base 0
+ SPF_infox@Base 0
+ SPF_macro_free@Base 0
+ SPF_print_sizeof@Base 0
+ SPF_realloc@Base 1.2.9
+ SPF_record_compile@Base 0
+ SPF_record_compile_macro@Base 0
+ SPF_record_expand_data@Base 0
+ SPF_record_find_mod_value@Base 0
+ SPF_record_free@Base 0
+ SPF_record_interpret@Base 0
+ SPF_record_new@Base 0
+ SPF_record_print@Base 0
+ SPF_record_stringify@Base 0
+ SPF_request_free@Base 0
+ SPF_request_get_client_dom@Base 0
+ SPF_request_get_exp@Base 0
+ SPF_request_get_rec_dom@Base 0
+ SPF_request_is_loopback@Base 0
+ SPF_request_new@Base 0
+ SPF_request_query_fallback@Base 0
+ SPF_request_query_mailfrom@Base 0
+ SPF_request_query_rcptto@Base 0
+ SPF_request_set_env_from@Base 0
+ SPF_request_set_helo_dom@Base 0
+ SPF_request_set_ipv4@Base 0
+ SPF_request_set_ipv4_str@Base 0
+ SPF_request_set_ipv6@Base 0
+ SPF_request_set_ipv6_str@Base 0
+ SPF_response_add_error@Base 0
+ SPF_response_add_error_idx@Base 0
+ SPF_response_add_error_ptr@Base 0
+ SPF_response_add_warn@Base 0
+ SPF_response_add_warn_idx@Base 0
+ SPF_response_add_warn_ptr@Base 0
+ SPF_response_combine@Base 0
+ SPF_response_errcode@Base 0
+ SPF_response_errors@Base 0
+ SPF_response_free@Base 0
+ SPF_response_get_explanation@Base 0
+ SPF_response_get_header_comment@Base 0
+ SPF_response_get_received_spf@Base 0
+ SPF_response_get_received_spf_value@Base 0
+ SPF_response_get_smtp_comment@Base 0
+ SPF_response_message@Base 0
+ SPF_response_messages@Base 0
+ SPF_response_new@Base 0
+ SPF_response_reason@Base 0
+ SPF_response_result@Base 0
+ SPF_response_warnings@Base 0
+ SPF_sanitize@Base 0
+ SPF_server_free@Base 0
+ SPF_server_get_max_dns_mech@Base 0
+ SPF_server_get_max_dns_mx@Base 0
+ SPF_server_get_max_dns_ptr@Base 0
+ SPF_server_get_record@Base 0
+ SPF_server_new@Base 0
+ SPF_server_new_dns@Base 1.2.8~
+ SPF_server_set_explanation@Base 0
+ SPF_server_set_localpolicy@Base 0
+ SPF_server_set_max_dns_mech@Base 0
+ SPF_server_set_max_dns_mx@Base 0
+ SPF_server_set_max_dns_ptr@Base 0
+ SPF_server_set_rec_dom@Base 0
+ SPF_server_set_sanitize@Base 0
+ SPF_strerror@Base 0
+ SPF_strreason@Base 0
+ SPF_strresult@Base 0
+ SPF_strrrtype@Base 1.2.8~
+ SPF_warning_handler@Base 0
+ SPF_warning_stdio@Base 0
+ SPF_warning_syslog@Base 0
+ SPF_warningv@Base 0
+ SPF_warningx2@Base 0
+ SPF_warningx@Base 0
Index: tags/1.2.9-4/debian/rules
===================================================================
--- tags/1.2.9-4/debian/rules (nonexistent)
+++ tags/1.2.9-4/debian/rules (revision 108)
@@ -0,0 +1,19 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+
+include /usr/share/cdbs/1/class/autotools.mk
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/dpatch.mk
+
+DEB_DH_MAKESHLIBS_ARGS_libspf2-2 = -V 'libspf2-2 (>= 1.2.9)'
+LDFLAGS += -Wl,--version-script=$(CURDIR)/debian/libspf2.ver
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp
+
+binary-install/spfquery::
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.9.tar.gz
/tags/1.2.9-4/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.9-4/debian/libspf2-dev.install
===================================================================
--- tags/1.2.9-4/debian/libspf2-dev.install (nonexistent)
+++ tags/1.2.9-4/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,3 @@
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.so
Index: tags/1.2.9-4/debian/spfquery.install
===================================================================
--- tags/1.2.9-4/debian/spfquery.install (nonexistent)
+++ tags/1.2.9-4/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+usr/bin/spfquery
+usr/bin/spftest
+usr/bin/spf_example
+usr/bin/spfd usr/sbin
Index: tags/1.2.9-4/debian/libspf2-2.install
===================================================================
--- tags/1.2.9-4/debian/libspf2-2.install (nonexistent)
+++ tags/1.2.9-4/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+usr/lib/lib*.so.*
Index: tags/1.2.9-4/debian/copyright
===================================================================
--- tags/1.2.9-4/debian/copyright (nonexistent)
+++ tags/1.2.9-4/debian/copyright (revision 108)
@@ -0,0 +1,39 @@
+This package was debianized by Eric Dorland <eric@debian.org> on
+Sun, 04 Jul 2004 19:00:36 -0400
+
+The current maintainer is Magnus Holmgren <holmgren@debian.org>.
+
+It was downloaded from http://www.libspf2.org/
+
+Upstream authors:
+ - Current maintainer: Shevek <libspf2@anarres.org>
+ - Contributors: Magnus Holmgren, Julian Mehnle, Scott Kitterman,
+ Dan Kaminsky, Ben Chelf, Hannah Schroeter, Manish Raje
+ - Original author, 1.0 series: Wayne Schlitt <wayne@schlitt.net>
+
+Copyright:
+
+Software copyright ยฉ 2004-2005 Wayne Schlitt and Shevek,
+ ยฉ 2008 Shevek.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+
+ a) The GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1, or (at your option) any
+ later version,
+
+ OR
+
+ b) The two-clause BSD license.
+
+On Debian systems, the complete text of the GNU Lesser General Public
+License can be found in the file `/usr/share/common-licenses/LGPL' and
+the BSD license can be found in the file `/usr/share/common-licenses/BSD'.
+
+The parts of the Debian packaging that is eligible for copyright is ยฉ
+2004-2006 Eric Dorland, 2007-2008 Magnus Holmgren and assumed to be
+licensed under the same licenses as above. The spfquery(1) manpage
+is (Giving the LGPL as an alternative is quite redundant as the BSD
+license is so permissive that it allows redistribution under the LGPL
+or most other licenses anyway).
Index: tags/1.2.9-4/debian/README.source
===================================================================
--- tags/1.2.9-4/debian/README.source (nonexistent)
+++ tags/1.2.9-4/debian/README.source (revision 108)
@@ -0,0 +1,8 @@
+This package uses dpatch to manage all modifications to the upstream
+source. Changes are stored in the source package as diffs in
+debian/patches and applied during the build. For basic usage
+information, see
+
+ /usr/share/doc/dpatch/README.source.gz
+
+(after installing dpatch).
Index: tags/1.2.9-4/debian/spfquery.postinst
===================================================================
--- tags/1.2.9-4/debian/spfquery.postinst (nonexistent)
+++ tags/1.2.9-4/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,17 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25 \
+ --slave /usr/share/man/man1/spfquery.1.gz spfquery.1.gz /usr/share/man/man1/spfquery.$source_package.1.gz
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.9-4/debian/spfquery.manpages
===================================================================
--- tags/1.2.9-4/debian/spfquery.manpages (nonexistent)
+++ tags/1.2.9-4/debian/spfquery.manpages (revision 108)
@@ -0,0 +1 @@
+debian/spfquery.libspf2.1
Index: tags/1.2.9-4/debian/spfquery.libspf2.1
===================================================================
--- tags/1.2.9-4/debian/spfquery.libspf2.1 (nonexistent)
+++ tags/1.2.9-4/debian/spfquery.libspf2.1 (revision 108)
@@ -0,0 +1,199 @@
+.\" Title: SPFQUERY
+.\" Author: Magnus Holmgren <magnus@kibibyte.se>
+.\" Date: 2007-09-06
+.\" Manual: libspf2 manuals for Debian
+.\" Source: libspf2 1.2.5
+.\"
+.TH "SPFQUERY" "1" "2007-09-06" "libspf2 1.2.5" "libspf2 manuals for Debian"
+.\" disable hyphenation
+.nh
+.SH NAME
+spfquery, spfquery.libspf2 \- checks if an IP address is an SPF-authorized SMTP sender for a domain.
+.SH SYNOPSIS
+.ad l
+.HP 9
+.B spfquery
+.RB { \-i | \-\-ip }
+.I ip\-address
+.RB { -s | \-\-sender }
+.RI [ local-part \fB@\fP] domain
+.RB [{ \-h | \-\-helo }
+.IR domain-name ]
+.RB [ \-\-rcpt\-to
+.IR email-address(es) ]
+.RI [ CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-f | \-\-file }
+.IR datafile " [" CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-\-help | \-v | \-\-version }
+.ad b
+.SH DESCRIPTION
+This manual page documents briefly the
+\fBspfquery\fR
+command. It was written for the
+Debian\*[R] distribution because the original program does not have a manual page.
+.PP
+\fBspfquery\fR performs Sender Policy Framework (SPF) authorization
+checks based on the command-line arguments or data given in a file or
+on standard input. For information on SPF see http://www.openspf.org.
+.
+.SH OPTIONS
+Options are divided into two groups: Data options, which must be
+given, though just enough of them to specify a query; and control
+options, which are optional and control the local policy, behaviour
+and output format of spfquery.
+.PP
+This programs follows the GNU \fBgetopt_long_only\fR(3) command line
+syntax: Long options can be given with one or two dashes and can be
+abbreviated to a prefix long enough to be non-ambiguous. If an option
+starting with a single dash doesn't match a long option, it is taken
+as a short option with a following parameter, if applicable. An equals
+sign between the option name and the parameter is optional for both
+short and long options.
+.SS Data options
+The
+\fB\-\-file\fR option conflicts with all the other data options. The
+\fB\-\-helo\fR and \fB\-\-rcpt\-to\fR are optional.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfilename\fR
+Read SPF data from \fIfilename\fR. Specify \(lq-\(rq to read from standard input.
+.sp
+The file should consist of one line per query, each query line consisting of the IP address, sender adress, and optional HELO string, separated by spaces.
+.sp
+\fBNote\fP
+Local parts containing spaces are currently not supported.
+.TP
+\fB\-i\fP, \fB\-\-ip\fP \fIip-address\fP
+Specify the IP address of the remote host that is delivering the mail.
+.TP
+\fB\-s\fP, \fB\-\-sender\fP [\fIlocal-part\fP\fB@\fP]\fIdomain\fP
+Specify the email address that was used as the envelope sender. If no
+username (local part) is given, \(lqpostmaster\(rq will be assumed.
+.TP
+\fB\-h\fP, \fB\-\-helo\fP \fIdomain-name\fP
+Specify that \fIdomain-name\fP was provided in the SMTP HELO (or EHLO) command.
+.TP
+\fB\-r\fP, \fB\-\-rcpt-to\fP \fIrcpt-address\fP[,\fIrcpt-address\fP,...]
+Specify the recipients as comma-separated list. Any secondary mail exchangers of all
+recipient domains are automatically authorized.
+.
+.SS Control options
+.TP
+\fB\-d\fP, \fB\-\-debug\fP[\fB=\fP\fIlevel\fP]
+Turn on debugging output.
+.TP
+\fB\-l\fP, \fB\-\-local\fP \fIspf\-terms\fP
+Test against \fIspf\-terms\fR before the final (implicit or explicit)
+\(lqall\(rq in an SPF record. This can be used to implement a local policy for whitelisting.
+.TP
+\fB\-t, \fB\-\-trusted\fR [\fB1\fR]
+Check the sender domain with trusted\-forwarder.org.
+\fBThis is a non\-standard feature.\fR
+.TP
+\fB\-t\fP \fB0\fP, \fB\-\-trusted\fR \fB0\fP
+Do not check the sender domain with trusted\-forwarder.org. This is the default.
+.TP
+\fB\-g\fP, \fB\-\-guess\fP \fIspf-mechanisms\fP
+Test the sender domain against \fIspf\-mechanisms\fP if the domain has no SPF record.
+.TP
+\fB\-e\fP, \fB\-\-default\-explanation\fP \fIstring\fP
+Default explanation string to use if the SPF record does not specify an expla\%nation string itself.
+.TP
+\fB\-m\fP, \fB\-\-max\-lookup\fP \fInumber\fP
+Maximum number of DNS lookups to allow.
+.TP
+\fB\-c\fP, \fB\-\-sanitize\fP [\fB0\fP|\fB1\fP]
+Do [not] sanitize the output by condensing conse\%cutive white\%space
+into a single space and replacing non-printable characters with
+question marks. Enabled by default.
+.TP
+\fB\-n\fP, \fB\-\-name\fP \fIhostname\fP
+Use
+\fIhostname\fP
+as the name of the local system instead of
+\(lqspfquery\(rq
+(the name is used in the output).
+.TP
+\fB\-k\fP, \fB\-\-keep\-comments\fP
+Print comments found when reading from a file.
+.TP
+\fB\-a\fP, \fB\-\-override\fP \fI...\fP
+.TP
+\fB\-z\fP, \fB\-\-fallback\fP \fI...\fP
+Provide override and fallback SPF records for certain domains.
+\fBNot implemented yet.\fP
+\fBspfquery\fP
+would act as if the speci\%fied records were present before and after any existing record, respectively, of those domains.
+.TP
+\fB\-\-help\fP
+Show summary of options.
+.TP
+\fB\-v\fP, \fB\-\-version\fP
+Show version of program.
+.SH DIAGNOSTICS
+The output ordinarily consists of four lines:
+.IP 1. 4
+the \fIresult code\fP;
+.IP 2. 4
+the \fIexplanation\fP, suitable for use in an SMTP response message, empty
+except when a rejection (permanent or temporary) makes sense;
+.IP 3. 4
+the header comment on its own;
+.IP 4. 4
+the Received\-SPF header field as defined in RFC 4408 section 7,
+incorporating the header comment.
+.PP
+If errors (including no SPF record found!) occur during processing,
+one or more error blocks will be prepended.
+These start with \(lqStartError\(lq and end with \(lqEndError\(lq.
+.PP
+The result codes and their corresponding exit codes are as follows:
+.TP
+.B 1 \(en neutral
+The sender domain explicitly makes no assertion about the \fIip-address\fP.
+This result must be interpreted exactly as if no SPF record at all existed.
+.TP
+.B 2 \(en pass
+The \fIip-address\fP is authorized to send mail for the sender domain.
+.TP
+.B 3 \(en fail
+The \fIip-address\fP is \fBunauthorized\fP to send mail for the sender domain.
+.TP
+.B 4 \(en softfail
+The \fIip-address\fP is not authorized to send mail for the sender domain, but
+the sender domain cannot or does not wish to make a strong assertion that no such mail can
+ever come from it.
+.TP
+.B 5 \(en none
+No SPF record was found.
+.TP
+.BR "6 \(en error" " (temporary)"
+A transient error occurred (e.g. failure to reach a DNS server), preventing a
+result from being reached.
+.TP
+.BR "7 \(en unknown" " (permanent error)"
+One or more SPF records could not be interpreted.
+.SH EXAMPLES
+.nf
+spfquery \-ip=11.22.33.44 \-sender=user@aol.com \-helo=spammer.tld
+spfquery \-f test_data
+echo "127.0.0.1 myname@mydomain.com helohost.com" | spfquery \-f \-
+.fi
+.SH SEE ALSO
+\fBspftest\fR(1), \fBspfd\fR(8)
+.SH AUTHOR
+\fBspfquery\fP was written by Wayne Schlitt.
+.PP
+This manual page was written by Magnus Holmgren for the Debian\*[R]
+system (but may be used by others). Heavily inspired by the spfquery manpage of
+libmail\-spf\-query\-perl (\fBspfquery.mail\-spf\-query\-perl\fR(1)) by Julian Mehnle.
+Also based on the command\-line help of spfquery.
+.SH COPYRIGHT
+Copyright \(co 2007 Magnus Holmgren. Permission is granted to copy,
+distribute and/or modify this document under the terms of the BSD
+License.
+.PP
+On Debian systems, the complete text of the BSD License can be found in /usr/share/common\-licenses/BSD.
Index: tags/1.2.9-4/debian/watch
===================================================================
--- tags/1.2.9-4/debian/watch (nonexistent)
+++ tags/1.2.9-4/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: tags/1.2.9-4/debian/spfquery.prerm
===================================================================
--- tags/1.2.9-4/debian/spfquery.prerm (nonexistent)
+++ tags/1.2.9-4/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.9-4/debian/compat
===================================================================
--- tags/1.2.9-4/debian/compat (nonexistent)
+++ tags/1.2.9-4/debian/compat (revision 108)
@@ -0,0 +1 @@
+5
Index: tags/1.2.9-4/debian
===================================================================
--- tags/1.2.9-4/debian (nonexistent)
+++ tags/1.2.9-4/debian (revision 108)
/tags/1.2.9-4/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: tags/1.2.9-3/debian/changelog
===================================================================
--- tags/1.2.9-3/debian/changelog (nonexistent)
+++ tags/1.2.9-3/debian/changelog (revision 108)
@@ -0,0 +1,229 @@
+libspf2 (1.2.9-3) unstable; urgency=high
+
+ * ipv6_buffer_miscalculation.dpatch: Fix an abort() caused by
+ miscalculating the size of an internal buffer when mail is received
+ over IPv6. Thanks to Matthias Scheler <tron@netbsd.org>.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 13 Sep 2009 20:23:22 +0200
+
+libspf2 (1.2.9-2) unstable; urgency=low
+
+ * debian/rules: Correct version.
+ * 01_private_glib_functions.dpatch: Avoid linking private glibc
+ functions.
+ * Simplify debian/*.install and exclude the libtool .la file from the
+ -dev package. Set DEB_DH_INSTALL_SOURCEDIR accordingly.
+ * Add ${misc:Depends} to Depends.
+ * Add debug package.
+ * Use ld version script to hide internal symbols.
+ * Bump Standards-Version to 3.8.3.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 25 Aug 2009 00:15:01 +0200
+
+libspf2 (1.2.9-1) unstable; urgency=high
+
+ * New upstream release.
+ - Drops non-dfsg Free IETF internet draft, so tarball no longer needs
+ repacking
+ + Fixes exploitable buffer overflow (LP: #287534)
+ + Multiple fixes for improved RFC 4408 compliance
+ + Update libspf2-2.symbols for new symbol
+ + 20_spf_dns_include_std_headers.dpatch: Updated.
+ * Thanks to Scott Kitterman.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 04 Nov 2008 21:14:31 +0100
+
+libspf2 (1.2.8~dfsg-1) unstable; urgency=low
+
+ * Merge changes from Ubuntu.
+ * Fix and tweak library dependency information (shlibs as well as
+ symbols).
+ * Upgrade to Standards-Version: 3.8.0. Changes needed:
+ + Add debian/README.source (ยง 4.9).
+ * Bring debian/copyright a bit more up-to-date.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 02 Nov 2008 12:29:51 +0100
+
+libspf2 (1.2.8~dfsg-0ubuntu1) intrepid; urgency=low
+
+ * New upstream release (LP: #283920)
+ - Fixes multiple memory leaks
+ - CVE2008-2469 buffer overflows
+ - Adds new documentation
+ - Drop all patches except 20_spf_dns_include_std_headers.dpatch (included
+ upstream)
+ - Freshen 20_spf_dns_include_std_headers.dpatch
+ - Update debian/rules for new release
+ * Repack tarball to remove non-DFSG Free IETF draft
+ * Added debian/libspf2-2.symbols and updated for new version
+ * Drop README.Debian since it no longer applies.
+
+ -- Scott Kitterman <scott@kitterman.com> Sun, 19 Oct 2008 01:00:13 -0400
+
+libspf2 (1.2.5.dfsg-5) unstable; urgency=low
+
+ * 43_new_explanation_url.dpatch: Bring default explanation up to date by
+ referring to www.openspf.org instead of spf.pobox.com.
+ * Add spfquery(1) manpage.
+ * Fix format of copyright notice in debian/copyright.
+ * Move upstream homepage URL to the new Homepage control field, rename
+ VCS control fields, and update Standards-Version.
+ * A few cosmetic adjustments including fixing the indentation of the
+ 1.2.5.dfsg-3 entry below (Closes: #465466).
+ * New maintainer email address.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 18 Apr 2008 17:51:28 +0200
+
+libspf2 (1.2.5.dfsg-4) unstable; urgency=low
+
+ * Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
+ (Closes: #440147). Thanks to Matthias Cramer.
+ * 35_untabify_help.dpatch: Make --help output of utilities less ugly by
+ converting tabs to spaces.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
+
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: tags/1.2.9-3/debian/patches/ipv6_buffer_miscalculation.dpatch
===================================================================
--- tags/1.2.9-3/debian/patches/ipv6_buffer_miscalculation.dpatch (nonexistent)
+++ tags/1.2.9-3/debian/patches/ipv6_buffer_miscalculation.dpatch (revision 108)
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## ipv6_buffer_miscalculation.dpatch by Matthias Scheler <tron@netbsd.org>
+##
+## DP: Fix an abort() caused by miscalculating the size of an internal buffer.
+## DP: This can crash applications using "libspf2" (e.g. "milter-greylist")
+## DP: in an e-mail gets delivered via SMTP over IPv6 depending on the
+## DP: remote machine's IPv6 address.
+
+@DPATCH@
+--- a/src/libspf2/spf_expand.c 2008-11-03 21:29:00.000000000 +0000
++++ b/src/libspf2/spf_expand.c 2009-09-08 11:27:52.000000000 +0100
+@@ -245,7 +245,7 @@
+ case PARM_CLIENT_IP: /* SMTP client IP */
+ #ifdef COMPUTE
+ if (compute_length) {
+- len = sizeof(ip6_buf);
++ len = sizeof(ip6_rbuf);
+ if (d->dv.url_encode)
+ len *= 3;
+ buflen += len;
Index: tags/1.2.9-3/debian/patches/00list
===================================================================
--- tags/1.2.9-3/debian/patches/00list (nonexistent)
+++ tags/1.2.9-3/debian/patches/00list (revision 108)
@@ -0,0 +1,3 @@
+01_private_glibc_functions
+20_spf_dns_include_std_headers
+ipv6_buffer_miscalculation
Index: tags/1.2.9-3/debian/patches/01_private_glibc_functions.dpatch
===================================================================
--- tags/1.2.9-3/debian/patches/01_private_glibc_functions.dpatch (nonexistent)
+++ tags/1.2.9-3/debian/patches/01_private_glibc_functions.dpatch (revision 108)
@@ -0,0 +1,45 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 01_private_glibc_functions.dpatch by Magnus Holmgren <holmgren@debian.org>
+##
+## DP: Avoid linking private glibc functions (specifically __ns_get16).
+
+@DPATCH@
+diff -urNad trunk~/configure.ac trunk/configure.ac
+--- trunk~/configure.ac 2008-11-04 16:32:10.000000000 +0100
++++ trunk/configure.ac 2008-11-15 15:35:38.000000000 +0100
+@@ -272,7 +272,8 @@
+ AC_CHECK_FUNCS([gethostbyname inet_ntoa select strrchr strstr strtol])
+
+ AC_REPLACE_FUNCS([getopt_long_only strncasecmp])
+-AC_REPLACE_FUNCS([__ns_initparse __ns_name_uncompress __ns_get16 __ns_msg_getflag])
++AC_REPLACE_FUNCS([__ns_initparse __ns_name_uncompress __ns_msg_getflag])
++AC_LIBOBJ(__ns_get16)
+
+ AC_CONFIG_FILES([Makefile
+ Doxyfile
+diff -urNad trunk~/configure trunk/configure
+--- trunk~/configure 2008-11-04 16:32:56.000000000 +0100
++++ trunk/configure 2008-11-15 15:35:39.000000000 +0100
+@@ -25752,8 +25752,7 @@
+
+
+
+-
+-for ac_func in __ns_initparse __ns_name_uncompress __ns_get16 __ns_msg_getflag
++for ac_func in __ns_initparse __ns_name_uncompress __ns_msg_getflag
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ { echo "$as_me:$LINENO: checking for $ac_func" >&5
+@@ -25854,6 +25853,12 @@
+ done
+
+
++case " $LIBOBJS " in
++ *" __ns_get16.$ac_objext "* ) ;;
++ *) LIBOBJS="$LIBOBJS __ns_get16.$ac_objext"
++ ;;
++esac
++
+
+ ac_config_files="$ac_config_files Makefile Doxyfile src/Makefile src/include/Makefile src/libreplace/Makefile src/libspf2/Makefile src/spfquery/Makefile src/spftest/Makefile src/spfd/Makefile src/spf_example/Makefile"
+
/tags/1.2.9-3/debian/patches/01_private_glibc_functions.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.9-3/debian/patches/20_spf_dns_include_std_headers.dpatch
===================================================================
--- tags/1.2.9-3/debian/patches/20_spf_dns_include_std_headers.dpatch (nonexistent)
+++ tags/1.2.9-3/debian/patches/20_spf_dns_include_std_headers.dpatch (revision 108)
@@ -0,0 +1,67 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_dns_include_std_headers.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Include arpa/nameser.h and netdb.h from spf_dns.h instead of defining
+## DP: the constants needed unless certain HAVE_ macros are defined.
+## DP: Updated for libspf2 1.2.8/9 by Scott Kitterman <scott@kitterman.com>
+
+@DPATCH@
+diff -urNad libspf2-1.2.9~/src/include/spf_dns.h libspf2-1.2.9/src/include/spf_dns.h
+--- libspf2-1.2.9~/src/include/spf_dns.h 2008-10-27 12:27:14.000000000 -0400
++++ libspf2-1.2.9/src/include/spf_dns.h 2008-11-04 10:10:58.000000000 -0500
+@@ -63,48 +63,19 @@
+ *
+ */
+
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
++ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+ /*
+- * For those who don't have <arpa/nameserv.h>
++ * Type 99 decl does not exist in Debian libc6 (not even 2.7)
+ */
+-
+-/* XXX This should use a more sensible define. */
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /**< Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+ #if ! HAVE_DECL_NS_T_SPF
+ #define ns_t_spf 99
+ #endif
+
+-#if ! HAVE_DECL_NS_T_INVALID
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /**< NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /**< SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /**< invalid/unimplmeneted query */
+-#define NO_DATA 4 /**< host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/tags/1.2.9-3/debian/patches/20_spf_dns_include_std_headers.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.9-3/debian/control
===================================================================
--- tags/1.2.9-3/debian/control (nonexistent)
+++ tags/1.2.9-3/debian/control (revision 108)
@@ -0,0 +1,63 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <holmgren@debian.org>
+Build-Depends: debhelper (>= 5), cdbs, dpatch, autotools-dev
+Standards-Version: 3.8.3
+Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+Vcs-Browser: http://svn.kibibyte.se/libspf2
+Homepage: http://www.libspf2.org/
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}), ${misc:Depends}
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}) | spfquery (= ${binary:Version}),
+ ${misc:Depends}
+Description: library for validating mail senders with SPF (debugging symbols)
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair.
+ .
+ This package contains the debugging symbols.
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
Index: tags/1.2.9-3/debian/libspf2-2.symbols
===================================================================
--- tags/1.2.9-3/debian/libspf2-2.symbols (nonexistent)
+++ tags/1.2.9-3/debian/libspf2-2.symbols (revision 108)
@@ -0,0 +1,116 @@
+libspf2.so.2 libspf2-2 #MINVER#
+ SPF_debug_handler@Base 0
+ SPF_debug_stdio@Base 0
+ SPF_debug_syslog@Base 0
+ SPF_debugv@Base 0
+ SPF_debugx2@Base 0
+ SPF_debugx@Base 0
+ SPF_dns_cache_new@Base 0
+ SPF_dns_cache_set_ttl@Base 0
+ SPF_dns_free@Base 0
+ SPF_dns_get_client_dom@Base 0
+ SPF_dns_lookup@Base 0
+ SPF_dns_null_new@Base 0
+ SPF_dns_resolv_new@Base 0
+ SPF_dns_rlookup6@Base 0
+ SPF_dns_rlookup@Base 0
+ SPF_dns_rr_buf_realloc@Base 0
+ SPF_dns_rr_dup@Base 0
+ SPF_dns_rr_free@Base 0
+ SPF_dns_rr_new@Base 0
+ SPF_dns_rr_new_init@Base 0
+ SPF_dns_rr_new_nxdomain@Base 0
+ SPF_dns_set_conserve_cache@Base 0
+ SPF_dns_test_new@Base 0
+ SPF_dns_zone_add_str@Base 0
+ SPF_dns_zone_new@Base 0
+ SPF_error_code@Base 0
+ SPF_error_errorp@Base 0
+ SPF_error_handler@Base 0
+ SPF_error_message@Base 0
+ SPF_error_stdio@Base 0
+ SPF_error_syslog@Base 0
+ SPF_errorv@Base 0
+ SPF_errorx2@Base 0
+ SPF_errorx@Base 0
+ SPF_get_lib_version@Base 0
+ SPF_i_done@Base 0
+ SPF_info_handler@Base 0
+ SPF_info_stdio@Base 0
+ SPF_info_syslog@Base 0
+ SPF_infov@Base 0
+ SPF_infox2@Base 0
+ SPF_infox@Base 0
+ SPF_macro_free@Base 0
+ SPF_print_sizeof@Base 0
+ SPF_realloc@Base 1.2.9
+ SPF_record_compile@Base 0
+ SPF_record_compile_macro@Base 0
+ SPF_record_expand_data@Base 0
+ SPF_record_find_mod_value@Base 0
+ SPF_record_free@Base 0
+ SPF_record_interpret@Base 0
+ SPF_record_new@Base 0
+ SPF_record_print@Base 0
+ SPF_record_stringify@Base 0
+ SPF_request_free@Base 0
+ SPF_request_get_client_dom@Base 0
+ SPF_request_get_exp@Base 0
+ SPF_request_get_rec_dom@Base 0
+ SPF_request_is_loopback@Base 0
+ SPF_request_new@Base 0
+ SPF_request_query_fallback@Base 0
+ SPF_request_query_mailfrom@Base 0
+ SPF_request_query_rcptto@Base 0
+ SPF_request_set_env_from@Base 0
+ SPF_request_set_helo_dom@Base 0
+ SPF_request_set_ipv4@Base 0
+ SPF_request_set_ipv4_str@Base 0
+ SPF_request_set_ipv6@Base 0
+ SPF_request_set_ipv6_str@Base 0
+ SPF_response_add_error@Base 0
+ SPF_response_add_error_idx@Base 0
+ SPF_response_add_error_ptr@Base 0
+ SPF_response_add_warn@Base 0
+ SPF_response_add_warn_idx@Base 0
+ SPF_response_add_warn_ptr@Base 0
+ SPF_response_combine@Base 0
+ SPF_response_errcode@Base 0
+ SPF_response_errors@Base 0
+ SPF_response_free@Base 0
+ SPF_response_get_explanation@Base 0
+ SPF_response_get_header_comment@Base 0
+ SPF_response_get_received_spf@Base 0
+ SPF_response_get_received_spf_value@Base 0
+ SPF_response_get_smtp_comment@Base 0
+ SPF_response_message@Base 0
+ SPF_response_messages@Base 0
+ SPF_response_new@Base 0
+ SPF_response_reason@Base 0
+ SPF_response_result@Base 0
+ SPF_response_warnings@Base 0
+ SPF_sanitize@Base 0
+ SPF_server_free@Base 0
+ SPF_server_get_max_dns_mech@Base 0
+ SPF_server_get_max_dns_mx@Base 0
+ SPF_server_get_max_dns_ptr@Base 0
+ SPF_server_get_record@Base 0
+ SPF_server_new@Base 0
+ SPF_server_new_dns@Base 1.2.8~
+ SPF_server_set_explanation@Base 0
+ SPF_server_set_localpolicy@Base 0
+ SPF_server_set_max_dns_mech@Base 0
+ SPF_server_set_max_dns_mx@Base 0
+ SPF_server_set_max_dns_ptr@Base 0
+ SPF_server_set_rec_dom@Base 0
+ SPF_server_set_sanitize@Base 0
+ SPF_strerror@Base 0
+ SPF_strreason@Base 0
+ SPF_strresult@Base 0
+ SPF_strrrtype@Base 1.2.8~
+ SPF_warning_handler@Base 0
+ SPF_warning_stdio@Base 0
+ SPF_warning_syslog@Base 0
+ SPF_warningv@Base 0
+ SPF_warningx2@Base 0
+ SPF_warningx@Base 0
Index: tags/1.2.9-3/debian/libspf2.ver
===================================================================
--- tags/1.2.9-3/debian/libspf2.ver (nonexistent)
+++ tags/1.2.9-3/debian/libspf2.ver (revision 108)
@@ -0,0 +1,4 @@
+{
+global: SPF_*;
+local: *;
+};
Index: tags/1.2.9-3/debian/rules
===================================================================
--- tags/1.2.9-3/debian/rules (nonexistent)
+++ tags/1.2.9-3/debian/rules (revision 108)
@@ -0,0 +1,19 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+
+include /usr/share/cdbs/1/class/autotools.mk
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/dpatch.mk
+
+DEB_DH_MAKESHLIBS_ARGS_libspf2-2 = -V 'libspf2-2 (>= 1.2.9)'
+LDFLAGS += -Wl,--version-script=$(CURDIR)/debian/libspf2.ver
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp
+
+binary-install/spfquery::
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.9.tar.gz
/tags/1.2.9-3/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.9-3/debian/libspf2-dev.install
===================================================================
--- tags/1.2.9-3/debian/libspf2-dev.install (nonexistent)
+++ tags/1.2.9-3/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,3 @@
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.so
Index: tags/1.2.9-3/debian/spfquery.install
===================================================================
--- tags/1.2.9-3/debian/spfquery.install (nonexistent)
+++ tags/1.2.9-3/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+usr/bin/spfquery
+usr/bin/spftest
+usr/bin/spf_example
+usr/bin/spfd usr/sbin
Index: tags/1.2.9-3/debian/libspf2-2.install
===================================================================
--- tags/1.2.9-3/debian/libspf2-2.install (nonexistent)
+++ tags/1.2.9-3/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+usr/lib/lib*.so.*
Index: tags/1.2.9-3/debian/copyright
===================================================================
--- tags/1.2.9-3/debian/copyright (nonexistent)
+++ tags/1.2.9-3/debian/copyright (revision 108)
@@ -0,0 +1,39 @@
+This package was debianized by Eric Dorland <eric@debian.org> on
+Sun, 04 Jul 2004 19:00:36 -0400
+
+The current maintainer is Magnus Holmgren <holmgren@debian.org>.
+
+It was downloaded from http://www.libspf2.org/
+
+Upstream authors:
+ - Current maintainer: Shevek <libspf2@anarres.org>
+ - Contributors: Magnus Holmgren, Julian Mehnle, Scott Kitterman,
+ Dan Kaminsky, Ben Chelf, Hannah Schroeter, Manish Raje
+ - Original author, 1.0 series: Wayne Schlitt <wayne@schlitt.net>
+
+Copyright:
+
+Software copyright ยฉ 2004-2005 Wayne Schlitt and Shevek,
+ ยฉ 2008 Shevek.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+
+ a) The GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1, or (at your option) any
+ later version,
+
+ OR
+
+ b) The two-clause BSD license.
+
+On Debian systems, the complete text of the GNU Lesser General Public
+License can be found in the file `/usr/share/common-licenses/LGPL' and
+the BSD license can be found in the file `/usr/share/common-licenses/BSD'.
+
+The parts of the Debian packaging that is eligible for copyright is ยฉ
+2004-2006 Eric Dorland, 2007-2008 Magnus Holmgren and assumed to be
+licensed under the same licenses as above. The spfquery(1) manpage
+is (Giving the LGPL as an alternative is quite redundant as the BSD
+license is so permissive that it allows redistribution under the LGPL
+or most other licenses anyway).
Index: tags/1.2.9-3/debian/README.source
===================================================================
--- tags/1.2.9-3/debian/README.source (nonexistent)
+++ tags/1.2.9-3/debian/README.source (revision 108)
@@ -0,0 +1,8 @@
+This package uses dpatch to manage all modifications to the upstream
+source. Changes are stored in the source package as diffs in
+debian/patches and applied during the build. For basic usage
+information, see
+
+ /usr/share/doc/dpatch/README.source.gz
+
+(after installing dpatch).
Index: tags/1.2.9-3/debian/spfquery.postinst
===================================================================
--- tags/1.2.9-3/debian/spfquery.postinst (nonexistent)
+++ tags/1.2.9-3/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,17 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25 \
+ --slave /usr/share/man/man1/spfquery.1.gz spfquery.1.gz /usr/share/man/man1/spfquery.$source_package.1.gz
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.9-3/debian/spfquery.manpages
===================================================================
--- tags/1.2.9-3/debian/spfquery.manpages (nonexistent)
+++ tags/1.2.9-3/debian/spfquery.manpages (revision 108)
@@ -0,0 +1 @@
+debian/spfquery.libspf2.1
Index: tags/1.2.9-3/debian/spfquery.libspf2.1
===================================================================
--- tags/1.2.9-3/debian/spfquery.libspf2.1 (nonexistent)
+++ tags/1.2.9-3/debian/spfquery.libspf2.1 (revision 108)
@@ -0,0 +1,199 @@
+.\" Title: SPFQUERY
+.\" Author: Magnus Holmgren <magnus@kibibyte.se>
+.\" Date: 2007-09-06
+.\" Manual: libspf2 manuals for Debian
+.\" Source: libspf2 1.2.5
+.\"
+.TH "SPFQUERY" "1" "2007-09-06" "libspf2 1.2.5" "libspf2 manuals for Debian"
+.\" disable hyphenation
+.nh
+.SH NAME
+spfquery, spfquery.libspf2 \- checks if an IP address is an SPF-authorized SMTP sender for a domain.
+.SH SYNOPSIS
+.ad l
+.HP 9
+.B spfquery
+.RB { \-i | \-\-ip }
+.I ip\-address
+.RB { -s | \-\-sender }
+.RI [ local-part \fB@\fP] domain
+.RB [{ \-h | \-\-helo }
+.IR domain-name ]
+.RB [ \-\-rcpt\-to
+.IR email-address(es) ]
+.RI [ CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-f | \-\-file }
+.IR datafile " [" CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-\-help | \-v | \-\-version }
+.ad b
+.SH DESCRIPTION
+This manual page documents briefly the
+\fBspfquery\fR
+command. It was written for the
+Debian\*[R] distribution because the original program does not have a manual page.
+.PP
+\fBspfquery\fR performs Sender Policy Framework (SPF) authorization
+checks based on the command-line arguments or data given in a file or
+on standard input. For information on SPF see http://www.openspf.org.
+.
+.SH OPTIONS
+Options are divided into two groups: Data options, which must be
+given, though just enough of them to specify a query; and control
+options, which are optional and control the local policy, behaviour
+and output format of spfquery.
+.PP
+This programs follows the GNU \fBgetopt_long_only\fR(3) command line
+syntax: Long options can be given with one or two dashes and can be
+abbreviated to a prefix long enough to be non-ambiguous. If an option
+starting with a single dash doesn't match a long option, it is taken
+as a short option with a following parameter, if applicable. An equals
+sign between the option name and the parameter is optional for both
+short and long options.
+.SS Data options
+The
+\fB\-\-file\fR option conflicts with all the other data options. The
+\fB\-\-helo\fR and \fB\-\-rcpt\-to\fR are optional.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfilename\fR
+Read SPF data from \fIfilename\fR. Specify \(lq-\(rq to read from standard input.
+.sp
+The file should consist of one line per query, each query line consisting of the IP address, sender adress, and optional HELO string, separated by spaces.
+.sp
+\fBNote\fP
+Local parts containing spaces are currently not supported.
+.TP
+\fB\-i\fP, \fB\-\-ip\fP \fIip-address\fP
+Specify the IP address of the remote host that is delivering the mail.
+.TP
+\fB\-s\fP, \fB\-\-sender\fP [\fIlocal-part\fP\fB@\fP]\fIdomain\fP
+Specify the email address that was used as the envelope sender. If no
+username (local part) is given, \(lqpostmaster\(rq will be assumed.
+.TP
+\fB\-h\fP, \fB\-\-helo\fP \fIdomain-name\fP
+Specify that \fIdomain-name\fP was provided in the SMTP HELO (or EHLO) command.
+.TP
+\fB\-r\fP, \fB\-\-rcpt-to\fP \fIrcpt-address\fP[,\fIrcpt-address\fP,...]
+Specify the recipients as comma-separated list. Any secondary mail exchangers of all
+recipient domains are automatically authorized.
+.
+.SS Control options
+.TP
+\fB\-d\fP, \fB\-\-debug\fP[\fB=\fP\fIlevel\fP]
+Turn on debugging output.
+.TP
+\fB\-l\fP, \fB\-\-local\fP \fIspf\-terms\fP
+Test against \fIspf\-terms\fR before the final (implicit or explicit)
+\(lqall\(rq in an SPF record. This can be used to implement a local policy for whitelisting.
+.TP
+\fB\-t, \fB\-\-trusted\fR [\fB1\fR]
+Check the sender domain with trusted\-forwarder.org.
+\fBThis is a non\-standard feature.\fR
+.TP
+\fB\-t\fP \fB0\fP, \fB\-\-trusted\fR \fB0\fP
+Do not check the sender domain with trusted\-forwarder.org. This is the default.
+.TP
+\fB\-g\fP, \fB\-\-guess\fP \fIspf-mechanisms\fP
+Test the sender domain against \fIspf\-mechanisms\fP if the domain has no SPF record.
+.TP
+\fB\-e\fP, \fB\-\-default\-explanation\fP \fIstring\fP
+Default explanation string to use if the SPF record does not specify an expla\%nation string itself.
+.TP
+\fB\-m\fP, \fB\-\-max\-lookup\fP \fInumber\fP
+Maximum number of DNS lookups to allow.
+.TP
+\fB\-c\fP, \fB\-\-sanitize\fP [\fB0\fP|\fB1\fP]
+Do [not] sanitize the output by condensing conse\%cutive white\%space
+into a single space and replacing non-printable characters with
+question marks. Enabled by default.
+.TP
+\fB\-n\fP, \fB\-\-name\fP \fIhostname\fP
+Use
+\fIhostname\fP
+as the name of the local system instead of
+\(lqspfquery\(rq
+(the name is used in the output).
+.TP
+\fB\-k\fP, \fB\-\-keep\-comments\fP
+Print comments found when reading from a file.
+.TP
+\fB\-a\fP, \fB\-\-override\fP \fI...\fP
+.TP
+\fB\-z\fP, \fB\-\-fallback\fP \fI...\fP
+Provide override and fallback SPF records for certain domains.
+\fBNot implemented yet.\fP
+\fBspfquery\fP
+would act as if the speci\%fied records were present before and after any existing record, respectively, of those domains.
+.TP
+\fB\-\-help\fP
+Show summary of options.
+.TP
+\fB\-v\fP, \fB\-\-version\fP
+Show version of program.
+.SH DIAGNOSTICS
+The output ordinarily consists of four lines:
+.IP 1. 4
+the \fIresult code\fP;
+.IP 2. 4
+the \fIexplanation\fP, suitable for use in an SMTP response message, empty
+except when a rejection (permanent or temporary) makes sense;
+.IP 3. 4
+the header comment on its own;
+.IP 4. 4
+the Received\-SPF header field as defined in RFC 4408 section 7,
+incorporating the header comment.
+.PP
+If errors (including no SPF record found!) occur during processing,
+one or more error blocks will be prepended.
+These start with \(lqStartError\(lq and end with \(lqEndError\(lq.
+.PP
+The result codes and their corresponding exit codes are as follows:
+.TP
+.B 1 \(en neutral
+The sender domain explicitly makes no assertion about the \fIip-address\fP.
+This result must be interpreted exactly as if no SPF record at all existed.
+.TP
+.B 2 \(en pass
+The \fIip-address\fP is authorized to send mail for the sender domain.
+.TP
+.B 3 \(en fail
+The \fIip-address\fP is \fBunauthorized\fP to send mail for the sender domain.
+.TP
+.B 4 \(en softfail
+The \fIip-address\fP is not authorized to send mail for the sender domain, but
+the sender domain cannot or does not wish to make a strong assertion that no such mail can
+ever come from it.
+.TP
+.B 5 \(en none
+No SPF record was found.
+.TP
+.BR "6 \(en error" " (temporary)"
+A transient error occurred (e.g. failure to reach a DNS server), preventing a
+result from being reached.
+.TP
+.BR "7 \(en unknown" " (permanent error)"
+One or more SPF records could not be interpreted.
+.SH EXAMPLES
+.nf
+spfquery \-ip=11.22.33.44 \-sender=user@aol.com \-helo=spammer.tld
+spfquery \-f test_data
+echo "127.0.0.1 myname@mydomain.com helohost.com" | spfquery \-f \-
+.fi
+.SH SEE ALSO
+\fBspftest\fR(1), \fBspfd\fR(8)
+.SH AUTHOR
+\fBspfquery\fP was written by Wayne Schlitt.
+.PP
+This manual page was written by Magnus Holmgren for the Debian\*[R]
+system (but may be used by others). Heavily inspired by the spfquery manpage of
+libmail\-spf\-query\-perl (\fBspfquery.mail\-spf\-query\-perl\fR(1)) by Julian Mehnle.
+Also based on the command\-line help of spfquery.
+.SH COPYRIGHT
+Copyright \(co 2007 Magnus Holmgren. Permission is granted to copy,
+distribute and/or modify this document under the terms of the BSD
+License.
+.PP
+On Debian systems, the complete text of the BSD License can be found in /usr/share/common\-licenses/BSD.
Index: tags/1.2.9-3/debian/watch
===================================================================
--- tags/1.2.9-3/debian/watch (nonexistent)
+++ tags/1.2.9-3/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: tags/1.2.9-3/debian/spfquery.prerm
===================================================================
--- tags/1.2.9-3/debian/spfquery.prerm (nonexistent)
+++ tags/1.2.9-3/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.9-3/debian/compat
===================================================================
--- tags/1.2.9-3/debian/compat (nonexistent)
+++ tags/1.2.9-3/debian/compat (revision 108)
@@ -0,0 +1 @@
+5
Index: tags/1.2.9-3/debian/libspf2-dev.README.Debian
===================================================================
--- tags/1.2.9-3/debian/libspf2-dev.README.Debian (nonexistent)
+++ tags/1.2.9-3/debian/libspf2-dev.README.Debian (revision 108)
@@ -0,0 +1,8 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+ -- Eric Dorland <eric@debian.org>, Sun Jul 4 19:02:07 2004
Index: tags/1.2.9-3/debian/README.Debian-source
===================================================================
--- tags/1.2.9-3/debian/README.Debian-source (nonexistent)
+++ tags/1.2.9-3/debian/README.Debian-source (revision 108)
@@ -0,0 +1,16 @@
+The upstream tarball has been repackaged because it contained non-free
+material in the form of an (obsolete) IETF Internet Draft
+(draft-mengwong-spf-00.txt in the docs subdirectory). As far as I can
+see It's non-free because it doesn't contain any copyright information
+at all, thereby defaulting to "all right reserved" in most
+jurisdictions.
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+To download the original tarball use `debian/rules get-orig-source' or
+go to <http://www.libspf2.org/download.html> (beware that running
+debian/rules outside the package directory can have unwanted side
+effects due to CDBS).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Fri, 23 Mar 2007 16:44:20 +0100
Index: tags/1.2.9-3/debian
===================================================================
--- tags/1.2.9-3/debian (nonexistent)
+++ tags/1.2.9-3/debian (revision 108)
/tags/1.2.9-3/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: tags/1.2.9-2/debian/control
===================================================================
--- tags/1.2.9-2/debian/control (nonexistent)
+++ tags/1.2.9-2/debian/control (revision 108)
@@ -0,0 +1,63 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <holmgren@debian.org>
+Build-Depends: debhelper (>= 5), cdbs, dpatch, autotools-dev
+Standards-Version: 3.8.3
+Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+Vcs-Browser: http://svn.kibibyte.se/libspf2
+Homepage: http://www.libspf2.org/
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}), ${misc:Depends}
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version}) | spfquery (= ${binary:Version}),
+ ${misc:Depends}
+Description: library for validating mail senders with SPF (debugging symbols)
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair.
+ .
+ This package contains the debugging symbols.
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
Index: tags/1.2.9-2/debian/changelog
===================================================================
--- tags/1.2.9-2/debian/changelog (nonexistent)
+++ tags/1.2.9-2/debian/changelog (revision 108)
@@ -0,0 +1,221 @@
+libspf2 (1.2.9-2) unstable; urgency=low
+
+ * debian/rules: Correct version.
+ * 01_private_glib_functions.dpatch: Avoid linking private glibc
+ functions.
+ * Simplify debian/*.install and exclude the libtool .la file from the
+ -dev package. Set DEB_DH_INSTALL_SOURCEDIR accordingly.
+ * Add ${misc:Depends} to Depends.
+ * Add debug package.
+ * Use ld version script to hide internal symbols.
+ * Bump Standards-Version to 3.8.3.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 25 Aug 2009 00:15:01 +0200
+
+libspf2 (1.2.9-1) unstable; urgency=high
+
+ * New upstream release.
+ - Drops non-dfsg Free IETF internet draft, so tarball no longer needs
+ repacking
+ + Fixes exploitable buffer overflow (LP: #287534)
+ + Multiple fixes for improved RFC 4408 compliance
+ + Update libspf2-2.symbols for new symbol
+ + 20_spf_dns_include_std_headers.dpatch: Updated.
+ * Thanks to Scott Kitterman.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 04 Nov 2008 21:14:31 +0100
+
+libspf2 (1.2.8~dfsg-1) unstable; urgency=low
+
+ * Merge changes from Ubuntu.
+ * Fix and tweak library dependency information (shlibs as well as
+ symbols).
+ * Upgrade to Standards-Version: 3.8.0. Changes needed:
+ + Add debian/README.source (ยง 4.9).
+ * Bring debian/copyright a bit more up-to-date.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 02 Nov 2008 12:29:51 +0100
+
+libspf2 (1.2.8~dfsg-0ubuntu1) intrepid; urgency=low
+
+ * New upstream release (LP: #283920)
+ - Fixes multiple memory leaks
+ - CVE2008-2469 buffer overflows
+ - Adds new documentation
+ - Drop all patches except 20_spf_dns_include_std_headers.dpatch (included
+ upstream)
+ - Freshen 20_spf_dns_include_std_headers.dpatch
+ - Update debian/rules for new release
+ * Repack tarball to remove non-DFSG Free IETF draft
+ * Added debian/libspf2-2.symbols and updated for new version
+ * Drop README.Debian since it no longer applies.
+
+ -- Scott Kitterman <scott@kitterman.com> Sun, 19 Oct 2008 01:00:13 -0400
+
+libspf2 (1.2.5.dfsg-5) unstable; urgency=low
+
+ * 43_new_explanation_url.dpatch: Bring default explanation up to date by
+ referring to www.openspf.org instead of spf.pobox.com.
+ * Add spfquery(1) manpage.
+ * Fix format of copyright notice in debian/copyright.
+ * Move upstream homepage URL to the new Homepage control field, rename
+ VCS control fields, and update Standards-Version.
+ * A few cosmetic adjustments including fixing the indentation of the
+ 1.2.5.dfsg-3 entry below (Closes: #465466).
+ * New maintainer email address.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 18 Apr 2008 17:51:28 +0200
+
+libspf2 (1.2.5.dfsg-4) unstable; urgency=low
+
+ * Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
+ (Closes: #440147). Thanks to Matthias Cramer.
+ * 35_untabify_help.dpatch: Make --help output of utilities less ugly by
+ converting tabs to spaces.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
+
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: tags/1.2.9-2/debian/libspf2-2.symbols
===================================================================
--- tags/1.2.9-2/debian/libspf2-2.symbols (nonexistent)
+++ tags/1.2.9-2/debian/libspf2-2.symbols (revision 108)
@@ -0,0 +1,116 @@
+libspf2.so.2 libspf2-2 #MINVER#
+ SPF_debug_handler@Base 0
+ SPF_debug_stdio@Base 0
+ SPF_debug_syslog@Base 0
+ SPF_debugv@Base 0
+ SPF_debugx2@Base 0
+ SPF_debugx@Base 0
+ SPF_dns_cache_new@Base 0
+ SPF_dns_cache_set_ttl@Base 0
+ SPF_dns_free@Base 0
+ SPF_dns_get_client_dom@Base 0
+ SPF_dns_lookup@Base 0
+ SPF_dns_null_new@Base 0
+ SPF_dns_resolv_new@Base 0
+ SPF_dns_rlookup6@Base 0
+ SPF_dns_rlookup@Base 0
+ SPF_dns_rr_buf_realloc@Base 0
+ SPF_dns_rr_dup@Base 0
+ SPF_dns_rr_free@Base 0
+ SPF_dns_rr_new@Base 0
+ SPF_dns_rr_new_init@Base 0
+ SPF_dns_rr_new_nxdomain@Base 0
+ SPF_dns_set_conserve_cache@Base 0
+ SPF_dns_test_new@Base 0
+ SPF_dns_zone_add_str@Base 0
+ SPF_dns_zone_new@Base 0
+ SPF_error_code@Base 0
+ SPF_error_errorp@Base 0
+ SPF_error_handler@Base 0
+ SPF_error_message@Base 0
+ SPF_error_stdio@Base 0
+ SPF_error_syslog@Base 0
+ SPF_errorv@Base 0
+ SPF_errorx2@Base 0
+ SPF_errorx@Base 0
+ SPF_get_lib_version@Base 0
+ SPF_i_done@Base 0
+ SPF_info_handler@Base 0
+ SPF_info_stdio@Base 0
+ SPF_info_syslog@Base 0
+ SPF_infov@Base 0
+ SPF_infox2@Base 0
+ SPF_infox@Base 0
+ SPF_macro_free@Base 0
+ SPF_print_sizeof@Base 0
+ SPF_realloc@Base 1.2.9
+ SPF_record_compile@Base 0
+ SPF_record_compile_macro@Base 0
+ SPF_record_expand_data@Base 0
+ SPF_record_find_mod_value@Base 0
+ SPF_record_free@Base 0
+ SPF_record_interpret@Base 0
+ SPF_record_new@Base 0
+ SPF_record_print@Base 0
+ SPF_record_stringify@Base 0
+ SPF_request_free@Base 0
+ SPF_request_get_client_dom@Base 0
+ SPF_request_get_exp@Base 0
+ SPF_request_get_rec_dom@Base 0
+ SPF_request_is_loopback@Base 0
+ SPF_request_new@Base 0
+ SPF_request_query_fallback@Base 0
+ SPF_request_query_mailfrom@Base 0
+ SPF_request_query_rcptto@Base 0
+ SPF_request_set_env_from@Base 0
+ SPF_request_set_helo_dom@Base 0
+ SPF_request_set_ipv4@Base 0
+ SPF_request_set_ipv4_str@Base 0
+ SPF_request_set_ipv6@Base 0
+ SPF_request_set_ipv6_str@Base 0
+ SPF_response_add_error@Base 0
+ SPF_response_add_error_idx@Base 0
+ SPF_response_add_error_ptr@Base 0
+ SPF_response_add_warn@Base 0
+ SPF_response_add_warn_idx@Base 0
+ SPF_response_add_warn_ptr@Base 0
+ SPF_response_combine@Base 0
+ SPF_response_errcode@Base 0
+ SPF_response_errors@Base 0
+ SPF_response_free@Base 0
+ SPF_response_get_explanation@Base 0
+ SPF_response_get_header_comment@Base 0
+ SPF_response_get_received_spf@Base 0
+ SPF_response_get_received_spf_value@Base 0
+ SPF_response_get_smtp_comment@Base 0
+ SPF_response_message@Base 0
+ SPF_response_messages@Base 0
+ SPF_response_new@Base 0
+ SPF_response_reason@Base 0
+ SPF_response_result@Base 0
+ SPF_response_warnings@Base 0
+ SPF_sanitize@Base 0
+ SPF_server_free@Base 0
+ SPF_server_get_max_dns_mech@Base 0
+ SPF_server_get_max_dns_mx@Base 0
+ SPF_server_get_max_dns_ptr@Base 0
+ SPF_server_get_record@Base 0
+ SPF_server_new@Base 0
+ SPF_server_new_dns@Base 1.2.8~
+ SPF_server_set_explanation@Base 0
+ SPF_server_set_localpolicy@Base 0
+ SPF_server_set_max_dns_mech@Base 0
+ SPF_server_set_max_dns_mx@Base 0
+ SPF_server_set_max_dns_ptr@Base 0
+ SPF_server_set_rec_dom@Base 0
+ SPF_server_set_sanitize@Base 0
+ SPF_strerror@Base 0
+ SPF_strreason@Base 0
+ SPF_strresult@Base 0
+ SPF_strrrtype@Base 1.2.8~
+ SPF_warning_handler@Base 0
+ SPF_warning_stdio@Base 0
+ SPF_warning_syslog@Base 0
+ SPF_warningv@Base 0
+ SPF_warningx2@Base 0
+ SPF_warningx@Base 0
Index: tags/1.2.9-2/debian/libspf2.ver
===================================================================
--- tags/1.2.9-2/debian/libspf2.ver (nonexistent)
+++ tags/1.2.9-2/debian/libspf2.ver (revision 108)
@@ -0,0 +1,4 @@
+{
+global: SPF_*;
+local: *;
+};
Index: tags/1.2.9-2/debian/rules
===================================================================
--- tags/1.2.9-2/debian/rules (nonexistent)
+++ tags/1.2.9-2/debian/rules (revision 108)
@@ -0,0 +1,19 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+
+include /usr/share/cdbs/1/class/autotools.mk
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/dpatch.mk
+
+DEB_DH_MAKESHLIBS_ARGS_libspf2-2 = -V 'libspf2-2 (>= 1.2.9)'
+LDFLAGS += -Wl,--version-script=$(CURDIR)/debian/libspf2.ver
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp
+
+binary-install/spfquery::
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.9.tar.gz
/tags/1.2.9-2/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.9-2/debian/libspf2-dev.install
===================================================================
--- tags/1.2.9-2/debian/libspf2-dev.install (nonexistent)
+++ tags/1.2.9-2/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,3 @@
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.so
Index: tags/1.2.9-2/debian/spfquery.install
===================================================================
--- tags/1.2.9-2/debian/spfquery.install (nonexistent)
+++ tags/1.2.9-2/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+usr/bin/spfquery
+usr/bin/spftest
+usr/bin/spf_example
+usr/bin/spfd usr/sbin
Index: tags/1.2.9-2/debian/libspf2-2.install
===================================================================
--- tags/1.2.9-2/debian/libspf2-2.install (nonexistent)
+++ tags/1.2.9-2/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+usr/lib/lib*.so.*
Index: tags/1.2.9-2/debian/patches/00list
===================================================================
--- tags/1.2.9-2/debian/patches/00list (nonexistent)
+++ tags/1.2.9-2/debian/patches/00list (revision 108)
@@ -0,0 +1,2 @@
+01_private_glibc_functions
+20_spf_dns_include_std_headers
Index: tags/1.2.9-2/debian/patches/01_private_glibc_functions.dpatch
===================================================================
--- tags/1.2.9-2/debian/patches/01_private_glibc_functions.dpatch (nonexistent)
+++ tags/1.2.9-2/debian/patches/01_private_glibc_functions.dpatch (revision 108)
@@ -0,0 +1,45 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 01_private_glibc_functions.dpatch by Magnus Holmgren <holmgren@debian.org>
+##
+## DP: Avoid linking private glibc functions (specifically __ns_get16).
+
+@DPATCH@
+diff -urNad trunk~/configure.ac trunk/configure.ac
+--- trunk~/configure.ac 2008-11-04 16:32:10.000000000 +0100
++++ trunk/configure.ac 2008-11-15 15:35:38.000000000 +0100
+@@ -272,7 +272,8 @@
+ AC_CHECK_FUNCS([gethostbyname inet_ntoa select strrchr strstr strtol])
+
+ AC_REPLACE_FUNCS([getopt_long_only strncasecmp])
+-AC_REPLACE_FUNCS([__ns_initparse __ns_name_uncompress __ns_get16 __ns_msg_getflag])
++AC_REPLACE_FUNCS([__ns_initparse __ns_name_uncompress __ns_msg_getflag])
++AC_LIBOBJ(__ns_get16)
+
+ AC_CONFIG_FILES([Makefile
+ Doxyfile
+diff -urNad trunk~/configure trunk/configure
+--- trunk~/configure 2008-11-04 16:32:56.000000000 +0100
++++ trunk/configure 2008-11-15 15:35:39.000000000 +0100
+@@ -25752,8 +25752,7 @@
+
+
+
+-
+-for ac_func in __ns_initparse __ns_name_uncompress __ns_get16 __ns_msg_getflag
++for ac_func in __ns_initparse __ns_name_uncompress __ns_msg_getflag
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ { echo "$as_me:$LINENO: checking for $ac_func" >&5
+@@ -25854,6 +25853,12 @@
+ done
+
+
++case " $LIBOBJS " in
++ *" __ns_get16.$ac_objext "* ) ;;
++ *) LIBOBJS="$LIBOBJS __ns_get16.$ac_objext"
++ ;;
++esac
++
+
+ ac_config_files="$ac_config_files Makefile Doxyfile src/Makefile src/include/Makefile src/libreplace/Makefile src/libspf2/Makefile src/spfquery/Makefile src/spftest/Makefile src/spfd/Makefile src/spf_example/Makefile"
+
/tags/1.2.9-2/debian/patches/01_private_glibc_functions.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.9-2/debian/patches/20_spf_dns_include_std_headers.dpatch
===================================================================
--- tags/1.2.9-2/debian/patches/20_spf_dns_include_std_headers.dpatch (nonexistent)
+++ tags/1.2.9-2/debian/patches/20_spf_dns_include_std_headers.dpatch (revision 108)
@@ -0,0 +1,67 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_dns_include_std_headers.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Include arpa/nameser.h and netdb.h from spf_dns.h instead of defining
+## DP: the constants needed unless certain HAVE_ macros are defined.
+## DP: Updated for libspf2 1.2.8/9 by Scott Kitterman <scott@kitterman.com>
+
+@DPATCH@
+diff -urNad libspf2-1.2.9~/src/include/spf_dns.h libspf2-1.2.9/src/include/spf_dns.h
+--- libspf2-1.2.9~/src/include/spf_dns.h 2008-10-27 12:27:14.000000000 -0400
++++ libspf2-1.2.9/src/include/spf_dns.h 2008-11-04 10:10:58.000000000 -0500
+@@ -63,48 +63,19 @@
+ *
+ */
+
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
++ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+ /*
+- * For those who don't have <arpa/nameserv.h>
++ * Type 99 decl does not exist in Debian libc6 (not even 2.7)
+ */
+-
+-/* XXX This should use a more sensible define. */
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /**< Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+ #if ! HAVE_DECL_NS_T_SPF
+ #define ns_t_spf 99
+ #endif
+
+-#if ! HAVE_DECL_NS_T_INVALID
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /**< NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /**< SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /**< invalid/unimplmeneted query */
+-#define NO_DATA 4 /**< host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/tags/1.2.9-2/debian/patches/20_spf_dns_include_std_headers.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.9-2/debian/copyright
===================================================================
--- tags/1.2.9-2/debian/copyright (nonexistent)
+++ tags/1.2.9-2/debian/copyright (revision 108)
@@ -0,0 +1,39 @@
+This package was debianized by Eric Dorland <eric@debian.org> on
+Sun, 04 Jul 2004 19:00:36 -0400
+
+The current maintainer is Magnus Holmgren <holmgren@debian.org>.
+
+It was downloaded from http://www.libspf2.org/
+
+Upstream authors:
+ - Current maintainer: Shevek <libspf2@anarres.org>
+ - Contributors: Magnus Holmgren, Julian Mehnle, Scott Kitterman,
+ Dan Kaminsky, Ben Chelf, Hannah Schroeter, Manish Raje
+ - Original author, 1.0 series: Wayne Schlitt <wayne@schlitt.net>
+
+Copyright:
+
+Software copyright ยฉ 2004-2005 Wayne Schlitt and Shevek,
+ ยฉ 2008 Shevek.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+
+ a) The GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1, or (at your option) any
+ later version,
+
+ OR
+
+ b) The two-clause BSD license.
+
+On Debian systems, the complete text of the GNU Lesser General Public
+License can be found in the file `/usr/share/common-licenses/LGPL' and
+the BSD license can be found in the file `/usr/share/common-licenses/BSD'.
+
+The parts of the Debian packaging that is eligible for copyright is ยฉ
+2004-2006 Eric Dorland, 2007-2008 Magnus Holmgren and assumed to be
+licensed under the same licenses as above. The spfquery(1) manpage
+is (Giving the LGPL as an alternative is quite redundant as the BSD
+license is so permissive that it allows redistribution under the LGPL
+or most other licenses anyway).
Index: tags/1.2.9-2/debian/README.source
===================================================================
--- tags/1.2.9-2/debian/README.source (nonexistent)
+++ tags/1.2.9-2/debian/README.source (revision 108)
@@ -0,0 +1,8 @@
+This package uses dpatch to manage all modifications to the upstream
+source. Changes are stored in the source package as diffs in
+debian/patches and applied during the build. For basic usage
+information, see
+
+ /usr/share/doc/dpatch/README.source.gz
+
+(after installing dpatch).
Index: tags/1.2.9-2/debian/spfquery.postinst
===================================================================
--- tags/1.2.9-2/debian/spfquery.postinst (nonexistent)
+++ tags/1.2.9-2/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,17 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25 \
+ --slave /usr/share/man/man1/spfquery.1.gz spfquery.1.gz /usr/share/man/man1/spfquery.$source_package.1.gz
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.9-2/debian/spfquery.manpages
===================================================================
--- tags/1.2.9-2/debian/spfquery.manpages (nonexistent)
+++ tags/1.2.9-2/debian/spfquery.manpages (revision 108)
@@ -0,0 +1 @@
+debian/spfquery.libspf2.1
Index: tags/1.2.9-2/debian/spfquery.libspf2.1
===================================================================
--- tags/1.2.9-2/debian/spfquery.libspf2.1 (nonexistent)
+++ tags/1.2.9-2/debian/spfquery.libspf2.1 (revision 108)
@@ -0,0 +1,199 @@
+.\" Title: SPFQUERY
+.\" Author: Magnus Holmgren <magnus@kibibyte.se>
+.\" Date: 2007-09-06
+.\" Manual: libspf2 manuals for Debian
+.\" Source: libspf2 1.2.5
+.\"
+.TH "SPFQUERY" "1" "2007-09-06" "libspf2 1.2.5" "libspf2 manuals for Debian"
+.\" disable hyphenation
+.nh
+.SH NAME
+spfquery, spfquery.libspf2 \- checks if an IP address is an SPF-authorized SMTP sender for a domain.
+.SH SYNOPSIS
+.ad l
+.HP 9
+.B spfquery
+.RB { \-i | \-\-ip }
+.I ip\-address
+.RB { -s | \-\-sender }
+.RI [ local-part \fB@\fP] domain
+.RB [{ \-h | \-\-helo }
+.IR domain-name ]
+.RB [ \-\-rcpt\-to
+.IR email-address(es) ]
+.RI [ CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-f | \-\-file }
+.IR datafile " [" CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-\-help | \-v | \-\-version }
+.ad b
+.SH DESCRIPTION
+This manual page documents briefly the
+\fBspfquery\fR
+command. It was written for the
+Debian\*[R] distribution because the original program does not have a manual page.
+.PP
+\fBspfquery\fR performs Sender Policy Framework (SPF) authorization
+checks based on the command-line arguments or data given in a file or
+on standard input. For information on SPF see http://www.openspf.org.
+.
+.SH OPTIONS
+Options are divided into two groups: Data options, which must be
+given, though just enough of them to specify a query; and control
+options, which are optional and control the local policy, behaviour
+and output format of spfquery.
+.PP
+This programs follows the GNU \fBgetopt_long_only\fR(3) command line
+syntax: Long options can be given with one or two dashes and can be
+abbreviated to a prefix long enough to be non-ambiguous. If an option
+starting with a single dash doesn't match a long option, it is taken
+as a short option with a following parameter, if applicable. An equals
+sign between the option name and the parameter is optional for both
+short and long options.
+.SS Data options
+The
+\fB\-\-file\fR option conflicts with all the other data options. The
+\fB\-\-helo\fR and \fB\-\-rcpt\-to\fR are optional.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfilename\fR
+Read SPF data from \fIfilename\fR. Specify \(lq-\(rq to read from standard input.
+.sp
+The file should consist of one line per query, each query line consisting of the IP address, sender adress, and optional HELO string, separated by spaces.
+.sp
+\fBNote\fP
+Local parts containing spaces are currently not supported.
+.TP
+\fB\-i\fP, \fB\-\-ip\fP \fIip-address\fP
+Specify the IP address of the remote host that is delivering the mail.
+.TP
+\fB\-s\fP, \fB\-\-sender\fP [\fIlocal-part\fP\fB@\fP]\fIdomain\fP
+Specify the email address that was used as the envelope sender. If no
+username (local part) is given, \(lqpostmaster\(rq will be assumed.
+.TP
+\fB\-h\fP, \fB\-\-helo\fP \fIdomain-name\fP
+Specify that \fIdomain-name\fP was provided in the SMTP HELO (or EHLO) command.
+.TP
+\fB\-r\fP, \fB\-\-rcpt-to\fP \fIrcpt-address\fP[,\fIrcpt-address\fP,...]
+Specify the recipients as comma-separated list. Any secondary mail exchangers of all
+recipient domains are automatically authorized.
+.
+.SS Control options
+.TP
+\fB\-d\fP, \fB\-\-debug\fP[\fB=\fP\fIlevel\fP]
+Turn on debugging output.
+.TP
+\fB\-l\fP, \fB\-\-local\fP \fIspf\-terms\fP
+Test against \fIspf\-terms\fR before the final (implicit or explicit)
+\(lqall\(rq in an SPF record. This can be used to implement a local policy for whitelisting.
+.TP
+\fB\-t, \fB\-\-trusted\fR [\fB1\fR]
+Check the sender domain with trusted\-forwarder.org.
+\fBThis is a non\-standard feature.\fR
+.TP
+\fB\-t\fP \fB0\fP, \fB\-\-trusted\fR \fB0\fP
+Do not check the sender domain with trusted\-forwarder.org. This is the default.
+.TP
+\fB\-g\fP, \fB\-\-guess\fP \fIspf-mechanisms\fP
+Test the sender domain against \fIspf\-mechanisms\fP if the domain has no SPF record.
+.TP
+\fB\-e\fP, \fB\-\-default\-explanation\fP \fIstring\fP
+Default explanation string to use if the SPF record does not specify an expla\%nation string itself.
+.TP
+\fB\-m\fP, \fB\-\-max\-lookup\fP \fInumber\fP
+Maximum number of DNS lookups to allow.
+.TP
+\fB\-c\fP, \fB\-\-sanitize\fP [\fB0\fP|\fB1\fP]
+Do [not] sanitize the output by condensing conse\%cutive white\%space
+into a single space and replacing non-printable characters with
+question marks. Enabled by default.
+.TP
+\fB\-n\fP, \fB\-\-name\fP \fIhostname\fP
+Use
+\fIhostname\fP
+as the name of the local system instead of
+\(lqspfquery\(rq
+(the name is used in the output).
+.TP
+\fB\-k\fP, \fB\-\-keep\-comments\fP
+Print comments found when reading from a file.
+.TP
+\fB\-a\fP, \fB\-\-override\fP \fI...\fP
+.TP
+\fB\-z\fP, \fB\-\-fallback\fP \fI...\fP
+Provide override and fallback SPF records for certain domains.
+\fBNot implemented yet.\fP
+\fBspfquery\fP
+would act as if the speci\%fied records were present before and after any existing record, respectively, of those domains.
+.TP
+\fB\-\-help\fP
+Show summary of options.
+.TP
+\fB\-v\fP, \fB\-\-version\fP
+Show version of program.
+.SH DIAGNOSTICS
+The output ordinarily consists of four lines:
+.IP 1. 4
+the \fIresult code\fP;
+.IP 2. 4
+the \fIexplanation\fP, suitable for use in an SMTP response message, empty
+except when a rejection (permanent or temporary) makes sense;
+.IP 3. 4
+the header comment on its own;
+.IP 4. 4
+the Received\-SPF header field as defined in RFC 4408 section 7,
+incorporating the header comment.
+.PP
+If errors (including no SPF record found!) occur during processing,
+one or more error blocks will be prepended.
+These start with \(lqStartError\(lq and end with \(lqEndError\(lq.
+.PP
+The result codes and their corresponding exit codes are as follows:
+.TP
+.B 1 \(en neutral
+The sender domain explicitly makes no assertion about the \fIip-address\fP.
+This result must be interpreted exactly as if no SPF record at all existed.
+.TP
+.B 2 \(en pass
+The \fIip-address\fP is authorized to send mail for the sender domain.
+.TP
+.B 3 \(en fail
+The \fIip-address\fP is \fBunauthorized\fP to send mail for the sender domain.
+.TP
+.B 4 \(en softfail
+The \fIip-address\fP is not authorized to send mail for the sender domain, but
+the sender domain cannot or does not wish to make a strong assertion that no such mail can
+ever come from it.
+.TP
+.B 5 \(en none
+No SPF record was found.
+.TP
+.BR "6 \(en error" " (temporary)"
+A transient error occurred (e.g. failure to reach a DNS server), preventing a
+result from being reached.
+.TP
+.BR "7 \(en unknown" " (permanent error)"
+One or more SPF records could not be interpreted.
+.SH EXAMPLES
+.nf
+spfquery \-ip=11.22.33.44 \-sender=user@aol.com \-helo=spammer.tld
+spfquery \-f test_data
+echo "127.0.0.1 myname@mydomain.com helohost.com" | spfquery \-f \-
+.fi
+.SH SEE ALSO
+\fBspftest\fR(1), \fBspfd\fR(8)
+.SH AUTHOR
+\fBspfquery\fP was written by Wayne Schlitt.
+.PP
+This manual page was written by Magnus Holmgren for the Debian\*[R]
+system (but may be used by others). Heavily inspired by the spfquery manpage of
+libmail\-spf\-query\-perl (\fBspfquery.mail\-spf\-query\-perl\fR(1)) by Julian Mehnle.
+Also based on the command\-line help of spfquery.
+.SH COPYRIGHT
+Copyright \(co 2007 Magnus Holmgren. Permission is granted to copy,
+distribute and/or modify this document under the terms of the BSD
+License.
+.PP
+On Debian systems, the complete text of the BSD License can be found in /usr/share/common\-licenses/BSD.
Index: tags/1.2.9-2/debian/watch
===================================================================
--- tags/1.2.9-2/debian/watch (nonexistent)
+++ tags/1.2.9-2/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: tags/1.2.9-2/debian/spfquery.prerm
===================================================================
--- tags/1.2.9-2/debian/spfquery.prerm (nonexistent)
+++ tags/1.2.9-2/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.9-2/debian/compat
===================================================================
--- tags/1.2.9-2/debian/compat (nonexistent)
+++ tags/1.2.9-2/debian/compat (revision 108)
@@ -0,0 +1 @@
+5
Index: tags/1.2.9-2/debian/libspf2-dev.README.Debian
===================================================================
--- tags/1.2.9-2/debian/libspf2-dev.README.Debian (nonexistent)
+++ tags/1.2.9-2/debian/libspf2-dev.README.Debian (revision 108)
@@ -0,0 +1,8 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+ -- Eric Dorland <eric@debian.org>, Sun Jul 4 19:02:07 2004
Index: tags/1.2.9-2/debian/README.Debian-source
===================================================================
--- tags/1.2.9-2/debian/README.Debian-source (nonexistent)
+++ tags/1.2.9-2/debian/README.Debian-source (revision 108)
@@ -0,0 +1,16 @@
+The upstream tarball has been repackaged because it contained non-free
+material in the form of an (obsolete) IETF Internet Draft
+(draft-mengwong-spf-00.txt in the docs subdirectory). As far as I can
+see It's non-free because it doesn't contain any copyright information
+at all, thereby defaulting to "all right reserved" in most
+jurisdictions.
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+To download the original tarball use `debian/rules get-orig-source' or
+go to <http://www.libspf2.org/download.html> (beware that running
+debian/rules outside the package directory can have unwanted side
+effects due to CDBS).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Fri, 23 Mar 2007 16:44:20 +0100
Index: tags/1.2.9-2/debian
===================================================================
--- tags/1.2.9-2/debian (nonexistent)
+++ tags/1.2.9-2/debian (revision 108)
/tags/1.2.9-2/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: tags/1.2.5.dfsg-5+lenny1/debian/control
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/control (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/control (revision 108)
@@ -0,0 +1,51 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <holmgren@debian.org>
+Build-Depends: debhelper (>> 5), cdbs, dpatch, autotools-dev
+Standards-Version: 3.7.3
+Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+Vcs-Browser: http://svn.kibibyte.se/libspf2
+Homepage: http://www.libspf2.org/
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version})
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
Index: tags/1.2.5.dfsg-5+lenny1/debian/changelog
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/changelog (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/changelog (revision 108)
@@ -0,0 +1,174 @@
+libspf2 (1.2.5.dfsg-5+lenny1) testing-security; urgency=high
+
+ * [CVE-2008-2469] 50_dns_resolv_bufoverflow.dpatch: Fix buffer overflows
+ in DNS response parsing.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 19 Oct 2008 22:14:18 +0200
+
+libspf2 (1.2.5.dfsg-5) unstable; urgency=low
+
+ * 43_new_explanation_url.dpatch: Bring default explanation up to date by
+ referring to www.openspf.org instead of spf.pobox.com.
+ * Add spfquery(1) manpage.
+ * Fix format of copyright notice in debian/copyright.
+ * Move upstream homepage URL to the new Homepage control field, rename
+ VCS control fields, and update Standards-Version.
+ * A few cosmetic adjustments including fixing the indentation of the
+ 1.2.5.dfsg-3 entry below (Closes: #465466).
+ * New maintainer email address.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 18 Apr 2008 17:51:28 +0200
+
+libspf2 (1.2.5.dfsg-4) unstable; urgency=low
+
+ * Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
+ (Closes: #440147). Thanks to Matthias Cramer.
+ * 35_untabify_help.dpatch: Make --help output of utilities less ugly by
+ converting tabs to spaces.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
+
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: tags/1.2.5.dfsg-5+lenny1/debian/patches/50_dns_resolv_bufoverflow.dpatch
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/patches/50_dns_resolv_bufoverflow.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/patches/50_dns_resolv_bufoverflow.dpatch (revision 108)
@@ -0,0 +1,325 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 50_permanent_include_errors.dpatch by Shevek <shevek@anarres.org>, edited by Magnus Holmgren
+##
+## DP: Fix CVE-2008-2469 - buffer overflows handling DNS responses.
+
+@DPATCH@
+
+--- libspf2/src/libspf2/spf_dns_resolv.c.orig 2008-09-20 19:36:57.000000000 +0200
++++ libspf2/src/libspf2/spf_dns_resolv.c 2008-09-20 19:39:08.000000000 +0200
+@@ -110,7 +110,8 @@
+ int nrec;
+ int cnt;
+
+- u_char response[2048];
++ u_char *responsebuf;
++ size_t responselen;
+
+ int dns_len;
+
+@@ -127,11 +128,13 @@
+ char name_buf[ NS_MAXDNAME ];
+ int prio;
+
+- int rdlen;
+- const u_char *rdata, *rdata_end;
++ size_t rdlen;
++ const u_char *rdata;
+
++#if HAVE_DECL_RES_NINIT
+ void *res_spec;
+ struct __res_state *res_state;
++#endif
+
+ SPF_ASSERT_NOTNULL(spf_dns_server);
+
+@@ -140,10 +143,12 @@
+ SPF_ASSERT_NOTNULL(spfhook);
+ #endif
+
++#if HAVE_DECL_RES_NINIT
+ res_spec = pthread_getspecific(res_state_key);
+ if (res_spec == NULL) {
+ res_state = (struct __res_state *)
+ malloc(sizeof(struct __res_state));
++ memset(res_state, 0, sizeof(struct __res_state));
+ if (res_ninit(res_state) != 0) {
+ SPF_error("Failed to call res_ninit()");
+ }
+@@ -152,20 +157,45 @@
+ else {
+ res_state = (struct __res_state *)res_spec;
+ }
++#endif
++
++ responselen = 2048;
++ responsebuf = (u_char *)malloc(responselen);
++ memset(responsebuf, 0, responselen);
++
++ /*
++ * Retry the lookup until our response buffer is big enough.
++ *
++ * This loop repeats until either we fail a lookup or we succeed.
++ * The size of the response buffer is monotonic increasing, so eventually we
++ * must either succeed, or we try to malloc more RAM than we can.
++ *
++ * The Linux man pages do not describe res_nquery adequately. Solaris says:
++ *
++ * The res_nquery() and res_query() routines return a length that may be bigger
++ * than anslen. In that case, retry the query with a larger buf. The answer to the
++ * second query may be larger still], so it is recommended that you supply a buf
++ * larger than the answer returned by the previous query. answer must be large
++ * enough to receive a maximum UDP response from the server or parts of the answer
++ * will be silently discarded. The default maximum UDP response size is 512 bytes.
++ */
++ for (;;) {
+
+ /*
+ * try resolving the name
+ */
+ #if HAVE_DECL_RES_NINIT
+ dns_len = res_nquery(res_state, domain, ns_c_in, rr_type,
+- response, sizeof(response));
++ responsebuf, responselen);
+ #else
+ dns_len = res_query(domain, ns_c_in, rr_type,
+- response, sizeof(response));
++ responsebuf, responselen);
+ #endif
+
+ if ( dns_len < 0 ) {
++ /* We failed to perform a lookup. */
+ /* This block returns unconditionally. */
++ free(responsebuf);
+ if ( spf_dns_server->debug )
+ SPF_debugf( "query failed: err = %d %s (%d): %s",
+ dns_len, hstrerror( SPF_h_errno ), SPF_h_errno,
+@@ -178,6 +208,25 @@
+ return SPF_dns_rr_new_init(spf_dns_server,
+ domain, rr_type, 0, SPF_h_errno);
+ }
++ else if (dns_len > responselen) {
++ /* We managed a lookup but our buffer was too small. */
++ responselen = dns_len + (dns_len >> 1);
++#if 0
++ /* Sanity-trap - we should never hit this. */
++ if (responselen > 1048576) { /* One megabyte. */
++ free(responsebuf);
++ return SPF_dns_rr_new_init(spf_dns_server,
++ domain, rr_type, 0, SPF_h_errno);
++ }
++#endif
++ responsebuf = realloc(responsebuf, responselen);
++ }
++ else {
++ /* We managed a lookup, and our buffer was large enough. */
++ responselen = dns_len;
++ break;
++ }
++ }
+
+ /*
+ * initialize stuff
+@@ -185,12 +234,13 @@
+ spfrr = SPF_dns_rr_new_init(spf_dns_server,
+ domain, rr_type, 0, NETDB_SUCCESS);
+
+- err = ns_initparse( response, dns_len, &ns_handle );
++ err = ns_initparse(responsebuf, responselen, &ns_handle);
+
+ if ( err < 0 ) { /* 0 or -1 */
+ if ( spf_dns_server->debug )
+ SPF_debugf( "ns_initparse failed: err = %d %s (%d)",
+ err, strerror( errno ), errno );
++ free(responsebuf);
+ return spfrr;
+ }
+
+@@ -226,6 +276,7 @@
+ if ( spf_dns_server->debug > 1 )
+ SPF_debugf( "ns_parserr failed: err = %d %s (%d)",
+ err, strerror( errno ), errno );
++ free(responsebuf);
+ return spfrr;
+ }
+
+@@ -257,8 +308,8 @@
+ break;
+
+ case ns_t_ns:
+- err = ns_name_uncompress( response,
+- response + sizeof( response ),
++ err = ns_name_uncompress( responsebuf,
++ responsebuf + responselen,
+ rdata,
+ name_buf, sizeof( name_buf ) );
+ if ( err < 0 ) /* 0 or -1 */
+@@ -271,8 +322,8 @@
+ break;
+
+ case ns_t_cname:
+- err = ns_name_uncompress( response,
+- response + sizeof( response ),
++ err = ns_name_uncompress( responsebuf,
++ responsebuf + responselen,
+ rdata,
+ name_buf, sizeof( name_buf ) );
+ if ( err < 0 ) /* 0 or -1 */
+@@ -286,8 +337,8 @@
+
+ case ns_t_mx:
+ prio = ns_get16( rdata );
+- err = ns_name_uncompress( response,
+- response + sizeof( response ),
++ err = ns_name_uncompress( responsebuf,
++ responsebuf + sizeof( responselen ),
+ rdata + NS_INT16SZ,
+ name_buf, sizeof( name_buf ) );
+ if ( err < 0 ) /* 0 or -1 */
+@@ -300,14 +351,13 @@
+ break;
+
+ case ns_t_txt:
+- rdata_end = rdata + rdlen;
+ SPF_debugf( "TXT: (%d) \"%.*s\"",
+ rdlen, rdlen-1, rdata+1 );
+ break;
+
+ case ns_t_ptr:
+- err = ns_name_uncompress( response,
+- response + sizeof( response ),
++ err = ns_name_uncompress( responsebuf,
++ responsebuf + responselen,
+ rdata,
+ name_buf, sizeof( name_buf ) );
+ if ( err < 0 ) /* 0 or -1 */
+@@ -341,18 +391,21 @@
+ {
+ case ns_t_a:
+ if ( SPF_dns_rr_buf_realloc( spfrr, cnt,
+- sizeof( spfrr->rr[cnt]->a ) ) != SPF_E_SUCCESS )
++ sizeof(spfrr->rr[cnt]->a)) != SPF_E_SUCCESS) {
++ free(responsebuf);
+ return spfrr;
+- memmove( &spfrr->rr[cnt]->a, rdata, sizeof( spfrr->rr[cnt]->a ) );
++ }
++ memcpy(&spfrr->rr[cnt]->a, rdata, sizeof(spfrr->rr[cnt]->a));
+ cnt++;
+ break;
+
+ case ns_t_aaaa:
+ if ( SPF_dns_rr_buf_realloc( spfrr, cnt,
+- sizeof( spfrr->rr[cnt]->aaaa ) ) != SPF_E_SUCCESS )
++ sizeof(spfrr->rr[cnt]->aaaa)) != SPF_E_SUCCESS) {
++ free(responsebuf);
+ return spfrr;
+- memmove( &spfrr->rr[cnt]->aaaa, rdata, sizeof( spfrr->rr[cnt]->aaaa ) );
+-
++ }
++ memcpy(&spfrr->rr[cnt]->aaaa, rdata, sizeof(spfrr->rr[cnt]->aaaa));
+ cnt++;
+ break;
+
+@@ -364,8 +417,8 @@
+ break;
+
+ case ns_t_mx:
+- err = ns_name_uncompress( response,
+- response + sizeof( response ),
++ err = ns_name_uncompress(responsebuf,
++ responsebuf + responselen,
+ rdata + NS_INT16SZ,
+ name_buf, sizeof( name_buf ) );
+ if ( err < 0 ) /* 0 or -1 */
+@@ -373,12 +426,15 @@
+ if ( spf_dns_server->debug > 1 )
+ SPF_debugf( "ns_name_uncompress failed: err = %d %s (%d)",
+ err, strerror( errno ), errno );
++ free(responsebuf);
+ return spfrr;
+ }
+
+ if ( SPF_dns_rr_buf_realloc( spfrr, cnt,
+- strlen( name_buf ) + 1 ) != SPF_E_SUCCESS )
++ strlen(name_buf) + 1 ) != SPF_E_SUCCESS) {
++ free(responsebuf);
+ return spfrr;
++ }
+ strcpy( spfrr->rr[cnt]->mx, name_buf );
+
+ cnt++;
+@@ -390,8 +446,12 @@
+ u_char *src, *dst;
+ size_t len;
+
+- if ( SPF_dns_rr_buf_realloc( spfrr, cnt, rdlen ) != SPF_E_SUCCESS )
++ /* Just rdlen is enough because there is at least one
++ * length byte. */
++ if (SPF_dns_rr_buf_realloc(spfrr, cnt, rdlen) != SPF_E_SUCCESS) {
++ free(responsebuf);
+ return spfrr;
++ }
+
+ dst = (u_char *)(spfrr->rr[cnt]->txt);
+ len = 0;
+@@ -400,15 +460,22 @@
+ {
+ len = *src;
+ src++;
++ rdlen--;
++
++ /* Avoid buffer overrun if len is junk. */
++ if (len > rdlen)
++ len = rdlen;
+ memcpy( dst, src, len );
+ dst += len;
+ src += len;
+- rdlen -= len + 1;
++ rdlen -= len;
+ }
+ *dst = '\0';
+ } else {
+- if ( SPF_dns_rr_buf_realloc( spfrr, cnt, 1 ) != SPF_E_SUCCESS )
++ if (SPF_dns_rr_buf_realloc(spfrr, cnt, 1) != SPF_E_SUCCESS) {
++ free(responsebuf);
+ return spfrr;
++ }
+ spfrr->rr[cnt]->txt[0] = '\0';
+ }
+
+@@ -416,8 +483,8 @@
+ break;
+
+ case ns_t_ptr:
+- err = ns_name_uncompress( response,
+- response + sizeof( response ),
++ err = ns_name_uncompress(responsebuf,
++ responsebuf + responselen,
+ rdata,
+ name_buf, sizeof( name_buf ) );
+ if ( err < 0 ) /* 0 or -1 */
+@@ -425,12 +492,15 @@
+ if ( spf_dns_server->debug > 1 )
+ SPF_debugf( "ns_name_uncompress failed: err = %d %s (%d)",
+ err, strerror( errno ), errno );
++ free(responsebuf);
+ return spfrr;
+ }
+
+ if ( SPF_dns_rr_buf_realloc( spfrr, cnt,
+- strlen( name_buf ) + 1 ) != SPF_E_SUCCESS )
++ strlen(name_buf) + 1) != SPF_E_SUCCESS) {
++ free(responsebuf);
+ return spfrr;
++ }
+ strcpy( spfrr->rr[cnt]->ptr, name_buf );
+
+ cnt++;
+@@ -447,6 +517,7 @@
+ if ( spfrr->num_rr == 0 )
+ spfrr->herrno = NO_DATA;
+
++ free(responsebuf);
+ return spfrr;
+ }
+
Index: tags/1.2.5.dfsg-5+lenny1/debian/patches/42_empty_sender.dpatch
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/patches/42_empty_sender.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/patches/42_empty_sender.dpatch (revision 108)
@@ -0,0 +1,33 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 42_empty_sender.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## DP: If SPF_request_set_env_from() is called with from set to the empty
+## DP: string (i.e. a DSN), use the HELO identity. Also fix incorrect
+## DP: handling when the local part is empty (but the "@" is present).
+
+@DPATCH@
+diff -urNad trunk~/src/libspf2/spf_request.c trunk/src/libspf2/spf_request.c
+--- trunk~/src/libspf2/spf_request.c 2005-02-22 03:38:57.000000000 +0100
++++ trunk/src/libspf2/spf_request.c 2007-07-30 21:58:48.000000000 +0200
+@@ -142,14 +142,19 @@
+ SPF_FREE(sr->env_from_lp);
+ SPF_FREE(sr->env_from_dp);
+
++ if (*from == '\0' && sr->helo_dom != NULL) {
++ from = sr->helo_dom;
++ }
+ cp = strrchr(from, '@');
+ if (cp && (cp != from)) {
+ sr->env_from = strdup(from);
+- sr->env_from_lp = strdup(from); /* Too long, but simple */
+- sr->env_from_lp[(cp - from)] = '\0';
++ *cp = '\0';
++ sr->env_from_lp = strdup(from);
+ sr->env_from_dp = strdup(cp + 1);
++ *cp = '@';
+ }
+ else {
++ if (cp == from) from++; /* "@domain.example" */
+ len = sizeof("postmaster@") + strlen(from);
+ sr->env_from = malloc(len + 1); /* sizeof("") == 1? */
+ sprintf(sr->env_from, "postmaster@%s", from);
Index: tags/1.2.5.dfsg-5+lenny1/debian/patches/00list
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/patches/00list (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/patches/00list (revision 108)
@@ -0,0 +1,17 @@
+#01_line-endings
+02_wrong_lib_version_h
+20_64bit_types
+20_printf_types
+20_spf_dns_include_std_headers
+20_spf_server_unnecessary_include
+21_spfquery_infininte_loop
+22_spfquery_fallback_segfault
+23_spfquery_ipv6
+25_maxvals
+30_spfd_check_unlink_failure
+35_untabify_help
+40_permanent_include_errors
+41_none_not_neutral
+42_empty_sender
+43_new_explanation_url
+50_dns_resolv_bufoverflow
Index: tags/1.2.5.dfsg-5+lenny1/debian/patches/43_new_explanation_url.dpatch
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/patches/43_new_explanation_url.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/patches/43_new_explanation_url.dpatch (revision 108)
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 43_new_explanation_url.dpatch by <magnus@proffe.kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Bring default explanation up to date by referring to
+## DP: www.openspf.org instead of spf.pobox.com.
+
+@DPATCH@
+diff -urNad trunk~/src/include/spf.h trunk/src/include/spf.h
+--- trunk~/src/include/spf.h 2007-09-06 13:57:32.000000000 +0200
++++ trunk/src/include/spf.h 2007-09-06 13:58:59.000000000 +0200
+@@ -57,7 +57,7 @@
+ #define SPF_DEFAULT_SANITIZE 1
+ #define SPF_DEFAULT_WHITELIST "include:spf.trusted-forwarder.org"
+ #define SPF_EXP_MOD_NAME "exp-text"
+-#define SPF_DEFAULT_EXP "Please see http://spf.pobox.com/why.html?sender=%{S}&ip=%{C}&receiver=%{R}"
++#define SPF_DEFAULT_EXP "Please see http://www.openspf.org/Why?id=%{S}&ip=%{C}&receiver=%{R}"
+
+
+
/tags/1.2.5.dfsg-5+lenny1/debian/patches/43_new_explanation_url.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5+lenny1/debian/patches/35_untabify_help.dpatch
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/patches/35_untabify_help.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/patches/35_untabify_help.dpatch (revision 108)
@@ -0,0 +1,25 @@
+#!/bin/sh
+## 35_untabify_help.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Tidy up --help messages by converting tabs to four spaces (" ").
+
+FILES_TO_PROCESS="src/spfquery/spfquery.c
+ src/spftest/spftest.c
+ src/spf_example/spf_example.c"
+
+dpatch_patch() {
+ # Change line endings to LF in files with CRLF
+ perl -pi -e 's/("[^"]*?)\t/$1 / and redo;' $FILES_TO_PROCESS
+}
+
+dpatch_unpatch() {
+ # Change line endings back to CRLF in files that had it in the tarball
+ # Unfortunately there are exceptions ... have to watch out for changes
+ # in future upstream versions (or simply make backups instead).
+ perl -pi -e 's/("[^"]*?) /$1\t/ and redo;' $FILES_TO_PROCESS
+}
+
+DPATCH_LIB_NO_DEFAULT=1
+
+. /usr/share/dpatch/dpatch.lib.sh
Index: tags/1.2.5.dfsg-5+lenny1/debian/patches/23_spfquery_ipv6.dpatch
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/patches/23_spfquery_ipv6.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/patches/23_spfquery_ipv6.dpatch (revision 108)
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 23_spfquery_ipv6.dpatch by Matthias Cramer <matthias.cramer@interway.ch>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Make spfquery accept IPv6 addresses
+
+@DPATCH@
+
+--- libspf2-1.2.5.orig/src/spfquery/spfquery.c 2005-02-22 03:36:55.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/spfquery/spfquery.c 2007-08-30 09:39:32.000000000 +0200
+@@ -604,7 +602,8 @@
+
+ spf_request = SPF_request_new(spf_server);
+
+- if (SPF_request_set_ipv4_str(spf_request, req->ip)) {
++ if (SPF_request_set_ipv4_str(spf_request, req->ip)
++ && SPF_request_set_ipv6_str(spf_request, req->ip)) {
+ printf( "Invalid IP address.\n" );
+ CONTINUE_ERROR;
+
Index: tags/1.2.5.dfsg-5+lenny1/debian/patches/22_spfquery_fallback_segfault.dpatch
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/patches/22_spfquery_fallback_segfault.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/patches/22_spfquery_fallback_segfault.dpatch (revision 108)
@@ -0,0 +1,45 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 22_spfquery_fallback_segfault.dpatch by Robert Millan <rmh@aybabtu.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix segfault with malformed -guess argument
+
+@DPATCH@
+
+diff -ur libspf2-1.2.5.dfsg.old/src/spfquery/spfquery.c libspf2-1.2.5.dfsg/src/spfquery/spfquery.c
+--- libspf2-1.2.5.dfsg.old/src/spfquery/spfquery.c 2005-02-22 03:36:55.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/spfquery/spfquery.c 2007-06-24 13:17:34.000000000 +0200
+@@ -341,6 +341,7 @@
+ SPF_request_t *spf_request = NULL;
+ SPF_response_t *spf_response = NULL;
+ SPF_response_t *spf_response_2mx = NULL;
++ SPF_response_t *spf_response_fallback = NULL;
+ SPF_errcode_t err;
+
+ char *opt_file = NULL;
+@@ -670,20 +671,20 @@
+ /* We now have an option to call SPF_request_query_fallback */
+ if (opts->fallback) {
+ err = SPF_request_query_fallback(spf_request,
+- &spf_response, opts->fallback);
++ &spf_response_fallback, opts->fallback);
+ if (opts->debug)
+- response_print("fallback query", spf_response_2mx);
++ response_print("fallback query", spf_response_fallback);
+ if (err) {
+ response_print_errors("Failed to query best-guess",
+- spf_response, err);
++ spf_response_fallback, err);
+ CONTINUE_ERROR;
+ }
+
+ /* append the result */
+- APPEND_RESULT(SPF_response_result(spf_response_2mx));
++ APPEND_RESULT(SPF_response_result(spf_response_fallback));
+
+ spf_response = SPF_response_combine(spf_response,
+- spf_response_2mx);
++ spf_response_fallback);
+ }
+
+ printf( "%s\n%s\n%s\n%s\n",
Index: tags/1.2.5.dfsg-5+lenny1/debian/patches/41_none_not_neutral.dpatch
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/patches/41_none_not_neutral.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/patches/41_none_not_neutral.dpatch (revision 108)
@@ -0,0 +1,48 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 41_none_not_neutral.dpatch by Robert Millan <rmh@aybabtu.com>, edited by Magnus Holmgren
+##
+## DP: Differentiate between SPF_RESULT_NONE and
+## DP: SPF_RESULT_NEUTRAL in the header comment.
+
+@DPATCH@
+
+diff -ur libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c
+--- libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c 2005-02-22 04:41:27.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c 2007-07-01 01:03:17.000000000 +0200
+@@ -214,11 +226,15 @@
+ break;
+
+ case SPF_RESULT_NEUTRAL:
+- case SPF_RESULT_NONE:
+ snprintf( p, p_end - p, "%s is neither permitted nor denied by %s",
+ ip, spf_source );
+ break;
+
++ case SPF_RESULT_NONE:
++ snprintf( p, p_end - p, "%s does not provide an SPF record",
++ spf_source );
++ break;
++
+ case SPF_RESULT_TEMPERROR:
+ snprintf( p, p_end - p, "encountered temporary error during SPF processing of %s",
+ spf_source );
+diff -ur libspf2-1.2.5.dfsg.old/src/libspf2/spf_result.c libspf2-1.2.5.dfsg/src/libspf2/spf_result.c
+--- libspf2-1.2.5.dfsg.old/src/libspf2/spf_result.c 2004-08-10 15:04:02.000000000 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_result.c 2007-07-01 01:03:29.000000000 +0200
+@@ -187,11 +197,15 @@
+ break;
+
+ case SPF_RESULT_NEUTRAL:
+- case SPF_RESULT_NONE:
+ snprintf( p, p_end - p, "%s is neither permitted nor denied by %s",
+ ip, spf_source );
+ break;
+
++ case SPF_RESULT_NONE:
++ snprintf( p, p_end - p, "%s does not provide an SPF record",
++ spf_source );
++ break;
++
+ case SPF_RESULT_ERROR:
+ snprintf( p, p_end - p, "encountered temporary error during SPF processing of %s",
+ spf_source );
Index: tags/1.2.5.dfsg-5+lenny1/debian/patches/40_permanent_include_errors.dpatch
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/patches/40_permanent_include_errors.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/patches/40_permanent_include_errors.dpatch (revision 108)
@@ -0,0 +1,23 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 40_permanent_include_errors.dpatch by Robert Millan <rmh@aybabtu.com>, edited by Magnus Holmgren
+##
+## DP: Permanent error when processing an include: directive should in turn
+## DP: produce permanent error (see the table in RFC 4408 / section 5.2).
+
+@DPATCH@
+
+diff -ur libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c
+--- libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c 2005-02-22 04:41:27.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c 2007-07-01 01:03:17.000000000 +0200
+@@ -1022,7 +1042,10 @@
+ if (spf_record_subr)
+ SPF_record_free(spf_record_subr);
+ SPF_FREE_LOOKUP_DATA();
+- return DONE_TEMPERR( err );
++ if (err == SPF_E_DNS_ERROR)
++ return DONE_TEMPERR( err );
++ else
++ return DONE_PERMERR( err );
+ }
+
+ /*
Index: tags/1.2.5.dfsg-5+lenny1/debian/patches/20_printf_types.dpatch
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/patches/20_printf_types.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/patches/20_printf_types.dpatch (revision 108)
@@ -0,0 +1,64 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_printf_types.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Change the format strings of various calls to printf-style functions to
+## DP: match the arguments.
+
+@DPATCH@
+diff -urNad libspf2-1.2.5.dfsg~/src/libspf2/spf_compile.c libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c
+--- libspf2-1.2.5.dfsg~/src/libspf2/spf_compile.c 2007-03-27 14:28:00.931960929 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c 2007-03-27 14:30:04.000000000 +0200
+@@ -470,7 +470,7 @@
+ len = end - p;
+ if (spf_server->debug)
+ SPF_debugf("Adding string literal (%d): '%*.*s'",
+- len, len, len, p);
++ (int)len, (int)len, (int)len, p);
+ memcpy( dst, p, len );
+ ds_len += len;
+ dst += len;
+diff -urNad libspf2-1.2.5.dfsg~/src/libspf2/spf_id2str.c libspf2-1.2.5.dfsg/src/libspf2/spf_id2str.c
+--- libspf2-1.2.5.dfsg~/src/libspf2/spf_id2str.c 2007-03-27 14:27:58.171600935 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_id2str.c 2007-03-27 14:30:51.000000000 +0200
+@@ -309,7 +309,7 @@
+ p_end = *bufp + *buflenp;
+
+ if (debug)
+- SPF_debugf("stringify: Buffer length is %d\n", *buflenp);
++ SPF_debugf("stringify: Buffer length is %u\n", (unsigned int)*buflenp);
+
+
+ /*
+diff -urNad libspf2-1.2.5.dfsg~/src/libspf2/spf_print.c libspf2-1.2.5.dfsg/src/libspf2/spf_print.c
+--- libspf2-1.2.5.dfsg~/src/libspf2/spf_print.c 2007-03-27 14:27:58.231608763 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_print.c 2007-03-27 14:47:39.000000000 +0200
+@@ -54,12 +54,12 @@
+ return SPF_E_SUCCESS;
+ }
+
+- SPF_infof( "SPF header: version: %d mech %d/%d mod %d/%d len=%d",
++ SPF_infof( "SPF header: version: %d mech %d/%u mod %d/%u len=%u",
+ spf_record->version,
+- spf_record->num_mech, spf_record->mech_len,
+- spf_record->num_mod, spf_record->mod_len,
+- sizeof(SPF_record_t) + spf_record->mech_len
+- + spf_record->mod_len);
++ (int)spf_record->num_mech, (unsigned int)spf_record->mech_len,
++ (int)spf_record->num_mod, (unsigned int)spf_record->mod_len,
++ (unsigned int)(sizeof(SPF_record_t) + spf_record->mech_len
++ + spf_record->mod_len));
+
+ err = SPF_record_stringify(spf_record, &prt_buf, &prt_len);
+ if ( err == SPF_E_RESULT_UNKNOWN )
+@@ -81,7 +81,7 @@
+ void SPF_print_sizeof(void)
+ {
+ // SPF_infof( "sizeof(SPF_rec_header_t)=%u", sizeof(SPF_rec_header_t));
+- SPF_infof( "sizeof(SPF_mech_t)=%u", sizeof(SPF_mech_t));
+- SPF_infof( "sizeof(SPF_data_t)=%u", sizeof(SPF_data_t));
+- SPF_infof( "sizeof(SPF_mod_t)=%u", sizeof(SPF_mod_t));
++ SPF_infof( "sizeof(SPF_mech_t)=%u", (unsigned int)sizeof(SPF_mech_t));
++ SPF_infof( "sizeof(SPF_data_t)=%u", (unsigned int)sizeof(SPF_data_t));
++ SPF_infof( "sizeof(SPF_mod_t)=%u", (unsigned int)sizeof(SPF_mod_t));
+ }
/tags/1.2.5.dfsg-5+lenny1/debian/patches/20_printf_types.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5+lenny1/debian/patches/01_line-endings.dpatch
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/patches/01_line-endings.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/patches/01_line-endings.dpatch (revision 108)
@@ -0,0 +1,30 @@
+#!/bin/sh
+## 01_line-endings.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Convert CRLF line endings to LF in certain Windows-related files
+
+FILES_WITH_CRLF="src/libspf2/spf_dns_windns.c
+ src/libspf2/spf_win32.c
+ src/libreplace/win32_config.h
+ src/include/spf_dns_windns.h
+ src/include/spf_win32.h"
+
+set -e
+
+dpatch_patch() {
+ if [ ! -f debian/patched/patched-line-endings.tar.gz ]; then
+ tar -czf debian/patched/patched-line-endings.tar.gz $FILES_WITH_CRLF
+ # Change line endings to LF in files with CRLF
+ sed -ri -e 's/\r$//' $FILES_WITH_CRLF
+ fi
+}
+
+dpatch_unpatch() {
+ # Change line endings back to CRLF in files that had it in the tarball
+ tar -xzf debian/patched/patched-line-endings.tar.gz
+}
+
+DPATCH_LIB_NO_DEFAULT=1
+
+. /usr/share/dpatch/dpatch.lib.sh
/tags/1.2.5.dfsg-5+lenny1/debian/patches/01_line-endings.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5+lenny1/debian/patches/21_spfquery_infininte_loop.dpatch
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/patches/21_spfquery_infininte_loop.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/patches/21_spfquery_infininte_loop.dpatch (revision 108)
@@ -0,0 +1,21 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 21_spfquery_infininte_loop.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix infinite loop in spfquery.c:unimplemented().
+
+@DPATCH@
+diff -urNad libspf2-1.2.5.dfsg~/src/spfquery/spfquery.c libspf2-1.2.5.dfsg/src/spfquery/spfquery.c
+--- libspf2-1.2.5.dfsg~/src/spfquery/spfquery.c 2005-02-22 03:36:55.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/spfquery/spfquery.c 2007-03-24 22:28:15.000000000 +0100
+@@ -174,9 +174,7 @@
+ struct option *opt;
+ int i;
+
+- i = 0;
+- opt = &long_options[i];
+- while (opt->name) {
++ for (i = 0; (opt = &long_options[i])->name; i++) {
+ if (flag == opt->val) {
+ fprintf(stderr, "Unimplemented option: -%s or -%c\n",
+ opt->name, flag);
/tags/1.2.5.dfsg-5+lenny1/debian/patches/21_spfquery_infininte_loop.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5+lenny1/debian/patches/20_64bit_types.dpatch
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/patches/20_64bit_types.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/patches/20_64bit_types.dpatch (revision 108)
@@ -0,0 +1,105 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_64bit_types.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Change various ints to size_t etc, to avoid crashes on 64-bit
+## DP: architectures.
+
+@DPATCH@
+
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_internal.h libspf2-1.2.5.dfsg.new/src/include/spf_internal.h
+--- libspf2-1.2.5.dfsg/src/include/spf_internal.h 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/include/spf_internal.h 2007-03-23 23:08:54.000000000 +0100
+@@ -71,7 +71,7 @@
+ static inline size_t _align_sz(size_t s)
+ { return (s + (_ALIGN_SZ - 1 - (((s - 1) & (_ALIGN_SZ - 1))))); }
+ static inline char * _align_ptr(char *s)
+- { return (s + (_ALIGN_SZ - 1 - ((((unsigned int)s - 1) & (_ALIGN_SZ - 1))))); }
++ { return (s + (_ALIGN_SZ - 1 - ((((size_t)s - 1) & (_ALIGN_SZ - 1))))); }
+ #else
+ static inline size_t _align_sz(size_t s) { return s; }
+ static inline char * _align_ptr(char *s) { return s; }
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_record.h libspf2-1.2.5.dfsg.new/src/include/spf_record.h
+--- libspf2-1.2.5.dfsg/src/include/spf_record.h 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/include/spf_record.h 2007-03-23 23:08:54.000000000 +0100
+@@ -224,7 +224,7 @@
+
+ struct SPF_macro_struct
+ {
+- unsigned int macro_len; /* bytes of data */
++ size_t macro_len; /* bytes of data */
+ /* data: (SPF_data_t[] = char[macro_len]) follows */
+ };
+
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_compile.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_compile.c 2007-03-23 23:18:41.000000000 +0100
+@@ -98,7 +98,7 @@
+ }
+
+ static void
+-SPF_c_ensure_capacity(void **datap, int *sizep, int length)
++SPF_c_ensure_capacity(void **datap, size_t *sizep, int length)
+ {
+ int size = *sizep;
+ if (length > size)
+@@ -435,7 +435,7 @@
+ static SPF_errcode_t
+ SPF_c_parse_macro(SPF_server_t *spf_server,
+ SPF_response_t *spf_response,
+- SPF_data_t *data, int *data_len,
++ SPF_data_t *data, size_t *data_len,
+ const char **startp, const char **endp,
+ size_t max_len, SPF_errcode_t big_err,
+ int is_mod)
+@@ -551,10 +551,10 @@
+ static SPF_errcode_t
+ SPF_c_parse_domainspec(SPF_server_t *spf_server,
+ SPF_response_t *spf_response,
+- SPF_data_t *data, int *data_len,
++ SPF_data_t *data, size_t *data_len,
+ const char **startp, const char **endp,
+ size_t max_len, SPF_errcode_t big_err,
+- int cidr_ok, int is_mod)
++ SPF_cidr_t cidr_ok, int is_mod)
+ {
+ SPF_errcode_t err;
+ /* Generic parsing iterators and boundaries */
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_dns_resolv.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_dns_resolv.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_dns_resolv.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_dns_resolv.c 2007-03-23 23:08:54.000000000 +0100
+@@ -393,7 +393,7 @@
+ if ( SPF_dns_rr_buf_realloc( spfrr, cnt, rdlen ) != SPF_E_SUCCESS )
+ return spfrr;
+
+- dst = spfrr->rr[cnt]->txt;
++ dst = (u_char *)(spfrr->rr[cnt]->txt);
+ len = 0;
+ src = (u_char *)rdata;
+ while ( rdlen > 0 )
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_interpret.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_interpret.c 2007-03-23 23:20:30.000000000 +0100
+@@ -49,8 +49,8 @@
+ SPF_record_t *spf_record;
+ SPF_errcode_t err;
+ char *buf;
+- int buflen;
+- int len;
++ size_t buflen;
++ size_t len;
+
+ SPF_ASSERT_NOTNULL(spf_response);
+ spf_request = spf_response->spf_request;
+diff -Nur libspf2-1.2.5.dfsg/src/spfd/spfd.c libspf2-1.2.5.dfsg.new/src/spfd/spfd.c
+--- libspf2-1.2.5.dfsg/src/spfd/spfd.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/spfd/spfd.c 2007-03-23 23:08:54.000000000 +0100
+@@ -168,7 +168,7 @@
+ struct sockaddr_in in;
+ struct sockaddr_un un;
+ } addr;
+- int addrlen;
++ socklen_t addrlen;
+ char *data;
+ int datalen;
+
/tags/1.2.5.dfsg-5+lenny1/debian/patches/20_64bit_types.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5+lenny1/debian/patches/02_wrong_lib_version_h.dpatch
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/patches/02_wrong_lib_version_h.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/patches/02_wrong_lib_version_h.dpatch (revision 108)
@@ -0,0 +1,30 @@
+#!/bin/sh
+## 02_wrong_lib_version_h.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Move static spf_lib_version.h out of the way and patch configure to put
+## DP: the autogenerated one in the right place.
+
+set -e
+
+lib_version_h=src/include/spf_lib_version.h
+
+dpatch_patch() {
+ # Update configure script so that it writes to the right .h file
+ test -e configure.old || \
+ sed -ri.old -e 's%src/libspf2/spf_lib_version%src/include/spf_lib_version%' configure
+ # Move the bad .h file out of the way
+ test -e $lib_version_h.old || mv -f $lib_version_h $lib_version_h.old
+}
+
+dpatch_unpatch() {
+ # Move the bad .h file back to its position
+ if test -e $lib_version_h.old; then mv -f $lib_version_h.old $lib_version_h; fi
+ # Move the original configure script back
+ if test -e configure.old; then mv -f configure.old configure; fi
+}
+
+
+DPATCH_LIB_NO_DEFAULT=1
+
+. /usr/share/dpatch/dpatch.lib.sh
/tags/1.2.5.dfsg-5+lenny1/debian/patches/02_wrong_lib_version_h.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5+lenny1/debian/patches/20_spf_server_unnecessary_include.dpatch
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/patches/20_spf_server_unnecessary_include.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/patches/20_spf_server_unnecessary_include.dpatch (revision 108)
@@ -0,0 +1,18 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_server_unnecessary_include.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: src/include/spf_server.h: Remove useless include of spf_dns_internal.h.
+
+@DPATCH@
+
+--- libspf2-1.2.5.dfsg.orig/src/include/spf_server.h
++++ libspf2-1.2.5.dfsg/src/include/spf_server.h
+@@ -20,7 +20,6 @@
+
+ #include "spf_record.h"
+ #include "spf_dns.h"
+-#include "spf_dns_internal.h"
+
+ #ifndef SPF_MAX_DNS_MECH
+ /* It is a bad idea to change this for two reasons.
/tags/1.2.5.dfsg-5+lenny1/debian/patches/20_spf_server_unnecessary_include.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5+lenny1/debian/patches/25_maxvals.dpatch
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/patches/25_maxvals.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/patches/25_maxvals.dpatch (revision 108)
@@ -0,0 +1,61 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 25_maxvals.dpatch by Thomas Jacob <jacob@internet24.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Bring certain processing limits (meant to mitigate DoS attacks) in line
+## DP: with RFC 4408.
+
+@DPATCH@
+
+diff -ruN libspf2-1.2.5/src/include/spf.h libspf2-1.2.5.patched/src/include/spf.h
+--- libspf2-1.2.5/src/include/spf.h 2005-02-17 01:56:55.000000000 +0100
++++ libspf2-1.2.5.patched/src/include/spf.h 2007-03-14 16:58:21.000000000 +0100
+@@ -52,8 +52,8 @@
+
+ /* FYI only -- defaults can't be changed without recompiling the library */
+ #define SPF_DEFAULT_MAX_DNS_MECH 10 /* DoS limit on SPF mechanisms */
+-#define SPF_DEFAULT_MAX_DNS_PTR 5 /* DoS limit on PTR records */
+-#define SPF_DEFAULT_MAX_DNS_MX 5 /* DoS limit on MX records */
++#define SPF_DEFAULT_MAX_DNS_PTR 10 /* DoS limit on PTR records */
++#define SPF_DEFAULT_MAX_DNS_MX 10 /* DoS limit on MX records */
+ #define SPF_DEFAULT_SANITIZE 1
+ #define SPF_DEFAULT_WHITELIST "include:spf.trusted-forwarder.org"
+ #define SPF_EXP_MOD_NAME "exp-text"
+diff -ruN libspf2-1.2.5/src/include/spf_internal.h libspf2-1.2.5.patched/src/include/spf_internal.h
+--- libspf2-1.2.5/src/include/spf_internal.h 2005-02-24 05:10:49.000000000 +0100
++++ libspf2-1.2.5.patched/src/include/spf_internal.h 2007-03-14 16:58:04.000000000 +0100
+@@ -57,13 +57,13 @@
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_PTR 5
++#define SPF_MAX_DNS_PTR 10
+ #endif
+ #ifndef SPF_MAX_DNS_MX
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_MX 5
++#define SPF_MAX_DNS_MX 10
+ #endif
+
+ #if 1
+diff -ruN libspf2-1.2.5/src/include/spf_server.h libspf2-1.2.5.patched/src/include/spf_server.h
+--- libspf2-1.2.5/src/include/spf_server.h 2004-09-29 12:33:09.000000000 +0200
++++ libspf2-1.2.5.patched/src/include/spf_server.h 2007-03-14 16:58:54.000000000 +0100
+@@ -44,13 +44,13 @@
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_PTR 5
++#define SPF_MAX_DNS_PTR 10
+ #endif
+ #ifndef SPF_MAX_DNS_MX
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_MX 5
++#define SPF_MAX_DNS_MX 10
+ #endif
+
+ struct SPF_server_struct {
/tags/1.2.5.dfsg-5+lenny1/debian/patches/25_maxvals.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5+lenny1/debian/patches/30_spfd_check_unlink_failure.dpatch
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/patches/30_spfd_check_unlink_failure.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/patches/30_spfd_check_unlink_failure.dpatch (revision 108)
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 30_spfd_check_unlink_failure.dpatch by Thomas Jacob <jacob@internet24.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix a call to unlink() in spfd.c. It passed 'path < 0' as the argument
+## DP: instead of checking whether the return value < 0.
+
+@DPATCH@
+
+--- libspf2-1.2.5/src/spfd/spfd.c 2005-02-19 03:40:35.000000000 +0100
++++ libspf2-1.2.5-amd64/src/spfd/spfd.c 2007-03-08 21:17:09.000000000 +0100
+@@ -640,7 +640,7 @@
+ memset(&addr, 0, sizeof(addr));
+ addr.sun_family = AF_UNIX;
+ strcpy(addr.sun_path, spfd_config.path);
+- if (unlink(spfd_config.path < 0)) {
++ if (unlink(spfd_config.path) < 0) {
+ if (errno != ENOENT) {
+ perror("unlink");
+ DIE("Failed to unlink socket");
/tags/1.2.5.dfsg-5+lenny1/debian/patches/30_spfd_check_unlink_failure.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5+lenny1/debian/patches/20_spf_dns_include_std_headers.dpatch
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/patches/20_spf_dns_include_std_headers.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/patches/20_spf_dns_include_std_headers.dpatch (revision 108)
@@ -0,0 +1,60 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_dns_include_std_headers.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Include arpa/nameser.h and netdb.h from spf_dns.h instead of defining
+## DP: the constants needed unless certain HAVE_ macros are defined.
+
+@DPATCH@
+
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_dns.h libspf2-1.2.5.dfsg.new/src/include/spf_dns.h
+--- libspf2-1.2.5.dfsg/src/include/spf_dns.h 2004-08-29 16:59:33.000000000 +0200
++++ libspf2-1.2.5.dfsg.new/src/include/spf_dns.h 2007-03-23 18:04:17.000000000 +0100
+@@ -61,43 +61,12 @@
+ *
+ */
+
+-
+-/*
+- * For those who don't have <arpa/nameserv.h>
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
+ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /* Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+-#ifndef ns_t_invalid
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /* NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /* SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /* invalid/unimplmeneted query */
+-#define NO_DATA 4 /* host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/tags/1.2.5.dfsg-5+lenny1/debian/patches/20_spf_dns_include_std_headers.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5+lenny1/debian/spfquery.postinst
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/spfquery.postinst (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,17 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25 \
+ --slave /usr/share/man/man1/spfquery.1.gz spfquery.1.gz /usr/share/man/man1/spfquery.$source_package.1.gz
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.5.dfsg-5+lenny1/debian/spfquery.manpages
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/spfquery.manpages (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/spfquery.manpages (revision 108)
@@ -0,0 +1 @@
+debian/spfquery.libspf2.1
Index: tags/1.2.5.dfsg-5+lenny1/debian/copyright
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/copyright (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/copyright (revision 108)
@@ -0,0 +1,20 @@
+This package was debianized by Eric Dorland <eric@debian.org> on
+Sun, 04 Jul 2004 19:00:36 -0400
+
+The current maintainer is Magnus Holmgren <magnus@kibibyte.se>.
+
+It was downloaded from http://www.libspf2.org/
+
+Upstream Author: Wayne Schlitt <wayne@schlitt.net>
+
+Copyright:
+
+Software copyright ยฉ 2004-2005 Wayne Schlitt <wayne@schlitt.net> and
+Shevek <shevek@anarres.org>
+
+You are free to distribute this software under the terms of the GNU Lesser
+General Public License version 2.1 or the BSD license, at your choice.
+
+On Debian systems, the complete text of the GNU Lesser General Public
+License can be found in the file `/usr/share/common-licenses/LGPL-2.1' and
+the BSD license can be found in the file `/usr/share/common-licenses/BSD'.
Index: tags/1.2.5.dfsg-5+lenny1/debian/spfquery.libspf2.1
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/spfquery.libspf2.1 (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/spfquery.libspf2.1 (revision 108)
@@ -0,0 +1,199 @@
+.\" Title: SPFQUERY
+.\" Author: Magnus Holmgren <magnus@kibibyte.se>
+.\" Date: 2007-09-06
+.\" Manual: libspf2 manuals for Debian
+.\" Source: libspf2 1.2.5
+.\"
+.TH "SPFQUERY" "1" "2007-09-06" "libspf2 1.2.5" "libspf2 manuals for Debian"
+.\" disable hyphenation
+.nh
+.SH NAME
+spfquery, spfquery.libspf2 \- checks if an IP address is an SPF-authorized SMTP sender for a domain.
+.SH SYNOPSIS
+.ad l
+.HP 9
+.B spfquery
+.RB { \-i | \-\-ip }
+.I ip\-address
+.RB { -s | \-\-sender }
+.RI [ local-part \fB@\fP] domain
+.RB [{ \-h | \-\-helo }
+.IR domain-name ]
+.RB [ \-\-rcpt\-to
+.IR email-address(es) ]
+.RI [ CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-f | \-\-file }
+.IR datafile " [" CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-\-help | \-v | \-\-version }
+.ad b
+.SH DESCRIPTION
+This manual page documents briefly the
+\fBspfquery\fR
+command. It was written for the
+Debian\*[R] distribution because the original program does not have a manual page.
+.PP
+\fBspfquery\fR performs Sender Policy Framework (SPF) authorization
+checks based on the command-line arguments or data given in a file or
+on standard input. For information on SPF see http://www.openspf.org.
+.
+.SH OPTIONS
+Options are divided into two groups: Data options, which must be
+given, though just enough of them to specify a query; and control
+options, which are optional and control the local policy, behaviour
+and output format of spfquery.
+.PP
+This programs follows the GNU \fBgetopt_long_only\fR(3) command line
+syntax: Long options can be given with one or two dashes and can be
+abbreviated to a prefix long enough to be non-ambiguous. If an option
+starting with a single dash doesn't match a long option, it is taken
+as a short option with a following parameter, if applicable. An equals
+sign between the option name and the parameter is optional for both
+short and long options.
+.SS Data options
+The
+\fB\-\-file\fR option conflicts with all the other data options. The
+\fB\-\-helo\fR and \fB\-\-rcpt\-to\fR are optional.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfilename\fR
+Read SPF data from \fIfilename\fR. Specify \(lq-\(rq to read from standard input.
+.sp
+The file should consist of one line per query, each query line consisting of the IP address, sender adress, and optional HELO string, separated by spaces.
+.sp
+\fBNote\fP
+Local parts containing spaces are currently not supported.
+.TP
+\fB\-i\fP, \fB\-\-ip\fP \fIip-address\fP
+Specify the IP address of the remote host that is delivering the mail.
+.TP
+\fB\-s\fP, \fB\-\-sender\fP [\fIlocal-part\fP\fB@\fP]\fIdomain\fP
+Specify the email address that was used as the envelope sender. If no
+username (local part) is given, \(lqpostmaster\(rq will be assumed.
+.TP
+\fB\-h\fP, \fB\-\-helo\fP \fIdomain-name\fP
+Specify that \fIdomain-name\fP was provided in the SMTP HELO (or EHLO) command.
+.TP
+\fB\-r\fP, \fB\-\-rcpt-to\fP \fIrcpt-address\fP[,\fIrcpt-address\fP,...]
+Specify the recipients as comma-separated list. Any secondary mail exchangers of all
+recipient domains are automatically authorized.
+.
+.SS Control options
+.TP
+\fB\-d\fP, \fB\-\-debug\fP[\fB=\fP\fIlevel\fP]
+Turn on debugging output.
+.TP
+\fB\-l\fP, \fB\-\-local\fP \fIspf\-terms\fP
+Test against \fIspf\-terms\fR before the final (implicit or explicit)
+\(lqall\(rq in an SPF record. This can be used to implement a local policy for whitelisting.
+.TP
+\fB\-t, \fB\-\-trusted\fR [\fB1\fR]
+Check the sender domain with trusted\-forwarder.org.
+\fBThis is a non\-standard feature.\fR
+.TP
+\fB\-t\fP \fB0\fP, \fB\-\-trusted\fR \fB0\fP
+Do not check the sender domain with trusted\-forwarder.org. This is the default.
+.TP
+\fB\-g\fP, \fB\-\-guess\fP \fIspf-mechanisms\fP
+Test the sender domain against \fIspf\-mechanisms\fP if the domain has no SPF record.
+.TP
+\fB\-e\fP, \fB\-\-default\-explanation\fP \fIstring\fP
+Default explanation string to use if the SPF record does not specify an expla\%nation string itself.
+.TP
+\fB\-m\fP, \fB\-\-max\-lookup\fP \fInumber\fP
+Maximum number of DNS lookups to allow.
+.TP
+\fB\-c\fP, \fB\-\-sanitize\fP [\fB0\fP|\fB1\fP]
+Do [not] sanitize the output by condensing conse\%cutive white\%space
+into a single space and replacing non-printable characters with
+question marks. Enabled by default.
+.TP
+\fB\-n\fP, \fB\-\-name\fP \fIhostname\fP
+Use
+\fIhostname\fP
+as the name of the local system instead of
+\(lqspfquery\(rq
+(the name is used in the output).
+.TP
+\fB\-k\fP, \fB\-\-keep\-comments\fP
+Print comments found when reading from a file.
+.TP
+\fB\-a\fP, \fB\-\-override\fP \fI...\fP
+.TP
+\fB\-z\fP, \fB\-\-fallback\fP \fI...\fP
+Provide override and fallback SPF records for certain domains.
+\fBNot implemented yet.\fP
+\fBspfquery\fP
+would act as if the speci\%fied records were present before and after any existing record, respectively, of those domains.
+.TP
+\fB\-\-help\fP
+Show summary of options.
+.TP
+\fB\-v\fP, \fB\-\-version\fP
+Show version of program.
+.SH DIAGNOSTICS
+The output ordinarily consists of four lines:
+.IP 1. 4
+the \fIresult code\fP;
+.IP 2. 4
+the \fIexplanation\fP, suitable for use in an SMTP response message, empty
+except when a rejection (permanent or temporary) makes sense;
+.IP 3. 4
+the header comment on its own;
+.IP 4. 4
+the Received\-SPF header field as defined in RFC 4408 section 7,
+incorporating the header comment.
+.PP
+If errors (including no SPF record found!) occur during processing,
+one or more error blocks will be prepended.
+These start with \(lqStartError\(lq and end with \(lqEndError\(lq.
+.PP
+The result codes and their corresponding exit codes are as follows:
+.TP
+.B 1 \(en neutral
+The sender domain explicitly makes no assertion about the \fIip-address\fP.
+This result must be interpreted exactly as if no SPF record at all existed.
+.TP
+.B 2 \(en pass
+The \fIip-address\fP is authorized to send mail for the sender domain.
+.TP
+.B 3 \(en fail
+The \fIip-address\fP is \fBunauthorized\fP to send mail for the sender domain.
+.TP
+.B 4 \(en softfail
+The \fIip-address\fP is not authorized to send mail for the sender domain, but
+the sender domain cannot or does not wish to make a strong assertion that no such mail can
+ever come from it.
+.TP
+.B 5 \(en none
+No SPF record was found.
+.TP
+.BR "6 \(en error" " (temporary)"
+A transient error occurred (e.g. failure to reach a DNS server), preventing a
+result from being reached.
+.TP
+.BR "7 \(en unknown" " (permanent error)"
+One or more SPF records could not be interpreted.
+.SH EXAMPLES
+.nf
+spfquery \-ip=11.22.33.44 \-sender=user@aol.com \-helo=spammer.tld
+spfquery \-f test_data
+echo "127.0.0.1 myname@mydomain.com helohost.com" | spfquery \-f \-
+.fi
+.SH SEE ALSO
+\fBspftest\fR(1), \fBspfd\fR(8)
+.SH AUTHOR
+\fBspfquery\fP was written by Wayne Schlitt.
+.PP
+This manual page was written by Magnus Holmgren for the Debian\*[R]
+system (but may be used by others). Heavily inspired by the spfquery manpage of
+libmail\-spf\-query\-perl (\fBspfquery.mail\-spf\-query\-perl\fR(1)) by Julian Mehnle.
+Also based on the command\-line help of spfquery.
+.SH COPYRIGHT
+Copyright \(co 2007 Magnus Holmgren. Permission is granted to copy,
+distribute and/or modify this document under the terms of the BSD
+License.
+.PP
+On Debian systems, the complete text of the BSD License can be found in /usr/share/common\-licenses/BSD.
Index: tags/1.2.5.dfsg-5+lenny1/debian/README.Debian
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/README.Debian (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/README.Debian (revision 108)
@@ -0,0 +1,22 @@
+libspf2 for Debian
+==================
+
+Debian's version of libspf2 does a couple of things slightly
+differently compared to the upstream version (usually meaning: more
+RFC-compliantly). You can always see all applied patches by
+downloading the source package and looking in the debian/patches
+subdirectory. All patches should also be mentioned in the Debian
+changelog. Some deserve further comment, though:
+
+* 42_empty_sender.dpatch changes SPF_request_set_env_sender() so that
+ if called with an empty envelope sender, the envelope sender in the
+ SPF_request_struct structure will be set to the HELO identity
+ instead ("postmaster@" + the HELO domain), provided that
+ SPF_request_set_helo_dom() has been called beforehand. This should
+ improve behaviour of applications that (incorrectly) call
+ SPF_request_set_env_sender() with an empty envelope sender address.
+ However, applications SHOULD NOT RELY ON THIS, but should check if
+ the envelope sender address is empty, and in that case pass the HELO
+ identity instead, or use the result of an earlier HELO check.
+
+ -- Magnus Holmgren <magnus@kibibyte.se>, Wed, 22 Aug 2007 17:10:07 +0200
Index: tags/1.2.5.dfsg-5+lenny1/debian/watch
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/watch (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: tags/1.2.5.dfsg-5+lenny1/debian/libspf2-dev.install
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/libspf2-dev.install (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,4 @@
+debian/tmp/usr/lib/*.so usr/lib
+debian/tmp/usr/lib/*.a usr/lib
+debian/tmp/usr/lib/*.la usr/lib
+debian/tmp/usr/include/* usr/include
Index: tags/1.2.5.dfsg-5+lenny1/debian/spfquery.prerm
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/spfquery.prerm (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.5.dfsg-5+lenny1/debian/compat
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/compat (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/compat (revision 108)
@@ -0,0 +1 @@
+5
Index: tags/1.2.5.dfsg-5+lenny1/debian/spfquery.install
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/spfquery.install (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+debian/tmp/usr/bin/spfquery usr/bin
+debian/tmp/usr/bin/spftest usr/bin
+debian/tmp/usr/bin/spf_example usr/bin
+debian/tmp/usr/bin/spfd usr/sbin
Index: tags/1.2.5.dfsg-5+lenny1/debian/libspf2-2.install
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/libspf2-2.install (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+debian/tmp/usr/lib/*.so.* usr/lib
Index: tags/1.2.5.dfsg-5+lenny1/debian/libspf2-dev.README.Debian
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/libspf2-dev.README.Debian (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/libspf2-dev.README.Debian (revision 108)
@@ -0,0 +1,8 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+ -- Eric Dorland <eric@debian.org>, Sun Jul 4 19:02:07 2004
Index: tags/1.2.5.dfsg-5+lenny1/debian/rules
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/rules (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/rules (revision 108)
@@ -0,0 +1,17 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+
+include /usr/share/cdbs/1/class/autotools.mk
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/dpatch.mk
+
+DEB_DH_MAKESHLIBS_ARGS_libspf2-2 = -V 'libspf2-2 (>= 1.2.5)'
+
+binary-install/spfquery::
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.5.tar.gz
/tags/1.2.5.dfsg-5+lenny1/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5+lenny1/debian/README.Debian-source
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian/README.Debian-source (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian/README.Debian-source (revision 108)
@@ -0,0 +1,16 @@
+The upstream tarball has been repackaged because it contained non-free
+material in the form of an (obsolete) IETF Internet Draft
+(draft-mengwong-spf-00.txt in the docs subdirectory). As far as I can
+see It's non-free because it doesn't contain any copyright information
+at all, thereby defaulting to "all right reserved" in most
+jurisdictions.
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+To download the original tarball use `debian/rules get-orig-source' or
+go to <http://www.libspf2.org/download.html> (beware that running
+debian/rules outside the package directory can have unwanted side
+effects due to CDBS).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Fri, 23 Mar 2007 16:44:20 +0100
Index: tags/1.2.5.dfsg-5+lenny1/debian
===================================================================
--- tags/1.2.5.dfsg-5+lenny1/debian (nonexistent)
+++ tags/1.2.5.dfsg-5+lenny1/debian (revision 108)
/tags/1.2.5.dfsg-5+lenny1/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: tags/1.2.8~dfsg-1/debian/changelog
===================================================================
--- tags/1.2.8~dfsg-1/debian/changelog (nonexistent)
+++ tags/1.2.8~dfsg-1/debian/changelog (revision 108)
@@ -0,0 +1,194 @@
+libspf2 (1.2.8~dfsg-1) unstable; urgency=low
+
+ * Merge changes from Ubuntu.
+ * Fix and tweak library dependency information (shlibs as well as
+ symbols).
+ * Upgrade to Standards-Version: 3.8.0. Changes needed:
+ + Add debian/README.source (ยง 4.9).
+ * Bring debian/copyright a bit more up-to-date.
+
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 02 Nov 2008 12:29:51 +0100
+
+libspf2 (1.2.8~dfsg-0ubuntu1) intrepid; urgency=low
+
+ * New upstream release (LP: #283920)
+ - Fixes multiple memory leaks
+ - CVE2008-2469 buffer overflows
+ - Adds new documentation
+ - Drop all patches except 20_spf_dns_include_std_headers.dpatch (included
+ upstream)
+ - Freshen 20_spf_dns_include_std_headers.dpatch
+ - Update debian/rules for new release
+ * Repack tarball to remove non-DFSG Free IETF draft
+ * Added debian/libspf2-2.symbols and updated for new version
+ * Drop README.Debian since it no longer applies.
+
+ -- Scott Kitterman <scott@kitterman.com> Sun, 19 Oct 2008 01:00:13 -0400
+
+libspf2 (1.2.5.dfsg-5) unstable; urgency=low
+
+ * 43_new_explanation_url.dpatch: Bring default explanation up to date by
+ referring to www.openspf.org instead of spf.pobox.com.
+ * Add spfquery(1) manpage.
+ * Fix format of copyright notice in debian/copyright.
+ * Move upstream homepage URL to the new Homepage control field, rename
+ VCS control fields, and update Standards-Version.
+ * A few cosmetic adjustments including fixing the indentation of the
+ 1.2.5.dfsg-3 entry below (Closes: #465466).
+ * New maintainer email address.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 18 Apr 2008 17:51:28 +0200
+
+libspf2 (1.2.5.dfsg-4) unstable; urgency=low
+
+ * Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
+ (Closes: #440147). Thanks to Matthias Cramer.
+ * 35_untabify_help.dpatch: Make --help output of utilities less ugly by
+ converting tabs to spaces.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
+
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: tags/1.2.8~dfsg-1/debian/copyright
===================================================================
--- tags/1.2.8~dfsg-1/debian/copyright (nonexistent)
+++ tags/1.2.8~dfsg-1/debian/copyright (revision 108)
@@ -0,0 +1,39 @@
+This package was debianized by Eric Dorland <eric@debian.org> on
+Sun, 04 Jul 2004 19:00:36 -0400
+
+The current maintainer is Magnus Holmgren <holmgren@debian.org>.
+
+It was downloaded from http://www.libspf2.org/
+
+Upstream authors:
+ - Current maintainer: Shevek <libspf2@anarres.org>
+ - Contributors: Magnus Holmgren, Julian Mehnle, Scott Kitterman,
+ Dan Kaminsky, Ben Chelf, Hannah Schroeter, Manish Raje
+ - Original author, 1.0 series: Wayne Schlitt <wayne@schlitt.net>
+
+Copyright:
+
+Software copyright ยฉ 2004-2005 Wayne Schlitt and Shevek,
+ ยฉ 2008 Shevek.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+
+ a) The GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1, or (at your option) any
+ later version,
+
+ OR
+
+ b) The two-clause BSD license.
+
+On Debian systems, the complete text of the GNU Lesser General Public
+License can be found in the file `/usr/share/common-licenses/LGPL' and
+the BSD license can be found in the file `/usr/share/common-licenses/BSD'.
+
+The parts of the Debian packaging that is eligible for copyright is ยฉ
+2004-2006 Eric Dorland, 2007-2008 Magnus Holmgren and assumed to be
+licensed under the same licenses as above. The spfquery(1) manpage
+is (Giving the LGPL as an alternative is quite redundant as the BSD
+license is so permissive that it allows redistribution under the LGPL
+or most other licenses anyway).
\ No newline at end of file
Index: tags/1.2.8~dfsg-1/debian/control
===================================================================
--- tags/1.2.8~dfsg-1/debian/control (nonexistent)
+++ tags/1.2.8~dfsg-1/debian/control (revision 108)
@@ -0,0 +1,51 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <holmgren@debian.org>
+Build-Depends: debhelper (>> 5), cdbs, dpatch, autotools-dev
+Standards-Version: 3.8.0
+Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+Vcs-Browser: http://svn.kibibyte.se/libspf2
+Homepage: http://www.libspf2.org/
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version})
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
Index: tags/1.2.8~dfsg-1/debian/README.source
===================================================================
--- tags/1.2.8~dfsg-1/debian/README.source (nonexistent)
+++ tags/1.2.8~dfsg-1/debian/README.source (revision 108)
@@ -0,0 +1,8 @@
+This package uses dpatch to manage all modifications to the upstream
+source. Changes are stored in the source package as diffs in
+debian/patches and applied during the build. For basic usage
+information, see
+
+ /usr/share/doc/dpatch/README.source.gz
+
+(after installing dpatch).
Index: tags/1.2.8~dfsg-1/debian/libspf2-2.symbols
===================================================================
--- tags/1.2.8~dfsg-1/debian/libspf2-2.symbols (nonexistent)
+++ tags/1.2.8~dfsg-1/debian/libspf2-2.symbols (revision 108)
@@ -0,0 +1,130 @@
+libspf2.so.2 libspf2-2 #MINVER#
+ SPF_debug_handler@Base 0
+ SPF_debug_stdio@Base 0
+ SPF_debug_syslog@Base 0
+ SPF_debugv@Base 0
+ SPF_debugx2@Base 0
+ SPF_debugx@Base 0
+ SPF_dns_cache_new@Base 0
+ SPF_dns_cache_set_ttl@Base 0
+ SPF_dns_free@Base 0
+ SPF_dns_get_client_dom@Base 0
+ SPF_dns_lookup@Base 0
+ SPF_dns_null_new@Base 0
+ SPF_dns_resolv_new@Base 0
+ SPF_dns_rlookup6@Base 0
+ SPF_dns_rlookup@Base 0
+ SPF_dns_rr_buf_realloc@Base 0
+ SPF_dns_rr_dup@Base 0
+ SPF_dns_rr_free@Base 0
+ SPF_dns_rr_new@Base 0
+ SPF_dns_rr_new_init@Base 0
+ SPF_dns_rr_new_nxdomain@Base 0
+ SPF_dns_set_conserve_cache@Base 0
+ SPF_dns_test_new@Base 0
+ SPF_dns_zone_add_str@Base 0
+ SPF_dns_zone_new@Base 0
+ SPF_error_code@Base 0
+ SPF_error_errorp@Base 0
+ SPF_error_handler@Base 0
+ SPF_error_message@Base 0
+ SPF_error_stdio@Base 0
+ SPF_error_syslog@Base 0
+ SPF_errorv@Base 0
+ SPF_errorx2@Base 0
+ SPF_errorx@Base 0
+ SPF_get_lib_version@Base 0
+ SPF_i_done@Base 0
+ SPF_info_handler@Base 0
+ SPF_info_stdio@Base 0
+ SPF_info_syslog@Base 0
+ SPF_infov@Base 0
+ SPF_infox2@Base 0
+ SPF_infox@Base 0
+ SPF_macro_free@Base 0
+ SPF_print_sizeof@Base 0
+ SPF_record_compile@Base 0
+ SPF_record_compile_macro@Base 0
+ SPF_record_expand_data@Base 0
+ SPF_record_find_mod_value@Base 0
+ SPF_record_free@Base 0
+ SPF_record_interpret@Base 0
+ SPF_record_new@Base 0
+ SPF_record_print@Base 0
+ SPF_record_stringify@Base 0
+ SPF_request_free@Base 0
+ SPF_request_get_client_dom@Base 0
+ SPF_request_get_exp@Base 0
+ SPF_request_get_rec_dom@Base 0
+ SPF_request_is_loopback@Base 0
+ SPF_request_new@Base 0
+ SPF_request_query_fallback@Base 0
+ SPF_request_query_mailfrom@Base 0
+ SPF_request_query_rcptto@Base 0
+ SPF_request_set_env_from@Base 0
+ SPF_request_set_helo_dom@Base 0
+ SPF_request_set_ipv4@Base 0
+ SPF_request_set_ipv4_str@Base 0
+ SPF_request_set_ipv6@Base 0
+ SPF_request_set_ipv6_str@Base 0
+ SPF_response_add_error@Base 0
+ SPF_response_add_error_idx@Base 0
+ SPF_response_add_error_ptr@Base 0
+ SPF_response_add_warn@Base 0
+ SPF_response_add_warn_idx@Base 0
+ SPF_response_add_warn_ptr@Base 0
+ SPF_response_combine@Base 0
+ SPF_response_errcode@Base 0
+ SPF_response_errors@Base 0
+ SPF_response_free@Base 0
+ SPF_response_get_explanation@Base 0
+ SPF_response_get_header_comment@Base 0
+ SPF_response_get_received_spf@Base 0
+ SPF_response_get_received_spf_value@Base 0
+ SPF_response_get_smtp_comment@Base 0
+ SPF_response_message@Base 0
+ SPF_response_messages@Base 0
+ SPF_response_new@Base 0
+ SPF_response_reason@Base 0
+ SPF_response_result@Base 0
+ SPF_response_warnings@Base 0
+ SPF_sanitize@Base 0
+ SPF_server_free@Base 0
+ SPF_server_get_max_dns_mech@Base 0
+ SPF_server_get_max_dns_mx@Base 0
+ SPF_server_get_max_dns_ptr@Base 0
+ SPF_server_get_record@Base 0
+ SPF_server_new@Base 0
+ SPF_server_new_dns@Base 1.2.8~
+ SPF_server_set_explanation@Base 0
+ SPF_server_set_localpolicy@Base 0
+ SPF_server_set_max_dns_mech@Base 0
+ SPF_server_set_max_dns_mx@Base 0
+ SPF_server_set_max_dns_ptr@Base 0
+ SPF_server_set_rec_dom@Base 0
+ SPF_server_set_sanitize@Base 0
+ SPF_strerror@Base 0
+ SPF_strreason@Base 0
+ SPF_strresult@Base 0
+ SPF_strrrtype@Base 1.2.8~
+ SPF_warning_handler@Base 0
+ SPF_warning_stdio@Base 0
+ SPF_warning_syslog@Base 0
+ SPF_warningv@Base 0
+ SPF_warningx2@Base 0
+ SPF_warningx@Base 0
+ __ns_initparse@Base 0
+ __ns_msg_getflag@Base 0
+ __ns_name_compress@Base 0
+ __ns_name_ntol@Base 0
+ __ns_name_ntop@Base 0
+ __ns_name_pack@Base 0
+ __ns_name_pton@Base 0
+ __ns_name_rollback@Base 0
+ __ns_name_skip@Base 0
+ __ns_name_uncompress@Base 0
+ __ns_name_unpack@Base 0
+ __ns_parserr@Base 0
+ __ns_skiprr@Base 0
+ _ns_flagdata@Base 0
+ crc_32_tab@Base 0
Index: tags/1.2.8~dfsg-1/debian/rules
===================================================================
--- tags/1.2.8~dfsg-1/debian/rules (nonexistent)
+++ tags/1.2.8~dfsg-1/debian/rules (revision 108)
@@ -0,0 +1,17 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+
+include /usr/share/cdbs/1/class/autotools.mk
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/dpatch.mk
+
+DEB_DH_MAKESHLIBS_ARGS_libspf2-2 = -V 'libspf2-2 (>= 1.2.8~)'
+
+binary-install/spfquery::
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.8.tar.gz
/tags/1.2.8~dfsg-1/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.8~dfsg-1/debian/patches/20_spf_dns_include_std_headers.dpatch
===================================================================
--- tags/1.2.8~dfsg-1/debian/patches/20_spf_dns_include_std_headers.dpatch (nonexistent)
+++ tags/1.2.8~dfsg-1/debian/patches/20_spf_dns_include_std_headers.dpatch (revision 108)
@@ -0,0 +1,65 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_dns_include_std_headers.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Include arpa/nameser.h and netdb.h from spf_dns.h instead of defining
+## DP: the constants needed unless certain HAVE_ macros are defined.
+
+@DPATCH@
+
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_dns.h libspf2-1.2.5.dfsg.new/src/include/spf_dns.h
+--- libspf2-1.2.5.dfsg/src/include/spf_dns.h 2004-08-29 16:59:33.000000000 +0200
++++ libspf2-1.2.5.dfsg.new/src/include/spf_dns.h 2007-03-23 18:04:17.000000000 +0100
+@@ -61,48 +61,16 @@
+ *
+ */
+
+-
+-/*
+- * For those who don't have <arpa/nameserv.h>
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
+ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+-/* XXX This should use a more sensible define. */
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /* Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+ #if ! HAVE_DECL_NS_T_SPF
+ #define ns_t_spf 99
+ #endif
+
+-#if ! HAVE_DECL_NS_T_INVALID
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /* NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /* SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /* invalid/unimplmeneted query */
+-#define NO_DATA 4 /* host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/tags/1.2.8~dfsg-1/debian/patches/20_spf_dns_include_std_headers.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.8~dfsg-1/debian/patches/00list
===================================================================
--- tags/1.2.8~dfsg-1/debian/patches/00list (nonexistent)
+++ tags/1.2.8~dfsg-1/debian/patches/00list (revision 108)
@@ -0,0 +1 @@
+20_spf_dns_include_std_headers
Index: tags/1.2.8~dfsg-1/debian/spfquery.postinst
===================================================================
--- tags/1.2.8~dfsg-1/debian/spfquery.postinst (nonexistent)
+++ tags/1.2.8~dfsg-1/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,17 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25 \
+ --slave /usr/share/man/man1/spfquery.1.gz spfquery.1.gz /usr/share/man/man1/spfquery.$source_package.1.gz
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.8~dfsg-1/debian/spfquery.manpages
===================================================================
--- tags/1.2.8~dfsg-1/debian/spfquery.manpages (nonexistent)
+++ tags/1.2.8~dfsg-1/debian/spfquery.manpages (revision 108)
@@ -0,0 +1 @@
+debian/spfquery.libspf2.1
Index: tags/1.2.8~dfsg-1/debian/spfquery.libspf2.1
===================================================================
--- tags/1.2.8~dfsg-1/debian/spfquery.libspf2.1 (nonexistent)
+++ tags/1.2.8~dfsg-1/debian/spfquery.libspf2.1 (revision 108)
@@ -0,0 +1,199 @@
+.\" Title: SPFQUERY
+.\" Author: Magnus Holmgren <magnus@kibibyte.se>
+.\" Date: 2007-09-06
+.\" Manual: libspf2 manuals for Debian
+.\" Source: libspf2 1.2.5
+.\"
+.TH "SPFQUERY" "1" "2007-09-06" "libspf2 1.2.5" "libspf2 manuals for Debian"
+.\" disable hyphenation
+.nh
+.SH NAME
+spfquery, spfquery.libspf2 \- checks if an IP address is an SPF-authorized SMTP sender for a domain.
+.SH SYNOPSIS
+.ad l
+.HP 9
+.B spfquery
+.RB { \-i | \-\-ip }
+.I ip\-address
+.RB { -s | \-\-sender }
+.RI [ local-part \fB@\fP] domain
+.RB [{ \-h | \-\-helo }
+.IR domain-name ]
+.RB [ \-\-rcpt\-to
+.IR email-address(es) ]
+.RI [ CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-f | \-\-file }
+.IR datafile " [" CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-\-help | \-v | \-\-version }
+.ad b
+.SH DESCRIPTION
+This manual page documents briefly the
+\fBspfquery\fR
+command. It was written for the
+Debian\*[R] distribution because the original program does not have a manual page.
+.PP
+\fBspfquery\fR performs Sender Policy Framework (SPF) authorization
+checks based on the command-line arguments or data given in a file or
+on standard input. For information on SPF see http://www.openspf.org.
+.
+.SH OPTIONS
+Options are divided into two groups: Data options, which must be
+given, though just enough of them to specify a query; and control
+options, which are optional and control the local policy, behaviour
+and output format of spfquery.
+.PP
+This programs follows the GNU \fBgetopt_long_only\fR(3) command line
+syntax: Long options can be given with one or two dashes and can be
+abbreviated to a prefix long enough to be non-ambiguous. If an option
+starting with a single dash doesn't match a long option, it is taken
+as a short option with a following parameter, if applicable. An equals
+sign between the option name and the parameter is optional for both
+short and long options.
+.SS Data options
+The
+\fB\-\-file\fR option conflicts with all the other data options. The
+\fB\-\-helo\fR and \fB\-\-rcpt\-to\fR are optional.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfilename\fR
+Read SPF data from \fIfilename\fR. Specify \(lq-\(rq to read from standard input.
+.sp
+The file should consist of one line per query, each query line consisting of the IP address, sender adress, and optional HELO string, separated by spaces.
+.sp
+\fBNote\fP
+Local parts containing spaces are currently not supported.
+.TP
+\fB\-i\fP, \fB\-\-ip\fP \fIip-address\fP
+Specify the IP address of the remote host that is delivering the mail.
+.TP
+\fB\-s\fP, \fB\-\-sender\fP [\fIlocal-part\fP\fB@\fP]\fIdomain\fP
+Specify the email address that was used as the envelope sender. If no
+username (local part) is given, \(lqpostmaster\(rq will be assumed.
+.TP
+\fB\-h\fP, \fB\-\-helo\fP \fIdomain-name\fP
+Specify that \fIdomain-name\fP was provided in the SMTP HELO (or EHLO) command.
+.TP
+\fB\-r\fP, \fB\-\-rcpt-to\fP \fIrcpt-address\fP[,\fIrcpt-address\fP,...]
+Specify the recipients as comma-separated list. Any secondary mail exchangers of all
+recipient domains are automatically authorized.
+.
+.SS Control options
+.TP
+\fB\-d\fP, \fB\-\-debug\fP[\fB=\fP\fIlevel\fP]
+Turn on debugging output.
+.TP
+\fB\-l\fP, \fB\-\-local\fP \fIspf\-terms\fP
+Test against \fIspf\-terms\fR before the final (implicit or explicit)
+\(lqall\(rq in an SPF record. This can be used to implement a local policy for whitelisting.
+.TP
+\fB\-t, \fB\-\-trusted\fR [\fB1\fR]
+Check the sender domain with trusted\-forwarder.org.
+\fBThis is a non\-standard feature.\fR
+.TP
+\fB\-t\fP \fB0\fP, \fB\-\-trusted\fR \fB0\fP
+Do not check the sender domain with trusted\-forwarder.org. This is the default.
+.TP
+\fB\-g\fP, \fB\-\-guess\fP \fIspf-mechanisms\fP
+Test the sender domain against \fIspf\-mechanisms\fP if the domain has no SPF record.
+.TP
+\fB\-e\fP, \fB\-\-default\-explanation\fP \fIstring\fP
+Default explanation string to use if the SPF record does not specify an expla\%nation string itself.
+.TP
+\fB\-m\fP, \fB\-\-max\-lookup\fP \fInumber\fP
+Maximum number of DNS lookups to allow.
+.TP
+\fB\-c\fP, \fB\-\-sanitize\fP [\fB0\fP|\fB1\fP]
+Do [not] sanitize the output by condensing conse\%cutive white\%space
+into a single space and replacing non-printable characters with
+question marks. Enabled by default.
+.TP
+\fB\-n\fP, \fB\-\-name\fP \fIhostname\fP
+Use
+\fIhostname\fP
+as the name of the local system instead of
+\(lqspfquery\(rq
+(the name is used in the output).
+.TP
+\fB\-k\fP, \fB\-\-keep\-comments\fP
+Print comments found when reading from a file.
+.TP
+\fB\-a\fP, \fB\-\-override\fP \fI...\fP
+.TP
+\fB\-z\fP, \fB\-\-fallback\fP \fI...\fP
+Provide override and fallback SPF records for certain domains.
+\fBNot implemented yet.\fP
+\fBspfquery\fP
+would act as if the speci\%fied records were present before and after any existing record, respectively, of those domains.
+.TP
+\fB\-\-help\fP
+Show summary of options.
+.TP
+\fB\-v\fP, \fB\-\-version\fP
+Show version of program.
+.SH DIAGNOSTICS
+The output ordinarily consists of four lines:
+.IP 1. 4
+the \fIresult code\fP;
+.IP 2. 4
+the \fIexplanation\fP, suitable for use in an SMTP response message, empty
+except when a rejection (permanent or temporary) makes sense;
+.IP 3. 4
+the header comment on its own;
+.IP 4. 4
+the Received\-SPF header field as defined in RFC 4408 section 7,
+incorporating the header comment.
+.PP
+If errors (including no SPF record found!) occur during processing,
+one or more error blocks will be prepended.
+These start with \(lqStartError\(lq and end with \(lqEndError\(lq.
+.PP
+The result codes and their corresponding exit codes are as follows:
+.TP
+.B 1 \(en neutral
+The sender domain explicitly makes no assertion about the \fIip-address\fP.
+This result must be interpreted exactly as if no SPF record at all existed.
+.TP
+.B 2 \(en pass
+The \fIip-address\fP is authorized to send mail for the sender domain.
+.TP
+.B 3 \(en fail
+The \fIip-address\fP is \fBunauthorized\fP to send mail for the sender domain.
+.TP
+.B 4 \(en softfail
+The \fIip-address\fP is not authorized to send mail for the sender domain, but
+the sender domain cannot or does not wish to make a strong assertion that no such mail can
+ever come from it.
+.TP
+.B 5 \(en none
+No SPF record was found.
+.TP
+.BR "6 \(en error" " (temporary)"
+A transient error occurred (e.g. failure to reach a DNS server), preventing a
+result from being reached.
+.TP
+.BR "7 \(en unknown" " (permanent error)"
+One or more SPF records could not be interpreted.
+.SH EXAMPLES
+.nf
+spfquery \-ip=11.22.33.44 \-sender=user@aol.com \-helo=spammer.tld
+spfquery \-f test_data
+echo "127.0.0.1 myname@mydomain.com helohost.com" | spfquery \-f \-
+.fi
+.SH SEE ALSO
+\fBspftest\fR(1), \fBspfd\fR(8)
+.SH AUTHOR
+\fBspfquery\fP was written by Wayne Schlitt.
+.PP
+This manual page was written by Magnus Holmgren for the Debian\*[R]
+system (but may be used by others). Heavily inspired by the spfquery manpage of
+libmail\-spf\-query\-perl (\fBspfquery.mail\-spf\-query\-perl\fR(1)) by Julian Mehnle.
+Also based on the command\-line help of spfquery.
+.SH COPYRIGHT
+Copyright \(co 2007 Magnus Holmgren. Permission is granted to copy,
+distribute and/or modify this document under the terms of the BSD
+License.
+.PP
+On Debian systems, the complete text of the BSD License can be found in /usr/share/common\-licenses/BSD.
Index: tags/1.2.8~dfsg-1/debian/watch
===================================================================
--- tags/1.2.8~dfsg-1/debian/watch (nonexistent)
+++ tags/1.2.8~dfsg-1/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: tags/1.2.8~dfsg-1/debian/libspf2-dev.install
===================================================================
--- tags/1.2.8~dfsg-1/debian/libspf2-dev.install (nonexistent)
+++ tags/1.2.8~dfsg-1/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,4 @@
+debian/tmp/usr/lib/*.so usr/lib
+debian/tmp/usr/lib/*.a usr/lib
+debian/tmp/usr/lib/*.la usr/lib
+debian/tmp/usr/include/* usr/include
Index: tags/1.2.8~dfsg-1/debian/spfquery.prerm
===================================================================
--- tags/1.2.8~dfsg-1/debian/spfquery.prerm (nonexistent)
+++ tags/1.2.8~dfsg-1/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.8~dfsg-1/debian/compat
===================================================================
--- tags/1.2.8~dfsg-1/debian/compat (nonexistent)
+++ tags/1.2.8~dfsg-1/debian/compat (revision 108)
@@ -0,0 +1 @@
+5
Index: tags/1.2.8~dfsg-1/debian/spfquery.install
===================================================================
--- tags/1.2.8~dfsg-1/debian/spfquery.install (nonexistent)
+++ tags/1.2.8~dfsg-1/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+debian/tmp/usr/bin/spfquery usr/bin
+debian/tmp/usr/bin/spftest usr/bin
+debian/tmp/usr/bin/spf_example usr/bin
+debian/tmp/usr/bin/spfd usr/sbin
Index: tags/1.2.8~dfsg-1/debian/libspf2-2.install
===================================================================
--- tags/1.2.8~dfsg-1/debian/libspf2-2.install (nonexistent)
+++ tags/1.2.8~dfsg-1/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+debian/tmp/usr/lib/*.so.* usr/lib
Index: tags/1.2.8~dfsg-1/debian/libspf2-dev.README.Debian
===================================================================
--- tags/1.2.8~dfsg-1/debian/libspf2-dev.README.Debian (nonexistent)
+++ tags/1.2.8~dfsg-1/debian/libspf2-dev.README.Debian (revision 108)
@@ -0,0 +1,8 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+ -- Eric Dorland <eric@debian.org>, Sun Jul 4 19:02:07 2004
Index: tags/1.2.8~dfsg-1/debian/README.Debian-source
===================================================================
--- tags/1.2.8~dfsg-1/debian/README.Debian-source (nonexistent)
+++ tags/1.2.8~dfsg-1/debian/README.Debian-source (revision 108)
@@ -0,0 +1,16 @@
+The upstream tarball has been repackaged because it contained non-free
+material in the form of an (obsolete) IETF Internet Draft
+(draft-mengwong-spf-00.txt in the docs subdirectory). As far as I can
+see It's non-free because it doesn't contain any copyright information
+at all, thereby defaulting to "all right reserved" in most
+jurisdictions.
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+To download the original tarball use `debian/rules get-orig-source' or
+go to <http://www.libspf2.org/download.html> (beware that running
+debian/rules outside the package directory can have unwanted side
+effects due to CDBS).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Fri, 23 Mar 2007 16:44:20 +0100
Index: tags/1.2.8~dfsg-1/debian
===================================================================
--- tags/1.2.8~dfsg-1/debian (nonexistent)
+++ tags/1.2.8~dfsg-1/debian (revision 108)
/tags/1.2.8~dfsg-1/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: tags/1.2.5.dfsg-5/debian/control
===================================================================
--- tags/1.2.5.dfsg-5/debian/control (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/control (revision 108)
@@ -0,0 +1,51 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <holmgren@debian.org>
+Build-Depends: debhelper (>> 5), cdbs, dpatch, autotools-dev
+Standards-Version: 3.7.3
+Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+Vcs-Browser: http://svn.kibibyte.se/libspf2
+Homepage: http://www.libspf2.org/
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version})
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
Index: tags/1.2.5.dfsg-5/debian/changelog
===================================================================
--- tags/1.2.5.dfsg-5/debian/changelog (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/changelog (revision 108)
@@ -0,0 +1,167 @@
+libspf2 (1.2.5.dfsg-5) unstable; urgency=low
+
+ * 43_new_explanation_url.dpatch: Bring default explanation up to date by
+ referring to www.openspf.org instead of spf.pobox.com.
+ * Add spfquery(1) manpage.
+ * Fix format of copyright notice in debian/copyright.
+ * Move upstream homepage URL to the new Homepage control field, rename
+ VCS control fields, and update Standards-Version.
+ * A few cosmetic adjustments including fixing the indentation of the
+ 1.2.5.dfsg-3 entry below (Closes: #465466).
+ * New maintainer email address.
+
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 18 Apr 2008 17:51:28 +0200
+
+libspf2 (1.2.5.dfsg-4) unstable; urgency=low
+
+ * Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
+ (Closes: #440147). Thanks to Matthias Cramer.
+ * 35_untabify_help.dpatch: Make --help output of utilities less ugly by
+ converting tabs to spaces.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
+
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: tags/1.2.5.dfsg-5/debian/patches/42_empty_sender.dpatch
===================================================================
--- tags/1.2.5.dfsg-5/debian/patches/42_empty_sender.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/patches/42_empty_sender.dpatch (revision 108)
@@ -0,0 +1,33 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 42_empty_sender.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## DP: If SPF_request_set_env_from() is called with from set to the empty
+## DP: string (i.e. a DSN), use the HELO identity. Also fix incorrect
+## DP: handling when the local part is empty (but the "@" is present).
+
+@DPATCH@
+diff -urNad trunk~/src/libspf2/spf_request.c trunk/src/libspf2/spf_request.c
+--- trunk~/src/libspf2/spf_request.c 2005-02-22 03:38:57.000000000 +0100
++++ trunk/src/libspf2/spf_request.c 2007-07-30 21:58:48.000000000 +0200
+@@ -142,14 +142,19 @@
+ SPF_FREE(sr->env_from_lp);
+ SPF_FREE(sr->env_from_dp);
+
++ if (*from == '\0' && sr->helo_dom != NULL) {
++ from = sr->helo_dom;
++ }
+ cp = strrchr(from, '@');
+ if (cp && (cp != from)) {
+ sr->env_from = strdup(from);
+- sr->env_from_lp = strdup(from); /* Too long, but simple */
+- sr->env_from_lp[(cp - from)] = '\0';
++ *cp = '\0';
++ sr->env_from_lp = strdup(from);
+ sr->env_from_dp = strdup(cp + 1);
++ *cp = '@';
+ }
+ else {
++ if (cp == from) from++; /* "@domain.example" */
+ len = sizeof("postmaster@") + strlen(from);
+ sr->env_from = malloc(len + 1); /* sizeof("") == 1? */
+ sprintf(sr->env_from, "postmaster@%s", from);
Index: tags/1.2.5.dfsg-5/debian/patches/43_new_explanation_url.dpatch
===================================================================
--- tags/1.2.5.dfsg-5/debian/patches/43_new_explanation_url.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/patches/43_new_explanation_url.dpatch (revision 108)
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 43_new_explanation_url.dpatch by <magnus@proffe.kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Bring default explanation up to date by referring to
+## DP: www.openspf.org instead of spf.pobox.com.
+
+@DPATCH@
+diff -urNad trunk~/src/include/spf.h trunk/src/include/spf.h
+--- trunk~/src/include/spf.h 2007-09-06 13:57:32.000000000 +0200
++++ trunk/src/include/spf.h 2007-09-06 13:58:59.000000000 +0200
+@@ -57,7 +57,7 @@
+ #define SPF_DEFAULT_SANITIZE 1
+ #define SPF_DEFAULT_WHITELIST "include:spf.trusted-forwarder.org"
+ #define SPF_EXP_MOD_NAME "exp-text"
+-#define SPF_DEFAULT_EXP "Please see http://spf.pobox.com/why.html?sender=%{S}&ip=%{C}&receiver=%{R}"
++#define SPF_DEFAULT_EXP "Please see http://www.openspf.org/Why?id=%{S}&ip=%{C}&receiver=%{R}"
+
+
+
/tags/1.2.5.dfsg-5/debian/patches/43_new_explanation_url.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5/debian/patches/00list
===================================================================
--- tags/1.2.5.dfsg-5/debian/patches/00list (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/patches/00list (revision 108)
@@ -0,0 +1,16 @@
+#01_line-endings
+02_wrong_lib_version_h
+20_64bit_types
+20_printf_types
+20_spf_dns_include_std_headers
+20_spf_server_unnecessary_include
+21_spfquery_infininte_loop
+22_spfquery_fallback_segfault
+23_spfquery_ipv6
+25_maxvals
+30_spfd_check_unlink_failure
+35_untabify_help
+40_permanent_include_errors
+41_none_not_neutral
+42_empty_sender
+43_new_explanation_url
Index: tags/1.2.5.dfsg-5/debian/patches/35_untabify_help.dpatch
===================================================================
--- tags/1.2.5.dfsg-5/debian/patches/35_untabify_help.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/patches/35_untabify_help.dpatch (revision 108)
@@ -0,0 +1,25 @@
+#!/bin/sh
+## 35_untabify_help.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Tidy up --help messages by converting tabs to four spaces (" ").
+
+FILES_TO_PROCESS="src/spfquery/spfquery.c
+ src/spftest/spftest.c
+ src/spf_example/spf_example.c"
+
+dpatch_patch() {
+ # Change line endings to LF in files with CRLF
+ perl -pi -e 's/("[^"]*?)\t/$1 / and redo;' $FILES_TO_PROCESS
+}
+
+dpatch_unpatch() {
+ # Change line endings back to CRLF in files that had it in the tarball
+ # Unfortunately there are exceptions ... have to watch out for changes
+ # in future upstream versions (or simply make backups instead).
+ perl -pi -e 's/("[^"]*?) /$1\t/ and redo;' $FILES_TO_PROCESS
+}
+
+DPATCH_LIB_NO_DEFAULT=1
+
+. /usr/share/dpatch/dpatch.lib.sh
Index: tags/1.2.5.dfsg-5/debian/patches/23_spfquery_ipv6.dpatch
===================================================================
--- tags/1.2.5.dfsg-5/debian/patches/23_spfquery_ipv6.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/patches/23_spfquery_ipv6.dpatch (revision 108)
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 23_spfquery_ipv6.dpatch by Matthias Cramer <matthias.cramer@interway.ch>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Make spfquery accept IPv6 addresses
+
+@DPATCH@
+
+--- libspf2-1.2.5.orig/src/spfquery/spfquery.c 2005-02-22 03:36:55.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/spfquery/spfquery.c 2007-08-30 09:39:32.000000000 +0200
+@@ -604,7 +602,8 @@
+
+ spf_request = SPF_request_new(spf_server);
+
+- if (SPF_request_set_ipv4_str(spf_request, req->ip)) {
++ if (SPF_request_set_ipv4_str(spf_request, req->ip)
++ && SPF_request_set_ipv6_str(spf_request, req->ip)) {
+ printf( "Invalid IP address.\n" );
+ CONTINUE_ERROR;
+
Index: tags/1.2.5.dfsg-5/debian/patches/22_spfquery_fallback_segfault.dpatch
===================================================================
--- tags/1.2.5.dfsg-5/debian/patches/22_spfquery_fallback_segfault.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/patches/22_spfquery_fallback_segfault.dpatch (revision 108)
@@ -0,0 +1,45 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 22_spfquery_fallback_segfault.dpatch by Robert Millan <rmh@aybabtu.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix segfault with malformed -guess argument
+
+@DPATCH@
+
+diff -ur libspf2-1.2.5.dfsg.old/src/spfquery/spfquery.c libspf2-1.2.5.dfsg/src/spfquery/spfquery.c
+--- libspf2-1.2.5.dfsg.old/src/spfquery/spfquery.c 2005-02-22 03:36:55.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/spfquery/spfquery.c 2007-06-24 13:17:34.000000000 +0200
+@@ -341,6 +341,7 @@
+ SPF_request_t *spf_request = NULL;
+ SPF_response_t *spf_response = NULL;
+ SPF_response_t *spf_response_2mx = NULL;
++ SPF_response_t *spf_response_fallback = NULL;
+ SPF_errcode_t err;
+
+ char *opt_file = NULL;
+@@ -670,20 +671,20 @@
+ /* We now have an option to call SPF_request_query_fallback */
+ if (opts->fallback) {
+ err = SPF_request_query_fallback(spf_request,
+- &spf_response, opts->fallback);
++ &spf_response_fallback, opts->fallback);
+ if (opts->debug)
+- response_print("fallback query", spf_response_2mx);
++ response_print("fallback query", spf_response_fallback);
+ if (err) {
+ response_print_errors("Failed to query best-guess",
+- spf_response, err);
++ spf_response_fallback, err);
+ CONTINUE_ERROR;
+ }
+
+ /* append the result */
+- APPEND_RESULT(SPF_response_result(spf_response_2mx));
++ APPEND_RESULT(SPF_response_result(spf_response_fallback));
+
+ spf_response = SPF_response_combine(spf_response,
+- spf_response_2mx);
++ spf_response_fallback);
+ }
+
+ printf( "%s\n%s\n%s\n%s\n",
Index: tags/1.2.5.dfsg-5/debian/patches/41_none_not_neutral.dpatch
===================================================================
--- tags/1.2.5.dfsg-5/debian/patches/41_none_not_neutral.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/patches/41_none_not_neutral.dpatch (revision 108)
@@ -0,0 +1,48 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 41_none_not_neutral.dpatch by Robert Millan <rmh@aybabtu.com>, edited by Magnus Holmgren
+##
+## DP: Differentiate between SPF_RESULT_NONE and
+## DP: SPF_RESULT_NEUTRAL in the header comment.
+
+@DPATCH@
+
+diff -ur libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c
+--- libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c 2005-02-22 04:41:27.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c 2007-07-01 01:03:17.000000000 +0200
+@@ -214,11 +226,15 @@
+ break;
+
+ case SPF_RESULT_NEUTRAL:
+- case SPF_RESULT_NONE:
+ snprintf( p, p_end - p, "%s is neither permitted nor denied by %s",
+ ip, spf_source );
+ break;
+
++ case SPF_RESULT_NONE:
++ snprintf( p, p_end - p, "%s does not provide an SPF record",
++ spf_source );
++ break;
++
+ case SPF_RESULT_TEMPERROR:
+ snprintf( p, p_end - p, "encountered temporary error during SPF processing of %s",
+ spf_source );
+diff -ur libspf2-1.2.5.dfsg.old/src/libspf2/spf_result.c libspf2-1.2.5.dfsg/src/libspf2/spf_result.c
+--- libspf2-1.2.5.dfsg.old/src/libspf2/spf_result.c 2004-08-10 15:04:02.000000000 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_result.c 2007-07-01 01:03:29.000000000 +0200
+@@ -187,11 +197,15 @@
+ break;
+
+ case SPF_RESULT_NEUTRAL:
+- case SPF_RESULT_NONE:
+ snprintf( p, p_end - p, "%s is neither permitted nor denied by %s",
+ ip, spf_source );
+ break;
+
++ case SPF_RESULT_NONE:
++ snprintf( p, p_end - p, "%s does not provide an SPF record",
++ spf_source );
++ break;
++
+ case SPF_RESULT_ERROR:
+ snprintf( p, p_end - p, "encountered temporary error during SPF processing of %s",
+ spf_source );
Index: tags/1.2.5.dfsg-5/debian/patches/40_permanent_include_errors.dpatch
===================================================================
--- tags/1.2.5.dfsg-5/debian/patches/40_permanent_include_errors.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/patches/40_permanent_include_errors.dpatch (revision 108)
@@ -0,0 +1,23 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 40_permanent_include_errors.dpatch by Robert Millan <rmh@aybabtu.com>, edited by Magnus Holmgren
+##
+## DP: Permanent error when processing an include: directive should in turn
+## DP: produce permanent error (see the table in RFC 4408 / section 5.2).
+
+@DPATCH@
+
+diff -ur libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c
+--- libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c 2005-02-22 04:41:27.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c 2007-07-01 01:03:17.000000000 +0200
+@@ -1022,7 +1042,10 @@
+ if (spf_record_subr)
+ SPF_record_free(spf_record_subr);
+ SPF_FREE_LOOKUP_DATA();
+- return DONE_TEMPERR( err );
++ if (err == SPF_E_DNS_ERROR)
++ return DONE_TEMPERR( err );
++ else
++ return DONE_PERMERR( err );
+ }
+
+ /*
Index: tags/1.2.5.dfsg-5/debian/patches/20_printf_types.dpatch
===================================================================
--- tags/1.2.5.dfsg-5/debian/patches/20_printf_types.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/patches/20_printf_types.dpatch (revision 108)
@@ -0,0 +1,64 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_printf_types.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Change the format strings of various calls to printf-style functions to
+## DP: match the arguments.
+
+@DPATCH@
+diff -urNad libspf2-1.2.5.dfsg~/src/libspf2/spf_compile.c libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c
+--- libspf2-1.2.5.dfsg~/src/libspf2/spf_compile.c 2007-03-27 14:28:00.931960929 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c 2007-03-27 14:30:04.000000000 +0200
+@@ -470,7 +470,7 @@
+ len = end - p;
+ if (spf_server->debug)
+ SPF_debugf("Adding string literal (%d): '%*.*s'",
+- len, len, len, p);
++ (int)len, (int)len, (int)len, p);
+ memcpy( dst, p, len );
+ ds_len += len;
+ dst += len;
+diff -urNad libspf2-1.2.5.dfsg~/src/libspf2/spf_id2str.c libspf2-1.2.5.dfsg/src/libspf2/spf_id2str.c
+--- libspf2-1.2.5.dfsg~/src/libspf2/spf_id2str.c 2007-03-27 14:27:58.171600935 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_id2str.c 2007-03-27 14:30:51.000000000 +0200
+@@ -309,7 +309,7 @@
+ p_end = *bufp + *buflenp;
+
+ if (debug)
+- SPF_debugf("stringify: Buffer length is %d\n", *buflenp);
++ SPF_debugf("stringify: Buffer length is %u\n", (unsigned int)*buflenp);
+
+
+ /*
+diff -urNad libspf2-1.2.5.dfsg~/src/libspf2/spf_print.c libspf2-1.2.5.dfsg/src/libspf2/spf_print.c
+--- libspf2-1.2.5.dfsg~/src/libspf2/spf_print.c 2007-03-27 14:27:58.231608763 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_print.c 2007-03-27 14:47:39.000000000 +0200
+@@ -54,12 +54,12 @@
+ return SPF_E_SUCCESS;
+ }
+
+- SPF_infof( "SPF header: version: %d mech %d/%d mod %d/%d len=%d",
++ SPF_infof( "SPF header: version: %d mech %d/%u mod %d/%u len=%u",
+ spf_record->version,
+- spf_record->num_mech, spf_record->mech_len,
+- spf_record->num_mod, spf_record->mod_len,
+- sizeof(SPF_record_t) + spf_record->mech_len
+- + spf_record->mod_len);
++ (int)spf_record->num_mech, (unsigned int)spf_record->mech_len,
++ (int)spf_record->num_mod, (unsigned int)spf_record->mod_len,
++ (unsigned int)(sizeof(SPF_record_t) + spf_record->mech_len
++ + spf_record->mod_len));
+
+ err = SPF_record_stringify(spf_record, &prt_buf, &prt_len);
+ if ( err == SPF_E_RESULT_UNKNOWN )
+@@ -81,7 +81,7 @@
+ void SPF_print_sizeof(void)
+ {
+ // SPF_infof( "sizeof(SPF_rec_header_t)=%u", sizeof(SPF_rec_header_t));
+- SPF_infof( "sizeof(SPF_mech_t)=%u", sizeof(SPF_mech_t));
+- SPF_infof( "sizeof(SPF_data_t)=%u", sizeof(SPF_data_t));
+- SPF_infof( "sizeof(SPF_mod_t)=%u", sizeof(SPF_mod_t));
++ SPF_infof( "sizeof(SPF_mech_t)=%u", (unsigned int)sizeof(SPF_mech_t));
++ SPF_infof( "sizeof(SPF_data_t)=%u", (unsigned int)sizeof(SPF_data_t));
++ SPF_infof( "sizeof(SPF_mod_t)=%u", (unsigned int)sizeof(SPF_mod_t));
+ }
/tags/1.2.5.dfsg-5/debian/patches/20_printf_types.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5/debian/patches/01_line-endings.dpatch
===================================================================
--- tags/1.2.5.dfsg-5/debian/patches/01_line-endings.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/patches/01_line-endings.dpatch (revision 108)
@@ -0,0 +1,30 @@
+#!/bin/sh
+## 01_line-endings.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Convert CRLF line endings to LF in certain Windows-related files
+
+FILES_WITH_CRLF="src/libspf2/spf_dns_windns.c
+ src/libspf2/spf_win32.c
+ src/libreplace/win32_config.h
+ src/include/spf_dns_windns.h
+ src/include/spf_win32.h"
+
+set -e
+
+dpatch_patch() {
+ if [ ! -f debian/patched/patched-line-endings.tar.gz ]; then
+ tar -czf debian/patched/patched-line-endings.tar.gz $FILES_WITH_CRLF
+ # Change line endings to LF in files with CRLF
+ sed -ri -e 's/\r$//' $FILES_WITH_CRLF
+ fi
+}
+
+dpatch_unpatch() {
+ # Change line endings back to CRLF in files that had it in the tarball
+ tar -xzf debian/patched/patched-line-endings.tar.gz
+}
+
+DPATCH_LIB_NO_DEFAULT=1
+
+. /usr/share/dpatch/dpatch.lib.sh
/tags/1.2.5.dfsg-5/debian/patches/01_line-endings.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5/debian/patches/21_spfquery_infininte_loop.dpatch
===================================================================
--- tags/1.2.5.dfsg-5/debian/patches/21_spfquery_infininte_loop.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/patches/21_spfquery_infininte_loop.dpatch (revision 108)
@@ -0,0 +1,21 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 21_spfquery_infininte_loop.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix infinite loop in spfquery.c:unimplemented().
+
+@DPATCH@
+diff -urNad libspf2-1.2.5.dfsg~/src/spfquery/spfquery.c libspf2-1.2.5.dfsg/src/spfquery/spfquery.c
+--- libspf2-1.2.5.dfsg~/src/spfquery/spfquery.c 2005-02-22 03:36:55.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/spfquery/spfquery.c 2007-03-24 22:28:15.000000000 +0100
+@@ -174,9 +174,7 @@
+ struct option *opt;
+ int i;
+
+- i = 0;
+- opt = &long_options[i];
+- while (opt->name) {
++ for (i = 0; (opt = &long_options[i])->name; i++) {
+ if (flag == opt->val) {
+ fprintf(stderr, "Unimplemented option: -%s or -%c\n",
+ opt->name, flag);
/tags/1.2.5.dfsg-5/debian/patches/21_spfquery_infininte_loop.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5/debian/patches/20_64bit_types.dpatch
===================================================================
--- tags/1.2.5.dfsg-5/debian/patches/20_64bit_types.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/patches/20_64bit_types.dpatch (revision 108)
@@ -0,0 +1,105 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_64bit_types.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Change various ints to size_t etc, to avoid crashes on 64-bit
+## DP: architectures.
+
+@DPATCH@
+
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_internal.h libspf2-1.2.5.dfsg.new/src/include/spf_internal.h
+--- libspf2-1.2.5.dfsg/src/include/spf_internal.h 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/include/spf_internal.h 2007-03-23 23:08:54.000000000 +0100
+@@ -71,7 +71,7 @@
+ static inline size_t _align_sz(size_t s)
+ { return (s + (_ALIGN_SZ - 1 - (((s - 1) & (_ALIGN_SZ - 1))))); }
+ static inline char * _align_ptr(char *s)
+- { return (s + (_ALIGN_SZ - 1 - ((((unsigned int)s - 1) & (_ALIGN_SZ - 1))))); }
++ { return (s + (_ALIGN_SZ - 1 - ((((size_t)s - 1) & (_ALIGN_SZ - 1))))); }
+ #else
+ static inline size_t _align_sz(size_t s) { return s; }
+ static inline char * _align_ptr(char *s) { return s; }
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_record.h libspf2-1.2.5.dfsg.new/src/include/spf_record.h
+--- libspf2-1.2.5.dfsg/src/include/spf_record.h 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/include/spf_record.h 2007-03-23 23:08:54.000000000 +0100
+@@ -224,7 +224,7 @@
+
+ struct SPF_macro_struct
+ {
+- unsigned int macro_len; /* bytes of data */
++ size_t macro_len; /* bytes of data */
+ /* data: (SPF_data_t[] = char[macro_len]) follows */
+ };
+
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_compile.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_compile.c 2007-03-23 23:18:41.000000000 +0100
+@@ -98,7 +98,7 @@
+ }
+
+ static void
+-SPF_c_ensure_capacity(void **datap, int *sizep, int length)
++SPF_c_ensure_capacity(void **datap, size_t *sizep, int length)
+ {
+ int size = *sizep;
+ if (length > size)
+@@ -435,7 +435,7 @@
+ static SPF_errcode_t
+ SPF_c_parse_macro(SPF_server_t *spf_server,
+ SPF_response_t *spf_response,
+- SPF_data_t *data, int *data_len,
++ SPF_data_t *data, size_t *data_len,
+ const char **startp, const char **endp,
+ size_t max_len, SPF_errcode_t big_err,
+ int is_mod)
+@@ -551,10 +551,10 @@
+ static SPF_errcode_t
+ SPF_c_parse_domainspec(SPF_server_t *spf_server,
+ SPF_response_t *spf_response,
+- SPF_data_t *data, int *data_len,
++ SPF_data_t *data, size_t *data_len,
+ const char **startp, const char **endp,
+ size_t max_len, SPF_errcode_t big_err,
+- int cidr_ok, int is_mod)
++ SPF_cidr_t cidr_ok, int is_mod)
+ {
+ SPF_errcode_t err;
+ /* Generic parsing iterators and boundaries */
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_dns_resolv.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_dns_resolv.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_dns_resolv.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_dns_resolv.c 2007-03-23 23:08:54.000000000 +0100
+@@ -393,7 +393,7 @@
+ if ( SPF_dns_rr_buf_realloc( spfrr, cnt, rdlen ) != SPF_E_SUCCESS )
+ return spfrr;
+
+- dst = spfrr->rr[cnt]->txt;
++ dst = (u_char *)(spfrr->rr[cnt]->txt);
+ len = 0;
+ src = (u_char *)rdata;
+ while ( rdlen > 0 )
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_interpret.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_interpret.c 2007-03-23 23:20:30.000000000 +0100
+@@ -49,8 +49,8 @@
+ SPF_record_t *spf_record;
+ SPF_errcode_t err;
+ char *buf;
+- int buflen;
+- int len;
++ size_t buflen;
++ size_t len;
+
+ SPF_ASSERT_NOTNULL(spf_response);
+ spf_request = spf_response->spf_request;
+diff -Nur libspf2-1.2.5.dfsg/src/spfd/spfd.c libspf2-1.2.5.dfsg.new/src/spfd/spfd.c
+--- libspf2-1.2.5.dfsg/src/spfd/spfd.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/spfd/spfd.c 2007-03-23 23:08:54.000000000 +0100
+@@ -168,7 +168,7 @@
+ struct sockaddr_in in;
+ struct sockaddr_un un;
+ } addr;
+- int addrlen;
++ socklen_t addrlen;
+ char *data;
+ int datalen;
+
/tags/1.2.5.dfsg-5/debian/patches/20_64bit_types.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5/debian/patches/02_wrong_lib_version_h.dpatch
===================================================================
--- tags/1.2.5.dfsg-5/debian/patches/02_wrong_lib_version_h.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/patches/02_wrong_lib_version_h.dpatch (revision 108)
@@ -0,0 +1,30 @@
+#!/bin/sh
+## 02_wrong_lib_version_h.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Move static spf_lib_version.h out of the way and patch configure to put
+## DP: the autogenerated one in the right place.
+
+set -e
+
+lib_version_h=src/include/spf_lib_version.h
+
+dpatch_patch() {
+ # Update configure script so that it writes to the right .h file
+ test -e configure.old || \
+ sed -ri.old -e 's%src/libspf2/spf_lib_version%src/include/spf_lib_version%' configure
+ # Move the bad .h file out of the way
+ test -e $lib_version_h.old || mv -f $lib_version_h $lib_version_h.old
+}
+
+dpatch_unpatch() {
+ # Move the bad .h file back to its position
+ if test -e $lib_version_h.old; then mv -f $lib_version_h.old $lib_version_h; fi
+ # Move the original configure script back
+ if test -e configure.old; then mv -f configure.old configure; fi
+}
+
+
+DPATCH_LIB_NO_DEFAULT=1
+
+. /usr/share/dpatch/dpatch.lib.sh
/tags/1.2.5.dfsg-5/debian/patches/02_wrong_lib_version_h.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5/debian/patches/20_spf_server_unnecessary_include.dpatch
===================================================================
--- tags/1.2.5.dfsg-5/debian/patches/20_spf_server_unnecessary_include.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/patches/20_spf_server_unnecessary_include.dpatch (revision 108)
@@ -0,0 +1,18 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_server_unnecessary_include.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: src/include/spf_server.h: Remove useless include of spf_dns_internal.h.
+
+@DPATCH@
+
+--- libspf2-1.2.5.dfsg.orig/src/include/spf_server.h
++++ libspf2-1.2.5.dfsg/src/include/spf_server.h
+@@ -20,7 +20,6 @@
+
+ #include "spf_record.h"
+ #include "spf_dns.h"
+-#include "spf_dns_internal.h"
+
+ #ifndef SPF_MAX_DNS_MECH
+ /* It is a bad idea to change this for two reasons.
/tags/1.2.5.dfsg-5/debian/patches/20_spf_server_unnecessary_include.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5/debian/patches/25_maxvals.dpatch
===================================================================
--- tags/1.2.5.dfsg-5/debian/patches/25_maxvals.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/patches/25_maxvals.dpatch (revision 108)
@@ -0,0 +1,61 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 25_maxvals.dpatch by Thomas Jacob <jacob@internet24.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Bring certain processing limits (meant to mitigate DoS attacks) in line
+## DP: with RFC 4408.
+
+@DPATCH@
+
+diff -ruN libspf2-1.2.5/src/include/spf.h libspf2-1.2.5.patched/src/include/spf.h
+--- libspf2-1.2.5/src/include/spf.h 2005-02-17 01:56:55.000000000 +0100
++++ libspf2-1.2.5.patched/src/include/spf.h 2007-03-14 16:58:21.000000000 +0100
+@@ -52,8 +52,8 @@
+
+ /* FYI only -- defaults can't be changed without recompiling the library */
+ #define SPF_DEFAULT_MAX_DNS_MECH 10 /* DoS limit on SPF mechanisms */
+-#define SPF_DEFAULT_MAX_DNS_PTR 5 /* DoS limit on PTR records */
+-#define SPF_DEFAULT_MAX_DNS_MX 5 /* DoS limit on MX records */
++#define SPF_DEFAULT_MAX_DNS_PTR 10 /* DoS limit on PTR records */
++#define SPF_DEFAULT_MAX_DNS_MX 10 /* DoS limit on MX records */
+ #define SPF_DEFAULT_SANITIZE 1
+ #define SPF_DEFAULT_WHITELIST "include:spf.trusted-forwarder.org"
+ #define SPF_EXP_MOD_NAME "exp-text"
+diff -ruN libspf2-1.2.5/src/include/spf_internal.h libspf2-1.2.5.patched/src/include/spf_internal.h
+--- libspf2-1.2.5/src/include/spf_internal.h 2005-02-24 05:10:49.000000000 +0100
++++ libspf2-1.2.5.patched/src/include/spf_internal.h 2007-03-14 16:58:04.000000000 +0100
+@@ -57,13 +57,13 @@
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_PTR 5
++#define SPF_MAX_DNS_PTR 10
+ #endif
+ #ifndef SPF_MAX_DNS_MX
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_MX 5
++#define SPF_MAX_DNS_MX 10
+ #endif
+
+ #if 1
+diff -ruN libspf2-1.2.5/src/include/spf_server.h libspf2-1.2.5.patched/src/include/spf_server.h
+--- libspf2-1.2.5/src/include/spf_server.h 2004-09-29 12:33:09.000000000 +0200
++++ libspf2-1.2.5.patched/src/include/spf_server.h 2007-03-14 16:58:54.000000000 +0100
+@@ -44,13 +44,13 @@
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_PTR 5
++#define SPF_MAX_DNS_PTR 10
+ #endif
+ #ifndef SPF_MAX_DNS_MX
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_MX 5
++#define SPF_MAX_DNS_MX 10
+ #endif
+
+ struct SPF_server_struct {
/tags/1.2.5.dfsg-5/debian/patches/25_maxvals.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5/debian/patches/30_spfd_check_unlink_failure.dpatch
===================================================================
--- tags/1.2.5.dfsg-5/debian/patches/30_spfd_check_unlink_failure.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/patches/30_spfd_check_unlink_failure.dpatch (revision 108)
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 30_spfd_check_unlink_failure.dpatch by Thomas Jacob <jacob@internet24.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix a call to unlink() in spfd.c. It passed 'path < 0' as the argument
+## DP: instead of checking whether the return value < 0.
+
+@DPATCH@
+
+--- libspf2-1.2.5/src/spfd/spfd.c 2005-02-19 03:40:35.000000000 +0100
++++ libspf2-1.2.5-amd64/src/spfd/spfd.c 2007-03-08 21:17:09.000000000 +0100
+@@ -640,7 +640,7 @@
+ memset(&addr, 0, sizeof(addr));
+ addr.sun_family = AF_UNIX;
+ strcpy(addr.sun_path, spfd_config.path);
+- if (unlink(spfd_config.path < 0)) {
++ if (unlink(spfd_config.path) < 0) {
+ if (errno != ENOENT) {
+ perror("unlink");
+ DIE("Failed to unlink socket");
/tags/1.2.5.dfsg-5/debian/patches/30_spfd_check_unlink_failure.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5/debian/patches/20_spf_dns_include_std_headers.dpatch
===================================================================
--- tags/1.2.5.dfsg-5/debian/patches/20_spf_dns_include_std_headers.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/patches/20_spf_dns_include_std_headers.dpatch (revision 108)
@@ -0,0 +1,60 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_dns_include_std_headers.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Include arpa/nameser.h and netdb.h from spf_dns.h instead of defining
+## DP: the constants needed unless certain HAVE_ macros are defined.
+
+@DPATCH@
+
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_dns.h libspf2-1.2.5.dfsg.new/src/include/spf_dns.h
+--- libspf2-1.2.5.dfsg/src/include/spf_dns.h 2004-08-29 16:59:33.000000000 +0200
++++ libspf2-1.2.5.dfsg.new/src/include/spf_dns.h 2007-03-23 18:04:17.000000000 +0100
+@@ -61,43 +61,12 @@
+ *
+ */
+
+-
+-/*
+- * For those who don't have <arpa/nameserv.h>
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
+ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /* Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+-#ifndef ns_t_invalid
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /* NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /* SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /* invalid/unimplmeneted query */
+-#define NO_DATA 4 /* host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/tags/1.2.5.dfsg-5/debian/patches/20_spf_dns_include_std_headers.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5/debian/spfquery.postinst
===================================================================
--- tags/1.2.5.dfsg-5/debian/spfquery.postinst (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,17 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25 \
+ --slave /usr/share/man/man1/spfquery.1.gz spfquery.1.gz /usr/share/man/man1/spfquery.$source_package.1.gz
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.5.dfsg-5/debian/spfquery.manpages
===================================================================
--- tags/1.2.5.dfsg-5/debian/spfquery.manpages (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/spfquery.manpages (revision 108)
@@ -0,0 +1 @@
+debian/spfquery.libspf2.1
Index: tags/1.2.5.dfsg-5/debian/spfquery.libspf2.1
===================================================================
--- tags/1.2.5.dfsg-5/debian/spfquery.libspf2.1 (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/spfquery.libspf2.1 (revision 108)
@@ -0,0 +1,199 @@
+.\" Title: SPFQUERY
+.\" Author: Magnus Holmgren <magnus@kibibyte.se>
+.\" Date: 2007-09-06
+.\" Manual: libspf2 manuals for Debian
+.\" Source: libspf2 1.2.5
+.\"
+.TH "SPFQUERY" "1" "2007-09-06" "libspf2 1.2.5" "libspf2 manuals for Debian"
+.\" disable hyphenation
+.nh
+.SH NAME
+spfquery, spfquery.libspf2 \- checks if an IP address is an SPF-authorized SMTP sender for a domain.
+.SH SYNOPSIS
+.ad l
+.HP 9
+.B spfquery
+.RB { \-i | \-\-ip }
+.I ip\-address
+.RB { -s | \-\-sender }
+.RI [ local-part \fB@\fP] domain
+.RB [{ \-h | \-\-helo }
+.IR domain-name ]
+.RB [ \-\-rcpt\-to
+.IR email-address(es) ]
+.RI [ CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-f | \-\-file }
+.IR datafile " [" CONTROL-OPTIONS ]
+.HP 9
+.B spfquery
+.RB { \-\-help | \-v | \-\-version }
+.ad b
+.SH DESCRIPTION
+This manual page documents briefly the
+\fBspfquery\fR
+command. It was written for the
+Debian\*[R] distribution because the original program does not have a manual page.
+.PP
+\fBspfquery\fR performs Sender Policy Framework (SPF) authorization
+checks based on the command-line arguments or data given in a file or
+on standard input. For information on SPF see http://www.openspf.org.
+.
+.SH OPTIONS
+Options are divided into two groups: Data options, which must be
+given, though just enough of them to specify a query; and control
+options, which are optional and control the local policy, behaviour
+and output format of spfquery.
+.PP
+This programs follows the GNU \fBgetopt_long_only\fR(3) command line
+syntax: Long options can be given with one or two dashes and can be
+abbreviated to a prefix long enough to be non-ambiguous. If an option
+starting with a single dash doesn't match a long option, it is taken
+as a short option with a following parameter, if applicable. An equals
+sign between the option name and the parameter is optional for both
+short and long options.
+.SS Data options
+The
+\fB\-\-file\fR option conflicts with all the other data options. The
+\fB\-\-helo\fR and \fB\-\-rcpt\-to\fR are optional.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfilename\fR
+Read SPF data from \fIfilename\fR. Specify \(lq-\(rq to read from standard input.
+.sp
+The file should consist of one line per query, each query line consisting of the IP address, sender adress, and optional HELO string, separated by spaces.
+.sp
+\fBNote\fP
+Local parts containing spaces are currently not supported.
+.TP
+\fB\-i\fP, \fB\-\-ip\fP \fIip-address\fP
+Specify the IP address of the remote host that is delivering the mail.
+.TP
+\fB\-s\fP, \fB\-\-sender\fP [\fIlocal-part\fP\fB@\fP]\fIdomain\fP
+Specify the email address that was used as the envelope sender. If no
+username (local part) is given, \(lqpostmaster\(rq will be assumed.
+.TP
+\fB\-h\fP, \fB\-\-helo\fP \fIdomain-name\fP
+Specify that \fIdomain-name\fP was provided in the SMTP HELO (or EHLO) command.
+.TP
+\fB\-r\fP, \fB\-\-rcpt-to\fP \fIrcpt-address\fP[,\fIrcpt-address\fP,...]
+Specify the recipients as comma-separated list. Any secondary mail exchangers of all
+recipient domains are automatically authorized.
+.
+.SS Control options
+.TP
+\fB\-d\fP, \fB\-\-debug\fP[\fB=\fP\fIlevel\fP]
+Turn on debugging output.
+.TP
+\fB\-l\fP, \fB\-\-local\fP \fIspf\-terms\fP
+Test against \fIspf\-terms\fR before the final (implicit or explicit)
+\(lqall\(rq in an SPF record. This can be used to implement a local policy for whitelisting.
+.TP
+\fB\-t, \fB\-\-trusted\fR [\fB1\fR]
+Check the sender domain with trusted\-forwarder.org.
+\fBThis is a non\-standard feature.\fR
+.TP
+\fB\-t\fP \fB0\fP, \fB\-\-trusted\fR \fB0\fP
+Do not check the sender domain with trusted\-forwarder.org. This is the default.
+.TP
+\fB\-g\fP, \fB\-\-guess\fP \fIspf-mechanisms\fP
+Test the sender domain against \fIspf\-mechanisms\fP if the domain has no SPF record.
+.TP
+\fB\-e\fP, \fB\-\-default\-explanation\fP \fIstring\fP
+Default explanation string to use if the SPF record does not specify an expla\%nation string itself.
+.TP
+\fB\-m\fP, \fB\-\-max\-lookup\fP \fInumber\fP
+Maximum number of DNS lookups to allow.
+.TP
+\fB\-c\fP, \fB\-\-sanitize\fP [\fB0\fP|\fB1\fP]
+Do [not] sanitize the output by condensing conse\%cutive white\%space
+into a single space and replacing non-printable characters with
+question marks. Enabled by default.
+.TP
+\fB\-n\fP, \fB\-\-name\fP \fIhostname\fP
+Use
+\fIhostname\fP
+as the name of the local system instead of
+\(lqspfquery\(rq
+(the name is used in the output).
+.TP
+\fB\-k\fP, \fB\-\-keep\-comments\fP
+Print comments found when reading from a file.
+.TP
+\fB\-a\fP, \fB\-\-override\fP \fI...\fP
+.TP
+\fB\-z\fP, \fB\-\-fallback\fP \fI...\fP
+Provide override and fallback SPF records for certain domains.
+\fBNot implemented yet.\fP
+\fBspfquery\fP
+would act as if the speci\%fied records were present before and after any existing record, respectively, of those domains.
+.TP
+\fB\-\-help\fP
+Show summary of options.
+.TP
+\fB\-v\fP, \fB\-\-version\fP
+Show version of program.
+.SH DIAGNOSTICS
+The output ordinarily consists of four lines:
+.IP 1. 4
+the \fIresult code\fP;
+.IP 2. 4
+the \fIexplanation\fP, suitable for use in an SMTP response message, empty
+except when a rejection (permanent or temporary) makes sense;
+.IP 3. 4
+the header comment on its own;
+.IP 4. 4
+the Received\-SPF header field as defined in RFC 4408 section 7,
+incorporating the header comment.
+.PP
+If errors (including no SPF record found!) occur during processing,
+one or more error blocks will be prepended.
+These start with \(lqStartError\(lq and end with \(lqEndError\(lq.
+.PP
+The result codes and their corresponding exit codes are as follows:
+.TP
+.B 1 \(en neutral
+The sender domain explicitly makes no assertion about the \fIip-address\fP.
+This result must be interpreted exactly as if no SPF record at all existed.
+.TP
+.B 2 \(en pass
+The \fIip-address\fP is authorized to send mail for the sender domain.
+.TP
+.B 3 \(en fail
+The \fIip-address\fP is \fBunauthorized\fP to send mail for the sender domain.
+.TP
+.B 4 \(en softfail
+The \fIip-address\fP is not authorized to send mail for the sender domain, but
+the sender domain cannot or does not wish to make a strong assertion that no such mail can
+ever come from it.
+.TP
+.B 5 \(en none
+No SPF record was found.
+.TP
+.BR "6 \(en error" " (temporary)"
+A transient error occurred (e.g. failure to reach a DNS server), preventing a
+result from being reached.
+.TP
+.BR "7 \(en unknown" " (permanent error)"
+One or more SPF records could not be interpreted.
+.SH EXAMPLES
+.nf
+spfquery \-ip=11.22.33.44 \-sender=user@aol.com \-helo=spammer.tld
+spfquery \-f test_data
+echo "127.0.0.1 myname@mydomain.com helohost.com" | spfquery \-f \-
+.fi
+.SH SEE ALSO
+\fBspftest\fR(1), \fBspfd\fR(8)
+.SH AUTHOR
+\fBspfquery\fP was written by Wayne Schlitt.
+.PP
+This manual page was written by Magnus Holmgren for the Debian\*[R]
+system (but may be used by others). Heavily inspired by the spfquery manpage of
+libmail\-spf\-query\-perl (\fBspfquery.mail\-spf\-query\-perl\fR(1)) by Julian Mehnle.
+Also based on the command\-line help of spfquery.
+.SH COPYRIGHT
+Copyright \(co 2007 Magnus Holmgren. Permission is granted to copy,
+distribute and/or modify this document under the terms of the BSD
+License.
+.PP
+On Debian systems, the complete text of the BSD License can be found in /usr/share/common\-licenses/BSD.
Index: tags/1.2.5.dfsg-5/debian/copyright
===================================================================
--- tags/1.2.5.dfsg-5/debian/copyright (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/copyright (revision 108)
@@ -0,0 +1,20 @@
+This package was debianized by Eric Dorland <eric@debian.org> on
+Sun, 04 Jul 2004 19:00:36 -0400
+
+The current maintainer is Magnus Holmgren <magnus@kibibyte.se>.
+
+It was downloaded from http://www.libspf2.org/
+
+Upstream Author: Wayne Schlitt <wayne@schlitt.net>
+
+Copyright:
+
+Software copyright ยฉ 2004-2005 Wayne Schlitt <wayne@schlitt.net> and
+Shevek <shevek@anarres.org>
+
+You are free to distribute this software under the terms of the GNU Lesser
+General Public License version 2.1 or the BSD license, at your choice.
+
+On Debian systems, the complete text of the GNU Lesser General Public
+License can be found in the file `/usr/share/common-licenses/LGPL-2.1' and
+the BSD license can be found in the file `/usr/share/common-licenses/BSD'.
Index: tags/1.2.5.dfsg-5/debian/README.Debian
===================================================================
--- tags/1.2.5.dfsg-5/debian/README.Debian (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/README.Debian (revision 108)
@@ -0,0 +1,22 @@
+libspf2 for Debian
+==================
+
+Debian's version of libspf2 does a couple of things slightly
+differently compared to the upstream version (usually meaning: more
+RFC-compliantly). You can always see all applied patches by
+downloading the source package and looking in the debian/patches
+subdirectory. All patches should also be mentioned in the Debian
+changelog. Some deserve further comment, though:
+
+* 42_empty_sender.dpatch changes SPF_request_set_env_sender() so that
+ if called with an empty envelope sender, the envelope sender in the
+ SPF_request_struct structure will be set to the HELO identity
+ instead ("postmaster@" + the HELO domain), provided that
+ SPF_request_set_helo_dom() has been called beforehand. This should
+ improve behaviour of applications that (incorrectly) call
+ SPF_request_set_env_sender() with an empty envelope sender address.
+ However, applications SHOULD NOT RELY ON THIS, but should check if
+ the envelope sender address is empty, and in that case pass the HELO
+ identity instead, or use the result of an earlier HELO check.
+
+ -- Magnus Holmgren <magnus@kibibyte.se>, Wed, 22 Aug 2007 17:10:07 +0200
Index: tags/1.2.5.dfsg-5/debian/watch
===================================================================
--- tags/1.2.5.dfsg-5/debian/watch (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: tags/1.2.5.dfsg-5/debian/libspf2-dev.install
===================================================================
--- tags/1.2.5.dfsg-5/debian/libspf2-dev.install (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,4 @@
+debian/tmp/usr/lib/*.so usr/lib
+debian/tmp/usr/lib/*.a usr/lib
+debian/tmp/usr/lib/*.la usr/lib
+debian/tmp/usr/include/* usr/include
Index: tags/1.2.5.dfsg-5/debian/spfquery.prerm
===================================================================
--- tags/1.2.5.dfsg-5/debian/spfquery.prerm (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.5.dfsg-5/debian/compat
===================================================================
--- tags/1.2.5.dfsg-5/debian/compat (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/compat (revision 108)
@@ -0,0 +1 @@
+5
Index: tags/1.2.5.dfsg-5/debian/spfquery.install
===================================================================
--- tags/1.2.5.dfsg-5/debian/spfquery.install (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+debian/tmp/usr/bin/spfquery usr/bin
+debian/tmp/usr/bin/spftest usr/bin
+debian/tmp/usr/bin/spf_example usr/bin
+debian/tmp/usr/bin/spfd usr/sbin
Index: tags/1.2.5.dfsg-5/debian/libspf2-2.install
===================================================================
--- tags/1.2.5.dfsg-5/debian/libspf2-2.install (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+debian/tmp/usr/lib/*.so.* usr/lib
Index: tags/1.2.5.dfsg-5/debian/libspf2-dev.README.Debian
===================================================================
--- tags/1.2.5.dfsg-5/debian/libspf2-dev.README.Debian (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/libspf2-dev.README.Debian (revision 108)
@@ -0,0 +1,8 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+ -- Eric Dorland <eric@debian.org>, Sun Jul 4 19:02:07 2004
Index: tags/1.2.5.dfsg-5/debian/rules
===================================================================
--- tags/1.2.5.dfsg-5/debian/rules (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/rules (revision 108)
@@ -0,0 +1,17 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+
+include /usr/share/cdbs/1/class/autotools.mk
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/dpatch.mk
+
+DEB_DH_MAKESHLIBS_ARGS_libspf2-2 = -V 'libspf2-2 (>= 1.2.5)'
+
+binary-install/spfquery::
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.5.tar.gz
/tags/1.2.5.dfsg-5/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-5/debian/README.Debian-source
===================================================================
--- tags/1.2.5.dfsg-5/debian/README.Debian-source (nonexistent)
+++ tags/1.2.5.dfsg-5/debian/README.Debian-source (revision 108)
@@ -0,0 +1,16 @@
+The upstream tarball has been repackaged because it contained non-free
+material in the form of an (obsolete) IETF Internet Draft
+(draft-mengwong-spf-00.txt in the docs subdirectory). As far as I can
+see It's non-free because it doesn't contain any copyright information
+at all, thereby defaulting to "all right reserved" in most
+jurisdictions.
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+To download the original tarball use `debian/rules get-orig-source' or
+go to <http://www.libspf2.org/download.html> (beware that running
+debian/rules outside the package directory can have unwanted side
+effects due to CDBS).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Fri, 23 Mar 2007 16:44:20 +0100
Index: tags/1.2.5.dfsg-5/debian
===================================================================
--- tags/1.2.5.dfsg-5/debian (nonexistent)
+++ tags/1.2.5.dfsg-5/debian (revision 108)
/tags/1.2.5.dfsg-5/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: tags/1.2.5.dfsg-4/debian/changelog
===================================================================
--- tags/1.2.5.dfsg-4/debian/changelog (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/changelog (revision 108)
@@ -0,0 +1,160 @@
+libspf2 (1.2.5.dfsg-5) unstable; urgency=low
+
+ * 43_new_explanation_url.dpatch: Bring default explanation up to date by
+ referring to www.openspf.org instead of spf.pobox.com.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Thu, 13 Sep 2007 14:26:30 +0200
+
+libspf2 (1.2.5.dfsg-4) unstable; urgency=low
+
+ * Added 23_spfquery_ipv6.dpatch: Make spfquery accept IPv6 addresses
+ (Closes: #440147). Thanks to Matthias Cramer.
+ * 35_untabify_help.dpatch: Make --help output of utilities less ugly by
+ converting tabs to spaces.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 05 Sep 2007 15:39:22 +0200
+
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: tags/1.2.5.dfsg-4/debian/patches/43_new_explanation_url.dpatch
===================================================================
--- tags/1.2.5.dfsg-4/debian/patches/43_new_explanation_url.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/patches/43_new_explanation_url.dpatch (revision 108)
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 43_new_explanation_url.dpatch by <magnus@proffe.kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Bring default explanation up to date by referring to
+## DP: www.openspf.org instead of spf.pobox.com.
+
+@DPATCH@
+diff -urNad trunk~/src/include/spf.h trunk/src/include/spf.h
+--- trunk~/src/include/spf.h 2007-09-06 13:57:32.000000000 +0200
++++ trunk/src/include/spf.h 2007-09-06 13:58:59.000000000 +0200
+@@ -57,7 +57,7 @@
+ #define SPF_DEFAULT_SANITIZE 1
+ #define SPF_DEFAULT_WHITELIST "include:spf.trusted-forwarder.org"
+ #define SPF_EXP_MOD_NAME "exp-text"
+-#define SPF_DEFAULT_EXP "Please see http://spf.pobox.com/why.html?sender=%{S}&ip=%{C}&receiver=%{R}"
++#define SPF_DEFAULT_EXP "Please see http://www.openspf.org/Why?id=%{S}&ip=%{C}&receiver=%{R}"
+
+
+
/tags/1.2.5.dfsg-4/debian/patches/43_new_explanation_url.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-4/debian/patches/00list
===================================================================
--- tags/1.2.5.dfsg-4/debian/patches/00list (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/patches/00list (revision 108)
@@ -0,0 +1,16 @@
+#01_line-endings
+02_wrong_lib_version_h
+20_64bit_types
+20_printf_types
+20_spf_dns_include_std_headers
+20_spf_server_unnecessary_include
+21_spfquery_infininte_loop
+22_spfquery_fallback_segfault
+23_spfquery_ipv6
+25_maxvals
+30_spfd_check_unlink_failure
+35_untabify_help
+40_permanent_include_errors
+41_none_not_neutral
+42_empty_sender
+43_new_explanation_url
Index: tags/1.2.5.dfsg-4/debian/patches/35_untabify_help.dpatch
===================================================================
--- tags/1.2.5.dfsg-4/debian/patches/35_untabify_help.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/patches/35_untabify_help.dpatch (revision 108)
@@ -0,0 +1,25 @@
+#!/bin/sh
+## 35_untabify_help.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Tidy up --help messages by converting tabs to four spaces (" ").
+
+FILES_TO_PROCESS="src/spfquery/spfquery.c
+ src/spftest/spftest.c
+ src/spf_example/spf_example.c"
+
+dpatch_patch() {
+ # Change line endings to LF in files with CRLF
+ perl -pi -e 's/("[^"]*?)\t/$1 / and redo;' $FILES_TO_PROCESS
+}
+
+dpatch_unpatch() {
+ # Change line endings back to CRLF in files that had it in the tarball
+ # Unfortunately there are exceptions ... have to watch out for changes
+ # in future upstream versions (or simply make backups instead).
+ perl -pi -e 's/("[^"]*?) /$1\t/ and redo;' $FILES_TO_PROCESS
+}
+
+DPATCH_LIB_NO_DEFAULT=1
+
+. /usr/share/dpatch/dpatch.lib.sh
Index: tags/1.2.5.dfsg-4/debian/patches/23_spfquery_ipv6.dpatch
===================================================================
--- tags/1.2.5.dfsg-4/debian/patches/23_spfquery_ipv6.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/patches/23_spfquery_ipv6.dpatch (revision 108)
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 23_spfquery_ipv6.dpatch by Matthias Cramer <matthias.cramer@interway.ch>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Make spfquery accept IPv6 addresses
+
+@DPATCH@
+
+--- libspf2-1.2.5.orig/src/spfquery/spfquery.c 2005-02-22 03:36:55.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/spfquery/spfquery.c 2007-08-30 09:39:32.000000000 +0200
+@@ -604,7 +602,8 @@
+
+ spf_request = SPF_request_new(spf_server);
+
+- if (SPF_request_set_ipv4_str(spf_request, req->ip)) {
++ if (SPF_request_set_ipv4_str(spf_request, req->ip)
++ && SPF_request_set_ipv6_str(spf_request, req->ip)) {
+ printf( "Invalid IP address.\n" );
+ CONTINUE_ERROR;
+
Index: tags/1.2.5.dfsg-4/debian/patches/22_spfquery_fallback_segfault.dpatch
===================================================================
--- tags/1.2.5.dfsg-4/debian/patches/22_spfquery_fallback_segfault.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/patches/22_spfquery_fallback_segfault.dpatch (revision 108)
@@ -0,0 +1,45 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 22_spfquery_fallback_segfault.dpatch by Robert Millan <rmh@aybabtu.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix segfault with malformed -guess argument
+
+@DPATCH@
+
+diff -ur libspf2-1.2.5.dfsg.old/src/spfquery/spfquery.c libspf2-1.2.5.dfsg/src/spfquery/spfquery.c
+--- libspf2-1.2.5.dfsg.old/src/spfquery/spfquery.c 2005-02-22 03:36:55.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/spfquery/spfquery.c 2007-06-24 13:17:34.000000000 +0200
+@@ -341,6 +341,7 @@
+ SPF_request_t *spf_request = NULL;
+ SPF_response_t *spf_response = NULL;
+ SPF_response_t *spf_response_2mx = NULL;
++ SPF_response_t *spf_response_fallback = NULL;
+ SPF_errcode_t err;
+
+ char *opt_file = NULL;
+@@ -670,20 +671,20 @@
+ /* We now have an option to call SPF_request_query_fallback */
+ if (opts->fallback) {
+ err = SPF_request_query_fallback(spf_request,
+- &spf_response, opts->fallback);
++ &spf_response_fallback, opts->fallback);
+ if (opts->debug)
+- response_print("fallback query", spf_response_2mx);
++ response_print("fallback query", spf_response_fallback);
+ if (err) {
+ response_print_errors("Failed to query best-guess",
+- spf_response, err);
++ spf_response_fallback, err);
+ CONTINUE_ERROR;
+ }
+
+ /* append the result */
+- APPEND_RESULT(SPF_response_result(spf_response_2mx));
++ APPEND_RESULT(SPF_response_result(spf_response_fallback));
+
+ spf_response = SPF_response_combine(spf_response,
+- spf_response_2mx);
++ spf_response_fallback);
+ }
+
+ printf( "%s\n%s\n%s\n%s\n",
Index: tags/1.2.5.dfsg-4/debian/patches/42_empty_sender.dpatch
===================================================================
--- tags/1.2.5.dfsg-4/debian/patches/42_empty_sender.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/patches/42_empty_sender.dpatch (revision 108)
@@ -0,0 +1,34 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 42_empty_sender.dpatch by <magnus@proffe.kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: If SPF_request_set_env_from() is called with from set to the empty
+## DP: string, use the HELO identity. Also fix incorrect handling when
+## DP: the local part is empty (but the "@" is present).
+
+@DPATCH@
+diff -urNad trunk~/src/libspf2/spf_request.c trunk/src/libspf2/spf_request.c
+--- trunk~/src/libspf2/spf_request.c 2005-02-22 03:38:57.000000000 +0100
++++ trunk/src/libspf2/spf_request.c 2007-07-30 21:58:48.000000000 +0200
+@@ -142,14 +142,19 @@
+ SPF_FREE(sr->env_from_lp);
+ SPF_FREE(sr->env_from_dp);
+
++ if (*from == '\0' && sr->helo_dom != NULL) {
++ from = sr->helo_dom;
++ }
+ cp = strrchr(from, '@');
+ if (cp && (cp != from)) {
+ sr->env_from = strdup(from);
+- sr->env_from_lp = strdup(from); /* Too long, but simple */
+- sr->env_from_lp[(cp - from)] = '\0';
++ *cp = '\0';
++ sr->env_from_lp = strdup(from);
+ sr->env_from_dp = strdup(cp + 1);
++ *cp = '@';
+ }
+ else {
++ if (cp == from) from++; /* "@domain.example" */
+ len = sizeof("postmaster@") + strlen(from);
+ sr->env_from = malloc(len + 1); /* sizeof("") == 1? */
+ sprintf(sr->env_from, "postmaster@%s", from);
Index: tags/1.2.5.dfsg-4/debian/patches/41_none_not_neutral.dpatch
===================================================================
--- tags/1.2.5.dfsg-4/debian/patches/41_none_not_neutral.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/patches/41_none_not_neutral.dpatch (revision 108)
@@ -0,0 +1,48 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 41_none_not_neutral.dpatch by Robert Millan <rmh@aybabtu.com>, edited by Magnus Holmgren
+##
+## DP: Differentiate between SPF_RESULT_NONE and
+## DP: SPF_RESULT_NEUTRAL in the header comment.
+
+@DPATCH@
+
+diff -ur libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c
+--- libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c 2005-02-22 04:41:27.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c 2007-07-01 01:03:17.000000000 +0200
+@@ -214,11 +226,15 @@
+ break;
+
+ case SPF_RESULT_NEUTRAL:
+- case SPF_RESULT_NONE:
+ snprintf( p, p_end - p, "%s is neither permitted nor denied by %s",
+ ip, spf_source );
+ break;
+
++ case SPF_RESULT_NONE:
++ snprintf( p, p_end - p, "%s does not provide an SPF record",
++ spf_source );
++ break;
++
+ case SPF_RESULT_TEMPERROR:
+ snprintf( p, p_end - p, "encountered temporary error during SPF processing of %s",
+ spf_source );
+diff -ur libspf2-1.2.5.dfsg.old/src/libspf2/spf_result.c libspf2-1.2.5.dfsg/src/libspf2/spf_result.c
+--- libspf2-1.2.5.dfsg.old/src/libspf2/spf_result.c 2004-08-10 15:04:02.000000000 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_result.c 2007-07-01 01:03:29.000000000 +0200
+@@ -187,11 +197,15 @@
+ break;
+
+ case SPF_RESULT_NEUTRAL:
+- case SPF_RESULT_NONE:
+ snprintf( p, p_end - p, "%s is neither permitted nor denied by %s",
+ ip, spf_source );
+ break;
+
++ case SPF_RESULT_NONE:
++ snprintf( p, p_end - p, "%s does not provide an SPF record",
++ spf_source );
++ break;
++
+ case SPF_RESULT_ERROR:
+ snprintf( p, p_end - p, "encountered temporary error during SPF processing of %s",
+ spf_source );
Index: tags/1.2.5.dfsg-4/debian/patches/40_permanent_include_errors.dpatch
===================================================================
--- tags/1.2.5.dfsg-4/debian/patches/40_permanent_include_errors.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/patches/40_permanent_include_errors.dpatch (revision 108)
@@ -0,0 +1,23 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 40_permanent_include_errors.dpatch by Robert Millan <rmh@aybabtu.com>, edited by Magnus Holmgren
+##
+## DP: Permanent error when processing an include: directive should in turn
+## DP: produce permanent error (see the table in RFC 4408 / section 5.2).
+
+@DPATCH@
+
+diff -ur libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c
+--- libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c 2005-02-22 04:41:27.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c 2007-07-01 01:03:17.000000000 +0200
+@@ -1022,7 +1042,10 @@
+ if (spf_record_subr)
+ SPF_record_free(spf_record_subr);
+ SPF_FREE_LOOKUP_DATA();
+- return DONE_TEMPERR( err );
++ if (err == SPF_E_DNS_ERROR)
++ return DONE_TEMPERR( err );
++ else
++ return DONE_PERMERR( err );
+ }
+
+ /*
Index: tags/1.2.5.dfsg-4/debian/patches/20_printf_types.dpatch
===================================================================
--- tags/1.2.5.dfsg-4/debian/patches/20_printf_types.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/patches/20_printf_types.dpatch (revision 108)
@@ -0,0 +1,64 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_printf_types.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Change the format strings of various calls to printf-style functions to
+## DP: match the arguments.
+
+@DPATCH@
+diff -urNad libspf2-1.2.5.dfsg~/src/libspf2/spf_compile.c libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c
+--- libspf2-1.2.5.dfsg~/src/libspf2/spf_compile.c 2007-03-27 14:28:00.931960929 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c 2007-03-27 14:30:04.000000000 +0200
+@@ -470,7 +470,7 @@
+ len = end - p;
+ if (spf_server->debug)
+ SPF_debugf("Adding string literal (%d): '%*.*s'",
+- len, len, len, p);
++ (int)len, (int)len, (int)len, p);
+ memcpy( dst, p, len );
+ ds_len += len;
+ dst += len;
+diff -urNad libspf2-1.2.5.dfsg~/src/libspf2/spf_id2str.c libspf2-1.2.5.dfsg/src/libspf2/spf_id2str.c
+--- libspf2-1.2.5.dfsg~/src/libspf2/spf_id2str.c 2007-03-27 14:27:58.171600935 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_id2str.c 2007-03-27 14:30:51.000000000 +0200
+@@ -309,7 +309,7 @@
+ p_end = *bufp + *buflenp;
+
+ if (debug)
+- SPF_debugf("stringify: Buffer length is %d\n", *buflenp);
++ SPF_debugf("stringify: Buffer length is %u\n", (unsigned int)*buflenp);
+
+
+ /*
+diff -urNad libspf2-1.2.5.dfsg~/src/libspf2/spf_print.c libspf2-1.2.5.dfsg/src/libspf2/spf_print.c
+--- libspf2-1.2.5.dfsg~/src/libspf2/spf_print.c 2007-03-27 14:27:58.231608763 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_print.c 2007-03-27 14:47:39.000000000 +0200
+@@ -54,12 +54,12 @@
+ return SPF_E_SUCCESS;
+ }
+
+- SPF_infof( "SPF header: version: %d mech %d/%d mod %d/%d len=%d",
++ SPF_infof( "SPF header: version: %d mech %d/%u mod %d/%u len=%u",
+ spf_record->version,
+- spf_record->num_mech, spf_record->mech_len,
+- spf_record->num_mod, spf_record->mod_len,
+- sizeof(SPF_record_t) + spf_record->mech_len
+- + spf_record->mod_len);
++ (int)spf_record->num_mech, (unsigned int)spf_record->mech_len,
++ (int)spf_record->num_mod, (unsigned int)spf_record->mod_len,
++ (unsigned int)(sizeof(SPF_record_t) + spf_record->mech_len
++ + spf_record->mod_len));
+
+ err = SPF_record_stringify(spf_record, &prt_buf, &prt_len);
+ if ( err == SPF_E_RESULT_UNKNOWN )
+@@ -81,7 +81,7 @@
+ void SPF_print_sizeof(void)
+ {
+ // SPF_infof( "sizeof(SPF_rec_header_t)=%u", sizeof(SPF_rec_header_t));
+- SPF_infof( "sizeof(SPF_mech_t)=%u", sizeof(SPF_mech_t));
+- SPF_infof( "sizeof(SPF_data_t)=%u", sizeof(SPF_data_t));
+- SPF_infof( "sizeof(SPF_mod_t)=%u", sizeof(SPF_mod_t));
++ SPF_infof( "sizeof(SPF_mech_t)=%u", (unsigned int)sizeof(SPF_mech_t));
++ SPF_infof( "sizeof(SPF_data_t)=%u", (unsigned int)sizeof(SPF_data_t));
++ SPF_infof( "sizeof(SPF_mod_t)=%u", (unsigned int)sizeof(SPF_mod_t));
+ }
/tags/1.2.5.dfsg-4/debian/patches/20_printf_types.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-4/debian/patches/01_line-endings.dpatch
===================================================================
--- tags/1.2.5.dfsg-4/debian/patches/01_line-endings.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/patches/01_line-endings.dpatch (revision 108)
@@ -0,0 +1,30 @@
+#!/bin/sh
+## 01_line-endings.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Convert CRLF line endings to LF in certain Windows-related files
+
+FILES_WITH_CRLF="src/libspf2/spf_dns_windns.c
+ src/libspf2/spf_win32.c
+ src/libreplace/win32_config.h
+ src/include/spf_dns_windns.h
+ src/include/spf_win32.h"
+
+set -e
+
+dpatch_patch() {
+ if [ ! -f debian/patched/patched-line-endings.tar.gz ]; then
+ tar -czf debian/patched/patched-line-endings.tar.gz $FILES_WITH_CRLF
+ # Change line endings to LF in files with CRLF
+ sed -ri -e 's/\r$//' $FILES_WITH_CRLF
+ fi
+}
+
+dpatch_unpatch() {
+ # Change line endings back to CRLF in files that had it in the tarball
+ tar -xzf debian/patched/patched-line-endings.tar.gz
+}
+
+DPATCH_LIB_NO_DEFAULT=1
+
+. /usr/share/dpatch/dpatch.lib.sh
/tags/1.2.5.dfsg-4/debian/patches/01_line-endings.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-4/debian/patches/21_spfquery_infininte_loop.dpatch
===================================================================
--- tags/1.2.5.dfsg-4/debian/patches/21_spfquery_infininte_loop.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/patches/21_spfquery_infininte_loop.dpatch (revision 108)
@@ -0,0 +1,21 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 21_spfquery_infininte_loop.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix infinite loop in spfquery.c:unimplemented().
+
+@DPATCH@
+diff -urNad libspf2-1.2.5.dfsg~/src/spfquery/spfquery.c libspf2-1.2.5.dfsg/src/spfquery/spfquery.c
+--- libspf2-1.2.5.dfsg~/src/spfquery/spfquery.c 2005-02-22 03:36:55.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/spfquery/spfquery.c 2007-03-24 22:28:15.000000000 +0100
+@@ -174,9 +174,7 @@
+ struct option *opt;
+ int i;
+
+- i = 0;
+- opt = &long_options[i];
+- while (opt->name) {
++ for (i = 0; (opt = &long_options[i])->name; i++) {
+ if (flag == opt->val) {
+ fprintf(stderr, "Unimplemented option: -%s or -%c\n",
+ opt->name, flag);
/tags/1.2.5.dfsg-4/debian/patches/21_spfquery_infininte_loop.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-4/debian/patches/20_64bit_types.dpatch
===================================================================
--- tags/1.2.5.dfsg-4/debian/patches/20_64bit_types.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/patches/20_64bit_types.dpatch (revision 108)
@@ -0,0 +1,105 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_64bit_types.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Change various ints to size_t etc, to avoid crashes on 64-bit
+## DP: architectures.
+
+@DPATCH@
+
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_internal.h libspf2-1.2.5.dfsg.new/src/include/spf_internal.h
+--- libspf2-1.2.5.dfsg/src/include/spf_internal.h 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/include/spf_internal.h 2007-03-23 23:08:54.000000000 +0100
+@@ -71,7 +71,7 @@
+ static inline size_t _align_sz(size_t s)
+ { return (s + (_ALIGN_SZ - 1 - (((s - 1) & (_ALIGN_SZ - 1))))); }
+ static inline char * _align_ptr(char *s)
+- { return (s + (_ALIGN_SZ - 1 - ((((unsigned int)s - 1) & (_ALIGN_SZ - 1))))); }
++ { return (s + (_ALIGN_SZ - 1 - ((((size_t)s - 1) & (_ALIGN_SZ - 1))))); }
+ #else
+ static inline size_t _align_sz(size_t s) { return s; }
+ static inline char * _align_ptr(char *s) { return s; }
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_record.h libspf2-1.2.5.dfsg.new/src/include/spf_record.h
+--- libspf2-1.2.5.dfsg/src/include/spf_record.h 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/include/spf_record.h 2007-03-23 23:08:54.000000000 +0100
+@@ -224,7 +224,7 @@
+
+ struct SPF_macro_struct
+ {
+- unsigned int macro_len; /* bytes of data */
++ size_t macro_len; /* bytes of data */
+ /* data: (SPF_data_t[] = char[macro_len]) follows */
+ };
+
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_compile.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_compile.c 2007-03-23 23:18:41.000000000 +0100
+@@ -98,7 +98,7 @@
+ }
+
+ static void
+-SPF_c_ensure_capacity(void **datap, int *sizep, int length)
++SPF_c_ensure_capacity(void **datap, size_t *sizep, int length)
+ {
+ int size = *sizep;
+ if (length > size)
+@@ -435,7 +435,7 @@
+ static SPF_errcode_t
+ SPF_c_parse_macro(SPF_server_t *spf_server,
+ SPF_response_t *spf_response,
+- SPF_data_t *data, int *data_len,
++ SPF_data_t *data, size_t *data_len,
+ const char **startp, const char **endp,
+ size_t max_len, SPF_errcode_t big_err,
+ int is_mod)
+@@ -551,10 +551,10 @@
+ static SPF_errcode_t
+ SPF_c_parse_domainspec(SPF_server_t *spf_server,
+ SPF_response_t *spf_response,
+- SPF_data_t *data, int *data_len,
++ SPF_data_t *data, size_t *data_len,
+ const char **startp, const char **endp,
+ size_t max_len, SPF_errcode_t big_err,
+- int cidr_ok, int is_mod)
++ SPF_cidr_t cidr_ok, int is_mod)
+ {
+ SPF_errcode_t err;
+ /* Generic parsing iterators and boundaries */
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_dns_resolv.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_dns_resolv.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_dns_resolv.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_dns_resolv.c 2007-03-23 23:08:54.000000000 +0100
+@@ -393,7 +393,7 @@
+ if ( SPF_dns_rr_buf_realloc( spfrr, cnt, rdlen ) != SPF_E_SUCCESS )
+ return spfrr;
+
+- dst = spfrr->rr[cnt]->txt;
++ dst = (u_char *)(spfrr->rr[cnt]->txt);
+ len = 0;
+ src = (u_char *)rdata;
+ while ( rdlen > 0 )
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_interpret.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_interpret.c 2007-03-23 23:20:30.000000000 +0100
+@@ -49,8 +49,8 @@
+ SPF_record_t *spf_record;
+ SPF_errcode_t err;
+ char *buf;
+- int buflen;
+- int len;
++ size_t buflen;
++ size_t len;
+
+ SPF_ASSERT_NOTNULL(spf_response);
+ spf_request = spf_response->spf_request;
+diff -Nur libspf2-1.2.5.dfsg/src/spfd/spfd.c libspf2-1.2.5.dfsg.new/src/spfd/spfd.c
+--- libspf2-1.2.5.dfsg/src/spfd/spfd.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/spfd/spfd.c 2007-03-23 23:08:54.000000000 +0100
+@@ -168,7 +168,7 @@
+ struct sockaddr_in in;
+ struct sockaddr_un un;
+ } addr;
+- int addrlen;
++ socklen_t addrlen;
+ char *data;
+ int datalen;
+
/tags/1.2.5.dfsg-4/debian/patches/20_64bit_types.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-4/debian/patches/02_wrong_lib_version_h.dpatch
===================================================================
--- tags/1.2.5.dfsg-4/debian/patches/02_wrong_lib_version_h.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/patches/02_wrong_lib_version_h.dpatch (revision 108)
@@ -0,0 +1,30 @@
+#!/bin/sh
+## 02_wrong_lib_version_h.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Move static spf_lib_version.h out of the way and patch configure to put
+## DP: the autogenerated one in the right place.
+
+set -e
+
+lib_version_h=src/include/spf_lib_version.h
+
+dpatch_patch() {
+ # Update configure script so that it writes to the right .h file
+ test -e configure.old || \
+ sed -ri.old -e 's%src/libspf2/spf_lib_version%src/include/spf_lib_version%' configure
+ # Move the bad .h file out of the way
+ test -e $lib_version_h.old || mv -f $lib_version_h $lib_version_h.old
+}
+
+dpatch_unpatch() {
+ # Move the bad .h file back to its position
+ if test -e $lib_version_h.old; then mv -f $lib_version_h.old $lib_version_h; fi
+ # Move the original configure script back
+ if test -e configure.old; then mv -f configure.old configure; fi
+}
+
+
+DPATCH_LIB_NO_DEFAULT=1
+
+. /usr/share/dpatch/dpatch.lib.sh
/tags/1.2.5.dfsg-4/debian/patches/02_wrong_lib_version_h.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-4/debian/patches/20_spf_server_unnecessary_include.dpatch
===================================================================
--- tags/1.2.5.dfsg-4/debian/patches/20_spf_server_unnecessary_include.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/patches/20_spf_server_unnecessary_include.dpatch (revision 108)
@@ -0,0 +1,18 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_server_unnecessary_include.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: src/include/spf_server.h: Remove useless include of spf_dns_internal.h.
+
+@DPATCH@
+
+--- libspf2-1.2.5.dfsg.orig/src/include/spf_server.h
++++ libspf2-1.2.5.dfsg/src/include/spf_server.h
+@@ -20,7 +20,6 @@
+
+ #include "spf_record.h"
+ #include "spf_dns.h"
+-#include "spf_dns_internal.h"
+
+ #ifndef SPF_MAX_DNS_MECH
+ /* It is a bad idea to change this for two reasons.
/tags/1.2.5.dfsg-4/debian/patches/20_spf_server_unnecessary_include.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-4/debian/patches/25_maxvals.dpatch
===================================================================
--- tags/1.2.5.dfsg-4/debian/patches/25_maxvals.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/patches/25_maxvals.dpatch (revision 108)
@@ -0,0 +1,61 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 25_maxvals.dpatch by Thomas Jacob <jacob@internet24.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Bring certain processing limits (meant to mitigate DoS attacks) in line
+## DP: with RFC 4408.
+
+@DPATCH@
+
+diff -ruN libspf2-1.2.5/src/include/spf.h libspf2-1.2.5.patched/src/include/spf.h
+--- libspf2-1.2.5/src/include/spf.h 2005-02-17 01:56:55.000000000 +0100
++++ libspf2-1.2.5.patched/src/include/spf.h 2007-03-14 16:58:21.000000000 +0100
+@@ -52,8 +52,8 @@
+
+ /* FYI only -- defaults can't be changed without recompiling the library */
+ #define SPF_DEFAULT_MAX_DNS_MECH 10 /* DoS limit on SPF mechanisms */
+-#define SPF_DEFAULT_MAX_DNS_PTR 5 /* DoS limit on PTR records */
+-#define SPF_DEFAULT_MAX_DNS_MX 5 /* DoS limit on MX records */
++#define SPF_DEFAULT_MAX_DNS_PTR 10 /* DoS limit on PTR records */
++#define SPF_DEFAULT_MAX_DNS_MX 10 /* DoS limit on MX records */
+ #define SPF_DEFAULT_SANITIZE 1
+ #define SPF_DEFAULT_WHITELIST "include:spf.trusted-forwarder.org"
+ #define SPF_EXP_MOD_NAME "exp-text"
+diff -ruN libspf2-1.2.5/src/include/spf_internal.h libspf2-1.2.5.patched/src/include/spf_internal.h
+--- libspf2-1.2.5/src/include/spf_internal.h 2005-02-24 05:10:49.000000000 +0100
++++ libspf2-1.2.5.patched/src/include/spf_internal.h 2007-03-14 16:58:04.000000000 +0100
+@@ -57,13 +57,13 @@
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_PTR 5
++#define SPF_MAX_DNS_PTR 10
+ #endif
+ #ifndef SPF_MAX_DNS_MX
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_MX 5
++#define SPF_MAX_DNS_MX 10
+ #endif
+
+ #if 1
+diff -ruN libspf2-1.2.5/src/include/spf_server.h libspf2-1.2.5.patched/src/include/spf_server.h
+--- libspf2-1.2.5/src/include/spf_server.h 2004-09-29 12:33:09.000000000 +0200
++++ libspf2-1.2.5.patched/src/include/spf_server.h 2007-03-14 16:58:54.000000000 +0100
+@@ -44,13 +44,13 @@
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_PTR 5
++#define SPF_MAX_DNS_PTR 10
+ #endif
+ #ifndef SPF_MAX_DNS_MX
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_MX 5
++#define SPF_MAX_DNS_MX 10
+ #endif
+
+ struct SPF_server_struct {
/tags/1.2.5.dfsg-4/debian/patches/25_maxvals.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-4/debian/patches/30_spfd_check_unlink_failure.dpatch
===================================================================
--- tags/1.2.5.dfsg-4/debian/patches/30_spfd_check_unlink_failure.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/patches/30_spfd_check_unlink_failure.dpatch (revision 108)
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 30_spfd_check_unlink_failure.dpatch by Thomas Jacob <jacob@internet24.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix a call to unlink() in spfd.c. It passed 'path < 0' as the argument
+## DP: instead of checking whether the return value < 0.
+
+@DPATCH@
+
+--- libspf2-1.2.5/src/spfd/spfd.c 2005-02-19 03:40:35.000000000 +0100
++++ libspf2-1.2.5-amd64/src/spfd/spfd.c 2007-03-08 21:17:09.000000000 +0100
+@@ -640,7 +640,7 @@
+ memset(&addr, 0, sizeof(addr));
+ addr.sun_family = AF_UNIX;
+ strcpy(addr.sun_path, spfd_config.path);
+- if (unlink(spfd_config.path < 0)) {
++ if (unlink(spfd_config.path) < 0) {
+ if (errno != ENOENT) {
+ perror("unlink");
+ DIE("Failed to unlink socket");
/tags/1.2.5.dfsg-4/debian/patches/30_spfd_check_unlink_failure.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-4/debian/patches/20_spf_dns_include_std_headers.dpatch
===================================================================
--- tags/1.2.5.dfsg-4/debian/patches/20_spf_dns_include_std_headers.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/patches/20_spf_dns_include_std_headers.dpatch (revision 108)
@@ -0,0 +1,60 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_dns_include_std_headers.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Include arpa/nameser.h and netdb.h from spf_dns.h instead of defining
+## DP: the constants needed unless certain HAVE_ macros are defined.
+
+@DPATCH@
+
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_dns.h libspf2-1.2.5.dfsg.new/src/include/spf_dns.h
+--- libspf2-1.2.5.dfsg/src/include/spf_dns.h 2004-08-29 16:59:33.000000000 +0200
++++ libspf2-1.2.5.dfsg.new/src/include/spf_dns.h 2007-03-23 18:04:17.000000000 +0100
+@@ -61,43 +61,12 @@
+ *
+ */
+
+-
+-/*
+- * For those who don't have <arpa/nameserv.h>
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
+ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /* Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+-#ifndef ns_t_invalid
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /* NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /* SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /* invalid/unimplmeneted query */
+-#define NO_DATA 4 /* host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/tags/1.2.5.dfsg-4/debian/patches/20_spf_dns_include_std_headers.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-4/debian/control
===================================================================
--- tags/1.2.5.dfsg-4/debian/control (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/control (revision 108)
@@ -0,0 +1,56 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <magnus@kibibyte.se>
+Build-Depends: debhelper (>> 5), cdbs, dpatch, autotools-dev
+Standards-Version: 3.7.2
+XS-Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+XS-Vcs-Browser: http://svn.kibibyte.se/libspf2
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version})
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+ .
+ Homepage: http://www.libspf2.org/
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+ .
+ Homepage: http://www.libspf2.org/
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
+ .
+ Homepage: http://www.libspf2.org/
Index: tags/1.2.5.dfsg-4/debian/README.Debian
===================================================================
--- tags/1.2.5.dfsg-4/debian/README.Debian (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/README.Debian (revision 108)
@@ -0,0 +1,22 @@
+libspf2 for Debian
+==================
+
+Debian's version of libspf2 does a couple of things slightly
+differently compared to the upstream version (usually meaning: more
+RFC-compliantly). You can always see all applied patches by
+downloading the source package and looking in the debian/patches
+subdirectory. All patches should also be mentioned in the Debian
+changelog. Some deserve further comment, though:
+
+* 42_empty_sender.dpatch changes SPF_request_set_env_sender() so that
+ if called with an empty envelope sender, the envelope sender in the
+ SPF_request_struct structure will be set to the HELO identity
+ instead ("postmaster@" + the HELO domain), provided that
+ SPF_request_set_helo_dom() has been called beforehand. This should
+ improve behaviour of applications that (incorrectly) call
+ SPF_request_set_env_sender() with an empty envelope sender address.
+ However, applications SHOULD NOT RELY ON THIS, but should check if
+ the envelope sender address is empty, and in that case pass the HELO
+ identity instead, or use the result of an earlier HELO check.
+
+ -- Magnus Holmgren <magnus@kibibyte.se>, Wed, 22 Aug 2007 17:10:07 +0200
Index: tags/1.2.5.dfsg-4/debian/copyright
===================================================================
--- tags/1.2.5.dfsg-4/debian/copyright (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/copyright (revision 108)
@@ -0,0 +1,20 @@
+This package was debianized by Eric Dorland <eric@debian.org> on
+Sun, 04 Jul 2004 19:00:36 -0400
+
+The current maintainer is Magnus Holmgren <magnus@kibibyte.se>.
+
+It was downloaded from http://www.libspf2.org/
+
+Upstream Author: Wayne Schlitt <wayne@schlitt.net>
+
+Copyright:
+
+This software is copyright (c) 2004-2005 by Wayne Schlitt <wayne@schlitt.net>
+and Shevek <shevek@anarres.org>
+
+You are free to distribute this software under the terms of the GNU Lesser
+General Public License version 2.1 or the BSD license, at your choice.
+
+On Debian systems, the complete text of the GNU Lesser General Public
+License can be found in the file `/usr/share/common-licenses/LGPL-2.1' and
+the BSD license can be found in the file `/usr/share/common-licenses/BSD'.
Index: tags/1.2.5.dfsg-4/debian/spfquery.postinst
===================================================================
--- tags/1.2.5.dfsg-4/debian/spfquery.postinst (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,16 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.5.dfsg-4/debian/watch
===================================================================
--- tags/1.2.5.dfsg-4/debian/watch (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: tags/1.2.5.dfsg-4/debian/libspf2-dev.install
===================================================================
--- tags/1.2.5.dfsg-4/debian/libspf2-dev.install (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,4 @@
+debian/tmp/usr/lib/*.so usr/lib
+debian/tmp/usr/lib/*.a usr/lib
+debian/tmp/usr/lib/*.la usr/lib
+debian/tmp/usr/include/* usr/include
Index: tags/1.2.5.dfsg-4/debian/spfquery.prerm
===================================================================
--- tags/1.2.5.dfsg-4/debian/spfquery.prerm (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.5.dfsg-4/debian/compat
===================================================================
--- tags/1.2.5.dfsg-4/debian/compat (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/compat (revision 108)
@@ -0,0 +1 @@
+5
Index: tags/1.2.5.dfsg-4/debian/spfquery.install
===================================================================
--- tags/1.2.5.dfsg-4/debian/spfquery.install (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+debian/tmp/usr/bin/spfquery usr/bin
+debian/tmp/usr/bin/spftest usr/bin
+debian/tmp/usr/bin/spf_example usr/bin
+debian/tmp/usr/bin/spfd usr/sbin
Index: tags/1.2.5.dfsg-4/debian/libspf2-2.install
===================================================================
--- tags/1.2.5.dfsg-4/debian/libspf2-2.install (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+debian/tmp/usr/lib/*.so.* usr/lib
Index: tags/1.2.5.dfsg-4/debian/libspf2-dev.README.Debian
===================================================================
--- tags/1.2.5.dfsg-4/debian/libspf2-dev.README.Debian (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/libspf2-dev.README.Debian (revision 108)
@@ -0,0 +1,8 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+ -- Eric Dorland <eric@debian.org>, Sun Jul 4 19:02:07 2004
Index: tags/1.2.5.dfsg-4/debian/rules
===================================================================
--- tags/1.2.5.dfsg-4/debian/rules (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/rules (revision 108)
@@ -0,0 +1,17 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+
+include /usr/share/cdbs/1/class/autotools.mk
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/dpatch.mk
+
+DEB_DH_MAKESHLIBS_ARGS_libspf2-2 = -V 'libspf2-2 (>= 1.2.5)'
+
+binary-install/spfquery::
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.5.tar.gz
/tags/1.2.5.dfsg-4/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-4/debian/README.Debian-source
===================================================================
--- tags/1.2.5.dfsg-4/debian/README.Debian-source (nonexistent)
+++ tags/1.2.5.dfsg-4/debian/README.Debian-source (revision 108)
@@ -0,0 +1,16 @@
+The upstream tarball has been repackaged because it contained non-free
+material in the form of an (obsolete) IETF Internet Draft
+(draft-mengwong-spf-00.txt in the docs subdirectory). As far as I can
+see It's non-free because it doesn't contain any copyright information
+at all, thereby defaulting to "all right reserved" in most
+jurisdictions.
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+To download the original tarball use `debian/rules get-orig-source' or
+go to <http://www.libspf2.org/download.html> (beware that running
+debian/rules outside the package directory can have unwanted side
+effects due to CDBS).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Fri, 23 Mar 2007 16:44:20 +0100
Index: tags/1.2.5.dfsg-4/debian
===================================================================
--- tags/1.2.5.dfsg-4/debian (nonexistent)
+++ tags/1.2.5.dfsg-4/debian (revision 108)
/tags/1.2.5.dfsg-4/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: tags/1.2.5.dfsg-3/debian/control
===================================================================
--- tags/1.2.5.dfsg-3/debian/control (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/control (revision 108)
@@ -0,0 +1,56 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <magnus@kibibyte.se>
+Build-Depends: debhelper (>> 5), cdbs, dpatch, autotools-dev
+Standards-Version: 3.7.2
+XS-Vcs-Svn: svn://svn.kibibyte.se/libspf2/trunk
+XS-Vcs-Browser: http://svn.kibibyte.se/libspf2
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version})
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+ .
+ Homepage: http://www.libspf2.org/
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+ .
+ Homepage: http://www.libspf2.org/
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
+ .
+ Homepage: http://www.libspf2.org/
Index: tags/1.2.5.dfsg-3/debian/changelog
===================================================================
--- tags/1.2.5.dfsg-3/debian/changelog (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/changelog (revision 108)
@@ -0,0 +1,144 @@
+libspf2 (1.2.5.dfsg-3) unstable; urgency=low
+
+ * 22_spfquery_fallback_segfault.dpatch: Fix fallback-related segfault in
+ spfquery (Closes: #430414). Thanks to Robert Millan.
+ * Correct debian/copyright (Closes: #433047). Thanks to Julian Mehnle.
+ * A second patch from Robert split into three:
+ * 40_permanent_include_errors.dpatch: Make permanent errors in
+ processing an include: directive cause the parent evaluation to return
+ a permanent error as well (Closes: #435139).
+ * 41_none_not_neutral.dpatch: Use a diffent explanation for
+ SPF_RESULT_NONE than the one for SPF_RESULT_NEUTRAL (Closes: #435140).
+ * 42_empty_sender.dpatch: Use the HELO identity in MAIL FROM checks if
+ the sender address has been set to the empty string (Closes: #431239).
+ * debian/control: Add XS-Vcs-* fields.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 22 Aug 2007 17:13:27 +0200
+
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: tags/1.2.5.dfsg-3/debian/patches/00list
===================================================================
--- tags/1.2.5.dfsg-3/debian/patches/00list (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/patches/00list (revision 108)
@@ -0,0 +1,13 @@
+#01_line-endings
+02_wrong_lib_version_h
+20_64bit_types
+20_printf_types
+20_spf_dns_include_std_headers
+20_spf_server_unnecessary_include
+21_spfquery_infininte_loop
+22_spfquery_fallback_segfault
+25_maxvals
+30_spfd_check_unlink_failure
+40_permanent_include_errors
+41_none_not_neutral
+42_empty_sender
Index: tags/1.2.5.dfsg-3/debian/patches/22_spfquery_fallback_segfault.dpatch
===================================================================
--- tags/1.2.5.dfsg-3/debian/patches/22_spfquery_fallback_segfault.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/patches/22_spfquery_fallback_segfault.dpatch (revision 108)
@@ -0,0 +1,45 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 22_spfquery_fallback_segfault.dpatch by Robert Millan <rmh@aybabtu.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix segfault with malformed -guess argument
+
+@DPATCH@
+
+diff -ur libspf2-1.2.5.dfsg.old/src/spfquery/spfquery.c libspf2-1.2.5.dfsg/src/spfquery/spfquery.c
+--- libspf2-1.2.5.dfsg.old/src/spfquery/spfquery.c 2005-02-22 03:36:55.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/spfquery/spfquery.c 2007-06-24 13:17:34.000000000 +0200
+@@ -341,6 +341,7 @@
+ SPF_request_t *spf_request = NULL;
+ SPF_response_t *spf_response = NULL;
+ SPF_response_t *spf_response_2mx = NULL;
++ SPF_response_t *spf_response_fallback = NULL;
+ SPF_errcode_t err;
+
+ char *opt_file = NULL;
+@@ -670,20 +671,20 @@
+ /* We now have an option to call SPF_request_query_fallback */
+ if (opts->fallback) {
+ err = SPF_request_query_fallback(spf_request,
+- &spf_response, opts->fallback);
++ &spf_response_fallback, opts->fallback);
+ if (opts->debug)
+- response_print("fallback query", spf_response_2mx);
++ response_print("fallback query", spf_response_fallback);
+ if (err) {
+ response_print_errors("Failed to query best-guess",
+- spf_response, err);
++ spf_response_fallback, err);
+ CONTINUE_ERROR;
+ }
+
+ /* append the result */
+- APPEND_RESULT(SPF_response_result(spf_response_2mx));
++ APPEND_RESULT(SPF_response_result(spf_response_fallback));
+
+ spf_response = SPF_response_combine(spf_response,
+- spf_response_2mx);
++ spf_response_fallback);
+ }
+
+ printf( "%s\n%s\n%s\n%s\n",
Index: tags/1.2.5.dfsg-3/debian/patches/42_empty_sender.dpatch
===================================================================
--- tags/1.2.5.dfsg-3/debian/patches/42_empty_sender.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/patches/42_empty_sender.dpatch (revision 108)
@@ -0,0 +1,34 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 42_empty_sender.dpatch by <magnus@proffe.kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: If SPF_request_set_env_from() is called with from set to the empty
+## DP: string, use the HELO identity. Also fix incorrect handling when
+## DP: the local part is empty (but the "@" is present).
+
+@DPATCH@
+diff -urNad trunk~/src/libspf2/spf_request.c trunk/src/libspf2/spf_request.c
+--- trunk~/src/libspf2/spf_request.c 2005-02-22 03:38:57.000000000 +0100
++++ trunk/src/libspf2/spf_request.c 2007-07-30 21:58:48.000000000 +0200
+@@ -142,14 +142,19 @@
+ SPF_FREE(sr->env_from_lp);
+ SPF_FREE(sr->env_from_dp);
+
++ if (*from == '\0' && sr->helo_dom != NULL) {
++ from = sr->helo_dom;
++ }
+ cp = strrchr(from, '@');
+ if (cp && (cp != from)) {
+ sr->env_from = strdup(from);
+- sr->env_from_lp = strdup(from); /* Too long, but simple */
+- sr->env_from_lp[(cp - from)] = '\0';
++ *cp = '\0';
++ sr->env_from_lp = strdup(from);
+ sr->env_from_dp = strdup(cp + 1);
++ *cp = '@';
+ }
+ else {
++ if (cp == from) from++; /* "@domain.example" */
+ len = sizeof("postmaster@") + strlen(from);
+ sr->env_from = malloc(len + 1); /* sizeof("") == 1? */
+ sprintf(sr->env_from, "postmaster@%s", from);
Index: tags/1.2.5.dfsg-3/debian/patches/41_none_not_neutral.dpatch
===================================================================
--- tags/1.2.5.dfsg-3/debian/patches/41_none_not_neutral.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/patches/41_none_not_neutral.dpatch (revision 108)
@@ -0,0 +1,48 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 41_none_not_neutral.dpatch by Robert Millan <rmh@aybabtu.com>, edited by Magnus Holmgren
+##
+## DP: Differentiate between SPF_RESULT_NONE and
+## DP: SPF_RESULT_NEUTRAL in the header comment.
+
+@DPATCH@
+
+diff -ur libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c
+--- libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c 2005-02-22 04:41:27.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c 2007-07-01 01:03:17.000000000 +0200
+@@ -214,11 +226,15 @@
+ break;
+
+ case SPF_RESULT_NEUTRAL:
+- case SPF_RESULT_NONE:
+ snprintf( p, p_end - p, "%s is neither permitted nor denied by %s",
+ ip, spf_source );
+ break;
+
++ case SPF_RESULT_NONE:
++ snprintf( p, p_end - p, "%s does not provide an SPF record",
++ spf_source );
++ break;
++
+ case SPF_RESULT_TEMPERROR:
+ snprintf( p, p_end - p, "encountered temporary error during SPF processing of %s",
+ spf_source );
+diff -ur libspf2-1.2.5.dfsg.old/src/libspf2/spf_result.c libspf2-1.2.5.dfsg/src/libspf2/spf_result.c
+--- libspf2-1.2.5.dfsg.old/src/libspf2/spf_result.c 2004-08-10 15:04:02.000000000 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_result.c 2007-07-01 01:03:29.000000000 +0200
+@@ -187,11 +197,15 @@
+ break;
+
+ case SPF_RESULT_NEUTRAL:
+- case SPF_RESULT_NONE:
+ snprintf( p, p_end - p, "%s is neither permitted nor denied by %s",
+ ip, spf_source );
+ break;
+
++ case SPF_RESULT_NONE:
++ snprintf( p, p_end - p, "%s does not provide an SPF record",
++ spf_source );
++ break;
++
+ case SPF_RESULT_ERROR:
+ snprintf( p, p_end - p, "encountered temporary error during SPF processing of %s",
+ spf_source );
Index: tags/1.2.5.dfsg-3/debian/patches/40_permanent_include_errors.dpatch
===================================================================
--- tags/1.2.5.dfsg-3/debian/patches/40_permanent_include_errors.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/patches/40_permanent_include_errors.dpatch (revision 108)
@@ -0,0 +1,23 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 40_permanent_include_errors.dpatch by Robert Millan <rmh@aybabtu.com>, edited by Magnus Holmgren
+##
+## DP: Permanent error when processing an include: directive should in turn
+## DP: produce permanent error (see the table in RFC 4408 / section 5.2).
+
+@DPATCH@
+
+diff -ur libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c
+--- libspf2-1.2.5.dfsg.old/src/libspf2/spf_interpret.c 2005-02-22 04:41:27.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c 2007-07-01 01:03:17.000000000 +0200
+@@ -1022,7 +1042,10 @@
+ if (spf_record_subr)
+ SPF_record_free(spf_record_subr);
+ SPF_FREE_LOOKUP_DATA();
+- return DONE_TEMPERR( err );
++ if (err == SPF_E_DNS_ERROR)
++ return DONE_TEMPERR( err );
++ else
++ return DONE_PERMERR( err );
+ }
+
+ /*
Index: tags/1.2.5.dfsg-3/debian/patches/20_printf_types.dpatch
===================================================================
--- tags/1.2.5.dfsg-3/debian/patches/20_printf_types.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/patches/20_printf_types.dpatch (revision 108)
@@ -0,0 +1,64 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_printf_types.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Change the format strings of various calls to printf-style functions to
+## DP: match the arguments.
+
+@DPATCH@
+diff -urNad libspf2-1.2.5.dfsg~/src/libspf2/spf_compile.c libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c
+--- libspf2-1.2.5.dfsg~/src/libspf2/spf_compile.c 2007-03-27 14:28:00.931960929 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c 2007-03-27 14:30:04.000000000 +0200
+@@ -470,7 +470,7 @@
+ len = end - p;
+ if (spf_server->debug)
+ SPF_debugf("Adding string literal (%d): '%*.*s'",
+- len, len, len, p);
++ (int)len, (int)len, (int)len, p);
+ memcpy( dst, p, len );
+ ds_len += len;
+ dst += len;
+diff -urNad libspf2-1.2.5.dfsg~/src/libspf2/spf_id2str.c libspf2-1.2.5.dfsg/src/libspf2/spf_id2str.c
+--- libspf2-1.2.5.dfsg~/src/libspf2/spf_id2str.c 2007-03-27 14:27:58.171600935 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_id2str.c 2007-03-27 14:30:51.000000000 +0200
+@@ -309,7 +309,7 @@
+ p_end = *bufp + *buflenp;
+
+ if (debug)
+- SPF_debugf("stringify: Buffer length is %d\n", *buflenp);
++ SPF_debugf("stringify: Buffer length is %u\n", (unsigned int)*buflenp);
+
+
+ /*
+diff -urNad libspf2-1.2.5.dfsg~/src/libspf2/spf_print.c libspf2-1.2.5.dfsg/src/libspf2/spf_print.c
+--- libspf2-1.2.5.dfsg~/src/libspf2/spf_print.c 2007-03-27 14:27:58.231608763 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_print.c 2007-03-27 14:47:39.000000000 +0200
+@@ -54,12 +54,12 @@
+ return SPF_E_SUCCESS;
+ }
+
+- SPF_infof( "SPF header: version: %d mech %d/%d mod %d/%d len=%d",
++ SPF_infof( "SPF header: version: %d mech %d/%u mod %d/%u len=%u",
+ spf_record->version,
+- spf_record->num_mech, spf_record->mech_len,
+- spf_record->num_mod, spf_record->mod_len,
+- sizeof(SPF_record_t) + spf_record->mech_len
+- + spf_record->mod_len);
++ (int)spf_record->num_mech, (unsigned int)spf_record->mech_len,
++ (int)spf_record->num_mod, (unsigned int)spf_record->mod_len,
++ (unsigned int)(sizeof(SPF_record_t) + spf_record->mech_len
++ + spf_record->mod_len));
+
+ err = SPF_record_stringify(spf_record, &prt_buf, &prt_len);
+ if ( err == SPF_E_RESULT_UNKNOWN )
+@@ -81,7 +81,7 @@
+ void SPF_print_sizeof(void)
+ {
+ // SPF_infof( "sizeof(SPF_rec_header_t)=%u", sizeof(SPF_rec_header_t));
+- SPF_infof( "sizeof(SPF_mech_t)=%u", sizeof(SPF_mech_t));
+- SPF_infof( "sizeof(SPF_data_t)=%u", sizeof(SPF_data_t));
+- SPF_infof( "sizeof(SPF_mod_t)=%u", sizeof(SPF_mod_t));
++ SPF_infof( "sizeof(SPF_mech_t)=%u", (unsigned int)sizeof(SPF_mech_t));
++ SPF_infof( "sizeof(SPF_data_t)=%u", (unsigned int)sizeof(SPF_data_t));
++ SPF_infof( "sizeof(SPF_mod_t)=%u", (unsigned int)sizeof(SPF_mod_t));
+ }
/tags/1.2.5.dfsg-3/debian/patches/20_printf_types.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-3/debian/patches/01_line-endings.dpatch
===================================================================
--- tags/1.2.5.dfsg-3/debian/patches/01_line-endings.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/patches/01_line-endings.dpatch (revision 108)
@@ -0,0 +1,30 @@
+#!/bin/sh
+## 01_line-endings.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Convert CRLF line endings to LF in certain Windows-related files
+
+FILES_WITH_CRLF="src/libspf2/spf_dns_windns.c
+ src/libspf2/spf_win32.c
+ src/libreplace/win32_config.h
+ src/include/spf_dns_windns.h
+ src/include/spf_win32.h"
+
+set -e
+
+dpatch_patch() {
+ if [ ! -f debian/patched/patched-line-endings.tar.gz ]; then
+ tar -czf debian/patched/patched-line-endings.tar.gz $FILES_WITH_CRLF
+ # Change line endings to LF in files with CRLF
+ sed -ri -e 's/\r$//' $FILES_WITH_CRLF
+ fi
+}
+
+dpatch_unpatch() {
+ # Change line endings back to CRLF in files that had it in the tarball
+ tar -xzf debian/patched/patched-line-endings.tar.gz
+}
+
+DPATCH_LIB_NO_DEFAULT=1
+
+. /usr/share/dpatch/dpatch.lib.sh
/tags/1.2.5.dfsg-3/debian/patches/01_line-endings.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-3/debian/patches/21_spfquery_infininte_loop.dpatch
===================================================================
--- tags/1.2.5.dfsg-3/debian/patches/21_spfquery_infininte_loop.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/patches/21_spfquery_infininte_loop.dpatch (revision 108)
@@ -0,0 +1,21 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 21_spfquery_infininte_loop.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix infinite loop in spfquery.c:unimplemented().
+
+@DPATCH@
+diff -urNad libspf2-1.2.5.dfsg~/src/spfquery/spfquery.c libspf2-1.2.5.dfsg/src/spfquery/spfquery.c
+--- libspf2-1.2.5.dfsg~/src/spfquery/spfquery.c 2005-02-22 03:36:55.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/spfquery/spfquery.c 2007-03-24 22:28:15.000000000 +0100
+@@ -174,9 +174,7 @@
+ struct option *opt;
+ int i;
+
+- i = 0;
+- opt = &long_options[i];
+- while (opt->name) {
++ for (i = 0; (opt = &long_options[i])->name; i++) {
+ if (flag == opt->val) {
+ fprintf(stderr, "Unimplemented option: -%s or -%c\n",
+ opt->name, flag);
/tags/1.2.5.dfsg-3/debian/patches/21_spfquery_infininte_loop.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-3/debian/patches/20_64bit_types.dpatch
===================================================================
--- tags/1.2.5.dfsg-3/debian/patches/20_64bit_types.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/patches/20_64bit_types.dpatch (revision 108)
@@ -0,0 +1,105 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_64bit_types.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Change various ints to size_t etc, to avoid crashes on 64-bit
+## DP: architectures.
+
+@DPATCH@
+
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_internal.h libspf2-1.2.5.dfsg.new/src/include/spf_internal.h
+--- libspf2-1.2.5.dfsg/src/include/spf_internal.h 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/include/spf_internal.h 2007-03-23 23:08:54.000000000 +0100
+@@ -71,7 +71,7 @@
+ static inline size_t _align_sz(size_t s)
+ { return (s + (_ALIGN_SZ - 1 - (((s - 1) & (_ALIGN_SZ - 1))))); }
+ static inline char * _align_ptr(char *s)
+- { return (s + (_ALIGN_SZ - 1 - ((((unsigned int)s - 1) & (_ALIGN_SZ - 1))))); }
++ { return (s + (_ALIGN_SZ - 1 - ((((size_t)s - 1) & (_ALIGN_SZ - 1))))); }
+ #else
+ static inline size_t _align_sz(size_t s) { return s; }
+ static inline char * _align_ptr(char *s) { return s; }
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_record.h libspf2-1.2.5.dfsg.new/src/include/spf_record.h
+--- libspf2-1.2.5.dfsg/src/include/spf_record.h 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/include/spf_record.h 2007-03-23 23:08:54.000000000 +0100
+@@ -224,7 +224,7 @@
+
+ struct SPF_macro_struct
+ {
+- unsigned int macro_len; /* bytes of data */
++ size_t macro_len; /* bytes of data */
+ /* data: (SPF_data_t[] = char[macro_len]) follows */
+ };
+
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_compile.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_compile.c 2007-03-23 23:18:41.000000000 +0100
+@@ -98,7 +98,7 @@
+ }
+
+ static void
+-SPF_c_ensure_capacity(void **datap, int *sizep, int length)
++SPF_c_ensure_capacity(void **datap, size_t *sizep, int length)
+ {
+ int size = *sizep;
+ if (length > size)
+@@ -435,7 +435,7 @@
+ static SPF_errcode_t
+ SPF_c_parse_macro(SPF_server_t *spf_server,
+ SPF_response_t *spf_response,
+- SPF_data_t *data, int *data_len,
++ SPF_data_t *data, size_t *data_len,
+ const char **startp, const char **endp,
+ size_t max_len, SPF_errcode_t big_err,
+ int is_mod)
+@@ -551,10 +551,10 @@
+ static SPF_errcode_t
+ SPF_c_parse_domainspec(SPF_server_t *spf_server,
+ SPF_response_t *spf_response,
+- SPF_data_t *data, int *data_len,
++ SPF_data_t *data, size_t *data_len,
+ const char **startp, const char **endp,
+ size_t max_len, SPF_errcode_t big_err,
+- int cidr_ok, int is_mod)
++ SPF_cidr_t cidr_ok, int is_mod)
+ {
+ SPF_errcode_t err;
+ /* Generic parsing iterators and boundaries */
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_dns_resolv.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_dns_resolv.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_dns_resolv.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_dns_resolv.c 2007-03-23 23:08:54.000000000 +0100
+@@ -393,7 +393,7 @@
+ if ( SPF_dns_rr_buf_realloc( spfrr, cnt, rdlen ) != SPF_E_SUCCESS )
+ return spfrr;
+
+- dst = spfrr->rr[cnt]->txt;
++ dst = (u_char *)(spfrr->rr[cnt]->txt);
+ len = 0;
+ src = (u_char *)rdata;
+ while ( rdlen > 0 )
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_interpret.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_interpret.c 2007-03-23 23:20:30.000000000 +0100
+@@ -49,8 +49,8 @@
+ SPF_record_t *spf_record;
+ SPF_errcode_t err;
+ char *buf;
+- int buflen;
+- int len;
++ size_t buflen;
++ size_t len;
+
+ SPF_ASSERT_NOTNULL(spf_response);
+ spf_request = spf_response->spf_request;
+diff -Nur libspf2-1.2.5.dfsg/src/spfd/spfd.c libspf2-1.2.5.dfsg.new/src/spfd/spfd.c
+--- libspf2-1.2.5.dfsg/src/spfd/spfd.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/spfd/spfd.c 2007-03-23 23:08:54.000000000 +0100
+@@ -168,7 +168,7 @@
+ struct sockaddr_in in;
+ struct sockaddr_un un;
+ } addr;
+- int addrlen;
++ socklen_t addrlen;
+ char *data;
+ int datalen;
+
/tags/1.2.5.dfsg-3/debian/patches/20_64bit_types.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-3/debian/patches/02_wrong_lib_version_h.dpatch
===================================================================
--- tags/1.2.5.dfsg-3/debian/patches/02_wrong_lib_version_h.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/patches/02_wrong_lib_version_h.dpatch (revision 108)
@@ -0,0 +1,30 @@
+#!/bin/sh
+## 02_wrong_lib_version_h.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Move static spf_lib_version.h out of the way and patch configure to put
+## DP: the autogenerated one in the right place.
+
+set -e
+
+lib_version_h=src/include/spf_lib_version.h
+
+dpatch_patch() {
+ # Update configure script so that it writes to the right .h file
+ test -e configure.old || \
+ sed -ri.old -e 's%src/libspf2/spf_lib_version%src/include/spf_lib_version%' configure
+ # Move the bad .h file out of the way
+ test -e $lib_version_h.old || mv -f $lib_version_h $lib_version_h.old
+}
+
+dpatch_unpatch() {
+ # Move the bad .h file back to its position
+ if test -e $lib_version_h.old; then mv -f $lib_version_h.old $lib_version_h; fi
+ # Move the original configure script back
+ if test -e configure.old; then mv -f configure.old configure; fi
+}
+
+
+DPATCH_LIB_NO_DEFAULT=1
+
+. /usr/share/dpatch/dpatch.lib.sh
/tags/1.2.5.dfsg-3/debian/patches/02_wrong_lib_version_h.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-3/debian/patches/20_spf_server_unnecessary_include.dpatch
===================================================================
--- tags/1.2.5.dfsg-3/debian/patches/20_spf_server_unnecessary_include.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/patches/20_spf_server_unnecessary_include.dpatch (revision 108)
@@ -0,0 +1,18 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_server_unnecessary_include.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: src/include/spf_server.h: Remove useless include of spf_dns_internal.h.
+
+@DPATCH@
+
+--- libspf2-1.2.5.dfsg.orig/src/include/spf_server.h
++++ libspf2-1.2.5.dfsg/src/include/spf_server.h
+@@ -20,7 +20,6 @@
+
+ #include "spf_record.h"
+ #include "spf_dns.h"
+-#include "spf_dns_internal.h"
+
+ #ifndef SPF_MAX_DNS_MECH
+ /* It is a bad idea to change this for two reasons.
/tags/1.2.5.dfsg-3/debian/patches/20_spf_server_unnecessary_include.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-3/debian/patches/25_maxvals.dpatch
===================================================================
--- tags/1.2.5.dfsg-3/debian/patches/25_maxvals.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/patches/25_maxvals.dpatch (revision 108)
@@ -0,0 +1,61 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 25_maxvals.dpatch by Thomas Jacob <jacob@internet24.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Bring certain processing limits (meant to mitigate DoS attacks) in line
+## DP: with RFC 4408.
+
+@DPATCH@
+
+diff -ruN libspf2-1.2.5/src/include/spf.h libspf2-1.2.5.patched/src/include/spf.h
+--- libspf2-1.2.5/src/include/spf.h 2005-02-17 01:56:55.000000000 +0100
++++ libspf2-1.2.5.patched/src/include/spf.h 2007-03-14 16:58:21.000000000 +0100
+@@ -52,8 +52,8 @@
+
+ /* FYI only -- defaults can't be changed without recompiling the library */
+ #define SPF_DEFAULT_MAX_DNS_MECH 10 /* DoS limit on SPF mechanisms */
+-#define SPF_DEFAULT_MAX_DNS_PTR 5 /* DoS limit on PTR records */
+-#define SPF_DEFAULT_MAX_DNS_MX 5 /* DoS limit on MX records */
++#define SPF_DEFAULT_MAX_DNS_PTR 10 /* DoS limit on PTR records */
++#define SPF_DEFAULT_MAX_DNS_MX 10 /* DoS limit on MX records */
+ #define SPF_DEFAULT_SANITIZE 1
+ #define SPF_DEFAULT_WHITELIST "include:spf.trusted-forwarder.org"
+ #define SPF_EXP_MOD_NAME "exp-text"
+diff -ruN libspf2-1.2.5/src/include/spf_internal.h libspf2-1.2.5.patched/src/include/spf_internal.h
+--- libspf2-1.2.5/src/include/spf_internal.h 2005-02-24 05:10:49.000000000 +0100
++++ libspf2-1.2.5.patched/src/include/spf_internal.h 2007-03-14 16:58:04.000000000 +0100
+@@ -57,13 +57,13 @@
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_PTR 5
++#define SPF_MAX_DNS_PTR 10
+ #endif
+ #ifndef SPF_MAX_DNS_MX
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_MX 5
++#define SPF_MAX_DNS_MX 10
+ #endif
+
+ #if 1
+diff -ruN libspf2-1.2.5/src/include/spf_server.h libspf2-1.2.5.patched/src/include/spf_server.h
+--- libspf2-1.2.5/src/include/spf_server.h 2004-09-29 12:33:09.000000000 +0200
++++ libspf2-1.2.5.patched/src/include/spf_server.h 2007-03-14 16:58:54.000000000 +0100
+@@ -44,13 +44,13 @@
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_PTR 5
++#define SPF_MAX_DNS_PTR 10
+ #endif
+ #ifndef SPF_MAX_DNS_MX
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_MX 5
++#define SPF_MAX_DNS_MX 10
+ #endif
+
+ struct SPF_server_struct {
/tags/1.2.5.dfsg-3/debian/patches/25_maxvals.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-3/debian/patches/30_spfd_check_unlink_failure.dpatch
===================================================================
--- tags/1.2.5.dfsg-3/debian/patches/30_spfd_check_unlink_failure.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/patches/30_spfd_check_unlink_failure.dpatch (revision 108)
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 30_spfd_check_unlink_failure.dpatch by Thomas Jacob <jacob@internet24.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix a call to unlink() in spfd.c. It passed 'path < 0' as the argument
+## DP: instead of checking whether the return value < 0.
+
+@DPATCH@
+
+--- libspf2-1.2.5/src/spfd/spfd.c 2005-02-19 03:40:35.000000000 +0100
++++ libspf2-1.2.5-amd64/src/spfd/spfd.c 2007-03-08 21:17:09.000000000 +0100
+@@ -640,7 +640,7 @@
+ memset(&addr, 0, sizeof(addr));
+ addr.sun_family = AF_UNIX;
+ strcpy(addr.sun_path, spfd_config.path);
+- if (unlink(spfd_config.path < 0)) {
++ if (unlink(spfd_config.path) < 0) {
+ if (errno != ENOENT) {
+ perror("unlink");
+ DIE("Failed to unlink socket");
/tags/1.2.5.dfsg-3/debian/patches/30_spfd_check_unlink_failure.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-3/debian/patches/20_spf_dns_include_std_headers.dpatch
===================================================================
--- tags/1.2.5.dfsg-3/debian/patches/20_spf_dns_include_std_headers.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/patches/20_spf_dns_include_std_headers.dpatch (revision 108)
@@ -0,0 +1,60 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_dns_include_std_headers.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Include arpa/nameser.h and netdb.h from spf_dns.h instead of defining
+## DP: the constants needed unless certain HAVE_ macros are defined.
+
+@DPATCH@
+
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_dns.h libspf2-1.2.5.dfsg.new/src/include/spf_dns.h
+--- libspf2-1.2.5.dfsg/src/include/spf_dns.h 2004-08-29 16:59:33.000000000 +0200
++++ libspf2-1.2.5.dfsg.new/src/include/spf_dns.h 2007-03-23 18:04:17.000000000 +0100
+@@ -61,43 +61,12 @@
+ *
+ */
+
+-
+-/*
+- * For those who don't have <arpa/nameserv.h>
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
+ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /* Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+-#ifndef ns_t_invalid
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /* NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /* SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /* invalid/unimplmeneted query */
+-#define NO_DATA 4 /* host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/tags/1.2.5.dfsg-3/debian/patches/20_spf_dns_include_std_headers.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-3/debian/README.Debian
===================================================================
--- tags/1.2.5.dfsg-3/debian/README.Debian (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/README.Debian (revision 108)
@@ -0,0 +1,22 @@
+libspf2 for Debian
+==================
+
+Debian's version of libspf2 does a couple of things slightly
+differently compared to the upstream version (usually meaning: more
+RFC-compliantly). You can always see all applied patches by
+downloading the source package and looking in the debian/patches
+subdirectory. All patches should also be mentioned in the Debian
+changelog. Some deserve further comment, though:
+
+* 42_empty_sender.dpatch changes SPF_request_set_env_sender() so that
+ if called with an empty envelope sender, the envelope sender in the
+ SPF_request_struct structure will be set to the HELO identity
+ instead ("postmaster@" + the HELO domain), provided that
+ SPF_request_set_helo_dom() has been called beforehand. This should
+ improve behaviour of applications that (incorrectly) call
+ SPF_request_set_env_sender() with an empty envelope sender address.
+ However, applications SHOULD NOT RELY ON THIS, but should check if
+ the envelope sender address is empty, and in that case pass the HELO
+ identity instead, or use the result of an earlier HELO check.
+
+ -- Magnus Holmgren <magnus@kibibyte.se>, Wed, 22 Aug 2007 17:10:07 +0200
Index: tags/1.2.5.dfsg-3/debian/copyright
===================================================================
--- tags/1.2.5.dfsg-3/debian/copyright (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/copyright (revision 108)
@@ -0,0 +1,20 @@
+This package was debianized by Eric Dorland <eric@debian.org> on
+Sun, 04 Jul 2004 19:00:36 -0400
+
+The current maintainer is Magnus Holmgren <magnus@kibibyte.se>.
+
+It was downloaded from http://www.libspf2.org/
+
+Upstream Author: Wayne Schlitt <wayne@schlitt.net>
+
+Copyright:
+
+This software is copyright (c) 2004-2005 by Wayne Schlitt <wayne@schlitt.net>
+and Shevek <shevek@anarres.org>
+
+You are free to distribute this software under the terms of the GNU Lesser
+General Public License version 2.1 or the BSD license, at your choice.
+
+On Debian systems, the complete text of the GNU Lesser General Public
+License can be found in the file `/usr/share/common-licenses/LGPL-2.1' and
+the BSD license can be found in the file `/usr/share/common-licenses/BSD'.
Index: tags/1.2.5.dfsg-3/debian/spfquery.postinst
===================================================================
--- tags/1.2.5.dfsg-3/debian/spfquery.postinst (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,16 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.5.dfsg-3/debian/watch
===================================================================
--- tags/1.2.5.dfsg-3/debian/watch (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: tags/1.2.5.dfsg-3/debian/libspf2-dev.install
===================================================================
--- tags/1.2.5.dfsg-3/debian/libspf2-dev.install (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,4 @@
+debian/tmp/usr/lib/*.so usr/lib
+debian/tmp/usr/lib/*.a usr/lib
+debian/tmp/usr/lib/*.la usr/lib
+debian/tmp/usr/include/* usr/include
Index: tags/1.2.5.dfsg-3/debian/spfquery.prerm
===================================================================
--- tags/1.2.5.dfsg-3/debian/spfquery.prerm (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.5.dfsg-3/debian/compat
===================================================================
--- tags/1.2.5.dfsg-3/debian/compat (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/compat (revision 108)
@@ -0,0 +1 @@
+5
Index: tags/1.2.5.dfsg-3/debian/spfquery.install
===================================================================
--- tags/1.2.5.dfsg-3/debian/spfquery.install (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+debian/tmp/usr/bin/spfquery usr/bin
+debian/tmp/usr/bin/spftest usr/bin
+debian/tmp/usr/bin/spf_example usr/bin
+debian/tmp/usr/bin/spfd usr/sbin
Index: tags/1.2.5.dfsg-3/debian/libspf2-2.install
===================================================================
--- tags/1.2.5.dfsg-3/debian/libspf2-2.install (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+debian/tmp/usr/lib/*.so.* usr/lib
Index: tags/1.2.5.dfsg-3/debian/libspf2-dev.README.Debian
===================================================================
--- tags/1.2.5.dfsg-3/debian/libspf2-dev.README.Debian (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/libspf2-dev.README.Debian (revision 108)
@@ -0,0 +1,8 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+ -- Eric Dorland <eric@debian.org>, Sun Jul 4 19:02:07 2004
Index: tags/1.2.5.dfsg-3/debian/rules
===================================================================
--- tags/1.2.5.dfsg-3/debian/rules (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/rules (revision 108)
@@ -0,0 +1,17 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+
+include /usr/share/cdbs/1/class/autotools.mk
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/dpatch.mk
+
+DEB_DH_MAKESHLIBS_ARGS_libspf2-2 = -V 'libspf2-2 (>= 1.2.5)'
+
+binary-install/spfquery::
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.5.tar.gz
/tags/1.2.5.dfsg-3/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-3/debian/README.Debian-source
===================================================================
--- tags/1.2.5.dfsg-3/debian/README.Debian-source (nonexistent)
+++ tags/1.2.5.dfsg-3/debian/README.Debian-source (revision 108)
@@ -0,0 +1,16 @@
+The upstream tarball has been repackaged because it contained non-free
+material in the form of an (obsolete) IETF Internet Draft
+(draft-mengwong-spf-00.txt in the docs subdirectory). As far as I can
+see It's non-free because it doesn't contain any copyright information
+at all, thereby defaulting to "all right reserved" in most
+jurisdictions.
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+To download the original tarball use `debian/rules get-orig-source' or
+go to <http://www.libspf2.org/download.html> (beware that running
+debian/rules outside the package directory can have unwanted side
+effects due to CDBS).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Fri, 23 Mar 2007 16:44:20 +0100
Index: tags/1.2.5.dfsg-3/debian
===================================================================
--- tags/1.2.5.dfsg-3/debian (nonexistent)
+++ tags/1.2.5.dfsg-3/debian (revision 108)
/tags/1.2.5.dfsg-3/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: tags/1.2.5.dfsg-2/debian/spfquery.postinst
===================================================================
--- tags/1.2.5.dfsg-2/debian/spfquery.postinst (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,16 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 25
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 25
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.5.dfsg-2/debian/watch
===================================================================
--- tags/1.2.5.dfsg-2/debian/watch (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+opts=dversionmangle=s/\.dfsg$// http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: tags/1.2.5.dfsg-2/debian/changelog
===================================================================
--- tags/1.2.5.dfsg-2/debian/changelog (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/changelog (revision 108)
@@ -0,0 +1,127 @@
+libspf2 (1.2.5.dfsg-2) unstable; urgency=low
+
+ * 21_spfquery_infininte_loop.dpatch: Fix infinite loop when giving
+ unimplemented options to spfquery.
+ * 20_printf_types.dpatch: Revert to using standard conversion specifiers
+ without z modifiers.
+ * debian/watch: mangle away .dfsg from package version.
+ * Lower spfquery and spfd alternatives priorities to 25.
+ * Skip applying 01_line-endings.dpatch; it's meaningless.
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Wed, 06 Jun 2007 19:31:01 +0200
+
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: tags/1.2.5.dfsg-2/debian/patches/20_printf_types.dpatch
===================================================================
--- tags/1.2.5.dfsg-2/debian/patches/20_printf_types.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/patches/20_printf_types.dpatch (revision 108)
@@ -0,0 +1,64 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_printf_types.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Change the format strings of various calls to printf-style functions to
+## DP: match the arguments.
+
+@DPATCH@
+diff -urNad libspf2-1.2.5.dfsg~/src/libspf2/spf_compile.c libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c
+--- libspf2-1.2.5.dfsg~/src/libspf2/spf_compile.c 2007-03-27 14:28:00.931960929 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c 2007-03-27 14:30:04.000000000 +0200
+@@ -470,7 +470,7 @@
+ len = end - p;
+ if (spf_server->debug)
+ SPF_debugf("Adding string literal (%d): '%*.*s'",
+- len, len, len, p);
++ (int)len, (int)len, (int)len, p);
+ memcpy( dst, p, len );
+ ds_len += len;
+ dst += len;
+diff -urNad libspf2-1.2.5.dfsg~/src/libspf2/spf_id2str.c libspf2-1.2.5.dfsg/src/libspf2/spf_id2str.c
+--- libspf2-1.2.5.dfsg~/src/libspf2/spf_id2str.c 2007-03-27 14:27:58.171600935 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_id2str.c 2007-03-27 14:30:51.000000000 +0200
+@@ -309,7 +309,7 @@
+ p_end = *bufp + *buflenp;
+
+ if (debug)
+- SPF_debugf("stringify: Buffer length is %d\n", *buflenp);
++ SPF_debugf("stringify: Buffer length is %u\n", (unsigned int)*buflenp);
+
+
+ /*
+diff -urNad libspf2-1.2.5.dfsg~/src/libspf2/spf_print.c libspf2-1.2.5.dfsg/src/libspf2/spf_print.c
+--- libspf2-1.2.5.dfsg~/src/libspf2/spf_print.c 2007-03-27 14:27:58.231608763 +0200
++++ libspf2-1.2.5.dfsg/src/libspf2/spf_print.c 2007-03-27 14:47:39.000000000 +0200
+@@ -54,12 +54,12 @@
+ return SPF_E_SUCCESS;
+ }
+
+- SPF_infof( "SPF header: version: %d mech %d/%d mod %d/%d len=%d",
++ SPF_infof( "SPF header: version: %d mech %d/%u mod %d/%u len=%u",
+ spf_record->version,
+- spf_record->num_mech, spf_record->mech_len,
+- spf_record->num_mod, spf_record->mod_len,
+- sizeof(SPF_record_t) + spf_record->mech_len
+- + spf_record->mod_len);
++ (int)spf_record->num_mech, (unsigned int)spf_record->mech_len,
++ (int)spf_record->num_mod, (unsigned int)spf_record->mod_len,
++ (unsigned int)(sizeof(SPF_record_t) + spf_record->mech_len
++ + spf_record->mod_len));
+
+ err = SPF_record_stringify(spf_record, &prt_buf, &prt_len);
+ if ( err == SPF_E_RESULT_UNKNOWN )
+@@ -81,7 +81,7 @@
+ void SPF_print_sizeof(void)
+ {
+ // SPF_infof( "sizeof(SPF_rec_header_t)=%u", sizeof(SPF_rec_header_t));
+- SPF_infof( "sizeof(SPF_mech_t)=%u", sizeof(SPF_mech_t));
+- SPF_infof( "sizeof(SPF_data_t)=%u", sizeof(SPF_data_t));
+- SPF_infof( "sizeof(SPF_mod_t)=%u", sizeof(SPF_mod_t));
++ SPF_infof( "sizeof(SPF_mech_t)=%u", (unsigned int)sizeof(SPF_mech_t));
++ SPF_infof( "sizeof(SPF_data_t)=%u", (unsigned int)sizeof(SPF_data_t));
++ SPF_infof( "sizeof(SPF_mod_t)=%u", (unsigned int)sizeof(SPF_mod_t));
+ }
/tags/1.2.5.dfsg-2/debian/patches/20_printf_types.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-2/debian/patches/00list
===================================================================
--- tags/1.2.5.dfsg-2/debian/patches/00list (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/patches/00list (revision 108)
@@ -0,0 +1,9 @@
+#01_line-endings
+02_wrong_lib_version_h
+20_64bit_types
+20_printf_types
+20_spf_dns_include_std_headers
+20_spf_server_unnecessary_include
+21_spfquery_infininte_loop
+25_maxvals
+30_spfd_check_unlink_failure
Index: tags/1.2.5.dfsg-2/debian/patches/01_line-endings.dpatch
===================================================================
--- tags/1.2.5.dfsg-2/debian/patches/01_line-endings.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/patches/01_line-endings.dpatch (revision 108)
@@ -0,0 +1,30 @@
+#!/bin/sh
+## 01_line-endings.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Convert CRLF line endings to LF in certain Windows-related files
+
+FILES_WITH_CRLF="src/libspf2/spf_dns_windns.c
+ src/libspf2/spf_win32.c
+ src/libreplace/win32_config.h
+ src/include/spf_dns_windns.h
+ src/include/spf_win32.h"
+
+set -e
+
+dpatch_patch() {
+ if [ ! -f debian/patched/patched-line-endings.tar.gz ]; then
+ tar -czf debian/patched/patched-line-endings.tar.gz $FILES_WITH_CRLF
+ # Change line endings to LF in files with CRLF
+ sed -ri -e 's/\r$//' $FILES_WITH_CRLF
+ fi
+}
+
+dpatch_unpatch() {
+ # Change line endings back to CRLF in files that had it in the tarball
+ tar -xzf debian/patched/patched-line-endings.tar.gz
+}
+
+DPATCH_LIB_NO_DEFAULT=1
+
+. /usr/share/dpatch/dpatch.lib.sh
/tags/1.2.5.dfsg-2/debian/patches/01_line-endings.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-2/debian/patches/21_spfquery_infininte_loop.dpatch
===================================================================
--- tags/1.2.5.dfsg-2/debian/patches/21_spfquery_infininte_loop.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/patches/21_spfquery_infininte_loop.dpatch (revision 108)
@@ -0,0 +1,21 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 21_spfquery_infininte_loop.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix infinite loop in spfquery.c:unimplemented().
+
+@DPATCH@
+diff -urNad libspf2-1.2.5.dfsg~/src/spfquery/spfquery.c libspf2-1.2.5.dfsg/src/spfquery/spfquery.c
+--- libspf2-1.2.5.dfsg~/src/spfquery/spfquery.c 2005-02-22 03:36:55.000000000 +0100
++++ libspf2-1.2.5.dfsg/src/spfquery/spfquery.c 2007-03-24 22:28:15.000000000 +0100
+@@ -174,9 +174,7 @@
+ struct option *opt;
+ int i;
+
+- i = 0;
+- opt = &long_options[i];
+- while (opt->name) {
++ for (i = 0; (opt = &long_options[i])->name; i++) {
+ if (flag == opt->val) {
+ fprintf(stderr, "Unimplemented option: -%s or -%c\n",
+ opt->name, flag);
/tags/1.2.5.dfsg-2/debian/patches/21_spfquery_infininte_loop.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-2/debian/patches/20_64bit_types.dpatch
===================================================================
--- tags/1.2.5.dfsg-2/debian/patches/20_64bit_types.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/patches/20_64bit_types.dpatch (revision 108)
@@ -0,0 +1,105 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_64bit_types.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Change various ints to size_t etc, to avoid crashes on 64-bit
+## DP: architectures.
+
+@DPATCH@
+
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_internal.h libspf2-1.2.5.dfsg.new/src/include/spf_internal.h
+--- libspf2-1.2.5.dfsg/src/include/spf_internal.h 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/include/spf_internal.h 2007-03-23 23:08:54.000000000 +0100
+@@ -71,7 +71,7 @@
+ static inline size_t _align_sz(size_t s)
+ { return (s + (_ALIGN_SZ - 1 - (((s - 1) & (_ALIGN_SZ - 1))))); }
+ static inline char * _align_ptr(char *s)
+- { return (s + (_ALIGN_SZ - 1 - ((((unsigned int)s - 1) & (_ALIGN_SZ - 1))))); }
++ { return (s + (_ALIGN_SZ - 1 - ((((size_t)s - 1) & (_ALIGN_SZ - 1))))); }
+ #else
+ static inline size_t _align_sz(size_t s) { return s; }
+ static inline char * _align_ptr(char *s) { return s; }
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_record.h libspf2-1.2.5.dfsg.new/src/include/spf_record.h
+--- libspf2-1.2.5.dfsg/src/include/spf_record.h 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/include/spf_record.h 2007-03-23 23:08:54.000000000 +0100
+@@ -224,7 +224,7 @@
+
+ struct SPF_macro_struct
+ {
+- unsigned int macro_len; /* bytes of data */
++ size_t macro_len; /* bytes of data */
+ /* data: (SPF_data_t[] = char[macro_len]) follows */
+ };
+
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_compile.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_compile.c 2007-03-23 23:18:41.000000000 +0100
+@@ -98,7 +98,7 @@
+ }
+
+ static void
+-SPF_c_ensure_capacity(void **datap, int *sizep, int length)
++SPF_c_ensure_capacity(void **datap, size_t *sizep, int length)
+ {
+ int size = *sizep;
+ if (length > size)
+@@ -435,7 +435,7 @@
+ static SPF_errcode_t
+ SPF_c_parse_macro(SPF_server_t *spf_server,
+ SPF_response_t *spf_response,
+- SPF_data_t *data, int *data_len,
++ SPF_data_t *data, size_t *data_len,
+ const char **startp, const char **endp,
+ size_t max_len, SPF_errcode_t big_err,
+ int is_mod)
+@@ -551,10 +551,10 @@
+ static SPF_errcode_t
+ SPF_c_parse_domainspec(SPF_server_t *spf_server,
+ SPF_response_t *spf_response,
+- SPF_data_t *data, int *data_len,
++ SPF_data_t *data, size_t *data_len,
+ const char **startp, const char **endp,
+ size_t max_len, SPF_errcode_t big_err,
+- int cidr_ok, int is_mod)
++ SPF_cidr_t cidr_ok, int is_mod)
+ {
+ SPF_errcode_t err;
+ /* Generic parsing iterators and boundaries */
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_dns_resolv.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_dns_resolv.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_dns_resolv.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_dns_resolv.c 2007-03-23 23:08:54.000000000 +0100
+@@ -393,7 +393,7 @@
+ if ( SPF_dns_rr_buf_realloc( spfrr, cnt, rdlen ) != SPF_E_SUCCESS )
+ return spfrr;
+
+- dst = spfrr->rr[cnt]->txt;
++ dst = (u_char *)(spfrr->rr[cnt]->txt);
+ len = 0;
+ src = (u_char *)rdata;
+ while ( rdlen > 0 )
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_interpret.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_interpret.c 2007-03-23 23:20:30.000000000 +0100
+@@ -49,8 +49,8 @@
+ SPF_record_t *spf_record;
+ SPF_errcode_t err;
+ char *buf;
+- int buflen;
+- int len;
++ size_t buflen;
++ size_t len;
+
+ SPF_ASSERT_NOTNULL(spf_response);
+ spf_request = spf_response->spf_request;
+diff -Nur libspf2-1.2.5.dfsg/src/spfd/spfd.c libspf2-1.2.5.dfsg.new/src/spfd/spfd.c
+--- libspf2-1.2.5.dfsg/src/spfd/spfd.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/spfd/spfd.c 2007-03-23 23:08:54.000000000 +0100
+@@ -168,7 +168,7 @@
+ struct sockaddr_in in;
+ struct sockaddr_un un;
+ } addr;
+- int addrlen;
++ socklen_t addrlen;
+ char *data;
+ int datalen;
+
/tags/1.2.5.dfsg-2/debian/patches/20_64bit_types.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-2/debian/patches/02_wrong_lib_version_h.dpatch
===================================================================
--- tags/1.2.5.dfsg-2/debian/patches/02_wrong_lib_version_h.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/patches/02_wrong_lib_version_h.dpatch (revision 108)
@@ -0,0 +1,30 @@
+#!/bin/sh
+## 02_wrong_lib_version_h.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Move static spf_lib_version.h out of the way and patch configure to put
+## DP: the autogenerated one in the right place.
+
+set -e
+
+lib_version_h=src/include/spf_lib_version.h
+
+dpatch_patch() {
+ # Update configure script so that it writes to the right .h file
+ test -e configure.old || \
+ sed -ri.old -e 's%src/libspf2/spf_lib_version%src/include/spf_lib_version%' configure
+ # Move the bad .h file out of the way
+ test -e $lib_version_h.old || mv -f $lib_version_h $lib_version_h.old
+}
+
+dpatch_unpatch() {
+ # Move the bad .h file back to its position
+ if test -e $lib_version_h.old; then mv -f $lib_version_h.old $lib_version_h; fi
+ # Move the original configure script back
+ if test -e configure.old; then mv -f configure.old configure; fi
+}
+
+
+DPATCH_LIB_NO_DEFAULT=1
+
+. /usr/share/dpatch/dpatch.lib.sh
/tags/1.2.5.dfsg-2/debian/patches/02_wrong_lib_version_h.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-2/debian/patches/20_spf_server_unnecessary_include.dpatch
===================================================================
--- tags/1.2.5.dfsg-2/debian/patches/20_spf_server_unnecessary_include.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/patches/20_spf_server_unnecessary_include.dpatch (revision 108)
@@ -0,0 +1,18 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_server_unnecessary_include.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: src/include/spf_server.h: Remove useless include of spf_dns_internal.h.
+
+@DPATCH@
+
+--- libspf2-1.2.5.dfsg.orig/src/include/spf_server.h
++++ libspf2-1.2.5.dfsg/src/include/spf_server.h
+@@ -20,7 +20,6 @@
+
+ #include "spf_record.h"
+ #include "spf_dns.h"
+-#include "spf_dns_internal.h"
+
+ #ifndef SPF_MAX_DNS_MECH
+ /* It is a bad idea to change this for two reasons.
/tags/1.2.5.dfsg-2/debian/patches/20_spf_server_unnecessary_include.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-2/debian/patches/25_maxvals.dpatch
===================================================================
--- tags/1.2.5.dfsg-2/debian/patches/25_maxvals.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/patches/25_maxvals.dpatch (revision 108)
@@ -0,0 +1,61 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 25_maxvals.dpatch by Thomas Jacob <jacob@internet24.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Bring certain processing limits (meant to mitigate DoS attacks) in line
+## DP: with RFC 4408.
+
+@DPATCH@
+
+diff -ruN libspf2-1.2.5/src/include/spf.h libspf2-1.2.5.patched/src/include/spf.h
+--- libspf2-1.2.5/src/include/spf.h 2005-02-17 01:56:55.000000000 +0100
++++ libspf2-1.2.5.patched/src/include/spf.h 2007-03-14 16:58:21.000000000 +0100
+@@ -52,8 +52,8 @@
+
+ /* FYI only -- defaults can't be changed without recompiling the library */
+ #define SPF_DEFAULT_MAX_DNS_MECH 10 /* DoS limit on SPF mechanisms */
+-#define SPF_DEFAULT_MAX_DNS_PTR 5 /* DoS limit on PTR records */
+-#define SPF_DEFAULT_MAX_DNS_MX 5 /* DoS limit on MX records */
++#define SPF_DEFAULT_MAX_DNS_PTR 10 /* DoS limit on PTR records */
++#define SPF_DEFAULT_MAX_DNS_MX 10 /* DoS limit on MX records */
+ #define SPF_DEFAULT_SANITIZE 1
+ #define SPF_DEFAULT_WHITELIST "include:spf.trusted-forwarder.org"
+ #define SPF_EXP_MOD_NAME "exp-text"
+diff -ruN libspf2-1.2.5/src/include/spf_internal.h libspf2-1.2.5.patched/src/include/spf_internal.h
+--- libspf2-1.2.5/src/include/spf_internal.h 2005-02-24 05:10:49.000000000 +0100
++++ libspf2-1.2.5.patched/src/include/spf_internal.h 2007-03-14 16:58:04.000000000 +0100
+@@ -57,13 +57,13 @@
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_PTR 5
++#define SPF_MAX_DNS_PTR 10
+ #endif
+ #ifndef SPF_MAX_DNS_MX
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_MX 5
++#define SPF_MAX_DNS_MX 10
+ #endif
+
+ #if 1
+diff -ruN libspf2-1.2.5/src/include/spf_server.h libspf2-1.2.5.patched/src/include/spf_server.h
+--- libspf2-1.2.5/src/include/spf_server.h 2004-09-29 12:33:09.000000000 +0200
++++ libspf2-1.2.5.patched/src/include/spf_server.h 2007-03-14 16:58:54.000000000 +0100
+@@ -44,13 +44,13 @@
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_PTR 5
++#define SPF_MAX_DNS_PTR 10
+ #endif
+ #ifndef SPF_MAX_DNS_MX
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_MX 5
++#define SPF_MAX_DNS_MX 10
+ #endif
+
+ struct SPF_server_struct {
/tags/1.2.5.dfsg-2/debian/patches/25_maxvals.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-2/debian/patches/30_spfd_check_unlink_failure.dpatch
===================================================================
--- tags/1.2.5.dfsg-2/debian/patches/30_spfd_check_unlink_failure.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/patches/30_spfd_check_unlink_failure.dpatch (revision 108)
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 30_spfd_check_unlink_failure.dpatch by Thomas Jacob <jacob@internet24.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix a call to unlink() in spfd.c. It passed 'path < 0' as the argument
+## DP: instead of checking whether the return value < 0.
+
+@DPATCH@
+
+--- libspf2-1.2.5/src/spfd/spfd.c 2005-02-19 03:40:35.000000000 +0100
++++ libspf2-1.2.5-amd64/src/spfd/spfd.c 2007-03-08 21:17:09.000000000 +0100
+@@ -640,7 +640,7 @@
+ memset(&addr, 0, sizeof(addr));
+ addr.sun_family = AF_UNIX;
+ strcpy(addr.sun_path, spfd_config.path);
+- if (unlink(spfd_config.path < 0)) {
++ if (unlink(spfd_config.path) < 0) {
+ if (errno != ENOENT) {
+ perror("unlink");
+ DIE("Failed to unlink socket");
/tags/1.2.5.dfsg-2/debian/patches/30_spfd_check_unlink_failure.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-2/debian/patches/20_spf_dns_include_std_headers.dpatch
===================================================================
--- tags/1.2.5.dfsg-2/debian/patches/20_spf_dns_include_std_headers.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/patches/20_spf_dns_include_std_headers.dpatch (revision 108)
@@ -0,0 +1,60 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_dns_include_std_headers.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Include arpa/nameser.h and netdb.h from spf_dns.h instead of defining
+## DP: the constants needed unless certain HAVE_ macros are defined.
+
+@DPATCH@
+
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_dns.h libspf2-1.2.5.dfsg.new/src/include/spf_dns.h
+--- libspf2-1.2.5.dfsg/src/include/spf_dns.h 2004-08-29 16:59:33.000000000 +0200
++++ libspf2-1.2.5.dfsg.new/src/include/spf_dns.h 2007-03-23 18:04:17.000000000 +0100
+@@ -61,43 +61,12 @@
+ *
+ */
+
+-
+-/*
+- * For those who don't have <arpa/nameserv.h>
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
+ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /* Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+-#ifndef ns_t_invalid
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /* NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /* SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /* invalid/unimplmeneted query */
+-#define NO_DATA 4 /* host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/tags/1.2.5.dfsg-2/debian/patches/20_spf_dns_include_std_headers.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-2/debian/control
===================================================================
--- tags/1.2.5.dfsg-2/debian/control (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/control (revision 108)
@@ -0,0 +1,54 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <magnus@kibibyte.se>
+Build-Depends: debhelper (>> 5), cdbs, dpatch, autotools-dev
+Standards-Version: 3.7.2
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version})
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+ .
+ Homepage: http://www.libspf2.org/
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+ .
+ Homepage: http://www.libspf2.org/
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
+ .
+ Homepage: http://www.libspf2.org/
Index: tags/1.2.5.dfsg-2/debian/libspf2-dev.install
===================================================================
--- tags/1.2.5.dfsg-2/debian/libspf2-dev.install (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,4 @@
+debian/tmp/usr/lib/*.so usr/lib
+debian/tmp/usr/lib/*.a usr/lib
+debian/tmp/usr/lib/*.la usr/lib
+debian/tmp/usr/include/* usr/include
Index: tags/1.2.5.dfsg-2/debian/spfquery.prerm
===================================================================
--- tags/1.2.5.dfsg-2/debian/spfquery.prerm (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.5.dfsg-2/debian/compat
===================================================================
--- tags/1.2.5.dfsg-2/debian/compat (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/compat (revision 108)
@@ -0,0 +1 @@
+5
Index: tags/1.2.5.dfsg-2/debian/spfquery.install
===================================================================
--- tags/1.2.5.dfsg-2/debian/spfquery.install (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+debian/tmp/usr/bin/spfquery usr/bin
+debian/tmp/usr/bin/spftest usr/bin
+debian/tmp/usr/bin/spf_example usr/bin
+debian/tmp/usr/bin/spfd usr/sbin
Index: tags/1.2.5.dfsg-2/debian/libspf2-2.install
===================================================================
--- tags/1.2.5.dfsg-2/debian/libspf2-2.install (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+debian/tmp/usr/lib/*.so.* usr/lib
Index: tags/1.2.5.dfsg-2/debian/copyright
===================================================================
--- tags/1.2.5.dfsg-2/debian/copyright (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/copyright (revision 108)
@@ -0,0 +1,19 @@
+This package was debianized by Eric Dorland <eric@debian.org> on
+Sun, 04 Jul 2004 19:00:36 -0400
+
+The current maintainer is Magnus Holmgren <magnus@kibibyte.se>.
+
+It was downloaded from http://www.libspf2.org/
+
+Upstream Author: Wayne Schlitt <wayne@schlitt.net>
+
+Copyright:
+
+This software is copyright (c) 2004 by Wayne Schlitt <wayne@schlitt.net>
+
+You are free to distribute this software under the terms of
+the GNU General Public License version 2 or the BSD license, at your choice.
+
+On Debian systems, the complete text of the GNU General Public
+License can be found in the file `/usr/share/common-licenses/GPL-2' and
+the BSD license can be found in the file `/usr/share/common-licenses/BSD'.
Index: tags/1.2.5.dfsg-2/debian/libspf2-dev.README.Debian
===================================================================
--- tags/1.2.5.dfsg-2/debian/libspf2-dev.README.Debian (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/libspf2-dev.README.Debian (revision 108)
@@ -0,0 +1,8 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+ -- Eric Dorland <eric@debian.org>, Sun Jul 4 19:02:07 2004
Index: tags/1.2.5.dfsg-2/debian/rules
===================================================================
--- tags/1.2.5.dfsg-2/debian/rules (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/rules (revision 108)
@@ -0,0 +1,17 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+
+include /usr/share/cdbs/1/class/autotools.mk
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/dpatch.mk
+
+DEB_DH_MAKESHLIBS_ARGS_libspf2-2 = -V 'libspf2-2 (>= 1.2.5)'
+
+binary-install/spfquery::
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.5.tar.gz
/tags/1.2.5.dfsg-2/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-2/debian/README.Debian-source
===================================================================
--- tags/1.2.5.dfsg-2/debian/README.Debian-source (nonexistent)
+++ tags/1.2.5.dfsg-2/debian/README.Debian-source (revision 108)
@@ -0,0 +1,16 @@
+The upstream tarball has been repackaged because it contained non-free
+material in the form of an (obsolete) IETF Internet Draft
+(draft-mengwong-spf-00.txt in the docs subdirectory). As far as I can
+see It's non-free because it doesn't contain any copyright information
+at all, thereby defaulting to "all right reserved" in most
+jurisdictions.
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+To download the original tarball use `debian/rules get-orig-source' or
+go to <http://www.libspf2.org/download.html> (beware that running
+debian/rules outside the package directory can have unwanted side
+effects due to CDBS).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Fri, 23 Mar 2007 16:44:20 +0100
Index: tags/1.2.5.dfsg-2/debian
===================================================================
--- tags/1.2.5.dfsg-2/debian (nonexistent)
+++ tags/1.2.5.dfsg-2/debian (revision 108)
/tags/1.2.5.dfsg-2/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: tags/1.2.5.dfsg-1/debian/control
===================================================================
--- tags/1.2.5.dfsg-1/debian/control (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/control (revision 108)
@@ -0,0 +1,54 @@
+Source: libspf2
+Priority: optional
+Section: libs
+Maintainer: Magnus Holmgren <magnus@kibibyte.se>
+Build-Depends: debhelper (>> 5), cdbs, dpatch, autotools-dev
+Standards-Version: 3.7.2
+
+Package: libspf2-dev
+Section: libdevel
+Architecture: any
+Depends: libspf2-2 (= ${binary:Version})
+Description: Header and development libraries for libspf2
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+ .
+ Homepage: http://www.libspf2.org/
+
+Package: libspf2-2
+Section: libs
+Architecture: any
+Conflicts: libspf2-0
+Replaces: libspf2-0
+Depends: ${shlibs:Depends}
+Description: library for validating mail senders with SPF
+ libspf2 implements the Sender Policy Framework, a part of the SPF/SRS
+ protocol pair. libspf2 is a library which allows email systems such
+ as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF
+ records and make sure that the email is authorized by the domain name
+ that it is coming from. This prevents email forgery, commonly used by
+ spammers, scammers and email viruses/worms.
+ .
+ Homepage: http://www.libspf2.org/
+
+Package: spfquery
+Section: mail
+Architecture: any
+Depends: ${shlibs:Depends}
+Conflicts: libmail-spf-query-perl (<< 1:1.999.1-3)
+Description: query SPF (Sender Policy Framework) to validate mail senders
+ The Sender Policy Framework (SPF) is one part of the SPF/SRS protocol
+ pair. SPF allows email systems such as Sendmail, Postfix, Exim,
+ Zmailer and MS Exchange to check SPF records and make sure that the
+ email is authorized by the domain name that it is coming from. This
+ prevents email forgery, commonly used by spammers, scammers and email
+ viruses/worms.
+ .
+ This package contains simple utilities that use libspf2 to test and
+ query SPF records.
+ .
+ Homepage: http://www.libspf2.org/
Index: tags/1.2.5.dfsg-1/debian/spfquery.postinst
===================================================================
--- tags/1.2.5.dfsg-1/debian/spfquery.postinst (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/spfquery.postinst (revision 108)
@@ -0,0 +1,16 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ configure )
+ prev_version=$2
+
+ update-alternatives --install /usr/bin/spfquery spfquery /usr/bin/spfquery.$source_package 75
+ update-alternatives --install /usr/sbin/spfd spfd /usr/sbin/spfd.$source_package 75
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.5.dfsg-1/debian/libspf2-dev.install
===================================================================
--- tags/1.2.5.dfsg-1/debian/libspf2-dev.install (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/libspf2-dev.install (revision 108)
@@ -0,0 +1,4 @@
+debian/tmp/usr/lib/*.so usr/lib
+debian/tmp/usr/lib/*.a usr/lib
+debian/tmp/usr/lib/*.la usr/lib
+debian/tmp/usr/include/* usr/include
Index: tags/1.2.5.dfsg-1/debian/spfquery.prerm
===================================================================
--- tags/1.2.5.dfsg-1/debian/spfquery.prerm (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/spfquery.prerm (revision 108)
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+mode=$1
+
+source_package=libspf2
+
+case "$mode" in
+ remove )
+ update-alternatives --remove spfquery /usr/bin/spfquery.$source_package
+ update-alternatives --remove spfd /usr/sbin/spfd.$source_package
+ ;;
+esac
+
+#DEBHELPER#
Index: tags/1.2.5.dfsg-1/debian/compat
===================================================================
--- tags/1.2.5.dfsg-1/debian/compat (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/compat (revision 108)
@@ -0,0 +1 @@
+5
Index: tags/1.2.5.dfsg-1/debian/spfquery.install
===================================================================
--- tags/1.2.5.dfsg-1/debian/spfquery.install (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/spfquery.install (revision 108)
@@ -0,0 +1,4 @@
+debian/tmp/usr/bin/spfquery usr/bin
+debian/tmp/usr/bin/spftest usr/bin
+debian/tmp/usr/bin/spf_example usr/bin
+debian/tmp/usr/bin/spfd usr/sbin
Index: tags/1.2.5.dfsg-1/debian/libspf2-2.install
===================================================================
--- tags/1.2.5.dfsg-1/debian/libspf2-2.install (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/libspf2-2.install (revision 108)
@@ -0,0 +1 @@
+debian/tmp/usr/lib/*.so.* usr/lib
Index: tags/1.2.5.dfsg-1/debian/watch
===================================================================
--- tags/1.2.5.dfsg-1/debian/watch (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/watch (revision 108)
@@ -0,0 +1,3 @@
+version=3
+
+http://www.libspf2.org/download.html spf/libspf2-(.+)\.tar\.gz
Index: tags/1.2.5.dfsg-1/debian/changelog
===================================================================
--- tags/1.2.5.dfsg-1/debian/changelog (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/changelog (revision 108)
@@ -0,0 +1,115 @@
+libspf2 (1.2.5.dfsg-1) unstable; urgency=low
+
+ * New maintainer (Closes: #372629).
+ * Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
+ #393390).
+ * Merge updates from Ubuntu:
+ - Add debian/compat and Build-depend on debhelper >= 5.
+ - Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
+ - Conflict on libmail-spf-query-perl << 1:1.999.1-3.
+ - Add postinst and prerm scripts.
+ - debian/copyright: update author address.
+ - debian/control: add final newline.
+ * debian/control:
+ * Change description of spfquery (Closes: #410592).
+ * Add homepage to package descriptions.
+ * Reduce Debian diff by changing line endings with sed instead.
+ * Further reduce Debian diff by eliminating config.sub and config.guess
+ from there. Build-depend on autotools-dev to ensure up-to-date
+ versions instead.
+ * The autogenerated spf_lib_version.h was put in the wrong directory,
+ while there was a static spf_lib_version.h in the right directory.
+ Fix that with some rules in debian/rules.
+ * Use dpatch to manage patches.
+ * Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
+ architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
+ Koch-Mauthe and Herbert Straub.
+ * 20_printf_types.dpatch: Change format strings to use the z flag,
+ meaning size_t, among other things.
+ * 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
+ Thomas Jacob).
+ * debian/watch: added.
+ * Update Standards-Version to 3.7.2 without changes.
+ * Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
+ netdb.h from spf_dns.h instead of defining the constants needed unless
+ certain HAVE_ macros are defined (Closes: #405885).
+ * Apply 25_maxvals.dpatch, which brings certain processing limits (meant
+ to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
+ Kitterman.
+ * debian/control: Change libspf2-dev dependency to ${binary:Version} so
+ that binNMUs will work.
+ * Ship spfd in the spfquery package (Closes: #258360).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 24 Mar 2007 14:51:23 +0100
+
+libspf2 (1.2.5-4) unstable; urgency=low
+
+ * Orphan.
+
+ -- Eric Dorland <eric@debian.org> Mon, 20 Nov 2006 02:16:20 -0500
+
+libspf2 (1.2.5-3) unstable; urgency=low
+
+ * src/include/spf_server.h: Remove useless include to
+ spf_dns_internal.h. (Closes: #312145)
+ * debian/control: Have spfquery against libmail-spf-query-perl to work
+ around #306875, hopefully temporarily.
+
+ -- Eric Dorland <eric@debian.org> Sat, 30 Jul 2005 01:25:24 -0400
+
+libspf2 (1.2.5-2) unstable; urgency=low
+
+ * The "Doh, missed a soname change" release.
+ * debian/libspf2-0.install: Rename to libspf2-2.install.
+ * debian/control:
+ - Change libspf2-0 to libspf2-2 to reflect soname change.
+ (Closes: #306205)
+ - Add spfquery package, don't package spfd for now, can't figure
+ out how to make it work. This partially addresses #258360.
+ * debian/spfquery.install: New file.
+
+ -- Eric Dorland <eric@debian.org> Mon, 25 Apr 2005 20:07:48 -0400
+
+libspf2 (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Eric Dorland <eric@debian.org> Sun, 17 Apr 2005 23:37:27 -0400
+
+libspf2 (1.0.4-4) unstable; urgency=medium
+
+ * configure, aclocal.m4: Run aclocal and autoconf to get the right code
+ for the libtool test to use the pass_all method on arm. (Closes:
+ #276516)
+ * Urgency medium to get this bloody thing fixed already.
+
+ -- Eric Dorland <eric@debian.org> Fri, 26 Nov 2004 00:15:04 -0500
+
+libspf2 (1.0.4-3) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize again, hopefully this will fix arm
+ building.
+
+ -- Eric Dorland <eric@debian.org> Wed, 17 Nov 2004 13:50:50 -0500
+
+libspf2 (1.0.4-2) unstable; urgency=low
+
+ * config/ltmain.sh: Re-libtoolize. (Closes: #269936)
+ * configure.ac: Apply patch from Kurt Roeckx to fix build on
+ amd64. (Closes: #262687)
+ * Rerun autoconf to apply the changes.
+
+ -- Eric Dorland <eric@debian.org> Mon, 6 Sep 2004 19:36:20 -0400
+
+libspf2 (1.0.4-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #261709)
+
+ -- Eric Dorland <eric@debian.org> Mon, 9 Aug 2004 00:57:49 -0400
+
+libspf2 (1.0.3-1) unstable; urgency=low
+
+ * Initial release. (Closes: #257644)
+
+ -- Eric Dorland <eric@debian.org> Fri, 2 Jul 2004 00:00:19 -0400
+
Index: tags/1.2.5.dfsg-1/debian/patches/20_64bit_types.dpatch
===================================================================
--- tags/1.2.5.dfsg-1/debian/patches/20_64bit_types.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/patches/20_64bit_types.dpatch (revision 108)
@@ -0,0 +1,105 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_64bit_types.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Change various ints to size_t etc, to avoid crashes on 64-bit
+## DP: architectures.
+
+@DPATCH@
+
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_internal.h libspf2-1.2.5.dfsg.new/src/include/spf_internal.h
+--- libspf2-1.2.5.dfsg/src/include/spf_internal.h 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/include/spf_internal.h 2007-03-23 23:08:54.000000000 +0100
+@@ -71,7 +71,7 @@
+ static inline size_t _align_sz(size_t s)
+ { return (s + (_ALIGN_SZ - 1 - (((s - 1) & (_ALIGN_SZ - 1))))); }
+ static inline char * _align_ptr(char *s)
+- { return (s + (_ALIGN_SZ - 1 - ((((unsigned int)s - 1) & (_ALIGN_SZ - 1))))); }
++ { return (s + (_ALIGN_SZ - 1 - ((((size_t)s - 1) & (_ALIGN_SZ - 1))))); }
+ #else
+ static inline size_t _align_sz(size_t s) { return s; }
+ static inline char * _align_ptr(char *s) { return s; }
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_record.h libspf2-1.2.5.dfsg.new/src/include/spf_record.h
+--- libspf2-1.2.5.dfsg/src/include/spf_record.h 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/include/spf_record.h 2007-03-23 23:08:54.000000000 +0100
+@@ -224,7 +224,7 @@
+
+ struct SPF_macro_struct
+ {
+- unsigned int macro_len; /* bytes of data */
++ size_t macro_len; /* bytes of data */
+ /* data: (SPF_data_t[] = char[macro_len]) follows */
+ };
+
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_compile.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_compile.c 2007-03-23 23:18:41.000000000 +0100
+@@ -98,7 +98,7 @@
+ }
+
+ static void
+-SPF_c_ensure_capacity(void **datap, int *sizep, int length)
++SPF_c_ensure_capacity(void **datap, size_t *sizep, int length)
+ {
+ int size = *sizep;
+ if (length > size)
+@@ -435,7 +435,7 @@
+ static SPF_errcode_t
+ SPF_c_parse_macro(SPF_server_t *spf_server,
+ SPF_response_t *spf_response,
+- SPF_data_t *data, int *data_len,
++ SPF_data_t *data, size_t *data_len,
+ const char **startp, const char **endp,
+ size_t max_len, SPF_errcode_t big_err,
+ int is_mod)
+@@ -551,10 +551,10 @@
+ static SPF_errcode_t
+ SPF_c_parse_domainspec(SPF_server_t *spf_server,
+ SPF_response_t *spf_response,
+- SPF_data_t *data, int *data_len,
++ SPF_data_t *data, size_t *data_len,
+ const char **startp, const char **endp,
+ size_t max_len, SPF_errcode_t big_err,
+- int cidr_ok, int is_mod)
++ SPF_cidr_t cidr_ok, int is_mod)
+ {
+ SPF_errcode_t err;
+ /* Generic parsing iterators and boundaries */
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_dns_resolv.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_dns_resolv.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_dns_resolv.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_dns_resolv.c 2007-03-23 23:08:54.000000000 +0100
+@@ -393,7 +393,7 @@
+ if ( SPF_dns_rr_buf_realloc( spfrr, cnt, rdlen ) != SPF_E_SUCCESS )
+ return spfrr;
+
+- dst = spfrr->rr[cnt]->txt;
++ dst = (u_char *)(spfrr->rr[cnt]->txt);
+ len = 0;
+ src = (u_char *)rdata;
+ while ( rdlen > 0 )
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_interpret.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_interpret.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_interpret.c 2007-03-23 23:20:30.000000000 +0100
+@@ -49,8 +49,8 @@
+ SPF_record_t *spf_record;
+ SPF_errcode_t err;
+ char *buf;
+- int buflen;
+- int len;
++ size_t buflen;
++ size_t len;
+
+ SPF_ASSERT_NOTNULL(spf_response);
+ spf_request = spf_response->spf_request;
+diff -Nur libspf2-1.2.5.dfsg/src/spfd/spfd.c libspf2-1.2.5.dfsg.new/src/spfd/spfd.c
+--- libspf2-1.2.5.dfsg/src/spfd/spfd.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/spfd/spfd.c 2007-03-23 23:08:54.000000000 +0100
+@@ -168,7 +168,7 @@
+ struct sockaddr_in in;
+ struct sockaddr_un un;
+ } addr;
+- int addrlen;
++ socklen_t addrlen;
+ char *data;
+ int datalen;
+
/tags/1.2.5.dfsg-1/debian/patches/20_64bit_types.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-1/debian/patches/02_wrong_lib_version_h.dpatch
===================================================================
--- tags/1.2.5.dfsg-1/debian/patches/02_wrong_lib_version_h.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/patches/02_wrong_lib_version_h.dpatch (revision 108)
@@ -0,0 +1,30 @@
+#!/bin/sh
+## 02_wrong_lib_version_h.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Move static spf_lib_version.h out of the way and patch configure to put
+## DP: the autogenerated one in the right place.
+
+set -e
+
+lib_version_h=src/include/spf_lib_version.h
+
+dpatch_patch() {
+ # Update configure script so that it writes to the right .h file
+ test -e configure.old || \
+ sed -ri.old -e 's%src/libspf2/spf_lib_version%src/include/spf_lib_version%' configure
+ # Move the bad .h file out of the way
+ test -e $lib_version_h.old || mv -f $lib_version_h $lib_version_h.old
+}
+
+dpatch_unpatch() {
+ # Move the bad .h file back to its position
+ if test -e $lib_version_h.old; then mv -f $lib_version_h.old $lib_version_h; fi
+ # Move the original configure script back
+ if test -e configure.old; then mv -f configure.old configure; fi
+}
+
+
+DPATCH_LIB_NO_DEFAULT=1
+
+. /usr/share/dpatch/dpatch.lib.sh
/tags/1.2.5.dfsg-1/debian/patches/02_wrong_lib_version_h.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-1/debian/patches/20_spf_server_unnecessary_include.dpatch
===================================================================
--- tags/1.2.5.dfsg-1/debian/patches/20_spf_server_unnecessary_include.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/patches/20_spf_server_unnecessary_include.dpatch (revision 108)
@@ -0,0 +1,18 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_server_unnecessary_include.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: src/include/spf_server.h: Remove useless include of spf_dns_internal.h.
+
+@DPATCH@
+
+--- libspf2-1.2.5.dfsg.orig/src/include/spf_server.h
++++ libspf2-1.2.5.dfsg/src/include/spf_server.h
+@@ -20,7 +20,6 @@
+
+ #include "spf_record.h"
+ #include "spf_dns.h"
+-#include "spf_dns_internal.h"
+
+ #ifndef SPF_MAX_DNS_MECH
+ /* It is a bad idea to change this for two reasons.
/tags/1.2.5.dfsg-1/debian/patches/20_spf_server_unnecessary_include.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-1/debian/patches/25_maxvals.dpatch
===================================================================
--- tags/1.2.5.dfsg-1/debian/patches/25_maxvals.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/patches/25_maxvals.dpatch (revision 108)
@@ -0,0 +1,61 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 25_maxvals.dpatch by Thomas Jacob <jacob@internet24.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Bring certain processing limits (meant to mitigate DoS attacks) in line
+## DP: with RFC 4408.
+
+@DPATCH@
+
+diff -ruN libspf2-1.2.5/src/include/spf.h libspf2-1.2.5.patched/src/include/spf.h
+--- libspf2-1.2.5/src/include/spf.h 2005-02-17 01:56:55.000000000 +0100
++++ libspf2-1.2.5.patched/src/include/spf.h 2007-03-14 16:58:21.000000000 +0100
+@@ -52,8 +52,8 @@
+
+ /* FYI only -- defaults can't be changed without recompiling the library */
+ #define SPF_DEFAULT_MAX_DNS_MECH 10 /* DoS limit on SPF mechanisms */
+-#define SPF_DEFAULT_MAX_DNS_PTR 5 /* DoS limit on PTR records */
+-#define SPF_DEFAULT_MAX_DNS_MX 5 /* DoS limit on MX records */
++#define SPF_DEFAULT_MAX_DNS_PTR 10 /* DoS limit on PTR records */
++#define SPF_DEFAULT_MAX_DNS_MX 10 /* DoS limit on MX records */
+ #define SPF_DEFAULT_SANITIZE 1
+ #define SPF_DEFAULT_WHITELIST "include:spf.trusted-forwarder.org"
+ #define SPF_EXP_MOD_NAME "exp-text"
+diff -ruN libspf2-1.2.5/src/include/spf_internal.h libspf2-1.2.5.patched/src/include/spf_internal.h
+--- libspf2-1.2.5/src/include/spf_internal.h 2005-02-24 05:10:49.000000000 +0100
++++ libspf2-1.2.5.patched/src/include/spf_internal.h 2007-03-14 16:58:04.000000000 +0100
+@@ -57,13 +57,13 @@
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_PTR 5
++#define SPF_MAX_DNS_PTR 10
+ #endif
+ #ifndef SPF_MAX_DNS_MX
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_MX 5
++#define SPF_MAX_DNS_MX 10
+ #endif
+
+ #if 1
+diff -ruN libspf2-1.2.5/src/include/spf_server.h libspf2-1.2.5.patched/src/include/spf_server.h
+--- libspf2-1.2.5/src/include/spf_server.h 2004-09-29 12:33:09.000000000 +0200
++++ libspf2-1.2.5.patched/src/include/spf_server.h 2007-03-14 16:58:54.000000000 +0100
+@@ -44,13 +44,13 @@
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_PTR 5
++#define SPF_MAX_DNS_PTR 10
+ #endif
+ #ifndef SPF_MAX_DNS_MX
+ /* It is a bad idea to change this for the same reasons as mentioned
+ * above for SPF_MAX_DNS_MECH
+ */
+-#define SPF_MAX_DNS_MX 5
++#define SPF_MAX_DNS_MX 10
+ #endif
+
+ struct SPF_server_struct {
/tags/1.2.5.dfsg-1/debian/patches/25_maxvals.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-1/debian/patches/30_spfd_check_unlink_failure.dpatch
===================================================================
--- tags/1.2.5.dfsg-1/debian/patches/30_spfd_check_unlink_failure.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/patches/30_spfd_check_unlink_failure.dpatch (revision 108)
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 30_spfd_check_unlink_failure.dpatch by Thomas Jacob <jacob@internet24.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix a call to unlink() in spfd.c. It passed 'path < 0' as the argument
+## DP: instead of checking whether the return value < 0.
+
+@DPATCH@
+
+--- libspf2-1.2.5/src/spfd/spfd.c 2005-02-19 03:40:35.000000000 +0100
++++ libspf2-1.2.5-amd64/src/spfd/spfd.c 2007-03-08 21:17:09.000000000 +0100
+@@ -640,7 +640,7 @@
+ memset(&addr, 0, sizeof(addr));
+ addr.sun_family = AF_UNIX;
+ strcpy(addr.sun_path, spfd_config.path);
+- if (unlink(spfd_config.path < 0)) {
++ if (unlink(spfd_config.path) < 0) {
+ if (errno != ENOENT) {
+ perror("unlink");
+ DIE("Failed to unlink socket");
/tags/1.2.5.dfsg-1/debian/patches/30_spfd_check_unlink_failure.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-1/debian/patches/20_spf_dns_include_std_headers.dpatch
===================================================================
--- tags/1.2.5.dfsg-1/debian/patches/20_spf_dns_include_std_headers.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/patches/20_spf_dns_include_std_headers.dpatch (revision 108)
@@ -0,0 +1,60 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_spf_dns_include_std_headers.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Include arpa/nameser.h and netdb.h from spf_dns.h instead of defining
+## DP: the constants needed unless certain HAVE_ macros are defined.
+
+@DPATCH@
+
+diff -Nur libspf2-1.2.5.dfsg/src/include/spf_dns.h libspf2-1.2.5.dfsg.new/src/include/spf_dns.h
+--- libspf2-1.2.5.dfsg/src/include/spf_dns.h 2004-08-29 16:59:33.000000000 +0200
++++ libspf2-1.2.5.dfsg.new/src/include/spf_dns.h 2007-03-23 18:04:17.000000000 +0100
+@@ -61,43 +61,12 @@
+ *
+ */
+
+-
+-/*
+- * For those who don't have <arpa/nameserv.h>
++/* The following two header files might not exist on all platforms,
++ * but at least they exist on Debian with libc6.
+ */
++#include <arpa/nameser.h>
++#include <netdb.h>
+
+-#if !defined( HAVE_NS_TYPE )
+-
+-#define ns_t_invalid 0
+-#define ns_t_a 1
+-#define ns_t_ns 2
+-#define ns_t_cname 5
+-#define ns_t_ptr 12
+-#define ns_t_mx 15
+-#define ns_t_txt 16
+-#define ns_t_aaaa 28
+-/* #define ns_t_a6 38 */
+-#define ns_t_any 255 /* Wildcard match. */
+-
+-typedef int ns_type;
+-#endif
+-
+-#ifndef ns_t_invalid
+-#define ns_t_invalid 0
+-#endif
+-
+-
+-/*
+- * For those who don't have <netdb.h>
+- */
+-
+-#if !defined(HAVE_NETDB_H) && !defined(_WIN32)
+-#define NETDB_SUCCESS 0
+-#define HOST_NOT_FOUND 1 /* NXDOMAIN (authoritative answer)*/
+-#define TRY_AGAIN 2 /* SERVFAIL (no authoritative answer)*/
+-#define NO_RECOVERY 3 /* invalid/unimplmeneted query */
+-#define NO_DATA 4 /* host found, but no RR of req type*/
+-#endif
+ typedef int SPF_dns_stat_t;
+
+ typedef struct SPF_dns_server_struct SPF_dns_server_t;
/tags/1.2.5.dfsg-1/debian/patches/20_spf_dns_include_std_headers.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-1/debian/patches/20_printf_types.dpatch
===================================================================
--- tags/1.2.5.dfsg-1/debian/patches/20_printf_types.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/patches/20_printf_types.dpatch (revision 108)
@@ -0,0 +1,58 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_printf_types.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Change the format strings of various calls to printf-style functions to
+## DP: match the arguments.
+
+@DPATCH@
+
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_compile.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_compile.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_compile.c 2007-03-23 23:18:41.000000000 +0100
+@@ -469,8 +469,8 @@
+ if ( p + len > end ) /* Don't re-parse the CIDR mask */
+ len = end - p;
+ if (spf_server->debug)
+- SPF_debugf("Adding string literal (%d): '%*.*s'",
+- len, len, len, p);
++ SPF_debugf("Adding string literal (%zu): '%*.*s'",
++ len, (int)len, (int)len, p);
+ memcpy( dst, p, len );
+ ds_len += len;
+ dst += len;
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_id2str.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_id2str.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_id2str.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_id2str.c 2007-03-23 23:13:55.000000000 +0100
+@@ -309,7 +309,7 @@
+ p_end = *bufp + *buflenp;
+
+ if (debug)
+- SPF_debugf("stringify: Buffer length is %d\n", *buflenp);
++ SPF_debugf("stringify: Buffer length is %zu\n", *buflenp);
+
+
+ /*
+diff -Nur libspf2-1.2.5.dfsg/src/libspf2/spf_print.c libspf2-1.2.5.dfsg.new/src/libspf2/spf_print.c
+--- libspf2-1.2.5.dfsg/src/libspf2/spf_print.c 2007-03-23 22:37:26.000000000 +0100
++++ libspf2-1.2.5.dfsg.new/src/libspf2/spf_print.c 2007-03-23 23:12:30.000000000 +0100
+@@ -54,7 +54,7 @@
+ return SPF_E_SUCCESS;
+ }
+
+- SPF_infof( "SPF header: version: %d mech %d/%d mod %d/%d len=%d",
++ SPF_infof( "SPF header: version: %hhu mech %hhu/%zu mod %hhu/%zu len=%zu",
+ spf_record->version,
+ spf_record->num_mech, spf_record->mech_len,
+ spf_record->num_mod, spf_record->mod_len,
+@@ -81,7 +81,7 @@
+ void SPF_print_sizeof(void)
+ {
+ // SPF_infof( "sizeof(SPF_rec_header_t)=%u", sizeof(SPF_rec_header_t));
+- SPF_infof( "sizeof(SPF_mech_t)=%u", sizeof(SPF_mech_t));
+- SPF_infof( "sizeof(SPF_data_t)=%u", sizeof(SPF_data_t));
+- SPF_infof( "sizeof(SPF_mod_t)=%u", sizeof(SPF_mod_t));
++ SPF_infof( "sizeof(SPF_mech_t)=%zu", sizeof(SPF_mech_t));
++ SPF_infof( "sizeof(SPF_data_t)=%zu", sizeof(SPF_data_t));
++ SPF_infof( "sizeof(SPF_mod_t)=%zu", sizeof(SPF_mod_t));
+ }
/tags/1.2.5.dfsg-1/debian/patches/20_printf_types.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-1/debian/patches/00list
===================================================================
--- tags/1.2.5.dfsg-1/debian/patches/00list (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/patches/00list (revision 108)
@@ -0,0 +1,8 @@
+01_line-endings
+02_wrong_lib_version_h
+20_64bit_types
+20_printf_types
+20_spf_dns_include_std_headers
+20_spf_server_unnecessary_include
+25_maxvals
+30_spfd_check_unlink_failure
Index: tags/1.2.5.dfsg-1/debian/patches/01_line-endings.dpatch
===================================================================
--- tags/1.2.5.dfsg-1/debian/patches/01_line-endings.dpatch (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/patches/01_line-endings.dpatch (revision 108)
@@ -0,0 +1,30 @@
+#!/bin/sh
+## 01_line-endings.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Convert CRLF line endings to LF in certain Windows-related files
+
+FILES_WITH_CRLF="src/libspf2/spf_dns_windns.c
+ src/libspf2/spf_win32.c
+ src/libreplace/win32_config.h
+ src/include/spf_dns_windns.h
+ src/include/spf_win32.h"
+
+set -e
+
+dpatch_patch() {
+ # Change line endings to LF in files with CRLF
+ sed -ri -e 's/\r$//' $FILES_WITH_CRLF
+}
+
+dpatch_unpatch() {
+ # Change line endings back to CRLF in files that had it in the tarball
+ # Unfortunately there are exceptions ... have to watch out for changes
+ # in future upstream versions (or simply make backups instead).
+ sed -ri -e '/\r$|^#pragma comment/!s/$/\r/' $FILES_WITH_CRLF
+ sed -ri -e '$s/\r$//' src/libspf2/spf_dns_windns.c
+}
+
+DPATCH_LIB_NO_DEFAULT=1
+
+. /usr/share/dpatch/dpatch.lib.sh
/tags/1.2.5.dfsg-1/debian/patches/01_line-endings.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-1/debian/copyright
===================================================================
--- tags/1.2.5.dfsg-1/debian/copyright (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/copyright (revision 108)
@@ -0,0 +1,19 @@
+This package was debianized by Eric Dorland <eric@debian.org> on
+Sun, 04 Jul 2004 19:00:36 -0400
+
+The current maintainer is Magnus Holmgren <magnus@kibibyte.se>.
+
+It was downloaded from http://www.libspf2.org/
+
+Upstream Author: Wayne Schlitt <wayne@schlitt.net>
+
+Copyright:
+
+This software is copyright (c) 2004 by Wayne Schlitt <wayne@schlitt.net>
+
+You are free to distribute this software under the terms of
+the GNU General Public License version 2 or the BSD license, at your choice.
+
+On Debian systems, the complete text of the GNU General Public
+License can be found in the file `/usr/share/common-licenses/GPL-2' and
+the BSD license can be found in the file `/usr/share/common-licenses/BSD'.
Index: tags/1.2.5.dfsg-1/debian/libspf2-dev.README.Debian
===================================================================
--- tags/1.2.5.dfsg-1/debian/libspf2-dev.README.Debian (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/libspf2-dev.README.Debian (revision 108)
@@ -0,0 +1,8 @@
+libspf2 for Debian
+------------------
+
+Information and more recent versions of libspf2 are available from
+
+ http://www.libspf2.org/
+
+ -- Eric Dorland <eric@debian.org>, Sun Jul 4 19:02:07 2004
Index: tags/1.2.5.dfsg-1/debian/rules
===================================================================
--- tags/1.2.5.dfsg-1/debian/rules (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/rules (revision 108)
@@ -0,0 +1,17 @@
+#!/usr/bin/make -f
+
+SOURCE_PACKAGE = libspf2
+
+include /usr/share/cdbs/1/class/autotools.mk
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/dpatch.mk
+
+DEB_DH_MAKESHLIBS_ARGS_libspf2-2 = -V 'libspf2-2 (>= 1.2.5)'
+
+binary-install/spfquery::
+# Rename the `spfquery` tool for the alternatives system:
+ mv debian/spfquery/usr/bin/spfquery debian/spfquery/usr/bin/spfquery.$(SOURCE_PACKAGE)
+ mv debian/spfquery/usr/sbin/spfd debian/spfquery/usr/sbin/spfd.$(SOURCE_PACKAGE)
+
+get-orig-source:
+ wget http://www.libspf2.org/spf/libspf2-1.2.5.tar.gz
/tags/1.2.5.dfsg-1/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/1.2.5.dfsg-1/debian/README.Debian-source
===================================================================
--- tags/1.2.5.dfsg-1/debian/README.Debian-source (nonexistent)
+++ tags/1.2.5.dfsg-1/debian/README.Debian-source (revision 108)
@@ -0,0 +1,16 @@
+The upstream tarball has been repackaged because it contained non-free
+material in the form of an (obsolete) IETF Internet Draft
+(draft-mengwong-spf-00.txt in the docs subdirectory). As far as I can
+see It's non-free because it doesn't contain any copyright information
+at all, thereby defaulting to "all right reserved" in most
+jurisdictions.
+
+Current SPF specifications can be found at
+<http://www.openspf.org/Specifications>.
+
+To download the original tarball use `debian/rules get-orig-source' or
+go to <http://www.libspf2.org/download.html> (beware that running
+debian/rules outside the package directory can have unwanted side
+effects due to CDBS).
+
+ -- Magnus Holmgren <magnus@kibibyte.se> Fri, 23 Mar 2007 16:44:20 +0100
Index: tags/1.2.5.dfsg-1/debian
===================================================================
--- tags/1.2.5.dfsg-1/debian (nonexistent)
+++ tags/1.2.5.dfsg-1/debian (revision 108)
/tags/1.2.5.dfsg-1/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property