On Friday 15 February 2002 06:15 pm, I was heard to blurt out without 
thinking:
> default:
>   if (q->state == TH_SYN | TH_ACK)
>     /*
>      * Both forward SYN and SYN+ACK packets have been seen,
>      * without a reverse SYN+ACK packet in between, due to a
>      * buggy rule set, or bogus traffic from the originating host.
>      */
>     if (fw_verbose) {
>       log(LOG_SECURITY | LOG_NOTICE,
>         "ipfw: Invalid stateful TCP rule (from %d): Middle packet "
>         "missing from three-way TCP handshake.",
>         q->parent->fw_number);
>       return NULL;    /* Drop the packet as if not matched */
>     }

Heh, I MEANT to say:

 default:
            if (q->state == (TH_SYN | TH_ACK)) {
                /*
                 * Both forward SYN and ACK packets have been seen, without
                 * a reverse SYN+ACK packet in between, likely due to either
                 * a buggy rule set, or bogus traffic.
                 */
                if (fw_verbose) {
                    log(LOG_SECURITY | LOG_NOTICE,
                        "ipfw: Invalid stateful TCP rule (from %d): Middle "
                        "packet missing from three-way TCP handshake.",
                        q->rule->fw_number);
                    return NULL;        /* Drop it as if not matched */
                }
            }

There.  I don't know why I was calling the third packet a SYN+ACK in the 
comments.  The original also was missing some parenthesis, and used an 
incorrect field name (q->parent->fw_number instead of q-.rule->fw_number).

Sorry.  Comes from leaping before looking, I supppose.

Aaron out.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to