Guus Sliepen
1f8b70efa0
Keep track of the number of nodes in a tree.
2012-10-21 17:34:53 +02:00
Guus Sliepen
0006c754f2
Fix warnings from groff.
2012-10-17 13:51:02 +02:00
Guus Sliepen
0db9e471ea
Releasing 1.1pre3.
2012-10-14 19:50:37 +02:00
Guus Sliepen
3254e75afe
Fix a few compiler errors/warnings.
2012-10-14 19:21:13 +02:00
Guus Sliepen
70a1a5594a
Update copyright notices.
2012-10-14 17:42:49 +02:00
Guus Sliepen
4200a378c4
Fix compile error on Windows.
2012-10-14 16:39:16 +02:00
Guus Sliepen
368727c3da
tincctl: add node colors and edge weight to graph dump.
2012-10-14 16:12:17 +02:00
Guus Sliepen
40ed0c07dd
Log more messages using logger().
2012-10-14 15:37:24 +02:00
Guus Sliepen
b234304b66
Make sure the ReplayWindow option works for SPTPS as well.
2012-10-14 14:48:35 +02:00
Guus Sliepen
ee1d655f2f
Only log success of initial datagram SPTPS handshake.
2012-10-14 14:45:27 +02:00
Guus Sliepen
44a24f63ac
Fix handling of initial datagram SPTPS packet.
...
Only the very first packet of an SPTPS session should be send with REQ_KEY,
this signals the peer to abort any previous session and start a new one as
well.
2012-10-14 14:33:54 +02:00
Sven-Haegar Koch
ec1f7e525d
sptps.c: Add missing newline to log message.
2012-10-12 17:19:56 +02:00
Guus Sliepen
94ec8d34db
Strip newline from incoming SPTPS requests.
...
Most of the code doesn't care whether requests are terminated with a newline or
not, except that when requests are forwarded, it is assumed they do not have
one and a newline is added. When a node using SPTPS receives a request from
another SPTPS-using node, and forwards it to a non-SPTPS-using node, this will
result in two consecutive newlines, which the latter node will see as an empty,
and thus invalid, request.
2012-10-11 22:47:13 +02:00
Guus Sliepen
45944e4514
Clear status and options fields of unreachable nodes.
2012-10-11 22:21:30 +02:00
Guus Sliepen
d917c8cb6b
Fix whitespace.
2012-10-10 17:17:49 +02:00
Guus Sliepen
58f4b845b9
Try all known addresses of node during the PMTU discovery phase.
...
This helps in situations where some nodes have IPv6 and others have not.
2012-10-10 14:46:22 +02:00
Guus Sliepen
0ed0cc6f9c
Fix hash functions for keys whose size is not divisible by 4.
2012-10-09 17:49:09 +02:00
Guus Sliepen
d1ec010660
Fix memory leaks found by valgrind.
2012-10-09 16:27:28 +02:00
Guus Sliepen
72642b40b3
Clear Ethernet header when reading packets from a tun device.
...
This fixes a warning from valgrind about uninitialized bytes, which were being
sent to other nodes.
2012-10-09 15:52:58 +02:00
Guus Sliepen
b346338f9c
Remove unused variables, fix some #includes.
2012-10-09 13:28:09 +02:00
Guus Sliepen
f62b4a9134
Fix deleting connections from the connection list.
2012-10-09 13:23:12 +02:00
Guus Sliepen
0b8b23e0dd
C99 extravaganza.
2012-10-08 00:35:38 +02:00
Guus Sliepen
ff306f0cda
Replace the connection_tree with a connection_list.
...
The tree functions were never used on the connection_tree, a list is more appropriate.
Also be more paranoid about connections disappearing while traversing the list.
2012-10-07 21:59:53 +02:00
Guus Sliepen
ce059e36fd
Refactor outgoing connection handling.
...
Struct outgoing_ts and connection_ts were depending too much on each other,
causing lots of problems, especially the reuse of a connection_t. Now, whenever
a connection is closed it is immediately removed from the list of connections
and destroyed.
2012-10-07 21:02:40 +02:00
Guus Sliepen
d93a37928b
Fix warnings from cppcheck.
2012-10-07 17:53:23 +02:00
Guus Sliepen
5d0812d492
Remove a debug message.
2012-10-07 14:06:47 +02:00
Guus Sliepen
c2a9ed9e98
Handle packets encrypted via SPTPS that need to be forwarded via TCP.
2012-10-07 14:03:50 +02:00
Guus Sliepen
bb6b97ce34
Make datagram SPTPS key exchange more robust.
...
Similar to old style key exchange requests, keep track of whether a key
exchange is already in progress and how long it took. If no key is known yet
or if key exchange takes too long, (re)start a new key exchange.
2012-10-07 13:31:19 +02:00
Guus Sliepen
b99af2f813
Useful error messages when writing to a meta connection fails.
2012-10-07 11:45:54 +02:00
Guus Sliepen
e053713465
When terminating, keep control connections open until the end.
...
This ensures all device files and listening sockets have been closed before
tincctl gets notified of tincd's termination.
2012-10-06 21:16:17 +02:00
Guus Sliepen
86116bb022
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.
2012-10-06 21:15:19 +02:00
Guus Sliepen
ef9358c0d6
Improve starting/stopping tincd using tincctl.
...
When starting tincd, tincctl now strips non-options from the command line, and
sets argv[0] to the name of the tincd command instead of copying its own
command name.
When stopping a running tincd, tincctl now waits for it to terminate.
2012-10-06 17:45:03 +02:00
Guus Sliepen
47f33e07ff
Fix off-by-one error.
...
Apart from writing 1 byte beyond an array allocated on the stack, this slipped
an unitialized byte in the seed used for key generation.
2012-10-06 16:53:43 +02:00
Guus Sliepen
20b441a6de
Libreadline might depend on libcurses.
2012-10-01 10:42:13 +02:00
Guus Sliepen
3887e6dcb5
Remove abort() call that accidentily sneaked into commit dd1b69e
.
2012-10-01 10:39:15 +02:00
Guus Sliepen
0b0949e5bb
Make sure sptps_test compiles without -flto.
2012-10-01 10:36:23 +02:00
Guus Sliepen
b381acd60d
Remove unused function declaration.
2012-09-30 23:12:43 +02:00
Guus Sliepen
dd1b69e31f
Fix not reading Port statement from host config file.
2012-09-30 22:43:48 +02:00
Guus Sliepen
6dfdb32361
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
2012-09-30 15:00:47 +02:00
Guus Sliepen
c4940a5c88
Add strict checks to hex to binary conversions.
...
The main goal is to catch misuse of the obsolete PrivateKey and PublicKey
statements.
2012-09-30 13:45:47 +02:00
Guus Sliepen
3bd810ea79
Attribution for Martin Schürrer.
2012-09-30 13:45:39 +02:00
Martin Schürrer
5a161e86cf
Output details of encryption errors
2012-09-30 02:04:55 +02:00
Guus Sliepen
9e76c464b2
Remove some debugging messages.
2012-09-28 17:51:48 +02:00
Guus Sliepen
e971130b60
Make tincctl robust against dropped control connections.
2012-09-28 17:36:25 +02:00
Guus Sliepen
c5325ffdd1
Correctly add/remove outgoing connections when reloading configuration.
2012-09-28 17:05:01 +02:00
Guus Sliepen
f417271ea1
Fix column sorting, make all lists sortable.
2012-09-28 17:03:14 +02:00
Guus Sliepen
aee86011ff
Let the GUI handle the new dump format.
2012-09-27 22:12:15 +02:00
Guus Sliepen
fac5593f44
Fix links in documenation.
2012-09-27 17:19:02 +02:00
Guus Sliepen
2e09986a1f
Fix links in documentation.
2012-09-27 17:18:49 +02:00
Guus Sliepen
f70cbc9d3e
Comment out old public/private keys when generating new ones.
2012-09-27 15:45:02 +02:00