diff --git a/libspf2/libspf2.patch b/libspf2/libspf2.patch new file mode 100644 index 0000000000..fe2066ccde --- /dev/null +++ b/libspf2/libspf2.patch @@ -0,0 +1,89 @@ +Index: src/include/spf_server.h +--- src/include/spf_server.h.orig 2004-09-29 12:33:09 +0200 ++++ src/include/spf_server.h 2005-11-14 19:44:48 +0100 +@@ -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. +Index: src/libspf2/spf_dns_resolv.c +--- src/libspf2/spf_dns_resolv.c.orig 2005-02-19 03:38:12 +0100 ++++ src/libspf2/spf_dns_resolv.c 2005-11-14 19:47:02 +0100 +@@ -77,7 +77,9 @@ + static void + SPF_dns_resolv_thread_term(void *arg) + { ++#if HAVE_DECL_RES_NINIT + res_nclose( (struct __res_state *)arg ); ++#endif + free(arg); + } + +@@ -144,9 +146,15 @@ + if (res_spec == NULL) { + res_state = (struct __res_state *) + malloc(sizeof(struct __res_state)); ++#if HAVE_DECL_RES_NINIT + if (res_ninit(res_state) != 0) { + SPF_error("Failed to call res_ninit()"); + } ++#else ++ if (res_init() != 0) { ++ SPF_error("Failed to call res_init()"); ++ } ++#endif + pthread_setspecific(res_state_key, (void *)res_state); + } + else { +Index: src/libspf2/spf_dns_rr.c +--- src/libspf2/spf_dns_rr.c.orig 2005-02-22 02:42:34 +0100 ++++ src/libspf2/spf_dns_rr.c 2005-11-14 19:48:05 +0100 +@@ -45,7 +45,7 @@ + const char *domain) + { + return SPF_dns_rr_new_init(spf_dns_server, +- domain, ns_t_any, 0, NXDOMAIN); ++ domain, ns_t_any, 0, HOST_NOT_FOUND); + } + + SPF_dns_rr_t * +Index: src/libspf2/spf_request.c +--- src/libspf2/spf_request.c.orig 2005-02-22 03:38:57 +0100 ++++ src/libspf2/spf_request.c 2005-11-14 19:48:36 +0100 +@@ -307,6 +307,9 @@ + char *record; + size_t len; + ++ if ( (spf_request == NULL) || (rcpt_to == NULL) ) ++ return SPF_E_INVALID_OPT; ++ + SPF_ASSERT_NOTNULL(spf_request); + spf_server = spf_request->spf_server; + SPF_ASSERT_NOTNULL(spf_server); +Index: src/libspf2/spf_response.c +--- src/libspf2/spf_response.c.orig 2004-10-19 16:05:19 +0200 ++++ src/libspf2/spf_response.c 2005-11-14 19:49:14 +0100 +@@ -132,6 +132,8 @@ + SPF_result_t + SPF_response_result(SPF_response_t *rp) + { ++ if (rp == NULL) ++ return SPF_RESULT_NONE; + return rp->result; + } + +Index: src/spfquery/spfquery.c +--- src/spfquery/spfquery.c.orig 2005-02-22 03:36:55 +0100 ++++ src/spfquery/spfquery.c 2005-11-14 19:49:41 +0100 +@@ -261,7 +261,7 @@ + response_print_errors(const char *context, + SPF_response_t *spf_response, SPF_errcode_t err) + { +- SPF_error_t *spf_error;; ++ SPF_error_t *spf_error; + int i; + + printf("StartError\n"); diff --git a/libspf2/libspf2.spec b/libspf2/libspf2.spec index 4a378969dc..ee6b415b8d 100644 --- a/libspf2/libspf2.spec +++ b/libspf2/libspf2.spec @@ -32,11 +32,12 @@ Distribution: OpenPKG Class: PLUS Group: Mail License: LGPL/BSD -Version: 1.0.4 -Release: 20050301 +Version: 1.2.5 +Release: 20051114 # list of sources Source0: http://www.libspf2.org/spf/libspf2-%{version}.tar.gz +Patch0: libspf2.patch # build information Prefix: %{l_prefix} @@ -56,7 +57,6 @@ AutoReqProv: no %track prog libspf2 = { - comment = "ms: 1.2.5 depends on res_nclose(3), missing in FreeBSD" version = %{version} url = http://www.libspf2.org/download.html regex = libspf2-(__VER__)\.tar\.gz @@ -64,6 +64,7 @@ AutoReqProv: no %prep %setup -q + %patch -p0 %build ( echo "ac_cv_lib_intl_gettext=no"