• Jonathan Lennox's avatar
    Changes for OpenSSL 1.1.0 compatibility. · 0b454236
    Jonathan Lennox authored
    In OpenSSL 1.1.0, EVP_CIPHER_CTX, HMAC_CTX, and EVP_MD_CTX are opaque types, and have
    to be allocated with *_new methods and deallocated with *_free.
    
    EVP_CIPHER_CTX_new/free is present in OpenSSL 1.0.1 and later, but HMAC_CTX_new and
    EVP_MD_CTX_new are new in OpenSSL 1.1.0.
    
    Use the _new unconditionally for ciphers, and conditionally use the old or new APIs
    for HMAC and MD.
    
    No noticible performance change for older OpenSSL.
    0b454236