]> git.meshlink.io Git - meshlink-tiny/commitdiff
Start of the MeshLink-tiny library.
authorGuus Sliepen <guus@sliepen.org>
Sat, 12 Jun 2021 13:44:52 +0000 (15:44 +0200)
committerGuus Sliepen <guus@meshlink.io>
Sat, 12 Jun 2021 13:51:00 +0000 (15:51 +0200)
COPYING
COPYING.README
NEWS
README
README.android
README.git
README.meshlink [deleted file]
TODO [deleted file]

diff --git a/COPYING b/COPYING
index 819b40f4b3a874a3a843d6b0162cb59753bec8fb..74fcb9449003e38a0a02ed63b64d0e542df2dc46 100644 (file)
--- a/COPYING
+++ b/COPYING
@@ -1,4 +1,4 @@
-Copyright (C) 2014-2018 Guus Sliepen <guus@meshlink.io>
+Copyright (C) 2014-2021 Guus Sliepen <guus@meshlink.io>
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
index 214af7513c0968012e4c63d9e0f124a4aa133005..898da1645f964960e78bd0dd74231e6a8c80be79 100644 (file)
@@ -11,7 +11,6 @@ Please note that this document is not to be interpreted as a license itself.
 
 ## List of libraries that MeshLink depends on
 
-* Catta (LGPL version 2.1)
 * Ed25519 (zlib license)
 * Chacha20-Poly1305 (public domain)
 
@@ -29,21 +28,7 @@ author(s) as soon as possible in order to remedy this situation.
 If you do have a commercial license for the MeshLink library, then apart from
 the obligations set out in the commercial license, you are also obligated to
 follow the rules set out in the licenses of the libraries MeshLink depends on.
-In short, these are:
-
-* Unless you have compiled MeshLink without support for Catta, you must make
-  the source code of Catta, with any modifications that you made to the Catta
-  library itself, available on request to anyone who has received a copy of
-  your closed source software, under the terms of the GNU Lesser General Public
-  License version 2.1 or later.
-* Unless you have compiled MeshLink without support for Catta, you must give
-  prominent notice with each copy of your software that your software is using
-  Catta, and that the Catta library itself is covered under the terms of the
-  GNU Lesser General Public License version 2.1.
-
-Apart from these obligations, you are strongly recommended to mention the other
-libraries that MeshLink is depending on, as well as mention the MeshLink
-library itself:
+In particular, ensure you give credits to the library authors:
 
 * Attribute Orson Peters as the author of the Ed25519 library.
 * Attribute Daniel J. Bernstein as the author of the Chacha20-Poly1305 library.
@@ -71,21 +56,8 @@ https://www.gnu.org/licenses/license-list.en.html#SoftwareLicenses
 
 Apart from the obligations for the MeshLink library, set out in the GPL, you
 are also obligated to follow the rules set out in the licenses of the libraries
-MeshLink depends on. In short, these are:
-
-* Unless you have compiled MeshLink without support for Catta, you must make
-  the source code of Catta, with any modifications that you made to the Catta
-  library itself, available on request to anyone who has received a copy of
-  your closed source software, under the terms of the GNU Lesser General Public
-  License version 2.1 or later.
-* Unless you have compiled MeshLink without support for Catta, you must give
-  prominent notice with each copy of your software that your software is using
-  Catta, and that the Catta library itself is covered under the terms of the
-  GNU Lesser General Public License version 2.1.
-
-Apart from these obligations, you are strongly recommended to mention the other
-libraries that MeshLink is depending on, as well as mention the MeshLink
-library itself:
+MeshLink depends on.
+In particular, ensure you give credits to the library authors:
 
 * Attribute Orson Peters as the author of the Ed25519 library.
 * Attribute Daniel J. Bernstein as the author of the Chacha20-Poly1305 library.
@@ -103,13 +75,10 @@ recommended text to display is:
 
     - MeshLink, copyright © 2014-2018 Guus Sliepen,
       licensed under the GPL version 2 or later¹
-    - Catta, copyright © 2004-2018 the Avahi Developers and others,
-      licensed under the LGPL version 2.1 or later²
     - Chacha20-Poly1305, by Daniel J. Bernstein, public domain
     - Ed25519, copyright © 2015 Orson Peters, licensed under the zlib license
 
 ¹) omit the "licensed under" text if you have a commercial license  
-²) omit this is you compiled MeshLink without support for Catta
 
 The full text of the licenses of all libraries used should be included in the
 documentation, and should be included in any forms or displays that contain
diff --git a/NEWS b/NEWS
index 81da8893333aca829f47d98e6641a374269b5fef..e9b9bcbbf631893adcdffbb320d08de47af2abea 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,3 @@
 Version 0.1
 
- * Initial version of the MeshLink library.
+ * Initial version of the MeshLink-tiny library.
diff --git a/README b/README
index 59d992700488cfde49fbc44b79de1413caac37f6..9b3c0eed9b10da8906080a0336f6f99388fe880a 100644 (file)
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
-This is the README file for the MeshLink library. Installation instructions may
+This is the README file for the MeshLink-tiny library. Installation instructions may
 be found in the INSTALL file.
 
-MeshLink is Copyright (C) 2014-2018 Guus Sliepen <guus@meshlink.io>
+MeshLink is Copyright (C) 2014-2021 Guus Sliepen <guus@meshlink.io>
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -11,22 +11,14 @@ your option) any later version. See the file COPYING for more details.
 To obtain a license to use this library in commercial software, please contact
 sales@meshlink.io.
 
-
-This is not a finished version
-------------------------------
-
-Please do not use this library yet.
-
-
-Requirements
-------------
-
-In order to compile MeshLink, you will need a GNU C compiler environment.
-
-
 Features
 --------
 
+MeshLink-tiny is a version of the MeshLink library optimized for devices with
+very little resources. In particular, it tries to reduce code size and memory
+usage, while keeping as much the API and network protocol compatible with the
+full MeshLink library as much as possible.
+
 MeshLink is a library that allows applications to connect to other instances of
 itself, and exchange messages in a secure way. MeshLink provides end-to-end
 encryption and authentication of messages with perfect forward secrecy. The
index 20cd69a0ab18f4b83923d93a73c2876bd82ace37..7b8ffac85b53840d75bdbb04fc7d850c2272e88c 100644 (file)
@@ -8,8 +8,8 @@
 
 - Clone and cross-compile MeshLink:
 
-        git clone git://meshlink.io/meshlink
-        cd meshlink
+        git clone git://meshlink.io/meshlink-tiny
+        cd meshlink-tiny
         autoreconf -fsi
         CC=/tmp/my-android-toolchain/bin/arm-linux-androideabi-gcc CXX=/tmp/my-android-toolchain/bin/arm-linux-androideabi-g++ ./configure --host=arm-linux-androideabi
         make -j$(nproc)
index f28b01f4823b72f3b506ba8964f3740359cbd583..13e2ccfbc5baee639e4052a665e9ce7a925af0b7 100644 (file)
@@ -1,7 +1,7 @@
 Before you can start compiling MeshLink from a fresh git clone, you have
 to install the very latest versions of the following packages:
 
-- GCC
+- GCC or Clang
 - automake
 - autoconf
 
diff --git a/README.meshlink b/README.meshlink
deleted file mode 100644 (file)
index 5c92312..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-
-The libmeshlink.so library is compiled and you will find it in ./src/.libs/
-
-You can make your tests using this command
-
-export LD_LIBRARY_PATH='/home/saverio/SORGENTI/meshlink/src/.libs/'
diff --git a/TODO b/TODO
deleted file mode 100644 (file)
index 6a51375..0000000
--- a/TODO
+++ /dev/null
@@ -1,41 +0,0 @@
-TODO list for MeshLink
-----------------------
-
-* meshlink_join():
-  - add checks that we only join another mesh if we did not connect to any other node before.
-  - only allow meshlink_join() when the library thread is not running.
-  - remove old host config file if the invitation gave the node a different name.
-  - how to handle nodes that are part of one mesh and want to join another?
-
-* meshlink_leave()?
-  - leaving a mesh is basically starting all over again, with new private keys?
-
-* Allow meshlink_open() to be called with a NULL name, in anticipation of meshlink_join().
-  - Do not allow meshlink_start() if no Name is set.
-
-* Add autoconf/automake stuff to call Doxygen.
-
-* Write a manual
-  - Add introduction and walkthrough how to use MeshLink in an application to
-    the doxygen manual.
-  - Explain what MeshLink does and how it should be used in the application
-  - Import examples into the manual?
-  - List possible ways of synchronisation between application and library threads
-    - simple polling
-    - pthread_cond?
-    - pipe() to signal an event loop of the application's choice
-    - whatever equivalent(s) there are on Windows
-
-Not finished but being worked on:
----------------------------------
-
-* Provide thread-safety to functions that return pointers to meshlink_node_t.
-  - The mesh->nodes tree can be updated by the library thread at any time,
-    so it must be protected by a mutex or rwlock.
-  - Individial node_t's must never be freed or moved except in meshlink_close().
-  - Check all public API functions.
-
-* Write a test suite for the library.
-
-* Add a "channel" library to MeshLink.
-  - Support multiple TCP- and UDP-like streams between two nodes.