regress/usr.sbin/bgpd/unittests/rde_trie_test.c
176
struct roa roa;
regress/usr.sbin/bgpd/unittests/rde_trie_test.c
222
roa.aid = prefix.aid;
regress/usr.sbin/bgpd/unittests/rde_trie_test.c
223
roa.prefix.inet6 = prefix.v6;
regress/usr.sbin/bgpd/unittests/rde_trie_test.c
224
roa.prefixlen = plen;
regress/usr.sbin/bgpd/unittests/rde_trie_test.c
225
roa.maxlen = max;
regress/usr.sbin/bgpd/unittests/rde_trie_test.c
226
roa.asnum = as;
regress/usr.sbin/bgpd/unittests/rde_trie_test.c
227
if (trie_roa_add(th, &roa) != 0)
regress/usr.sbin/bgpd/unittests/rde_trie_test.c
323
roa = 1;
regress/usr.sbin/bgpd/unittests/rde_trie_test.c
343
if (roa)
regress/usr.sbin/bgpd/unittests/rde_trie_test.c
350
if (roa)
regress/usr.sbin/bgpd/unittests/rde_trie_test.c
37
int roa;
regress/usr.sbin/rpki-client/test-roa.c
41
struct roa *p;
usr.sbin/bgpd/bgpd.c
601
struct roa *roa;
usr.sbin/bgpd/bgpd.c
706
RB_FOREACH(roa, roa_tree, &ps->roaitems) {
usr.sbin/bgpd/bgpd.c
708
-1, roa, sizeof(*roa)) == -1)
usr.sbin/bgpd/bgpd.c
716
RB_FOREACH(roa, roa_tree, &conf->roa) {
usr.sbin/bgpd/bgpd.c
718
-1, roa, sizeof(*roa)) == -1)
usr.sbin/bgpd/bgpd.c
721
free_roatree(&conf->roa);
usr.sbin/bgpd/bgpd.h
1530
RB_PROTOTYPE(roa_tree, roa, entry, roa_cmp);
usr.sbin/bgpd/bgpd.h
1647
int trie_roa_add(struct trie_head *, struct roa *);
usr.sbin/bgpd/bgpd.h
1666
const char *log_roa(struct roa *);
usr.sbin/bgpd/bgpd.h
299
RB_ENTRY(roa) entry;
usr.sbin/bgpd/bgpd.h
312
RB_HEAD(roa_tree, roa);
usr.sbin/bgpd/bgpd.h
336
struct roa_tree roa;
usr.sbin/bgpd/config.c
215
struct roa *roa, *nroa;
usr.sbin/bgpd/config.c
217
RB_FOREACH_SAFE(roa, roa_tree, r, nroa) {
usr.sbin/bgpd/config.c
218
RB_REMOVE(roa_tree, r, roa);
usr.sbin/bgpd/config.c
219
free(roa);
usr.sbin/bgpd/config.c
271
free_roatree(&conf->roa);
usr.sbin/bgpd/config.c
338
free_roatree(&xconf->roa);
usr.sbin/bgpd/config.c
340
RB_ROOT(&xconf->roa) = RB_ROOT(&conf->roa);
usr.sbin/bgpd/config.c
341
RB_ROOT(&conf->roa) = NULL;
usr.sbin/bgpd/config.c
64
RB_INIT(&conf->roa);
usr.sbin/bgpd/config.c
716
roa_cmp(struct roa *a, struct roa *b)
usr.sbin/bgpd/config.c
759
RB_GENERATE(roa_tree, roa, entry, roa_cmp);
usr.sbin/bgpd/parse.y
5436
struct roa *roa, *r;
usr.sbin/bgpd/parse.y
5438
if ((roa = calloc(1, sizeof(*roa))) == NULL)
usr.sbin/bgpd/parse.y
5441
roa->aid = npsi->p.addr.aid;
usr.sbin/bgpd/parse.y
5442
roa->prefixlen = npsi->p.len;
usr.sbin/bgpd/parse.y
5443
roa->maxlen = max;
usr.sbin/bgpd/parse.y
5444
roa->asnum = as;
usr.sbin/bgpd/parse.y
5445
roa->expires = expires;
usr.sbin/bgpd/parse.y
5446
switch (roa->aid) {
usr.sbin/bgpd/parse.y
5448
roa->prefix.inet = npsi->p.addr.v4;
usr.sbin/bgpd/parse.y
5451
roa->prefix.inet6 = npsi->p.addr.v6;
usr.sbin/bgpd/parse.y
5457
r = RB_INSERT(roa_tree, curroatree, roa);
usr.sbin/bgpd/parse.y
5462
free(roa);
usr.sbin/bgpd/parse.y
566
curroatree = &conf->roa;
usr.sbin/bgpd/printconf.c
1285
print_roa(&conf->roa);
usr.sbin/bgpd/printconf.c
666
struct roa *roa;
usr.sbin/bgpd/printconf.c
670
RB_FOREACH(roa, roa_tree, &ps->roaitems) {
usr.sbin/bgpd/printconf.c
671
printf("\n\t%s", log_roa(roa));
usr.sbin/bgpd/printconf.c
680
struct roa *roa;
usr.sbin/bgpd/printconf.c
686
RB_FOREACH(roa, roa_tree, r) {
usr.sbin/bgpd/printconf.c
687
printf("\n\t%s", log_roa(roa));
usr.sbin/bgpd/rde.c
1205
if (imsg_get_data(&imsg, &roa, sizeof(roa)) == -1)
usr.sbin/bgpd/rde.c
1207
if (trie_roa_add(&last_prefixset->th, &roa) != 0) {
usr.sbin/bgpd/rde.c
1209
log_roa(&roa));
usr.sbin/bgpd/rde.c
1336
struct roa roa;
usr.sbin/bgpd/rde.c
1352
if (imsg_get_data(&imsg, &roa, sizeof(roa)) == -1)
usr.sbin/bgpd/rde.c
1354
if (trie_roa_add(&roa_new.th, &roa) != 0) {
usr.sbin/bgpd/rde.c
1356
log_roa(&roa));
usr.sbin/bgpd/rde.c
911
struct roa roa;
usr.sbin/bgpd/rde_trie.c
388
trie_roa_add(struct trie_head *th, struct roa *roa)
usr.sbin/bgpd/rde_trie.c
397
switch (roa->aid) {
usr.sbin/bgpd/rde_trie.c
399
if (roa->prefixlen > 32)
usr.sbin/bgpd/rde_trie.c
402
n4 = trie_add_v4(th, &roa->prefix.inet, roa->prefixlen);
usr.sbin/bgpd/rde_trie.c
408
if (roa->prefixlen > 128)
usr.sbin/bgpd/rde_trie.c
411
n6 = trie_add_v6(th, &roa->prefix.inet6, roa->prefixlen);
usr.sbin/bgpd/rde_trie.c
426
if ((rsp = set_match(*stp, roa->asnum)) != NULL) {
usr.sbin/bgpd/rde_trie.c
427
if (rsp->maxlen < roa->maxlen)
usr.sbin/bgpd/rde_trie.c
428
rsp->maxlen = roa->maxlen;
usr.sbin/bgpd/rde_trie.c
430
rs.as = roa->asnum;
usr.sbin/bgpd/rde_trie.c
431
rs.maxlen = roa->maxlen;
usr.sbin/bgpd/rtr.c
118
rtr_roa_insert(struct roa_tree *rt, struct roa *in)
usr.sbin/bgpd/rtr.c
120
struct roa *roa;
usr.sbin/bgpd/rtr.c
122
if ((roa = malloc(sizeof(*roa))) == NULL)
usr.sbin/bgpd/rtr.c
124
memcpy(roa, in, sizeof(*roa));
usr.sbin/bgpd/rtr.c
125
if (RB_INSERT(roa_tree, rt, roa) != NULL)
usr.sbin/bgpd/rtr.c
127
free(roa);
usr.sbin/bgpd/rtr.c
319
struct roa roa;
usr.sbin/bgpd/rtr.c
373
if (imsg_get_data(&imsg, &roa, sizeof(roa)) == -1)
usr.sbin/bgpd/rtr.c
375
rtr_roa_insert(&nconf->roa, &roa);
usr.sbin/bgpd/rtr.c
425
free_roatree(&conf->roa);
usr.sbin/bgpd/rtr.c
427
RB_ROOT(&conf->roa) = RB_ROOT(&nconf->roa);
usr.sbin/bgpd/rtr.c
428
RB_ROOT(&nconf->roa) = NULL;
usr.sbin/bgpd/rtr.c
508
struct roa *roa, *nr;
usr.sbin/bgpd/rtr.c
518
RB_FOREACH(roa, roa_tree, &conf->roa)
usr.sbin/bgpd/rtr.c
519
rtr_roa_insert(&rt, roa);
usr.sbin/bgpd/rtr.c
523
RB_FOREACH_SAFE(roa, roa_tree, &rt, nr) {
usr.sbin/bgpd/rtr.c
525
roa, sizeof(*roa));
usr.sbin/bgpd/rtr.c
84
struct roa *roa, *nr;
usr.sbin/bgpd/rtr.c
87
RB_FOREACH_SAFE(roa, roa_tree, &conf->roa, nr) {
usr.sbin/bgpd/rtr.c
88
if (roa->expires != 0 && roa->expires <= now) {
usr.sbin/bgpd/rtr.c
90
RB_REMOVE(roa_tree, &conf->roa, roa);
usr.sbin/bgpd/rtr.c
91
free(roa);
usr.sbin/bgpd/rtr_proto.c
1515
struct roa *roa;
usr.sbin/bgpd/rtr_proto.c
1518
RB_FOREACH(roa, roa_tree, &rs->roa_set)
usr.sbin/bgpd/rtr_proto.c
1519
rtr_roa_insert(rt, roa);
usr.sbin/bgpd/rtr_proto.c
643
struct roa *roa;
usr.sbin/bgpd/rtr_proto.c
664
if ((roa = calloc(1, sizeof(*roa))) == NULL) {
usr.sbin/bgpd/rtr_proto.c
668
roa->aid = AID_INET;
usr.sbin/bgpd/rtr_proto.c
669
roa->prefixlen = ip4.prefixlen;
usr.sbin/bgpd/rtr_proto.c
670
roa->maxlen = ip4.maxlen;
usr.sbin/bgpd/rtr_proto.c
671
roa->asnum = ntohl(ip4.asnum);
usr.sbin/bgpd/rtr_proto.c
672
roa->prefix.inet.s_addr = ip4.prefix;
usr.sbin/bgpd/rtr_proto.c
675
if (RB_INSERT(roa_tree, &rs->roa_set, roa) != NULL) {
usr.sbin/bgpd/rtr_proto.c
677
log_rtr_type(IPV4_PREFIX), log_roa(roa));
usr.sbin/bgpd/rtr_proto.c
678
free(roa);
usr.sbin/bgpd/rtr_proto.c
682
struct roa *r;
usr.sbin/bgpd/rtr_proto.c
684
r = RB_FIND(roa_tree, &rs->roa_set, roa);
usr.sbin/bgpd/rtr_proto.c
687
log_rtr_type(IPV4_PREFIX), log_roa(roa));
usr.sbin/bgpd/rtr_proto.c
688
free(roa);
usr.sbin/bgpd/rtr_proto.c
693
free(roa);
usr.sbin/bgpd/rtr_proto.c
708
struct roa *roa;
usr.sbin/bgpd/rtr_proto.c
729
if ((roa = calloc(1, sizeof(*roa))) == NULL) {
usr.sbin/bgpd/rtr_proto.c
733
roa->aid = AID_INET6;
usr.sbin/bgpd/rtr_proto.c
734
roa->prefixlen = ip6.prefixlen;
usr.sbin/bgpd/rtr_proto.c
735
roa->maxlen = ip6.maxlen;
usr.sbin/bgpd/rtr_proto.c
736
roa->asnum = ntohl(ip6.asnum);
usr.sbin/bgpd/rtr_proto.c
737
memcpy(&roa->prefix.inet6, ip6.prefix, sizeof(roa->prefix.inet6));
usr.sbin/bgpd/rtr_proto.c
740
if (RB_INSERT(roa_tree, &rs->roa_set, roa) != NULL) {
usr.sbin/bgpd/rtr_proto.c
742
log_rtr_type(IPV6_PREFIX), log_roa(roa));
usr.sbin/bgpd/rtr_proto.c
743
free(roa);
usr.sbin/bgpd/rtr_proto.c
747
struct roa *r;
usr.sbin/bgpd/rtr_proto.c
749
r = RB_FIND(roa_tree, &rs->roa_set, roa);
usr.sbin/bgpd/rtr_proto.c
752
log_rtr_type(IPV6_PREFIX), log_roa(roa));
usr.sbin/bgpd/rtr_proto.c
753
free(roa);
usr.sbin/bgpd/rtr_proto.c
758
free(roa);
usr.sbin/bgpd/session.h
323
void rtr_roa_insert(struct roa_tree *, struct roa *);
usr.sbin/bgpd/util.c
250
log_roa(struct roa *roa)
usr.sbin/bgpd/util.c
253
struct bgpd_addr addr = { .aid = roa->aid, .v6 = roa->prefix.inet6 };
usr.sbin/bgpd/util.c
257
if (roa->prefixlen != roa->maxlen)
usr.sbin/bgpd/util.c
258
snprintf(maxbuf, sizeof(maxbuf), " maxlen %u", roa->maxlen);
usr.sbin/bgpd/util.c
260
roa->prefixlen, maxbuf, roa->asnum, log_expires(roa->expires));
usr.sbin/rpki-client/ccr.c
782
ccr_insert_roa(struct ccr_vrp_tree *tree, const struct roa *roa)
usr.sbin/rpki-client/ccr.c
787
for (i = 0; i < roa->num_ips; i++) {
usr.sbin/rpki-client/ccr.c
791
vrp->asid = roa->asid;
usr.sbin/rpki-client/ccr.c
792
vrp->afi = roa->ips[i].afi;
usr.sbin/rpki-client/ccr.c
793
vrp->addr = roa->ips[i].addr;
usr.sbin/rpki-client/ccr.c
794
vrp->maxlength = roa->ips[i].maxlength;
usr.sbin/rpki-client/extern.h
1014
void ccr_insert_roa(struct ccr_vrp_tree *, const struct roa *);
usr.sbin/rpki-client/extern.h
743
void roa_buffer(struct ibuf *, const struct roa *);
usr.sbin/rpki-client/extern.h
744
void roa_free(struct roa *);
usr.sbin/rpki-client/extern.h
745
struct roa *roa_parse(struct cert **, const char *, int,
usr.sbin/rpki-client/extern.h
747
struct roa *roa_read(struct ibuf *);
usr.sbin/rpki-client/extern.h
748
void roa_insert_vrps(struct vrp_tree *, struct roa *,
usr.sbin/rpki-client/extern.h
786
int valid_roa(const char *, struct cert *, struct roa *);
usr.sbin/rpki-client/extern.h
977
void roa_print(const struct cert *, const struct roa *);
usr.sbin/rpki-client/filemode.c
424
struct roa *roa = NULL;
usr.sbin/rpki-client/filemode.c
543
roa = roa_parse(&cert, file, -1, buf, len);
usr.sbin/rpki-client/filemode.c
544
if (roa == NULL)
usr.sbin/rpki-client/filemode.c
547
expires = &roa->expires;
usr.sbin/rpki-client/filemode.c
600
status = roa->valid;
usr.sbin/rpki-client/filemode.c
653
roa_print(cert, roa);
usr.sbin/rpki-client/filemode.c
730
roa_free(roa);
usr.sbin/rpki-client/main.c
593
struct roa *roa;
usr.sbin/rpki-client/main.c
689
roa = roa_read(b);
usr.sbin/rpki-client/main.c
690
if (roa->valid) {
usr.sbin/rpki-client/main.c
691
roa_insert_vrps(&vd->vrps, roa, rp);
usr.sbin/rpki-client/main.c
692
ccr_insert_roa(&vd->ccr.vrps, roa);
usr.sbin/rpki-client/main.c
695
roa_free(roa);
usr.sbin/rpki-client/parser.c
184
static struct roa *
usr.sbin/rpki-client/parser.c
188
struct roa *roa;
usr.sbin/rpki-client/parser.c
194
if ((roa = roa_parse(&cert, file, entp->talid, der, len)) == NULL)
usr.sbin/rpki-client/parser.c
207
roa->talid = a->cert->talid;
usr.sbin/rpki-client/parser.c
209
roa->expires = x509_find_expires(cert->notafter, a, &crls);
usr.sbin/rpki-client/parser.c
212
return roa;
usr.sbin/rpki-client/parser.c
215
roa_free(roa);
usr.sbin/rpki-client/parser.c
852
struct roa *roa;
usr.sbin/rpki-client/parser.c
955
roa = proc_parser_roa(file, f, flen, entp, ctx);
usr.sbin/rpki-client/parser.c
956
if (roa != NULL)
usr.sbin/rpki-client/parser.c
957
mtime = roa->signtime;
usr.sbin/rpki-client/parser.c
959
c = (roa != NULL);
usr.sbin/rpki-client/parser.c
961
if (roa != NULL)
usr.sbin/rpki-client/parser.c
962
roa_buffer(b, roa);
usr.sbin/rpki-client/parser.c
963
roa_free(roa);
usr.sbin/rpki-client/print.c
510
roa_print(const struct cert *c, const struct roa *p)
usr.sbin/rpki-client/roa.c
103
if (!as_id_parse(roa_asn1->asid, &roa->asid)) {
usr.sbin/rpki-client/roa.c
151
if (roa->num_ips + addrsz >= MAX_IP_SIZE) {
usr.sbin/rpki-client/roa.c
156
roa->ips = recallocarray(roa->ips, roa->num_ips,
usr.sbin/rpki-client/roa.c
157
roa->num_ips + addrsz, sizeof(struct roa_ip));
usr.sbin/rpki-client/roa.c
158
if (roa->ips == NULL)
usr.sbin/rpki-client/roa.c
193
res = &roa->ips[roa->num_ips++];
usr.sbin/rpki-client/roa.c
211
struct roa *
usr.sbin/rpki-client/roa.c
215
struct roa *roa;
usr.sbin/rpki-client/roa.c
229
if ((roa = calloc(1, sizeof(struct roa))) == NULL)
usr.sbin/rpki-client/roa.c
231
roa->signtime = signtime;
usr.sbin/rpki-client/roa.c
233
if (!roa_parse_econtent(fn, roa, cms, cmsz))
usr.sbin/rpki-client/roa.c
255
roa->valid = valid_roa(fn, cert, roa);
usr.sbin/rpki-client/roa.c
263
roa_free(roa);
usr.sbin/rpki-client/roa.c
264
roa = NULL;
usr.sbin/rpki-client/roa.c
268
return roa;
usr.sbin/rpki-client/roa.c
276
roa_free(struct roa *p)
usr.sbin/rpki-client/roa.c
290
roa_buffer(struct ibuf *b, const struct roa *p)
usr.sbin/rpki-client/roa.c
306
struct roa *
usr.sbin/rpki-client/roa.c
309
struct roa *p;
usr.sbin/rpki-client/roa.c
311
if ((p = calloc(1, sizeof(struct roa))) == NULL)
usr.sbin/rpki-client/roa.c
335
roa_insert_vrps(struct vrp_tree *tree, struct roa *roa, struct repo *rp)
usr.sbin/rpki-client/roa.c
340
for (i = 0; i < roa->num_ips; i++) {
usr.sbin/rpki-client/roa.c
343
v->afi = roa->ips[i].afi;
usr.sbin/rpki-client/roa.c
344
v->addr = roa->ips[i].addr;
usr.sbin/rpki-client/roa.c
345
v->maxlength = roa->ips[i].maxlength;
usr.sbin/rpki-client/roa.c
346
v->asid = roa->asid;
usr.sbin/rpki-client/roa.c
347
v->talid = roa->talid;
usr.sbin/rpki-client/roa.c
349
v->expires = roa->expires;
usr.sbin/rpki-client/roa.c
373
repo_stat_inc(rp, roa->talid, RTYPE_ROA, STYPE_TOTAL);
usr.sbin/rpki-client/roa.c
67
roa_parse_econtent(const char *fn, struct roa *roa, const unsigned char *d,
usr.sbin/rpki-client/validate.c
131
valid_roa(const char *fn, struct cert *cert, struct roa *roa)
usr.sbin/rpki-client/validate.c
136
for (i = 0; i < roa->num_ips; i++) {
usr.sbin/rpki-client/validate.c
137
if (ip_addr_check_covered(roa->ips[i].afi, roa->ips[i].min,
usr.sbin/rpki-client/validate.c
138
roa->ips[i].max, cert->ips, cert->num_ips) > 0)
usr.sbin/rpki-client/validate.c
141
ip_addr_print(&roa->ips[i].addr, roa->ips[i].afi, buf,