summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGES1
-rw-r--r--ssl/s2_lib.c2
-rw-r--r--ssl/s2_pkt.c6
3 files changed, 2 insertions, 7 deletions
diff --git a/CHANGES b/CHANGES
index ccb179ed83..95085ed6a7 100644
--- a/CHANGES
+++ b/CHANGES
@@ -146,6 +146,7 @@
*) Fix ssl3_pending: If the record in s->s3->rrec is not of type
SSL3_RT_APPLICATION_DATA, return 0.
+ Similarly, change ssl2_pending to return 0 if SSL_in_init(s) is true.
[Bodo Moeller]
*) Fix SSL_peek:
diff --git a/ssl/s2_lib.c b/ssl/s2_lib.c
index a89958607c..a590dbfa5c 100644
--- a/ssl/s2_lib.c
+++ b/ssl/s2_lib.c
@@ -260,7 +260,7 @@ SSL_CIPHER *ssl2_get_cipher(unsigned int u)
int ssl2_pending(SSL *s)
{
- return(s->s2->ract_data_length);
+ return SSL_in_init(s) ? 0 : s->s2->ract_data_length;
}
int ssl2_new(SSL *s)
diff --git a/ssl/s2_pkt.c b/ssl/s2_pkt.c
index 0ec9ee3393..1f119442b4 100644
--- a/ssl/s2_pkt.c
+++ b/ssl/s2_pkt.c
@@ -132,12 +132,6 @@ static int ssl2_read_internal(SSL *s, void *buf, int len, int peek)
int i;
unsigned int mac_size=0;
- if (peek)
- {
- SSLerr(SSL_F_SSL2_READ_INTERNAL, SSL_R_FIXME); /* proper implementation not yet completed */
- return -1;
- }
-
ssl2_read_again:
if (SSL_in_init(s) && !s->in_handshake)
{