Double-quote nodes in graphviz network file This is needed for all nodes with a name starting with a digit, otherwise the IDÂ would be interpreted as a numeral.
Fix all warnings when compiling with -Wall -W -pedantic.
Reformat all code using astyle.
Convert sizeof foo to sizeof(foo). While technically sizeof is an operator and doesn't need the parentheses around expressions it operates on, except if they are type names, code formatters don't seem to handle this very well.
Releasing 1.0.24.
Fix issues found by Coverity. Most of the problems found were resource leaks in error paths, some NULL pointer dereferences that do not happen in practice, and a few other issues. They have all been fixed now anyway.
Nexthop calculation should always use the shortest path. When tinc runs the graph algorithms and updates the nexthop and via pointers, it uses a breadth-first search, but it can sometimes revisit nodes that have already been visited if the previous path is marked as being indirect, and there is a longer path that is "direct". The via pointer should be updated in this case, because this points to the closest hop to the destination that can be reached directly. However, the nexthop pointer should not be updated. This fixes a bug where there could potentially be a routing loop if a node in the graph has an edge with the indirect flag set, and some other edge without that flag, the indirect edge is part of the minimum spanning tree, and a broadcast packet is being sent.
Modernize the build system. Recent versions of autoconf and automake were giving a lot of warnings. This is sort of a backport of similar build system changes from the 1.1 banch: - Fix all autoconf/automake warnings. - Merge lib/ into src/. - Don't use symlinks for device.c any more, but use automake conditionals. - Use explicit paths to local header files. - Get rid of alloca.c/malloc.c/memcmp.c/realloc.c.
Set $NAME when calling host-up/down and subnet-up/down scripts.
Releasing 1.0.20.
Fix a compiler warning.
Clear status and options fields of unreachable nodes. Conflicts: src/graph.c
Fix warnings from cppcheck.
Update copyright notices.
Add LocalDiscovery option which tries to detect peers on the local network. Currently, this is implemented by sending IPv4 broadcast packets to the LAN during path MTU discovery.
Fix sparse warnings and add an extra sprinkling of const. This is more or less the equivalent of Sven-Haegar Koch's fixes in the 1.1 branch.
Update THANKS and copyright information.
Do not set indirect flag on edges from nodes with multiple addresses. Since tinc now handles UDP packets with a different source address and port than used for TCP connections, the heuristic to treat edges as indirect when tinc could detect that multiple addresses were used does not make sense anymore, and can actually reduce performance.
Update copyright notices.
Immediately exchange keys when establishing a meta connection. This in turn will trigger PMTU discovery, and ensures nodes know each others reflexive UDP address and port.