Antony Chan writes:
> fyi, i've figured out the problem.
> 
> it seems that skip uses the M_EOR flag to mark the mbufs that have
> already been run through the decryptor. i'm guessing that someone
> else is misinterpreting that flag and killing the end of the packet.
> 
> my fix is to have skip use the M_PROTO1 flag instead. seems to work
> correctly so far.

Thanks!! I've checked your fix to the FreeBSD port.

-Archie

> -----------------------------------------------------------------
> bash# diff --recursive work fixed
> diff --recursive work/skip/freebsd/skip_es.c fixed/skip/freebsd/skip_es.c
> 1769c1769
> <       m->m_flags &= ~ M_EOR;
> ---
> >       m->m_flags &= ~ M_PROTO1;
> 2233c2233
> <       outbuf->m_flags |= M_EOR | M_PKTHDR;
> ---
> >       outbuf->m_flags |= M_PROTO1 | M_PKTHDR;
> diff --recursive work/skip/freebsd/skip_if.h fixed/skip/freebsd/skip_if.h
> 107c107
> < #define       SKIP_DECRYPTED(m)       ((m)->m_flags & M_EOR)
> ---
> > #define       SKIP_DECRYPTED(m)       ((m)->m_flags & M_PROTO1)

___________________________________________________________________________
Archie Cobbs   *   Whistle Communications, Inc.  *   http://www.whistle.com

Reply via email to