Update version after release of v0.6.6.2
[olsrd.git] / CHANGELOG
index 65bdeef..57fb1ab 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
-This file states changes as of version 0.2.4:
-$Id: CHANGELOG,v 1.112 2007/11/08 22:47:39 bernd67 Exp $
+0.6.6.2 -------------------------------------------------------------------
+
+Alessio Caiazza (2):
+      Hotfix for very long http headers also for jsoninfo
+      jsoninfo: HTTP headers with CORS (if requested)
+
+Ferry Huberts (8):
+      pud: fix java detection in the wireformat java bindings (again)
+      pud: do the same fix as in the previous commit, now for i386
+      Make sure to save/restore errno in signal handlers
+      main: olsr_create_lock_file: fix return value check on 'open' call
+      pud: fix readIPAddress function
+      tok: improve the nmea_calc_crc function a bit
+      neighbor table: fix crash in olsr_print_neighbor_table on MinGW
+      Fix strange coding in the 'long headers' fix
+
+Henning Rogge (5):
+      Update version after release of v0.6.6.1
+      Fix processing error for fragmented hellos
+      Fix some spelling mistakes
+      Hotfix for much too long http headers
+      Release v0.6.6.2
+
+0.6.6.1 -------------------------------------------------------------------
+
+Henning Rogge (2):
+      Update version after release of v0.6.6
+      Release v0.6.6.1
+
+Manuel Munz (1):
+      Fix jsoninfo again after a regression which was introduced with
+
+0.6.6 -------------------------------------------------------------------
+
+Bastian Bittorf (3):
+      [hotfix] plugin: httpinfo: in case of an unrecoverable error ("could not
+         initialize HTTP socket") exit for returnvalue != 0
+      plugin: dot_draw: readme: make it clear, that it only opens an
+         IPv4-socket, so a 'telnet ::1 2004' is not possible
+      plugin: dot_draw: readme: replaced a b0rken link
+
+Ferry Huberts (146):
+      Update version after branch of v0.6.5
+      gateway: store current gateway(s) in a struct
+      gateway: lazily allocate the current gateway structs
+      gateway: add path_cost to 'set gateway' interface
+      gateway: add interface to get the gateway costs
+      gateway: simplify by using the new costs interface
+      gateway: add gateway_list.{c,h}
+      gateway: keep track of the active gateways in a list
+      Merge branch 'release-0.6.5'
+      pud: java make target is dependent on library make target
+      Merge branch 'release-0.6.5'
+      Merge branch 'release-0.6.5'
+      json_info: only output smart gateway info on Linux
+      kernel_route: olsr_os_inetgw_tunnel_route can now take the table
+      gateway: let the gateway code determine the tunnel name
+      gateway: remove the worst gateway before adding new one
+      gateway: add SmartGatewayUseCount configuration parameter
+      gateway: use SmartGatewayUseCount setting the the gateway lists
+      gateway: add SmartGatewayEgressInterfaces configuration parameter
+      gateway: add SmartGatewayMarkOffset{Egress,Tunnels} configuration
+         parameters
+      gateway: add SmartGatewayPolicyRoutingScript configuration parameter
+      gateway: initialise a set of fixed tunnel names in/for multi-gateway mode
+      gateway: initialise the egress interface names in/for multi-gateway mode
+      gateway: use fixed tunnel names in/for multi-gateway mode
+      gateway: setup and clear table specific default routes in/for
+         multi-gateway mode
+      gateway: setup/cleanup multi-gateway mode during startup/shutdown of olsrd
+      gateway: introduce and use MULTI_GW_MODE define
+      gateway: enable multi-gateway mode
+      gateway: convert some defines into inline functions
+      kernel_route: olsr_os_inetgw_tunnel_route now needs the table explicitly
+      Merge branch 'multigw'
+      gateway: remove 2 superfluous asserts
+      gateway: add an assert to prevent an 'unused' warning
+      gateway: also adjust the IPv6 gateway list in olsr_update_gateway_entry
+      gateway: fix policy script permissions checking
+      gateway: the gateway policy script really is a bash script
+      gateway: minor indentation fixes in the gateway script
+      gateway: fix copy/paste mistake in setting up the egress rules
+      gateway: remove policy rules before adding them
+      gateway: ignore errors in remove-before-add rule removals
+      Revert "linux: name is required to be non-null in
+         olsr_os_cleanup_iptunnel"
+      gateway: do not show (bogus) errors
+      gateway: cleanup the server tunnel later
+      cfgparser: add SmartGatewayAlwaysRemoveServerTunnel configuration
+         parameter
+      gateway: use SmartGatewayAlwaysRemoveServerTunnel configuration parameter
+      gateway: fix a revert problem
+      gateway: use tnl_(4|6) tunnel names instead of tnl(4|6)_
+      gateway: properly set the egress interface names
+      json_info: do not loop forever on smart gateway egress interfaces
+      pud: the best uplink gateway is the same as the current (smart) gateway
+      pud: there is no hard dependency on smart gateway
+      pud: only forward downlinked messages when the smart gateway system is
+         enabled
+      pud: update documentation about smart gateway changes
+      gateway: fix 2 small typos in a comment
+      Revert "pud: the best uplink gateway is the same as the current (smart)
+         gateway"
+      pud: minor update resulting from the previous revert
+      pud: minor update to getBestUplinkGateway
+      gateway: minor improvement to get_unused_iptunnel_name
+      gateway: update some comments
+      gateway: remove 2 unneeded asserts
+      gateway: use standard macro to loop over the gateway tree in
+         olsr_cleanup_gateways
+      gateway: fix 'eligible' conditions in gw_default_choose_gateway
+      gateway: minor speed improvement in gw_default_choose_gateway
+      android: fix the path of the tunnel node in the /dev tree
+      pud: use the proper __ANDROID__ define
+      gateway: allow advertisement of zero bandwidth
+      gateway: add some comments
+      gateway: also set (update) the gateway when costs have changed
+      gateway: find_interfaceName only works in multi-gateway mode
+      gateway: simplify gw_default_calc_threshold
+      gateway: improve comments of gw_default_weigh_costs a bit
+      gateway: rename some variables to make it more readable
+      gateway: fix stable count dampening in gw_default_timer
+      gateway: do not use bitwise operators for logic conditions
+      gateway: reverse semantics of two variables
+      gateway: always select a new gateway when threshold != 0
+      main: add -pidfile command line option
+      main: fix pidfile compilation on windows
+      Merge branch 'release-0.6.5'
+      make: enable 32/64 bit cross compilation
+      pud: pull in nmealib v1.0.4
+      gateway: remove some 'unused' code from sgw script
+      make: fix typos in 'enable 32/64 bit cross compilation' commit
+      pud: enable 32/64 bit cross compilation for the java build
+      make: ifdef fixups
+      Merge branch 'release-0.6.5'
+      Merge branch 'release-0.6.5'
+      Merge branch 'release-0.6.5'
+      pud: detect the java include directory
+      dyn_gw: remove bogus include
+      make: fix a type in the Linux SUBDIRS assignment
+      make: add dyn_gw, mdns and p2pd to the Android SUBDIRS
+      pud: update nmealib 32/64 cross compilation
+      Revert "pud: update nmealib 32/64 cross compilation"
+      main: fix 2 minor warnings for win64 build on debian squeeze
+      make: only install sgw related files when sgw is supported
+      mdns: fix container_of pointer arith
+      mdns: don't use non-standard ushot type
+      mdns: fix three alignment warnings
+      mdns: supported on Android
+      p2pd: supported on Android
+      make: ensure win32 install respects DESTDIR
+      Merge branch 'release-0.6.5'
+      gateway: work around kernel IPIP module initialisation bug
+      gateway: fix overlap in success/fail IPIP tunnel init
+      doc: make the documentation generation commands a bit more verbose
+      pud: detect the java include directory
+      pud: better detection of java jdk
+      pud: better detection of java jdk
+      gateway: work around kernel IPIP module initialisation bug
+      Merge branch 'release-0.6.5'
+      PUD: nmealib: fix parsing of date in GPRMC
+      pud: nmealib: fixup the previous commit
+      main: use /dev/urandom by default
+      main: use /dev/urandom by default
+      pud: set local loopback for multicast tx
+      pud: set local loopback for multicast tx
+      Merge branch 'release-0.6.5'
+      arprefresh: fix some spelling
+      arprefresh: document the BPF program to make it readable
+      arprefresh: use the ARRAYSIZE macro
+      arprefresh: remove a comment
+      arprefresh: do not process IPv6 packets when in IPv4 mode
+      arprefresh: add a note about VLANs and IPv6
+      remove pthread usage as much as possible
+      Branch v0.6.6
+      Remove mercurial ignore file; we use git
+      build: ignore builddata.c when hashing sources
+      build: move build data into its own include file
+      gateway: always deal with 64bit scaled path costs
+      gateway: introduce and use removeGatewayFromList function
+      gateway: add SmartGatewayTakeDownPercentage configuration parameter
+      gateway: proactively take down 'expensive' gateways
+      release: fix the list of generated files
+      release: update some comments
+      release: refactor the checkVersionIncrementing function
+      release: do not update the version on master when it's already higher
+      release: only report that master changed when it was actually changed
+      release: checkVersionIncrementing: optionally allow equal versions
+      release: also check against the Makefile version when branching
+      txtinfo: prevent buffer overflow
+      pud: nmealib: _nmea_parse_time not parsing hsec when given "hhmmss" format
+      build: really _ignore_ builddata.c when hashing sources
+      build: only print the md5 hash in hash_source.sh
+      Makefile: fix builddata when building from tarball
+      pud: fix readIPAddress function
+
+Hans-Christoph Steiner (3):
+      GNU/Linux: add service profile for 'ufw' firewall package
+      update Commotion example olsrd.conf to represent current project state
+      dyn_gw/dyn_gw_plain require /proc, remove from default build on non-Linux
+
+Henning Rogge (7):
+      Fixed debug output of Scheduler polling interval
+      Fix multicast join for IPv6
+      Merge branch 'master' of http://olsr.org/git/olsrd
+      Update version after release of v0.6.5.2
+      Update version after release of v0.6.5.2
+      Fix build break for MinGW compilation on Fedora 19.
+      Release v0.6.6
+
+Ronald in 't Velt (1):
+      Fix setsockopt for setting Traffic Class in IPv6
+
+Saverio Proto (3):
+      main: fix the check on inet_pton return value because it returns 1 on
+         success.
+      mDNS: remove from Makefile PTHREAD useless dependency
+      txtinfo: update README file
+
+Scott Kidder (1):
+      jsoninfo: ensure output is wrapped in curly braces.
+
+Vasilis Tsiligiannis (1):
+      olsrd-quagga: Fix memory leak when adding and deleting routes
+
+equinox (1):
+      quagga plugin routes additional
+
+0.6.5.2 -------------------------------------------------------------------
+
+Henning Rogge (2):
+      Update version after release of v0.6.5.1
+      Release v0.6.5.2
+
+Saverio Proto (1):
+      main: fix the check on inet_pton return value because it returns 1 on
+         success.
+
+Vasilis Tsiligiannis (1):
+      olsrd-quagga: Fix memory leak when adding and deleting routes
+
+0.6.5.1 -------------------------------------------------------------------
+
+Ferry Huberts (1):
+      release: use olsrd-version prefix for files in the tarballs
+
+Henning Rogge (2):
+      Update version after release of v0.6.5
+      Release v0.6.5.1
+
+0.6.5 -------------------------------------------------------------------
+
+Aaron Kaplan (1):
+      chose the proper #define in order to take the right #include
+
+Alessandro (4):
+      mDNS: Implemented Host Filtering for ipv4 and ipv6, writing in the config
+         file which hosts to ignore. The mDNS packets from the ignored hosts
+         will be ignored and not propagated in the network
+      mDNS: Updated README file for mDNS plugin
+      mDNS: Reworked logic of router Election. The election is now handled on
+         interface basis, because the router could have one interface where it
+         needs to be master and another interface where it needs to be
+         disabled. There was a logical bug in the earlier implementation.
+      mDNS: BUGFIX, mDNS plugin, hello message of router election not sent if
+         debug = 0
+
+Alessandro Gnagni (3):
+      mDNS: Fixing loops for mDNS packets when mDNS plugin is misconfigured
+      mDNS: review of Alessandro Gnagni patch, inserted a config value to
+         enable or disable TTL check and change, default is enabled.
+      mDNS: Implemented router election mechansim to have only 1 active mDNS
+         OLSR router in 1 LAN
+
+Andreas Tonnesen (1):
+      x86_64 patch from Bernd
+
+Bernd Petrovitsch (1):
+      * added -Wbad-function-cast
+
+Ferry Huberts (219):
+      gateway: clarify header with extra comments and ordering
+      gateway: reorder functions to reflect order in header
+      gateway: formatting
+      gateway: remove 'unused' v{4,6}gw_choosen_external
+      gateway: add asserts to validate gw_handler
+      gateway: clear gw_handler during cleanup
+      gateway: add init and cleanup hooks for gateway plugins
+      gateway: rename hooks
+      gateway: add comments to struct olsr_gw_handler function prototypes
+      gateway: inline olsr_find_gateway_entry function
+      gateway: inline olsr_trigger_inetgw_selection function
+      gateway: rename a function
+      gateway: simplify a condition
+      gateway: push an if condition into its nested if's
+      gateway: merge 2 code blocks
+      gateway: the gateway to set must be in the gateway tree
+      gateway: the gateway to set must either be an IPv4 or IPv6 gateway or
+         both
+      gateway: prevent 2 NULL dereferences
+      gateway: merge 2 code blocks
+      pud: force pending buffer out if not enough space for our message
+      pud: include nmealib v1.0.3
+      http_info: pud satellites in use are now green, not in use are red
+      ifdef: fix some include ifdefs
+      update comments on all ifdefs
+      olsrd_plugin: remove #if 1
+      gateway: rename 2 variables
+      remove most '#if 0' blocks
+      gateway: merge the olsr_get_ipv{4,6}_inet_gateway functions
+      mdns: fix compilation warnings
+      mdns: fix a compilation warning / copy-paste error
+      bsd: fixup comment
+      improve VERBOSE handling
+      common: fix varargs cleanup
+      pud: fix resource leak
+      pud: fix socket error
+      pud: fix socket error
+      pud: fix position file stat/use race
+      pud: fix getBestUplinkGateway
+      pud: nmealib: fix copy/paste error
+      pud: nmealib: fix buffer overrun
+      pud: nmealib: fix buffer overrun
+      pud: nmealib: fix invalid format string conversion
+      add a COVERITY instructions text file
+      pud: nmealib: fix invalid format string conversion
+      pud: nmealib: fix invalid format string conversion
+      pud: fix closing fd
+      pud: fix checking of downlink message IP version
+      sgwdynspeed: fix resource leak and file stat/use race
+      bmf: explicitly cast fgetc result into a char
+      bmf: do not close an 'error' socket return value
+      bmf: do not dereference NULL pointer
+      httpinfo: do not close an 'error' socket return value
+      httpdinfo: fix resource leak
+      secure: can only work for IPv4, so assert on it
+      secure: do not hard-code a sizeof()
+      secure: decrease a (stack allocated) buffer size
+      secure: use sizeof() of the fields being copied
+      secure: decrease a (stack allocated) buffer size
+      secure: initialise rrmsg correctly
+      secure: can only work for IPv4, so assert on it
+      secure: do not hard-code a sizeof()
+      secure: decrease a (stack allocated) buffer size
+      secure: use sizeof() of the fields being copied
+      secure: decrease a (stack allocated) buffer size
+      secure: initialise crmsg correctly
+      secure: can only work for IPv4, so assert on it
+      secure: do not hard-code a sizeof()
+      secure: decrease a (stack allocated) buffer size
+      secure: initialise cmsg correctly
+      nameservice: fix a resource leak
+      nameservice: fix wrong size argument
+      nameservice: check return value of fcntl
+      nameservice: do not close an fd that is not open
+      nameservice: remove some dead code
+      jsoninfo: fix a resource leak
+      jsoninfo: make sure that uuid is null-terminated
+      jsoninfo: remove some dead code
+      jsoninfo: remove pointless compare
+      mdns: suppress a Coverity warning
+      mdns: remove some dead code
+      mdns: do not close an fd that is not open
+      mdns: do not close an fd that is not open
+      mdns: check return value of inet_pton
+      mdns: check return value of sendto
+      p2pd: do not close an fd that is not open
+      p2pd: do not close an fd that is not open
+      p2pd: remove some dead code
+      bmf: do not close an fd that is not open
+      pud: remove some dead code
+      quagga: explicitly ignore return value of fcntl
+      tas: fix a memory leak
+      txtinfo: remove some dead code
+      main: fix an Out-of-bounds access
+      cfgparser: fix some memory leaks
+      cfgparser: fix a copy/paste error and resulting memory leak
+      cfgparser: fix dereference before assert
+      linux: apm: fix retry opening of apm proc file
+      olsr_switch: fix a memory leak
+      lq: make sure that info_head != NULL
+      lq: make sure last_ip != NULL
+      android: fix type punning warning
+      pud: fix alignment warning
+      gateway: initialise the handler before setting up the tunnel
+      gateway: cleanup: free the allocated memory cookie
+      gateway: ensure cleanup uses the reverse order of init
+      gateway: minor simplification in olsr_delete_gateway_entry
+      gateway: allow immediate removal of a gateway entry
+      gateway: split olsr_delete_gateway_entry
+      gateway: walk the gateway tree to properly cleanup
+      linux: sanitise ACPI battery data
+      defs: fix strscpy null pointer dereference
+      tas: lua: official source code for 5.0.2
+      tas: lua: run gnu-indent.sh script
+      cleanup, 1. step (to get some local changes away):
+      * added -Wcast-qual: this killed lots of unnecessary type-casts
+      Fix sytax errs and line break quirks for gnu-indent
+      ARM alignment warnings fixed
+      Patch ALIGN_NOWARN_ARM macro for better priority handling.
+      use the POSIX standard '__linux__' macro instead of 'linux'
+      tas: lua: run gnu-indent.sh script
+      tas: lua: sync up to official source code with fixes
+      Merge branch 'lua-official-502'
+      cookie: an array already is a pointer
+      cookie: add an assert
+      Revert "httpdinfo: fix resource leak"
+      httpinfo: add a comment about why the client socket is not closed
+      gateway: minor optimisation
+      gateway: improve cleanup
+      gateway: rename gw_mem_cookie to gateway_entry_mem_cookie
+      gateway: add a define for the tunnel name
+      gateway: stub out olsr_print_gateway_entries on #ifdef NODEBUG
+      duplicate_set: stub out olsr_print_duplicate_table on #ifdef NODEBUG
+      link_set: stub out olsr_print_link_set on #ifdef NODEBUG
+      mpr_set: stub out olsr_print_mpr_set on #ifdef NODEBUG
+      routing_table: stub out olsr_print_routing_table on #ifdef NODEBUG
+      tc_set: stub out olsr_print_tc_table on #ifdef NODEBUG
+      two_hop_neighbor_table: stub out olsr_print_two_hop_neighbor_table on
+         #ifdef NODEBUG
+      hna_set: stub out olsr_print_hna_set on #ifndef NODEBUG
+      hna_set: stub out olsr_print_hna_set on #ifdef NODEBUG and fix
+      neighbor_table: stub out olsr_print_neighbor_table on #ifndef NODEBUG
+      neighbor_table: stub out olsr_print_neighbor_table on #ifdef NODEBUG and
+         fix
+      use INET_ADDRSTRLEN and INET6_ADDRSTRLEN instead of magic constants
+      gateway: only remove a tunnel when there is one
+      gateway: rename a variable
+      gateway: minor improvement in NULL comparisons
+      hna_set: olsr_ip_prefix_to_string outputs a wider string
+      gateway: refactor olsr_set_inet_gateway
+      Merge tag 'v0.6.4'
+      win32: use #ifdef _WIN32
+      Makefile: fixup some forgotten make command prefixes
+      Makefile: add gui target
+      Makefile: always pass VERBOSE to the make command
+      gui: linux: minor Makefile fixup
+      gui: linux: clean and install are phony targets
+      gui: linux: add VERBOSE handling
+      gui: linux: fix some 'may be used uninitialized' compiler warnings
+      gui: linux: use toplevel make options
+      gui: linux: fix some 'noreturn' compiler warnings
+      gui: linux: fix some 'discards const qualifier' compiler warnings
+      gui: linux: fix some 'old-style function definition' compiler warnings
+      gui: linux: fix 'too few arguments to function ipc_connect' compiler
+         warning
+      gui: linux: fix a 'mixed declarations and code' compiler warning
+      gui: linux: fix some 'unused parameter' compiler warnings
+      Revert "gui: linux: fix some 'may be used uninitialized' compiler
+         warnings"
+      gui: linux: fix some 'may be used uninitialized' compiler warnings
+      gui: linux: fix some 'shadow' compiler warnings
+      gui: linux: fix inccorrect sizeof()
+      gui: linux: fix string buffer overflow
+      gui: linux: fix string buffer overflow
+      gui: linux: fix the string buffer overflow better
+      gateway: simplify stopping the cleanup timer
+      tas: remove plugin
+      main: do not seed the random number generator with the process id
+      win32: remove unused getpid() function
+      hna_set: explicitly cast to (time_t *) in calls to localtime()
+      neighbor_table: explicitly cast to (time_t *) in calls to localtime()
+      main: improve random number generator seed
+      bmf: do the minimum length check earlier
+      changelog: update to current state
+      print_packet: fix wrong use of sizeof()
+      main: remove -dispin and -dispout command line options
+      main: add release script
+      Update version after release of v0.6.4
+      Changelog: remove 0.6.5 preliminary changelog
+      Merge branch 'release-0.6.4'
+      bmf: check minimumLength against buffer size
+      sgwdynspeed: put plugin config in olsrd.conf.sample
+      pud: put plugin config in olsrd.conf.sample
+      cookie: raise the number of cookies
+      pud: enable dynamic polling of the position file
+      gateway: only check smart gateway configuration on linux
+      linux: put #ifdef __linux__ around code
+      doc: add doxygen documentation generation
+      doc: fix common documentation tags
+      doc: fix linux specific documentation tags
+      doc: fix unix specific documentation tags
+      doc: fix bsd specific documentation tags
+      doc: fix win32 specific documentation tags
+      doc: do not generate documentation for gui code
+      release: move the stringTrim function up a bit
+      release: make gitIsGitDirectory do the correct thing
+      release: fix usage of literal dot in regular expressions
+      release: move into the base directory earlier
+      release: convert some code into checkIsOlsrdGitCheckout function
+      release: convert some code into checkGitSigningKeyIsConfigured function
+      release: convert some code into getPrevRelTag function
+      release: the script can now also create a release branch
+      Merge branch 'release-0.6.4' into mmmm
+      Branch v0.6.5
+      pud: change java include path to generic java include path
+      pud: java make target is dependent on library make target
+      doc: clean up the latex directory if empty
+      Revert "linux: name is required to be non-null in
+         olsr_os_cleanup_iptunnel"
+      gateway: fix a revert problem
+      android: fix the path of the tunnel node in the /dev tree
+      gateway: fix stable count dampening in gw_default_timer
+      gateway: always select a new gateway when threshold != 0
+      main: add -pidfile command line option
+      main: fix pidfile compilation on windows
+
+Frank de Brabander (4):
+      New feature: support for Linux NL802.11 wireless link information in cost
+         calculation.
+      Merge branch with new lq plugin for NL80211 support
+      Incorporate fix by Ferry Hubert for float to double promotion
+      Fix optional compilation of the nl80211 lq plugin
+
+Hans-Christoph Steiner (9):
+      use the POSIX standard '__linux__' macro instead of 'linux'
+      use the Microsoft standard '_WIN32' macro instead of the self-defined
+         'WIN32'
+      olsrd-adhoc-setup: use static BSSID by default to assoc. with the right
+         mesh
+      olsrd-adhoc-setup: configure NetworkManager to be nice when adhoc is
+         manually setup
+      fix misspelling: 'adress' --> 'address'
+      fixed misspelling: usefull -> useful
+      add gcc hardening flags to linux-gtk GUI
+      android: update to use gcc 4.6, available starting with NDK r8
+      android: gcc 4.6 comes with NDK r8b and is not in NDK r8
+
+Henning Rogge (29):
+      Pud: Do not use the variable name strlen.
+      Fix buffer overflow in mdns plugin
+      Add -Werror=format-security
+      Add VERBOSE flag to makefile to display full gcc commands
+      Fix slightly insulting error message.
+      Moved regex library to a makefile of its own to solve the issues with
+         compiler warnings.
+      fix control flow if kill() command fails to end program
+      fix wrong sizeof() parameter
+      Convert allocated memory into temporary variable
+      Protect against stupid data from ACPI
+      Close socket if bind() fails.
+      Merge branch 'master' of http://olsr.org/git/olsrd
+      Use strscpy instead of strncpy.
+      Check inet_pton return value
+      Close file descriptor if error happens
+      Fix scanf() format vulnerabilities
+      Fix command line parsing macro
+      Fail in IPC initializationis always fatal.
+      fail of non-blocking netlink socket is not fatal
+      Declare olsr_exit() as noreturn
+      Interface will always be found.
+      no hostroute possible in this if() branch
+      reset link timer if not set
+      Remove dead codepath
+      Cleanup error handling in ipc_init()
+      Remove unnecessary asserts
+      Make sure calculated header length does not skip over buffer
+      Fix multicast join for IPv6
+      Release v0.6.5
+
+Saverio Proto (12):
+      mDNS: Skeleton code for new host filter feature in mDNS plugin
+      mDNS: Upgrading the container_of.h that was backported from src/common in
+         master
+      mDNS: Fix most of the warnings from the compiler
+      mDNS: Update checksum field of the IPv4 Header after altering TTL
+      mDNS: trivial debug print fix and code readibility improvement
+      mDNS: Change version of mdns plugin to 1.0.1 after GSoC 2012 work by
+         Alessandro Gnagni
+      mDNS: init ListOfFilteredHosts in the proper place and not at every
+         received packet
+      mDNS: trivial, removed TODO from code for something that was implemented
+      mDNS: better debug support for filtered hosts feature
+      mDNS: Fixed typo in README
+      Revert "mDNS: init ListOfFilteredHosts in the proper place and not at
+         every received packet"
+      Merge remote-tracking branch 'origin/mDNS-plugin-GSoC-2012'
+
+0.6.4 --------------------------------------------------------------------
+
+Bugfix and plugin release 0.6.4
+- Update of Smartgateway system
+- small updates to several plugins
+- lots of updates for PUD plugin
+
+0.6.3 --------------------------------------------------------------------
+
+Bugfix and plugin release 0.6.3
+
+- PUD plugin (position update plugin)
+- JSONinfo plugin
+- sgwdynspeed plugin (select dynamic smart gateway based on gw speed)
+- Update on Quagga plugin (for new Quagga)
+- Fixes for Androids
+- Some fixes for GTK and Win32 gui
+- Lots of core fixes to support new compiler warnings
+
+0.6.2 --------------------------------------------------------------------
+
+Bugfix release for 0.6.1
+
+- Compatibility for Linux kernel 3.x
+- Lots of small fixes
+- reworked makefile output
+- updates for some plugins
+- repair for Smartgateway feature
+
+Read GIT changelog at http://olsr.org/git to see a complete history.
+
+0.6.1 --------------------------------------------------------------------
+
+Bugfix release for 0.6.0
+
+Markus Kittenberger <Markus.Kittenberger@gmx.at>
+- Major bugfix for the neighbor table when a neighbor gets a new main IP.
+- add /interface command to txtinfo, allow multiple commands per request
+
+Henning Rogge <henning.rogge@fkie.fraunhofer.de>
+- wait up to four seconds for aquiring the OLSRd lock. This helps to
+  shutdown OLSRd with a script and restart it at once (kill <pid> is
+  asynchrone, and kill -w is not available in busybox)
+- add md5 has of all source/headers into version string
+
+Mitar<mitar@tnode.com>
+- lot's of small changes for Android. Slowly Android gets a fully
+  supported platform for OLSRd.
+
+and a lot more small bugfixes. Read GIT changelog at http://olsr.org/git
+to see a complete history.
+
+0.6.0 --------------------------------------------------------------------
+
+Change in version number system. No more -rcX for release candidates and
+-rX for bugfix releases. In future bugfix releases or updates of plugins
+will increase the third digit of the version string while feature releases
+will increase the first and/or the second one.
+
+Markus Kittenberger <Markus.Kittenberger@gmx.at>
+Henning Rogge <henning.rogge@fkie.fraunhofer.de>
+- added NIIT kernel module support for sending IPv4 traffic over
+  IPv6 mesh networks. See README-Olsr-Extensions for more information.
+- added SmartGateway support. OLSRd can now automatically build
+  IPIP tunnels towards the gateway to prevent gateway flapping.
+  See README-Olsr-Extensions for more information.
+- complete rewrite of linux netlink routing code. New code should be
+  more understandable and easier to debug/improve.
+
+Teco Boots <teco@inf-net.nl>
+- new dyngw plugin. More flexible and more features.
+- new p2pd plugin (generalized mdns plugin)
+
+Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr>
+- new version of quagga plugin (with IPv6 support !)
+
+Sven-Ola Tuecke <sven-ola@gmx.de>
+- fixes for improved uClibc support
+- fixes for better linux kernel 2.4 support
+
+Saverio Proto <zioproto@gmail.com>
+- new mdns plugin. (backport from master branch)
+
+Eric Tromps <erik_tromp@hotmail.com>
+- new version of bmf plugin. NO pthreads are necessary anymore
+
+and a lot more small bugfixes. Read GIT changelog at http://olsr.org/git
+to see a complete history.
+
+0.5.6-r8 ---------------------------------------------------------------------
+
+Alina Friedrichsen <x-alina@gmx.net>
+- patch for using deticated output socket for OLSR packages. This allows
+  to set the src-ip of OLSR packages, which is useful for interfaces
+  with multiple IPs
+
+Bruce Ford <fordbr@gmail.com>
+- fixes for compiling olsrd for win32
+
+Henning Rogge <henning.rogge@fkie.fraunhofer.de>
+- fix for memoryleak during MID processing
+- patch series for "network logoff" of OLSRd, other nodes now get
+  notified if an OLSR node switch down to remove it from their database.
+- cleanup of naming conventions for settings src/dst-ips of OLSR-packets
+  for ipv4/6. See example config files. 
+- patch to ignore HNA4 for IPv6 and HNA6 for IPv4
+
+Markus Kittenberger <Markus.Kittenberger@gmx.at>
+- patch series for MID handling cleanup
+- compiletime switch for txtinfo to always allow localhost access
+- add "InterfaceDefaults" section to config files to allow setting values
+  which are shared by all interfaces but can be overwritten in specific
+  config file settings
+- patch series to allow OLSRd handle multiple config files
+  (multiple "-f <cfgfile>" options)
+
+0.5.6 ---------------------------------------------------------------------
+
+PATCHES and BUGFIXES from Henning Rogge <rogge@fgan.de>
+- Bugfix for fragmented TC sequence numbers
+- eliminate second timer for edge garbage collection (aka border code).
+- fix SPF bug
+- fix for jitter calculation
+- refactor linkset code
+- add netsimpcap, a network simulation device
+- parser refactoring
+- fix for possible overflow in fpm plugin
+- prevent Originator-IP from changing during runtime
+- fix several compiler warnings
+- fix hanging TC entry from lost onehop neighbor
+- fix drop package with same seqno in etx_ff
+- fix segfault in parsing HNA package with bad netmask
+- fix avl_comparator for route_paths
+- fix alignment problem in packet buffers
+- fix: segfault in neighbor/neighbor-2 table
+- fix: lqmult default parsing
+- HACK: MinTCVTime parameter hack for Berlin FF network...
+  feel free to ask on the mailing list.
+- add Watchdog plugin
+- add explicit runtime lock for OLSR.
+- remove lq-hysteresis for tc on the receiver side.
+- enhance protection against malformed packages to prevent
+  OLSR parsing uninitialized data. Thank you Markus and Keks for the LONG
+  debugging session
+- block tc-redundancy 0/1, it doesn't work with the current dijkstra code
+- convert httpinfo/txtinfo/dotdraw to nonblocking and autobuf to
+  prevent blocking outgoing connections
+- fix some bugs with lq-mult
+- fix bug in duplicate set sequencenumber handling
+- add Debian/KFreeBSD support (Thanks to Holger Levsen and friends for help)
+- fix segfault in 'interface lost' monitor
+- add LQ hysteresis to etx-ff metric
+
+PATCH from Markus Kittenberger <Markus.Kittenberger@gmx.at>:
+- txtinfo plugin: add more http options
+- allow configuration of OLSR UDP port
+- allow configuration of proto Tag for Routes (RtProto)
+- add fallback policy rule (priority 65536) if RtTable is used,
+    to ensure that routes can be added to this table
+- resolve many error conditions while adding routes to the linux kernel
+    (Warning this will also delete any conflicting routes made by other routing daemons or admins)
+- interface modes mesh (default) and ether (no retransmit of olsr-messages back into a broadcastdomain)
+- fix olsr_times() to handle different OS implementations (Linux, BSD, OS X)
+- fix several compiler warnings
+- fix olsr_times() to handle different OS implementations (Linux, BSD, OS X)
+- create policy rule later during startup
+- send MID also with one interface, if its ip different from originator-id
+- linux rtnetlink code cleanup
+- workaround: generate routes to single hop neighbours on the fly when inserting routes via them
+    (active only with fib_metric=flat)
+- testing: insert routes with source-ip set to originator ip
+- testing: syslog numbering (e.g. useful to detect lost syslog messages when using remote-syslog)
+- testing: custom library path (default /usr/testlib)
+Testing features must be activated in olsr_cfg.h before compiling olsrd.
+This features are used to run a test network in Vienna parallel to the existing
+OLSR network.
+- more RT-Netlink cleanups and fixes
+- backport of timejump patch from TIP
+- Add detection for vanishing interfaces to Linux netlink code
+- fix incorret route sorting on new neighbours. use only delete and add/change avl tree,
+  instead of 3 trees
+- learn neighbours interface alias address from received hellos
+
+PATCHES from Hannes Gredler <hannes@gredler.at>:
+- add small valgrind howto
+- remove the per tc_edge timer
+- add some basic infrastructure for cookies
+  cookies are used to track usage of timer and memory resources
+- add a lightweight memory manager to reduce malloc() churn.
+- eliminate data field from avl_node and list_node and
+  replace this via inline recasts
+- add indentation dotfile for future code cleanup
+- refactor the timer implementation, get rid of timeout functions
+  all manipulations done in constant time.
+- use calloc rather than malloc for lazy callers
+- log RIB add/del transactions only if there is an actual route change
+- fix to to always insert a HNA Net when receiving a HNA refresh
+- fix delete all routes if the last IP address is gone
+- reduce TC vtime jitter from 25% down to 5%
+
+PATCHES and BUGFIXES from Sven-Ola Tuecke <sven-ola@gmx.de>:
+- add a fixed-point math implementation, which saves
+  a great deal of CPU on embedded devices
+- fix for Link quality dijkstra limit
+- nameservice plugin supports mac addresses
+- fix fork/restart code
+- fix olsr_times() to handle different OS implementations (Linux, BSD, OS X)
+- fix several compiler warnings
+- fix olsr_times() to handle different OS implementations (Linux, BSD, OS X)
+- add makefile support for google android
+- fix default olsrd.conf examples
+
+PATCHES and BUGFIXES from Aaron Kaplan <aaron@lo-res.org>:
+- fix openbsd warnings / compile errors about sprintf strcpy
+- fix string overflow in dyn_gw plugin
+- fix string overflow in pgraph plugin
+- fix openbsd/osx coompile errors
+
+BUGFIX by Peter Tarjan <peter.tarjan@birdtelecom.hu>:
+- Do not remember LQ information UNSPEC_LINK neighbors in Hellos.
+- ignore UNSPEC link for linktype if there is an ASYM/LOST/SYM Link in the
+  same Hello message
+- ignore UNSPEC_LINKS during MPR lookup
+- broken MID route handling: we also check the data structures for routing,
+  even if a MID entry exists.
+
+BUGFIX by John Hay <jhay@meraka.org.za>:
+- FIX: IPv6 MTU in BSD
+- Another BSD ipv6 Patch by John Hay
+- fixes for 64 Bit FreeBSD
+- fixes for NetBSD
+
+
+BUGFIX from Erik Tromp <erik_tromp@hotmail.com>:
+- update in bmf due to new flags field in tc_edge_entry
+
+PATCH from Clemens Hopfer <datacop@inode.at>:
+- dot_draw plugin: close the connection after graph output.
+
+PATCH from Joe Gio <joezgio@gmail.com>:
+- track if AC power is connected/disconnected
+
+PATCH from Hagen Paul Pfeifer <hagen@jauu.net>:
+- import jenkins hash for good hash calculations
+
+PATCH from Andres Ambrois <andresambrois@gmail.com>:
+- nameservice plugin: add parameters for SIGHUPing other daemons, or calling scripts
+
+BUGFIX by Benny Tops <b.tops@mindef.nl>:
+- fix wrong order of drop_tc checkt in olsr_input_tc
+
+Felix (OpenWRT NBD):
+- fix bison problem for OpenWRT
+
+Sebastian Harl:
+- add LISTEN parameter for httpinfo/txtinfo/dotdraw
 
 0.5.5 ---------------------------------------------------------------------
 
-BUGFIX by Hannes Gredler <hannes@gredler.at> fixing not deleted tc entry.
+BUGFIX from Andreas Jacobs <andjac@kawo1.rwth-aachen.de>:
+- calculate correct sleeptime
+
+BUGFIX from Dario Borriello <dario_bodj@hotmail.com>:
+- do not update LQ if not configured
+
+BUGFIX from Jo-Philipp Wich <freifunk@wwsnet.net:
+- fix olsr_ip_to_string() buffer quirk
+- fix txtinfo format quirks in HNA table
+- name-service plugin - write MID entries to hosts file
+- avoid infinite loop in the message parser
+
+PATCH by John Hay <jhay@meraka.org.za>:
+- compile clean on FreeBSD
+- bugfix: do not account for IP headers when building MID6 messages
+
+PATCHES from Henning Rogge <rogge@fgan.de>:
+- join LQ and non-LQ Hello execution paths
+
+PATCHES from otti <otti@wirdorange.org>:
+- rttable-default: configures a new policy routing table for the default route
+
+BUGFIXES and PATCHES by Sven-Ola Tuecke <mail2news@commando.de>:
+- Windows Vista: add interface metric to SPF computed metric
+- lqtc-seqno: Optimize check for old seqno numbers in LQTC messages
+- lqnatthresh: maintain an advantage for the current (NAT) inet gw
+- fisheye-startup: Changed to MAX_TTL for the first 32 LQTCs
+- Added and removed files necessary for win32 compile
+- Fix for hg: do not remove anything in .hg with 'make uberclean'
+- 104-olsrd-verysmallfix
+- 105-fix-lq-buffer-quirks
+- 106-fix-seqnocheck
+- 110-bmf-v152
+- 121-olsrd-fib-metric-approx
+- 133-fix-lqneigh
+- 136-optimize-invalidip-check
+- 138-optimize-message-generation
+
+BUGFIX from Lorenz Shori <lorenz.schori@gmx.ch>:
+- Mac OSX compile fixes
+
+BUGFIXES and PATCHES by Hannes Gredler <hannes@gredler.at>
+- fix not deleted tc entry.
+- avoid setting routes with an invalid/impossible netmask.
+- refactoring of TC parsing to kill another pile of malloc()/free()s
+  saving (again) code and especially run.time performance.
+- RIB Refactoring, Part 2:
+  - avoid the periodical rib-tree insertion
+  - add a FOR_ALL_HNA_RT_ENTRIES() macro for the snmp folks
+    (or any parties who want to walk HNA entries).
+  - add an olsr_cnf option 'flat_fib_metrics' which defaults to TRUE.
+- fix broken prefix insertion (regression of the RIB refactoring)
+- squelsh compiler warnings on Mac OSX
 
 PATCH by John Hay <jhay@meraka.org.za>:
 - also printout our own HNAs in the dotdraw plugin.
 
+PATCH by Patrick McCarty <mccartyp@gmail.com>:
+- fixed compile errors in the BSD port
+
+PATCHES by Sven-Ola Tuecke <mail2news@commando.de>:
+- 102-olsrd-cvs-fixes.patch: use different buffers in the same printf()
+- 103-olsrd-rt-exportroute-cleanup.patch: avoid a malloc()ed list of functions
+- 132-save-the-fish.patch: really save the fish and avoid to forward invalid
+  messages from older olsrd versions
+- 135-georss-map-for-nameservice.patch: fixes and extensions for the namesaervice plugin
+- 138-olsrd-fixdotdraw.patch: fix the dot_draw plugin
+(all to be found on http://download-master.berlin.freifunk.net/sven-ola/nylon/packages/olsrd/files/)
+- Replaced "which" with a /bin/sh script snippet
+
 PATCHES and CLEANUPS by Bernd Petrovitsch <bernd@firmix.at>
 - Jens Nachtigall <nachtigall@web.de> suggested (and reminded) to use
   olsrd.conf.default.lq as the default installed one.
@@ -90,10 +987,57 @@ PATCHES and CLEANUPS by Bernd Petrovitsch <bernd@firmix.at>
 - declare "int_addr", "int_netmask" and "int_broadaddr" in "struct interface"
   as "struct sockaddr_in" since it is that what we actually want there (and
   it is similar to the IPv6 code).
+- updated the olsrd.conf.default.lq-fisheye to the Debian-deliverd version
+  after recent discussions olsr-dev@olsr.org
 - use "inline_avl_comp_ipv4()" in "avl_comp_ipv4()"
 - clean up the routes on more signals. Basically we want to do this on all
   signals which terminate the program.
 - killed a superflous global buffer in src/main.c
+- made inline functions from avl_walk_{first,last,next,prev} and created
+  "const" versions of it. inline_avl_comp_ipv4() is now also an inline function
+  (and not a macro)
+- created a typedef's for various function pointers - much easier to read.
+- cleanup: compare tree->comp (adn other pointers)) to NULL (and not 0)
+- killed superflous "return"s at the end of void functions
+- const'ified more parameters in many more functions in the .h and
+  .c files
+- init-functions with constant or ignored return values are "void"
+- created a typedef fro the callback in "struct export_route_entry"
+  and using it!
+- moved the initialization of the {add,chg,del}_kernel_list variables
+  into process_routes.c. So they are now "static" there.
+- olsr_export_{add,del}_route{,6} are now static in process_routes.c
+  since they are not used elsewhere.
+- olsr_addroute_add_function() and olsr_deldroute_add_function() were
+  almost identical - made one function out of it.
+  Same for olsr_addroute_del_function() and olsr_deldroute_del_function().
+- fixed the sort order in avl_comp_ipv4_prefix(): We compare now the IPv4
+  values in host byte order (and not network byte order). So the route
+  list in the e.g. httpinfo plugin is now nicely sorted.
+- fixed and improved the `gcc-warnings` script:
+  * support older gcc's (as on Debian/Sarge) as they have slightly different
+    error messages
+  * removed superflous lines
+  * replaced the call of `sed` with shell built-in features fixing syntax
+    errors on Debian/Sarge
+  * set all locale-relevant variables to "C" (just to be sure)
+- consolidated ip{4,6,}{cmp,equal}: all are nwo inline functions using only
+  the minimal necessary operations. Thanks to Hannes Gredler
+  <hannes@gedler.at> and Sven-Ola Tuecke <mail2news@commando.de> for pointing
+  that out and suggesting the `inline`, respectively.
+  use ip{4,}cmp in lq_avl.[ch] to resue the code. inline_avl_comp_ipv4
+  is superflous now (and replaced by ip4cmp) and use the global MIN and MAX
+  macro instead of AVLMIN and AVLMAX
+- killed netmasks from the IPv4 part of the code and use the prefixlen there
+  (similar to thte IPv6 part). Manymore details on
+  http://lists.olsr.org/pipermail/olsr-dev/2007-November/001464.html
+- removed the superflous "open_ipc" field from the "struct olsrd_config" as
+  it contains only the equivalent of "olsr_cnf->debug_level > 1".
+- inspired by Sven-Ola Tuecke: avoid a bash'ism (i.e. "OPTS="${OPTS//$opt}") in
+  gcc-warnings and ld-warnings. But we do not replace it with `sed` (since it
+  costs a fork(2) and an exec(3)) but also with shell code which doesn't use
+  any external program.
+- added configuration file support for "flat fib metrics".
 
 0.5.4 ---------------------------------------------------------------------
 
@@ -359,7 +1303,7 @@ saves a noteworthy amount of CPU time. To quote him:
 
    rather than tracking the previous node in olsr_relax()
    i have changed that model and pre-populate all one-hop neighbors
-   with their own IP adress as 'next-hop' and pull that
+   with their own IP address as 'next-hop' and pull that
    pointer up once new paths are explored.
 
    as a result no walker for counting hops and extracting next-hops