]> git.meshlink.io Git - meshlink/log
meshlink
10 years agoget_my_name() is not necessary, mesh->self->name is always avaiable.
Guus Sliepen [Wed, 7 May 2014 20:56:12 +0000 (22:56 +0200)]
get_my_name() is not necessary, mesh->self->name is always avaiable.

10 years agoFix return value of meshlink_invite().
Guus Sliepen [Wed, 7 May 2014 20:50:19 +0000 (22:50 +0200)]
Fix return value of meshlink_invite().

10 years agoDon't dereference a NULL pointer.
Guus Sliepen [Wed, 7 May 2014 20:43:25 +0000 (22:43 +0200)]
Don't dereference a NULL pointer.

10 years agoMoved necessary code to implement meshlink_invite
Saverio Proto [Tue, 6 May 2014 15:42:14 +0000 (17:42 +0200)]
Moved necessary code to implement meshlink_invite

10 years agoMoved 12 static variables to the meshlink_handle_t handle. Correctly passing the...
Saverio Proto [Sat, 3 May 2014 08:56:44 +0000 (10:56 +0200)]
Moved 12 static variables to the meshlink_handle_t handle. Correctly passing the handle to the finalize_join function (invitation protocol)

10 years agoAdd comments with notes
Saverio Proto [Thu, 1 May 2014 08:15:56 +0000 (10:15 +0200)]
Add comments with notes

10 years agoImplemented meshlink_join - Preliminary changes to port the invite protocol to meshlink.
Saverio Proto [Wed, 30 Apr 2014 14:25:29 +0000 (16:25 +0200)]
Implemented meshlink_join - Preliminary changes to port the invite protocol to meshlink.

10 years agoPut brackets around IPv6 addresses in invitation URL, even if there is no port number.
Guus Sliepen [Mon, 28 Apr 2014 14:26:05 +0000 (16:26 +0200)]
Put brackets around IPv6 addresses in invitation URL, even if there is no port number.

10 years agoStop using the global variable mesh in most of the rest of the code.
Guus Sliepen [Sat, 26 Apr 2014 15:06:42 +0000 (17:06 +0200)]
Stop using the global variable mesh in most of the rest of the code.

10 years agoStop using global variable mesh in net_packet.c.
Guus Sliepen [Sat, 26 Apr 2014 09:39:56 +0000 (11:39 +0200)]
Stop using global variable mesh in net_packet.c.

10 years agoStop using global variable mesh in net.c.
Guus Sliepen [Sat, 26 Apr 2014 08:50:27 +0000 (10:50 +0200)]
Stop using global variable mesh in net.c.

10 years agoRemove reload_configuration().
Guus Sliepen [Sat, 26 Apr 2014 08:33:35 +0000 (10:33 +0200)]
Remove reload_configuration().

This was only useful for tinc, where the admin could change the configuration
files while tincd was running. With MeshLink, everything should be done via the
API.

10 years agoStop using global variable mesh in net_socket.[ch].
Guus Sliepen [Sat, 26 Apr 2014 08:30:19 +0000 (10:30 +0200)]
Stop using global variable mesh in net_socket.[ch].

10 years agoStop using global variable mesh in net_setup.[ch].
Guus Sliepen [Sat, 26 Apr 2014 08:12:33 +0000 (10:12 +0200)]
Stop using global variable mesh in net_setup.[ch].

10 years agoStop using global variable mesh in conf.[ch].
Guus Sliepen [Sat, 26 Apr 2014 08:00:37 +0000 (10:00 +0200)]
Stop using global variable mesh in conf.[ch].

10 years agoRemove temporary global variable "loop".
Guus Sliepen [Sat, 26 Apr 2014 07:39:56 +0000 (09:39 +0200)]
Remove temporary global variable "loop".

10 years agoRemove global variable "now".
Guus Sliepen [Sat, 26 Apr 2014 07:38:55 +0000 (09:38 +0200)]
Remove global variable "now".

10 years agoRemove global variables from the event loop code.
Guus Sliepen [Sat, 26 Apr 2014 07:28:56 +0000 (09:28 +0200)]
Remove global variables from the event loop code.

Everything is now in a struct event_loop_t, which is now also in
meshlink_handle_t.  To make the transition easier, there is a temporary global
event_loop_t *loop.

10 years agoDejavu: Use snprintf() instead of xasprintf() when generating filenames
Saverio Proto [Thu, 24 Apr 2014 14:21:36 +0000 (16:21 +0200)]
Dejavu: Use snprintf() instead of xasprintf() when generating filenames

10 years agoremove libmeshlink files
Saverio Proto [Thu, 24 Apr 2014 14:06:30 +0000 (16:06 +0200)]
remove libmeshlink files

10 years agoUse snprintf() instead of xasprintf() when generating filenames
Saverio Proto [Thu, 24 Apr 2014 14:02:50 +0000 (16:02 +0200)]
Use snprintf() instead of xasprintf() when generating filenames

10 years agoOnly export symbols that start with meshlink_.
Guus Sliepen [Thu, 24 Apr 2014 14:04:34 +0000 (16:04 +0200)]
Only export symbols that start with meshlink_.

We don't want to pollute the global namespace with all our internal functions.

10 years agoMove pinginterval pingtimeout and maxtimeout to mesh
Saverio Proto [Thu, 24 Apr 2014 13:06:30 +0000 (15:06 +0200)]
Move pinginterval pingtimeout and maxtimeout to mesh

10 years agoMove initial configuration setup from meshlinkapp.c to meshlink.c.
Guus Sliepen [Thu, 24 Apr 2014 07:41:55 +0000 (09:41 +0200)]
Move initial configuration setup from meshlinkapp.c to meshlink.c.

10 years agoUpdate meshlinkapp.c.
Guus Sliepen [Thu, 24 Apr 2014 07:19:08 +0000 (09:19 +0200)]
Update meshlinkapp.c.

10 years agoMove code from libmeshlink.c into the new functions in meshlink.c.
Guus Sliepen [Thu, 24 Apr 2014 07:18:25 +0000 (09:18 +0200)]
Move code from libmeshlink.c into the new functions in meshlink.c.

10 years agoRemove bypass_security.
Guus Sliepen [Thu, 24 Apr 2014 06:50:35 +0000 (08:50 +0200)]
Remove bypass_security.

10 years agoUntested changes to meshlinkapp to make the tree compile
Saverio Proto [Wed, 23 Apr 2014 22:11:36 +0000 (00:11 +0200)]
Untested changes to meshlinkapp to make the tree compile

10 years agoFix undefined reference to mesh in libmeshlink.so
Saverio Proto [Wed, 23 Apr 2014 22:09:37 +0000 (00:09 +0200)]
Fix undefined reference to mesh in libmeshlink.so

10 years agoAdjust the callback to meshlink_receive_cb_t
Saverio Proto [Wed, 23 Apr 2014 22:01:01 +0000 (00:01 +0200)]
Adjust the callback to meshlink_receive_cb_t

10 years agoMove bypass_security to mesh
Saverio Proto [Wed, 23 Apr 2014 21:54:14 +0000 (23:54 +0200)]
Move bypass_security to mesh

10 years agoThe name errno conflicts with the real errno: ‘__errno_location’ declared as a function
Saverio Proto [Wed, 23 Apr 2014 21:21:08 +0000 (23:21 +0200)]
The name errno conflicts with the real errno: ‘__errno_location’ declared as a function

10 years agoFix MTU probes.
Guus Sliepen [Wed, 23 Apr 2014 16:43:24 +0000 (18:43 +0200)]
Fix MTU probes.

10 years agoStart of a TODO file.
Guus Sliepen [Tue, 22 Apr 2014 20:30:45 +0000 (22:30 +0200)]
Start of a TODO file.

10 years agoMove debug_level to mesh.
Guus Sliepen [Mon, 21 Apr 2014 21:41:12 +0000 (23:41 +0200)]
Move debug_level to mesh.

10 years agoRemove unused logging functionality.
Guus Sliepen [Mon, 21 Apr 2014 21:35:09 +0000 (23:35 +0200)]
Remove unused logging functionality.

Just log to stderr for now. In the future we will use the callback provided by
the application.

10 years agoReally stop using cipher.h and digest.h.
Guus Sliepen [Mon, 21 Apr 2014 21:29:36 +0000 (23:29 +0200)]
Really stop using cipher.h and digest.h.

10 years agoMove node_udp_cache, everyone and invitation_key to mesh.
Guus Sliepen [Mon, 21 Apr 2014 21:25:40 +0000 (23:25 +0200)]
Move node_udp_cache, everyone and invitation_key to mesh.

10 years agoRemove header files we don't use anymore.
Guus Sliepen [Mon, 21 Apr 2014 21:25:14 +0000 (23:25 +0200)]
Remove header files we don't use anymore.

10 years agoMove listen_sockets to mesh.
Guus Sliepen [Mon, 21 Apr 2014 21:16:56 +0000 (23:16 +0200)]
Move listen_sockets to mesh.

10 years agoMove localdiscovery variables to mesh.
Guus Sliepen [Mon, 21 Apr 2014 21:13:39 +0000 (23:13 +0200)]
Move localdiscovery variables to mesh.

10 years agoRemove key expiry timer.
Guus Sliepen [Mon, 21 Apr 2014 21:08:57 +0000 (23:08 +0200)]
Remove key expiry timer.

This is something that should be done at the SPTPS layer.

10 years agoMove proxy variables to mesh.
Guus Sliepen [Mon, 21 Apr 2014 20:50:03 +0000 (22:50 +0200)]
Move proxy variables to mesh.

10 years agoMove several variables to mesh.
Guus Sliepen [Mon, 21 Apr 2014 20:26:41 +0000 (22:26 +0200)]
Move several variables to mesh.

In particular: confbase, contradicting_add_edge, contradicting_del_edge,
sleeptime, last_config_check, pingtimer, periodictimer.

10 years agoMove config_tree to mesh->config.
Guus Sliepen [Mon, 21 Apr 2014 19:11:58 +0000 (21:11 +0200)]
Move config_tree to mesh->config.

10 years agoMove outgoing_list to mesh->outgoings.
Guus Sliepen [Mon, 21 Apr 2014 19:05:36 +0000 (21:05 +0200)]
Move outgoing_list to mesh->outgoings.

10 years agoMove connection_list to mesh->connections.
Guus Sliepen [Mon, 21 Apr 2014 19:04:13 +0000 (21:04 +0200)]
Move connection_list to mesh->connections.

10 years agoMove node_tree to mesh->nodes.
Guus Sliepen [Mon, 21 Apr 2014 19:00:21 +0000 (21:00 +0200)]
Move node_tree to mesh->nodes.

10 years agoMove edge_weight_tree to mesh->edges.
Guus Sliepen [Mon, 21 Apr 2014 18:57:14 +0000 (20:57 +0200)]
Move edge_weight_tree to mesh->edges.

10 years agoMove myself to mesh->self.
Guus Sliepen [Mon, 21 Apr 2014 18:55:14 +0000 (20:55 +0200)]
Move myself to mesh->self.

10 years agoTemporarily add a global meshlink_handle_t *mesh.
Guus Sliepen [Mon, 21 Apr 2014 18:49:28 +0000 (20:49 +0200)]
Temporarily add a global meshlink_handle_t *mesh.

This helps keeping the compiler happy while we refactor the global variables
into meshlink_handle_t one by one.

10 years agoClarify the behaviour of meshlink_open(), _start(), _stop() and _close().
Guus Sliepen [Mon, 21 Apr 2014 18:28:54 +0000 (20:28 +0200)]
Clarify the behaviour of meshlink_open(), _start(), _stop() and _close().

10 years agoStart of implementation of meshlink_open().
Guus Sliepen [Mon, 21 Apr 2014 18:28:06 +0000 (20:28 +0200)]
Start of implementation of meshlink_open().

10 years agoFix a typo.
Guus Sliepen [Mon, 21 Apr 2014 18:27:21 +0000 (20:27 +0200)]
Fix a typo.

10 years agoMove definition of sockaddr_t to its own header, remove length_t.
Guus Sliepen [Mon, 21 Apr 2014 18:11:47 +0000 (20:11 +0200)]
Move definition of sockaddr_t to its own header, remove length_t.

This reduces the horrible interdependencies of the header files, most
notably that of net.h.

10 years agoRename variable handle to mesh.
Guus Sliepen [Mon, 21 Apr 2014 17:27:55 +0000 (19:27 +0200)]
Rename variable handle to mesh.

10 years agoUse "struct foo_t *" instead of "foo_t *" in .h files.
Guus Sliepen [Mon, 21 Apr 2014 17:20:35 +0000 (19:20 +0200)]
Use "struct foo_t *" instead of "foo_t *" in .h files.

10 years agoStart moving the implementation of the public part of the API to meshlink.c.
Guus Sliepen [Sat, 19 Apr 2014 15:33:59 +0000 (17:33 +0200)]
Start moving the implementation of the public part of the API to meshlink.c.

For now it just contains stubs for all the public functions.

10 years agoNo global variables: move meshlink_errno and _errstr to meshlink_handle_t.
Guus Sliepen [Sat, 19 Apr 2014 14:33:29 +0000 (16:33 +0200)]
No global variables: move meshlink_errno and _errstr to meshlink_handle_t.

10 years agoAdd meshlink_internal.h containing the private parts of the public API.
Guus Sliepen [Sat, 19 Apr 2014 14:25:58 +0000 (16:25 +0200)]
Add meshlink_internal.h containing the private parts of the public API.

10 years agoUpdate the chat example and the public API.
Guus Sliepen [Sat, 19 Apr 2014 14:24:48 +0000 (16:24 +0200)]
Update the chat example and the public API.

In particular, add a callback for notifying the application of node status
changes, and one for passing log messages.

10 years agoAdd an example chat program.
Guus Sliepen [Sat, 19 Apr 2014 13:39:06 +0000 (15:39 +0200)]
Add an example chat program.

This one doesn't compile yet, but it illustrates how we want to use MeshLink in
a more realistic application.

10 years agoRemove autogenerated Makefile.
Guus Sliepen [Sat, 19 Apr 2014 11:58:16 +0000 (13:58 +0200)]
Remove autogenerated Makefile.

10 years agoBuild meshlinkapp using automake.
Guus Sliepen [Sat, 19 Apr 2014 11:56:42 +0000 (13:56 +0200)]
Build meshlinkapp using automake.

This also ensures the resulting "binary" can find the shared library that is in
the src/ directory, no need for hacks.

10 years agoRenamed meshlink-sample/ to examples/.
Guus Sliepen [Sat, 19 Apr 2014 11:49:31 +0000 (13:49 +0200)]
Renamed meshlink-sample/ to examples/.

10 years agoRemove most platform-specific checks.
Guus Sliepen [Sat, 19 Apr 2014 11:31:28 +0000 (13:31 +0200)]
Remove most platform-specific checks.

We just keep HAVE_LINUX and HAVE_MINGW around for now.

10 years agoRemove unused functions and #includes.
Guus Sliepen [Sat, 19 Apr 2014 11:28:18 +0000 (13:28 +0200)]
Remove unused functions and #includes.

10 years agoAdd meshlink.h, containing only the public API.
Guus Sliepen [Sat, 19 Apr 2014 11:07:35 +0000 (13:07 +0200)]
Add meshlink.h, containing only the public API.

This header file contains only the public MeshLink API, documented using
Doxygen. All functions and types are prefixed with meshlink_, and almost all of
the functions now take a meshlink_handle_t * argument, so that one can have
multiple instances of MeshLink running simultaneously, and there will be no
global variables.

10 years agoRemove legacy Ethernet header from vpn_packet_t, add a flag for PMTU probes.
Guus Sliepen [Fri, 18 Apr 2014 19:16:59 +0000 (21:16 +0200)]
Remove legacy Ethernet header from vpn_packet_t, add a flag for PMTU probes.

10 years agoRemove some unused types and #defines.
Guus Sliepen [Fri, 18 Apr 2014 18:59:53 +0000 (20:59 +0200)]
Remove some unused types and #defines.

10 years agoRemove forwarding_mode, broadcast_mode, directonly, priorityinheritance, macexpire...
Guus Sliepen [Fri, 18 Apr 2014 18:23:17 +0000 (20:23 +0200)]
Remove forwarding_mode, broadcast_mode, directonly, priorityinheritance, macexpire and pcap.

10 years agoGet rid of routing_mode.
Guus Sliepen [Fri, 18 Apr 2014 18:17:42 +0000 (20:17 +0200)]
Get rid of routing_mode.

10 years agoRemove most of the configuration options.
Guus Sliepen [Fri, 18 Apr 2014 15:36:13 +0000 (17:36 +0200)]
Remove most of the configuration options.

The default values should work fine in any case, and if we want to keep some
options configurable, the application will set that through the API, not by
editing configuration files.

10 years agoDescribe the layout and contents of the configuration files.
Guus Sliepen [Fri, 18 Apr 2014 12:58:49 +0000 (14:58 +0200)]
Describe the layout and contents of the configuration files.

Basically, we just need Name, Port, public and private keys, and Addresses.

10 years agoMerge remote-tracking branch 'origin/master' into saverio saverio
Saverio Proto [Thu, 17 Apr 2014 22:19:30 +0000 (00:19 +0200)]
Merge remote-tracking branch 'origin/master' into saverio

10 years agoAdd missing crypto.c.
Guus Sliepen [Thu, 17 Apr 2014 22:18:10 +0000 (00:18 +0200)]
Add missing crypto.c.

10 years agoRevert "Guus please check this, I had to fix because my sptps where randomly failing...
Saverio Proto [Thu, 17 Apr 2014 22:06:18 +0000 (00:06 +0200)]
Revert "Guus please check this, I had to fix because my sptps where randomly failing for Unknown IP version"

This reverts commit 67103e5e08616983a9b81b88695c3c4cc38cc9ab.

10 years agoDebug messages in route function
Saverio Proto [Thu, 17 Apr 2014 17:53:41 +0000 (19:53 +0200)]
Debug messages in route function

10 years agoGuus please check this, I had to fix because my sptps where randomly failing for...
Saverio Proto [Thu, 17 Apr 2014 16:43:39 +0000 (18:43 +0200)]
Guus please check this, I had to fix because my sptps where randomly failing for Unknown IP version

10 years agoImplemented len a loop checks in the route function
Saverio Proto [Thu, 17 Apr 2014 08:19:53 +0000 (10:19 +0200)]
Implemented len a loop checks in the route function

10 years agoGet rid of OpenSSL entirely.
Guus Sliepen [Thu, 17 Apr 2014 16:51:16 +0000 (18:51 +0200)]
Get rid of OpenSSL entirely.

\o/

10 years agoStop using OpenSSL for hashes.
Guus Sliepen [Thu, 17 Apr 2014 16:37:43 +0000 (18:37 +0200)]
Stop using OpenSSL for hashes.

10 years agoUse the SHA512 from ed25519/ instead of from OpenSSL for the PRF.
Guus Sliepen [Thu, 17 Apr 2014 16:23:36 +0000 (18:23 +0200)]
Use the SHA512 from ed25519/ instead of from OpenSSL for the PRF.

10 years agoLibtool suggests we need to use AC_CONFIG_MACRO_DIR([m4]).
Guus Sliepen [Thu, 17 Apr 2014 15:46:15 +0000 (17:46 +0200)]
Libtool suggests we need to use AC_CONFIG_MACRO_DIR([m4]).

10 years agoRemove the tinc manual, start with an empty MeshLink manual.
Guus Sliepen [Thu, 17 Apr 2014 15:45:42 +0000 (17:45 +0200)]
Remove the tinc manual, start with an empty MeshLink manual.

10 years agoRemove outdated or not-applicable documents.
Guus Sliepen [Thu, 17 Apr 2014 13:38:08 +0000 (15:38 +0200)]
Remove outdated or not-applicable documents.

10 years agoRename tinc.texi to meshlink.texi.
Guus Sliepen [Thu, 17 Apr 2014 13:36:52 +0000 (15:36 +0200)]
Rename tinc.texi to meshlink.texi.

10 years agoLet libmeshlink also use the Ed25519 functions.
Guus Sliepen [Thu, 17 Apr 2014 09:09:04 +0000 (11:09 +0200)]
Let libmeshlink also use the Ed25519 functions.

10 years agosptps_test: allow using a tun device instead of stdio.
Guus Sliepen [Tue, 15 Apr 2014 15:26:08 +0000 (17:26 +0200)]
sptps_test: allow using a tun device instead of stdio.

10 years agoUse the ChaCha-Poly1305 cipher for the SPTPS protocol.
Guus Sliepen [Mon, 14 Apr 2014 19:43:45 +0000 (21:43 +0200)]
Use the ChaCha-Poly1305 cipher for the SPTPS protocol.

The main reason to switch from AES-256-GCM to ChaCha-Poly1305 is to remove a
dependency on OpenSSL, whose behaviour of the AES-256-GCM decryption function
changes between versions. The source code for ChaCha-Pol1305 is small and in
the public domain, and can therefore be easily included in tinc itself.
Moreover, it is very fast even without using any optimized assembler, easily
outperforming AES-256-GCM on platforms that don't have special AES instructions
in hardware.

Conflicts:
src/Makefile.am

10 years agoUse Ed25519 keys.
Guus Sliepen [Sun, 6 Apr 2014 20:47:26 +0000 (22:47 +0200)]
Use Ed25519 keys.

This uses the portable Ed25519 library made by Orson Peters, which in turn uses
the reference implementation made by Daniel J. Bernstein.

This implementation also allows Ed25519 keys to be used for key exchange, so
there is no need to add a separate implementation of Curve25519.

Conflicts:
src/Makefile.am

10 years agoData is correctly passed from the library to the application the callback
Saverio Proto [Sun, 13 Apr 2014 21:59:19 +0000 (23:59 +0200)]
Data is correctly passed from the library to the application the callback

10 years agoInitial callback support for data received from the VPN to the Application
Saverio Proto [Sun, 13 Apr 2014 21:53:54 +0000 (23:53 +0200)]
Initial callback support for data received from the VPN to the Application

10 years agoGit ignore update
Saverio Proto [Sun, 13 Apr 2014 14:24:50 +0000 (16:24 +0200)]
Git ignore update

10 years agoDon't use SPTPS to decrypt the ID request.
Guus Sliepen [Sun, 13 Apr 2014 12:17:36 +0000 (14:17 +0200)]
Don't use SPTPS to decrypt the ID request.

10 years agoFix compiler warnings.
Guus Sliepen [Sun, 13 Apr 2014 11:58:57 +0000 (13:58 +0200)]
Fix compiler warnings.

10 years agoMerge branch 'saverio'
Guus Sliepen [Sun, 13 Apr 2014 11:19:45 +0000 (13:19 +0200)]
Merge branch 'saverio'

10 years agoLink meshlinkapp statically.
Guus Sliepen [Sun, 13 Apr 2014 11:19:06 +0000 (13:19 +0200)]
Link meshlinkapp statically.

This makes it easier to run and copy around. The order of the included libraries had to be
changed to allow proper linking.

10 years agoAllow configuration directory and node names to be specified on the command line.
Guus Sliepen [Sun, 13 Apr 2014 11:16:28 +0000 (13:16 +0200)]
Allow configuration directory and node names to be specified on the command line.

10 years agoCall srand() and crypto_init() from a constructor.
Guus Sliepen [Sun, 13 Apr 2014 11:14:38 +0000 (13:14 +0200)]
Call srand() and crypto_init() from a constructor.

This ensures these routines are always called when the library is loaded.