View | Details | Raw Unified | Return to bug 217637
Collapse All | Expand All

(-)sys/netinet/tcp_input.c (working copy) (-1 / +5 lines)
Lines 2455-2461 Link Here
2455
   case TCPS_LAST_ACK:
2455
   case TCPS_LAST_ACK:
2456
       if (SEQ_GT(th->th_ack, tp->snd_max)) {
2456
       if (SEQ_GT(th->th_ack, tp->snd_max)) {
2457
           TCPSTAT_INC(tcps_rcvacktoomuch);
2457
           TCPSTAT_INC(tcps_rcvacktoomuch);
2458
           goto dropafterack;
2458
           // This violates RFC 793, which says an unacceptable segment
2459
           // must elicit only an empty acknowledgment segment, but likely
2460
           // indicates spoofing or a desynchronized TCP state, sending
2461
           // empty acks won't be helpful in either case
2462
           goto drop;
2459
       }
2463
       }
2460
       if ((tp->t_flags & TF_SACK_PERMIT) &&
2464
       if ((tp->t_flags & TF_SACK_PERMIT) &&
2461
           ((to.to_flags & TOF_SACK) ||
2465
           ((to.to_flags & TOF_SACK) ||

Return to bug 217637