Hello there .. I am in the process of building a new OpenBSD 4.3 system in parallel to my existing 4.1 system and ran into a little glitch with regards to migrating my pf rule set to the new system.
It seems that in 4.3, macros that expand to ports with variables doesn't work anymore. I get a syntax error. I've been using this since about 3.6, so didn't expect it to break. I've stripped the firewall config down to as basic as I can make it, to reflect the behavior: --begin firewall config-- external = fxp5 ssh = "22" smtp = "25" penguin = "216.39.174.25" penguin_ports = "{" $ssh $smtp "}" pass in quick on $external \ proto tcp \ from any \ to $penguin \ port $penguin_ports \ flags S/SA \ keep state --end firewall config-- (my original firewall config is about 370 lines, this is just the bare minimum to repro the behavior) If I try to validate the config with pfctl under 4.1 it validates no problem, if I try under 4.3 I get: pf.conf_small:5: syntax error pf.conf_small:10: macro 'penguin_ports' not defined pf.conf_small:11: syntax error I have other macros that have variables in them, which expand to IP addresses instead of port numbers and those validate no problem in 4.3. I looked at the web-based changelog of 4.1->4.2 and 4.2->4.3 but didn't notice anything that might trigger this. I also re-checked the FAQ and from what I can tell what I am doing is still valid. any ideas? thanks nate