mirror of
				https://gitlab.labs.nic.cz/labs/bird.git
				synced 2024-05-11 16:54:54 +00:00 
			
		
		
		
	Checksum control added.
This commit is contained in:
		| @@ -19,6 +19,7 @@ | ||||
| #include "lib/socket.h" | ||||
| #include "lib/lists.h" | ||||
| #include "lib/timer.h" | ||||
| #include "lib/checksum.h" | ||||
|  | ||||
| #include "ospf.h" | ||||
|  | ||||
| @@ -37,6 +38,12 @@ ospf_hello_rx(struct ospf_hello_packet *ps, struct proto *p, | ||||
|       DBG(ifa->iface->name); | ||||
|       DBG("\n"); | ||||
|       break; | ||||
|     case OSPF_IS_PTP: | ||||
|     case OSPF_IS_DROTHER: | ||||
|     case OSPF_IS_BACKUP: | ||||
|     case OSPF_IS_DR: | ||||
|       DBG("OSPF, RX, Unimplemented state.\n"); | ||||
|       break; | ||||
|     default: | ||||
|       die("%s: Iface %s in unknown state?",p->name, ifa->iface->name); | ||||
|       break; | ||||
| @@ -85,6 +92,14 @@ ospf_rx_hook(sock *sk, int size) | ||||
|     return(1); | ||||
|   } | ||||
|  | ||||
|   if(!ipsum_verify(ps, 16,(void *)ps+sizeof(struct ospf_packet), | ||||
|     ntohs(ps->length)-sizeof(struct ospf_packet), NULL)) | ||||
|   { | ||||
|     log("%s: Bad packet received: bad checksum", p->name); | ||||
|     log("%s: Discarding",p->name); | ||||
|     return(1); | ||||
|   } | ||||
|  | ||||
|   /* FIXME: Count checksum */ | ||||
|   /* FIXME: Do authetification */ | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user