Guus Sliepen
4c05afd19a
Use hash tables to lookup owners of addresses.
2012-09-05 12:45:36 +02:00
Guus Sliepen
6b6a025488
Add a simple hash table implementation.
2012-09-05 12:44:41 +02:00
Guus Sliepen
e9de08be0d
Remove newlines at end of log messages.
2012-09-04 14:21:50 +02:00
Guus Sliepen
05dac63dbc
Remove some debug messages.
2012-09-04 14:16:05 +02:00
Guus Sliepen
742f7bb04e
Properly handle SPTPS packets with stripped Ethernet headers.
2012-08-30 14:21:23 +02:00
Guus Sliepen
d74b81b61e
Fix node name check for "connect" and "disconnect" commands.
2012-08-30 14:00:34 +02:00
Guus Sliepen
5567c0d410
Quit when "exit" or "quit" commands are used in tincctl's shell.
2012-08-05 17:25:31 +02:00
Guus Sliepen
d18519ae21
Fix segfault when using tincctl's shell without readline.
2012-08-05 17:03:57 +02:00
Guus Sliepen
e29e0fee88
Make sure the top command can be used more than once in tincctl's shell.
2012-08-03 14:17:02 +02:00
Guus Sliepen
a57db1dfe0
Fork when using the "start" command in tincctl.
...
This allows the command to be given in its shell without immediatly exiting tincctl.
2012-08-03 14:15:50 +02:00
Guus Sliepen
36c6afede3
Add readline completion for tincctl config and tincctl info.
2012-08-03 13:23:07 +02:00
Guus Sliepen
8af2f3f5a4
Optionally compress and/or strip Ethernet header from SPTPS packets.
2012-08-02 17:44:59 +02:00
Guus Sliepen
73348be58e
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.
2012-08-02 17:24:42 +02:00
Guus Sliepen
91937812bd
Clear struct sptps before reusing it.
2012-08-02 17:23:51 +02:00
Guus Sliepen
6396f42d74
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.
2012-08-01 16:51:59 +02:00
Guus Sliepen
61006ced88
Add missing configuration variables.
2012-08-01 16:13:23 +02:00
Guus Sliepen
b0f3a76e9b
Add the ability to query configuration variables to tincctl.
2012-08-01 15:53:20 +02:00
Guus Sliepen
a9caa2a6ea
tincctl restart should work even if no tincd is running.
2012-08-01 15:15:37 +02:00
Guus Sliepen
07980b056c
Try sending SIGTERM if we cannot connect to a tincd but we know its PID.
2012-08-01 15:14:48 +02:00
Guus Sliepen
7a71d48009
Use a status bit to track which nodes use SPTPS.
2012-07-31 21:43:49 +02:00
Guus Sliepen
6bc8df3e01
Add Brandon Black's replay window code to SPTPS.
2012-07-31 20:39:15 +02:00
Guus Sliepen
5ede437307
Handle SPTPS datagrams in try_mac().
2012-07-31 20:36:35 +02:00
Guus Sliepen
aaff0ed089
Remove unused #include.
2012-07-31 20:29:13 +02:00
Guus Sliepen
153abaa4d9
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.
2012-07-30 18:36:59 +02:00
Guus Sliepen
2b97a7d7cf
tincctl init now also creates a template tinc-up script.
2012-07-22 12:52:31 +02:00
Guus Sliepen
eb430005c7
Fix exit code when installing tincd as a service on Windows.
2012-07-21 17:10:10 +02:00
Guus Sliepen
e5e96882c3
Windows doesn't like quotes around "edit" when calling it through system().
...
Even though that works fine on the command line.
2012-07-21 16:33:09 +02:00
Guus Sliepen
18237e1f2d
Use backslashes on Windows.
...
Although Windows itself supports the forward slash, some programs may not.
2012-07-21 16:26:55 +02:00
Guus Sliepen
09a8ff649c
Don't try to mkdir(CONFDIR) on Windows when there is a registry key for tinc.
2012-07-21 15:58:16 +02:00
Guus Sliepen
ed8ce60845
Fix crash when no netname is specified.
2012-07-21 15:51:15 +02:00
Guus Sliepen
7303b512b0
Fix some compiler warnings.
2012-07-21 15:50:50 +02:00
Guus Sliepen
33521eabd4
Have tincd and tincctl use the same method of determining netname.
2012-07-21 15:15:04 +02:00
Guus Sliepen
1d322d2eda
Add a newline to a configuration file if it is missing.
2012-07-21 15:02:44 +02:00
Guus Sliepen
dea722c4ac
Add some checks when changing configuration.
2012-07-21 15:02:17 +02:00
Guus Sliepen
cc0c35267f
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.
2012-07-21 14:19:23 +02:00
Guus Sliepen
4e0fc52197
Fix various compiler warnings.
2012-07-21 13:53:22 +02:00
Guus Sliepen
98a72d6869
Make sure sptps.h and info.h are in the tarball.
2012-07-21 13:12:30 +02:00
Guus Sliepen
5eeed38b8e
Make sure tinc compiles on Windows.
2012-07-21 12:51:53 +02:00
Guus Sliepen
1d4590ca5c
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.
2012-07-20 20:35:07 +02:00
Guus Sliepen
4c8ead9874
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.
2012-07-20 20:01:29 +02:00
Guus Sliepen
c678e7c4fb
Split setup_myself() into two functions, one for reloading configuration.
2012-07-20 19:59:47 +02:00
Guus Sliepen
4591e96c76
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.
2012-07-20 17:29:16 +02:00
Guus Sliepen
68a20876d0
Use minor protocol version to determine whether to use ECDH key exchange between nodes.
2012-07-20 01:02:51 +02:00
Guus Sliepen
76a3ada4eb
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.
2012-07-17 18:05:55 +02:00
Guus Sliepen
68de7b481e
When exporting configuration files, don't copy Name variables.
...
These interfere with tincctl import. Besides, host configuration files should
not contain Name at all.
2012-07-16 18:49:39 +02:00
Guus Sliepen
c52c46f871
Add an easy way to export and import host configuration files.
2012-07-16 16:48:24 +02:00
Guus Sliepen
6319dc9dde
Strip default subnet weight from output.
2012-07-16 01:14:08 +02:00
Guus Sliepen
74646a4afa
Give an error message when tincctl info cannot parse the given subnet or address.
2012-07-16 01:09:47 +02:00
Guus Sliepen
53735a9d96
"tincctl info" gives more human readable information about nodes or subnets.
2012-07-16 01:05:25 +02:00
Guus Sliepen
3c7003893f
Move all functions related to subnet parsing to subnet_parse.c.
2012-07-16 00:52:50 +02:00