| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent ad81dad commit 0cd6bfa
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -24,21 +24,20 @@ using v8::Uint32; | |||
| 24 | 24 | using v8::Value; | |
| 25 | 25 | ||
| 26 | 26 | namespace crypto { | |
| 27 | - #ifdef OPENSSL_NO_OCB | ||
| 28 | - # define IS_OCB_MODE(mode) false | ||
| 29 | - #else | ||
| 30 | - # define IS_OCB_MODE(mode) ((mode) == EVP_CIPH_OCB_MODE) | ||
| 31 | - #endif | ||
| 32 | - | ||
| 33 | 27 | namespace { | |
| 34 | 28 | bool IsSupportedAuthenticatedMode(const EVP_CIPHER* cipher) { | |
| 35 | - const int mode = EVP_CIPHER_mode(cipher); | ||
| 36 | - // Check `chacha20-poly1305` separately, it is also an AEAD cipher, | ||
| 37 | - // but its mode is 0 which doesn't indicate | ||
| 38 | - return EVP_CIPHER_nid(cipher) == NID_chacha20_poly1305 || | ||
| 39 | - mode == EVP_CIPH_CCM_MODE || | ||
| 40 | - mode == EVP_CIPH_GCM_MODE || | ||
| 41 | - IS_OCB_MODE(mode); | ||
| 29 | + switch (EVP_CIPHER_mode(cipher)) { | ||
| 30 | + case EVP_CIPH_CCM_MODE: | ||
| 31 | + case EVP_CIPH_GCM_MODE: | ||
| 32 | + #ifndef OPENSSL_NO_OCB | ||
| 33 | + case EVP_CIPH_OCB_MODE: | ||
| 34 | + #endif | ||
| 35 | + return true; | ||
| 36 | + case EVP_CIPH_STREAM_CIPHER: | ||
| 37 | + return EVP_CIPHER_nid(cipher) == NID_chacha20_poly1305; | ||
| 38 | + default: | ||
| 39 | + return false; | ||
| 40 | + } | ||
| 42 | 41 | } | |
| 43 | 42 | ||
| 44 | 43 | bool IsSupportedAuthenticatedMode(const EVP_CIPHER_CTX* ctx) { | |
| Back | FazBrowse Home | New Git URL |
0 commit comments