summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd
diff options
context:
space:
mode:
authorHenning Brauer <henning@cvs.openbsd.org>2009-02-25 19:18:05 +0000
committerHenning Brauer <henning@cvs.openbsd.org>2009-02-25 19:18:05 +0000
commit66c5025e30b2accbce550b2b478ce012e9da04a1 (patch)
tree3e470c0e8f8efa35d3f48f511eb4e504293d46e1 /usr.sbin/bgpd
parentc5359fb3cb5609ac3f148fa2d2b0124a37930657 (diff)
add a stupid workaround for a race somewhere in the crypto code in the
kernel. a one second sleep has made it go away in all my tests. ok theo
Diffstat (limited to 'usr.sbin/bgpd')
-rw-r--r--usr.sbin/bgpd/pfkey.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/usr.sbin/bgpd/pfkey.c b/usr.sbin/bgpd/pfkey.c
index bd0652ffb7f..23179f6d699 100644
--- a/usr.sbin/bgpd/pfkey.c
+++ b/usr.sbin/bgpd/pfkey.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pfkey.c,v 1.34 2006/10/26 14:26:49 henning Exp $ */
+/* $OpenBSD: pfkey.c,v 1.35 2009/02/25 19:18:04 henning Exp $ */
/*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -497,6 +497,8 @@ pfkey_sa_remove(struct bgpd_addr *src, struct bgpd_addr *dst, u_int32_t *spi)
int
pfkey_md5sig_establish(struct peer *p)
{
+ sleep(1);
+
if (!p->auth.spi_out)
if (pfkey_sa_add(&p->auth.local_addr, &p->conf.remote_addr,
p->conf.auth.md5key_len, p->conf.auth.md5key,