• M
    Handle SSL_shutdown while in init more appropriately #2 · 64f9f406
    Matt Caswell 提交于
    Previous commit 7bb196a7 attempted to "fix" a problem with the way
    SSL_shutdown() behaved whilst in mid-handshake. The original behaviour had
    SSL_shutdown() return immediately having taken no action if called mid-
    handshake with a return value of 1 (meaning everything was shutdown
    successfully). In fact the shutdown has not been successful.
    
    Commit 7bb196a7 changed that to send a close_notify anyway and then
    return. This seems to be causing some problems for some applications so
    perhaps a better (much simpler) approach is revert to the previous
    behaviour (no attempt at a shutdown), but return -1 (meaning the shutdown
    was not successful).
    
    This also fixes a bug where SSL_shutdown always returns 0 when shutdown
    *very* early in the handshake (i.e. we are still using SSLv23_method).
    Reviewed-by: NViktor Dukhovni <viktor@openssl.org>
    64f9f406
ssl_lib.c 107.7 KB