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