On Tue, Jun 21, 2011 at 9:42 PM, Tobias Weingartner <weing...@tepid.org>
wrote:
> On Tue, Jun 21, 2011 at 11:52 AM, Stefan Rinkes
> <stefan.rin...@googlemail.com> wrote:
>>
>> while playing around with carp and pfsync I spotted
>> two minor bugs.
>>
>> 1. Not all pfstate flags are synced, cause pfsync uses
>>    u_int8_t, while pf uses u_int16_t for state_flags.
>>    Currently that means PFSTATE_SCRUB_TCP flags don't
>>    get synced.
>>
>> retrieving revision 1.333
>> diff -u -p -r1.333 pfvar.h
>> --- sys/net/pfvar.h     20 Jun 2011 19:03:41 -0000      1.333
>> +++ sys/net/pfvar.h     21 Jun 2011 17:33:31 -0000
>> @@ -892,13 +892,13 @@ struct pfsync_state {
>>        u_int8_t         proto;
>>        u_int8_t         direction;
>>        u_int8_t         log;
>> -       u_int8_t         state_flags;
>> +       u_int16_t        state_flags;
>>        u_int8_t         timeout;
>>        u_int8_t         sync_flags;
>>        u_int8_t         updates;
>>        u_int8_t         min_ttl;
>>        u_int8_t         set_tos;
>> -       u_int8_t         pad[4];
>> +       u_int8_t         pad[3];
>>  } __packed;
>
> Does this change the on-wire format?  Also, would the state_flags need to
> have htons/ntohs done to it?
>
> -Toby.
>

Hi,

I tested this diff quite carefully and used it for over a week now and
checked that all
state_flags are synced by adding a new flag which triggered a printf in pf(4)
:)

No issues/crashes have been seen so far.

Stefan

Reply via email to