summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorclaudio <claudio@openbsd.org>2013-06-01 18:24:28 +0000
committerclaudio <claudio@openbsd.org>2013-06-01 18:24:28 +0000
commit938c679ba6a2ca735f0923d58c257a854ff5b2d2 (patch)
treea950df2be1b69f9515a4a40c9a8d851b6cea7daf
parentAfter sending a keepalive message in the OPENSENT state, we must move to (diff)
downloadwireguard-openbsd-938c679ba6a2ca735f0923d58c257a854ff5b2d2.tar.xz
wireguard-openbsd-938c679ba6a2ca735f0923d58c257a854ff5b2d2.zip
Use the nbr_stop_[*]timer functions
Diff from Renato Westphal
-rw-r--r--usr.sbin/ldpd/neighbor.c26
-rw-r--r--usr.sbin/ldpd/packet.c8
2 files changed, 16 insertions, 18 deletions
diff --git a/usr.sbin/ldpd/neighbor.c b/usr.sbin/ldpd/neighbor.c
index f1958488b04..835257a955c 100644
--- a/usr.sbin/ldpd/neighbor.c
+++ b/usr.sbin/ldpd/neighbor.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: neighbor.c,v 1.29 2013/06/01 18:21:45 claudio Exp $ */
+/* $OpenBSD: neighbor.c,v 1.30 2013/06/01 18:24:28 claudio Exp $ */
/*
* Copyright (c) 2009 Michele Marchetto <michele@openbsd.org>
@@ -285,14 +285,10 @@ nbr_del(struct nbr *nbr)
if (event_pending(&nbr->ev_connect, EV_WRITE, NULL))
event_del(&nbr->ev_connect);
- if (evtimer_pending(&nbr->inactivity_timer, NULL))
- evtimer_del(&nbr->inactivity_timer);
- if (evtimer_pending(&nbr->keepalive_timer, NULL))
- evtimer_del(&nbr->keepalive_timer);
- if (evtimer_pending(&nbr->keepalive_timeout, NULL))
- evtimer_del(&nbr->keepalive_timeout);
- if (evtimer_pending(&nbr->initdelay_timer, NULL))
- evtimer_del(&nbr->initdelay_timer);
+ nbr_stop_itimer(nbr);
+ nbr_stop_ktimer(nbr);
+ nbr_stop_ktimeout(nbr);
+ nbr_stop_idtimer(nbr);
nbr_mapping_list_clr(nbr, &nbr->mapping_list);
@@ -368,7 +364,8 @@ nbr_start_itimer(struct nbr *nbr)
void
nbr_stop_itimer(struct nbr *nbr)
{
- if (evtimer_del(&nbr->inactivity_timer) == -1)
+ if (evtimer_pending(&nbr->inactivity_timer, NULL) &&
+ evtimer_del(&nbr->inactivity_timer) == -1)
fatal("nbr_stop_itimer");
}
@@ -405,7 +402,8 @@ nbr_start_ktimer(struct nbr *nbr)
void
nbr_stop_ktimer(struct nbr *nbr)
{
- if (evtimer_del(&nbr->keepalive_timer) == -1)
+ if (evtimer_pending(&nbr->keepalive_timer, NULL) &&
+ evtimer_del(&nbr->keepalive_timer) == -1)
fatal("nbr_stop_ktimer");
}
@@ -439,7 +437,8 @@ nbr_start_ktimeout(struct nbr *nbr)
void
nbr_stop_ktimeout(struct nbr *nbr)
{
- if (evtimer_del(&nbr->keepalive_timeout) == -1)
+ if (evtimer_pending(&nbr->keepalive_timeout, NULL) &&
+ evtimer_del(&nbr->keepalive_timeout) == -1)
fatal("nbr_stop_ktimeout");
}
@@ -474,7 +473,8 @@ nbr_start_idtimer(struct nbr *nbr)
void
nbr_stop_idtimer(struct nbr *nbr)
{
- if (evtimer_del(&nbr->initdelay_timer) == -1)
+ if (evtimer_pending(&nbr->initdelay_timer, NULL) &&
+ evtimer_del(&nbr->initdelay_timer) == -1)
fatal("nbr_stop_idtimer");
}
diff --git a/usr.sbin/ldpd/packet.c b/usr.sbin/ldpd/packet.c
index 544d9d4e201..9e5b8bdc96b 100644
--- a/usr.sbin/ldpd/packet.c
+++ b/usr.sbin/ldpd/packet.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: packet.c,v 1.20 2013/06/01 18:16:35 claudio Exp $ */
+/* $OpenBSD: packet.c,v 1.21 2013/06/01 18:24:28 claudio Exp $ */
/*
* Copyright (c) 2009 Michele Marchetto <michele@openbsd.org>
@@ -457,10 +457,8 @@ session_close(struct nbr *nbr)
evbuf_clear(&nbr->wbuf);
event_del(&nbr->rev);
- if (evtimer_pending(&nbr->keepalive_timer, NULL))
- evtimer_del(&nbr->keepalive_timer);
- if (evtimer_pending(&nbr->keepalive_timeout, NULL))
- evtimer_del(&nbr->keepalive_timeout);
+ nbr_stop_ktimer(nbr);
+ nbr_stop_ktimeout(nbr);
close(nbr->fd);
accept_unpause();