summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/config.c
diff options
context:
space:
mode:
authorHenning Brauer <henning@cvs.openbsd.org>2004-01-26 14:42:48 +0000
committerHenning Brauer <henning@cvs.openbsd.org>2004-01-26 14:42:48 +0000
commit0b9c28b57c8f95b0c63149241053d1e0dd045b18 (patch)
treea377844c7ec98a0ee26e5af3ebf332a5b8d4a5c0 /usr.sbin/bgpd/config.c
parentdd69137bb7d8747d22ca2e6539f6c80cf3467d08 (diff)
first cut at tcpmd5 setup seupport from within bgpd. works so far.
with help from hshoexer@ and markus@ ok claudio@ hshoexer@ markus@
Diffstat (limited to 'usr.sbin/bgpd/config.c')
-rw-r--r--usr.sbin/bgpd/config.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/usr.sbin/bgpd/config.c b/usr.sbin/bgpd/config.c
index 380ee3cc3f9..e88b20eed1e 100644
--- a/usr.sbin/bgpd/config.c
+++ b/usr.sbin/bgpd/config.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: config.c,v 1.19 2004/01/24 17:38:30 henning Exp $ */
+/* $OpenBSD: config.c,v 1.20 2004/01/26 14:42:47 henning Exp $ */
/*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -55,6 +55,11 @@ merge_config(struct bgpd_config *xconf, struct bgpd_config *conf,
p->conf.ebgp = (p->conf.remote_as != conf->as);
if (!p->conf.id)
p->conf.id = get_id(p);
+ if (p->conf.tcp_sign_key[0] &&
+ pfkey_signature((struct sockaddr *)&p->conf.local_addr,
+ (struct sockaddr *)&p->conf.remote_addr,
+ p->conf.tcp_sign_key) == -1)
+ return (1);
}
memcpy(xconf, conf, sizeof(struct bgpd_config));