Fix compilation without deprecated OpenSSL APIs This is an optional part of OpenWrt designed to save space.
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.30.
Enforce maximum amount of bytes sent/received on meta-connections. This is sqrt(2^{block_length_in_bits}).
Clear connection options and status fields in free_connection_partially(). Most fields should be zero when reusing a connection. In particular, when an outgoing connection to a node which is reachable on more than one address is made, the second connection to that node will have status.encryptout set but outctx will be NULL, causing a NULL pointer dereference when EVP_EncryptUpdate() is called in send_meta() when it shouldn't.
Always try next Address when an outgoing connection fails to authenticate. When making outgoing connections, tinc goes through the list of Addresses and tries all of them until one succeeds. However, before it would consider establishing a TCP connection a success, even when the authentication failed. This would be a problem if the first Address would point to a hostname and port combination that belongs to the wrong tinc node, or perhaps even to a non-tinc service, causing tinc to endlessly try this Address instead of moving to the next one. Problem found by Delf Eldkraft.
Update copyright notices.
Rename connection_t *broadcast to everyone.
Remove a few unnecessary #includes. Some spotted by Michael Tokarev.
Remove duplicate command-line option parsing. Also fix parsing of command-line host configuration options for the local node.
New '-o' option to configure server or hosts from command line Options given on the command line have precedence over configuration from files. This can be useful, for example, for a roaming node, for which 'ConnectTo' and <host>.Address depends on its location.
Preload all Subnets in TunnelServer mode. This simplifies the logic in protocol_subnet.c.
Use uint32_t instead of long int for connection options. Options should have a fixed width anyway, but this also fixes a possible MinGW compiler bug where %lx tries to print a 64 bit value, even though a long int is only 32 bits.
Add more authors to the copyright headers. Git's log and blame tools were used to find out which files had significant contributions from authors who sent in patches that were applied before we used git.
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$.