diff -Nur qpsmtpd-0.84/plugins/tls qpsmtpd-0.84_bz8726/plugins/tls --- qpsmtpd-0.84/plugins/tls 2014-12-10 22:30:01.359000000 +0100 +++ qpsmtpd-0.84_bz8726/plugins/tls 2014-12-10 22:33:38.215000000 +0100 @@ -74,6 +74,7 @@ $self->tls_key($key); $self->tls_ca($ca); $self->tls_ciphers($self->qp->config('tls_ciphers') || 'HIGH'); + $self->tls_version($self->qp->config('tls_version') || 'TLSv1'); Qpsmtpd->varlog(LOGINFO, "init", "tls", "ciphers: ".$self->tls_ciphers); @@ -84,6 +85,7 @@ SSL_key_file => $self->tls_key, SSL_ca_file => $self->tls_ca, SSL_cipher_list => $self->tls_ciphers, + SSL_version => $self->tls_version, SSL_server => 1 ) or die "Could not create SSL context: $!"; # now extract the password... @@ -180,6 +182,7 @@ SSL_key_file => $self->tls_key, SSL_ca_file => $self->tls_ca, SSL_cipher_list => $self->tls_ciphers, + SSL_version => $self->tls_version, SSL_server => 1, SSL_reuse_ctx => $self->ssl_context, ) or die "Could not create SSL socket: $!"; @@ -236,6 +239,12 @@ $self->{_tls_ciphers}; } +sub tls_version { + my $self = shift; + @_ and $self->{_tls_version} = shift; + $self->{_tls_version}; +} + sub ssl_context { my $self = shift; @_ and $self->{_ssl_ctx} = shift; @@ -282,6 +291,7 @@ SSL_key_file => $self->{_stashed_plugin}->tls_key, SSL_ca_file => $self->{_stashed_plugin}->tls_ca, SSL_cipher_list => $self->{_stashed_plugin}->tls_ciphers, + SSL_version => $self->{_stashed_plugin}->tls_version, SSL_startHandshake => 0, SSL_server => 1, SSL_reuse_ctx => $self->{_stashed_plugin}->ssl_context,