]>
git.meshlink.io Git - meshlink/log
Guus Sliepen [Mon, 21 Apr 2014 17:27:55 +0000 (19:27 +0200)]
Rename variable handle to mesh.
Guus Sliepen [Mon, 21 Apr 2014 17:20:35 +0000 (19:20 +0200)]
Use "struct foo_t *" instead of "foo_t *" in .h files.
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.
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.
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.
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.
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.
Guus Sliepen [Sat, 19 Apr 2014 11:58:16 +0000 (13:58 +0200)]
Remove autogenerated Makefile.
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.
Guus Sliepen [Sat, 19 Apr 2014 11:49:31 +0000 (13:49 +0200)]
Renamed meshlink-sample/ to examples/.
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.
Guus Sliepen [Sat, 19 Apr 2014 11:28:18 +0000 (13:28 +0200)]
Remove unused functions and #includes.
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.
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.
Guus Sliepen [Fri, 18 Apr 2014 18:59:53 +0000 (20:59 +0200)]
Remove some unused types and #defines.
Guus Sliepen [Fri, 18 Apr 2014 18:23:17 +0000 (20:23 +0200)]
Remove forwarding_mode, broadcast_mode, directonly, priorityinheritance, macexpire and pcap.
Guus Sliepen [Fri, 18 Apr 2014 18:17:42 +0000 (20:17 +0200)]
Get rid of routing_mode.
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.
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.
Saverio Proto [Thu, 17 Apr 2014 22:19:30 +0000 (00:19 +0200)]
Merge remote-tracking branch 'origin/master' into saverio
Guus Sliepen [Thu, 17 Apr 2014 22:18:10 +0000 (00:18 +0200)]
Add missing crypto.c.
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 .
Saverio Proto [Thu, 17 Apr 2014 17:53:41 +0000 (19:53 +0200)]
Debug messages in route function
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
Saverio Proto [Thu, 17 Apr 2014 08:19:53 +0000 (10:19 +0200)]
Implemented len a loop checks in the route function
Guus Sliepen [Thu, 17 Apr 2014 16:51:16 +0000 (18:51 +0200)]
Get rid of OpenSSL entirely.
\o/
Guus Sliepen [Thu, 17 Apr 2014 16:37:43 +0000 (18:37 +0200)]
Stop using OpenSSL for hashes.
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.
Guus Sliepen [Thu, 17 Apr 2014 15:46:15 +0000 (17:46 +0200)]
Libtool suggests we need to use AC_CONFIG_MACRO_DIR([m4]).
Guus Sliepen [Thu, 17 Apr 2014 15:45:42 +0000 (17:45 +0200)]
Remove the tinc manual, start with an empty MeshLink manual.
Guus Sliepen [Thu, 17 Apr 2014 13:38:08 +0000 (15:38 +0200)]
Remove outdated or not-applicable documents.
Guus Sliepen [Thu, 17 Apr 2014 13:36:52 +0000 (15:36 +0200)]
Rename tinc.texi to meshlink.texi.
Guus Sliepen [Thu, 17 Apr 2014 09:09:04 +0000 (11:09 +0200)]
Let libmeshlink also use the
Ed25519 functions.
Guus Sliepen [Tue, 15 Apr 2014 15:26:08 +0000 (17:26 +0200)]
sptps_test: allow using a tun device instead of stdio.
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
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
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
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
Saverio Proto [Sun, 13 Apr 2014 14:24:50 +0000 (16:24 +0200)]
Git ignore update
Guus Sliepen [Sun, 13 Apr 2014 12:17:36 +0000 (14:17 +0200)]
Don't use SPTPS to decrypt the ID request.
Guus Sliepen [Sun, 13 Apr 2014 11:58:57 +0000 (13:58 +0200)]
Fix compiler warnings.
Guus Sliepen [Sun, 13 Apr 2014 11:19:45 +0000 (13:19 +0200)]
Merge branch 'saverio'
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.
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.
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.
Saverio Proto [Sun, 13 Apr 2014 10:41:45 +0000 (12:41 +0200)]
Merge branch 'master' into saverio
Conflicts:
src/libmeshlink.c
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
Guus Sliepen [Sat, 12 Apr 2014 22:20:55 +0000 (00:20 +0200)]
Remove support for the legacy protocol.
We only allow SPTPS connections.
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).
Saverio Proto [Sat, 12 Apr 2014 20:10:28 +0000 (22:10 +0200)]
Cosmetic cleanup
Saverio Proto [Sat, 12 Apr 2014 19:54:37 +0000 (21:54 +0200)]
Successfully received and printed to screen data from remote node
Saverio Proto [Sat, 12 Apr 2014 19:10:13 +0000 (21:10 +0200)]
ops this should be NOT zero to NOT be a probe
Saverio Proto [Sat, 12 Apr 2014 19:04:51 +0000 (21:04 +0200)]
Dealing with legacy MTU probingwq
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 .
Saverio Proto [Sat, 12 Apr 2014 18:21:58 +0000 (20:21 +0200)]
Leave 14 bytes for legacy MTU probing
Saverio Proto [Sat, 12 Apr 2014 16:34:31 +0000 (18:34 +0200)]
Merge branch 'saverio' of 46.226.111.120:meshlink into saverio
Saverio Proto [Sat, 12 Apr 2014 16:33:32 +0000 (18:33 +0200)]
put value in packet.len
Saverio Proto [Sat, 12 Apr 2014 15:56:16 +0000 (17:56 +0200)]
cut and paste to save time
Guus Sliepen [Sat, 12 Apr 2014 15:20:28 +0000 (17:20 +0200)]
Raise debug level.
Guus Sliepen [Sat, 12 Apr 2014 13:16:33 +0000 (15:16 +0200)]
Change my email address.
Guus Sliepen [Sat, 12 Apr 2014 13:15:13 +0000 (15:15 +0200)]
Remove sample tinc configuration.
Guus Sliepen [Sat, 12 Apr 2014 13:11:33 +0000 (15:11 +0200)]
Remove support for signals.
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.
Guus Sliepen [Sat, 12 Apr 2014 12:43:13 +0000 (14:43 +0200)]
Disable support for detaching from the foreground.
Guus Sliepen [Sat, 12 Apr 2014 12:39:38 +0000 (14:39 +0200)]
Remove support for control connections.
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.
Guus Sliepen [Sat, 12 Apr 2014 12:27:44 +0000 (14:27 +0200)]
Remove unused files.
Guus Sliepen [Sat, 12 Apr 2014 11:24:43 +0000 (13:24 +0200)]
Remove support for Subnets.
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
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.
Saverio Proto [Thu, 10 Apr 2014 11:10:22 +0000 (13:10 +0200)]
Fix memcpy when filling packet data
Saverio Proto [Thu, 10 Apr 2014 10:03:52 +0000 (12:03 +0200)]
Get rid of tincremotehost structure, we use directly node_t
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
Saverio Proto [Thu, 10 Apr 2014 07:31:02 +0000 (09:31 +0200)]
Simplified tincpackethdr struct
Saverio Proto [Thu, 10 Apr 2014 07:26:27 +0000 (09:26 +0200)]
Improved sample application
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
Saverio Proto [Wed, 9 Apr 2014 17:53:33 +0000 (19:53 +0200)]
Remove handle_device_data function
Saverio Proto [Mon, 7 Apr 2014 17:19:37 +0000 (19:19 +0200)]
Keep the sample application running like a server
Saverio Proto [Mon, 7 Apr 2014 17:11:47 +0000 (19:11 +0200)]
we dont open any tun tap or any device in libmeshlink
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
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
Saverio Proto [Mon, 7 Apr 2014 08:49:50 +0000 (10:49 +0200)]
start to implement tinc_start
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)
Saverio Proto [Fri, 4 Apr 2014 16:27:59 +0000 (18:27 +0200)]
Write keys to file in tinc_setup
Saverio Proto [Fri, 4 Apr 2014 16:12:35 +0000 (18:12 +0200)]
Working tinc_setup() function in the library
Saverio Proto [Fri, 4 Apr 2014 16:11:06 +0000 (18:11 +0200)]
cosmetic change
Saverio Proto [Fri, 4 Apr 2014 15:39:04 +0000 (17:39 +0200)]
make_names is needed for tinc_setup
Saverio Proto [Fri, 4 Apr 2014 15:33:45 +0000 (17:33 +0200)]
revert unnecessary changes in tincctl.c
Saverio Proto [Thu, 3 Apr 2014 14:09:47 +0000 (16:09 +0200)]
Update readme
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
Saverio Proto [Thu, 3 Apr 2014 12:38:18 +0000 (14:38 +0200)]
trying to fix linking issues
Saverio Proto [Thu, 3 Apr 2014 10:20:46 +0000 (12:20 +0200)]
Link correctly libmeshlink.so in the sample application
Saverio Proto [Thu, 3 Apr 2014 10:20:03 +0000 (12:20 +0200)]
Build fails: Adding protocol.o object to library and using -fPIC
Saverio Proto [Wed, 2 Apr 2014 16:22:36 +0000 (18:22 +0200)]
Fixing autotools
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
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
Saverio Proto [Wed, 2 Apr 2014 12:15:11 +0000 (14:15 +0200)]
meshlink README with some notes
Saverio Proto [Wed, 2 Apr 2014 12:10:10 +0000 (14:10 +0200)]
First draft of tinc setup function
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
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