Download raw body.
rpki-client: kill a few more struct parse remnants
On Mon, Sep 14, 2026 at 11:02:37AM +0200, Theo Buehler wrote:
> This kills the uses of p (remember struct parse?) for signed objects
> outside of printing to make grep work a bit better. The only p that
> remains in the files I touch is in vap->insert in aspa.c.
>
> Diff is mechanical apart from a line break in roa_read() for an overlong
> line.
OK claudio@
> Index: aspa.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/rpki-client/aspa.c,v
> diff -u -p -r1.46 aspa.c
> --- aspa.c 3 Sep 2026 17:19:30 -0000 1.46
> +++ aspa.c 14 Sep 2026 08:41:09 -0000
> @@ -226,13 +226,13 @@ aspa_obj(void)
> * Safe to call with NULL.
> */
> void
> -aspa_free(struct aspa *p)
> +aspa_free(struct aspa *aspa)
> {
> - if (p == NULL)
> + if (aspa == NULL)
> return;
>
> - free(p->providers);
> - free(p);
> + free(aspa->providers);
> + free(aspa);
> }
>
> /*
> @@ -240,16 +240,16 @@ aspa_free(struct aspa *p)
> * See aspa_read() for the reader on the other side.
> */
> void
> -aspa_buffer(struct ibuf *b, const struct aspa *p)
> +aspa_buffer(struct ibuf *b, const struct aspa *aspa)
> {
> - io_simple_buffer(b, &p->valid, sizeof(p->valid));
> - io_simple_buffer(b, &p->custasid, sizeof(p->custasid));
> - io_simple_buffer(b, &p->talid, sizeof(p->talid));
> - io_simple_buffer(b, &p->expires, sizeof(p->expires));
> -
> - io_simple_buffer(b, &p->num_providers, sizeof(size_t));
> - io_simple_buffer(b, p->providers,
> - p->num_providers * sizeof(p->providers[0]));
> + io_simple_buffer(b, &aspa->valid, sizeof(aspa->valid));
> + io_simple_buffer(b, &aspa->custasid, sizeof(aspa->custasid));
> + io_simple_buffer(b, &aspa->talid, sizeof(aspa->talid));
> + io_simple_buffer(b, &aspa->expires, sizeof(aspa->expires));
> +
> + io_simple_buffer(b, &aspa->num_providers, sizeof(size_t));
> + io_simple_buffer(b, aspa->providers,
> + aspa->num_providers * sizeof(aspa->providers[0]));
> }
>
> /*
> @@ -260,27 +260,27 @@ aspa_buffer(struct ibuf *b, const struct
> struct aspa *
> aspa_read(struct ibuf *b)
> {
> - struct aspa *p;
> + struct aspa *aspa;
>
> - if ((p = calloc(1, sizeof(struct aspa))) == NULL)
> + if ((aspa = calloc(1, sizeof(struct aspa))) == NULL)
> err(1, NULL);
>
> - io_read_buf(b, &p->valid, sizeof(p->valid));
> - io_read_buf(b, &p->custasid, sizeof(p->custasid));
> - io_read_buf(b, &p->talid, sizeof(p->talid));
> - io_read_buf(b, &p->expires, sizeof(p->expires));
> -
> - io_read_buf(b, &p->num_providers, sizeof(size_t));
> -
> - if (p->num_providers > 0) {
> - if ((p->providers = calloc(p->num_providers,
> - sizeof(p->providers[0]))) == NULL)
> + io_read_buf(b, &aspa->valid, sizeof(aspa->valid));
> + io_read_buf(b, &aspa->custasid, sizeof(aspa->custasid));
> + io_read_buf(b, &aspa->talid, sizeof(aspa->talid));
> + io_read_buf(b, &aspa->expires, sizeof(aspa->expires));
> +
> + io_read_buf(b, &aspa->num_providers, sizeof(size_t));
> +
> + if (aspa->num_providers > 0) {
> + if ((aspa->providers = calloc(aspa->num_providers,
> + sizeof(aspa->providers[0]))) == NULL)
> err(1, NULL);
> - io_read_buf(b, p->providers,
> - p->num_providers * sizeof(p->providers[0]));
> + io_read_buf(b, aspa->providers,
> + aspa->num_providers * sizeof(aspa->providers[0]));
> }
>
> - return p;
> + return aspa;
> }
>
> /*
> Index: mft.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/rpki-client/mft.c,v
> diff -u -p -r1.144 mft.c
> --- mft.c 12 Sep 2026 12:46:04 -0000 1.144
> +++ mft.c 14 Sep 2026 08:39:48 -0000
> @@ -474,24 +474,24 @@ mft_obj(void)
> * Safe to call with NULL.
> */
> void
> -mft_free(struct mft *p)
> +mft_free(struct mft *mft)
> {
> size_t i;
>
> - if (p == NULL)
> + if (mft == NULL)
> return;
>
> - for (i = 0; i < p->filesz; i++)
> - free(p->files[i].file);
> + for (i = 0; i < mft->filesz; i++)
> + free(mft->files[i].file);
>
> - free(p->path);
> - free(p->files);
> - free(p->seqnum);
> - free(p->aki);
> - free(p->sia);
> - free(p->crldp);
> - free(p->crl);
> - free(p);
> + free(mft->path);
> + free(mft->files);
> + free(mft->seqnum);
> + free(mft->aki);
> + free(mft->sia);
> + free(mft->crldp);
> + free(mft->crl);
> + free(mft);
> }
>
> /*
> @@ -499,31 +499,31 @@ mft_free(struct mft *p)
> * See mft_read() for the other side of the pipe.
> */
> void
> -mft_buffer(struct ibuf *b, const struct mft *p)
> +mft_buffer(struct ibuf *b, const struct mft *mft)
> {
> size_t i;
>
> - io_simple_buffer(b, &p->repoid, sizeof(p->repoid));
> - io_simple_buffer(b, &p->talid, sizeof(p->talid));
> - io_simple_buffer(b, &p->certid, sizeof(p->certid));
> - io_simple_buffer(b, &p->seqnum_gap, sizeof(p->seqnum_gap));
> - io_opt_str_buffer(b, p->path);
> -
> - io_str_buffer(b, p->aki);
> - io_str_buffer(b, p->seqnum);
> - io_str_buffer(b, p->sia);
> - io_simple_buffer(b, &p->thisupdate, sizeof(p->thisupdate));
> - io_simple_buffer(b, p->mfthash, sizeof(p->mfthash));
> - io_simple_buffer(b, &p->mftsize, sizeof(p->mftsize));
> -
> - io_simple_buffer(b, &p->filesz, sizeof(size_t));
> - for (i = 0; i < p->filesz; i++) {
> - io_str_buffer(b, p->files[i].file);
> - io_simple_buffer(b, &p->files[i].type,
> - sizeof(p->files[i].type));
> - io_simple_buffer(b, &p->files[i].location,
> - sizeof(p->files[i].location));
> - io_simple_buffer(b, p->files[i].hash, SHA256_DIGEST_LENGTH);
> + io_simple_buffer(b, &mft->repoid, sizeof(mft->repoid));
> + io_simple_buffer(b, &mft->talid, sizeof(mft->talid));
> + io_simple_buffer(b, &mft->certid, sizeof(mft->certid));
> + io_simple_buffer(b, &mft->seqnum_gap, sizeof(mft->seqnum_gap));
> + io_opt_str_buffer(b, mft->path);
> +
> + io_str_buffer(b, mft->aki);
> + io_str_buffer(b, mft->seqnum);
> + io_str_buffer(b, mft->sia);
> + io_simple_buffer(b, &mft->thisupdate, sizeof(mft->thisupdate));
> + io_simple_buffer(b, mft->mfthash, sizeof(mft->mfthash));
> + io_simple_buffer(b, &mft->mftsize, sizeof(mft->mftsize));
> +
> + io_simple_buffer(b, &mft->filesz, sizeof(size_t));
> + for (i = 0; i < mft->filesz; i++) {
> + io_str_buffer(b, mft->files[i].file);
> + io_simple_buffer(b, &mft->files[i].type,
> + sizeof(mft->files[i].type));
> + io_simple_buffer(b, &mft->files[i].location,
> + sizeof(mft->files[i].location));
> + io_simple_buffer(b, mft->files[i].hash, SHA256_DIGEST_LENGTH);
> }
> }
>
> @@ -534,40 +534,40 @@ mft_buffer(struct ibuf *b, const struct
> struct mft *
> mft_read(struct ibuf *b)
> {
> - struct mft *p = NULL;
> + struct mft *mft = NULL;
> size_t i;
>
> - if ((p = calloc(1, sizeof(struct mft))) == NULL)
> + if ((mft = calloc(1, sizeof(struct mft))) == NULL)
> err(1, NULL);
>
> - io_read_buf(b, &p->repoid, sizeof(p->repoid));
> - io_read_buf(b, &p->talid, sizeof(p->talid));
> - io_read_buf(b, &p->certid, sizeof(p->certid));
> - io_read_buf(b, &p->seqnum_gap, sizeof(p->seqnum_gap));
> - io_read_opt_str(b, &p->path);
> -
> - io_read_str(b, &p->aki);
> - io_read_str(b, &p->seqnum);
> - io_read_str(b, &p->sia);
> - io_read_buf(b, &p->thisupdate, sizeof(p->thisupdate));
> - io_read_buf(b, &p->mfthash, sizeof(p->mfthash));
> - io_read_buf(b, &p->mftsize, sizeof(p->mftsize));
> + io_read_buf(b, &mft->repoid, sizeof(mft->repoid));
> + io_read_buf(b, &mft->talid, sizeof(mft->talid));
> + io_read_buf(b, &mft->certid, sizeof(mft->certid));
> + io_read_buf(b, &mft->seqnum_gap, sizeof(mft->seqnum_gap));
> + io_read_opt_str(b, &mft->path);
> +
> + io_read_str(b, &mft->aki);
> + io_read_str(b, &mft->seqnum);
> + io_read_str(b, &mft->sia);
> + io_read_buf(b, &mft->thisupdate, sizeof(mft->thisupdate));
> + io_read_buf(b, &mft->mfthash, sizeof(mft->mfthash));
> + io_read_buf(b, &mft->mftsize, sizeof(mft->mftsize));
>
> - io_read_buf(b, &p->filesz, sizeof(size_t));
> - if (p->filesz == 0)
> + io_read_buf(b, &mft->filesz, sizeof(size_t));
> + if (mft->filesz == 0)
> err(1, "mft_read: bad message");
> - if ((p->files = calloc(p->filesz, sizeof(struct mftfile))) == NULL)
> + if ((mft->files = calloc(mft->filesz, sizeof(struct mftfile))) == NULL)
> err(1, NULL);
>
> - for (i = 0; i < p->filesz; i++) {
> - io_read_str(b, &p->files[i].file);
> - io_read_buf(b, &p->files[i].type, sizeof(p->files[i].type));
> - io_read_buf(b, &p->files[i].location,
> - sizeof(p->files[i].location));
> - io_read_buf(b, p->files[i].hash, SHA256_DIGEST_LENGTH);
> + for (i = 0; i < mft->filesz; i++) {
> + io_read_str(b, &mft->files[i].file);
> + io_read_buf(b, &mft->files[i].type, sizeof(mft->files[i].type));
> + io_read_buf(b, &mft->files[i].location,
> + sizeof(mft->files[i].location));
> + io_read_buf(b, mft->files[i].hash, SHA256_DIGEST_LENGTH);
> }
>
> - return p;
> + return mft;
> }
>
> /*
> Index: roa.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/rpki-client/roa.c,v
> diff -u -p -r1.92 roa.c
> --- roa.c 3 Sep 2026 17:19:30 -0000 1.92
> +++ roa.c 14 Sep 2026 08:42:17 -0000
> @@ -283,13 +283,13 @@ roa_obj(void)
> * Safe to call with NULL.
> */
> void
> -roa_free(struct roa *p)
> +roa_free(struct roa *roa)
> {
>
> - if (p == NULL)
> + if (roa == NULL)
> return;
> - free(p->ips);
> - free(p);
> + free(roa->ips);
> + free(roa);
> }
>
> /*
> @@ -297,15 +297,15 @@ roa_free(struct roa *p)
> * See roa_read() for reader.
> */
> void
> -roa_buffer(struct ibuf *b, const struct roa *p)
> +roa_buffer(struct ibuf *b, const struct roa *roa)
> {
> - io_simple_buffer(b, &p->valid, sizeof(p->valid));
> - io_simple_buffer(b, &p->asid, sizeof(p->asid));
> - io_simple_buffer(b, &p->talid, sizeof(p->talid));
> - io_simple_buffer(b, &p->num_ips, sizeof(p->num_ips));
> - io_simple_buffer(b, &p->expires, sizeof(p->expires));
> + io_simple_buffer(b, &roa->valid, sizeof(roa->valid));
> + io_simple_buffer(b, &roa->asid, sizeof(roa->asid));
> + io_simple_buffer(b, &roa->talid, sizeof(roa->talid));
> + io_simple_buffer(b, &roa->num_ips, sizeof(roa->num_ips));
> + io_simple_buffer(b, &roa->expires, sizeof(roa->expires));
>
> - io_simple_buffer(b, p->ips, p->num_ips * sizeof(p->ips[0]));
> + io_simple_buffer(b, roa->ips, roa->num_ips * sizeof(roa->ips[0]));
> }
>
> /*
> @@ -316,24 +316,25 @@ roa_buffer(struct ibuf *b, const struct
> struct roa *
> roa_read(struct ibuf *b)
> {
> - struct roa *p;
> + struct roa *roa;
>
> - if ((p = calloc(1, sizeof(struct roa))) == NULL)
> + if ((roa = calloc(1, sizeof(struct roa))) == NULL)
> err(1, NULL);
>
> - io_read_buf(b, &p->valid, sizeof(p->valid));
> - io_read_buf(b, &p->asid, sizeof(p->asid));
> - io_read_buf(b, &p->talid, sizeof(p->talid));
> - io_read_buf(b, &p->num_ips, sizeof(p->num_ips));
> - io_read_buf(b, &p->expires, sizeof(p->expires));
> -
> - if (p->num_ips > 0) {
> - if ((p->ips = calloc(p->num_ips, sizeof(p->ips[0]))) == NULL)
> + io_read_buf(b, &roa->valid, sizeof(roa->valid));
> + io_read_buf(b, &roa->asid, sizeof(roa->asid));
> + io_read_buf(b, &roa->talid, sizeof(roa->talid));
> + io_read_buf(b, &roa->num_ips, sizeof(roa->num_ips));
> + io_read_buf(b, &roa->expires, sizeof(roa->expires));
> +
> + if (roa->num_ips > 0) {
> + if ((roa->ips = calloc(roa->num_ips,
> + sizeof(roa->ips[0]))) == NULL)
> err(1, NULL);
> - io_read_buf(b, p->ips, p->num_ips * sizeof(p->ips[0]));
> + io_read_buf(b, roa->ips, roa->num_ips * sizeof(roa->ips[0]));
> }
>
> - return p;
> + return roa;
> }
>
> /*
> Index: rsc.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/rpki-client/rsc.c,v
> diff -u -p -r1.49 rsc.c
> --- rsc.c 3 Sep 2026 17:19:30 -0000 1.49
> +++ rsc.c 14 Sep 2026 08:42:44 -0000
> @@ -413,18 +413,18 @@ rsc_obj(void)
> * Safe to call with NULL.
> */
> void
> -rsc_free(struct rsc *p)
> +rsc_free(struct rsc *rsc)
> {
> size_t i;
>
> - if (p == NULL)
> + if (rsc == NULL)
> return;
>
> - for (i = 0; i < p->num_files; i++)
> - free(p->files[i].filename);
> + for (i = 0; i < rsc->num_files; i++)
> + free(rsc->files[i].filename);
>
> - free(p->ips);
> - free(p->ases);
> - free(p->files);
> - free(p);
> + free(rsc->ips);
> + free(rsc->ases);
> + free(rsc->files);
> + free(rsc);
> }
>
--
:wq Claudio
rpki-client: kill a few more struct parse remnants