Adjust ldpd to follow the new ibuf API.
Diff is simple but as usual I could not test it out so please test.
--
:wq Claudio
Index: hello.c
===================================================================
RCS file: /cvs/src/usr.sbin/ldpd/hello.c,v
retrieving revision 1.58
diff -u -p -r1.58 hello.c
--- hello.c 12 Dec 2019 00:10:29 -0000 1.58
+++ hello.c 12 Jun 2023 07:27:51 -0000
@@ -139,7 +139,7 @@ send_hello(enum hello_type type, struct
return (-1);
}
- send_packet(fd, af, &dst, ia, buf->buf, buf->wpos);
+ send_packet(fd, af, &dst, ia, ibuf_data(buf), ibuf_size(buf));
ibuf_free(buf);
return (0);
Index: labelmapping.c
===================================================================
RCS file: /cvs/src/usr.sbin/ldpd/labelmapping.c,v
retrieving revision 1.68
diff -u -p -r1.68 labelmapping.c
--- labelmapping.c 4 Mar 2017 00:15:35 -0000 1.68
+++ labelmapping.c 22 Jun 2023 08:49:55 -0000
@@ -22,6 +22,7 @@
#include <arpa/inet.h>
#include <netmpls/mpls.h>
#include <limits.h>
+#include <stddef.h>
#include <stdlib.h>
#include <string.h>
@@ -39,10 +40,8 @@ static void log_msg_mapping(int, uint16
static void
enqueue_pdu(struct nbr *nbr, struct ibuf *buf, uint16_t size)
{
- struct ldp_hdr *ldp_hdr;
-
- ldp_hdr = ibuf_seek(buf, 0, sizeof(struct ldp_hdr));
- ldp_hdr->length = htons(size);
+ if (ibuf_set_n16(buf, offsetof(struct ldp_hdr, length), size) == -1)
+ fatal(__func__);
evbuf_enqueue(&nbr->tcp->wbuf, buf);
}