• M
    Provide an SSLfatal() macro · 1f359471
    Matt Caswell 提交于
    Typically if a fatal error occurs three things need to happen:
    
    - Put an error on the error queue
    - Send an alert
    - Put the state machine into the error state
    
    Although all 3 of these things need to be done every time we hit a fatal
    error the responsibilities for doing this are distributed throughout the
    code. The place where the error goes on the queue, where the alert gets
    sent and where the state machine goes into the error state are almost
    invariably different. It has been a common pattern to pass alert codes up
    and down the stack to get the alert information from the point in the code
    where the error is detected to the point in the code where the alert gets
    sent.
    
    This commit provides an SSLfatal() macro (backed by an ossl_statem_fatal
    function) that does all 3 of the above error tasks. This is largely a drop
    in replacement for SSLerr, but takes a couple of extra parameters (the SSL
    object, and an alert code).
    Reviewed-by: NRichard Levitte <levitte@openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/4778)
    1f359471
statem.c 27.1 KB