aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/libspf2/0001-provide-dn_skipname.patch26
-rw-r--r--main/libspf2/APKBUILD32
-rw-r--r--main/libspf2/automake.patch11
-rw-r--r--main/libspf2/libspf2-localpolicy-fix.patch149
-rw-r--r--main/libspf2/libspf2-res_ninit-uclibc.patch64
-rw-r--r--main/libspf2/musl-res_close.patch15
-rw-r--r--main/libspf2/netdb_success.patch17
7 files changed, 65 insertions, 249 deletions
diff --git a/main/libspf2/0001-provide-dn_skipname.patch b/main/libspf2/0001-provide-dn_skipname.patch
index feb46efa68..e53001f793 100644
--- a/main/libspf2/0001-provide-dn_skipname.patch
+++ b/main/libspf2/0001-provide-dn_skipname.patch
@@ -1,27 +1,27 @@
-From abfd38dbff2be2e63ee222a87b4f24de5573e7eb Mon Sep 17 00:00:00 2001
-From: Natanael Copa <natanael.copa@gmail.com>
-Date: Mon, 19 Apr 2010 14:53:35 +0000
+From 808b584d22106828aaaa3f2a52b1d076b6e66040 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Thu, 11 Sep 2014 08:09:34 +0000
Subject: [PATCH] provide dn_skipname
---
- configure.ac | 3 +-
- src/libreplace/__dn_skipname.c | 87 ++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 89 insertions(+), 1 deletions(-)
+ configure.ac | 2 +-
+ src/libreplace/__dn_skipname.c | 87 ++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 88 insertions(+), 1 deletion(-)
create mode 100644 src/libreplace/__dn_skipname.c
diff --git a/configure.ac b/configure.ac
-index 310d73c..8a0dd2b 100644
+index 63e398c..739da3b 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -272,7 +273,7 @@ AC_CHECK_FUNCS([strcasecmp strncasecmp strspn strtoul])
+@@ -274,7 +274,7 @@ AC_CHECK_FUNCS([strcasecmp strncasecmp strspn strtoul])
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_get16 __ns_msg_getflag __dn_skipname])
+-AC_REPLACE_FUNCS([__ns_initparse __ns_name_uncompress __ns_msg_getflag])
++AC_REPLACE_FUNCS([__ns_initparse __ns_name_uncompress __ns_msg_getflag __dn_skipname])
+ dnl Magnus Holmgren says this avoids linking a private function
+ AC_LIBOBJ([__ns_get16])
- AC_CONFIG_FILES([Makefile
- Doxyfile
diff --git a/src/libreplace/__dn_skipname.c b/src/libreplace/__dn_skipname.c
new file mode 100644
index 0000000..88d48b5
@@ -116,5 +116,5 @@ index 0000000..88d48b5
+
+
--
-1.7.0.4
+2.1.0
diff --git a/main/libspf2/APKBUILD b/main/libspf2/APKBUILD
index d64424e566..170dfb9fd6 100644
--- a/main/libspf2/APKBUILD
+++ b/main/libspf2/APKBUILD
@@ -1,20 +1,19 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libspf2
-pkgver=1.2.9
-pkgrel=8
+pkgver=1.2.10
+pkgrel=0
pkgdesc="Sender Policy Framework library, a part of the SPF/SRS protocol pair."
url="http://www.libspf2.org"
-arch=""
+arch="all"
license="LGPL-2.1 BSD-2"
subpackages="$pkgname-dev"
-makedepends="autoconf automake libtool bind-dev"
+makedepends="autoconf automake libtool"
depends=
source="http://www.libspf2.org/spf/libspf2-$pkgver.tar.gz
- libspf2-localpolicy-fix.patch
0001-provide-dn_skipname.patch
libspf2-libreplace-fix.patch
- libspf2-res_ninit-uclibc.patch
- automake.patch
+ netdb_success.patch
+ musl-res_close.patch
"
_builddir="$srcdir"/$pkgname-$pkgver
@@ -45,9 +44,18 @@ package() {
make DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/*.la
}
-md5sums="3305df4d1b13ca964d80b23bb5e4e2b6 libspf2-1.2.9.tar.gz
-dab7cc92ed1ff332e4fcfab95b8d35ea libspf2-localpolicy-fix.patch
-201889cbd209aa7cae9ce11ed5ebaaa6 0001-provide-dn_skipname.patch
+md5sums="7bb9937d0705649eaa8646de66dc3562 libspf2-1.2.10.tar.gz
+24b77cb74901d56de89b24ef10b46b85 0001-provide-dn_skipname.patch
6dd2d5f33c5f1a5b7c14eec4c71767cd libspf2-libreplace-fix.patch
-06c981fcca0434d447f8a2749b51696f libspf2-res_ninit-uclibc.patch
-4a83b623d8751e4049f3e68b3a074d21 automake.patch"
+e364ae123e18ec330339824e71774b44 netdb_success.patch
+984f356b97d936395ee061d6c6003d0a musl-res_close.patch"
+sha256sums="d91e3de81ae287a2976c44f60283bd3000d720e6a112dc7142eedf1831b821c9 libspf2-1.2.10.tar.gz
+b6038c035c08e31a5407ed06d4af490aea357c1e51c218a02c703a9eace9a072 0001-provide-dn_skipname.patch
+f9ee6d10be25a52d2432ac62114c37e2dd4c00c8e11d908f2f2ed0d4ba71b139 libspf2-libreplace-fix.patch
+381d3cb2ef4257eb93dc52b39944948705feaf29223fa263af9c362963eb136e netdb_success.patch
+8d7392aaf3db6f32c96c3f3dac6d928762e0149d966e98fbedc434308894e03b musl-res_close.patch"
+sha512sums="162ce382628c6fcadac3e11f5a12442db622bb23f7ec503e16f5ba7fc88afdd777bce6b093c12a58210355985fd11b74b140f08fab347334d82d953dd183b130 libspf2-1.2.10.tar.gz
+cc8c77963a3bc0c54442c81146cc27e482c43787586ab8885e3fe0fd2cfcba089f5a5cfeda4c3307fe5cc36ac8768f748d9a8467e9b8ca41e9ad157b61bbce49 0001-provide-dn_skipname.patch
+226e1d7a1d381f35206aaecafb33955a6ecd08c8c18f4d6fe443e359f0139aeeb314012296a53e7c017d68373f4e1fa27010514296f15ab86f059e531866b95a libspf2-libreplace-fix.patch
+033dd1e959004f7a1026fb1de73813e934560101e04897297e468918ee28e4d7d0f271d6f05d984db22dd43e097f6aa133df18d11419b085d89db89b120750c9 netdb_success.patch
+4fb8a28a667d8fe54a48fa89230446b758c6d532866ee26e8b9ef3032f6e0993ec19a2cc2fb265d18d259e35de6fe66183763bbc69c424de70ad8fe0dbcf7a2f musl-res_close.patch"
diff --git a/main/libspf2/automake.patch b/main/libspf2/automake.patch
deleted file mode 100644
index 85dfbe3ccb..0000000000
--- a/main/libspf2/automake.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./configure.ac.orig 2012-12-31 20:13:11.653376850 +0000
-+++ ./configure.ac 2012-12-31 20:13:26.790177076 +0000
-@@ -6,7 +6,7 @@
- AC_CONFIG_AUX_DIR(config)
- AM_INIT_AUTOMAKE(libspf2, $PACKAGE_VERSION)
- AC_CONFIG_SRCDIR([src/libspf2/spf_server.c])
--AM_CONFIG_HEADER(config.h)
-+AC_CONFIG_HEADER(config.h)
-
- # remember the version info for later
-
diff --git a/main/libspf2/libspf2-localpolicy-fix.patch b/main/libspf2/libspf2-localpolicy-fix.patch
deleted file mode 100644
index 089c391eb9..0000000000
--- a/main/libspf2/libspf2-localpolicy-fix.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-diff --git a/src/libspf2/spf_interpret.c b/src/libspf2/spf_interpret.c
-index 78fa81a..6dbdd8d 100644
---- a/src/libspf2/spf_interpret.c
-+++ b/src/libspf2/spf_interpret.c
-@@ -594,10 +594,6 @@ SPF_record_interpret(SPF_record_t *spf_record,
- SPF_data_t *data;
- SPF_data_t *data_end; /* XXX Replace with size_t data_len */
-
-- /* Where to insert the local policy (whitelist) */
-- SPF_mech_t *local_policy; /* Not the local policy */
-- int found_all; /* A crappy temporary. */
--
- char *buf = NULL;
- size_t buf_len = 0;
- ns_type fetch_ns_type;
-@@ -662,58 +658,6 @@ SPF_record_interpret(SPF_record_t *spf_record,
- #endif
-
- /*
-- * Do some start up stuff if we haven't recursed yet
-- */
--
-- local_policy = NULL;
--
-- if ( spf_request->use_local_policy ) {
-- /*
-- * find the location for the whitelist execution
-- *
-- * Philip Gladstone says:
-- *
-- * I think that the localpolicy should only be inserted if the
-- * final mechanism is '-all', and it should be inserted after
-- * the last mechanism which is not '-'.
-- *
-- * Thus for the case of 'v=spf1 +a +mx -all', this would be
-- * interpreted as 'v=spf1 +a +mx +localpolicy -all'. Whereas
-- * 'v=spf1 -all' would remain the same (no non-'-'
-- * mechanism). 'v=spf1 +a +mx -exists:%stuff -all' would
-- * become 'v=spf1 +a +mx +localpolicy -exists:%stuff -all'.
-- */
--
-- if ( spf_server->local_policy ) {
-- mech = spf_record->mech_first;
--
-- found_all = FALSE;
-- for(m = 0; m < spf_record->num_mech; m++)
-- {
-- if ( mech->mech_type == MECH_ALL
-- && (mech->prefix_type == PREFIX_FAIL
-- || mech->prefix_type == PREFIX_UNKNOWN
-- || mech->prefix_type == PREFIX_SOFTFAIL
-- )
-- )
-- found_all = TRUE;
--
-- if ( mech->prefix_type != PREFIX_FAIL
-- && mech->prefix_type != PREFIX_SOFTFAIL
-- )
-- local_policy = mech;
--
-- mech = SPF_mech_next( mech );
-- }
--
-- if ( !found_all )
-- local_policy = NULL;
-- }
--
-- }
--
--
-- /*
- * evaluate the mechanisms
- */
-
-@@ -751,6 +695,35 @@ SPF_record_interpret(SPF_record_t *spf_record,
-
- resolver = spf_server->resolver;
-
-+ /*
-+ * execute the local policy
-+ */
-+ if ( spf_request->use_local_policy && spf_server->local_policy ) {
-+ spf_request->use_local_policy = 0;
-+ err = SPF_record_interpret(spf_server->local_policy,
-+ spf_request, spf_response, depth + 1);
-+ spf_request->use_local_policy = 1;
-+
-+ if ( spf_server->debug > 0 )
-+ SPF_debugf( "local_policy: executed SPF record: %s result: %s reason: %s",
-+ SPF_strerror( err ),
-+ SPF_strresult( spf_response->result ),
-+ SPF_strreason( spf_response->reason ) );
-+
-+ if (spf_response->result != SPF_RESULT_INVALID &&
-+ spf_response->result != SPF_RESULT_NONE &&
-+ spf_response->result != SPF_RESULT_NEUTRAL) {
-+ SPF_FREE_LOOKUP_DATA();
-+ return err;
-+ }
-+
-+ if ( spf_server->debug > 0 )
-+ SPF_debugf( "local_policy: not definite",
-+ SPF_strerror( err ),
-+ SPF_strresult( spf_response->result ),
-+ SPF_strreason( spf_response->reason ) );
-+ }
-+
- mech = spf_record->mech_first;
- for (m = 0; m < spf_record->num_mech; m++) {
-
-@@ -1256,26 +1229,6 @@ SPF_record_interpret(SPF_record_t *spf_record,
- break;
- }
-
-- /*
-- * execute the local policy
-- */
--
-- if ( mech == local_policy ) {
-- err = SPF_record_interpret(spf_server->local_policy,
-- spf_request, spf_response, depth + 1);
--
-- if ( spf_server->debug > 0 )
-- SPF_debugf( "local_policy: executed SPF record: %s result: %s reason: %s",
-- SPF_strerror( err ),
-- SPF_strresult( spf_response->result ),
-- SPF_strreason( spf_response->reason ) );
--
-- if (spf_response->result != SPF_RESULT_INVALID) {
-- SPF_FREE_LOOKUP_DATA();
-- return err;
-- }
-- }
--
- mech = SPF_mech_next( mech );
- }
-
-diff --git a/src/libspf2/spf_request.c b/src/libspf2/spf_request.c
-index 7614141..9eb1774 100644
---- a/src/libspf2/spf_request.c
-+++ b/src/libspf2/spf_request.c
-@@ -47,6 +47,7 @@ SPF_request_new(SPF_server_t *spf_server)
- return sr;
- memset(sr, 0, sizeof(SPF_request_t));
-
-+ sr->use_local_policy = 1;
- sr->spf_server = spf_server;
- sr->client_ver = AF_UNSPEC;
- sr->ipv4.s_addr = htonl(INADDR_ANY);
diff --git a/main/libspf2/libspf2-res_ninit-uclibc.patch b/main/libspf2/libspf2-res_ninit-uclibc.patch
deleted file mode 100644
index ae9ba9add6..0000000000
--- a/main/libspf2/libspf2-res_ninit-uclibc.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff --git a/src/libspf2/spf_dns_resolv.c b/src/libspf2/spf_dns_resolv.c
-index 10ccee6..7acdd1f 100644
---- a/src/libspf2/spf_dns_resolv.c
-+++ b/src/libspf2/spf_dns_resolv.c
-@@ -79,13 +79,13 @@ static const struct res_sym ns_sects[] = {
- static const int num_ns_sect = sizeof(ns_sects) / sizeof(*ns_sects);
-
-
--#if HAVE_DECL_RES_NINIT
-+#if HAVE_DECL_RES_NINIT && !defined(__UCLIBC__)
- # define SPF_h_errno res_state->res_h_errno
- #else
- # define SPF_h_errno h_errno
- #endif
-
--#if HAVE_DECL_RES_NINIT
-+#if HAVE_DECL_RES_NINIT && !defined(__UCLIBC__)
- static pthread_once_t res_state_control = PTHREAD_ONCE_INIT;
- static pthread_key_t res_state_key;
-
-@@ -239,14 +239,14 @@ SPF_dns_resolv_lookup(SPF_dns_server_t *spf_dns_server,
- size_t rdlen;
- const u_char *rdata;
-
--#if HAVE_DECL_RES_NINIT
-+#if HAVE_DECL_RES_NINIT && !defined(__UCLIBC__)
- void *res_spec;
- struct __res_state *res_state;
- #endif
-
- SPF_ASSERT_NOTNULL(spf_dns_server);
-
--#if HAVE_DECL_RES_NINIT
-+#if HAVE_DECL_RES_NINIT && !defined(__UCLIBC__)
- /** Get the thread-local resolver state. */
- res_spec = pthread_getspecific(res_state_key);
- if (res_spec == NULL) {
-@@ -292,7 +292,7 @@ SPF_dns_resolv_lookup(SPF_dns_server_t *spf_dns_server,
- for (;;) {
- int dns_len;
-
--#if HAVE_DECL_RES_NINIT
-+#if HAVE_DECL_RES_NINIT && !defined(__UCLIBC__)
- /* Resolve the name. */
- dns_len = res_nquery(res_state, domain, ns_c_in, rr_type,
- responsebuf, responselen);
-@@ -606,7 +606,7 @@ SPF_dns_resolv_free(SPF_dns_server_t *spf_dns_server)
- {
- SPF_ASSERT_NOTNULL(spf_dns_server);
-
--#if ! HAVE_DECL_RES_NINIT
-+#if ! HAVE_DECL_RES_NINIT || defined(__UCLIBC__)
- res_close();
- #endif
-
-@@ -619,7 +619,7 @@ SPF_dns_resolv_new(SPF_dns_server_t *layer_below,
- {
- SPF_dns_server_t *spf_dns_server;
-
--#if HAVE_DECL_RES_NINIT
-+#if HAVE_DECL_RES_NINIT && !defined(__UCLIBC__)
- pthread_once(&res_state_control, SPF_dns_resolv_init_key);
- #else
- if (res_init() != 0) {
diff --git a/main/libspf2/musl-res_close.patch b/main/libspf2/musl-res_close.patch
new file mode 100644
index 0000000000..97c3431afd
--- /dev/null
+++ b/main/libspf2/musl-res_close.patch
@@ -0,0 +1,15 @@
+musl does not have res_close and if it had, it would have been a NOP
+
+diff --git a/src/libspf2/spf_dns_resolv.c b/src/libspf2/spf_dns_resolv.c
+index 8f795ce..e3563d8 100644
+--- a/src/libspf2/spf_dns_resolv.c
++++ b/src/libspf2/spf_dns_resolv.c
+@@ -606,7 +606,7 @@ SPF_dns_resolv_free(SPF_dns_server_t *spf_dns_server)
+ {
+ SPF_ASSERT_NOTNULL(spf_dns_server);
+
+-#if ! HAVE_DECL_RES_NINIT
++#if ! HAVE_DECL_RES_NINIT && HAVE_RES_CLOSE
+ res_close();
+ #endif
+
diff --git a/main/libspf2/netdb_success.patch b/main/libspf2/netdb_success.patch
new file mode 100644
index 0000000000..0f87882ec0
--- /dev/null
+++ b/main/libspf2/netdb_success.patch
@@ -0,0 +1,17 @@
+--- ./src/include/spf_dns.h.orig
++++ ./src/include/spf_dns.h
+@@ -99,11 +99,13 @@
+ */
+
+ #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
++#ifndef NETDB_SUCCESS
++#define NETDB_SUCCESS 0
+ #endif
+ typedef int SPF_dns_stat_t;
+