On 2024/10/05 12:11, Nick Owens wrote:
> On Sat, Sep 28, 2024 at 11:40 PM Nick Owens <misch...@offblast.org> wrote:
> >
> > hi,
> >
> > i spent today doing a little work on my prometheus (sysutils/prometheus)
> > exporter for pf. this program exports some metrics for pf. it can
> > export the top level pf stats (states, searches, etc), the loginterface
> > stats, and the drop/transmit counts for each queue.
> >
> > my personal usage of pf is pretty limited to my own home firewall, so i
> > can't really say this is battle tested, but i thought since i updated
> > it, i'd try my hand at my first ever openbsd port, so here it is :-)
> >
> > there are certainly warts, like the questionable file descriptor passing
> > and use of the 'nobody' user in the rc.d script, but feedback is
> > welcome.
> >
> > cheers,
> > nick
> >
> 
> ping
> 

  5 daemon_user="nobody"
  6 daemon_flags="-pf.fd 3"                                                   7 
                                                                          8 . 
/etc/rc.d/rc.subr
  9
 10 eval "$(typeset -f rc_start | sed -e 's/rc_start/rc_start_real/' -e 's/\    
^I//g' -e 's/\^J//g' )"
 11 rc_start(){
 12         3<>/dev/pf rc_start_real
 13 }

The FD passing in the rc-script is questionable - at the very least if
the script relies on -pf.fd 3 it should be added to daemon_command and
not overridable from rc.conf.local via flags - that eval is a bit nasty
too.

daemon_user=nobody is not allowed, it should use a distinct user.

Reply via email to