summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjsing <>2014-06-07 17:16:39 +0000
committerjsing <>2014-06-07 17:16:39 +0000
commitac7554180458e6a678c9bc571314514246cb0fc0 (patch)
tree8965c91a2d0e9bfdf9a024d10dbf27cb97f3dc2c /src
parentffd7d5058a027525ac9aff6c2aa9a572a55182fc (diff)
downloadopenbsd-ac7554180458e6a678c9bc571314514246cb0fc0.tar.gz
openbsd-ac7554180458e6a678c9bc571314514246cb0fc0.tar.bz2
openbsd-ac7554180458e6a678c9bc571314514246cb0fc0.zip
Use !is_read to imply SSL3_CC_WRITE.
While this is not strictly correct (since the presence of SSL3_CC_READ does not guarantee the absence of SSL3_CC_WRITE), in practice only one of these flags is set at a time and there is existing logic which already relies on this behaviour.
Diffstat (limited to 'src')
-rw-r--r--src/lib/libssl/src/ssl/t1_enc.c5
-rw-r--r--src/lib/libssl/t1_enc.c5
2 files changed, 4 insertions, 6 deletions
diff --git a/src/lib/libssl/src/ssl/t1_enc.c b/src/lib/libssl/src/ssl/t1_enc.c
index 3e90b78468..fba582d4ad 100644
--- a/src/lib/libssl/src/ssl/t1_enc.c
+++ b/src/lib/libssl/src/ssl/t1_enc.c
@@ -530,12 +530,11 @@ tls1_change_cipher_state(SSL *s, int which)
530 530
531 if (EVP_CIPHER_mode(cipher) == EVP_CIPH_GCM_MODE) { 531 if (EVP_CIPHER_mode(cipher) == EVP_CIPH_GCM_MODE) {
532 EVP_CipherInit_ex(cipher_ctx, cipher, NULL, key, NULL, 532 EVP_CipherInit_ex(cipher_ctx, cipher, NULL, key, NULL,
533 (which & SSL3_CC_WRITE)); 533 !is_read);
534 EVP_CIPHER_CTX_ctrl(cipher_ctx, EVP_CTRL_GCM_SET_IV_FIXED, 534 EVP_CIPHER_CTX_ctrl(cipher_ctx, EVP_CTRL_GCM_SET_IV_FIXED,
535 iv_len, (unsigned char *)iv); 535 iv_len, (unsigned char *)iv);
536 } else 536 } else
537 EVP_CipherInit_ex(cipher_ctx, cipher, NULL, key, iv, 537 EVP_CipherInit_ex(cipher_ctx, cipher, NULL, key, iv, !is_read);
538 (which & SSL3_CC_WRITE));
539 538
540 /* Needed for "composite" AEADs, such as RC4-HMAC-MD5 */ 539 /* Needed for "composite" AEADs, such as RC4-HMAC-MD5 */
541 if ((EVP_CIPHER_flags(cipher) & EVP_CIPH_FLAG_AEAD_CIPHER) && 540 if ((EVP_CIPHER_flags(cipher) & EVP_CIPH_FLAG_AEAD_CIPHER) &&
diff --git a/src/lib/libssl/t1_enc.c b/src/lib/libssl/t1_enc.c
index 3e90b78468..fba582d4ad 100644
--- a/src/lib/libssl/t1_enc.c
+++ b/src/lib/libssl/t1_enc.c
@@ -530,12 +530,11 @@ tls1_change_cipher_state(SSL *s, int which)
530 530
531 if (EVP_CIPHER_mode(cipher) == EVP_CIPH_GCM_MODE) { 531 if (EVP_CIPHER_mode(cipher) == EVP_CIPH_GCM_MODE) {
532 EVP_CipherInit_ex(cipher_ctx, cipher, NULL, key, NULL, 532 EVP_CipherInit_ex(cipher_ctx, cipher, NULL, key, NULL,
533 (which & SSL3_CC_WRITE)); 533 !is_read);
534 EVP_CIPHER_CTX_ctrl(cipher_ctx, EVP_CTRL_GCM_SET_IV_FIXED, 534 EVP_CIPHER_CTX_ctrl(cipher_ctx, EVP_CTRL_GCM_SET_IV_FIXED,
535 iv_len, (unsigned char *)iv); 535 iv_len, (unsigned char *)iv);
536 } else 536 } else
537 EVP_CipherInit_ex(cipher_ctx, cipher, NULL, key, iv, 537 EVP_CipherInit_ex(cipher_ctx, cipher, NULL, key, iv, !is_read);
538 (which & SSL3_CC_WRITE));
539 538
540 /* Needed for "composite" AEADs, such as RC4-HMAC-MD5 */ 539 /* Needed for "composite" AEADs, such as RC4-HMAC-MD5 */
541 if ((EVP_CIPHER_flags(cipher) & EVP_CIPH_FLAG_AEAD_CIPHER) && 540 if ((EVP_CIPHER_flags(cipher) & EVP_CIPH_FLAG_AEAD_CIPHER) &&