Fix all warnings when compiling with -Wall -W -pedantic.
Fix all -Wall -W compiler warnings.
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.
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.
Log unauthorized Subnets when StrictSubnets is set.
Add the StrictSubnets option. When this option is enabled, tinc will not accept dynamic updates of Subnets from other nodes, but will only use Subnets read from local host config files to build its routing table.
Preload all Subnets in TunnelServer mode. This simplifies the logic in protocol_subnet.c.
Fast handoff of roaming MAC addresses. In switch mode, if a known MAC address is claimed by a second node before it expired at the first node, it is likely that this is because a computer has roamed from the LAN of the first node to that of the second node. To ensure packets for that computer are routed to the second node, the first node should delete its corresponding Subnet as soon as possible, without waiting for the normal expiry timeout.
Don't disconnect clients in TunnelServer mode who send unauthorised ADD_SUBNETs. So that we are liberal in what we accept.
Drop support for localisation. Localised messages don't make much sense for a daemon, and there is only the Dutch translation which costs time to maintain.
Remove checkpoint tracing. This feature is not necessary anymore since we have tools like valgrind today that can catch stack overflow errors before they make a backtrace in gdb impossible.
K&R style braces. This is essentially commit f02d3ed3e135b5326003e7f69f8331ff6a3cc219 from the 1.1 branch, making it easier to merge between master and 1.1.
Update the address of the Free Software Foundation in all copyright headers.
Remove all occurences of $Id$.
Update copyright information. - Update year numbers in copyright headers. - Add copyright information for Michael Tokarev and Florian Forster to the copyright headers of files to which they have contributed significantly. - Mention Michael and Florian in AUTHORS. - Mention that tinc is GPLv3 or later if compiled with the --enable-tunemu flag.
Use only rand(), not random(). We used both rand() and random() in our code. Since it returns an int, we have to use %x in our format strings instead of %lx. This fixes a crash under Windows when cross-compiling tinc with a recent version of MinGW.
tunnelserver: log which ADD_SUBNET was refused Add some logging about refused ADD_SUBNET (it causes subsequent client disconnect so it's important to know which subnet was at fault). Maybe we should just ignore it completely.
TunnelServer: Don't disconnect client on DEL_SUBNET too Similar changes as was in 2327d3f6eb5982bcc922ff1ab1ec436ba6aeffdc but for del_subnet_h(). Before, we vere returning false (and causing disconnect of the client) in case of tunnelserver and the client sending DEL_SUBNET for non-his subnet or for subnet which owner isn't in our connection list. After the mentioned change to add_subnet_h() that routine does not add such indirect owners to the connection list anymore, so that was ok (owner == NULL and we return true). But if we too has a connection with the node about which the client is sending DEL_SUBNET notification, say, because that client lost connection with that other node, we'll disconnect this client from us too, returning false for indirect DEL_SUBNET. Fix that by allowing and ignoring indirect DEL_SUBNET in tunnelserver mode. Also rearranged the function a bit, to match add_subnet_h() (in particular, syntax-check everything first, see if we've seen this request before). And also fix some comments.
Update THANKS and copyright information.