same thing without a stupid helper function, pointed out by henning. diff --git sbin/pfctl/parse.y sbin/pfctl/parse.y index 934438c..426cd93 100644 --- sbin/pfctl/parse.y +++ sbin/pfctl/parse.y @@ -714,6 +714,10 @@ numberstring : NUMBER { varset : STRING '=' varstring { if (pf->opts & PF_OPT_VERBOSE) printf("%s = \"%s\"\n", $1, $3); + if (strchr($1, ' ') != NULL) { + yyerror("macro name cannot contain whitespace"); + YYERROR; + } if (symset($1, $3, 0) == -1) err(1, "cannot store variable %s", $1); free($1);
Sebastian Benoit(be...@openbsd.org) on 2016.06.21 01:18:33 +0200: > sven falempin(sven.falem...@gmail.com) on 2016.06.20 17:38:40 -0400: > > Dear Tech Readers, > > > > in a pf.conf file one can do > > "silly things" = egress > > Thanks for your diff, but > > one, i dont think spaces in macros are useful in pf.conf. > > second, we want to keep this consistent across all the parse.y in our code, > so we have to think how this affects these(*) > > Below is a diff that disallows "silly things". > > I thinks it's easier to check that spaces in macros can be done without. >