You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a BIO pair has known NN bytes available from (wolfSSL_BIO_pending) it may still need two-pass wolfSSL_BIO_read to get all bytes due to ring buffer, i.e, the first read may be short, then the 2nd read will get the remainder.
This is an implementation detail as wolfSSL_BIO_BIO_read uses wolfSSL_BIO_nread0 under the cover and does not perform wrap around (i.e it does only 1 x XMEMCPY).
This is different behaviour from OpenSSL where the BIO_read on a BIO pair will do wrap around.
(The OpenSSL nread behaviour is the same as wolfSSL's nread behaviour). OpenSSL uses two implementations - a BIO_read that does wrap around(and provides all bytes in one pass) and a BIO_nread that does not do wrap around.
The text was updated successfully, but these errors were encountered:
Version
master
Description
When a BIO pair has known NN bytes available from (
wolfSSL_BIO_pending)
it may still need two-passwolfSSL_BIO_read
to get all bytes due to ring buffer, i.e, the first read may be short, then the 2nd read will get the remainder.This is an implementation detail as
wolfSSL_BIO_BIO_read
useswolfSSL_BIO_nread0
under the cover and does not perform wrap around (i.e it does only 1 xXMEMCPY
).This is different behaviour from OpenSSL where the BIO_read on a BIO pair will do wrap around.
(The OpenSSL nread behaviour is the same as wolfSSL's nread behaviour). OpenSSL uses two implementations - a BIO_read that does wrap around(and provides all bytes in one pass) and a BIO_nread that does not do wrap around.
The text was updated successfully, but these errors were encountered: