summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorclaudio <claudio@openbsd.org>2009-07-24 13:09:29 +0000
committerclaudio <claudio@openbsd.org>2009-07-24 13:09:29 +0000
commit54486bc835d7b0be1ae6920e927aea963c0a01c6 (patch)
treee0d80e314d05ff98d38209f9df307da5235e104e
parentfor every packet we forwarded, we copied the first 68 bytes of it in case (diff)
downloadwireguard-openbsd-54486bc835d7b0be1ae6920e927aea963c0a01c6.tar.xz
wireguard-openbsd-54486bc835d7b0be1ae6920e927aea963c0a01c6.zip
RECONF_REINIT is a bad initial reconf_action state for templates.
getpeerbyip() initializes the full peer and so there is no need to do the work a second time -- especially since there it was already in the wrong state resulting in strange behaviour. OK henning@
-rw-r--r--usr.sbin/bgpd/session.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.sbin/bgpd/session.c b/usr.sbin/bgpd/session.c
index 4f7f787272c..29dc559a36b 100644
--- a/usr.sbin/bgpd/session.c
+++ b/usr.sbin/bgpd/session.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: session.c,v 1.293 2009/06/07 05:56:24 eric Exp $ */
+/* $OpenBSD: session.c,v 1.294 2009/07/24 13:09:29 claudio Exp $ */
/*
* Copyright (c) 2003, 2004, 2005 Henning Brauer <henning@openbsd.org>
@@ -2667,7 +2667,7 @@ getpeerbyip(struct sockaddr *ip)
newpeer->conf.template = 0;
newpeer->conf.cloned = 1;
newpeer->state = newpeer->prev_state = STATE_NONE;
- newpeer->conf.reconf_action = RECONF_REINIT;
+ newpeer->conf.reconf_action = RECONF_KEEP;
newpeer->rbuf = NULL;
init_peer(newpeer);
bgp_fsm(newpeer, EVNT_START);