Guus Sliepen [Thu, 27 Sep 2012 20:12:15 +0000 (22:12 +0200)]
Let the GUI handle the new dump format.
Guus Sliepen [Thu, 27 Sep 2012 15:18:49 +0000 (17:18 +0200)]
Fix links in documentation.
Guus Sliepen [Thu, 27 Sep 2012 13:45:02 +0000 (15:45 +0200)]
Comment out old public/private keys when generating new ones.
Guus Sliepen [Wed, 26 Sep 2012 21:56:21 +0000 (23:56 +0200)]
Update documentation of the "dump graph" command.
Guus Sliepen [Wed, 26 Sep 2012 21:52:36 +0000 (23:52 +0200)]
Allow dumping either directed or undirected graphs.
Internally, tinc maintains a directed graph of the meta connections between
nodes. However, this causes graphviz to draw two lines between nodes, which is
not always desirable. The "dump graph" command now defaults to dumping an
undirected graph, the "dump digraph" command will dump a directed graph.
Guus Sliepen [Wed, 26 Sep 2012 21:18:32 +0000 (23:18 +0200)]
Let tincctl parse and format dumps.
At the moment it just reproduces the old format.
Guus Sliepen [Wed, 26 Sep 2012 20:20:43 +0000 (22:20 +0200)]
Keep last known address and time since reachability changed.
This allows tincctl info to show since when a node is online or offline.
Guus Sliepen [Tue, 25 Sep 2012 20:28:08 +0000 (22:28 +0200)]
Remove remnants of Ethertap and old TUNSETIFF ioctl().
Guus Sliepen [Tue, 25 Sep 2012 20:12:36 +0000 (22:12 +0200)]
Fix typo in manpage.
Guus Sliepen [Thu, 13 Sep 2012 19:35:29 +0000 (21:35 +0200)]
Ensure sptps_test compiles with -flto.
Guus Sliepen [Wed, 5 Sep 2012 11:05:48 +0000 (13:05 +0200)]
Replace node_udp_tree with a hash table.
Guus Sliepen [Wed, 5 Sep 2012 10:45:36 +0000 (12:45 +0200)]
Use hash tables to lookup owners of addresses.
Guus Sliepen [Wed, 5 Sep 2012 10:44:41 +0000 (12:44 +0200)]
Add a simple hash table implementation.
Guus Sliepen [Tue, 4 Sep 2012 12:21:50 +0000 (14:21 +0200)]
Remove newlines at end of log messages.
Guus Sliepen [Tue, 4 Sep 2012 12:16:05 +0000 (14:16 +0200)]
Remove some debug messages.
Guus Sliepen [Thu, 30 Aug 2012 12:21:23 +0000 (14:21 +0200)]
Properly handle SPTPS packets with stripped Ethernet headers.
Guus Sliepen [Thu, 30 Aug 2012 12:00:34 +0000 (14:00 +0200)]
Fix node name check for "connect" and "disconnect" commands.
Guus Sliepen [Sun, 5 Aug 2012 15:25:31 +0000 (17:25 +0200)]
Quit when "exit" or "quit" commands are used in tincctl's shell.
Guus Sliepen [Sun, 5 Aug 2012 15:03:57 +0000 (17:03 +0200)]
Fix segfault when using tincctl's shell without readline.
Guus Sliepen [Sun, 5 Aug 2012 11:50:51 +0000 (13:50 +0200)]
Add bash completion script.
Guus Sliepen [Fri, 3 Aug 2012 12:17:02 +0000 (14:17 +0200)]
Make sure the top command can be used more than once in tincctl's shell.
Guus Sliepen [Fri, 3 Aug 2012 12:15:50 +0000 (14:15 +0200)]
Fork when using the "start" command in tincctl.
This allows the command to be given in its shell without immediatly exiting tincctl.
Guus Sliepen [Fri, 3 Aug 2012 11:23:07 +0000 (13:23 +0200)]
Add readline completion for tincctl config and tincctl info.
Guus Sliepen [Thu, 2 Aug 2012 15:44:59 +0000 (17:44 +0200)]
Optionally compress and/or strip Ethernet header from SPTPS packets.
Guus Sliepen [Thu, 2 Aug 2012 15:24:42 +0000 (17:24 +0200)]
Have tincctl act as a shell when no command is given.
By default it uses readline to read commands. If the input and output are not a
tty, no prompt is shown.
Guus Sliepen [Thu, 2 Aug 2012 15:23:51 +0000 (17:23 +0200)]
Clear struct sptps before reusing it.
Guus Sliepen [Wed, 1 Aug 2012 20:22:52 +0000 (22:22 +0200)]
Update the documentation to encourage using "tincctl init" and "tincctl config".
Guus Sliepen [Wed, 1 Aug 2012 14:51:59 +0000 (16:51 +0200)]
Stricter checks for netname and node names.
- Node names should not be empty.
- Net names should not contain slashes or start with a dot, because they are
used in pathnames.
Guus Sliepen [Wed, 1 Aug 2012 14:13:23 +0000 (16:13 +0200)]
Add missing configuration variables.
Guus Sliepen [Wed, 1 Aug 2012 13:50:45 +0000 (15:50 +0200)]
Add the ability to query configuration variables to tincctl.
Guus Sliepen [Wed, 1 Aug 2012 13:15:37 +0000 (15:15 +0200)]
tincctl restart should work even if no tincd is running.
Guus Sliepen [Wed, 1 Aug 2012 13:14:48 +0000 (15:14 +0200)]
Try sending SIGTERM if we cannot connect to a tincd but we know its PID.
Guus Sliepen [Tue, 31 Jul 2012 19:43:49 +0000 (21:43 +0200)]
Use a status bit to track which nodes use SPTPS.
Guus Sliepen [Tue, 31 Jul 2012 18:39:15 +0000 (20:39 +0200)]
Add Brandon Black's replay window code to SPTPS.
Guus Sliepen [Tue, 31 Jul 2012 18:36:35 +0000 (20:36 +0200)]
Handle SPTPS datagrams in try_mac().
Guus Sliepen [Tue, 31 Jul 2012 18:29:13 +0000 (20:29 +0200)]
Remove unused #include.
Guus Sliepen [Mon, 30 Jul 2012 16:36:59 +0000 (18:36 +0200)]
Use datagram SPTPS for packet exchange between nodes.
When two nodes which support SPTPS want to send packets to each other, they now
always use SPTPS. The node initiating the SPTPS session send the first SPTPS
packet via an extended REQ_KEY messages. All other handshake messages are sent
using ANS_KEY messages. This ensures that intermediate nodes using an older
version of tinc can still help with NAT traversal. After the authentication
phase is over, SPTPS packets are sent via UDP, or are encapsulated in extended
REQ_KEY messages instead of PACKET messages.
Guus Sliepen [Fri, 27 Jul 2012 20:48:24 +0000 (22:48 +0200)]
Merge branch 'master' into 1.1
Guus Sliepen [Fri, 27 Jul 2012 20:43:01 +0000 (22:43 +0200)]
Also clarify hostnames=[yes|no] in tinc.conf(5).
Mesar Hameed [Tue, 24 Jul 2012 06:18:50 +0000 (07:18 +0100)]
Minor clarification, tinc.conf hostnames=[yes|no] variable only resolves names for logging purposes.
Guus Sliepen [Sun, 22 Jul 2012 11:05:56 +0000 (13:05 +0200)]
Remove unused po/ directory.
Guus Sliepen [Sun, 22 Jul 2012 10:55:04 +0000 (12:55 +0200)]
Have tinc-gui use same way of locating pidfile as tincd and tincctl.
Guus Sliepen [Sun, 22 Jul 2012 10:52:31 +0000 (12:52 +0200)]
tincctl init now also creates a template tinc-up script.
Guus Sliepen [Sat, 21 Jul 2012 15:10:10 +0000 (17:10 +0200)]
Fix exit code when installing tincd as a service on Windows.
Guus Sliepen [Sat, 21 Jul 2012 14:33:09 +0000 (16:33 +0200)]
Windows doesn't like quotes around "edit" when calling it through system().
Even though that works fine on the command line.
Guus Sliepen [Sat, 21 Jul 2012 14:26:55 +0000 (16:26 +0200)]
Use backslashes on Windows.
Although Windows itself supports the forward slash, some programs may not.
Guus Sliepen [Sat, 21 Jul 2012 13:58:16 +0000 (15:58 +0200)]
Don't try to mkdir(CONFDIR) on Windows when there is a registry key for tinc.
Guus Sliepen [Sat, 21 Jul 2012 13:51:15 +0000 (15:51 +0200)]
Fix crash when no netname is specified.
Guus Sliepen [Sat, 21 Jul 2012 13:50:50 +0000 (15:50 +0200)]
Fix some compiler warnings.
Guus Sliepen [Sat, 21 Jul 2012 13:15:04 +0000 (15:15 +0200)]
Have tincd and tincctl use the same method of determining netname.
Guus Sliepen [Sat, 21 Jul 2012 13:02:44 +0000 (15:02 +0200)]
Add a newline to a configuration file if it is missing.
Guus Sliepen [Sat, 21 Jul 2012 13:02:17 +0000 (15:02 +0200)]
Add some checks when changing configuration.
Guus Sliepen [Sat, 21 Jul 2012 12:19:23 +0000 (14:19 +0200)]
Call event_init() after detaching.
Otherwise, the call to daemon() could close filedescriptors in use by libevent
itself; for example if it uses kqueue or epoll instead of a select() or poll()
backend.
Guus Sliepen [Sat, 21 Jul 2012 11:53:22 +0000 (13:53 +0200)]
Fix various compiler warnings.
Guus Sliepen [Sat, 21 Jul 2012 11:38:14 +0000 (13:38 +0200)]
BSD make doesn't like $<.
Guus Sliepen [Sat, 21 Jul 2012 11:02:35 +0000 (13:02 +0200)]
Make sure sptps.h and info.h are in the tarball.
Guus Sliepen [Sat, 21 Jul 2012 10:51:53 +0000 (12:51 +0200)]
Make sure tinc compiles on Windows.
Guus Sliepen [Fri, 20 Jul 2012 18:35:07 +0000 (20:35 +0200)]
Prefer routes with lower weight as long as they do not increase the number of hops.
This should improve traffic to nodes that are not directly reachable somewhat.
Guus Sliepen [Fri, 20 Jul 2012 18:01:29 +0000 (20:01 +0200)]
Allow more configuration variables to be changed when reloading configuration.
In particular, Subnets may be added or removed from the local node on the fly.
Guus Sliepen [Fri, 20 Jul 2012 17:59:47 +0000 (19:59 +0200)]
Split setup_myself() into two functions, one for reloading configuration.
Guus Sliepen [Fri, 20 Jul 2012 15:29:16 +0000 (17:29 +0200)]
Never remove items from cmdline_conf.
We should treat cmdline_conf as const, so we can call read_config_options()
more than once with prefix = NULL.
Guus Sliepen [Thu, 19 Jul 2012 23:02:51 +0000 (01:02 +0200)]
Use minor protocol version to determine whether to use ECDH key exchange between nodes.
Guus Sliepen [Tue, 17 Jul 2012 16:05:55 +0000 (18:05 +0200)]
Put minor protocol version in connection options so other nodes can see it.
This allows two nodes that do not have a meta-connection with each other see
which version they are.
Guus Sliepen [Mon, 16 Jul 2012 16:49:39 +0000 (18:49 +0200)]
When exporting configuration files, don't copy Name variables.
These interfere with tincctl import. Besides, host configuration files should
not contain Name at all.
Guus Sliepen [Mon, 16 Jul 2012 14:48:24 +0000 (16:48 +0200)]
Add an easy way to export and import host configuration files.
Guus Sliepen [Sun, 15 Jul 2012 23:14:08 +0000 (01:14 +0200)]
Strip default subnet weight from output.
Guus Sliepen [Sun, 15 Jul 2012 23:09:47 +0000 (01:09 +0200)]
Give an error message when tincctl info cannot parse the given subnet or address.
Guus Sliepen [Sun, 15 Jul 2012 23:05:25 +0000 (01:05 +0200)]
"tincctl info" gives more human readable information about nodes or subnets.
Guus Sliepen [Sun, 15 Jul 2012 22:52:50 +0000 (00:52 +0200)]
Move all functions related to subnet parsing to subnet_parse.c.
Guus Sliepen [Sun, 15 Jul 2012 20:53:03 +0000 (22:53 +0200)]
Fix tincctl dump.
Guus Sliepen [Sun, 15 Jul 2012 19:17:10 +0000 (21:17 +0200)]
Let tincctl ignore tincd options, so they will be passed on.
Guus Sliepen [Sun, 15 Jul 2012 19:15:35 +0000 (21:15 +0200)]
Fix tincctl start.
Guus Sliepen [Sun, 15 Jul 2012 18:59:17 +0000 (20:59 +0200)]
Have tincctl notify a running tincd of configuration file changes.
Guus Sliepen [Sun, 15 Jul 2012 18:37:38 +0000 (20:37 +0200)]
Add an easy way to edit a configuration file.
Guus Sliepen [Sun, 15 Jul 2012 18:22:21 +0000 (20:22 +0200)]
Stricter checks for node names.
Guus Sliepen [Sun, 15 Jul 2012 16:16:35 +0000 (18:16 +0200)]
Allow configuration variables to be added/removed using tincctl.
Guus Sliepen [Sun, 15 Jul 2012 13:46:16 +0000 (15:46 +0200)]
Put every command in its own function.
Guus Sliepen [Sun, 15 Jul 2012 12:49:36 +0000 (14:49 +0200)]
"tincctl init" creates initial directory structure, tinc.conf and keypairs.
Guus Sliepen [Sat, 14 Jul 2012 13:13:21 +0000 (15:13 +0200)]
Merge branch 'master' into 1.1
Guus Sliepen [Thu, 12 Jul 2012 09:32:08 +0000 (11:32 +0200)]
Update THANKS file.
Guus Sliepen [Thu, 12 Jul 2012 09:30:56 +0000 (11:30 +0200)]
Document how to load the tap driver on FreeBSD.
Guus Sliepen [Thu, 12 Jul 2012 09:25:11 +0000 (11:25 +0200)]
Use /dev/tap0 by default on FreeBSD and NetBSD when using Mode = switch.
Guus Sliepen [Tue, 26 Jun 2012 12:22:57 +0000 (14:22 +0200)]
Fix crash when handling the ALRM signal.
In retry() the function do_outgoing_connection() is called, which can delete
items from the connection_tree, so when walking the tree we must first save the
pointer to the next item.
Guus Sliepen [Tue, 26 Jun 2012 11:24:20 +0000 (13:24 +0200)]
Merge branch 'master' of git://tinc-vpn.org/tinc into 1.1
Conflicts:
NEWS
README
configure.in
lib/utils.c
src/linux/device.c
src/meta.c
src/net.h
src/net_setup.c
src/net_socket.c
src/protocol.c
src/protocol_auth.c
src/tincd.c
Guus Sliepen [Mon, 25 Jun 2012 17:45:51 +0000 (19:45 +0200)]
Releasing 1.0.19.
Guus Sliepen [Mon, 25 Jun 2012 17:03:54 +0000 (19:03 +0200)]
Fix crash when using Broadcast = direct.
Guus Sliepen [Mon, 25 Jun 2012 17:01:51 +0000 (19:01 +0200)]
Fix compiler warnings.
Guus Sliepen [Mon, 25 Jun 2012 13:01:42 +0000 (15:01 +0200)]
#include <winsock2.h> on Windows.
MinGW complained about it not being included.
Guus Sliepen [Mon, 25 Jun 2012 13:00:24 +0000 (15:00 +0200)]
Small fixes in proxy code.
Guus Sliepen [Sun, 13 May 2012 20:16:42 +0000 (22:16 +0200)]
Don't forget to send a newline when forwarding requests.
Michael Tokarev [Fri, 4 May 2012 12:41:47 +0000 (16:41 +0400)]
add (errnum) in front of windows error messages
On localized, non-English versions of windows, it is
common to have two active charsets -- for console applications
and for GUI applications, together with localized error messages
returned by windows. But two charsets are rarely compatible,
so sending the same byte sequence to console and to windows
event log makes one or another to be unreadable. So at least
include the error number, this way it will be possible to
lookup the actual error test using external ways.
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Guus Sliepen [Tue, 8 May 2012 14:44:15 +0000 (16:44 +0200)]
Always pass request strings to other functions as const char *.
Sven-Haegar Koch [Sun, 22 Apr 2012 01:44:28 +0000 (03:44 +0200)]
free_connection_partially(): also reset remote protocol version infos
The used remote protocol can change between two reconnects, aka if
the remote side has enabled/disabled for example their ExperimentalProtocols
setting.
Sven-Haegar Koch [Sun, 22 Apr 2012 01:05:29 +0000 (03:05 +0200)]
Silence SPTPS log messages, reduce them from DEBUG_ALWAYS to DEBUG_META.
Sven-Haegar Koch [Sun, 22 Apr 2012 00:55:06 +0000 (02:55 +0200)]
terminate_connection(): delete non-outgoing (aka incoming) connections.
Sven-Haegar Koch [Sat, 21 Apr 2012 01:44:24 +0000 (03:44 +0200)]
Label control connections for log output as "<control>", not "<unknown>".
Sven-Haegar Koch [Fri, 20 Apr 2012 23:59:01 +0000 (01:59 +0200)]
free_connection_partially(): Avoid possible use-after-free for c->hischallenge
Sven-Haegar Koch [Fri, 20 Apr 2012 23:51:36 +0000 (01:51 +0200)]
terminate_connection(): only kill c->node->connection if it is pointing
to the same connection
Sven-Haegar Koch [Thu, 19 Apr 2012 22:24:38 +0000 (00:24 +0200)]
terminate_connection(): Avoid use-after-free and double-free for
already freed edge structure.
Guus Sliepen [Thu, 19 Apr 2012 13:56:08 +0000 (15:56 +0200)]
Document new proxy types.