Hi folks,

On 11/28/20 5:13 PM, Stuart Henderson wrote:

It is easy enough to add the filename, but adding that to the log
might suggest to users that things are setup to handle multiple pflogd
processes and that is not the case.

Various parts of the system would need changing in order to handle this.
Currently there is no way to distinguish between multiple "priv" processes
as the process title doesn't show the command-line flags. In order to
support multiple pflogd processes this would need adding, then the rc.d
scripts and default newsyslog.conf entry would need updating to use them.


I have to admit that this was my fault. There were 2 pflogd writing to
/var/log/pflog, AFAICS. The other 2 were not even started.

To support 4 pflog interfaces I had to create 4 symlinks in /sbin

        ln -s pflogd /sbin/pflogd0
        ln -s pflogd /sbin/pflogd1
        ln -s pflogd /sbin/pflogd2
        ln -s pflogd /sbin/pflogd3

and to create 4 rc scripts in /etc/rc.d, e.g /etc/rc.d/pflogd2:

        #!/bin/ksh

        daemon="/sbin/pflogd2"

        . /etc/rc.d/rc.subr

        pexp="pflogd2: \[priv\]"

        rc_pre() {
                if pfctl -si | grep -q Enabled; then
                        ifconfig pflog2 create
                        if ifconfig pflog2; then
                                ifconfig pflog2 up
                        else
                                return 1
                        fi
                else
                        return 1
                fi
        }

        rc_cmd $1

Each pflogd had to be configured accordingly using rcctl, e.g.

        rcctl enable pflogd2
        rcctl set pflogd2 flags "-i pflog2 -f /var/log/pflog2"
        rcctl start pflogd2

(Be careful, if you disable and enable the service, then you have to
set the flags again.)

Finally I had to add the new log files to newsyslog.conf:

/var/log/pflog0         600     7       65536   24      ZB "pkill -HUP -u root -U 
root -t - -x pflogd0"
/var/log/pflog1         600     7       65536   24      ZB "pkill -HUP -u root -U 
root -t - -x pflogd1"
/var/log/pflog2         600     7       65536   24      ZB "pkill -HUP -u root -U 
root -t - -x pflogd2"
/var/log/pflog3         600     7       65536   24      ZB "pkill -HUP -u root -U 
root -t - -x pflogd3"


Hope this is helpful to anybody.


Regards
Harri

Reply via email to