TH_SYN
if (f & TH_SYN)
if (ctx.th->th_flags & TH_SYN)
if ((th->th_flags & (TH_SYN|TH_ACK)) == TH_SYN &&
if (th->th_flags & TH_SYN) {
if (pd->proto == IPPROTO_TCP && (th->th_flags & (TH_SYN|TH_ACK)) ==
TH_SYN && r->keep_state == PF_STATE_SYNPROXY && pd->dir == PF_IN) {
TH_SYN|TH_ACK, 0, st->src.mss, 0, 1, 0, pd->rdomain,
if (src->wscale && dst->wscale && !(th->th_flags & TH_SYN)) {
if (th->th_flags & TH_SYN) {
if (th->th_flags & TH_SYN)
if (th->th_flags & TH_SYN)
if (th->th_flags & TH_SYN)
if (th->th_flags & TH_SYN) {
TH_SYN|TH_ACK, 0, (*stp)->src.mss, 0, 1,
if (((th->th_flags & (TH_SYN|TH_ACK)) != TH_ACK) ||
(*stp)->dst.seqhi, 0, TH_SYN, 0,
} else if (((th->th_flags & (TH_SYN|TH_ACK)) !=
(TH_SYN|TH_ACK)) ||
if ((th->th_flags & (TH_SYN|TH_ACK)) != TH_SYN)
TH_SYN|TH_ACK, 0, s->src.mss, 0, 1, 0, pd->rdomain, NULL);
if ((pd->hdr.tcp.th_flags & (TH_SYN|TH_ACK)) == TH_SYN) {
(pd.hdr.tcp.th_flags & (TH_SYN|TH_ACK)) == TH_SYN &&
(pd.hdr.tcp.th_flags & (TH_SYN|TH_ACK|TH_RST)) == TH_ACK &&
if (flags & TH_SYN) {
if ((th->th_flags & TH_SYN) == 0)
|| pd->p_len > 0 || (th->th_flags & TH_SYN)) &&
if ((tcp->th_flags & (TH_SYN|TH_ACK)) != TH_SYN)
iss, ntohl(pd->hdr.tcp.th_seq) + 1, TH_SYN|TH_ACK, 0, mss,
*pd->dport, seq, 0, TH_SYN, wscale, mss, pd->ttl, 0,
if ((th->th_flags & TH_SYN) == 0)
if ((th->th_flags & (TH_SYN|TH_FIN|TH_RST|TH_ACK)) != TH_ACK)
TH_RST|TH_ACK, 0, TH_SYN, TH_SYN|TH_ACK,
if (tiflags & TH_SYN) {
if ((tiflags & TH_SYN) == 0)
if (((tiflags & (TH_SYN|TH_ACK)) == TH_SYN) &&
if (tiflags & TH_SYN) {
tiflags &= ~TH_SYN;
if (tiflags & TH_SYN)
if (tiflags & TH_SYN)
if (!(th->th_flags & TH_SYN))
if (!(th->th_flags & TH_SYN))
if (!(th->th_flags & TH_SYN))
if (!(th->th_flags & TH_SYN))
th->th_flags = TH_SYN|TH_ACK;
(th->th_flags & TH_SYN) == 0) {
if ((tiflags & TH_SYN) == 0)
switch (tiflags & (TH_RST|TH_SYN|TH_ACK)) {
case TH_SYN|TH_ACK|TH_RST:
case TH_SYN|TH_RST:
case TH_SYN|TH_ACK:
case TH_SYN:
(tiflags & (TH_SYN|TH_FIN|TH_RST|TH_URG|TH_ECE|TH_CWR|TH_ACK)) == TH_ACK &&
(tiflags & (TH_SYN|TH_FIN|TH_RST|TH_URG|TH_ACK)) == TH_ACK &&
!(flags & (TH_SYN|TH_RST|TH_FIN))) {
if (flags & (TH_SYN|TH_RST))
if (flags & TH_SYN) {
((flags & (TH_SYN|TH_ACK)) == TH_SYN ||
else if (flags & (TH_SYN|TH_FIN|TH_RST))
if (len || (flags & (TH_SYN|TH_FIN)) ||
if ((flags & (TH_SYN|TH_ACK)) == TH_SYN)
(flags & (TH_SYN|TH_ACK)) == (TH_SYN|TH_ACK))
if (flags & (TH_SYN|TH_FIN)) {
if (flags & TH_SYN)
(pr->flags != TH_SYN || pr->flagset != (TH_SYN | TH_ACK) )) {
pfr.rule.flags = TH_SYN;
pfr.rule.flagset = (TH_SYN|TH_ACK);
if ((th->th_flags & TH_SYN) == 0)
rio.rule.flags = TH_SYN;
rio.rule.flagset = (TH_SYN|TH_ACK);
if (flags & TH_SYN) putchar('S');
if ((flags = tp->th_flags) & (TH_SYN|TH_FIN|TH_RST|TH_PUSH|
if (flags & TH_SYN)
if (!th->nxt || flags & TH_SYN) {
if (oflag && (flags & (TH_SYN|TH_ACK)) == TH_SYN) {
if (vflag > 1 || length > 0 || flags & (TH_SYN | TH_FIN | TH_RST))
pfr.rule.flags = (proto == IPPROTO_TCP ? TH_SYN : 0);
(TH_SYN|TH_ACK|TH_FIN|TH_RST) : 0);
pf(TH_SYN, "SYN");