checksums,openssl.libcrypto: make it work with openssl 1.1
parent
97cf96b668
commit
5156d250b9
|
@ -1,8 +1,7 @@
|
|||
! Copyright (C) 2008, 2010, 2016 Slava Pestov, Alexander Ilin
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors alien.c-types alien.data checksums
|
||||
checksums.common destructors kernel openssl openssl.libcrypto
|
||||
sequences ;
|
||||
USING: accessors alien.c-types alien.data checksums checksums.common
|
||||
destructors kernel namespaces openssl openssl.libcrypto sequences ;
|
||||
IN: checksums.openssl
|
||||
|
||||
ERROR: unknown-digest name ;
|
||||
|
@ -21,12 +20,17 @@ C: <openssl-checksum> openssl-checksum
|
|||
|
||||
TUPLE: evp-md-context < disposable handle ;
|
||||
|
||||
: evp-md-ctx-new ( -- ctx )
|
||||
ssl-new-api? get-global [ EVP_MD_CTX_new ] [ EVP_MD_CTX_create ] if ;
|
||||
|
||||
: evp-md-ctx-free ( ctx -- )
|
||||
ssl-new-api? get-global [ EVP_MD_CTX_free ] [ EVP_MD_CTX_destroy ] if ;
|
||||
|
||||
: <evp-md-context> ( -- ctx )
|
||||
evp-md-context new-disposable
|
||||
EVP_MD_CTX_create >>handle ;
|
||||
evp-md-context new-disposable evp-md-ctx-new >>handle ;
|
||||
|
||||
M: evp-md-context dispose*
|
||||
handle>> EVP_MD_CTX_destroy ;
|
||||
handle>> evp-md-ctx-free ;
|
||||
|
||||
: digest-named ( name -- md )
|
||||
dup EVP_get_digestbyname [ ] [ unknown-digest ] ?if ;
|
||||
|
|
|
@ -139,11 +139,20 @@ STRUCT: EVP_MD_CTX
|
|||
{ flags ulong }
|
||||
{ md_data void* } ;
|
||||
|
||||
! ------------------------------------------------------------------------------
|
||||
! API >= 1.1.0
|
||||
! ------------------------------------------------------------------------------
|
||||
FUNCTION: ulong OpenSSL_version_num ( )
|
||||
FUNCTION: EVP_MD_CTX* EVP_MD_CTX_new ( )
|
||||
FUNCTION: void EVP_MD_CTX_free ( EVP_MD_CTX* ctx )
|
||||
|
||||
! ------------------------------------------------------------------------------
|
||||
! API < 1.1.0, removed in new versions
|
||||
! ------------------------------------------------------------------------------
|
||||
FUNCTION: void OpenSSL_add_all_ciphers ( )
|
||||
FUNCTION: void OpenSSL_add_all_digests ( )
|
||||
FUNCTION: EVP_MD_CTX* EVP_MD_CTX_create ( )
|
||||
FUNCTION: void EVP_MD_CTX_destroy ( EVP_MD_CTX* ctx )
|
||||
! ------------------------------------------------------------------------------
|
||||
|
||||
! Clean them up before exiting
|
||||
|
@ -154,11 +163,6 @@ FUNCTION: EVP_MD* EVP_get_digestbyname ( c-string name )
|
|||
FUNCTION: void EVP_MD_CTX_init ( EVP_MD* ctx )
|
||||
|
||||
FUNCTION: int EVP_MD_CTX_cleanup ( EVP_MD_CTX* ctx )
|
||||
|
||||
FUNCTION: EVP_MD_CTX* EVP_MD_CTX_create ( )
|
||||
|
||||
FUNCTION: void EVP_MD_CTX_destroy ( EVP_MD_CTX* ctx )
|
||||
|
||||
FUNCTION: int EVP_MD_CTX_copy_ex ( EVP_MD_CTX* out, EVP_MD_CTX* in )
|
||||
|
||||
FUNCTION: int EVP_DigestInit_ex ( EVP_MD_CTX* ctx, EVP_MD* type, ENGINE* impl )
|
||||
|
|
Loading…
Reference in New Issue