struct MD5Context ctxt;
char password[OSPF_AUTH_CRYPT_SIZE];
+ pkt->checksum = 0;
pkt->autype = htons(ifa->autype);
+ bzero(&pkt->u, sizeof(union ospf_auth));
+
+ /* Compatibility note: pkt->u may contain anything if autype is
+ none, but nonzero values do not work with Mikrotik OSPF */
switch(ifa->autype)
{
case OSPF_AUTH_SIMPLE:
- bzero(&pkt->u, sizeof(union ospf_auth));
passwd = password_find(ifa->passwords, 1);
if (!passwd)
{
}
password_cpy(pkt->u.password, passwd->password, sizeof(union ospf_auth));
case OSPF_AUTH_NONE:
- pkt->checksum = 0;
pkt->checksum = ipsum_calculate(pkt, sizeof(struct ospf_packet) -
sizeof(union ospf_auth), (pkt + 1),
ntohs(pkt->length) -
return;
}
- pkt->checksum = 0;
-
/* Perhaps use random value to prevent replay attacks after
reboot when system does not have independent RTC? */
if (!ifa->csn)