- Changed behaviour of net_recv(), ssl_fetch_input() and ssl_read(). net_recv() now returns 0 on EOF instead of POLARSSL_ERR_NET_CONN_RESET. ssl_fetch_input() returns POLARSSL_ERR_SSL_CONN_EOF on an EOF from its f_recv() function. ssl_read() returns 0 if a POLARSSL_ERR_SSL_CONN_EOF is received after the handshake.
- Network functions now return POLARSSL_ERR_NET_WANT_READ or POLARSSL_ERR_NET_WANT_WRITE instead of the ambiguous POLARSSL_ERR_NET_TRY_AGAIN
diff --git a/programs/x509/cert_app.c b/programs/x509/cert_app.c
index 12a1224..0c632ba 100644
--- a/programs/x509/cert_app.c
+++ b/programs/x509/cert_app.c
@@ -243,7 +243,7 @@
*/
while( ( ret = ssl_handshake( &ssl ) ) != 0 )
{
- if( ret != POLARSSL_ERR_NET_TRY_AGAIN )
+ if( ret != POLARSSL_ERR_NET_WANT_READ && ret != POLARSSL_ERR_NET_WANT_WRITE )
{
printf( " failed\n ! ssl_handshake returned %d\n\n", ret );
goto exit;