Changeset View
Changeset View
Standalone View
Standalone View
sys/netpfil/pf/pf_norm.c
Show First 20 Lines • Show All 1,637 Lines • ▼ Show 20 Lines | pf_normalize_tcp(int dir, struct pfi_kif *kif, struct mbuf *m, int ipoff, | ||||
flags = th->th_flags; | flags = th->th_flags; | ||||
if (flags & TH_SYN) { | if (flags & TH_SYN) { | ||||
/* Illegal packet */ | /* Illegal packet */ | ||||
if (flags & TH_RST) | if (flags & TH_RST) | ||||
goto tcp_drop; | goto tcp_drop; | ||||
if (flags & TH_FIN) | if (flags & TH_FIN) | ||||
flags &= ~TH_FIN; | goto tcp_drop; | ||||
} else { | } else { | ||||
/* Illegal packet */ | /* Illegal packet */ | ||||
if (!(flags & (TH_ACK|TH_RST))) | if (!(flags & (TH_ACK|TH_RST))) | ||||
goto tcp_drop; | goto tcp_drop; | ||||
} | } | ||||
if (!(flags & TH_ACK)) { | if (!(flags & TH_ACK)) { | ||||
/* These flags are only valid if ACK is set */ | /* These flags are only valid if ACK is set */ | ||||
▲ Show 20 Lines • Show All 640 Lines • Show Last 20 Lines |