aboutsummaryrefslogtreecommitdiffstats
path: root/lib/crypto/c_src/cipher.c
diff options
context:
space:
mode:
authorHans Nilsson <[email protected]>2019-03-22 10:03:49 +0100
committerGitHub <[email protected]>2019-03-22 10:03:49 +0100
commit1b6895221c98b6be55088790c5fb3057f1c9b304 (patch)
tree08c38d08f223a3fd737c835e242995475159c183 /lib/crypto/c_src/cipher.c
parentd096ca2c0cebec816fa2e0386b7e5f0d8cd62a88 (diff)
parente7c0b56a28a85959fbde9de88b982cae94bf3474 (diff)
downloadotp-1b6895221c98b6be55088790c5fb3057f1c9b304.tar.gz
otp-1b6895221c98b6be55088790c5fb3057f1c9b304.tar.bz2
otp-1b6895221c98b6be55088790c5fb3057f1c9b304.zip
Merge pull request #2186 from essen/improve-cipher-info
Make crypto:cipher_info work for all ciphers and aliases OTP-15655
Diffstat (limited to 'lib/crypto/c_src/cipher.c')
-rw-r--r--lib/crypto/c_src/cipher.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/crypto/c_src/cipher.c b/lib/crypto/c_src/cipher.c
index 9d60254a3c..2652e1db4e 100644
--- a/lib/crypto/c_src/cipher.c
+++ b/lib/crypto/c_src/cipher.c
@@ -274,6 +274,42 @@ ERL_NIF_TERM cipher_info_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]
ret_mode = atom_ofb_mode;
break;
+#ifdef EVP_CIPH_CTR_MODE
+ case EVP_CIPH_CTR_MODE:
+ ret_mode = atom_ctr_mode;
+ break;
+#endif
+
+#ifdef EVP_CIPH_GCM_MODE
+ case EVP_CIPH_GCM_MODE:
+ ret_mode = atom_gcm_mode;
+ break;
+#endif
+
+#ifdef EVP_CIPH_CCM_MODE
+ case EVP_CIPH_CCM_MODE:
+ ret_mode = atom_ccm_mode;
+ break;
+#endif
+
+#ifdef EVP_CIPH_XTS_MODE
+ case EVP_CIPH_XTS_MODE:
+ ret_mode = atom_xts_mode;
+ break;
+#endif
+
+#ifdef EVP_CIPH_WRAP_MODE
+ case EVP_CIPH_WRAP_MODE:
+ ret_mode = atom_wrap_mode;
+ break;
+#endif
+
+#ifdef EVP_CIPH_OCB_MODE
+ case EVP_CIPH_OCB_MODE:
+ ret_mode = atom_ocb_mode;
+ break;
+#endif
+
case EVP_CIPH_STREAM_CIPHER:
ret_mode = atom_stream_cipher;
break;