Don't check errors on ssl_close_notify()

Depending on timing we might get different errors (conn_reset, write failed)
and ignoring them all ends up being almost the same as just not checking
errors.
This commit is contained in:
Manuel Pégourié-Gonnard 2015-01-13 21:48:12 +01:00
parent 78803c0567
commit 687f89beab
2 changed files with 6 additions and 34 deletions

View File

@ -1284,24 +1284,10 @@ send_request:
close_notify: close_notify:
printf( " . Closing the connection..." ); printf( " . Closing the connection..." );
while( ( ret = ssl_close_notify( &ssl ) ) < 0 ) /* Don't check for errors, the connection might already be closed */
{ ssl_close_notify( &ssl );
if( ret == POLARSSL_ERR_NET_CONN_RESET )
{
printf( " ok (already closed by peer)\n" );
ret = 0;
goto reconnect;
}
if( ret != POLARSSL_ERR_NET_WANT_READ && printf( " done\n" );
ret != POLARSSL_ERR_NET_WANT_WRITE )
{
printf( " failed\n ! ssl_close_notify returned %d\n\n", ret );
goto reconnect;
}
}
printf( " ok\n" );
/* /*
* 9. Reconnect? * 9. Reconnect?

View File

@ -1763,24 +1763,10 @@ data_exchange:
close_notify: close_notify:
printf( " . Closing the connection..." ); printf( " . Closing the connection..." );
while( ( ret = ssl_close_notify( &ssl ) ) < 0 ) /* Don't check for errors, the connection might already be closed */
{ ssl_close_notify( &ssl );
if( ret == POLARSSL_ERR_NET_CONN_RESET )
{
printf( " ok (already closed by peer)\n" );
ret = 0;
goto reset;
}
if( ret != POLARSSL_ERR_NET_WANT_READ && printf( " done\n" );
ret != POLARSSL_ERR_NET_WANT_WRITE )
{
printf( " failed\n ! ssl_close_notify returned %d\n\n", ret );
goto reset;
}
}
printf( " ok\n" );
goto reset; goto reset;
/* /*