- fixed references in lsa.c using sizeof(size) instead of size (was
resulting in seg faults in checksum functions)
- add_to_nlist: added code to properly handle case where list already
exists and new element should go before the first current element
(in this specific case, previous code made assignment to member of null
prev item)
- add_interface: changed all references to local variable 'ospf_sock' to
be new_if.ospf_sock; ospf_interface member was not being assigned
resulting in sendto later attempting to use socket 0
- load_interfaces: changed MTU and net mask assignment for interfaces to
use separate ioctl calls with the appropriate flag, data was not being
pulled into the ifreq with the SIOCGIFCONF ioctl call; also changed all
ioctl calls to pass the specific interface ifreq rather than the array,
this is now resulting in proper speed/duplex values be retrieved
- load_interfaces: changed new replay_interface.ifr assignment to memcpy
instead of ptr copy as subsequent ioctl calls were making changes to
original ifreq
- build_ospf_packet: changed ospf_header.packet_length to be the
htons(size) instead of subtracting the iphdr length from this value; as
these are out going packets iphdr is already not included
- add_interface: added update of ospf.max_socket to keep track of the
highest socket number of valid 'ospf_interface's
- remove_interface: added recalc of ospf.max_socket after removing the
relevant interface from the ospf.iflist (but only if max_socket matches
the removed interface's socket)
- recalc_max_socket: added function to replay.c, it searches the
ospf.iflist to find the highest socket number
- add_lsa: added check for tmp_item as it was being used in a comparison
of members that was excessible when tmp_item was NULL
- set_router_lsa: corrected reference to sizeof(size) (should just be
'size')
- remove_lsa: fixed issue where lsa was removed from appropriate
lsa_list in lsdb but result of remove was not reassigned back to
lsa_list[x]
- remove_event: now frees the removed event
- remove_object_events: now moves current item ptr to next in eventlist
before removing the matching event (previous caused segfault)
- process_packet: ignore packets from self; this was causing a hello
flood and self added to neighbors in hello packets