diff options
Diffstat (limited to 'main/openssl/ssl')
-rw-r--r-- | main/openssl/ssl/s3_pkt.c | 7 | ||||
-rw-r--r-- | main/openssl/ssl/ssl.h | 1 |
2 files changed, 4 insertions, 4 deletions
diff --git a/main/openssl/ssl/s3_pkt.c b/main/openssl/ssl/s3_pkt.c index 60c4f1a4..df436cf7 100644 --- a/main/openssl/ssl/s3_pkt.c +++ b/main/openssl/ssl/s3_pkt.c @@ -632,9 +632,6 @@ int ssl3_write_bytes(SSL *s, int type, const void *buf_, int len) !s->s3->record_split_done) { fragment = 1; - /* The first byte will be in its own record, so we - * can write an extra byte. */ - max++; /* record_split_done records that the splitting has * been done in case we hit an SSL_WANT_WRITE condition. * In that case, we don't need to do the split again. */ @@ -650,6 +647,8 @@ int ssl3_write_bytes(SSL *s, int type, const void *buf_, int len) if (i <= 0) { s->s3->wnum=tot; + /* Try to write the fragment next time. */ + s->s3->record_split_done = 0; return i; } @@ -701,7 +700,7 @@ static int do_ssl3_write(SSL *s, int type, const unsigned char *buf, /* if it went, fall through and send more stuff */ } - if (wb->buf == NULL) + if (wb->buf == NULL) if (!ssl3_setup_write_buffer(s)) return -1; diff --git a/main/openssl/ssl/ssl.h b/main/openssl/ssl/ssl.h index a85841b3..7566f2df 100644 --- a/main/openssl/ssl/ssl.h +++ b/main/openssl/ssl/ssl.h @@ -669,6 +669,7 @@ struct ssl_session_st * and Finished. This mode enables full-handshakes to 'complete' in * one RTT. */ #define SSL_MODE_HANDSHAKE_CUTTHROUGH 0x00000080L + /* When set, TLS 1.0 and SSLv3, multi-byte, CBC records will be split in two: * the first record will contain a single byte and the second will contain the * rest of the bytes. This effectively randomises the IV and prevents BEAST |