Index | Thread | Search

From:
Claudio Jeker <cjeker@diehard.n-r-g.com>
Subject:
Re: rpki-client: kill a few more struct parse remnants
To:
Theo Buehler <tb@theobuehler.org>
Cc:
tech@openbsd.org
Date:
Mon, 14 Sep 2026 11:13:39 +0200

Download raw body.

Thread
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