summaryrefslogtreecommitdiff
path: root/conf/confbase.Y
diff options
context:
space:
mode:
authorOndrej Zajicek (work) <santiago@crfreenet.org>2016-05-12 16:04:47 +0200
committerOndrej Zajicek (work) <santiago@crfreenet.org>2016-05-12 16:04:47 +0200
commit286e2011d22ea6914d5f2db5de3f11911a1fb663 (patch)
tree7caa6725f988f51fab0c3ba09a909c66c828b378 /conf/confbase.Y
parent0c6dfe52369a59d7f3da8ee6bc7c505e3da5c064 (diff)
Miscellaneous minor fixes
Diffstat (limited to 'conf/confbase.Y')
-rw-r--r--conf/confbase.Y12
1 files changed, 4 insertions, 8 deletions
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_ ;