From 8773bb6f889adead299912c0c291d34f13c0e13c Mon Sep 17 00:00:00 2001 From: Munechika SUMIKAWA Date: Tue, 6 Aug 2002 05:17:09 +0000 Subject: Fix the critical bug in capability negotiation. Obtained from: NetBSD pkgsrc --- net/zebra/Makefile | 2 +- net/zebra/files/patch-bgpd | 79 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 net/zebra/files/patch-bgpd (limited to 'net/zebra') diff --git a/net/zebra/Makefile b/net/zebra/Makefile index 132c61689633..046521fb8db3 100644 --- a/net/zebra/Makefile +++ b/net/zebra/Makefile @@ -7,7 +7,7 @@ PORTNAME= zebra PORTVERSION= 0.93a -PORTREVSION= 1 +PORTREVSION= 2 CATEGORIES= net ipv6 MASTER_SITES= ftp://ftp.zebra.org/pub/zebra/ \ ftp://ftp.ripe.net/mirrors/sites/ftp.zebra.org/pub/zebra/ \ diff --git a/net/zebra/files/patch-bgpd b/net/zebra/files/patch-bgpd new file mode 100644 index 000000000000..922319cbcb8b --- /dev/null +++ b/net/zebra/files/patch-bgpd @@ -0,0 +1,79 @@ +diff -u1 bgpd/bgp_fsm.c /home/itojun/work/zebra/zebra/bgpd/bgp_fsm.c +--- bgpd/bgp_fsm.c Wed Jun 19 17:05:38 2002 ++++ /home/itojun/work/zebra/zebra/bgpd/bgp_fsm.c Sat Aug 3 21:05:48 2002 +@@ -348,2 +348,5 @@ + ++ /* Send capability. */ ++ SET_FLAG (peer->sflags, PEER_STATUS_CAPABILITY_OPEN); ++ + /* Delete all existing events of the peer. */ +$NetBSD: patch-bb,v 1.1 2002/08/03 12:27:20 itojun Exp $ + +diff -u1 bgpd/bgp_open.c /home/itojun/work/zebra/zebra/bgpd/bgp_open.c +--- bgpd/bgp_open.c Wed Jun 19 17:05:38 2002 ++++ /home/itojun/work/zebra/zebra/bgpd/bgp_open.c Sat Aug 3 21:05:48 2002 +@@ -670,7 +670,2 @@ + +- /* Do not send capability. */ +- if (! CHECK_FLAG (peer->sflags, PEER_STATUS_CAPABILITY_OPEN) +- || CHECK_FLAG (peer->flags, PEER_FLAG_DONT_CAPABILITY)) +- return; +- + /* When the peer is IPv4 unicast only, do not send capability. */ +diff -u1 bgpd/bgp_packet.c /home/itojun/work/zebra/zebra/bgpd/bgp_packet.c +--- bgpd/bgp_packet.c Sat Jun 29 15:20:39 2002 ++++ /home/itojun/work/zebra/zebra/bgpd/bgp_packet.c Sat Aug 3 21:05:49 2002 +@@ -758,3 +758,5 @@ + /* Set capability code. */ +- bgp_open_capability (s, peer); ++ if (CHECK_FLAG (peer->sflags, PEER_STATUS_CAPABILITY_OPEN) && ++ ! CHECK_FLAG (peer->flags, PEER_FLAG_DONT_CAPABILITY)) ++ bgp_open_capability (s, peer); + +diff -u1 bgpd/bgp_vty.c /home/itojun/work/zebra/zebra/bgpd/bgp_vty.c +--- bgpd/bgp_vty.c Mon Jul 8 22:31:01 2002 ++++ /home/itojun/work/zebra/zebra/bgpd/bgp_vty.c Sat Aug 3 21:05:54 2002 +@@ -98,8 +98,2 @@ + +- if (peer_address_self_check (&su)) +- { +- vty_out (vty, "%% Cannot configure the local system as neighbor%s", VTY_NEWLINE); +- return NULL; +- } +- + peer = peer_lookup (bgp, &su); +@@ -128,8 +122,2 @@ + { +- if (peer_address_self_check (&su)) +- { +- vty_out (vty, "%% Cannot configure the local system as neighbor%s", VTY_NEWLINE); +- return NULL; +- } +- + peer = peer_lookup (bgp, &su); +@@ -1123,3 +1111,4 @@ + { +- vty_out (vty, "%% Cannot configure the local system as neighbor%s", VTY_NEWLINE); ++ vty_out (vty, "%% Can not configure the local system as neighbor%s", ++ VTY_NEWLINE); + return CMD_WARNING; +@@ -1200,9 +1189,2 @@ + { +- if (peer_address_self_check (&su)) +- { +- vty_out (vty, "%% Cannot configure the local system as neighbor%s", +- VTY_NEWLINE); +- return CMD_WARNING; +- } +- + peer = peer_lookup (vty->index, &su); +@@ -1410,2 +1392,9 @@ + vty_out (vty, "%% Configure the peer-group first%s", VTY_NEWLINE); ++ return CMD_WARNING; ++ } ++ ++ if (peer_address_self_check (&su)) ++ { ++ vty_out (vty, "%% Can not configure the local system as neighbor%s", ++ VTY_NEWLINE); + return CMD_WARNING; -- cgit v1.2.3