diff --git a/CHANGELOG b/CHANGELOG index 0791a548..27681886 100644 --- 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 diff --git a/src/core/tcp_out.c b/src/core/tcp_out.c index ef6759a6..f79ffdbc 100644 --- a/src/core/tcp_out.c +++ b/src/core/tcp_out.c @@ -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