* Version 2.99.0 (unreleased)
+** libgnutls: gnutls_recv() return GNUTLS_E_PREMATURE_TERMINATION
+on unexpected EOF, instead of GNUTLS_E_UNEXPECTED_PACKET_LENGTH.
+
** libgnutls: Added GCM mode (interoperates with tls.secg.org)
** libgnutls-extra: Inner application extension was removed.
GNUTLS_E_DH_PRIME_UNACCEPTABLE, 1),
ERROR_ENTRY (N_("A TLS packet with unexpected length was received."),
GNUTLS_E_UNEXPECTED_PACKET_LENGTH, 1),
+ ERROR_ENTRY (N_("A TLS connection was non-properly terminated."),
+ GNUTLS_E_PREMATURE_TERMINATION, 1),
ERROR_ENTRY (N_
("The specified session has been invalidated for some reason."),
GNUTLS_E_INVALID_SESSION, 1),
return 0; /* we were expecting close notify */
}
session_unresumable (session);
- gnutls_assert ();
+ gnutls_assert();
+
+ if (ret == 0)
+ return GNUTLS_E_PREMATURE_TERMINATION;
+ else
return GNUTLS_E_UNEXPECTED_PACKET_LENGTH;
}
#define GNUTLS_E_SAFE_RENEGOTIATION_FAILED -107
#define GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED -108
#define GNUTLS_E_UNKNOWN_SRP_USERNAME -109
+#define GNUTLS_E_PREMATURE_TERMINATION -110
#define GNUTLS_E_BASE64_ENCODING_ERROR -201
#define GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY -202 /* obsolete */