summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2014-08-23 17:38:49 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2014-08-23 17:38:49 +0200
commitdbbf49881f9f6fb53c366921fa77f6389618eb4b (patch)
treed120f45c53accd3f94541f027621a98510a85617
parent7ff0ed7638969ef1237f54a25301785e327688ad (diff)
downloadgnutls-dbbf49881f9f6fb53c366921fa77f6389618eb4b.tar.gz
record: in DTLS discard only messages that cause unexpected packet errors
-rw-r--r--lib/gnutls_record.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/gnutls_record.c b/lib/gnutls_record.c
index 5c1aeaea0e..475c8fc9a8 100644
--- a/lib/gnutls_record.c
+++ b/lib/gnutls_record.c
@@ -1282,7 +1282,11 @@ recv_error:
return 0;
}
- if (IS_DTLS(session))
+ if (IS_DTLS(session) && (ret == GNUTLS_E_DECRYPTION_FAILED ||
+ ret == GNUTLS_E_UNSUPPORTED_VERSION_PACKET ||
+ ret == GNUTLS_E_UNEXPECTED_PACKET_LENGTH ||
+ ret == GNUTLS_E_UNEXPECTED_PACKET ||
+ ret == GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET))
{
goto discard;
}