/* re-negotiate every time the total number of bytes is this size */
int num_renegotiates;
unsigned long renegotiate_count;
- unsigned long byte_count;
+ size_t byte_count;
unsigned long renegotiate_timeout;
unsigned long last_time;
} BIO_SSL;
BIO_clear_retry_flags(b);
- if (size > INT_MAX)
- size = INT_MAX;
-
- ret = SSL_read(ssl, buf, size);
- if (ret > 0)
- *readbytes = ret;
+ ret = SSL_read_ex(ssl, buf, size, readbytes);
switch (SSL_get_error(ssl, ret)) {
case SSL_ERROR_NONE:
- if (ret <= 0)
- break;
if (sb->renegotiate_count > 0) {
sb->byte_count += *readbytes;
if (sb->byte_count > sb->renegotiate_count) {
BIO_clear_retry_flags(b);
- if (size > INT_MAX)
- size = INT_MAX;
-
- ret = SSL_write(ssl, buf, size);
+ ret = SSL_write_ex(ssl, buf, size, written);
switch (SSL_get_error(ssl, ret)) {
case SSL_ERROR_NONE:
- if (ret <= 0)
- break;
if (bs->renegotiate_count > 0) {
- bs->byte_count += ret;
+ bs->byte_count += *written;
if (bs->byte_count > bs->renegotiate_count) {
bs->byte_count = 0;
bs->num_renegotiates++;
BIO_set_retry_reason(b, retry_reason);
- if (ret > 0) {
- *written = ret;
- ret = 1;
- }
-
return ret;
}