]> git.meshlink.io Git - meshlink/log
meshlink
10 years agoMerge branch 'master' into saverio
Saverio Proto [Sun, 13 Apr 2014 10:41:45 +0000 (12:41 +0200)]
Merge branch 'master' into saverio

Conflicts:
src/libmeshlink.c

10 years agoRefactory of route() function to have just one like in tinc1.1
Saverio Proto [Sun, 13 Apr 2014 10:29:52 +0000 (12:29 +0200)]
Refactory of route() function to have just one like in tinc1.1

10 years agoRemove support for the legacy protocol.
Guus Sliepen [Sat, 12 Apr 2014 22:20:55 +0000 (00:20 +0200)]
Remove support for the legacy protocol.

We only allow SPTPS connections.

10 years agoRemove everything GPL that is not copyright Guus Sliepen, update copyright statements.
Guus Sliepen [Sat, 12 Apr 2014 21:35:10 +0000 (23:35 +0200)]
Remove everything GPL that is not copyright Guus Sliepen, update copyright statements.

Thanks to faithful use of revision control systems, especially git, it has been
relatively easy to find those parts of tinc that were contributed by others. A
large part of that code was not useful for the MeshLink library anyway
(advanced configuration options, privilege dropping and chrooting), the
remaining features contributed by others have been removed (most notably
Brandon Black's improvements related to UDP packet loss and reordering, Etienne
Dechamps' type 2 MTU probe replies, Florian Forster's interface binding code,
Michal Tokarev's support for tunnelserver mode). Support for LZO has been
removed, since it is a GPL library (unless a separate license agreement with
Oberhumer.com is made).

10 years agoCosmetic cleanup
Saverio Proto [Sat, 12 Apr 2014 20:10:28 +0000 (22:10 +0200)]
Cosmetic cleanup

10 years agoSuccessfully received and printed to screen data from remote node
Saverio Proto [Sat, 12 Apr 2014 19:54:37 +0000 (21:54 +0200)]
Successfully received and printed to screen data from remote node

10 years agoops this should be NOT zero to NOT be a probe
Saverio Proto [Sat, 12 Apr 2014 19:10:13 +0000 (21:10 +0200)]
ops this should be NOT zero to NOT be a probe

10 years agoDealing with legacy MTU probingwq
Saverio Proto [Sat, 12 Apr 2014 19:04:51 +0000 (21:04 +0200)]
Dealing with legacy MTU probingwq

10 years agoRevert "Leave 14 bytes for legacy MTU probing"
Saverio Proto [Sat, 12 Apr 2014 19:00:13 +0000 (21:00 +0200)]
Revert "Leave 14 bytes for legacy MTU probing"

This reverts commit 28f92f84d5adb5b0b07abab7cb72c4eceb0ca1ec.

10 years agoLeave 14 bytes for legacy MTU probing
Saverio Proto [Sat, 12 Apr 2014 18:21:58 +0000 (20:21 +0200)]
Leave 14 bytes for legacy MTU probing

10 years agoMerge branch 'saverio' of 46.226.111.120:meshlink into saverio
Saverio Proto [Sat, 12 Apr 2014 16:34:31 +0000 (18:34 +0200)]
Merge branch 'saverio' of 46.226.111.120:meshlink into saverio

10 years agoput value in packet.len
Saverio Proto [Sat, 12 Apr 2014 16:33:32 +0000 (18:33 +0200)]
put value in packet.len

10 years agocut and paste to save time
Saverio Proto [Sat, 12 Apr 2014 15:56:16 +0000 (17:56 +0200)]
cut and paste to save time

10 years agoRaise debug level.
Guus Sliepen [Sat, 12 Apr 2014 15:20:28 +0000 (17:20 +0200)]
Raise debug level.

10 years agoChange my email address.
Guus Sliepen [Sat, 12 Apr 2014 13:16:33 +0000 (15:16 +0200)]
Change my email address.

10 years agoRemove sample tinc configuration.
Guus Sliepen [Sat, 12 Apr 2014 13:15:13 +0000 (15:15 +0200)]
Remove sample tinc configuration.

10 years agoRemove support for signals.
Guus Sliepen [Sat, 12 Apr 2014 13:11:33 +0000 (15:11 +0200)]
Remove support for signals.

10 years agoRemove pidfile/logfile/netname and so on.
Guus Sliepen [Sat, 12 Apr 2014 13:09:35 +0000 (15:09 +0200)]
Remove pidfile/logfile/netname and so on.

Everything will be contained in a single directory specified by confbase.

10 years agoDisable support for detaching from the foreground.
Guus Sliepen [Sat, 12 Apr 2014 12:43:13 +0000 (14:43 +0200)]
Disable support for detaching from the foreground.

10 years agoRemove support for control connections.
Guus Sliepen [Sat, 12 Apr 2014 12:39:38 +0000 (14:39 +0200)]
Remove support for control connections.

10 years agoRemove support for calling external scripts.
Guus Sliepen [Sat, 12 Apr 2014 12:28:18 +0000 (14:28 +0200)]
Remove support for calling external scripts.

These will be replaced by callbacks to the application.

10 years agoRemove unused files.
Guus Sliepen [Sat, 12 Apr 2014 12:27:44 +0000 (14:27 +0200)]
Remove unused files.

10 years agoRemove support for Subnets.
Guus Sliepen [Sat, 12 Apr 2014 11:24:43 +0000 (13:24 +0200)]
Remove support for Subnets.

10 years agoRemove files not used by MeshLink.
Guus Sliepen [Sat, 12 Apr 2014 10:59:39 +0000 (12:59 +0200)]
Remove files not used by MeshLink.

- Tinc manual pages
- Support for TUN/TAP and other virtual network devices
- Support for libgcrypt

10 years agoStarted the implementation of route_meshlink that at the moment routes packets based...
Saverio Proto [Thu, 10 Apr 2014 13:59:42 +0000 (15:59 +0200)]
Started the implementation of route_meshlink that at the moment routes packets based on instance names.

10 years agoFix memcpy when filling packet data
Saverio Proto [Thu, 10 Apr 2014 11:10:22 +0000 (13:10 +0200)]
Fix memcpy when filling packet data

10 years agoGet rid of tincremotehost structure, we use directly node_t
Saverio Proto [Thu, 10 Apr 2014 10:03:52 +0000 (12:03 +0200)]
Get rid of tincremotehost structure, we use directly node_t

10 years agoBe carefull there is a race condition. You need myself to be allocated or going to...
Saverio Proto [Thu, 10 Apr 2014 07:45:22 +0000 (09:45 +0200)]
Be carefull there is a race condition. You need myself to be allocated or going to Segfault

10 years agoSimplified tincpackethdr struct
Saverio Proto [Thu, 10 Apr 2014 07:31:02 +0000 (09:31 +0200)]
Simplified tincpackethdr struct

10 years agoImproved sample application
Saverio Proto [Thu, 10 Apr 2014 07:26:27 +0000 (09:26 +0200)]
Improved sample application

10 years agoPush data from the application to the library and print to screen this data in route...
Saverio Proto [Wed, 9 Apr 2014 17:55:23 +0000 (19:55 +0200)]
Push data from the application to the library and print to screen this data in route() function

10 years agoRemove handle_device_data function
Saverio Proto [Wed, 9 Apr 2014 17:53:33 +0000 (19:53 +0200)]
Remove handle_device_data function

10 years agoKeep the sample application running like a server
Saverio Proto [Mon, 7 Apr 2014 17:19:37 +0000 (19:19 +0200)]
Keep the sample application running like a server

10 years agowe dont open any tun tap or any device in libmeshlink
Saverio Proto [Mon, 7 Apr 2014 17:11:47 +0000 (19:11 +0200)]
we dont open any tun tap or any device in libmeshlink

10 years agoMoving pid to /tmp/ so we can run the program without root privileges
Saverio Proto [Mon, 7 Apr 2014 16:48:07 +0000 (18:48 +0200)]
Moving pid to /tmp/ so we can run the program without root privileges

10 years agoDisabling calls to read_config_options. Makes no sense in libmeshlink reading command...
Saverio Proto [Mon, 7 Apr 2014 16:25:19 +0000 (18:25 +0200)]
Disabling calls to read_config_options. Makes no sense in libmeshlink reading command line arguments and of course we go to a segmentation fault

10 years agostart to implement tinc_start
Saverio Proto [Mon, 7 Apr 2014 08:49:50 +0000 (10:49 +0200)]
start to implement tinc_start

10 years agotinc_start() - skeleton of the API call. The function starts the main tinc thread...
Saverio Proto [Sat, 5 Apr 2014 10:45:35 +0000 (12:45 +0200)]
tinc_start() - skeleton of the API call. The function starts the main tinc thread where the tinc logic will be. We pass the confbase because an application may participate in multiple VPNs at the same time (to be discussed further)

10 years agoWrite keys to file in tinc_setup
Saverio Proto [Fri, 4 Apr 2014 16:27:59 +0000 (18:27 +0200)]
Write keys to file in tinc_setup

10 years agoWorking tinc_setup() function in the library
Saverio Proto [Fri, 4 Apr 2014 16:12:35 +0000 (18:12 +0200)]
Working tinc_setup() function in the library

10 years agocosmetic change
Saverio Proto [Fri, 4 Apr 2014 16:11:06 +0000 (18:11 +0200)]
cosmetic change

10 years agomake_names is needed for tinc_setup
Saverio Proto [Fri, 4 Apr 2014 15:39:04 +0000 (17:39 +0200)]
make_names is needed for tinc_setup

10 years agorevert unnecessary changes in tincctl.c
Saverio Proto [Fri, 4 Apr 2014 15:33:45 +0000 (17:33 +0200)]
revert unnecessary changes in tincctl.c

10 years agoUpdate readme
Saverio Proto [Thu, 3 Apr 2014 14:09:47 +0000 (16:09 +0200)]
Update readme

10 years agoSuccessfully compile the libmeshlink library with autotools and compile the sample...
Saverio Proto [Thu, 3 Apr 2014 14:01:29 +0000 (16:01 +0200)]
Successfully compile the libmeshlink library with autotools and compile the sample application against it. Some code from tincctl was copied to libmeshlink.c to avoid redefinition of main in tincctl.c

10 years agotrying to fix linking issues
Saverio Proto [Thu, 3 Apr 2014 12:38:18 +0000 (14:38 +0200)]
trying to fix linking issues

10 years agoLink correctly libmeshlink.so in the sample application
Saverio Proto [Thu, 3 Apr 2014 10:20:46 +0000 (12:20 +0200)]
Link correctly libmeshlink.so in the sample application

10 years agoBuild fails: Adding protocol.o object to library and using -fPIC
Saverio Proto [Thu, 3 Apr 2014 10:20:03 +0000 (12:20 +0200)]
Build fails: Adding protocol.o object to library and using -fPIC

10 years agoFixing autotools
Saverio Proto [Wed, 2 Apr 2014 16:22:36 +0000 (18:22 +0200)]
Fixing autotools

10 years agoTest to integrate the tinc_setup function that is linked from the library
Saverio Proto [Wed, 2 Apr 2014 12:44:22 +0000 (14:44 +0200)]
Test to integrate the tinc_setup function that is linked from the library

10 years agoSample empty mesh link app that will make use of the library
Saverio Proto [Wed, 2 Apr 2014 12:29:13 +0000 (14:29 +0200)]
Sample empty mesh link app that will make use of the library

10 years agomeshlink README with some notes
Saverio Proto [Wed, 2 Apr 2014 12:15:11 +0000 (14:15 +0200)]
meshlink README with some notes

10 years agoFirst draft of tinc setup function
Saverio Proto [Wed, 2 Apr 2014 12:10:10 +0000 (14:10 +0200)]
First draft of tinc setup function

10 years agoIf we have this functions static we cannot reuse them in other library files
Saverio Proto [Wed, 2 Apr 2014 12:08:42 +0000 (14:08 +0200)]
If we have this functions static we cannot reuse them in other library files

10 years agoDirty change to Makefile.am so that libmeshlink.[ch] links to all the necessary objects
Saverio Proto [Wed, 2 Apr 2014 12:08:03 +0000 (14:08 +0200)]
Dirty change to Makefile.am so that libmeshlink.[ch] links to all the necessary objects

10 years agoDirt in quick hack Makefile.am to compile a couple of new file.
Saverio Proto [Tue, 1 Apr 2014 15:35:56 +0000 (17:35 +0200)]
Dirt in quick hack Makefile.am to compile a couple of new file.
Start writing libemeshlink.[ch] to implement the library interface.
Trying to keep existing datastructures.

10 years agoHandle a disconnecting tincd better. import-tinc-1.1
Guus Sliepen [Sun, 9 Mar 2014 14:32:10 +0000 (15:32 +0100)]
Handle a disconnecting tincd better.

- Try to prevent SIGPIPE from being sent for errors sending to the control
  socket. We don't outright block the SIGPIPE signal because we still want the
  tinc CLI to exit when its output is actually sent to a real (broken) pipe.

- Don't call exit() from top(), and properly detect when the control socket is
  closed by the tincd.

10 years agoRewind the file before trying to use PEM_read_RSA_PUBKEY().
Guus Sliepen [Wed, 26 Feb 2014 16:27:57 +0000 (17:27 +0100)]
Rewind the file before trying to use PEM_read_RSA_PUBKEY().

10 years agoAdd "network" command to list or switch networks.
Guus Sliepen [Wed, 26 Feb 2014 10:00:30 +0000 (11:00 +0100)]
Add "network" command to list or switch networks.

10 years agoAdd missing attribution for 1.1pre10 to the NEWS file.
Guus Sliepen [Fri, 7 Feb 2014 22:06:26 +0000 (23:06 +0100)]
Add missing attribution for 1.1pre10 to the NEWS file.

10 years agoReally fix compiling under Windows.
Guus Sliepen [Fri, 7 Feb 2014 22:05:33 +0000 (23:05 +0100)]
Really fix compiling under Windows.

10 years agoReleasing 1.1pre10.
Guus Sliepen [Fri, 7 Feb 2014 20:40:42 +0000 (21:40 +0100)]
Releasing 1.1pre10.

10 years agoCheck whether OpenSSL has support for GCM.
Guus Sliepen [Fri, 7 Feb 2014 20:40:29 +0000 (21:40 +0100)]
Check whether OpenSSL has support for GCM.

10 years agoFix compiling for Windows.
Guus Sliepen [Fri, 7 Feb 2014 20:14:41 +0000 (21:14 +0100)]
Fix compiling for Windows.

10 years agoUpdate copyright notices.
Guus Sliepen [Fri, 7 Feb 2014 19:38:48 +0000 (20:38 +0100)]
Update copyright notices.

10 years agoAttribution for Dennis Joachimsthaler.
Guus Sliepen [Fri, 7 Feb 2014 18:57:06 +0000 (19:57 +0100)]
Attribution for Dennis Joachimsthaler.

10 years agoHandle errors from TAP-Win32/64 adapter in a better way.
Guus Sliepen [Fri, 7 Feb 2014 15:34:08 +0000 (16:34 +0100)]
Handle errors from TAP-Win32/64 adapter in a better way.

Before, the tapreader thread would just exit immediately after encountering the
first error, without notifying the main thread. Now, the tapreader thead never
exits itself, but tells the main thread to stop when more than ten errors are
encountered in a row.

10 years agoAttribution for various contributors.
Guus Sliepen [Fri, 7 Feb 2014 18:48:11 +0000 (19:48 +0100)]
Attribution for various contributors.

Conflicts:
THANKS

10 years agoUse addresses learned from other nodes when making outgoing connections.
Guus Sliepen [Thu, 30 Jan 2014 16:10:30 +0000 (17:10 +0100)]
Use addresses learned from other nodes when making outgoing connections.

Before, when making a meta-connection to a node (either because of a ConnectTo
or because AutoConnect is set), tinc required one or more Address statements
in the corresponding host config file. However, tinc learns addresses from
other nodes that it uses for UDP connections. We can use those just as well for
TCP connections.

10 years agoDocument Weight and also allow it to be set from tinc.conf.
Guus Sliepen [Wed, 29 Jan 2014 16:32:18 +0000 (17:32 +0100)]
Document Weight and also allow it to be set from tinc.conf.

10 years agoDon't ask questions if we are not running interactively.
Guus Sliepen [Wed, 29 Jan 2014 16:17:59 +0000 (17:17 +0100)]
Don't ask questions if we are not running interactively.

When creating invitations or using them to join a VPN, and the tinc command is
not run interactively (ie, when stdin and stdout are not connected or
redirected to/from a file), don't ask questions. If normally tinc would ask for
a confirmation, just assume the default answer instead. If tinc really needs
some input, just print an error message instead.

In case an invitation is used for a VPN which uses a netname that is already in
use on the local host, tinc will store the configuration in a temporary
directory. Normally it asks for an alternative netname and then renames the
temporary directory, but when not run interactively, it now just prints the
location of the unchanged temporary directory.

10 years agoAdd missing newlines when copying variables from tinc.conf to an invitation file.
Guus Sliepen [Mon, 27 Jan 2014 22:21:25 +0000 (23:21 +0100)]
Add missing newlines when copying variables from tinc.conf to an invitation file.

10 years agoTest two tinc daemons using network namespaces.
Guus Sliepen [Fri, 24 Jan 2014 15:09:32 +0000 (16:09 +0100)]
Test two tinc daemons using network namespaces.

Testing multiple daemons connecting to each other on the same computer is
usually difficult, because connections to local IP addresses will bypass most
of the network stack. However, recent versions of Linux support network
namespaces, which can isolate network interfaces. We use this to isolate the
virtual interface of the daemons from each other, so we get the behaviour as if
the daemons were each running on their own machine. This can also be used for
more complicated tests (including those with firewall rules) without disturbing
the real network setup of the host computer.

10 years agoAdd the ListenAddress option.
Guus Sliepen [Mon, 20 Jan 2014 20:19:13 +0000 (21:19 +0100)]
Add the ListenAddress option.

ListenAddress works the same as BindToAddress, except that from now on,
explicitly binding outgoing packets to the address of a socket is only done for
sockets specified with BindToAddress.

10 years agoDocument that 1.1 uses AES-256 in GCM mode.
Guus Sliepen [Mon, 20 Jan 2014 19:21:15 +0000 (20:21 +0100)]
Document that 1.1 uses AES-256 in GCM mode.

10 years agoDocument clearly that tinc depends on curses and readline libraries.
Guus Sliepen [Mon, 20 Jan 2014 19:16:58 +0000 (20:16 +0100)]
Document clearly that tinc depends on curses and readline libraries.

10 years agoLet tinc-gui use correct address family when connecting to tincd via TCP.
Guus Sliepen [Sun, 19 Jan 2014 20:15:23 +0000 (21:15 +0100)]
Let tinc-gui use correct address family when connecting to tincd via TCP.

10 years agoEnsure tinc-gui running in 64 bits mode can find tinc's 32 bit registry key.
Dennis Joachimsthaler [Fri, 17 Jan 2014 17:15:40 +0000 (18:15 +0100)]
Ensure tinc-gui running in 64 bits mode can find tinc's 32 bit registry key.

10 years agoFix tinc-gui on Windows.
Dennis Joachimsthaler [Fri, 17 Jan 2014 15:10:10 +0000 (16:10 +0100)]
Fix tinc-gui on Windows.

10 years agoAdd index entries for the CLI commands.
Guus Sliepen [Thu, 16 Jan 2014 13:52:44 +0000 (14:52 +0100)]
Add index entries for the CLI commands.

10 years agoUpdate the documentation of the tinc command.
Guus Sliepen [Thu, 16 Jan 2014 13:46:44 +0000 (14:46 +0100)]
Update the documentation of the tinc command.

10 years agoClarify StrictSubnets.
Guus Sliepen [Thu, 16 Jan 2014 13:02:56 +0000 (14:02 +0100)]
Clarify StrictSubnets.

10 years agoAdding "conf.d" configuration dir support.
Florent Clairambault [Sun, 29 Dec 2013 22:11:54 +0000 (23:11 +0100)]
Adding "conf.d" configuration dir support.

Any file matching the pattern /etc/tinc/$NETNAME/conf.d/*.conf will be
parsed after the tinc.conf file.

10 years agoFix handling of --with-libgcrypt.
Guus Sliepen [Tue, 10 Dec 2013 16:13:15 +0000 (17:13 +0100)]
Fix handling of --with-libgcrypt.

10 years agoDon't enable -fstack-protector-all.
Guus Sliepen [Tue, 10 Dec 2013 16:02:52 +0000 (17:02 +0100)]
Don't enable -fstack-protector-all.

It is not supported on all architectures and is problematic on some
platforms.

10 years agoAdd our own autoconf check for libgcrypt.
Guus Sliepen [Tue, 10 Dec 2013 10:18:04 +0000 (11:18 +0100)]
Add our own autoconf check for libgcrypt.

This one doesn't require one to have libgcrypt installed while running
autoreconf, making life easier for people who compile tinc from git.

10 years agoEnable compiler hardening flags by default.
Guus Sliepen [Tue, 10 Dec 2013 09:48:00 +0000 (10:48 +0100)]
Enable compiler hardening flags by default.

Check whether the compiler supports hardening flags and enable them unless
--disable-hardening is specified.

Conflicts:
configure.ac

10 years agoRemove erroneous warning about SPTPS being disabled.
Guus Sliepen [Sun, 8 Dec 2013 20:37:56 +0000 (21:37 +0100)]
Remove erroneous warning about SPTPS being disabled.

10 years agoDon't print an error when no ECDSA key is known for a node using the legacy protocol.
Guus Sliepen [Sun, 8 Dec 2013 20:32:21 +0000 (21:32 +0100)]
Don't print an error when no ECDSA key is known for a node using the legacy protocol.

10 years agoGive full path to unconfigured tinc-up script.
Guus Sliepen [Sun, 8 Dec 2013 20:31:50 +0000 (21:31 +0100)]
Give full path to unconfigured tinc-up script.

10 years agoAllow running without ECDSA keys If ExperimentalProtocol is not explicitly set.
Guus Sliepen [Sun, 8 Dec 2013 20:06:03 +0000 (21:06 +0100)]
Allow running without ECDSA keys If ExperimentalProtocol is not explicitly set.

To make upgrading less painful, allow running tinc 1.1 without ECDSA keys
unless ExperimentalProtocol is explicitly set to yes.

10 years agoDon't print device statistics when exiting tinc.
Guus Sliepen [Sun, 8 Dec 2013 19:23:44 +0000 (20:23 +0100)]
Don't print device statistics when exiting tinc.

Much more detailed statistics are now kept per node, which can be queried at
any time, which makes the device statistics obsolete.

10 years agoPrefer ncurses over curses.
Guus Sliepen [Sat, 7 Dec 2013 21:59:37 +0000 (22:59 +0100)]
Prefer ncurses over curses.

10 years agoUse hardcoded value for TUNNEWPPA if net/if_tun.h is missing on Solaris.
Guus Sliepen [Sat, 7 Dec 2013 21:54:02 +0000 (22:54 +0100)]
Use hardcoded value for TUNNEWPPA if net/if_tun.h is missing on Solaris.

10 years agoAvoid using a variable named "sun". Solaris doesn't like it.
Guus Sliepen [Sat, 7 Dec 2013 21:39:24 +0000 (22:39 +0100)]
Avoid using a variable named "sun". Solaris doesn't like it.

10 years agoStricter check for raw socket support.
Guus Sliepen [Sat, 7 Dec 2013 21:20:10 +0000 (22:20 +0100)]
Stricter check for raw socket support.

10 years agoInclude <limits.h> for PATH_MAX.
Guus Sliepen [Sat, 7 Dec 2013 21:19:39 +0000 (22:19 +0100)]
Include <limits.h> for PATH_MAX.

10 years agoUpdate support for Solaris.
Guus Sliepen [Sat, 7 Dec 2013 20:52:41 +0000 (21:52 +0100)]
Update support for Solaris.

Adds support for the latest TAP driver from
http://www.whiteboard.ne.jp/~admin2/tuntap/, so tinc now also works in switch
mode on Solaris 11.

10 years agoIf no Port is specified, set myport to actual port of first listening socket.
Guus Sliepen [Thu, 5 Dec 2013 14:01:30 +0000 (15:01 +0100)]
If no Port is specified, set myport to actual port of first listening socket.

If the Port statement is not used, there are two other ways to let tinc listen
on a non-default port: either by specifying one or more BindToAddress
statements including port numbers, or by starting it from systemd with socket
activation. Tinc announces its own port to other nodes, but before it only
announced what was set using the Port statement.

10 years agoMention in the manual that multiple Address staments are allowed.
Guus Sliepen [Thu, 5 Dec 2013 13:30:00 +0000 (14:30 +0100)]
Mention in the manual that multiple Address staments are allowed.