diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2010-03-19 19:23:34 +0100 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2010-03-22 14:00:47 +0100 |
commit | 885b3d6127ae2c5c4f17d9dba95ffe67bdf7a688 (patch) | |
tree | 7df2a8a3a8e36086b4fb1b06999a649c71cf0d28 /proto/ospf | |
parent | 5d53b80770b4927b5a8205ee0e57f80454b0abf5 (diff) | |
download | bird-885b3d6127ae2c5c4f17d9dba95ffe67bdf7a688.tar bird-885b3d6127ae2c5c4f17d9dba95ffe67bdf7a688.zip |
Fixes LLS compatibility.
Diffstat (limited to 'proto/ospf')
-rw-r--r-- | proto/ospf/packet.c | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/proto/ospf/packet.c b/proto/ospf/packet.c index 95f7653..dd8fa5f 100644 --- a/proto/ospf/packet.c +++ b/proto/ospf/packet.c @@ -140,13 +140,6 @@ ospf_pkt_checkauth(struct ospf_neighbor *n, struct ospf_iface *ifa, struct ospf_ return 0; } - if (n && (ifa != n->ifa)) - { - OSPF_TRACE(D_PACKETS, "OSPF_auth: received packet from strange interface (%s/%s)", - ifa->iface->name, n->ifa->iface->name); - return 0; - } - switch(ifa->autype) { case OSPF_AUTH_NONE: @@ -178,19 +171,13 @@ ospf_pkt_checkauth(struct ospf_neighbor *n, struct ospf_iface *ifa, struct ospf_ return 0; } - if (ntohs(pkt->length) + OSPF_AUTH_CRYPT_SIZE != size) + if (ntohs(pkt->length) + OSPF_AUTH_CRYPT_SIZE > size) { OSPF_TRACE(D_PACKETS, "OSPF_auth: size mismatch (%d vs %d)", ntohs(pkt->length) + OSPF_AUTH_CRYPT_SIZE, size); return 0; } - if (pkt->u.md5.zero) - { - OSPF_TRACE(D_PACKETS, "OSPF_auth: \"zero\" area is non-zero"); - return 0; - } - tail = ((void *)pkt) + ntohs(pkt->length); if (ifa->passwords) |