Wietse Venema:
> Noel Jones:
> > With postfix-2.9-RC2 on FreeBSD 8.1
> > 
> > I assume the "Operation not permitted" message is an artifact of
> > writing to a disconnected socket or such and nothing to worry
> > about? Only happens on a small percentage of connections rejected
> > by postscreen.
> 
> 
> Network writes can fail for all kinds of reasons, and therefore
> postscreen reports only unusual errors. EPERM After writing to a
> socket is unusual, because UNIX systems don't change read/write
> permissions *after* a file handle is created.

Apparently, FreeBSD packet filters can return an EPERM error
when a packet does not match a valid state.

Citing from http://osdir.com/ml/freebsd-bugs/2006-04/msg00309.html:

    One explanation why you'd see EPERM is that in FreeBSD, the
    pfil wrapper simply returns pf_test()'s return value. This is
    either PF_PASS (0) or PF_DROP (1), and 1 is also the value of
    EPERM, by coincidence.

    On OpenBSD and NetBSD, the return value PF_DROP of pf_test()
    is mapped to errno 65 EHOSTUNREACH, as that is one existing
    errno that most network related syscalls that can now additionally
    fail due to pf blocking can return otherwise already (according
    to their individual man pages).

So that could explain the EPERM (which has errno of 1).

            Wietse

Reply via email to