Netmask checking for hello packets added.

This commit is contained in:
Ondrej Filip 1999-05-14 08:46:06 +00:00
parent 7426ee3d49
commit 67ff91302f
2 changed files with 15 additions and 3 deletions

View file

@ -27,10 +27,22 @@ void
ospf_hello_rx(struct ospf_hello_packet *ps, struct proto *p, ospf_hello_rx(struct ospf_hello_packet *ps, struct proto *p,
struct ospf_iface *ifa) struct ospf_iface *ifa)
{ {
char sip[100]; /* FIXME: Should be smaller */
if(ipa_mklen(ipa_ntoh(ps->netmask))!=ifa->iface->addr->pxlen)
{
ip_ntop(ps->netmask,sip);
log("%s: Bad OSPF packet from %d received: bad netmask %s.",
p->name, ntohl(((struct ospf_packet *)ps)->routerid), sip);
/*ip_ntop(ps->netmask, sip));*/
log("%s: Discarding",p->name);
return;
}
switch(ifa->state) switch(ifa->state)
{ {
case OSPF_IS_DOWN: case OSPF_IS_DOWN:
die("%s: Iface %s in down state?",p->name, ifa->iface->name); die("%s: Iface %s in down state?", p->name, ifa->iface->name);
break; break;
case OSPF_IS_WAITING: case OSPF_IS_WAITING:
DBG(p->name); DBG(p->name);

View file

@ -102,8 +102,8 @@ struct ospf_packet {
}; };
struct ospf_hello_packet { struct ospf_hello_packet {
struct ospf_packet; struct ospf_packet ospf_packet;
u32 netmask; ip_addr netmask;
u16 hello_int; u16 hello_int;
u8 options; u8 options;
u8 priority; u8 priority;