update to lldpd-1.0.13, includes a fix for a heap overflow when reading

SONMP (SynOptics Network Management Protocol) frames
This commit is contained in:
sthen 2021-11-14 11:25:41 +00:00
parent d879695973
commit 80b9a4a238
3 changed files with 5 additions and 43 deletions

View File

@ -1,9 +1,8 @@
# $OpenBSD: Makefile,v 1.51 2021/09/21 18:34:25 sthen Exp $
# $OpenBSD: Makefile,v 1.52 2021/11/14 11:25:41 sthen Exp $
COMMENT= LLDP (802.1ab)/CDP/EDP/SONMP/FDP daemon and SNMP subagent
DISTNAME= lldpd-1.0.12
REVISION= 1
DISTNAME= lldpd-1.0.13
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
LLDP-MIB-200505060000Z.mib:0
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
@ -32,6 +31,7 @@ FLAVOR?=
LIB_DEPENDS= devel/libevent2
SEPARATE_BUILD= Yes
USE_GMAKE= Yes
DEBUG_PACKAGES= ${BUILD_PACKAGES}
CONFIGURE_STYLE= gnu

View File

@ -1,4 +1,4 @@
SHA256 (LLDP-MIB-200505060000Z.mib) = 9vbR8AYyv8zeSvq8b9fZT7R/opZl2d8XXO1gtQnndpU=
SHA256 (lldpd-1.0.12.tar.gz) = 0ZTGW1ucmNGUooQt3HW6F+ve5+vVSZ+BqY0kAxYo2vE=
SHA256 (lldpd-1.0.13.tar.gz) = 1jmCf9iidyDRv9lLxS7KJK9j3cw8nS2mB4h3iInYRwE=
SIZE (LLDP-MIB-200505060000Z.mib) = 77317
SIZE (lldpd-1.0.12.tar.gz) = 1965028
SIZE (lldpd-1.0.13.tar.gz) = 1973988

View File

@ -1,38 +0,0 @@
$OpenBSD: patch-src_daemon_interfaces-bsd_c,v 1.5 2021/09/21 18:34:25 sthen Exp $
From b78587a4c4942fa56b7ac78293bb67ef70f834f7 Mon Sep 17 00:00:00 2001
From: Vincent Bernat <vincent@bernat.ch>
Date: Sun, 29 Aug 2021 21:57:07 +0200
Subject: [PATCH] interfaces-bsd: do not consider an interface when it is down
At least on OpenBSD, an interface can be oper down while
`IFF_RUNNING`. Check the link state and removes the `IFF_RUNNING` flag
in this case. Something similar may work with FreeBSD and NetBSD, but
it may not be needed. It does not work with MacOS.
Fix #474
---
src/daemon/interfaces-bsd.c | 9 +++++++++
1 file changed, 9 insertions(+)
Index: src/daemon/interfaces-bsd.c
--- src/daemon/interfaces-bsd.c.orig
+++ src/daemon/interfaces-bsd.c
@@ -433,8 +433,16 @@ ifbsd_extract(struct lldpd *cfg,
"grabbing information on interface %s",
ifaddr->ifa_name);
device = ifbsd_extract_device(cfg, ifaddr);
- if (device)
+ if (device) {
+#if defined HOST_OS_OPENBSD
+ /* On OpenBSD, the interface can have IFF_RUNNING but be down. */
+ struct if_data *ifdata;
+ ifdata = ifaddr->ifa_data;
+ if (!LINK_STATE_IS_UP(ifdata->ifi_link_state))
+ device->flags &= ~IFF_RUNNING;
+#endif
TAILQ_INSERT_TAIL(interfaces, device, next);
+ }
break;
case AF_INET:
case AF_INET6: