1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-16 03:24:07 +00:00
freebsd-ports/net/zebra-pj/files/patch-bgpd
Munechika SUMIKAWA 8773bb6f88 Fix the critical bug in capability negotiation.
Obtained from:	NetBSD pkgsrc
2002-08-06 05:17:09 +00:00

80 lines
2.7 KiB
Plaintext

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;