diff --git a/CHANGELOG b/CHANGELOG index ce1c1f18..1608863f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -75,6 +75,10 @@ HISTORY ++ Bugfixes: + 2009-03-27 Kieran Mansley + * tcp_out.c set window correctly on probes (correcting change made + yesterday) + 2009-03-26 Kieran Mansley * tcp.c, tcp_in.c, tcp.h: add tcp_abandon() to cope with dropping connections where no reset required (bug #25622) diff --git a/src/core/tcp_out.c b/src/core/tcp_out.c index cf12a23c..9f2e7f5e 100644 --- a/src/core/tcp_out.c +++ b/src/core/tcp_out.c @@ -831,7 +831,7 @@ tcp_keepalive(struct tcp_pcb *pcb) tcphdr->seqno = htonl(pcb->snd_nxt - 1); tcphdr->ackno = htonl(pcb->rcv_nxt); TCPH_FLAGS_SET(tcphdr, TCP_ACK); - tcphdr->wnd = htons(pcb->rcv_ann_wnd + 1); + tcphdr->wnd = htons(pcb->rcv_ann_wnd); tcphdr->urgp = 0; TCPH_HDRLEN_SET(tcphdr, 5); @@ -914,7 +914,7 @@ tcp_zero_window_probe(struct tcp_pcb *pcb) tcphdr->seqno = seg->tcphdr->seqno; tcphdr->ackno = htonl(pcb->rcv_nxt); TCPH_FLAGS_SET(tcphdr, TCP_ACK); - tcphdr->wnd = htons(pcb->rcv_ann_wnd + 1); + tcphdr->wnd = htons(pcb->rcv_ann_wnd); tcphdr->urgp = 0; TCPH_HDRLEN_SET(tcphdr, 5);