From: Claudio Jeker Subject: bgpd: no need to check ASPA SPAS size for imsg size To: tech@openbsd.org Date: Mon, 2 Dec 2024 16:07:35 +0100 Remove the IMSG overflow check for ASAP objects. This is no longer needed since the new maximum imsg size is way larger then the maximum number of ASPA SPAS elements (10k). -- :wq Claudio Index: bgpd.c =================================================================== RCS file: /cvs/src/usr.sbin/bgpd/bgpd.c,v diff -u -p -r1.278 bgpd.c --- bgpd.c 2 Dec 2024 15:03:17 -0000 1.278 +++ bgpd.c 2 Dec 2024 15:04:55 -0000 @@ -733,14 +733,6 @@ send_config(struct bgpd_config *conf) } free_roatree(&conf->roa); RB_FOREACH(aspa, aspa_tree, &conf->aspa) { - /* XXX prevent oversized IMSG for now */ - if (aspa->num * sizeof(*aspa->tas) > - MAX_IMSGSIZE - IMSG_HEADER_SIZE) { - log_warnx("oversized ASPA set for customer-as %s, %s", - log_as(aspa->as), "dropped"); - continue; - } - if (imsg_compose(ibuf_rtr, IMSG_RECONF_ASPA, 0, 0, -1, aspa, offsetof(struct aspa_set, tas)) == -1) return (-1); Index: rtr.c =================================================================== RCS file: /cvs/src/usr.sbin/bgpd/rtr.c,v diff -u -p -r1.28 rtr.c --- rtr.c 2 Dec 2024 15:03:18 -0000 1.28 +++ rtr.c 2 Dec 2024 15:04:55 -0000 @@ -539,14 +539,6 @@ rtr_recalc(void) RB_FOREACH_REVERSE(aspa, aspa_tree, &at) { struct aspa_set as = { .as = aspa->as, .num = aspa->num }; - /* XXX prevent oversized IMSG for now */ - if (aspa->num * sizeof(*aspa->tas) > - MAX_IMSGSIZE - IMSG_HEADER_SIZE) { - log_warnx("oversized ASPA set for customer-as %s, %s", - log_as(aspa->as), "dropped"); - continue; - } - imsg_compose(ibuf_rde, IMSG_RECONF_ASPA, 0, 0, -1, &as, offsetof(struct aspa_set, tas)); imsg_compose(ibuf_rde, IMSG_RECONF_ASPA_TAS, 0, 0, -1,