I wrote: > Thomas Munro <thomas.mu...@gmail.com> writes: >> This was an intentional change in TLS1.3, reducing round trips by >> verifying the client certificate later.
> Ugh. So probably we can reproduce it elsewhere if we use cutting-edge > OpenSSL versions. I installed OpenSSL 1.1.1a on my Mac laptop. I got through 100 cycles of the ssl tests without a problem, which is not too surprising because longfin has been running on pretty much the exact same software stack since late November, and it has not shown the problem. However ... I threw in the sleep() where you advised in fe-connect.c, and kaboom! t/001_ssltests.pl .. 67/75 # Failed test 'certificate authorization fails with revoked client cert: matches' # at t/001_ssltests.pl line 375. # 'psql: server closed the connection unexpectedly # This probably means the server terminated abnormally # before or while processing the request. # could not send startup packet: Broken pipe # ' # doesn't match '(?^:SSL error)' t/001_ssltests.pl .. 74/75 # Failed test 'intermediate client certificate is missing: matches' # at t/001_ssltests.pl line 411. # 'psql: server closed the connection unexpectedly # This probably means the server terminated abnormally # before or while processing the request. # could not send startup packet: Broken pipe # ' # doesn't match '(?^:SSL error)' # Looks like you failed 2 tests of 75. t/001_ssltests.pl .. Dubious, test returned 2 (wstat 512, 0x200) Failed 2/75 subtests t/002_scram.pl ..... ok It seems quite repeatable this way. So that confirms that it's the OpenSSL version that is critical, and that you need a very new version to make it fail. I shall now see about fixing it... regards, tom lane