summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortb <>2023-07-11 17:02:47 +0000
committertb <>2023-07-11 17:02:47 +0000
commit4b13710d9ba5f958b4d970ae717d178937994f6e (patch)
tree61c421dae85c6330404704532c753ffe12e4fed0
parentae481c84deba49b3a41609be1bf8a4e69e6f52d7 (diff)
downloadopenbsd-4b13710d9ba5f958b4d970ae717d178937994f6e.tar.gz
openbsd-4b13710d9ba5f958b4d970ae717d178937994f6e.tar.bz2
openbsd-4b13710d9ba5f958b4d970ae717d178937994f6e.zip
Remove old workaround for F5
F5 is well-known for needing workaround (go read RFC 8446). In this particular case, it required implementation sending CHs larger than 255 bytes to 0x0300 otherwise their server would hang. This is the same hang that required the CH padding extension which broke other implementations. The CH padding extension was removed ~6 years ago, so hopefully this kludge will no longer needed either. ok jsing
-rw-r--r--src/lib/libssl/ssl_pkt.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/src/lib/libssl/ssl_pkt.c b/src/lib/libssl/ssl_pkt.c
index 728ac141e5..2c33c45386 100644
--- a/src/lib/libssl/ssl_pkt.c
+++ b/src/lib/libssl/ssl_pkt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_pkt.c,v 1.65 2022/11/26 16:08:56 tb Exp $ */ 1/* $OpenBSD: ssl_pkt.c,v 1.66 2023/07/11 17:02:47 tb Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -536,7 +536,6 @@ do_ssl3_write(SSL *s, int type, const unsigned char *buf, unsigned int len)
536 SSL_SESSION *sess = s->session; 536 SSL_SESSION *sess = s->session;
537 int need_empty_fragment = 0; 537 int need_empty_fragment = 0;
538 size_t align, out_len; 538 size_t align, out_len;
539 uint16_t version;
540 CBB cbb; 539 CBB cbb;
541 int ret; 540 int ret;
542 541
@@ -569,16 +568,6 @@ do_ssl3_write(SSL *s, int type, const unsigned char *buf, unsigned int len)
569 return 0; 568 return 0;
570 569
571 /* 570 /*
572 * Some servers hang if initial client hello is larger than 256
573 * bytes and record version number > TLS 1.0.
574 */
575 version = s->version;
576 if (s->s3->hs.state == SSL3_ST_CW_CLNT_HELLO_B &&
577 !s->renegotiate &&
578 s->s3->hs.our_max_tls_version > TLS1_VERSION)
579 version = TLS1_VERSION;
580
581 /*
582 * Countermeasure against known-IV weakness in CBC ciphersuites 571 * Countermeasure against known-IV weakness in CBC ciphersuites
583 * (see http://www.openssl.org/~bodo/tls-cbc.txt). Note that this 572 * (see http://www.openssl.org/~bodo/tls-cbc.txt). Note that this
584 * is unnecessary for AEAD. 573 * is unnecessary for AEAD.
@@ -604,7 +593,7 @@ do_ssl3_write(SSL *s, int type, const unsigned char *buf, unsigned int len)
604 if (!CBB_init_fixed(&cbb, wb->buf + align, wb->len - align)) 593 if (!CBB_init_fixed(&cbb, wb->buf + align, wb->len - align))
605 goto err; 594 goto err;
606 595
607 tls12_record_layer_set_version(s->rl, version); 596 tls12_record_layer_set_version(s->rl, s->version);
608 597
609 if (need_empty_fragment) { 598 if (need_empty_fragment) {
610 if (!tls12_record_layer_seal_record(s->rl, type, 599 if (!tls12_record_layer_seal_record(s->rl, type,