summaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2010-09-06 08:36:34 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2010-09-06 08:36:34 +0000
commit365b114d59451bd246482f8b67ab761f01b240c7 (patch)
treefda288cf7b86cc8646a8c07257278b2b6a89ddb0 /usr.sbin
parentaae542ec0548e733acf0d2920d954b9875d2598c (diff)
Only run the nbr_idtimer() when this side is acting as master (establishing
the tcp session). Calling nbr_act_session_establish() on slave systems can crash ldpd because active events are reinitialized. OK michele@
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/ldpd/neighbor.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.sbin/ldpd/neighbor.c b/usr.sbin/ldpd/neighbor.c
index fdb337b8498..f28f9f536e6 100644
--- a/usr.sbin/ldpd/neighbor.c
+++ b/usr.sbin/ldpd/neighbor.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: neighbor.c,v 1.20 2010/09/06 08:28:44 claudio Exp $ */
+/* $OpenBSD: neighbor.c,v 1.21 2010/09/06 08:36:33 claudio Exp $ */
/*
* Copyright (c) 2009 Michele Marchetto <michele@openbsd.org>
@@ -441,6 +441,9 @@ nbr_idtimer(int fd, short event, void *arg)
{
struct nbr *nbr = arg;
+ if (ntohl(nbr->addr.s_addr) >= ntohl(nbr->iface->addr.s_addr))
+ return;
+
log_debug("nbr_idtimer: neighbor ID %s peerid %lu", inet_ntoa(nbr->id),
nbr->peerid);