]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Don't accept incoming connections when the neighbor is not up.
authorMartin Mares <mj@ucw.cz>
Tue, 20 Jun 2000 07:49:08 +0000 (07:49 +0000)
committerMartin Mares <mj@ucw.cz>
Tue, 20 Jun 2000 07:49:08 +0000 (07:49 +0000)
proto/bgp/bgp.c

index 6bdb5fc013d630db88fd1576685b0834977876f6..72eba1af3ce3063cd40546175dd37ce9609f96f9 100644 (file)
@@ -383,7 +383,7 @@ bgp_incoming_connection(sock *sk, int dummy)
        if (ipa_equal(p->cf->remote_ip, sk->daddr))
          {
            match = 1;
-           if (p->p.proto_state == PS_START || p->p.proto_state == PS_UP)
+           if ((p->p.proto_state == PS_START || p->p.proto_state == PS_UP) && p->neigh && p->neigh->iface)
              {
                BGP_TRACE(D_EVENTS, "Incoming connection from %I port %d", sk->daddr, sk->dport);
                if (p->incoming_conn.sk)
@@ -488,6 +488,7 @@ bgp_start(struct proto *P)
   p->outgoing_conn.state = BS_IDLE;
   p->incoming_conn.state = BS_IDLE;
   p->startup_delay = 0;
+  p->neigh = NULL;
 
   bgp_counter++;
   bgp_setup_listen_sk();