+2005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+ * ospf_packet.c: (ospf_read) Fix bug: must check for state ISM_Down,
+ not for event ISM_InterfaceDown. And improve the message by
+ adding the interface flags.
+
+2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+ * ospf_network.c: (ospf_sock_init) Save errno before calling
+ ospfd_privs.change.
+
+2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+ * ospf_packet.c: (ospf_packet_add) If oi->obuf is NULL, print
+ an error message and return.
+ (ospf_read) If the interface state is ISM_InterfaceDown, issue
+ a warning message and ignore the packet.
+
+2005-01-10 Greg Troxel <gdt@fnord.ir.bbn.com>
+
+ * ospf_packet.h: Remove commented out definition of
+ OSPF_MAX_PACKET; neither it or the uncommented one are used any more.
+
+ * ospf_packet.c (ospf_make_ls_upd): Leave room for authentication
+ when deciding if an update will fit.
+ (ospf_packet_authspace): Factor out calculation of size required
+ for authentication.
+ (ospf_make_db_desc): Use ospf_max_packet, not OSPF_MAX_PACKET.
+ Don't confuse readers that there is a macro.
+
+2004-12-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+ * ospf_network.c: Improve all setsockopt error messages to give detailed
+ information on the arguments.
+
+2004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+ * ospf_packet.c: (ospf_db_desc) Reduce severity of "Negotiation done"
+ messages from LOG_WARNING to LOG_INFO, since this seems to be
+ normal.
+
+2004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+ * ospf_packet.c: (ospf_read) Always look up the interface if
+ ospf_recv_packet returns NULL ifp, since some platforms such
+ as Solaris 8 appear to support ifindex retrieval but don't.
+
+2004-12-22 Hasso Tepper <hasso at quagga.net>
+
+ * ospf_dump.c: Show debug configuration in vtysh.
+ * ospf_vty.c: Fix "show ip ospf" output. Router can't be elected in
+ any case if it's configured as "translate-never".
+ * ospf_lsdb.[ch]: New function to calculate sum of checksums.
+ * ospf_vty.c: Bugfix to show really number of AS external LSAs, not
+ number of all LSAs with AS scope, this includes opaque as LSAs as
+ well, show this number separately. Show numbers and sums of
+ checksums for each type of LSAs.
+ * ospf_lsa.c: Calculate checksum before putting LSA into database.
+
+2004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+ * ospf_interface.h: Declare new function ospf_default_iftype.
+ * ospf_interface.c: (ospf_default_iftype) New function to centralize
+ this logic in one place.
+ * ospf_zebra.c: (ospf_interface_add) Use new function
+ ospf_default_iftype.
+ * ospf_vty.c: (no_ip_ospf_network,config_write_interface) Fix logic
+ by using new function ospf_default_iftype.
+
+2004-12-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+ * ospf_packet.c: (ospf_db_desc) Should be static, not global.
+ (ospf_hello,ospf_db_desc,ospf_ls_upd,ospf_ls_ack) Improve warning
+ messages to include identifying information (e.g. router id).
+ * ospf_nsm.c: (nsm_change_state) Improve info message to include
+ router id and state names.
+
+2004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
+
+ * ospf_apiserver.c (ospf_apiserver_term): Obtain struct
+ ospf_apiserver * from listnode. Remove unused variables. Follows
+ suggestion from Jay Fenlason.
+
+2004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+ * *.c: Change level of debug messages to LOG_DEBUG.
+
+2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+ * ospf_main.c: (main) The 2nd argument to openzlog has been removed.
+
+2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+ * ospf_packet.c: (ospf_db_desc) Reduce priority on a debug message
+ from LOG_NOTICE to LOG_DEBUG.
+
+2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+ * ospf_main.c: (sigint) Use zlog_notice for termination message.
+ (main) Issue a startup announcement using zlog_notice.
+
+2004-11-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+ * ospf_packet.c: (ospf_db_desc_proc) Fix spelling of packet in warning
+ message and in comment.
+ (ospf_db_desc) Warning message that a packet is being discarded
+ should give the router id of the packet source. Fix spelling
+ of packet in two warning messages.
+ (ospf_ls_req) Warning message that a link state request is being
+ discarded should give the router id of the neighbor that sent it.
+
+2004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+ * ospf_main.c: Remove #include "debug.h" (was not being used, and
+ lib/debug.h has now been deleted).
+
+2004-11-25 Hasso Tepper <hasso at quagga.net>
+
+ * ospf_main.c: Make group to run as configurable.
+
+2004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
+
+ * ospf_packet.c (ospf_recv_packet): Assume CMSG_SPACE is present
+ and works (lib/zebra.h provides if OS doesn't).
+
+2004-11-15 Paul Jakma <paul@dishone.st>
+
+ * ospf_{apiserver,te}.c: ospf_lsa_free's should be ospf_lsa_unlock.
+
+2004-11-12 Paul Jakma <paul@dishone.st>
+
+ * ospf_ia.c: (process_summary_lsa) Only an ABR has any reason to
+ ignore stub area summary default. Even so it seems a strange
+ check, add a comment to that effect.
+
+2004-11-04 Paul Jakma <paul@dishone.st>
+
+ * ospfd.c: (ospf_network_match_iface) revert to previous network
+ statement match behaviour.
+
+2004-11-02 Paul Jakma <paul@dishone.st>
+
+ * ospf_packet.c: (ospf_write_frags) remove iov arg, msg already points
+ to it. Add convenience pointer to msg->msg_iov[1], and use this,
+ fixing the unfortunate borkenness introduced in moving of this code
+ to a function.
+ (ospf_write) remove iovp and fix up call to previous.
+ (ospf_ls_upd_packet_new) cast size to long int - unfortunately
+ glibc's size_t format modifier is not portable.
+
+2004-10-31 Paul Jakma <paul@dishone.st>
+
+ * ospf_packet.c: (ospf_write_frags) Add debug output
+ (ospf_write) set type early, so we can pass it to
+ ospf_write_frags.
+ (ospf_ls_upd_packet_new) print size in debug output when too large
+ packet is encountered.
+ * ospf_zebra.c: (ospf_distribute_list_update_timer) Ugly misuse of
+ THREAD_ARG to store an integer, but it should at least use same
+ same type to retrieve the value. Assert value is sane.
+
+2004-10-22 Paul Jakma <paul@dishone.st>
+
+ * ospf_network.c: (ospf_sock_init) call neutral setsock_ifindex()
+ function.
+ * ospf_packet.c: (ospf_read) manually look up ifindex
+ if system could not have returned one, eg openbsd, thanks to Rivo
+ Nurges for highlighting problem and fix.
+ Change setsockopt_pktinfo to setsockopt_ifindex.
+
+2004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * ospf_snmp.c: (ospf_snmp_if_update) Fix logic to handle PtP links
+ with dedicated subnets properly.
+ * ospf_lsa.c: (lsa_link_ptop_set) ditto.
+ * ospfd.c: (ospf_network_match_iface) ditto.
+ (ospf_network_run) ditto.
+ * ospf_interface.c: (ospf_if_is_configured) ditto.
+ (ospf_if_lookup_by_prefix) ditto.
+ (ospf_if_lookup_recv_if) ditto.
+ * ospf_vty.c: (show_ip_ospf_interface_sub) Display the peer or
+ broadcast address if present.
+
+2004-10-13 Hasso Tepper <hasso at quagga.net>
+
+ * ospf_main.c: Unbreak compilation with ospfapi disabled.
+ * ospf_snmp.c: Remove defaults used to initialize smux connection to
+ snmpd. Connection is initialized only if smux peer is configured.
+
+2004-10-12 Hasso Tepper <hasso at quagga.net>
+
+ * ospf_main.c, ospf_opaque.c: Unbreak ospfclient compilation - move
+ static variable from ospf_main.c into ospf_opaque.c.
+
+2004-10-11 Hasso Tepper <hasso at quagga.net>
+
+ * ospf_main.c, ospf_opaque.c: Disable ospfapi init by default. New
+ command line switch to enable it.
+
+2004-10-11 Paul Jakma <paul@dishone.st>
+
+ * ospf_dump.c: (ospf_ip_header_dump) Assume header is in host order
+ remove ntohs that should have dissappeared. Take struct ip
+ as argument, caller has to know there's an IP header at start of
+ stream anyway.
+ * ospf_dump.h: update declaration of ospf_ip_header_dump.
+ * ospf_packet.c: (ospf_write) correct call to
+ sockopt_iphdrincl_swab_htosys which was munging the header.
+ (ospf_recv_packet) ip_len is needed for old OpenBSD fixup.
+ (ospf_read) sockopt_iphdrincl_swab_systoh ip header as soon as
+ we have it.
+ * (global) Const char update and signed/unsigned fixes.
+ * (various headers) size defines should be unsigned.
+ * ospf_interface.h: remove duplicated defines, include the
+ authoritative header - though, these defines should probably
+ be moved to a dedicated header, or ospfd.h.
+ * ospf_lsa.h: (struct lsa) ls_seqnum should be unsigned.
+ * ospf_packet.c: (ospf_write) cast result of shift to unsigned.
+
+2004-10-08 Hasso Tepper <hasso at quagga.net>
+
+ * *.[c|h]: Fix compiler warnings: make some strings const, signed ->
+ unsigned, remove unused variables etc.
+
+2004-10-07 Greg Troxel <gdt@claude.ir.bbn.com>
+
+ * ospf_apiserver.c (ospf_apiserver_unregister_opaque_type): Don't
+ use of variable names 'node' and 'nextnode' to avoid possible
+ conflict with list macros. Move variable declaration inside for
+ loop after a statement to top of function.
+
+2004-10-07 Paul Jakma <paul@dishone.st>
+
+ * ospf_snmp.c: Missed list typedef update
+ * ospf_dump.c: Include sockopt.h for header swab functions.
+
+2004-10-05 Paul Jakma <paul@dishone.st>
+
+ * ospf_packet.c: replace ospf_swap_iph_to... with
+ sockopt_iphdrincl_swab_...
+
+2004-10-03 James R. Leu <jleu at mindspring.com>
+
+ * ospf_zebra.c: Read router id related messages from zebra daemon.
+ Schedule router-id update thread if it's changed.
+ * ospfd.c: Remove own router-id selection function. Use router id from
+ zebra daemon if it isn't manually overriden in configuration.
+
+2004-09-27 Paul Jakma <paul@dishone.st>
+
+ * ospf_dump.c: (ospf_ip_header_dump) Use HAVE_IP_HDRINCL_BSD_ORDER
+ Apply to offset too. Print ip_cksum, lets not worry about
+ possible 2.0.37 compile problems.
+ * ospf_packet.c: (ospf_swap_iph_to{n,h}) Use
+ HAVE_IP_HDRINCL_BSD_ORDER.
+ (ospf_recv_packet) ditto.
+ (ospf_write) Fixup iov argument to ospf_write_frags.
+ (struct msghdr).msg_name is caddr_t on most platforms.
+ (ospf_recv_packet) ditto. And msg_flags is not always there
+ memset struct then set fields we care about rather than
+ initialise all fields individually.
+
+2004-09-26 Hasso Tepper <hasso at quagga.net>
+
+ * ospf_abr.c, ospf_dump.c, ospf_lsa.c, ospf_packet.c, ospf_vty.c,
+ ospf_zebra.c: Fix compiler warnings.
+
+2004-09-24 Paul Jakma <paul@dishone.st>
+
+ * ospf_apiserver.{c,h}: lists typedef removal cleanup.
+ update some list loops to LIST_LOOP. some miscellaneous indent
+ fixups.
+ (ospf_apiserver_unregister_opaque_type) fix listnode_delete of
+ referenced node in loop.
+ (ospf_apiserver_term) loops calling ospf_apiserver_free, which
+ deletes referenced nodes from apiserver_list, fixed.
+ * ospf_interface.h: lists typedef removal cleanup.
+ * ospf_opaque.{c,h}: lists typedef removal cleanup. update some list
+ loops to LIST_LOOP. miscellaneous style and indent fixups.
+ * ospf_te.{c,h}: ditto
+ * ospf_packet.c: lists typedef removal cleanup.
+ (ospf_write) ifdef fragmentation support. move actual
+ fragmentation out to a new, similarly ifdefed, function.
+ (ospf_write_frags) fragmented write support, moved from previous.
+
+2004-09-23 Hasso Tepper <hasso at quagga.net>
+
+ * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
+
+2004-09-12 Paul Jakma <paul@dishone.st>
+
+ * ospf_packet.c: Fix bugzilla #107
+ (ospf_packet_max) get rid of the magic 88 constant
+ (ospf_swab_iph_ton) new function. set ip header to network order,
+ taking BSDisms into account.
+ (ospf_swab_iph_toh) the inverse.
+ (ospf_write) Add support for IP fragmentation, will only work on
+ linux though, other kernels make it impossible. get rid of the
+ magic 4 constant.
+ (ospf_make_ls_upd) Bound check to end of stream, not to
+ interface mtu.
+ (ospf_ls_upd_packet_new) New function, allocate upd packet
+ taking oversized LSAs into account.
+ (ospf_ls_upd_queue_send) use ospf_ls_upd_packet_new to allocate,
+ rather than statically allocating mtu sized packet buffer, which
+ actually was wrong - it didnt take ip header into account, which
+ should not be included in packet buffer.
+ (ospf_ls_upd_send_queue_event) minor tweaks and remove
+ TODO comment.
+
+2004-08-31 David Wiggins <dwiggins@bbn.com>
+
+ * ospf_spf.c (ospf_spf_calculate): Many more comments and debug
+ print statements. New function ospf_vertex_dump used in debugging.
+
+2004-08-31 David Wiggins <dwiggins@bbn.com>
+
+ * ospf_spf.h (struct vertex): Comments for flags and structure members.
+
+2004-08-31 David Wiggins <dwiggins@bbn.com>
+
+ * ospf_route.c: When finding an alternate route, log cost as well.
+
+2004-08-31 David Wiggins <dwiggins@bbn.com>
+
+ * ospf_interface.c (ospf_lookup_if_params): Initialize af in
+ struct prefix allocated on stack.
+
+2004-08-31 David Wiggins <dwiggins@bbn.com>
+
+ * ospf_packet.c (ospf_ls_ack_send_delayed): In p2mp mode, send
+ acks to AllSPFRouters, rather than All-DR.
+
+2004-08-27 Hasso Tepper <hasso at quagga.net>
+
+ * ospf_vty.c: Don't print ospf network type under interface only
+ if interface is in broadcast mode and interface type really is
+ broadcast. Fixes Bugzilla #108.
+
+2004-08-27 David Wiggins <dwiggins@bbn.com>
+
+ * ospf_spf.c (ospf_nexthop_calculation): Initialize address family
+ in on-stack struct prefix_ipv4. Fixes point-to-multipoint SPF
+ calculation.
+
+2004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
+
+ * ospf_packet.c (ospf_recv_packet): adjust size declaration of
+ buffer used to get interface index so that it compiles on other
+ than Linux and includes the required alignment space. Probably
+ this was only working on sparc/sparc64 because most of
+ sockaddr_dl was not being written.
+
+2004-08-19 Paul Jakma <paul@dishone.st>
+
+ * ospf_packet.c: update to match sockopt renames.
+
+2004-08-04 Paul Jakma <paul@dishone.st>
+
+ * ospf_spf.c: (ospf_spf_consider_nexthop) Add comment about issue.
+ Compare only against list head - all nexthops must be same cost
+ anyway, fixes a reference-listnode-after-delete bug noted by
+ Kir Kostuchenko.
+ (ospf_nexthop_calculation) Use ospf_spf_consider_nexthop for all
+ candidates attached to root.
+
+2004-07-27 Paul Jakma <paul@dishone.st>
+
+ * ospf_packet.c: (ospf_ls_upd_send_queue_event) fix thinko from
+ last fix for ospfd wedging due to oversize LSAs: dont list loop on
+ ospf_ls_upd_queue_send() - guaranteed segfault.
+
+2004-07-27 Paul Jakma <paul@dishone.st>
+
+ * ospf_opaque.c: (ospf_opaque_lsa_flush_schedule) do not NULL out
+ the LSA as then free_opaque_info_per_id() can never unlock (and
+ free) the LSA. Reported by Gunnar Stigen.
+
+2004-07-23 Paul Jakma <paul@dishone.st>
+
+ * ospf_network.c: Replace PKTINFO/RECVIF with call to
+ setsockopt_pktinfo
+ * ospf_packet.c: Use getsockopt_pktinfo_ifindex and
+ SOPT_SIZE_CMSG_PKTINFO_IPV4.
+
+2004-07-14 Paul Jakma <paul@dishone.st>
+
+ * ospf_packet.c: (ospf_ls_upd_send_queue_event) Partial fix for
+ problem reported by Peter Frost amongst others, where function
+ will spin indefinitely if update list contains LSAs greater than
+ MTU-headers or other condition leading to update list never being
+ cleared. Problem of what to do with these LSAs remains.
+ (ospf_make_ls_upd) add comment about large LSA problem,
+ indentation cleanup.
+
+2004-07-01 Greg Troxel <gdt@fnord.ir.bbn.com>
+
+ * Makefile.am (lib_LTLIBRARIES): make libospf shared
+
+2004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
+
+ * Makefile.am: Add shlib support.
+
+2004-06-10 Hasso Tepper <hasso@estpak.ee>
+
+ * *: Removed ifdefs HAVE_NSSA.
+
+2004-06-06 Paul Jakma <paul@dishone.st>
+
+ * ospf_dump.c,ospf_lsa.c: Fix typos of merge of previous.
+ ospf_flood.c: (ospf_process_self_originated_lsa) fix zlog format
+
+2004-05-31 Sagun Shakya <sagun.shakya@sun.com>
+
+ * ospf_dump.c: (ospf_lsa_header_dump) LOOKUP can return null if
+ index is out of range.
+ ospf_flood.c: endianness fix
+ ospf_lsa.c: Missing ntohl's on (struct lsa *)->data->ls_seqnum
+ in various places.
+
+2004-05-10 Hasso Tepper <hasso@estpak.ee>
+
+ * ospf_zebra.c, ospfd.c: Move ospf_prefix_list_update() function
+ to ospf_zebra.c from ospfd.c and add redistribution updates if
+ route-map is used in redistribution.
+ * ospf_main.c: Remove now useless call to ospf_init().
+
+2004-05-08 Paul Jakma <paul@dishone.st>
+
+ * ospf_zebra.c: Sync with lib/zclient changes
+
+2004-05-05 Paul Jakma <paul@dishone.st>
+
+ * ospf_network.c: (ospf_sock_init) Check whether IP_HDRINCL is
+ defined. Warn at compile and runtime. Use
+ IPTOS_PREC_INTERNETCONTROL otherwise.
+ * ospf_packet.c: (ospf_associate_packet_vl) cleanup, move
+ some of the checks up to ospf_read, return either a
+ virtual link oi, or NULL.
+ (ospf_read) Cleanup, make it responsible for checks. Remove
+ the nbr lookup - moved to ospf_neighbor. Adjust all nbr
+ lookups to use new wrappers exported by ospf_neighbor.
+ * ospf_neighbor.h: Add ospf_neigbour_get and ospf_nbr_lookup.
+ * ospf_neighbor.c: (ospf_neigbour_get) Index ospf_interface
+ neighbour table by router-id for virtual-link ospf_interfaces,
+ not by peer_addr (which breaks for asymmetric vlinks)
+ (ospf_nbr_lookup) add a wrapper for nbr lookups to deal with
+ above.
+ * ospf_interface.c: (ospf_vl_set_params) Catch changes of interface
+ address for either end of a virtual-link, and hence potential cost
+ changes.
+
+2004-04-22 Hasso Tepper <hasso@estpak.ee>
+
+ * ospf_zebra.c: Don't ignore reject/bh routes, it's the only way
+ to "summarize" routes in ASBR at the moment.
+
+2004-04-20 Hasso Tepper <hasso@estpak.ee>
+
+ * ospfd.c: Unset NP flag if area is going to be normal or stub.
+ Fixes UNH OSPF_NSSA.1.2a comment.
+ * ospf_abr.c: Originate default into stub/nssa area even if
+ summaries are disabled.
+ * ospf_zebra.c: Don't attempt to redistribute 127.0.0.0/8.
+
+2004-04-19 Hasso Tepper <hasso@estpak.ee>
+
+ * ospf_vty.c: Don't warn that export- and import-list can't be
+ configured to backbone area if they are applied and are working
+ fine.
+
+2004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
+
+ * ospf_packet.c: Don't drop packets in Solaris x86.
+ [quagga-dev 1005].
+
+2004-03-18 Amir Guindehi <amir@datacore.ch>
+
+ * ospf_opaque.c: Attempt to correct the incorrect behavior of
+ Quagga's ospfd in the special situation that a node's opaque
+ capability has changed as "ON -> OFF -> ON". [quagga-dev 843].
+
+2004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
+
+ * ospf_abr.c: (ospf_abr_update_aggregate) UNH 3.12b,c, address range
+ should be configured with the highest cost path within the range,
+ not lowest.
+
+2004-02-17 Paul Jakma <paul@dishone.st>
+
+ * ospf_zebra.c: (ospf_interface_delete) Do not delete the interface
+ params, nor the interface structure, if an interface delete
+ message is received from zebra.
+ * ospf_interface.c: (ospf_if_delete_hook) Delete the interface
+ params and interface, ie that which was previously removed in
+ (ospf_interface_delete) above.
+
+2004-02-11 Hasso Tepper <hasso@estpak.ee>
+ * ospf_interface.c, ospf_zebra.c: Don't attempt to read path->oi->ifp
+ if oi doesn't exist any more.
+
+2004-02-11 Vadim Suraev <vadim.suraev@terayon.com>
+ * ospf_packet.c (ospf_ls_upd): Router should flush received network
+ LSA if it was originated with older router-id ([zebra 14710] #6).
+
+2003-12-08 Mattias Amnefelt <mattiasa@kth.se>
+
+ * ospf_packet.c: (ospf_recv_packet) OpenBSD now leaves iph.ip_len
+ network byte order.
+
+2003-12-05 Greg Troxel <gdt@poblano.ir.bbn.com>
+
+ * ospfd.c (ospf_network_match_iface): Rewrite code for clarity
+ while trying not to change semantics. Add ifdefed-out code to
+ avoid matching ppp interfaces whose destination address does not
+ also match the prefix under consideration, to help out people with
+ problems due to as-yet-unfixed bugs with p2p interfaces coming and
+ going.
+
2003-07-25 kamatchi soundaram <kamatchi@tdd.sj.nec.com>
* ospf_packet.c (ospf_ls_upd_send_queue_event): get next route