mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-22 17:51:53 +00:00
Bug fix in checksum calculation.
This commit is contained in:
parent
b1693b8f74
commit
a4c2ee717c
@ -496,10 +496,7 @@ ospf_tx_hook(sock *sk)
|
|||||||
ifa=(struct ospf_iface *)(sk->data);
|
ifa=(struct ospf_iface *)(sk->data);
|
||||||
|
|
||||||
p=(struct proto *)(ifa->proto);
|
p=(struct proto *)(ifa->proto);
|
||||||
DBG(p->name);
|
DBG("%s: TX_Hook called on interface %s\n", p->name,sk->iface->name);
|
||||||
DBG(": TX_Hook called on interface ");
|
|
||||||
DBG(sk->iface->name);
|
|
||||||
DBG(".\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -511,10 +508,7 @@ ospf_err_hook(sock *sk, int err)
|
|||||||
ifa=(struct ospf_iface *)(sk->data);
|
ifa=(struct ospf_iface *)(sk->data);
|
||||||
|
|
||||||
p=(struct proto *)(ifa->proto);
|
p=(struct proto *)(ifa->proto);
|
||||||
DBG(p->name);
|
DBG("%s: Err_Hook called on interface %s\n", p->name,sk->iface->name);
|
||||||
DBG(": Err_Hook called on interface ");
|
|
||||||
DBG(sk->iface->name);
|
|
||||||
DBG(".\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This will change ! */
|
/* This will change ! */
|
||||||
@ -606,6 +600,7 @@ fill_ospf_pkt_hdr(struct ospf_iface *ifa, void *buf, u8 h_type)
|
|||||||
pkt->routerid=htonl(p->cf->global->router_id);
|
pkt->routerid=htonl(p->cf->global->router_id);
|
||||||
pkt->areaid=htonl(ifa->area);
|
pkt->areaid=htonl(ifa->area);
|
||||||
pkt->autype=htons(ifa->autype);
|
pkt->autype=htons(ifa->autype);
|
||||||
|
pkt->checksum=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -656,8 +651,9 @@ hello_timer_hook(timer *timer)
|
|||||||
|
|
||||||
op->length=ntohs(length);
|
op->length=ntohs(length);
|
||||||
|
|
||||||
/* Do authentification */
|
/* FIXME Do authentification */
|
||||||
|
|
||||||
|
/* Count checksum */
|
||||||
op->checksum=ipsum_calculate(op,sizeof(struct ospf_packet)-8,
|
op->checksum=ipsum_calculate(op,sizeof(struct ospf_packet)-8,
|
||||||
&(pkt->netmask),length-sizeof(struct ospf_packet),NULL);
|
&(pkt->netmask),length-sizeof(struct ospf_packet),NULL);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user