CIDR Networks in recursive Macros

2005-02-17 Thread Aaron Spanik

I couldn't find this issue in any of the documentation I could find, so
I thought I'd ask here.

Macros in pf can be defined recursively, but it doesn't seem to work
when the macros that are being expanded are CIDR-style network
specifications.

For instance, while this works:

wibble = { 192.168.1/24 192.168.4/24 }

This does not (fails with a syntax error when trying to load):

muh = 192.168.1/24
fuh = 192.168.4/24
wibble = { $muh $fuh }

I've tried it with commas, with one macro and one literal, with
non-abbreviated style (i.e. 192.168.1.0/24), etc., but nothing seems to
work.

Recursive macros work normally with individual hosts, but not netblocks.

Is this a feature or a bug?

/a

-- 
Aaron Spanik
Senior Unix Systems Administrator, Computing Services
Acadia University  Wolfville, NS  Canada  B4P 2R6
phone: (902) 585-1121  fax: (902) 585-1066


Re: CIDR Networks in recursive Macros

2005-02-17 Thread Jason Opperisano
On Thu, 2005-02-17 at 10:21, Aaron Spanik wrote:
 I couldn't find this issue in any of the documentation I could find, so
 I thought I'd ask here.
 
 Macros in pf can be defined recursively, but it doesn't seem to work
 when the macros that are being expanded are CIDR-style network
 specifications.
 
 For instance, while this works:
 
 wibble = { 192.168.1/24 192.168.4/24 }
 
 This does not (fails with a syntax error when trying to load):
 
 muh = 192.168.1/24
 fuh = 192.168.4/24
 wibble = { $muh $fuh }
 
 I've tried it with commas, with one macro and one literal, with
 non-abbreviated style (i.e. 192.168.1.0/24), etc., but nothing seems to
 work.
 
 Recursive macros work normally with individual hosts, but not netblocks.
 
 Is this a feature or a bug?

quirk in the parser--need more quotes.

net1 = '172.16.0.0/12'
net2 = '192.168.0.0/16'
net3 = '10.0.0.0/8'

rfc1918 = { $net1 $net2 $net3 }

-j

--
I'll leave the world the same way I came into it - dirty, screaming
 and torn away from the woman I love.
--The Simpsons