summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2010-03-19 19:23:34 +0100
committerOndrej Zajicek <santiago@crfreenet.org>2010-03-22 14:00:47 +0100
commit885b3d6127ae2c5c4f17d9dba95ffe67bdf7a688 (patch)
tree7df2a8a3a8e36086b4fb1b06999a649c71cf0d28
parent5d53b80770b4927b5a8205ee0e57f80454b0abf5 (diff)
downloadbird-885b3d6127ae2c5c4f17d9dba95ffe67bdf7a688.tar
bird-885b3d6127ae2c5c4f17d9dba95ffe67bdf7a688.zip
Fixes LLS compatibility.
-rw-r--r--proto/ospf/packet.c15
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)