aboutsummaryrefslogtreecommitdiffstats
path: root/lib/crypto
AgeCommit message (Collapse)Author
2019-01-08Revamp bn2term()Doug Hogan
* Add error handling for OpenSSL calls. * Change dlen to signed since BN_num_bytes() returns int. * Use enif_make_badarg() on error since it only returned undefined before in one type of error.
2019-01-08Revamp mod_exp_nif()Doug Hogan
* Add error checking for OpenSSL calls. * Change dlen from unsigned to signed since BN_num_bytes is int. * Add bounds checking before casting. * Consolidate all freeing to one location on error or success.
2019-01-08Revamp bin_from_bn()Doug Hogan
* Add error handling for all OpenSSL calls - There was nothing returned on error before so use enif_make_badarg(). * Add bounds checking before casting.
2019-01-08Revamp get_bn_from_bin()Doug Hogan
* Add bounds checking. * Add error checking for OpenSSL calls. * Only set *bnp on success.
2019-01-08Revamp get_bn_from_mpint()Doug Hogan
* Add bounds checking. * Add error checking for OpenSSL calls. * Only set argument *bnp on success.
2019-01-08Revamp rand_seed_nif()Doug Hogan
* Bounds check before casting.
2019-01-08Revamp rand_uniform_nif()Doug Hogan
* Add error handling for all OpenSSL calls.
2019-01-08Revamp strong_rand_range_nif()Doug Hogan
* Add error checking for all OpenSSL calls.
2019-01-08Revamp strong_rand_bytes_nif()Doug Hogan
* Add bounds check before casting.
2019-01-08Revamp info_lib()Doug Hogan
* Add error checking and use enif_make_badarg() on error. * Use size_t when using sizeof(). * Move initialization away from declaration so it's not as easy to miss.
2019-01-08Revamp change_basename()Doug Hogan
* Change the parameter from int to size_t. - Only caller doesn't need to change since it was already passing sizeof(). * Add unsigned wrapping checks.
2019-01-08Revamp get_dss_public_key()Doug Hogan
* Simplify logic by having incremental allocation and only free on error on one place. * Add error checking on all OpenSSL calls. * Make it explicit when you need to be careful with non-reference counted pointers. - set0 calls will use the pointer values without ref counting. - On success, set pointers to NULL to avoid double frees since the struct is now responsible for freeing the resources.
2019-01-08Revamp get_dss_private_key()Doug Hogan
* Simplify logic by having incremental allocation and only free on error in one place. * Add error checking on all OpenSSL calls. * Make it explicit when you need to be careful with non-ref counted pointers. - set0 calls will save the pointer without reference counting. - On success, set pointers to NULL to avoid double frees since the struct is now responsible for freeing the resources.
2019-01-08Revamp ecdh_compute_key_nif()Doug Hogan
* Bug fix: ECDH_compute_key was not being checked for failures - That function returns 0 on failure and never returns < 0. - Using <= 0 check because OpenSSL uses that internally and on their wiki. * Remove unnecessary variable i * Make the gotos always flow downward rather than jumping back.
2019-01-08Revamp chacha20_stream_crypt()Doug Hogan
* Check return values on all OpenSSL and Erlang calls. * Remove trailing semicolon after function definition.
2019-01-08Revamp chacha20_stream_init()Doug Hogan
* Check return values on all OpenSSL calls. * Remove trailing semicolon after function definition.
2019-01-08Revamp poly1305_nif()Doug Hogan
* Fix a possible memory leak where enif_alloc_binary() wasn't always converted into a term or freed in the error path.
2019-01-08Revamp rc4_set_key()Doug Hogan
* Bounds check key.size before casting.
2019-01-08Revamp get_eddsa_key()Doug Hogan
* pkey is only set on success.
2019-01-08Revamp do_exor()Doug Hogan
* Add additional error checking.
2019-01-08Revamp cmac_nif()Doug Hogan
* Add error checking on all OpenSSL and Erlang calls.
2019-01-08Add limits.h to the common headerDoug Hogan
A number of files will do bounds checking.
2019-01-07Revamp hmac_context_dtor()Doug Hogan
Make it NULL safe.
2019-01-07Revamp evp_md_ctx_dtor()Doug Hogan
Make it NULL safe.
2019-01-07Revamp engine_ctx_dtor()Doug Hogan
Make it NULL safe.
2019-01-07Revamp evp_cipher_ctx_dtor()Doug Hogan
Make it NULL safe.
2019-01-02crypto: Fix 'make clean'Hans Nilsson
2018-12-21If init_atoms() fails, it should return __LINE__Doug Hogan
2018-12-21Make engine ctx init internal to engine.c per PR feedbackDoug Hogan
2018-12-21Make cipher ctx init internal to cipher.c per PR feedbackDoug Hogan
2018-12-21Make hash ctx init internal to hash.c per PR feedbackDoug Hogan
2018-12-21Make HMAC ctx init internal to hmac.c per PR feedbackDoug Hogan
2018-12-21Avoid unused warning with old OpenSSL versions per PR feedbackDoug Hogan
2018-12-20Add Ericsson AB copyright header to all new filesDoug Hogan
Using the same copyright header as crypto.c
2018-12-20Remove chacha20.h dependency in aead.cDoug Hogan
While it uses chacha20, it doesn't use Erlang chacha20 functions.
2018-12-20Move algorithms to a new fileDoug Hogan
crypto.c is now only responsible for declaring NIFs and setup/tear down.
2018-12-20Move most FIPS functionality to a new fileDoug Hogan
2018-12-20Move public/private key functionality to a new fileDoug Hogan
2018-12-20Move EVP functionality to a new fileDoug Hogan
2018-12-20Move ECDH functionality to a new fileDoug Hogan
2018-12-20Move EC functionality to a new fileDoug Hogan
2018-12-20Move xor functionality to a new fileDoug Hogan
2018-12-20Move block crypt functionality to a new fileDoug Hogan
2018-12-20Move AEAD functionality to a new fileDoug Hogan
2018-12-20Move info functionality to a new fileDoug Hogan
2018-12-20Move AES functionality to a new fileDoug Hogan
2018-12-20Move DSS functionality to a new fileDoug Hogan
2018-12-20Move poly1305 functionality to a new fileDoug Hogan
2018-12-20Move chacha20 functionality to a new fileDoug Hogan
2018-12-20Move random functionality to a new fileDoug Hogan