Replies: 5 comments 1 reply
-
|
Beta Was this translation helpful? Give feedback.
-
@mattcaswell Any idea here what could be happening? |
Beta Was this translation helpful? Give feedback.
-
FWIW, I've tried the example attached and on the latest openssl, the issue doesn't reproduce for me |
Beta Was this translation helpful? Give feedback.
-
We,ve moved onto the openssl-3.2.1 that i build from releases and the error message updated to
Edit:
The error still stands. however now I know that it cant decode even plaintext stuff after first call. right here i Used -tls1_2 command Openssl command output:
my server output:
No data manipulation is done on data, it was recieved using recv. Nothing is written to a socket, full message received. Still decoding is not done. The lowest point where I get error seems to be at ssl/record/methods/tls_common.c:982
There is a version mismatch. Unfortunately, that's all I can provide. I beg for your help. I'm losing it... |
Beta Was this translation helpful? Give feedback.
-
Ok @t8m, sorry for pinging, I seem to have found the issue, and need a bit of clarification. The problem seemed to be that for safety’s sake, the library I used added, zeroes at the end of the data read from the socket. And passing it into BIO, then SSL_read. Seems to fail if there is a lot of them (zeroes). When I stripped zeroes, it was able to decode all messages. no matter how much. Is this desired behaviour? Because it doesn't seem so, why on earth then i need the data length then?
is not decrypted in any way
On every read I still get ERROR_WANT_READ though. |
Beta Was this translation helpful? Give feedback.
-
this gives me output like this:
which is right connection headers for http2 PRI *HTTP2...
but when its run on second and all later "frames"
The decrypted data is empty, BIO_cntl tells that there is still data in rbio, but less then when writing to that rbio, calling BIO_reset didn't change anything and BIO_should_read is also false.
I am at a loss, all frames starts with 17 3 3 0 so this should be one message at a time.
Edit: The bio is BIO_s_mem as already mentioned, and I've read almost everything that's connected to BIO and SSL_read, but I'm not very good in english so, if its possible, I ask you for explanation of this
Edit 2:
Beta Was this translation helpful? Give feedback.
All reactions