Similar to the relayd diff use ibuf_data instead of ibuf->buf. -- :wq Claudio
Index: auth.c =================================================================== RCS file: /cvs/src/usr.sbin/ospfd/auth.c,v retrieving revision 1.21 diff -u -p -r1.21 auth.c --- auth.c 20 Jun 2023 15:19:55 -0000 1.21 +++ auth.c 30 Jun 2023 08:56:56 -0000 @@ -154,13 +154,13 @@ auth_gen(struct ibuf *buf, struct iface switch (iface->auth_type) { case AUTH_NONE: - chksum = in_cksum(buf->buf, ibuf_size(buf)); + chksum = in_cksum(ibuf_data(buf), ibuf_size(buf)); if (ibuf_set(buf, offsetof(struct ospf_hdr, chksum), &chksum, sizeof(chksum)) == -1) fatalx("auth_gen: ibuf_set failed"); break; case AUTH_SIMPLE: - chksum = in_cksum(buf->buf, ibuf_size(buf)); + chksum = in_cksum(ibuf_data(buf), ibuf_size(buf)); if (ibuf_set(buf, offsetof(struct ospf_hdr, chksum), &chksum, sizeof(chksum)) == -1) fatalx("auth_gen: ibuf_set failed"); @@ -193,7 +193,7 @@ auth_gen(struct ibuf *buf, struct iface /* calculate MD5 digest */ MD5Init(&hash); - MD5Update(&hash, buf->buf, ibuf_size(buf)); + MD5Update(&hash, ibuf_data(buf), ibuf_size(buf)); MD5Update(&hash, digest, MD5_DIGEST_LENGTH); MD5Final(digest, &hash); Index: ospfe.c =================================================================== RCS file: /cvs/src/usr.sbin/ospfd/ospfe.c,v retrieving revision 1.112 diff -u -p -r1.112 ospfe.c --- ospfe.c 20 Jun 2023 15:19:55 -0000 1.112 +++ ospfe.c 30 Jun 2023 08:55:44 -0000 @@ -1099,13 +1099,13 @@ orig_rtr_lsa(struct area *area) if (ibuf_set(buf, 0, &lsa_hdr, sizeof(lsa_hdr)) == -1) fatal("orig_rtr_lsa: ibuf_set failed"); - chksum = iso_cksum(buf->buf, ibuf_size(buf), LS_CKSUM_OFFSET); + chksum = iso_cksum(ibuf_data(buf), ibuf_size(buf), LS_CKSUM_OFFSET); if (ibuf_set_n16(buf, LS_CKSUM_OFFSET, chksum) == -1) fatal("orig_rtr_lsa: ibuf_set_n16 failed"); if (self && num_links) imsg_compose_event(iev_rde, IMSG_LS_UPD, self->peerid, 0, - -1, buf->buf, ibuf_size(buf)); + -1, ibuf_data(buf), ibuf_size(buf)); else log_warnx("orig_rtr_lsa: empty area %s", inet_ntoa(area->id)); @@ -1165,12 +1165,12 @@ orig_net_lsa(struct iface *iface) if (ibuf_set(buf, 0, &lsa_hdr, sizeof(lsa_hdr)) == -1) fatal("orig_net_lsa: ibuf_set failed"); - chksum = iso_cksum(buf->buf, ibuf_size(buf), LS_CKSUM_OFFSET); + chksum = iso_cksum(ibuf_data(buf), ibuf_size(buf), LS_CKSUM_OFFSET); if (ibuf_set_n16(buf, LS_CKSUM_OFFSET, chksum) == -1) fatal("orig_net_lsa: ibuf_set_n16 failed"); imsg_compose_event(iev_rde, IMSG_LS_UPD, iface->self->peerid, 0, - -1, buf->buf, ibuf_size(buf)); + -1, ibuf_data(buf), ibuf_size(buf)); ibuf_free(buf); } Index: packet.c =================================================================== RCS file: /cvs/src/usr.sbin/ospfd/packet.c,v retrieving revision 1.36 diff -u -p -r1.36 packet.c --- packet.c 3 Nov 2021 21:40:03 -0000 1.36 +++ packet.c 7 Nov 2021 11:14:35 -0000 @@ -85,7 +85,7 @@ send_packet(struct iface *iface, struct bzero(&msg, sizeof(msg)); iov[0].iov_base = &ip_hdr; iov[0].iov_len = sizeof(ip_hdr); - iov[1].iov_base = buf->buf; + iov[1].iov_base = ibuf_data(buf); iov[1].iov_len = ibuf_size(buf); msg.msg_name = dst; msg.msg_namelen = sizeof(*dst);