From 58761b590ff9b66bf2debc693eb5299c09f668b7 Mon Sep 17 00:00:00 2001 From: kieranm Date: Tue, 13 Jan 2004 12:10:10 +0000 Subject: [PATCH] Fixed bug in handling of SYN_SENT, where it would move to established on an ACK or a SYN, rather than an ACK *and* a SYN. --- src/core/tcp_in.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/tcp_in.c b/src/core/tcp_in.c index ed14340f..aab4bc76 100644 --- a/src/core/tcp_in.c +++ b/src/core/tcp_in.c @@ -540,8 +540,8 @@ tcp_process(struct tcp_pcb *pcb) case SYN_SENT: LWIP_DEBUGF(TCP_INPUT_DEBUG, ("SYN-SENT: ackno %lu pcb->snd_nxt %lu unacked %lu\n", ackno, pcb->snd_nxt, ntohl(pcb->unacked->tcphdr->seqno))); - if (flags & (TCP_ACK | TCP_SYN) && - ackno == ntohl(pcb->unacked->tcphdr->seqno) + 1) { + if ((flags & TCP_ACK) && (flags & TCP_SYN) + && ackno == ntohl(pcb->unacked->tcphdr->seqno) + 1) { pcb->rcv_nxt = seqno + 1; pcb->lastack = ackno; pcb->snd_wnd = tcphdr->wnd;