mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-22 09:41:54 +00:00
OSPF: Fix minor issue in TTL check
The TTL check must be done after instance ID dispatch to avoid warnings when a physical iface is shared by multiple instances and some use TTL security and some not.
This commit is contained in:
parent
f097f7659c
commit
2549300b54
@ -270,9 +270,6 @@ ospf_rx_hook(sock *sk, uint len)
|
|||||||
if (pkt == NULL)
|
if (pkt == NULL)
|
||||||
DROP("bad IP header", len);
|
DROP("bad IP header", len);
|
||||||
|
|
||||||
if (ifa->check_ttl && (sk->rcv_ttl < 255))
|
|
||||||
DROP("wrong TTL", sk->rcv_ttl);
|
|
||||||
|
|
||||||
if (len < sizeof(struct ospf_packet))
|
if (len < sizeof(struct ospf_packet))
|
||||||
DROP("too short", len);
|
DROP("too short", len);
|
||||||
|
|
||||||
@ -379,6 +376,10 @@ found:
|
|||||||
if (ipa_equal(sk->laddr, ifa->des_routers) && (ifa->sk_dr == 0))
|
if (ipa_equal(sk->laddr, ifa->des_routers) && (ifa->sk_dr == 0))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
/* TTL check must be done after instance dispatch */
|
||||||
|
if (ifa->check_ttl && (sk->rcv_ttl < 255))
|
||||||
|
DROP("wrong TTL", sk->rcv_ttl);
|
||||||
|
|
||||||
if (rid == p->router_id)
|
if (rid == p->router_id)
|
||||||
DROP1("my own router ID");
|
DROP1("my own router ID");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user