A couple of months ago, I upgraded an old PowerPC machine from OpenBSD 4.2 to 4.3, and I discovered that the new version of pfctl in 4.3 would segfault when reading my old pf.conf file. Some brief poking around with GDB revealed the root of the problem, an uninitialized variable in the new configuration file parser.
If you’ve been bitten by this as well, here’s a patch with the minor change that solved the problem for me:
--- sbin/pfctl/parse.y Sat Feb 23 15:31:08 2008 +++ sbin/pfctl/parse.y Thu May 15 08:55:38 2008 @@ -3487,9 +3487,11 @@ qname : QUEUE STRING { $$.qname = $2; + $$.pqname = NULL; } | QUEUE '(' STRING ')' { $$.qname = $3; + $$.pqname = NULL; } | QUEUE '(' STRING comma STRING ')' { $$.qname = $3;
To apply this patch, perform the following (assuming that you have the OpenBSD 4.3 source code tree at /usr/src on your system):
# cd /usr/src # patch -p0 </path/to/above/patch # cd sbin/pfctl # make && make install
My ISP blocks outbound SMTP traffic, unfortunately, and I didn’t feel like setting up Sendmail relaying just so I could submit a sendbug report, so I couldn’t open a ticket for …