The ESP32 doesn't provide pipe(), to ensure we can wake up select() we have
to use a socket bound to localhost so we can send a dummy packet to ourself.
It depends on the full Meshlink library being available as well, which must
be installed or its location should be added to LD_LIBRARY_PATH in order to
be able to run the tests. It is being loaded using dlopen() with the
RTLD_LOCAL and RTLD_DEEPBIND flags to ensure the symbols from the tiny and
full version don't collide.
Guus Sliepen [Mon, 21 Jun 2021 21:13:50 +0000 (23:13 +0200)]
Remove all support for channels.
Also, only allow communication with the peer we have a connection to.
Instead of using an inner SPTPS session, just send raw packets directly
over the meta-connection.
Guus Sliepen [Sat, 19 Jun 2021 21:38:49 +0000 (23:38 +0200)]
Ensure we exchange a session key for application data exchange.
We need to create an edge and send it to the peer, so it will be able to
run its graph algorithms and consider us reachable, otherwise it will not
respond to REQ_KEY requests.
Guus Sliepen [Sat, 12 Jun 2021 21:07:27 +0000 (23:07 +0200)]
Rename the library and public header to meshlink-tiny.
This allows the library to coexist with the full MeshLink library in the
same installation directory, and avoids accidental linking to the wrong
version of the library.
The function names have not changed, so it is not possible to
simultaneously link both versions of the library into a single program.