Fix all warnings when compiling with -Wall -W -pedantic.
Fix all -Wall -W compiler warnings.
Reformat all code using astyle.
Releasing 1.0.29.
Preserve IPv6 scope_id in edges. When creating an edge after authenticating a peer, we copy the address used for the TCP connection, but change the port to that used for UDP. But the way we did it discarded the scope_id for IPv6 addresses. This prevented UDP communication from working correctly when connecting to a peer on the same LAN using an IPv6 link-local address. Thanks to Rafał Leśniak for pointing out this issue.
Add ability to use proxies to connect to hostnames when there is no nameserver. This adds support for SOCKS4a, and enhances the support for SOCKS5 and HTTP.
Don't try to call res_init() if ./configure told us it doesn't exist.
Update copyright notices.
Always call res_init() before getaddrinfo(). Unfortunately, glibc assumes that /etc/resolv.conf is a static file that never changes. Even on servers, /etc/resolv.conf might be a dynamically generated file, and we never know when it changes. So just call res_init() every time, so glibc uses up-to-date nameserver information.
Add support for proxying through an external command. Proxy type "exec" can be used to have an external script or binary set up an outgoing connection. Standard input and output will be used to exchange data with the external command. The variables REMOTEADDRESS and REMOTEPORT are set to the intended destination address and port.
Update THANKS and copyright information.
Always use the default signal handler for ABRT signals. This will allow coredumps to be generated when tinc is daemonized. Also add the -kABRT option.
Convert Port to numeric form before sending it to other nodes. If one uses a symbolic name for the Port option, tinc will send that name literally to other nodes. However, it is not guaranteed that all nodes have the same contents in /etc/services, or have such a file at all.
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.
Replace asprintf() by xasprintf().