]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Fixes LLS compatibility.
authorOndrej Zajicek <santiago@crfreenet.org>
Fri, 19 Mar 2010 18:23:34 +0000 (19:23 +0100)
committerOndrej Zajicek <santiago@crfreenet.org>
Mon, 22 Mar 2010 13:00:47 +0000 (14:00 +0100)
proto/ospf/packet.c

index 95f7653c6a7f0043713eb64ea964cfd956b9b12d..dd8fa5f03b53dcd2e0d4043558f8cd4d34f35ab9 100644 (file)
@@ -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)