Index | Thread | Search

From:
Kirill A. Korinsky <kirill@korins.ky>
Subject:
Re: routing deamons: use correct type for imsgbuf_get
To:
tech@openbsd.org
Date:
Mon, 03 Aug 2026 15:33:29 +0200

Download raw body.

Thread
On Mon, 03 Aug 2026 15:24:55 +0200,
Claudio Jeker <cjeker@diehard.n-r-g.com> wrote:
> 
> This diff is similar to the one for iked, httpd, relayd and snmpd.
> 
> The routing deamons normally use n for both imsgbuf_get and imsgbuf_read.
> Both functions return int so doing this is more correct.
> 
> I folded the int n into the other int vars where it makes sense.

reads OK kirill@

> -- 
> :wq Claudio
> 
> Index: dvmrpd/dvmrpd.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/dvmrpd/dvmrpd.c,v
> diff -u -p -r1.35 dvmrpd.c
> --- dvmrpd/dvmrpd.c	28 Jul 2026 11:49:25 -0000	1.35
> +++ dvmrpd/dvmrpd.c	3 Aug 2026 13:08:54 -0000
> @@ -314,8 +314,7 @@ main_dispatch_dvmrpe(int fd, short event
>  	struct imsgev	*iev = bula;
>  	struct imsgbuf  *ibuf = &iev->ibuf;
>  	struct imsg	 imsg;
> -	ssize_t		 n;
> -	int		 shut = 0, verbose;
> +	int		 n, shut = 0, verbose;
>  
>  	if (event & EV_READ) {
>  		if ((n = imsgbuf_read(ibuf)) == -1)
> @@ -377,8 +376,7 @@ main_dispatch_rde(int fd, short event, v
>  	struct imsgev	*iev = bula;
>  	struct imsgbuf  *ibuf = &iev->ibuf;
>  	struct imsg	 imsg;
> -	ssize_t		 n;
> -	int		 shut = 0;
> +	int		 n, shut = 0;
>  
>  	if (event & EV_READ) {
>  		if ((n = imsgbuf_read(ibuf)) == -1)
> Index: dvmrpd/dvmrpe.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/dvmrpd/dvmrpe.c,v
> diff -u -p -r1.31 dvmrpe.c
> --- dvmrpd/dvmrpe.c	28 Jul 2026 11:49:25 -0000	1.31
> +++ dvmrpd/dvmrpe.c	3 Aug 2026 13:09:09 -0000
> @@ -239,8 +239,7 @@ dvmrpe_dispatch_main(int fd, short event
>  	struct imsgbuf  *ibuf = &iev->ibuf;
>  	struct kif	*kif;
>  	struct iface	*iface;
> -	ssize_t		 n;
> -	int		 shut = 0, link_ok;
> +	int		 n, shut = 0, link_ok;
>  
>  	if (event & EV_READ) {
>  		if ((n = imsgbuf_read(ibuf)) == -1)
> @@ -315,8 +314,7 @@ dvmrpe_dispatch_rde(int fd, short event,
>  	struct prune		 p;
>  	struct iface		*iface;
>  	struct route_report	*rr;
> -	ssize_t			 n;
> -	int			 shut = 0;
> +	int			 n, shut = 0;
>  
>  	if (event & EV_READ) {
>  		if ((n = imsgbuf_read(ibuf)) == -1)
> Index: dvmrpd/rde.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/dvmrpd/rde.c,v
> diff -u -p -r1.40 rde.c
> --- dvmrpd/rde.c	28 Jul 2026 11:49:25 -0000	1.40
> +++ dvmrpd/rde.c	3 Aug 2026 13:09:25 -0000
> @@ -203,8 +203,7 @@ rde_dispatch_imsg(int fd, short event, v
>  	struct imsg		 imsg;
>  	struct route_report	 rr;
>  	struct nbr_msg		 nm;
> -	int			 i, connected = 0, shut = 0, verbose;
> -	ssize_t			 n;
> +	int			 i, n, connected = 0, shut = 0, verbose;
>  	struct iface		*iface;
>  
>  	if (event & EV_READ) {
> Index: eigrpd/control.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/eigrpd/control.c,v
> diff -u -p -r1.17 control.c
> --- eigrpd/control.c	28 Jul 2026 11:49:57 -0000	1.17
> +++ eigrpd/control.c	3 Aug 2026 13:09:39 -0000
> @@ -215,9 +215,8 @@ control_dispatch_imsg(int fd, short even
>  {
>  	struct ctl_conn	*c;
>  	struct imsg	 imsg;
> -	ssize_t		 n;
>  	unsigned int	 ifidx;
> -	int		 verbose;
> +	int		 n, verbose;
>  
>  	if ((c = control_connbyfd(fd)) == NULL) {
>  		log_warnx("%s: fd %d: not found", __func__, fd);
> Index: eigrpd/eigrpd.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/eigrpd/eigrpd.c,v
> diff -u -p -r1.38 eigrpd.c
> --- eigrpd/eigrpd.c	28 Jul 2026 11:49:57 -0000	1.38
> +++ eigrpd/eigrpd.c	3 Aug 2026 13:10:00 -0000
> @@ -371,8 +371,7 @@ main_dispatch_eigrpe(int fd, short event
>  	struct imsgev		*iev = bula;
>  	struct imsgbuf		*ibuf;
>  	struct imsg		 imsg;
> -	ssize_t			 n;
> -	int			 shut = 0, verbose;
> +	int			 n, shut = 0, verbose;
>  
>  	ibuf = &iev->ibuf;
>  
> @@ -450,8 +449,7 @@ main_dispatch_rde(int fd, short event, v
>  	struct imsgev	*iev = bula;
>  	struct imsgbuf  *ibuf;
>  	struct imsg	 imsg;
> -	ssize_t		 n;
> -	int		 shut = 0;
> +	int		 n, shut = 0;
>  
>  	ibuf = &iev->ibuf;
>  
> Index: eigrpd/rde.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/eigrpd/rde.c,v
> diff -u -p -r1.34 rde.c
> --- eigrpd/rde.c	28 Jul 2026 11:49:57 -0000	1.34
> +++ eigrpd/rde.c	3 Aug 2026 13:10:22 -0000
> @@ -171,8 +171,7 @@ rde_dispatch_imsg(int fd, short event, v
>  	struct rde_nbr		*nbr;
>  	struct rde_nbr		 new;
>  	struct rinfo		 rinfo;
> -	ssize_t			 n;
> -	int			 shut = 0, verbose;
> +	int			 n, shut = 0, verbose;
>  
>  	ibuf = &iev->ibuf;
>  
> @@ -310,8 +309,7 @@ rde_dispatch_parent(int fd, short event,
>  	struct imsgev		*iev = bula;
>  	struct imsgbuf		*ibuf;
>  	struct kif		*kif;
> -	ssize_t			 n;
> -	int			 shut = 0;
> +	int			 n, shut = 0;
>  
>  	ibuf = &iev->ibuf;
>  
> Index: ldpd/control.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/ldpd/control.c,v
> diff -u -p -r1.39 control.c
> --- ldpd/control.c	28 Jul 2026 11:50:30 -0000	1.39
> +++ ldpd/control.c	3 Aug 2026 13:10:41 -0000
> @@ -199,9 +199,8 @@ control_dispatch_imsg(int fd, short even
>  {
>  	struct ctl_conn	*c;
>  	struct imsg	 imsg;
> -	ssize_t		 n;
> +	int		 n, verbose;
>  	unsigned int	 ifidx;
> -	int		 verbose;
>  
>  	if ((c = control_connbyfd(fd)) == NULL) {
>  		log_warnx("%s: fd %d: not found", __func__, fd);
> Index: ldpd/lde.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/ldpd/lde.c,v
> diff -u -p -r1.85 lde.c
> --- ldpd/lde.c	28 Jul 2026 11:50:30 -0000	1.85
> +++ ldpd/lde.c	3 Aug 2026 13:10:55 -0000
> @@ -196,8 +196,7 @@ lde_dispatch_imsg(int fd, short event, v
>  	struct map		 map;
>  	struct lde_addr		 lde_addr;
>  	struct notify_msg	 nm;
> -	ssize_t			 n;
> -	int			 shut = 0, verbose;
> +	int			 n, shut = 0, verbose;
>  
>  	if (event & EV_READ) {
>  		if ((n = imsgbuf_read(ibuf)) == -1)
> @@ -392,8 +391,7 @@ lde_dispatch_parent(int fd, short event,
>  	struct kroute		 kr;
>  	struct imsgev		*iev = bula;
>  	struct imsgbuf		*ibuf = &iev->ibuf;
> -	ssize_t			 n;
> -	int			 shut = 0;
> +	int			 n, shut = 0;
>  	struct fec		 fec;
>  
>  	if (event & EV_READ) {
> Index: ldpd/ldpd.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/ldpd/ldpd.c,v
> diff -u -p -r1.80 ldpd.c
> --- ldpd/ldpd.c	28 Jul 2026 11:50:30 -0000	1.80
> +++ ldpd/ldpd.c	3 Aug 2026 13:11:12 -0000
> @@ -379,8 +379,7 @@ main_dispatch_ldpe(int fd, short event, 
>  	struct imsgbuf		*ibuf = &iev->ibuf;
>  	struct imsg		 imsg;
>  	int			 af;
> -	ssize_t			 n;
> -	int			 shut = 0, verbose;
> +	int			 n, shut = 0, verbose;
>  
>  	if (event & EV_READ) {
>  		if ((n = imsgbuf_read(ibuf)) == -1)
> @@ -459,8 +458,7 @@ main_dispatch_lde(int fd, short event, v
>  	struct imsgev	*iev = bula;
>  	struct imsgbuf	*ibuf = &iev->ibuf;
>  	struct imsg	 imsg;
> -	ssize_t		 n;
> -	int		 shut = 0;
> +	int		 n, shut = 0;
>  
>  	if (event & EV_READ) {
>  		if ((n = imsgbuf_read(ibuf)) == -1)
> Index: ospf6d/control.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/ospf6d/control.c,v
> diff -u -p -r1.39 control.c
> --- ospf6d/control.c	28 Jul 2026 11:48:49 -0000	1.39
> +++ ospf6d/control.c	3 Aug 2026 13:11:29 -0000
> @@ -247,9 +247,8 @@ control_dispatch_imsg(int fd, short even
>  {
>  	struct ctl_conn	*c;
>  	struct imsg	 imsg;
> -	ssize_t		 n;
> +	int		 n, verbose;
>  	unsigned int	 ifidx;
> -	int		 verbose;
>  
>  	if ((c = control_connbyfd(fd)) == NULL) {
>  		log_warn("control_dispatch_imsg: fd %d: not found", fd);
> Index: ospf6d/ospf6d.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/ospf6d/ospf6d.c,v
> diff -u -p -r1.62 ospf6d.c
> --- ospf6d/ospf6d.c	28 Jul 2026 11:48:49 -0000	1.62
> +++ ospf6d/ospf6d.c	3 Aug 2026 13:11:46 -0000
> @@ -339,8 +339,7 @@ main_dispatch_ospfe(int fd, short event,
>  	struct imsgbuf		*ibuf = &iev->ibuf;
>  	struct imsg		 imsg;
>  	struct demote_msg	 dmsg;
> -	ssize_t			 n;
> -	int			 shut = 0, verbose;
> +	int			 n, shut = 0, verbose;
>  
>  	if (event & EV_READ) {
>  		if ((n = imsgbuf_read(ibuf)) == -1)
> @@ -416,8 +415,7 @@ main_dispatch_rde(int fd, short event, v
>  	struct imsgev	*iev = bula;
>  	struct imsgbuf	*ibuf = &iev->ibuf;
>  	struct imsg	 imsg;
> -	ssize_t		 n;
> -	int		 count, shut = 0;
> +	int		 n, count, shut = 0;
>  
>  	if (event & EV_READ) {
>  		if ((n = imsgbuf_read(ibuf)) == -1)
> Index: ospf6d/rde.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/ospf6d/rde.c,v
> diff -u -p -r1.98 rde.c
> --- ospf6d/rde.c	28 Jul 2026 11:48:49 -0000	1.98
> +++ ospf6d/rde.c	3 Aug 2026 13:12:10 -0000
> @@ -272,9 +272,8 @@ rde_dispatch_imsg(int fd, short event, v
>  	struct area		*area;
>  	struct vertex		*v;
>  	char			*buf;
> -	ssize_t			 n;
>  	time_t			 now;
> -	int			 r, state, self, shut = 0, verbose;
> +	int			 n, r, state, self, shut = 0, verbose;
>  	u_int16_t		 l;
>  
>  	if (event & EV_READ) {
> @@ -650,8 +649,7 @@ rde_dispatch_parent(int fd, short event,
>  	struct kroute		 kr;
>  	struct imsgev		*iev = bula;
>  	struct imsgbuf		*ibuf = &iev->ibuf;
> -	ssize_t			 n;
> -	int			 shut = 0, link_ok, prev_link_ok, orig_lsa;
> +	int			 n, shut = 0, link_ok, prev_link_ok, orig_lsa;
>  
>  	if (event & EV_READ) {
>  		if ((n = imsgbuf_read(ibuf)) == -1)
> Index: ospfd/control.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/ospfd/control.c,v
> diff -u -p -r1.55 control.c
> --- ospfd/control.c	28 Jul 2026 11:48:14 -0000	1.55
> +++ ospfd/control.c	3 Aug 2026 13:12:18 -0000
> @@ -247,9 +247,8 @@ control_dispatch_imsg(int fd, short even
>  {
>  	struct ctl_conn	*c;
>  	struct imsg	 imsg;
> -	ssize_t		 n;
> +	int		 n, verbose;
>  	unsigned int	 ifidx;
> -	int		 verbose;
>  
>  	if ((c = control_connbyfd(fd)) == NULL) {
>  		log_warn("control_dispatch_imsg: fd %d: not found", fd);
> Index: ospfd/ospfd.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/ospfd/ospfd.c,v
> diff -u -p -r1.126 ospfd.c
> --- ospfd/ospfd.c	28 Jul 2026 11:48:14 -0000	1.126
> +++ ospfd/ospfd.c	3 Aug 2026 13:12:31 -0000
> @@ -358,8 +358,7 @@ main_dispatch_ospfe(int fd, short event,
>  	struct imsgbuf		*ibuf;
>  	struct imsg		 imsg;
>  	struct demote_msg	 dmsg;
> -	ssize_t			 n;
> -	int			 shut = 0, verbose;
> +	int			 n, shut = 0, verbose;
>  
>  	ibuf = &iev->ibuf;
>  
> @@ -445,8 +444,7 @@ main_dispatch_rde(int fd, short event, v
>  	struct imsgev	*iev = bula;
>  	struct imsgbuf  *ibuf;
>  	struct imsg	 imsg;
> -	ssize_t		 n;
> -	int		 count, shut = 0;
> +	int		 n, count, shut = 0;
>  
>  	ibuf = &iev->ibuf;
>  
> Index: ospfd/rde.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/ospfd/rde.c,v
> diff -u -p -r1.120 rde.c
> --- ospfd/rde.c	28 Jul 2026 11:48:14 -0000	1.120
> +++ ospfd/rde.c	3 Aug 2026 13:12:52 -0000
> @@ -260,9 +260,8 @@ rde_dispatch_imsg(int fd, short event, v
>  	struct in_addr		 addr;
>  	struct vertex		*v;
>  	char			*buf;
> -	ssize_t			 n;
>  	time_t			 now;
> -	int			 r, state, self, error, shut = 0, verbose;
> +	int			 n, r, state, self, error, shut = 0, verbose;
>  	u_int16_t		 l;
>  
>  	ibuf = &iev->ibuf;
> @@ -648,8 +647,7 @@ rde_dispatch_parent(int fd, short event,
>  	struct imsgev		*iev = bula;
>  	struct imsgbuf		*ibuf;
>  	struct redistribute	*nred;
> -	ssize_t			 n;
> -	int			 shut = 0;
> +	int			 n, shut = 0;
>  
>  	ibuf = &iev->ibuf;
>  
> Index: ripd/control.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/ripd/control.c,v
> diff -u -p -r1.35 control.c
> --- ripd/control.c	28 Jul 2026 11:51:01 -0000	1.35
> +++ ripd/control.c	3 Aug 2026 13:13:01 -0000
> @@ -214,9 +214,8 @@ control_dispatch_imsg(int fd, short even
>  {
>  	struct ctl_conn	*c;
>  	struct imsg	 imsg;
> -	ssize_t		 n;
> +	int		 n, verbose;
>  	unsigned int	 ifidx;
> -	int		 verbose;
>  
>  	if ((c = control_connbyfd(fd)) == NULL) {
>  		log_warn("control_dispatch_imsg: fd %d: not found", fd);
> Index: ripd/rde.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/ripd/rde.c,v
> diff -u -p -r1.32 rde.c
> --- ripd/rde.c	28 Jul 2026 11:51:01 -0000	1.32
> +++ ripd/rde.c	3 Aug 2026 13:13:29 -0000
> @@ -195,8 +195,7 @@ rde_dispatch_imsg(int fd, short event, v
>  	struct imsgbuf		*ibuf = &iev->ibuf;
>  	struct rip_route	 rr;
>  	struct imsg		 imsg;
> -	ssize_t			 n;
> -	int			 shut = 0, verbose;
> +	int			 n, shut = 0, verbose;
>  
>  	if (event & EV_READ) {
>  		if ((n = imsgbuf_read(ibuf)) == -1)
> @@ -228,7 +227,7 @@ rde_dispatch_imsg(int fd, short event, v
>  
>  			if (rde_check_route(&rr) == -1)
>  				log_debug("rde_dispatch_imsg: "
> -				    "packet malformed\n");
> +				    "packet malformed");
>  			break;
>  		case IMSG_FULL_REQUEST:
>  			bzero(&rr, sizeof(rr));
> @@ -298,8 +297,7 @@ rde_dispatch_parent(int fd, short event,
>  	struct kroute		 kr;
>  	struct imsgev		*iev = bula;
>  	struct imsgbuf		*ibuf = &iev->ibuf;
> -	ssize_t			 n;
> -	int			 shut = 0;
> +	int			 n, shut = 0;
>  
>  	if (event & EV_READ) {
>  		if ((n = imsgbuf_read(ibuf)) == -1)
> Index: ripd/ripd.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/ripd/ripd.c,v
> diff -u -p -r1.45 ripd.c
> --- ripd/ripd.c	28 Jul 2026 11:51:01 -0000	1.45
> +++ ripd/ripd.c	3 Aug 2026 13:13:47 -0000
> @@ -312,8 +312,7 @@ main_dispatch_ripe(int fd, short event, 
>  	struct imsgbuf		*ibuf = &iev->ibuf;
>  	struct imsg		 imsg;
>  	struct demote_msg	 dmsg;
> -	ssize_t			 n;
> -	int			 shut = 0, verbose;
> +	int			 n, shut = 0, verbose;
>  
>  	if (event & EV_READ) {
>  		if ((n = imsgbuf_read(ibuf)) == -1)
> @@ -391,8 +390,7 @@ main_dispatch_rde(int fd, short event, v
>  	struct imsgev	*iev = bula;
>  	struct imsgbuf	*ibuf = &iev->ibuf;
>  	struct imsg	 imsg;
> -	ssize_t		 n;
> -	int		 shut = 0;
> +	int		 n, shut = 0;
>  
>  	if (event & EV_READ) {
>  		if ((n = imsgbuf_read(ibuf)) == -1)
> Index: ripd/ripe.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/ripd/ripe.c,v
> diff -u -p -r1.38 ripe.c
> --- ripd/ripe.c	28 Jul 2026 11:51:01 -0000	1.38
> +++ ripd/ripe.c	3 Aug 2026 13:14:04 -0000
> @@ -229,8 +229,7 @@ ripe_dispatch_main(int fd, short event, 
>  	struct imsgbuf	*ibuf = &iev->ibuf;
>  	struct kif	*kif;
>  	struct iface	*iface;
> -	ssize_t		 n;
> -	int		 link_ok, shut = 0;
> +	int		 n, link_ok, shut = 0;
>  
>  	if (event & EV_READ) {
>  		if ((n = imsgbuf_read(ibuf)) == -1)
> @@ -310,8 +309,7 @@ ripe_dispatch_rde(int fd, short event, v
>  	struct imsgbuf		*ibuf = &iev->ibuf;
>  	struct iface		*iface;
>  	struct nbr		*nbr;
> -	ssize_t			 n;
> -	int			 shut = 0;
> +	int			 n, shut = 0;
>  
>  	if (event & EV_READ) {
>  		if ((n = imsgbuf_read(ibuf)) == -1)
> 

-- 
wbr, Kirill