Age | Commit message (Collapse) | Author |
|
OTP-11725
* sverk/crypto/nomem-abort:
crypto: Abort VM if out of memory
|
|
OTP-11722
OTP-11724
* sverk/crypto/hmac-context-reuse-bug:
crypto: Fix bug when using old hmac context
erts: Fix NIF bug when load/upgrade fails after enif_open_resource_type
Conflicts:
erts/emulator/test/nif_SUITE.erl
|
|
Symptom: Using an old context (that had already been passed as argument to either
hmac_upgrade or hmac_final) could cause VM crash or worse.
Reason: Only a shallow copy (memcpy) of the context was made causing
a new context to partly mutate its parent context into an inconsistent
state.
Problem: Only OpenSSL v1.0 supports deep copy of hmac context. It is thus
not possible to implement a functional interface for older OpenSSL
versions (0.9.8) which still have wide spread use.
Solution: Change hmac contexts into a mutable state using NIF resources.
Document reuse of old contexts as undefined.
Future: If a need for reusing old context variables arise, a new hmac_copy
function could be introduced that is only supported for OpenSSL v1.0.
|
|
Nice crash instead of segv or worse.
|
|
OTP-11619
* sverk/crypto-process-slaughter:
crypto: Remove all processes from application crypto
|
|
* andrewtj/atj-crypto-chiphertext-typo:
crypto: Fix 'ChipherText' typo in doc
OTP-11609
|
|
and make it into a pure library application.
The processes where a legacy from the time when crypto was
implemented with a driver.
|
|
Newer OpenSSL versions allow to selectively disable GF2m elliptic curves.
Selectively enable GF2m curves is support for them is available.
|
|
|
|
RFC-5649, Section 1, documents the advantages that these curves
might have over others (ANSI, SEC1/2)
|
|
Decouple eliptic curve definition from OpenSSL and define them in
Erlang.
|
|
Vectors have been taken from NIST's CRYPTOGRAPHIC ALGORITHM VALIDATION
PROGRAM (CAVP) (http://csrc.nist.gov/groups/STM/cavp/)
|
|
in mod_pow, mod_exp and generate_key(srp,...)
|
|
The R16B03 release
Conflicts:
lib/sasl/vsn.mk
|
|
|
|
strrchr used on non null-terminated string.
|
|
* sverk/yb/aes_ige_crypt:
crypto: Update supports/0 for des3_cbf and aes_ige256
crypto: Throw notsup for AES IGE if openssl older than 0.9.8c
crypto: Add IGE mode for AES
OTP-11522
|
|
|
|
* sverk/crypto-no_answer_from_tc_supervisor:
crypto: Add more lazy_eval to avoid no_answer_from_tc_supervisor
|
|
|
|
* nox/crypto-uninitialized-vars:
Fix some uninitialized pointers in crypto
OTP-11510
|
|
Amendment to f1ebf482e1460d6146d55aa6cab00ab3e11f1741
|
|
|
|
|
|
|
|
|
|
crypto.c:2748:9: warning: variable 'bn_prime' is used uninitialized whenever '||' condition is true [-Wsometimes-uninitialized]
if (!get_bn_from_bin(env, argv[0], &bn_verifier)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto.c:2758:6: note: uninitialized use occurs here
if (bn_prime) BN_free(bn_prime);
^~~~~~~~
crypto.c:2748:9: note: remove the '||' if its condition is always false
if (!get_bn_from_bin(env, argv[0], &bn_verifier)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
OTP-11408
* sverk/load-nif-unicode:
erts: Fix bug in atom to filename conversions
Fix open_ddll for win
erts, crypto: Support NIF library with unicode filename on windows
erts: Factor out erts_convert_filename_to_wchar()
erts: Fix compiler warning
erts: Fix loading of NIF library with unicode in path
erts: Remove unused constant DRIVER_TAB_SIZE
|
|
|
|
|
|
The R16B02 release
Conflicts:
lib/sasl/vsn.mk
|
|
|
|
Both crypto and asn1 are supported.
|
|
|
|
* sverk/crypto-remove-ec-resource:
crypto: Supress some false positives from valgrind
crypto: Refactor remove resource for EC_KEY
crypto: Fix some compiler warnings
|
|
The R16B01 release
Conflicts:
lib/sasl/vsn.mk
|
|
|
|
|
|
The resource was not needed as it was never kept between external
crypto calls.
|
|
|
|
|
|
enif_open_resource_type() must be called even during repeated loading
of same library. Otherwise the resource type will be deallocated
when the old module instance is purged.
|
|
|
|
* ia/public_key/crypto/prepare-for-release:
public_key & ssl: Add ASN-1 dependency
crypto & public_key: prepare for release
|
|
* ia/crypto/avoid-too-big-binaries/OTP-11142:
Teach crypto.c not to call enif_compute_timeslice with 0
Add enif_consume_timeslice to appropriate crypto NIFs
crypto: Add large test data
crypto: Avoid big binaries in nifs
Crypto: Structure code
|
|
|
|
|
|
|
|
|