Hi,
We are using openssl-1.0.2j. Noticed, that for http protocol everything is
working fine, but when we are using our own binary protocol ssl_pending returns
0 all the time. We are using blocking socket. Tried with SSL_CTX_set_read_ahead
set and unset.
Out test server sends back any info received from the client.
Test code looks like this:
bool write(const uint64_t* data, int count)
{
int rc = SSL_write(_ssl, data, count * sizeof(uint64_t));
return rc > 0 ? true : false;
}
bool read(uint64_t* data, int count)
{
do {
int rc = SSL_read(_ssl, data, count * sizeof(uint64_t));
if (rc <= 0) {
int err = SSL_get_error(_ssl, rc);
std::string errs = ERR_error_string(err, nullptr);
return false;
}
} while (SSL_pending(_ssl));
return true;
}
During first ssl_read we received eight bytes, and after that ssl_pending
returns 0. If we continue reading despite having no pending data, ssl_read
returns the rest of the data.
Could you please suggest what is wrong here.
Best regards,
Nadia.
--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users