From: Kirill A. Korinsky Subject: Re: routing deamons: use correct type for imsgbuf_get To: tech@openbsd.org Date: Mon, 03 Aug 2026 15:33:29 +0200 On Mon, 03 Aug 2026 15:24:55 +0200, Claudio Jeker 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