tinc
15 years agoMove RSA key generation into the wrappers.
Guus Sliepen [Sun, 14 Dec 2008 12:47:26 +0000 (12:47 +0000)]
Move RSA key generation into the wrappers.

15 years agoMake sure IPv6 sockets are IPv6 only.
Guus Sliepen [Thu, 11 Dec 2008 20:49:14 +0000 (20:49 +0000)]
Make sure IPv6 sockets are IPv6 only.

15 years agoUse Dijkstra's algorithm. Based on patches from Max Rijevskiy.
Guus Sliepen [Thu, 11 Dec 2008 18:07:26 +0000 (18:07 +0000)]
Use Dijkstra's algorithm. Based on patches from Max Rijevskiy.

15 years agoRemove wrong checks.
Guus Sliepen [Thu, 11 Dec 2008 18:05:59 +0000 (18:05 +0000)]
Remove wrong checks.

15 years agoRemove unnecessary parentheses from sizeof, apply sizeof to variables instead of...
Guus Sliepen [Thu, 11 Dec 2008 15:56:18 +0000 (15:56 +0000)]
Remove unnecessary parentheses from sizeof, apply sizeof to variables instead of types whereever possible.

15 years agoFix compiler warnings.
Guus Sliepen [Thu, 11 Dec 2008 15:42:46 +0000 (15:42 +0000)]
Fix compiler warnings.

15 years agoBackport fixes from trunk since revision 1555.
Guus Sliepen [Thu, 11 Dec 2008 15:21:40 +0000 (15:21 +0000)]
Backport fixes from trunk since revision 1555.

15 years agoUse the crypto wrappers again instead of calling OpenSSL directly.
Guus Sliepen [Thu, 11 Dec 2008 14:44:44 +0000 (14:44 +0000)]
Use the crypto wrappers again instead of calling OpenSSL directly.
This theoretically allows other cryptographic libraries to be used,
and it improves the readability of the code.

15 years agoMove AC_GNU_SOURCE up to make autoconf happy.
Guus Sliepen [Thu, 11 Dec 2008 14:43:13 +0000 (14:43 +0000)]
Move AC_GNU_SOURCE up to make autoconf happy.
Also bump libgcrypt dependency to 1.4.0, because that version supports the OFB cipher mode.

15 years agoOnly show meta connection related debug messages when debug level >= 4
Guus Sliepen [Thu, 11 Dec 2008 14:03:52 +0000 (14:03 +0000)]
Only show meta connection related debug messages when debug level >= 4

15 years agoLook in the configured sbin directory for the tincd binary.
Guus Sliepen [Thu, 11 Dec 2008 13:59:46 +0000 (13:59 +0000)]
Look in the configured sbin directory for the tincd binary.

16 years agoUse a control socket directory to restrict access
Scott Lamb [Thu, 8 Nov 2007 19:18:44 +0000 (19:18 +0000)]
Use a control socket directory to restrict access

This provides reasonable security even on Solaris. The sysadmin is
responsible for securing the control socket's ancestors from the
grandparent on.

We could add a cryptographic handshake later if desired.

16 years agoCoding style corrections
Scott Lamb [Wed, 7 Nov 2007 06:45:28 +0000 (06:45 +0000)]
Coding style corrections

16 years agoReload configuration through control socket
Scott Lamb [Wed, 7 Nov 2007 02:51:24 +0000 (02:51 +0000)]
Reload configuration through control socket

I also kept the SIGHUP handler, which many people will expect to see.
The control socket is better, though - it will tell you if there is a
problem.

16 years agoRetry connections through control socket
Scott Lamb [Wed, 7 Nov 2007 02:50:58 +0000 (02:50 +0000)]
Retry connections through control socket

16 years agoAlter debugging levels through control socket
Scott Lamb [Wed, 7 Nov 2007 02:50:27 +0000 (02:50 +0000)]
Alter debugging levels through control socket

16 years agoPurge through the control socket
Scott Lamb [Wed, 7 Nov 2007 02:49:57 +0000 (02:49 +0000)]
Purge through the control socket

16 years agoDump through control socket
Scott Lamb [Wed, 7 Nov 2007 02:49:25 +0000 (02:49 +0000)]
Dump through control socket

Note this removes SIGUSR1, SIGUSR2, and the graph dumping config option.
It seems cleaner to do everything through the control socket.

16 years agoFancier protocol for control socket
Scott Lamb [Wed, 7 Nov 2007 02:48:33 +0000 (02:48 +0000)]
Fancier protocol for control socket

* pass error status back
* pass message boundaries

16 years agoFix reload crash
Scott Lamb [Wed, 7 Nov 2007 02:48:15 +0000 (02:48 +0000)]
Fix reload crash

sighup_handler was expecting the connection_tree to stay the same across
terminate_connection(), which hasn't been true since r1539.

16 years agoUpdate documentation to match tincctl changes
Scott Lamb [Wed, 7 Nov 2007 02:48:00 +0000 (02:48 +0000)]
Update documentation to match tincctl changes

(Most of this was done in r1559, but it looks like tincctl.8.in got missed.)

16 years agoTemporarily revert to old crypto code
Scott Lamb [Wed, 7 Nov 2007 02:47:05 +0000 (02:47 +0000)]
Temporarily revert to old crypto code

(The new code is still segfaulting for me, and I'd like to proceed with other
work.)

This largely rolls back to the revision 1545 state of the existing code
(new crypto layer is still there with no callers), though I reintroduced
the segfault fix of revision 1562.

16 years agoPrevent double free() of a used challenge nonce.
Guus Sliepen [Sat, 20 Oct 2007 11:21:44 +0000 (11:21 +0000)]
Prevent double free() of a used challenge nonce.

16 years agoFix meta data segfault when receiving a partial command.
Guus Sliepen [Fri, 19 Oct 2007 19:07:30 +0000 (19:07 +0000)]
Fix meta data segfault when receiving a partial command.

16 years agoUse a dummy function as the read callback for connection bufferevents. Should not...
Guus Sliepen [Fri, 19 Oct 2007 18:54:43 +0000 (18:54 +0000)]
Use a dummy function as the read callback for connection bufferevents. Should not be triggered.

16 years agoFix connection weight estimation.
Guus Sliepen [Fri, 19 Oct 2007 18:53:48 +0000 (18:53 +0000)]
Fix connection weight estimation.

16 years agoApply patch from Scott Lamb: Update documentation to match tincctl changes
Guus Sliepen [Tue, 4 Sep 2007 15:06:35 +0000 (15:06 +0000)]
Apply patch from Scott Lamb: Update documentation to match tincctl changes

16 years agoSmall fixes to make gcrypt routines compile.
Guus Sliepen [Tue, 4 Sep 2007 14:58:52 +0000 (14:58 +0000)]
Small fixes to make gcrypt routines compile.

16 years agoFix formatting of --help output.
Guus Sliepen [Tue, 4 Sep 2007 14:58:11 +0000 (14:58 +0000)]
Fix formatting of --help output.

16 years agoOnly check for libgcrypt if --with-gcrypt is used.
Guus Sliepen [Tue, 4 Sep 2007 14:57:37 +0000 (14:57 +0000)]
Only check for libgcrypt if --with-gcrypt is used.

16 years agoconst correctness
Scott Lamb [Fri, 20 Jul 2007 20:10:46 +0000 (20:10 +0000)]
const correctness

cipher_encrypt and cipher_decrypt should take "const void *" data

16 years agoUpdated svn:ignores list for new symlinked sources and tincctl.
Scott Lamb [Wed, 18 Jul 2007 16:44:05 +0000 (16:44 +0000)]
Updated svn:ignores list for new symlinked sources and tincctl.

16 years agoRefresh po/POTFILES.in.
Scott Lamb [Wed, 18 Jul 2007 16:40:41 +0000 (16:40 +0000)]
Refresh po/POTFILES.in.

In particular, remove lib/pidfile.c which was causing failures. Also sort
for diffability with "find . -type f -name '*.c' | cut -c3- | sort" output.

16 years agoRevert to only requiring autoconf 2.59.
Scott Lamb [Wed, 18 Jul 2007 16:40:29 +0000 (16:40 +0000)]
Revert to only requiring autoconf 2.59.

The new autoconf macros introduced at the same time (AC_GNU_SOURCE,
AC_FUNC_MALLOC, AC_FUNC_REALLOC) exist in the autoconf 2.59 documentation,
and autoconf 2.59 appears to still work. This is more convenient, as RHEL 5
ships with autoconf 2.59.

16 years agoFinish crypto wrapping. Also provide wrappers for OpenSSL.
Guus Sliepen [Wed, 23 May 2007 13:45:49 +0000 (13:45 +0000)]
Finish crypto wrapping. Also provide wrappers for OpenSSL.
Disable libgcrypt by default. Since it doesn't support the OFB cipher mode,
we can't use it in a backwards compatible way.

16 years agoSome more crypto wrapper functions are needed.
Guus Sliepen [Tue, 22 May 2007 23:41:22 +0000 (23:41 +0000)]
Some more crypto wrapper functions are needed.

16 years agoMake sure the crypto wrapper functions can actually be compiled.
Guus Sliepen [Tue, 22 May 2007 21:44:17 +0000 (21:44 +0000)]
Make sure the crypto wrapper functions can actually be compiled.

16 years agoCreate wrappers for the cryptographic operations used in tinc.
Guus Sliepen [Tue, 22 May 2007 21:32:48 +0000 (21:32 +0000)]
Create wrappers for the cryptographic operations used in tinc.
Implement them using libgcrypt.

16 years agoParse PEM RSA keys ourself, and use libgcrypt to do RSA encryption and decryption.
Guus Sliepen [Sun, 20 May 2007 22:28:49 +0000 (22:28 +0000)]
Parse PEM RSA keys ourself, and use libgcrypt to do RSA encryption and decryption.

16 years agoUse libevent for meta socket input/output buffering.
Guus Sliepen [Sat, 19 May 2007 22:23:02 +0000 (22:23 +0000)]
Use libevent for meta socket input/output buffering.

16 years agoUse bufferevents to handle control socket buffering.
Guus Sliepen [Sat, 19 May 2007 16:21:52 +0000 (16:21 +0000)]
Use bufferevents to handle control socket buffering.

16 years agoImplement "stop" command, and allow tincctl to retrieve a running tincd's PID.
Guus Sliepen [Sat, 19 May 2007 15:21:26 +0000 (15:21 +0000)]
Implement "stop" command, and allow tincctl to retrieve a running tincd's PID.

16 years agoMove key generation to tincctl.
Guus Sliepen [Sat, 19 May 2007 14:55:35 +0000 (14:55 +0000)]
Move key generation to tincctl.

16 years agoRemove pidfile in favour of control socket.
Guus Sliepen [Sat, 19 May 2007 14:13:21 +0000 (14:13 +0000)]
Remove pidfile in favour of control socket.

16 years agoFix retrying outgoing connections.
Guus Sliepen [Sat, 19 May 2007 13:34:32 +0000 (13:34 +0000)]
Fix retrying outgoing connections.

16 years agoWe can safely delete a connection_t in terminate_connection() now.
Guus Sliepen [Sat, 19 May 2007 12:07:30 +0000 (12:07 +0000)]
We can safely delete a connection_t in terminate_connection() now.

16 years agoStart of control socket implementation.
Guus Sliepen [Fri, 18 May 2007 16:52:34 +0000 (16:52 +0000)]
Start of control socket implementation.

16 years agoUpdate documentation.
Guus Sliepen [Fri, 18 May 2007 11:54:16 +0000 (11:54 +0000)]
Update documentation.

16 years agoShow branch version number.
Guus Sliepen [Fri, 18 May 2007 11:35:21 +0000 (11:35 +0000)]
Show branch version number.

16 years agoMore consistent variable naming.
Guus Sliepen [Fri, 18 May 2007 11:19:31 +0000 (11:19 +0000)]
More consistent variable naming.

16 years agoDetect duplicate outgoing connections.
Guus Sliepen [Fri, 18 May 2007 10:29:10 +0000 (10:29 +0000)]
Detect duplicate outgoing connections.

16 years agoUse splay trees instead of AVL trees.
Guus Sliepen [Fri, 18 May 2007 10:05:26 +0000 (10:05 +0000)]
Use splay trees instead of AVL trees.

16 years agoK&R style braces
Guus Sliepen [Fri, 18 May 2007 10:00:00 +0000 (10:00 +0000)]
K&R style braces

16 years agoRemove last references to the global variable "running".
Guus Sliepen [Fri, 18 May 2007 09:51:54 +0000 (09:51 +0000)]
Remove last references to the global variable "running".

16 years agoRemove the last bits of the legacy main_loop().
Guus Sliepen [Fri, 18 May 2007 09:43:52 +0000 (09:43 +0000)]
Remove the last bits of the legacy main_loop().

16 years agoRemove global variable "now".
Guus Sliepen [Fri, 18 May 2007 09:34:06 +0000 (09:34 +0000)]
Remove global variable "now".

16 years agoMove key regeneration handling to net_setup.c.
Guus Sliepen [Thu, 17 May 2007 23:57:48 +0000 (23:57 +0000)]
Move key regeneration handling to net_setup.c.

16 years agoUse libevent to handle key expiration.
Guus Sliepen [Thu, 17 May 2007 23:33:07 +0000 (23:33 +0000)]
Use libevent to handle key expiration.

16 years agoUse libevent to age learned MAC addresses.
Guus Sliepen [Thu, 17 May 2007 23:24:40 +0000 (23:24 +0000)]
Use libevent to age learned MAC addresses.

16 years agoUse libevent to age past requests.
Guus Sliepen [Thu, 17 May 2007 23:14:42 +0000 (23:14 +0000)]
Use libevent to age past requests.

16 years agoRedo SIGALRM handling.
Guus Sliepen [Thu, 17 May 2007 23:04:02 +0000 (23:04 +0000)]
Redo SIGALRM handling.

16 years agoUse libevent to handle all non-fatal signals.
Guus Sliepen [Thu, 17 May 2007 22:41:34 +0000 (22:41 +0000)]
Use libevent to handle all non-fatal signals.

16 years agoProperly use the timeout_initialized() macro.
Guus Sliepen [Thu, 17 May 2007 22:17:24 +0000 (22:17 +0000)]
Properly use the timeout_initialized() macro.

16 years agoRemove legacy event system.
Guus Sliepen [Thu, 17 May 2007 22:13:12 +0000 (22:13 +0000)]
Remove legacy event system.

16 years agoUse libevent for retrying outgoing connections.
Guus Sliepen [Thu, 17 May 2007 22:09:55 +0000 (22:09 +0000)]
Use libevent for retrying outgoing connections.

16 years agoUse libevent to send MTU probes.
Guus Sliepen [Thu, 17 May 2007 22:01:07 +0000 (22:01 +0000)]
Use libevent to send MTU probes.

16 years agoConfigure events after obtaining a socket.
Guus Sliepen [Thu, 17 May 2007 21:47:27 +0000 (21:47 +0000)]
Configure events after obtaining a socket.

16 years agoUse libevent to handle HUP signal.
Guus Sliepen [Thu, 17 May 2007 21:34:58 +0000 (21:34 +0000)]
Use libevent to handle HUP signal.

16 years agoUse libevent to dump graphs when necessary.
Guus Sliepen [Thu, 17 May 2007 21:14:30 +0000 (21:14 +0000)]
Use libevent to dump graphs when necessary.
event_add() can be called repeatedly, the second and later calls are ignored if
the event hasn't been removed yet.

16 years agoUse a separate event structure to handle meta data writes.
Guus Sliepen [Thu, 17 May 2007 20:20:10 +0000 (20:20 +0000)]
Use a separate event structure to handle meta data writes.
Make meta socket events persistent.

16 years ago128 listener sockets is way too much.
Guus Sliepen [Thu, 17 May 2007 19:52:12 +0000 (19:52 +0000)]
128 listener sockets is way too much.

16 years agoProperly delete listener socket events on shutdown.
Guus Sliepen [Thu, 17 May 2007 19:51:26 +0000 (19:51 +0000)]
Properly delete listener socket events on shutdown.

16 years agoPort fixes from release 1.0.8.
Guus Sliepen [Thu, 17 May 2007 19:15:48 +0000 (19:15 +0000)]
Port fixes from release 1.0.8.

17 years agoOnly free members of connection_t that have been allocated.
Guus Sliepen [Mon, 12 Mar 2007 17:55:43 +0000 (17:55 +0000)]
Only free members of connection_t that have been allocated.

17 years agoLots of svn:ignore entries
Scott Lamb [Tue, 27 Feb 2007 08:13:41 +0000 (08:13 +0000)]
Lots of svn:ignore entries

17 years agoConvert to libevent.
Scott Lamb [Tue, 27 Feb 2007 01:57:01 +0000 (01:57 +0000)]
Convert to libevent.

This is a quick initial conversion that doesn't yet show much advantage:
- We roll our own timeouts.
- We roll our own signal handling.
- We build up the meta connection fd events on each loop rather than
  on state changes.

17 years agoA couple missed tevent things.
Scott Lamb [Tue, 27 Feb 2007 01:30:57 +0000 (01:30 +0000)]
A couple missed tevent things.
(Sorry; had a couple changes queued.)

17 years agoRename "event_t" to "tevent_t", along with associated functions.
Scott Lamb [Tue, 27 Feb 2007 01:26:11 +0000 (01:26 +0000)]
Rename "event_t" to "tevent_t", along with associated functions.
This relieves some confusion and problems during the libevent transition.
In particular, "event_add" was defined by both.
(The 't' stands for 'timeout', 'tinc', 'temporary', or some such.)

17 years agoCreated the 1.1 branch where large code changes can take place,
Guus Sliepen [Sat, 24 Feb 2007 22:50:42 +0000 (22:50 +0000)]
Created the 1.1 branch where large code changes can take place,
at the same time keeping compatibility with 1.0.

17 years agoClose the proper filedescriptor (if it exists).
Guus Sliepen [Wed, 14 Feb 2007 09:32:16 +0000 (09:32 +0000)]
Close the proper filedescriptor (if it exists).

17 years agoApply patch from Scott Lamb fixing some memory and resource leaks.
Guus Sliepen [Wed, 14 Feb 2007 09:21:34 +0000 (09:21 +0000)]
Apply patch from Scott Lamb fixing some memory and resource leaks.

17 years agoApply patch from Scott Lamb preventing an infinite loop when sending SIGALRM.
Guus Sliepen [Wed, 14 Feb 2007 09:20:20 +0000 (09:20 +0000)]
Apply patch from Scott Lamb preventing an infinite loop when sending SIGALRM.

17 years agoReleasing 1.0.7. release-1.0.7
Guus Sliepen [Fri, 5 Jan 2007 15:03:07 +0000 (15:03 +0000)]
Releasing 1.0.7.

17 years agoUpdate copyright notices.
Guus Sliepen [Fri, 5 Jan 2007 13:18:36 +0000 (13:18 +0000)]
Update copyright notices.

17 years agoNo things to do for the 1.0 branch except bugfixing.
Guus Sliepen [Fri, 5 Jan 2007 13:17:33 +0000 (13:17 +0000)]
No things to do for the 1.0 branch except bugfixing.

17 years agorename() cannot replace existing files on Windows.
Guus Sliepen [Fri, 5 Jan 2007 05:44:01 +0000 (05:44 +0000)]
rename() cannot replace existing files on Windows.

17 years agoFix generic BSD tun device to write only the actual packet length.
Guus Sliepen [Fri, 5 Jan 2007 04:49:02 +0000 (04:49 +0000)]
Fix generic BSD tun device to write only the actual packet length.
Due to a copy&paste bug, it tried to write a packet with the maximum size.
This was not a problem until the maximum size was increased to support VLANs.

17 years agoTapreader socket should be bound to localhost only.
Guus Sliepen [Thu, 4 Jan 2007 15:28:36 +0000 (15:28 +0000)]
Tapreader socket should be bound to localhost only.

17 years agoUse a ringbuffer in shared memory to transfer packets from the tapreader thread to...
Guus Sliepen [Wed, 3 Jan 2007 18:18:54 +0000 (18:18 +0000)]
Use a ringbuffer in shared memory to transfer packets from the tapreader thread to the main thread.
It's a wonder it ever worked before. The socket that is created is not of a
datagram type, therefore packet boundaries were not preserved, which becomes
a problem as soon as the TAP-Win32 device receives packets in fast succession.

17 years agoReleasing 1.0.6. release-1.0.6
Guus Sliepen [Mon, 18 Dec 2006 17:38:05 +0000 (17:38 +0000)]
Releasing 1.0.6.

17 years agoPrevent compiler warnings about redefinition of EAI_FAMILY on FreeBSD 6.1.
Guus Sliepen [Mon, 18 Dec 2006 11:41:53 +0000 (11:41 +0000)]
Prevent compiler warnings about redefinition of EAI_FAMILY on FreeBSD 6.1.

17 years agoDo a simple test for linux/if_tun.h instead of no test at all.
Guus Sliepen [Sat, 16 Dec 2006 16:53:58 +0000 (16:53 +0000)]
Do a simple test for linux/if_tun.h instead of no test at all.

17 years agoRemove the test for linux/if_tun.h.
Guus Sliepen [Sat, 16 Dec 2006 16:40:09 +0000 (16:40 +0000)]
Remove the test for linux/if_tun.h.
It has been available for years on any decent Linux distribution.
Although linux/if_tun.h is now required to compile tinc,
you can still run it on systems which only support Ethertap.

17 years agoWe do properly check for malloc and realloc.
Guus Sliepen [Sat, 16 Dec 2006 16:34:04 +0000 (16:34 +0000)]
We do properly check for malloc and realloc.

17 years agoUse standard autoconf macros instead of our own.
Guus Sliepen [Sat, 16 Dec 2006 16:26:57 +0000 (16:26 +0000)]
Use standard autoconf macros instead of our own.

17 years agoFix rule that creates html version of manpages.
Guus Sliepen [Sat, 16 Dec 2006 16:26:08 +0000 (16:26 +0000)]
Fix rule that creates html version of manpages.

17 years agoRemove old Spanish translation.
Guus Sliepen [Fri, 15 Dec 2006 20:44:33 +0000 (20:44 +0000)]
Remove old Spanish translation.

17 years agoRemove unnecessary stuff from configure.in.
Guus Sliepen [Fri, 15 Dec 2006 20:43:39 +0000 (20:43 +0000)]
Remove unnecessary stuff from configure.in.

17 years agoUse the correct next pointer.
Guus Sliepen [Tue, 12 Dec 2006 14:54:39 +0000 (14:54 +0000)]
Use the correct next pointer.

17 years agoWhen building the minimum spanning tree, make sure we start from a reachable node.
Guus Sliepen [Tue, 12 Dec 2006 14:49:09 +0000 (14:49 +0000)]
When building the minimum spanning tree, make sure we start from a reachable node.