On Wed, Nov 09, 2022 at 06:07:47PM +0000, Job Snijders wrote:
> Hi all,
> 
> The ASN.1 profile in draft-ietf-sidrops-rfc6482bis section 4
> https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-rfc6482bis-01
> specifies that there must not be more than 2 ipAddrBlocks (one for IPv4,
> and one for IPv6). This changeset enforces that constraint. Compatible
> with all published ROAs.
> 
> OK?
> 
> Kind regards,
> 
> Job
> 
> Index: roa.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/rpki-client/roa.c,v
> retrieving revision 1.55
> diff -u -p -r1.55 roa.c
> --- roa.c     4 Nov 2022 09:43:13 -0000       1.55
> +++ roa.c     9 Nov 2022 18:04:59 -0000
> @@ -111,6 +111,7 @@ roa_parse_econtent(const unsigned char *
>       long                             maxlen;
>       struct ip_addr                   ipaddr;
>       struct roa_ip                   *res;
> +     int                              ipaddrblocksz;
>       int                              i, j, rc = 0;
>  
>       if ((roa = d2i_RouteOriginAttestation(NULL, &d, dsz)) == NULL) {
> @@ -128,7 +129,14 @@ roa_parse_econtent(const unsigned char *
>               goto out;
>       }
>  
> -     for (i = 0; i < sk_ROAIPAddressFamily_num(roa->ipAddrBlocks); i++) {
> +     ipaddrblocksz = sk_ROAIPAddressFamily_num(roa->ipAddrBlocks);
> +     if (ipaddrblocksz > 2) {
> +             warnx("%s: draft-rfc6482bis: too many ipAddrBlocks (got %i, "

Please use %d

> +                 "expected 1 or 2)", p->fn, ipaddrblocksz);

I'd prefer having the parens open and close on the same line

ok tb

> +             goto out;
> +     }
> +
> +     for (i = 0; i < ipaddrblocksz; i++) {
>               addrfam = sk_ROAIPAddressFamily_value(roa->ipAddrBlocks, i);
>               addrs = addrfam->addresses;
>               addrsz = sk_ROAIPAddress_num(addrs);
> 

Reply via email to