[openssl-users] Issue with TLS1.3 and s_time

Matt Caswell matt at openssl.org
Thu Jul 13 12:52:12 UTC 2017



On 12/07/17 19:43, Roelof Du Toit wrote:
> This seems to be a bug in how s_time handles the TLS 1.3 post-handshake
> NewSessionTicket message; more specifically: not handling the retry when
> SSL_read() returns -1.
> 
>  
> 
> The following diff (in tls1.3-draft-19 branch) appears to resolve the issue:


Probably you should use SSL_get_error() rather than BIO_should_retry().
The former is a little more complete (checks some conditions that
BIO_should_retry() does not). Could you submit this as a github PR?

Matt


> 
>  
> 
> $ git diff
> 
> diff --git a/apps/s_time.c b/apps/s_time.c
> 
> index 998ef72..caa1b22 100644
> 
> --- a/apps/s_time.c
> 
> +++ b/apps/s_time.c
> 
> @@ -234,8 +234,8 @@ int s_time_main(int argc, char **argv)
> 
>                                     fmt_http_get_cmd, www_path);
> 
>              if (SSL_write(scon, buf, buf_len) <= 0)
> 
>                  goto end;
> 
> -            while ((i = SSL_read(scon, buf, sizeof(buf))) > 0)
> 
> -                bytes_read += i;
> 
> +            while ((i = SSL_read(scon, buf, sizeof(buf))) > 0 ||
> BIO_should_retry(SSL_get_rbio(scon)))
> 
> +                if (i > 0) bytes_read += i;
> 
>          }
> 
>  
> 
>  
> 
> --Roelof
> 
> 
> 


More information about the openssl-users mailing list