Avoid unnecessary fragmentation.
authorMichael Tuexen <tuexen@fh-muenster.de>
Mon, 18 Mar 2013 14:30:38 +0000 (14:30 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Mon, 18 Mar 2013 14:33:27 +0000 (14:33 +0000)
(cherry picked from commit 80ccc66d7eedb2d06050130c77c482ae1584199a)

ssl/d1_both.c

index 4481c550511237a3a1be1f345975c827fa1077b8..445470bb4367491785ab37260d24f153a71ed6f5 100644 (file)
@@ -313,9 +313,10 @@ int dtls1_do_write(SSL *s, int type)
                                s->init_off -= DTLS1_HM_HEADER_LENGTH;
                                s->init_num += DTLS1_HM_HEADER_LENGTH;
 
-                               /* write atleast DTLS1_HM_HEADER_LENGTH bytes */
-                               if ( len <= DTLS1_HM_HEADER_LENGTH)  
-                                       len += DTLS1_HM_HEADER_LENGTH;
+                               if ( s->init_num > curr_mtu)
+                                       len = curr_mtu;
+                               else
+                                       len = s->init_num;
                                }
 
                        dtls1_fix_message_header(s, frag_off,