TH_SYN
else if (tc->th_flags & TH_SYN)
else if (tc->th_flags & TH_SYN)
(TH_SYN) | ( (TH_ACK) & 0xff) <<8 );
if (list == f_tcpflags && set == TH_SYN && clear == TH_ACK) {
{ "syn", TH_SYN },
#define IPV6_FW_TCPF_SYN TH_SYN
case TH_SYN: /* opening */
if ((pkt->flags & TH_SYN) && IPFW_STATE_TCPCLOSED(s)) {
#define IPFW_STATE_TCPFLAGS (TH_SYN | TH_FIN | TH_RST)
#define BOTH_SYN (TH_SYN | (TH_SYN << 8))
if (flags & TH_SYN)
if (flags & TH_SYN) {
(TH_RST | TH_ACK | TH_SYN)) != TH_SYN);
send_pkt(&id, ack_rev - 1, ack_fwd, TH_SYN);
(TH_RST | TH_ACK | TH_SYN)) != TH_SYN) {
if (f & TH_SYN)
if (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) {
TH_SYN|TH_ACK, 0, s->src.mss, 0, 1, 0, NULL, NULL);
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)
else if ((th->th_flags & TH_SYN) &&
if (th->th_flags & TH_SYN)
else if ((th->th_flags & TH_SYN) &&
if (th->th_flags & TH_SYN) {
TH_SYN|TH_ACK, 0, (*state)->src.mss, 0, 1,
if (((th->th_flags & (TH_SYN|TH_ACK)) != TH_ACK) ||
(*state)->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) &&
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)
if ((th->th_flags & (TH_SYN|TH_FIN|TH_RST|TH_ACK)) != TH_ACK)
if (!(tcp->th_flags & TH_SYN) || tcphlen == sizeof(struct tcphdr))
#define TH_FLAGS (TH_FIN|TH_SYN|TH_RST|TH_ACK|TH_URG|TH_ECE|TH_CWR)
TH_SYN, /* 3, SYN_SENT */
TH_SYN|TH_ACK, /* 4, SYN_RECEIVED */
if (!(thflags & TH_SYN))
tcp_dooptions(&to, optp, optlen, (thflags & TH_SYN) != 0, th->th_ack);
if (tp->t_state == TCPS_SYN_SENT && (thflags & TH_SYN)) {
(thflags & (TH_SYN|TH_FIN|TH_RST|TH_URG|TH_ACK)) == TH_ACK &&
if (!(thflags & TH_SYN))
thflags &= ~TH_SYN;
if ((thflags & TH_SYN) &&
(thflags & (TH_SYN|TH_FIN|TH_RST|TH_URG|TH_ACK)) == TH_ACK&&
if (thflags & TH_SYN) {
thflags &= ~TH_SYN;
+ ((thflags & TH_SYN) != 0)
if (thflags & TH_SYN) {
if (thflags & TH_SYN)
if ((thflags & (TH_SYN | TH_ACK)) == TH_SYN) {
if (drop_synfin && (thflags & (TH_SYN | TH_FIN)) == (TH_SYN | TH_FIN))
if (!(thflags & TH_SYN))
if (thflags & TH_SYN)
if ((thflags & (TH_RST | TH_ACK | TH_SYN)) != TH_SYN) {
if ((thflags & (TH_RST | TH_ACK | TH_SYN)) == TH_ACK) {
if (flags & (TH_SYN | TH_FIN)) {
if (flags & TH_SYN)
if (flags & TH_SYN)
if (!(flags & TH_SYN))
KASSERT((len == 0 && (flags & (TH_SYN | TH_FIN)) == 0) ||
flags |= TH_SYN;
if ((flags & TH_SYN) && SEQ_GT(tp->snd_nxt, tp->snd_una)) {
flags &= ~TH_SYN;
if (flags & TH_SYN) {
if (report_sack || idle_cwv || (flags & (TH_RST | TH_SYN)))
((flags & TH_SYN) && !(tp->t_flags & TF_NEEDSYN)))
if (flags & TH_SYN) {
else if (flags & (TH_SYN | TH_FIN | TH_RST))
if (len || (flags & (TH_SYN|TH_FIN)) ||
th->th_flags = TH_SYN | TH_ACK;
pfr.rule.flags = TH_SYN;
pfr.rule.flagset = (TH_SYN|TH_ACK);
syn = (th->th_flags & TH_SYN);
if ((th->th_flags & TH_SYN) && nb > 40) {
if ((th->th_flags & (TH_SYN | TH_FIN | TH_RST | TH_ACK)) != TH_ACK) {
if (!(tc->th_flags & TH_SYN))
pf(TH_SYN, "SYN");