Index: spamassassin-3.4.1/spamc/libspamc.c =================================================================== --- spamassassin-3.4.1.orig/spamc/libspamc.c +++ spamassassin-3.4.1/spamc/libspamc.c @@ -1187,7 +1187,7 @@ int message_filter(struct transport *tp, unsigned int throwaway; SSL_CTX *ctx = NULL; SSL *ssl = NULL; - SSL_METHOD *meth; + const SSL_METHOD *meth; char zlib_on = 0; unsigned char *zlib_buf = NULL; int zlib_bufsiz = 0; @@ -1213,11 +1213,7 @@ int message_filter(struct transport *tp, if (flags & SPAMC_USE_SSL) { #ifdef SPAMC_SSL SSLeay_add_ssl_algorithms(); - if (flags & SPAMC_TLSV1) { - meth = TLSv1_client_method(); - } else { - meth = SSLv3_client_method(); /* default */ - } + meth = SSLv23_client_method(); SSL_load_error_strings(); ctx = SSL_CTX_new(meth); #else @@ -1596,7 +1592,7 @@ int message_tell(struct transport *tp, c int failureval; SSL_CTX *ctx = NULL; SSL *ssl = NULL; - SSL_METHOD *meth; + const SSL_METHOD *meth; assert(tp != NULL); assert(m != NULL); @@ -1604,7 +1600,7 @@ int message_tell(struct transport *tp, c 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 Index: spamassassin-3.4.1/spamc/spamc.c =================================================================== --- spamassassin-3.4.1.orig/spamc/spamc.c +++ spamassassin-3.4.1/spamc/spamc.c @@ -368,16 +368,12 @@ read_args(int argc, char **argv, case 'S': { flags |= SPAMC_USE_SSL; - if (!spamc_optarg || (strcmp(spamc_optarg,"sslv3") == 0)) { - flags |= SPAMC_SSLV3; - } - else if (strcmp(spamc_optarg,"tlsv1") == 0) { - flags |= SPAMC_TLSV1; - } - else { - libspamc_log(flags, LOG_ERR, "Please specify a legal ssl version (%s)", spamc_optarg); - ret = EX_USAGE; - } + if(spamc_optarg) { + libspamc_log(flags, LOG_ERR, + "SSL version specification is no longer supported or needed.", + spamc_optarg); + ret = EX_USAGE; + } break; } #endif Index: spamassassin-3.4.1/spamd/spamd.raw =================================================================== --- spamassassin-3.4.1.orig/spamd/spamd.raw +++ spamassassin-3.4.1/spamd/spamd.raw @@ -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,9 @@ 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 +1522,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; Index: spamassassin-3.4.1/spamc/spamc.pod =================================================================== --- spamassassin-3.4.1.orig/spamc/spamc.pod +++ spamassassin-3.4.1/spamc/spamc.pod @@ -177,12 +177,10 @@ The default is 1 time (ie. one attempt a Sleep for I seconds between failed spamd filtering attempts. The default is 1 second. -=item B<-S>, B<--ssl>, B<--ssl>=I +=item B<-S>, B<--ssl>, B<--ssl> If spamc was built with support for SSL, encrypt data to and from the spamd process with SSL; spamd must support SSL as well. -I specifies the SSL protocol version to use, either -C, or C. The default, is C. =item B<-t> I, B<--timeout>=I