Guus Sliepen [Mon, 1 Oct 2012 08:42:13 +0000 (10:42 +0200)]
Libreadline might depend on libcurses.
Guus Sliepen [Mon, 1 Oct 2012 08:39:15 +0000 (10:39 +0200)]
Remove abort() call that accidentily sneaked into commit
dd1b69e.
Guus Sliepen [Mon, 1 Oct 2012 08:36:23 +0000 (10:36 +0200)]
Make sure sptps_test compiles without -flto.
Guus Sliepen [Sun, 30 Sep 2012 21:12:43 +0000 (23:12 +0200)]
Remove unused function declaration.
Guus Sliepen [Sun, 30 Sep 2012 20:43:48 +0000 (22:43 +0200)]
Fix not reading Port statement from host config file.
Guus Sliepen [Sun, 30 Sep 2012 13:00:47 +0000 (15:00 +0200)]
Merge branch 'master' into 1.1
Conflicts:
lib/utils.c
src/net_setup.c
src/process.c
src/protocol_auth.c
src/protocol_key.c
src/utils.h
Guus Sliepen [Sun, 30 Sep 2012 11:45:47 +0000 (13:45 +0200)]
Add strict checks to hex to binary conversions.
The main goal is to catch misuse of the obsolete PrivateKey and PublicKey
statements.
Guus Sliepen [Sun, 30 Sep 2012 11:45:39 +0000 (13:45 +0200)]
Attribution for Martin Schürrer.
Martin Schürrer [Sun, 30 Sep 2012 00:04:55 +0000 (02:04 +0200)]
Output details of encryption errors
Guus Sliepen [Fri, 28 Sep 2012 15:51:48 +0000 (17:51 +0200)]
Remove some debugging messages.
Guus Sliepen [Fri, 28 Sep 2012 15:36:25 +0000 (17:36 +0200)]
Make tincctl robust against dropped control connections.
Guus Sliepen [Fri, 28 Sep 2012 15:05:01 +0000 (17:05 +0200)]
Correctly add/remove outgoing connections when reloading configuration.
Guus Sliepen [Fri, 28 Sep 2012 15:03:14 +0000 (17:03 +0200)]
Fix column sorting, make all lists sortable.
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:19:02 +0000 (17:19 +0200)]
Fix links in documenation.
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 [Mon, 24 Sep 2012 12:56:00 +0000 (14:56 +0200)]
Don't ignore Makefile.am.
Guus Sliepen [Mon, 24 Sep 2012 12:02:07 +0000 (14:02 +0200)]
Attribution for Vil Brekin and some code style cleanups.
Vilbrekin [Sat, 25 Aug 2012 18:32:38 +0000 (20:32 +0200)]
Android cross-compilation instructions.
Vilbrekin [Sat, 25 Aug 2012 18:01:11 +0000 (20:01 +0200)]
Use __ANDROID__ define rather than dirty hard-code to allow android NDK cross-compilation.
Vilbrekin [Sat, 25 Aug 2012 17:59:26 +0000 (19:59 +0200)]
Add basic .gitignore file, cleaning (most) files generated by autotools.
Vilbrekin [Sat, 25 Aug 2012 17:14:00 +0000 (19:14 +0200)]
Replace hard-code with new ScriptsInterpreter configuration property.
This new setting allows choosing a custom script interpreter used for the various tinc callbacks.
If none is specified, the script itself is called as executable (as before).
This is particularly useful when storing tinc configuration and script on a mount point with no-exec attribute.
Vilbrekin [Wed, 22 Aug 2012 08:46:24 +0000 (10:46 +0200)]
Basic patch for android cross-compilation.
Commented non-existing functions in android NDK.
Prefix scripts execution with shell binary to allow execution on no-exec mount points.
Everyything is currently hard coded, while it should use pre-compiler variables...
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