openssl/crypto/bio
Richard Levitte 1dbf453773 DESERIALIZER: Make OSSL_DESERIALIZER_from_{bio,fp} use BIO_tell() / BIO_seek()
Depending on the BIO used, using BIO_reset() may lead to "interesting"
results.  For example, a BIO_f_buffer() on top of another BIO that
handles BIO_reset() as a BIO_seek(bio, 0), the deserialization process
may find itself with a file that's rewound more than expected.

Therefore, OSSL_DESERIALIZER_from_{bio,fp}'s behaviour is changed to
rely purely on BIO_tell() / BIO_seek(), and since BIO_s_mem() is used
internally, it's changed to handle BIO_tell() and BIO_seek() better.

This does currently mean that OSSL_DESERIALIZER can't be easily used
with streams that don't support BIO_tell() / BIO_seek().

Fixes #12541

Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/12544)
2020-08-01 11:51:20 +10:00
..
b_addr.c
b_dump.c
b_print.c Update copyright year 2020-06-04 14:33:57 +01:00
b_sock2.c
b_sock.c Improve BIO_socket_wait(), BIO_wait(), BIO_connect_retry(), and their docs 2020-06-16 18:51:39 +02:00
bf_buff.c
bf_lbuf.c
bf_nbio.c
bf_null.c
bf_prefix.c
bio_cb.c
bio_err.c
bio_lib.c Improve BIO_socket_wait(), BIO_wait(), BIO_connect_retry(), and their docs 2020-06-16 18:51:39 +02:00
bio_local.h
bio_meth.c
bss_acpt.c Add OPENSSL_strdup failure check to cpt_ctrl() in bss_acpt.c 2020-06-16 18:51:39 +02:00
bss_bio.c
bss_conn.c Fix err checking and mem leaks of BIO_set_conn_port and BIO_set_conn_address 2020-06-16 18:51:39 +02:00
bss_dgram.c
bss_fd.c
bss_file.c
bss_log.c
bss_mem.c DESERIALIZER: Make OSSL_DESERIALIZER_from_{bio,fp} use BIO_tell() / BIO_seek() 2020-08-01 11:51:20 +10:00
bss_null.c
bss_sock.c kTLS: add support for AES_CCM128 and AES_GCM256 2020-06-08 11:13:52 +01:00
build.info