Date: Tue, 03 Apr 2018 18:12:26 +0200 From: "Kristof Provost" <kp@FreeBSD.org> To: "Gleb Smirnoff" <glebius@FreeBSD.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r331546 - head/etc/rc.d Message-ID: <15CEFBCD-8875-438D-B370-3468DC637A53@FreeBSD.org> In-Reply-To: <20180403160646.GE1917@FreeBSD.org> References: <201803260936.w2Q9aMfD082758@repo.freebsd.org> <20180402220430.GD1917@FreeBSD.org> <4F543A96-C6B1-4FF0-A501-BC6C7FD3F26A@FreeBSD.org> <20180403160646.GE1917@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 3 Apr 2018, at 18:06, Gleb Smirnoff wrote:
> On Tue, Apr 03, 2018 at 08:49:09AM +0200, Kristof Provost wrote:
> K> On 3 Apr 2018, at 0:04, Gleb Smirnoff wrote:
> K> > I just want to note that this is a huge change of behaviour
> K> > of pf(4) for a user. Over a decade everybody has been used
> K> > to the difference between "reload" and "resync".
> K>
> K> There is no difference. r330105 removed the ‘$pf_program -Fnat
> -Fqueue
> K> -Frules -FSources -Finfo -FTables -Fosfp’ line, but this never
> K> actually did what the author thought it did.
> K> pfctl only ever performed the last ‘-F’, not all of them, so
> all
> K> this ever did was flush the OS fingerprints information. Clearly
> K> that’s not what was intended.
> K>
> K> pf never actually breaks existing connections, because existing
> states
> K> keep using the rule that created them, regardless of the current
> rules.
> K> It wouldn’t have broken connections with resync either. A
> K> ‘restart’ will, because ‘start’ does ‘pfctl -F all’.
> K>
> K> If the flush had actually done what was intended it’d arguably
> have
> K> been a security issue, because reloading rules would then (briefly)
> open
> K> the firewall, allowing all traffic to pass and establish state.
>
> Hmm, may be I am wrong, but back when I was actively working with pf,
> the "reload" command would break the ssh connection I am using, so
> I have taught myself to use "resync".
>
Apparently reload used to have a ‘${pf_program:-/sbin/pfctl} -Fa’,
which would have flushed everything and killed your connection.
That was removed back in 2005 (April 4th, so pretty much exactly 13
years ago), and replaced by the erroneous ‘-Fnat -Fqueue -Frules
-FSources -Finfo -FTables -Fosfp’ version.
Regards,
Kristof
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15CEFBCD-8875-438D-B370-3468DC637A53>
