Esempio n. 1
0
static void
TcpMonitorOut(u_char th_flags, struct alias_link *lnk)
{

	switch (GetStateOut(lnk)) {
	case ALIAS_TCP_STATE_NOT_CONNECTED:
		if (th_flags & TH_RST)
			SetStateOut(lnk, ALIAS_TCP_STATE_DISCONNECTED);
		else if (th_flags & TH_SYN)
			SetStateOut(lnk, ALIAS_TCP_STATE_CONNECTED);
		break;
	case ALIAS_TCP_STATE_CONNECTED:
		if (th_flags & (TH_FIN | TH_RST))
			SetStateOut(lnk, ALIAS_TCP_STATE_DISCONNECTED);
		break;
	}
}
Esempio n. 2
0
static void
TcpMonitorOut(struct ip *pip, struct alias_link *lnk)
{
    struct tcphdr *tc;

    tc = (struct tcphdr *)ip_next(pip);

    switch (GetStateOut(lnk)) {
    case ALIAS_TCP_STATE_NOT_CONNECTED:
        if (tc->th_flags & TH_RST)
            SetStateOut(lnk, ALIAS_TCP_STATE_DISCONNECTED);
        else if (tc->th_flags & TH_SYN)
            SetStateOut(lnk, ALIAS_TCP_STATE_CONNECTED);
        break;
    case ALIAS_TCP_STATE_CONNECTED:
        if (tc->th_flags & (TH_FIN | TH_RST))
            SetStateOut(lnk, ALIAS_TCP_STATE_DISCONNECTED);
        break;
    }
}