From 819739d2a668f9b330fbebe8e20100a5105a99c5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Arkadiusz=20Mi=C5=9Bkiewicz?= Date: Sat, 30 Sep 2023 14:47:11 +0200 Subject: [PATCH] Rel 3; small fixes from debian --- abolish-spf-rrtype.patch | 16 ++++++++ libspf2.spec | 6 ++- spf_dns-include-std-headers.patch | 62 +++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 abolish-spf-rrtype.patch create mode 100755 spf_dns-include-std-headers.patch diff --git a/abolish-spf-rrtype.patch b/abolish-spf-rrtype.patch new file mode 100644 index 0000000..8b0a100 --- /dev/null +++ b/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); + diff --git a/libspf2.spec b/libspf2.spec index 5d1f41f..4fdba22 100644 --- a/libspf2.spec +++ b/libspf2.spec @@ -5,7 +5,7 @@ Summary: Implementation of the SPF specification Summary(pl.UTF-8): Implementacja specyfikacji SPF Name: libspf2 Version: 1.2.11 -Release: 2 +Release: 3 License: LGPL Group: Libraries # Source0: http://www.libspf2.org/spf/%{name}-%{version}.tar.gz @@ -15,6 +15,8 @@ Patch0: %{name}-link.patch Patch1: 0001-remove-libreplace-unneeded-on-Linux.patch # https://github.com/shevek/libspf2/pull/44 Patch2: integer-underflow.patch +Patch3: spf_dns-include-std-headers.patch +Patch4: abolish-spf-rrtype.patch URL: http://www.libspf2.org/ BuildRequires: autoconf >= 2.59 BuildRequires: automake @@ -77,6 +79,8 @@ Statyczna biblioteka libspf2. %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 +%patch4 -p1 %build %{__libtoolize} diff --git a/spf_dns-include-std-headers.patch b/spf_dns-include-std-headers.patch new file mode 100755 index 0000000..33fdada --- /dev/null +++ b/spf_dns-include-std-headers.patch @@ -0,0 +1,62 @@ +Author: Magnus Holmgren +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 + +--- 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 ++#include + + /* +- * For those who don't have ++ * 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 +- */ +- +-#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; -- 2.43.0