mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-07-29 11:41:15 +03:00
- 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
This commit is contained in:
@ -239,7 +239,7 @@ int net_accept( int bind_fd, int *client_fd, void *client_ip )
|
||||
if( *client_fd < 0 )
|
||||
{
|
||||
if( net_is_blocking() != 0 )
|
||||
return( POLARSSL_ERR_NET_TRY_AGAIN );
|
||||
return( POLARSSL_ERR_NET_WANT_READ );
|
||||
|
||||
return( POLARSSL_ERR_NET_ACCEPT_FAILED );
|
||||
}
|
||||
@ -292,13 +292,10 @@ int net_recv( void *ctx, unsigned char *buf, size_t len )
|
||||
{
|
||||
int ret = read( *((int *) ctx), buf, len );
|
||||
|
||||
if( len > 0 && ret == 0 )
|
||||
return( POLARSSL_ERR_NET_CONN_RESET );
|
||||
|
||||
if( ret < 0 )
|
||||
{
|
||||
if( net_is_blocking() != 0 )
|
||||
return( POLARSSL_ERR_NET_TRY_AGAIN );
|
||||
return( POLARSSL_ERR_NET_WANT_READ );
|
||||
|
||||
#if defined(_WIN32) || defined(_WIN32_WCE)
|
||||
if( WSAGetLastError() == WSAECONNRESET )
|
||||
@ -308,7 +305,7 @@ int net_recv( void *ctx, unsigned char *buf, size_t len )
|
||||
return( POLARSSL_ERR_NET_CONN_RESET );
|
||||
|
||||
if( errno == EINTR )
|
||||
return( POLARSSL_ERR_NET_TRY_AGAIN );
|
||||
return( POLARSSL_ERR_NET_WANT_READ );
|
||||
#endif
|
||||
|
||||
return( POLARSSL_ERR_NET_RECV_FAILED );
|
||||
@ -327,7 +324,7 @@ int net_send( void *ctx, unsigned char *buf, size_t len )
|
||||
if( ret < 0 )
|
||||
{
|
||||
if( net_is_blocking() != 0 )
|
||||
return( POLARSSL_ERR_NET_TRY_AGAIN );
|
||||
return( POLARSSL_ERR_NET_WANT_WRITE );
|
||||
|
||||
#if defined(_WIN32) || defined(_WIN32_WCE)
|
||||
if( WSAGetLastError() == WSAECONNRESET )
|
||||
@ -337,7 +334,7 @@ int net_send( void *ctx, unsigned char *buf, size_t len )
|
||||
return( POLARSSL_ERR_NET_CONN_RESET );
|
||||
|
||||
if( errno == EINTR )
|
||||
return( POLARSSL_ERR_NET_TRY_AGAIN );
|
||||
return( POLARSSL_ERR_NET_WANT_WRITE );
|
||||
#endif
|
||||
|
||||
return( POLARSSL_ERR_NET_SEND_FAILED );
|
||||
|
Reference in New Issue
Block a user