]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
Return GNUTLS_E_LARGE_PACKET instead of truncating when sending DTLS record
authorDavid Woodhouse <David.Woodhouse@intel.com>
Fri, 29 Jun 2012 23:07:49 +0000 (00:07 +0100)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Sat, 30 Jun 2012 16:36:24 +0000 (18:36 +0200)
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
lib/gnutls_record.c

index e6250f84f179e0e204c4be3e284749dc2b03a2ae..fbb84a1447b796977082e04724c52f1cc895578b 100644 (file)
@@ -384,7 +384,14 @@ _gnutls_send_int (gnutls_session_t session, content_type_t type,
      _gnutls_packet2str (type), type, (int) data_size);
 
   if (data_size > MAX_RECORD_SEND_SIZE(session))
-    send_data_size = MAX_RECORD_SEND_SIZE(session);
+    {
+      if (IS_DTLS(session))
+        {
+          gnutls_assert ();
+          return GNUTLS_E_LARGE_PACKET;
+        }
+      send_data_size = MAX_RECORD_SEND_SIZE(session);
+    }
   else
     send_data_size = data_size;