View Ticket
2017-05-01
14:49 Closed ticket [1367823d51]: async tls::handshake returns 1 before handshake is complete plus 3 other changes artifact: 2e0c92707d user: rkeene
14:44 Fixed ticket [1367823d51]. artifact: 118749a900 user: rkeene
14:41
Fixed an issue where EAGAIN was translated into a successful handshake, addressing [1367823d51] check-in: 689d55e070 user: rkeene tags: trunk
2017-04-30
22:40 New ticket [1367823d51] async tls::handshake returns 1 before handshake is complete. artifact: 0ad4bef028 user: anonymous

Ticket Hash: 1367823d51d97f90c7d72a3307b5ba7c8757b500
Title: async tls::handshake returns 1 before handshake is complete
Status: Closed Type: Code Defect
Severity: Severe Priority: Immediate
Subsystem: Resolution: Fixed
Last Modified: 2017-05-01 14:49:53
Version Found In: 1.7.11
User Comments:
anonymous added on 2017-04-30 22:40:38:
With a TLS socket configured with -blocking 0, tls::handshake returns 1 too early during the TLS handshake, when the handshake has not actually completed.

1.6.7 shows the correct behaviour (tls::handshake returns 0 if the handshake is still in progress). 1.7.11 shows the broken behavior.

This breaks any code that tries to do a nonblocking handshake.

Testcase: https://gist.github.com/mutability/8cc5e34aa57e262c23bc816a76a068ed

rkeene added on 2017-05-01 14:44:18:
Fixed in [689d55e070], will be released as 1.7.12 shortly.

rkeene added on 2017-05-01 14:49:53:
Fixed in TclTLS 1.7.12, now released