summaryrefslogtreecommitdiff
path: root/conf
diff options
context:
space:
mode:
Diffstat (limited to 'conf')
-rw-r--r--conf/Makefile19
-rw-r--r--conf/confbase.Y12
2 files changed, 14 insertions, 17 deletions
diff --git a/conf/Makefile b/conf/Makefile
index c4121805..76fd496a 100644
--- a/conf/Makefile
+++ b/conf/Makefile
@@ -8,12 +8,6 @@ BISON_DEBUG=-t
#FLEX_DEBUG=-d
endif
-$(o)cf-parse.tab.h: $(o)cf-parse.tab.c
-
-$(o)cf-parse.tab.c: $(o)cf-parse.y
- echo $< $@ $(o)
- $(BISON) -b$(@:.tab.c=) -dv -pcf_ $(BISON_DEBUG) $<
-
$(conf-y-targets): $(s)confbase.Y
$(M4) -P $| $^ >$@
@@ -21,9 +15,16 @@ $(o)cf-parse.y: | $(s)gen_parser.m4
$(o)keywords.h: | $(s)gen_keywords.m4
$(o)commands.h: | $(s)gen_commands.m4 $(srcdir)/client/cmds.m4
-$(o)cf-lex.c: $(s)cf-lex.l $(o)cf-parse.tab.h $(o)keywords.h $(o)commands.h
- $(FLEX) $(FLEX_DEBUG) -s -B -8 -o$@ -Pcf_ $<
+$(o)cf-parse.tab.h: $(o)cf-parse.tab.c
+
+$(o)cf-parse.tab.c: $(o)cf-parse.y
+ $(BISON) $(BISON_DEBUG) -dv -pcf_ -b $(@:.tab.c=) $<
+
+$(o)cf-lex.c: $(s)cf-lex.l
+ $(FLEX) $(FLEX_DEBUG) -s -B -8 -Pcf_ -o $@ $<
+
+$(o)cf-lex.o: $(o)cf-parse.tab.h $(o)keywords.h
-$(addprefix $(o),cf-parse.tab.h cf-parse.tab.c cf-parse.y keywords.h commands.h cf-lex.c): $(objdir)/.dir-stamp
+$(addprefix $(o), cf-parse.y keywords.h commands.h cf-parse.tab.h cf-parse.tab.c cf-lex.c): $(objdir)/.dir-stamp
$(call clean,cf-parse.tab.h cf-parse.tab.c cf-parse.y keywords.h commands.h cf-lex.c cf-parse.output)
diff --git a/conf/confbase.Y b/conf/confbase.Y
index d5fd2133..e64d7593 100644
--- a/conf/confbase.Y
+++ b/conf/confbase.Y
@@ -201,21 +201,17 @@ net_ip6_: IP6 '/' NUM
net_roa4_: net_ip4_ MAX NUM AS NUM
{
$$ = cfg_alloc(sizeof(net_addr_roa4));
- net_fill_roa4($$, ((net_addr_ip4 *)&$1)->prefix, $1.pxlen, $3, $5);
- if ($3 < 0 || $3 > IP4_MAX_PREFIX_LENGTH)
+ net_fill_roa4($$, net4_prefix(&$1), net4_pxlen(&$1), $3, $5);
+ if ($3 < net4_pxlen(&$1) || $3 > IP4_MAX_PREFIX_LENGTH)
cf_error("Invalid max prefix length %d", $3);
- if (((net_addr_roa4 *) $$)->max_pxlen < ($$)->pxlen)
- cf_error("Maximum prefix length %d must be >= prefix length %d", ((net_addr_roa4 *) $$)->max_pxlen, ($$)->pxlen);
};
net_roa6_: net_ip6_ MAX NUM AS NUM
{
$$ = cfg_alloc(sizeof(net_addr_roa6));
- net_fill_roa6($$, ((net_addr_ip6 *)&$1)->prefix, $1.pxlen, $3, $5);
- if ($3 < 0 || $3 > IP6_MAX_PREFIX_LENGTH)
+ net_fill_roa6($$, net6_prefix(&$1), net6_pxlen(&$1), $3, $5);
+ if ($3 < net6_pxlen(&$1) || $3 > IP6_MAX_PREFIX_LENGTH)
cf_error("Invalid max prefix length %d", $3);
- if (((net_addr_roa6 *) $$)->max_pxlen < ($$)->pxlen)
- cf_error("Maximum prefix length %d must be >= prefix length %d", ((net_addr_roa6 *) $$)->max_pxlen, ($$)->pxlen);
};
net_ip_: net_ip4_ | net_ip6_ ;