On Sun, Jul 07, 2013 at 08:02:53PM -0400, D'Arcy J.M. Cain wrote:

> > > > > > > When sending several mails in succession, failure and
> > > > > > > success seem to alternate (i.e. exactly one failed
> > > > > > > handshake, then a successful one, then a failed one again,
> > > > > > > etc.).  And not using a TLS session cache for smtp(8)
> > > > > > > (smtp_tls_session_cache_database) seems to work around the
> > > > > > > problem.
> > > 
> > > Odd.  No one else has mentioned this issue.  Could it be a
> > > combination of versions between the client and server?
> > 
> > No, all client versions I tried, ranging from 0.9.8j through 1.0.1e
> > exhibit the issue.  All evidence so far points to a server bug.
> > The system that exhibits the bug consistently is also running NetBSD
> > 5.1.
> 
> I have just upgraded all of my systems.  Postfix and SSL are now both
> in the base system.  Can you test it again please.

Yes it is better now, though it took many tries to get a cached
session, since session ticket support in OpenSSL 1.0 makes the
Postfix SMTP server session cache mostly ineffective.  This will
be fixed in Postfix 2.11 and 2.10.2 (Wietse has patches for both
in his queue):

[ Most SMTP servers don't have high enough traffic loads to be
overly concerned about lack of TLS session caching, so don't worry
about that, but you can upgrade when 2.10.2 comes out ]

$ posttls-finger -c -Lsummary,cache,debug -r 1 "[mail.vex.net]:25"
posttls-finger: initializing the client-side TLS engine
posttls-finger: Connected to mail.vex.net[98.158.139.68]:25
posttls-finger: setting up TLS connection to mail.vex.net[98.158.139.68]:25
posttls-finger: mail.vex.net[98.158.139.68]:25: TLS cipher list 
"aNULL:-aNULL:ALL:!EXPORT:!LOW:+RC4:@STRENGTH:!aNULL"
posttls-finger: looking for session 
[98.158.139.68]:25&4DFC02A9282C7A786072E811D659A26A14B1127FA5522B7475BFC43B2DB05765
 in memory cache
posttls-finger: SSL_connect:before/connect initialization
posttls-finger: SSL_connect:SSLv2/v3 write client hello A
posttls-finger: SSL_connect:SSLv3 read server hello A
posttls-finger: mail.vex.net[98.158.139.68]:25: depth=1 verify=0 
subject=/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO SSL 
CA
posttls-finger: mail.vex.net[98.158.139.68]:25: depth=1 verify=0 
subject=/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO SSL 
CA
posttls-finger: mail.vex.net[98.158.139.68]:25: depth=0 verify=1 
subject=/OU=Domain Control Validated/OU=Hosted by Tucows/OU=COMODO SSL 
Wildcard/CN=*.vex.net
posttls-finger: SSL_connect:SSLv3 read server certificate A
posttls-finger: SSL_connect:SSLv3 read server key exchange A
posttls-finger: SSL_connect:SSLv3 read server done A
posttls-finger: SSL_connect:SSLv3 write client key exchange A
posttls-finger: SSL_connect:SSLv3 write change cipher spec A
posttls-finger: SSL_connect:SSLv3 write finished A
posttls-finger: SSL_connect:SSLv3 flush data
posttls-finger: SSL_connect:SSLv3 read server session ticket A
posttls-finger: SSL_connect:SSLv3 read finished A
posttls-finger: save session 
[98.158.139.68]:25&4DFC02A9282C7A786072E811D659A26A14B1127FA5522B7475BFC43B2DB05765
 to memory cache
posttls-finger: certificate verification failed for 
mail.vex.net[98.158.139.68]:25: untrusted issuer /C=SE/O=AddTrust 
AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
posttls-finger: mail.vex.net[98.158.139.68]:25: subject_CN=*.vex.net, 
issuer_CN=COMODO SSL CA, 
fingerprint=D7:7B:08:13:41:F8:B8:B1:CA:DC:A8:5D:56:98:69:25:0A:FD:B4:86, 
pkey_fingerprint=AD:60:1D:5E:A9:65:65:84:D1:2C:44:29:74:29:2E:F7:B6:BD:C2:BC
posttls-finger: Untrusted TLS connection established to 
mail.vex.net[98.158.139.68]:25: TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 
bits)
posttls-finger: Reconnecting after 1 seconds
posttls-finger: looking for session 
[98.158.139.68]:25&4DFC02A9282C7A786072E811D659A26A14B1127FA5522B7475BFC43B2DB05765
 in memory cache
posttls-finger: reloaded session 
[98.158.139.68]:25&4DFC02A9282C7A786072E811D659A26A14B1127FA5522B7475BFC43B2DB05765
 from memory cache
posttls-finger: SSL_connect:before/connect initialization
posttls-finger: SSL_connect:SSLv3 write client hello A
posttls-finger: SSL_connect:SSLv3 read server hello A
posttls-finger: SSL_connect:SSLv3 read finished A
posttls-finger: SSL_connect:SSLv3 write change cipher spec A
posttls-finger: SSL_connect:SSLv3 write finished A
posttls-finger: SSL_connect:SSLv3 flush data
posttls-finger: mail.vex.net[98.158.139.68]:25: Reusing old session
posttls-finger: mail.vex.net[98.158.139.68]:25: re-using session with untrusted 
certificate, look for details earlier in the log
posttls-finger: Untrusted TLS connection established to 
mail.vex.net[98.158.139.68]:25: TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 
bits)

-- 
        Viktor.

Reply via email to