Latest update.
This commit is contained in:
@@ -771,6 +771,7 @@ int do_ssl3_write(SSL *s, int type, const unsigned char *buf,
|
||||
*/
|
||||
SSL3_BUFFER_set_buf(&s->rlayer.wbuf[0], (unsigned char *)buf);
|
||||
SSL3_BUFFER_set_offset(&s->rlayer.wbuf[0], 0);
|
||||
SSL3_BUFFER_set_app_buffer(&s->rlayer.wbuf[0], 1);
|
||||
goto wpacket_init_complete;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,8 @@ typedef struct ssl3_buffer_st {
|
||||
size_t offset;
|
||||
/* how many bytes left */
|
||||
size_t left;
|
||||
/* 'buf' is from application for KTLS */
|
||||
int app_buffer;
|
||||
} SSL3_BUFFER;
|
||||
|
||||
#define SEQ_NUM_SIZE 8
|
||||
|
||||
@@ -65,6 +65,8 @@ void dtls1_record_bitmap_update(SSL *s, DTLS1_BITMAP *bitmap);
|
||||
#define SSL3_BUFFER_add_offset(b, o) ((b)->offset += (o))
|
||||
#define SSL3_BUFFER_is_initialised(b) ((b)->buf != NULL)
|
||||
#define SSL3_BUFFER_set_default_len(b, l) ((b)->default_len = (l))
|
||||
#define SSL3_BUFFER_set_app_buffer(b, l) ((b)->app_buffer = (l))
|
||||
#define SSL3_BUFFER_is_app_buffer(b) ((b)->app_buffer)
|
||||
|
||||
void SSL3_BUFFER_clear(SSL3_BUFFER *b);
|
||||
void SSL3_BUFFER_set_data(SSL3_BUFFER *b, const unsigned char *d, size_t n);
|
||||
|
||||
@@ -164,7 +164,9 @@ int ssl3_release_write_buffer(SSL *s)
|
||||
while (pipes > 0) {
|
||||
wb = &RECORD_LAYER_get_wbuf(&s->rlayer)[pipes - 1];
|
||||
|
||||
if (s->wbio == NULL || !BIO_get_ktls_send(s->wbio))
|
||||
if (SSL3_BUFFER_is_app_buffer(wb))
|
||||
SSL3_BUFFER_set_app_buffer(wb, 0);
|
||||
else
|
||||
OPENSSL_free(wb->buf);
|
||||
wb->buf = NULL;
|
||||
pipes--;
|
||||
|
||||
Reference in New Issue
Block a user