projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
.travis.yml: introduce concept of "extended tests"
[openssl.git]
/
ssl
/
bio_ssl.c
diff --git
a/ssl/bio_ssl.c
b/ssl/bio_ssl.c
index d64451c7045a8aca294696d53d25f12438b8829e..3d380c83fb6078df5f1a63164a42721539ce93ee 100644
(file)
--- a/
ssl/bio_ssl.c
+++ b/
ssl/bio_ssl.c
@@
-28,7
+28,7
@@
typedef struct bio_ssl_st {
/* re-negotiate every time the total number of bytes is this size */
int num_renegotiates;
unsigned long renegotiate_count;
/* 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;
unsigned long renegotiate_timeout;
unsigned long last_time;
} BIO_SSL;
@@
-103,17
+103,10
@@
static int ssl_read(BIO *b, char *buf, size_t size, size_t *readbytes)
BIO_clear_retry_flags(b);
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_internal(ssl, buf, size, readbytes);
switch (SSL_get_error(ssl, ret)) {
case SSL_ERROR_NONE:
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) {
if (sb->renegotiate_count > 0) {
sb->byte_count += *readbytes;
if (sb->byte_count > sb->renegotiate_count) {
@@
-179,17
+172,12
@@
static int ssl_write(BIO *b, const char *buf, size_t size, size_t *written)
BIO_clear_retry_flags(b);
BIO_clear_retry_flags(b);
- if (size > INT_MAX)
- size = INT_MAX;
-
- ret = SSL_write(ssl, buf, size);
+ ret = ssl_write_internal(ssl, buf, size, written);
switch (SSL_get_error(ssl, ret)) {
case SSL_ERROR_NONE:
switch (SSL_get_error(ssl, ret)) {
case SSL_ERROR_NONE:
- if (ret <= 0)
- break;
if (bs->renegotiate_count > 0) {
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++;
if (bs->byte_count > bs->renegotiate_count) {
bs->byte_count = 0;
bs->num_renegotiates++;
@@
-229,11
+217,6
@@
static int ssl_write(BIO *b, const char *buf, size_t size, size_t *written)
BIO_set_retry_reason(b, retry_reason);
BIO_set_retry_reason(b, retry_reason);
- if (ret > 0) {
- *written = ret;
- ret = 1;
- }
-
return ret;
}
return ret;
}