]> rtime.felk.cvut.cz Git - pes-rpp/rpp-lwip.git/commitdiff
fixed bug #35945: SYN packet should provide the recv MSS not the send MSS
authorgoldsimon <goldsimon@gmx.de>
Tue, 27 Mar 2012 18:18:23 +0000 (20:18 +0200)
committergoldsimon <goldsimon@gmx.de>
Tue, 27 Mar 2012 18:18:23 +0000 (20:18 +0200)
CHANGELOG
src/core/tcp_out.c

index 0791a54870ce30c1306e5dd474bff7ee69d9f324..27681886dd587a25c0e4a3b366e2464905e7f46c 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -80,6 +80,10 @@ HISTORY
 
  ++ Bugfixes:
 
+  2012-03-27: Simon Goldschmidt (patch by Mason)
+  * tcp_out.c: fixed bug #35945: SYN packet should provide the recv MSS not the
+    send MSS
+
   2012-03-25: Simon Goldschmidt
   * api_msg.c: Fixed bug #35817: do_connect() invalidly signals op_completed
     for UDP/RAW with LWIP_TCPIP_CORE_LOCKING==1
index ef6759a6f670275367613dd282719e2074d65aa9..f79ffdbc9feab4a3fd56ef552994e30f3a253ed5 100644 (file)
@@ -1071,7 +1071,7 @@ tcp_output_segment(struct tcp_seg *seg, struct tcp_pcb *pcb)
      packets, so ignore it here */
   opts = (u32_t *)(void *)(seg->tcphdr + 1);
   if (seg->flags & TF_SEG_OPTS_MSS) {
-    *opts = TCP_BUILD_MSS_OPTION(pcb->mss);
+    *opts = TCP_BUILD_MSS_OPTION(tcp_eff_send_mss(TCP_MSS, &pcb->local_ip, &pcb->remote_ip, PCB_ISIPV6(pcb)));
     opts += 1;
   }
 #if LWIP_TCP_TIMESTAMPS