Lines Matching refs:ssl

79 static int setup_read_buffer(SSL *ssl) {  in setup_read_buffer()  argument
80 SSL3_BUFFER *buf = &ssl->s3->read_buffer; in setup_read_buffer()
86 size_t header_len = ssl_record_prefix_len(ssl); in setup_read_buffer()
88 if (SSL_IS_DTLS(ssl)) { in setup_read_buffer()
97 uint8_t *ssl_read_buffer(SSL *ssl) { in ssl_read_buffer() argument
98 return ssl->s3->read_buffer.buf + ssl->s3->read_buffer.offset; in ssl_read_buffer()
101 size_t ssl_read_buffer_len(const SSL *ssl) { in ssl_read_buffer_len() argument
102 return ssl->s3->read_buffer.len; in ssl_read_buffer_len()
105 static int dtls_read_buffer_next_packet(SSL *ssl) { in dtls_read_buffer_next_packet() argument
106 SSL3_BUFFER *buf = &ssl->s3->read_buffer; in dtls_read_buffer_next_packet()
116 int ret = BIO_read(ssl->rbio, buf->buf + buf->offset, (int)buf->cap); in dtls_read_buffer_next_packet()
118 ssl->rwstate = SSL_READING; in dtls_read_buffer_next_packet()
126 static int tls_read_buffer_extend_to(SSL *ssl, size_t len) { in tls_read_buffer_extend_to() argument
127 SSL3_BUFFER *buf = &ssl->s3->read_buffer; in tls_read_buffer_extend_to()
138 int ret = BIO_read(ssl->rbio, buf->buf + buf->offset + buf->len, in tls_read_buffer_extend_to()
141 ssl->rwstate = SSL_READING; in tls_read_buffer_extend_to()
152 int ssl_read_buffer_extend_to(SSL *ssl, size_t len) { in ssl_read_buffer_extend_to() argument
154 ssl_read_buffer_discard(ssl); in ssl_read_buffer_extend_to()
156 if (!setup_read_buffer(ssl)) { in ssl_read_buffer_extend_to()
160 if (ssl->rbio == NULL) { in ssl_read_buffer_extend_to()
166 if (SSL_IS_DTLS(ssl)) { in ssl_read_buffer_extend_to()
168 ret = dtls_read_buffer_next_packet(ssl); in ssl_read_buffer_extend_to()
170 ret = tls_read_buffer_extend_to(ssl, len); in ssl_read_buffer_extend_to()
176 ssl_read_buffer_discard(ssl); in ssl_read_buffer_extend_to()
181 void ssl_read_buffer_consume(SSL *ssl, size_t len) { in ssl_read_buffer_consume() argument
182 SSL3_BUFFER *buf = &ssl->s3->read_buffer; in ssl_read_buffer_consume()
191 assert(SSL_IS_DTLS(ssl) || len == 0 || buf->len == 0); in ssl_read_buffer_consume()
194 void ssl_read_buffer_discard(SSL *ssl) { in ssl_read_buffer_discard() argument
195 if (ssl->s3->read_buffer.len == 0) { in ssl_read_buffer_discard()
196 ssl_read_buffer_clear(ssl); in ssl_read_buffer_discard()
200 void ssl_read_buffer_clear(SSL *ssl) { in ssl_read_buffer_clear() argument
201 clear_buffer(&ssl->s3->read_buffer); in ssl_read_buffer_clear()
205 int ssl_write_buffer_is_pending(const SSL *ssl) { in ssl_write_buffer_is_pending() argument
206 return ssl->s3->write_buffer.len > 0; in ssl_write_buffer_is_pending()
219 int ssl_write_buffer_init(SSL *ssl, uint8_t **out_ptr, size_t max_len) { in ssl_write_buffer_init() argument
220 SSL3_BUFFER *buf = &ssl->s3->write_buffer; in ssl_write_buffer_init()
227 size_t header_len = ssl_seal_align_prefix_len(ssl); in ssl_write_buffer_init()
232 if (SSL_IS_DTLS(ssl)) { in ssl_write_buffer_init()
236 if (ssl->mode & SSL_MODE_CBC_RECORD_SPLITTING) { in ssl_write_buffer_init()
253 void ssl_write_buffer_set_len(SSL *ssl, size_t len) { in ssl_write_buffer_set_len() argument
254 SSL3_BUFFER *buf = &ssl->s3->write_buffer; in ssl_write_buffer_set_len()
262 static int tls_write_buffer_flush(SSL *ssl) { in tls_write_buffer_flush() argument
263 SSL3_BUFFER *buf = &ssl->s3->write_buffer; in tls_write_buffer_flush()
266 int ret = BIO_write(ssl->wbio, buf->buf + buf->offset, buf->len); in tls_write_buffer_flush()
268 ssl->rwstate = SSL_WRITING; in tls_write_buffer_flush()
273 ssl_write_buffer_clear(ssl); in tls_write_buffer_flush()
277 static int dtls_write_buffer_flush(SSL *ssl) { in dtls_write_buffer_flush() argument
278 SSL3_BUFFER *buf = &ssl->s3->write_buffer; in dtls_write_buffer_flush()
283 int ret = BIO_write(ssl->wbio, buf->buf + buf->offset, buf->len); in dtls_write_buffer_flush()
285 ssl->rwstate = SSL_WRITING; in dtls_write_buffer_flush()
289 ssl_write_buffer_clear(ssl); in dtls_write_buffer_flush()
292 ssl_write_buffer_clear(ssl); in dtls_write_buffer_flush()
296 int ssl_write_buffer_flush(SSL *ssl) { in ssl_write_buffer_flush() argument
297 if (ssl->wbio == NULL) { in ssl_write_buffer_flush()
302 if (SSL_IS_DTLS(ssl)) { in ssl_write_buffer_flush()
303 return dtls_write_buffer_flush(ssl); in ssl_write_buffer_flush()
305 return tls_write_buffer_flush(ssl); in ssl_write_buffer_flush()
309 void ssl_write_buffer_clear(SSL *ssl) { in ssl_write_buffer_clear() argument
310 clear_buffer(&ssl->s3->write_buffer); in ssl_write_buffer_clear()