Make the regression tests of p5-Mail-SpamAssassin pass.

- Replace SSLv3_client_method() with  SSLv23_client_method() in spamc.
- Do not choose a specific SSL version, let IO::Socket::SSL decide.
- Print SSL error messages to make debugging easier.
- Fix search path in test.
input and OK sthen@
This commit is contained in:
bluhm 2015-05-23 14:18:55 +00:00
parent f7060d926b
commit d35706ef6d
4 changed files with 67 additions and 5 deletions

View File

@ -1,10 +1,11 @@
# $OpenBSD: Makefile,v 1.94 2015/04/30 14:41:53 sthen Exp $
# $OpenBSD: Makefile,v 1.95 2015/05/23 14:18:55 bluhm Exp $
COMMENT= mailfilter to identify and mark spam
VER= 3.4.1
DISTNAME= Mail-SpamAssassin-${VER}
PKGNAME= p5-${DISTNAME}
REVISION= 1
RULESNAME= Mail-SpamAssassin-rules-${VER}.r1675274.tgz
CATEGORIES= mail perl5

View File

@ -0,0 +1,21 @@
$OpenBSD: patch-spamc_libspamc_c,v 1.3 2015/05/23 14:18:55 bluhm Exp $
--- spamc/libspamc.c.orig Tue Apr 28 21:56:59 2015
+++ spamc/libspamc.c Wed May 20 19:53:07 2015
@@ -1216,7 +1216,7 @@ int message_filter(struct transport *tp, const char *u
if (flags & SPAMC_TLSV1) {
meth = TLSv1_client_method();
} else {
- meth = SSLv3_client_method(); /* default */
+ meth = SSLv23_client_method(); /* default */
}
SSL_load_error_strings();
ctx = SSL_CTX_new(meth);
@@ -1604,7 +1604,7 @@ int message_tell(struct transport *tp, const char *use
if (flags & SPAMC_USE_SSL) {
#ifdef SPAMC_SSL
SSLeay_add_ssl_algorithms();
- meth = SSLv3_client_method();
+ meth = SSLv23_client_method();
SSL_load_error_strings();
ctx = SSL_CTX_new(meth);
#else

View File

@ -0,0 +1,30 @@
$OpenBSD: patch-spamd_spamd_raw,v 1.7 2015/05/23 14:18:55 bluhm Exp $
--- spamd/spamd.raw.orig Tue Apr 28 21:56:59 2015
+++ spamd/spamd.raw Wed May 20 19:50:51 2015
@@ -1071,7 +1071,6 @@ sub server_sock_setup_inet {
$sockopt{V6Only} = 1 if $io_socket_module_name eq 'IO::Socket::IP'
&& IO::Socket::IP->VERSION >= 0.09;
%sockopt = (%sockopt, (
- SSL_version => $sslversion,
SSL_verify_mode => 0x00,
SSL_key_file => $opt{'server-key'},
SSL_cert_file => $opt{'server-cert'},
@@ -1092,7 +1091,8 @@ sub server_sock_setup_inet {
if (!$server_inet) {
$diag = sprintf("could not create %s socket on [%s]:%s: %s",
$ssl ? 'IO::Socket::SSL' : $io_socket_module_name,
- $adr, $port, $!);
+ $adr, $port, $ssl && $IO::Socket::SSL::SSL_ERROR ?
+ "$!,$IO::Socket::SSL::SSL_ERROR" : $!);
push(@diag_fail, $diag);
} else {
$diag = sprintf("created %s socket on [%s]:%s",
@@ -1521,7 +1521,7 @@ sub accept_from_any_server_socket {
} # end multiple sockets case
if ($selected_socket_info) {
- my $socket = $selected_socket_info->{socket};
+ $socket = $selected_socket_info->{socket};
$socket or die "no socket???, impossible";
dbg("spamd: accept() on fd %d", $selected_socket_info->{fd});
$client = $socket->accept;

View File

@ -1,7 +1,17 @@
$OpenBSD: patch-t_sa_compile_t,v 1.2 2015/04/30 14:41:53 sthen Exp $
--- t/sa_compile.t.orig Tue Apr 28 20:56:58 2015
+++ t/sa_compile.t Thu Apr 30 14:25:54 2015
@@ -65,6 +65,7 @@ sub new_instdir {
$OpenBSD: patch-t_sa_compile_t,v 1.3 2015/05/23 14:18:55 bluhm Exp $
--- t/sa_compile.t.orig Tue Apr 28 21:56:58 2015
+++ t/sa_compile.t Tue May 12 22:36:36 2015
@@ -8,8 +8,7 @@ use Config;
use File::Basename;
use File::Path qw/mkpath/;
-my $temp_binpath = $Config{sitebinexp};
-$temp_binpath =~ s/^\Q$Config{prefix}\E//;
+my $temp_binpath = "bin";
# called from BEGIN
sub re2c_version_new_enough {
@@ -65,6 +64,7 @@ sub new_instdir {
$instdir = $instbase.".".(shift);
print "\nsetting new instdir: $instdir\n";
$INST_FROM_SCRATCH and system("rm -rf $instdir; mkdir $instdir");