View | Details | Raw Unified | Return to bug 7199
Collapse All | Expand All

(-)spamassassin-3.4.1/spamc/libspamc.c (-8 / +4 lines)
Lines 1187-1193 int message_filter(struct transport *tp, Link Here
1187
    unsigned int throwaway;
1187
    unsigned int throwaway;
1188
    SSL_CTX *ctx = NULL;
1188
    SSL_CTX *ctx = NULL;
1189
    SSL *ssl = NULL;
1189
    SSL *ssl = NULL;
1190
    SSL_METHOD *meth;
1190
    const SSL_METHOD *meth;
1191
    char zlib_on = 0;
1191
    char zlib_on = 0;
1192
    unsigned char *zlib_buf = NULL;
1192
    unsigned char *zlib_buf = NULL;
1193
    int zlib_bufsiz = 0;
1193
    int zlib_bufsiz = 0;
Lines 1213-1223 int message_filter(struct transport *tp, Link Here
1213
    if (flags & SPAMC_USE_SSL) {
1213
    if (flags & SPAMC_USE_SSL) {
1214
#ifdef SPAMC_SSL
1214
#ifdef SPAMC_SSL
1215
	SSLeay_add_ssl_algorithms();
1215
	SSLeay_add_ssl_algorithms();
1216
	if (flags & SPAMC_TLSV1) {
1216
    meth = SSLv23_client_method();
1217
	    meth = TLSv1_client_method();
1218
	} else {
1219
	    meth = SSLv3_client_method(); /* default */
1220
	}
1221
	SSL_load_error_strings();
1217
	SSL_load_error_strings();
1222
	ctx = SSL_CTX_new(meth);
1218
	ctx = SSL_CTX_new(meth);
1223
#else
1219
#else
Lines 1596-1602 int message_tell(struct transport *tp, c Link Here
1596
    int failureval;
1592
    int failureval;
1597
    SSL_CTX *ctx = NULL;
1593
    SSL_CTX *ctx = NULL;
1598
    SSL *ssl = NULL;
1594
    SSL *ssl = NULL;
1599
    SSL_METHOD *meth;
1595
    const SSL_METHOD *meth;
1600
1596
1601
    assert(tp != NULL);
1597
    assert(tp != NULL);
1602
    assert(m != NULL);
1598
    assert(m != NULL);
Lines 1604-1610 int message_tell(struct transport *tp, c Link Here
1604
    if (flags & SPAMC_USE_SSL) {
1600
    if (flags & SPAMC_USE_SSL) {
1605
#ifdef SPAMC_SSL
1601
#ifdef SPAMC_SSL
1606
	SSLeay_add_ssl_algorithms();
1602
	SSLeay_add_ssl_algorithms();
1607
	meth = SSLv3_client_method();
1603
	meth = SSLv23_client_method();
1608
	SSL_load_error_strings();
1604
	SSL_load_error_strings();
1609
	ctx = SSL_CTX_new(meth);
1605
	ctx = SSL_CTX_new(meth);
1610
#else
1606
#else
(-)spamassassin-3.4.1/spamc/spamc.c (-10 / +6 lines)
Lines 368-383 read_args(int argc, char **argv, Link Here
368
            case 'S':
368
            case 'S':
369
            {
369
            {
370
                flags |= SPAMC_USE_SSL;
370
                flags |= SPAMC_USE_SSL;
371
		if (!spamc_optarg || (strcmp(spamc_optarg,"sslv3") == 0)) {
371
                if(spamc_optarg) {
372
		    flags |= SPAMC_SSLV3;
372
                    libspamc_log(flags, LOG_ERR,
373
		}
373
                        "SSL version specification is no longer supported or needed.",
374
		else if (strcmp(spamc_optarg,"tlsv1") == 0) {
374
                        spamc_optarg);
375
		    flags |= SPAMC_TLSV1;
375
                    ret = EX_USAGE;
376
		}
376
                }
377
		else {
378
		    libspamc_log(flags, LOG_ERR, "Please specify a legal ssl version (%s)", spamc_optarg);
379
		    ret = EX_USAGE;
380
		}
381
                break;
377
                break;
382
            }
378
            }
383
#endif
379
#endif
(-)spamassassin-3.4.1/spamd/spamd.raw (-3 / +4 lines)
Lines 1071-1077 sub server_sock_setup_inet { Link Here
1071
    $sockopt{V6Only} = 1  if $io_socket_module_name eq 'IO::Socket::IP'
1071
    $sockopt{V6Only} = 1  if $io_socket_module_name eq 'IO::Socket::IP'
1072
                             && IO::Socket::IP->VERSION >= 0.09;
1072
                             && IO::Socket::IP->VERSION >= 0.09;
1073
    %sockopt = (%sockopt, (
1073
    %sockopt = (%sockopt, (
1074
      SSL_version     => $sslversion,
1075
      SSL_verify_mode => 0x00,
1074
      SSL_verify_mode => 0x00,
1076
      SSL_key_file    => $opt{'server-key'},
1075
      SSL_key_file    => $opt{'server-key'},
1077
      SSL_cert_file   => $opt{'server-cert'},
1076
      SSL_cert_file   => $opt{'server-cert'},
Lines 1092-1098 sub server_sock_setup_inet { Link Here
1092
    if (!$server_inet) {
1091
    if (!$server_inet) {
1093
      $diag = sprintf("could not create %s socket on [%s]:%s: %s",
1092
      $diag = sprintf("could not create %s socket on [%s]:%s: %s",
1094
                      $ssl ? 'IO::Socket::SSL' : $io_socket_module_name,
1093
                      $ssl ? 'IO::Socket::SSL' : $io_socket_module_name,
1095
                      $adr, $port, $!);
1094
                      $adr, $port, $ssl && $IO::Socket::SSL::SSL_ERROR ?
1095
                      "$!,$IO::Socket::SSL::SSL_ERROR" : $!);
1096
1096
      push(@diag_fail, $diag);
1097
      push(@diag_fail, $diag);
1097
    } else {
1098
    } else {
1098
      $diag = sprintf("created %s socket on [%s]:%s",
1099
      $diag = sprintf("created %s socket on [%s]:%s",
Lines 1521-1527 sub accept_from_any_server_socket { Link Here
1521
    } # end multiple sockets case
1522
    } # end multiple sockets case
1522
1523
1523
    if ($selected_socket_info) {
1524
    if ($selected_socket_info) {
1524
      my $socket = $selected_socket_info->{socket};
1525
      $socket = $selected_socket_info->{socket};
1525
      $socket or die "no socket???, impossible";
1526
      $socket or die "no socket???, impossible";
1526
      dbg("spamd: accept() on fd %d", $selected_socket_info->{fd});
1527
      dbg("spamd: accept() on fd %d", $selected_socket_info->{fd});
1527
      $client = $socket->accept;
1528
      $client = $socket->accept;
(-)spamassassin-3.4.1/spamc/spamc.pod (-3 / +1 lines)
Lines 177-188 The default is 1 time (ie. one attempt a Link Here
177
Sleep for I<sleep> seconds between failed spamd filtering attempts.
177
Sleep for I<sleep> seconds between failed spamd filtering attempts.
178
The default is 1 second.
178
The default is 1 second.
179
179
180
=item B<-S>, B<--ssl>, B<--ssl>=I<sslversion>
180
=item B<-S>, B<--ssl>, B<--ssl>
181
181
182
If spamc was built with support for SSL, encrypt data to and from the
182
If spamc was built with support for SSL, encrypt data to and from the
183
spamd process with SSL; spamd must support SSL as well.
183
spamd process with SSL; spamd must support SSL as well.
184
I<sslversion> specifies the SSL protocol version to use, either
185
C<sslv3>, or C<tlsv1>. The default, is C<sslv3>.
186
184
187
=item B<-t> I<timeout>, B<--timeout>=I<timeout>
185
=item B<-t> I<timeout>, B<--timeout>=I<timeout>
188
186

Return to bug 7199