503 |
/* First, determine if the reset is acceptable. */ |
/* First, determine if the reset is acceptable. */ |
504 |
if (pcb->state == SYN_SENT) { |
if (pcb->state == SYN_SENT) { |
505 |
if (ackno == pcb->snd_nxt) { |
if (ackno == pcb->snd_nxt) { |
506 |
acceptable = 1; |
acceptable = 1; |
507 |
} |
} |
508 |
} else { |
} else { |
509 |
/*if (TCP_SEQ_GEQ(seqno, pcb->rcv_nxt) && |
/*if (TCP_SEQ_GEQ(seqno, pcb->rcv_nxt) && |
540 |
pcb->snd_nxt, ntohl(pcb->unacked->tcphdr->seqno))); |
pcb->snd_nxt, ntohl(pcb->unacked->tcphdr->seqno))); |
541 |
if ((flags & TCP_ACK) && (flags & TCP_SYN) |
if ((flags & TCP_ACK) && (flags & TCP_SYN) |
542 |
&& ackno == ntohl(pcb->unacked->tcphdr->seqno) + 1) { |
&& ackno == ntohl(pcb->unacked->tcphdr->seqno) + 1) { |
543 |
|
pcb->snd_buf ++; |
544 |
pcb->rcv_nxt = seqno + 1; |
pcb->rcv_nxt = seqno + 1; |
545 |
pcb->lastack = ackno; |
pcb->lastack = ackno; |
546 |
pcb->snd_wnd = tcphdr->wnd; |
pcb->snd_wnd = tcphdr->wnd; |