summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2001-10-20 15:44:21 +0000
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2001-10-20 15:44:21 +0000
commitab63f9fa110d4bb5f46a2903ee124c2116143be7 (patch)
tree4e13b86ebc41c136b9051225cad8713545c0754e
parent0a20329f87f77f83ea70d76ada127ad4cd22b6b5 (diff)
downloadgnutls-ab63f9fa110d4bb5f46a2903ee124c2116143be7.tar.gz
peeked data now stays also in handshake
-rw-r--r--lib/gnutls_buffers.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/gnutls_buffers.c b/lib/gnutls_buffers.c
index 74d75e0e27..e84d74f8b4 100644
--- a/lib/gnutls_buffers.c
+++ b/lib/gnutls_buffers.c
@@ -243,9 +243,11 @@ ssize_t _gnutls_read_buffered( int fd, GNUTLS_STATE state, opaque **iptr, size_t
}
/* leave peeked data to the kernel space only if application data
- * is received and we don't have any peeked data in gnutls state.
+ * (NEW: or handshake data) is received and we don't have any peeked
+ * data in gnutls state.
*/
- if (recv_type != GNUTLS_APPLICATION_DATA && state->gnutls_internals.have_peeked_data==0)
+ if ( (recv_type != GNUTLS_APPLICATION_DATA && recv_type != GNUTLS_HANDSHAKE)
+ && state->gnutls_internals.have_peeked_data==0)
recvlowat = 0;
buf = state->gnutls_internals.recv_buffer_data;