]>
git.meshlink.io Git - meshlink/log
Niklas Hofmann [Sat, 9 Aug 2014 10:02:55 +0000 (12:02 +0200)]
dclass transfer while adding edges improved
Saverio Proto [Sat, 9 Aug 2014 09:19:24 +0000 (11:19 +0200)]
manynodes example: improved logging
Guus Sliepen [Sat, 9 Aug 2014 09:56:59 +0000 (11:56 +0200)]
Fix packet length check in sptps_receive_data_datagram().
Niklas Hofmann [Sat, 9 Aug 2014 09:50:31 +0000 (11:50 +0200)]
ADD EDGE fixed
Niklas Hofmann [Sat, 9 Aug 2014 09:46:10 +0000 (11:46 +0200)]
fixed port byte order
Niklas Hofmann [Sat, 9 Aug 2014 09:29:35 +0000 (11:29 +0200)]
Merge branch 'everbase' into roles
Niklas Hofmann [Sat, 9 Aug 2014 09:28:57 +0000 (11:28 +0200)]
dclass support within the edge protocol
Niklas Hofmann [Sat, 9 Aug 2014 08:21:51 +0000 (10:21 +0200)]
introduction of dclass and use as source for weight of edges
Guus Sliepen [Sat, 9 Aug 2014 08:21:00 +0000 (10:21 +0200)]
Merge branch 'discovery' of chicago.everbase.net:meshlink/meshlink into everbase
Guus Sliepen [Sat, 9 Aug 2014 08:00:05 +0000 (10:00 +0200)]
Fix buffer overflow in meshlink_hint_address().
Guus Sliepen [Fri, 8 Aug 2014 15:43:50 +0000 (17:43 +0200)]
Finish implementation of log callbacks.
Niklas Hofmann [Fri, 8 Aug 2014 15:01:07 +0000 (17:01 +0200)]
Merge branch 'discovery' into everbase
Niklas Hofmann [Fri, 8 Aug 2014 15:00:32 +0000 (17:00 +0200)]
allow multiple instances of avahi
Saverio Proto [Fri, 8 Aug 2014 14:16:20 +0000 (14:16 +0000)]
manynodes example: committed /test command to test if it is possible to succefully deliver data among the nodes
Niklas Hofmann [Fri, 8 Aug 2014 14:12:41 +0000 (16:12 +0200)]
Merge branch 'discovery' into everbase
Guus Sliepen [Fri, 8 Aug 2014 14:09:11 +0000 (16:09 +0200)]
Only start discovery once per process.
Starting multiple Avahi threads in one process will fail with one of the
threads triggering an assert(), thus killing the process. It's not
critical that Avahi runs, so make sure we only start one.
Guus Sliepen [Fri, 8 Aug 2014 14:09:01 +0000 (16:09 +0200)]
Fix a compiler warning.
Niklas Hofmann [Fri, 8 Aug 2014 14:08:23 +0000 (16:08 +0200)]
TXT record bugfix
Niklas Hofmann [Fri, 8 Aug 2014 13:22:32 +0000 (15:22 +0200)]
Merge branch 'everbase' into discovery
Saverio Proto [Fri, 8 Aug 2014 13:17:37 +0000 (13:17 +0000)]
example manynodes fixed to use meshlink_join
Saverio Proto [Fri, 8 Aug 2014 12:40:15 +0000 (12:40 +0000)]
manynodes chat example: use a prefix for nodes names so that is possible to run multiple instances of this example on multiple hosts and link them together
Guus Sliepen [Fri, 8 Aug 2014 13:13:49 +0000 (15:13 +0200)]
Make sure the tests compile again.
Guus Sliepen [Fri, 8 Aug 2014 13:04:46 +0000 (15:04 +0200)]
Don't link with -lavahi-client, we only need the avahi-core.
Niklas Hofmann [Fri, 8 Aug 2014 12:33:39 +0000 (14:33 +0200)]
Merge branch 'everbase' of chicago.everbase.net:meshlink/meshlink into everbase
Niklas Hofmann [Fri, 8 Aug 2014 12:32:03 +0000 (14:32 +0200)]
Merge branch 'discovery' into everbase
Conflicts:
examples/chatpp.cc
src/meshlink++.h
src/meshlink.c
Saverio Proto [Fri, 8 Aug 2014 11:46:18 +0000 (11:46 +0000)]
sptps: split error conditions handling
Niklas Hofmann [Fri, 8 Aug 2014 12:00:35 +0000 (14:00 +0200)]
changed name of SRV record to fingerprint
Saverio Proto [Fri, 8 Aug 2014 11:18:42 +0000 (11:18 +0000)]
MSG_NOSIGNAL option in send() will prevent SIGPIPE
Saverio Proto [Fri, 8 Aug 2014 11:05:55 +0000 (11:05 +0000)]
Chat example: Trivial, fix return in void function
Niklas Hofmann [Fri, 8 Aug 2014 10:40:17 +0000 (12:40 +0200)]
check result of malloc
Niklas Hofmann [Fri, 8 Aug 2014 10:35:05 +0000 (12:35 +0200)]
appname added, which is used by mdns as part of the service type
Guus Sliepen [Fri, 8 Aug 2014 10:00:41 +0000 (12:00 +0200)]
Test whether UDP communication is working.
Guus Sliepen [Fri, 8 Aug 2014 09:59:39 +0000 (11:59 +0200)]
Handle io_t's being deleted out of order while going through loop->ios.
Guus Sliepen [Fri, 8 Aug 2014 09:52:13 +0000 (11:52 +0200)]
Actually implement sptps_verify_datagram(), so try_mac() works.
Niklas Hofmann [Fri, 8 Aug 2014 09:05:17 +0000 (11:05 +0200)]
use uuid for hostname and service name, because we exchange all important information via service type and TXT record
Niklas Hofmann [Fri, 8 Aug 2014 08:33:12 +0000 (10:33 +0200)]
uses publish_no_reverse flag of avahi
Guus Sliepen [Fri, 8 Aug 2014 08:01:39 +0000 (10:01 +0200)]
Make sure outgoing->mesh is set.
This caused a segmentation fault when cancelling outgoing connections.
Niklas Hofmann [Thu, 7 Aug 2014 17:01:58 +0000 (19:01 +0200)]
code cleanup; noptr fix
Guus Sliepen [Thu, 7 Aug 2014 16:33:08 +0000 (18:33 +0200)]
Remove references to port 655 from MeshLink.
First of all, port 655 is officially registered as the port for tinc,
not for any other application. Second, applications built on top of
MeshLink will probably run as non-root, and so cannot bind to ports
lower than 1024 anyway.
- Never try binding to port 655 when setting up a new node.
- Always require a valid port number when making connections.
Guus Sliepen [Thu, 7 Aug 2014 15:47:58 +0000 (17:47 +0200)]
Speed up making outgoing connections.
- Immediately fire the periodic_handler() when the main loop starts.
- Use a very short timeout if we haven't made enough real and pending
connections yet to fill the autoconnect budget.
This basically means we immediately start up to 3 outgoing connections
to different nodes.
Guus Sliepen [Thu, 7 Aug 2014 15:01:50 +0000 (17:01 +0200)]
Remove debug messages from meshlink_queue.h.
Guus Sliepen [Thu, 7 Aug 2014 14:27:43 +0000 (16:27 +0200)]
Allow meshlink_start() to work after meshlink_stop().
The way the MeshLink thread is signaled that it has to quit using
meshlink_stop() is by shutting down one of the listening sockets.
However, it has to be repaired to allow meshlink_start() to work again.
Maybe not the prettiest solution.
Saverio Proto [Thu, 7 Aug 2014 14:18:38 +0000 (14:18 +0000)]
Call meshlink_stop before meshlink_join in the chat program
Saverio Proto [Thu, 7 Aug 2014 13:04:18 +0000 (15:04 +0200)]
After killing meshlink thread update the bool status threadstarted
Guus Sliepen [Thu, 7 Aug 2014 13:41:16 +0000 (15:41 +0200)]
Add a public API for the thread-safe message queue.
Guus Sliepen [Thu, 7 Aug 2014 12:34:37 +0000 (14:34 +0200)]
Remove .dirstamp file.
It absolutely does not belong in the repository.
Lars [Sun, 3 Aug 2014 23:31:42 +0000 (01:31 +0200)]
es compiliert, aber failed immernoch. :-( was ist da los???
Lars [Sun, 3 Aug 2014 23:25:12 +0000 (01:25 +0200)]
object-oriented interface 1st durchstich, incl. chat program adopted. :-)
Guus Sliepen [Thu, 31 Jul 2014 15:18:08 +0000 (17:18 +0200)]
Fix compiler warnings in manynodes.c.
Guus Sliepen [Thu, 31 Jul 2014 15:13:21 +0000 (17:13 +0200)]
Check return value of fread() when reading from /dev/urandom.
Niklas Hofmann [Thu, 31 Jul 2014 01:26:59 +0000 (03:26 +0200)]
we might have to think about locking in case we call meshlink-methods - todo added
Niklas Hofmann [Thu, 31 Jul 2014 01:21:53 +0000 (03:21 +0200)]
ignore unknown address types (just in case)
Niklas Hofmann [Thu, 31 Jul 2014 01:08:06 +0000 (03:08 +0200)]
a first mdns discovery implementation
Niklas Hofmann [Wed, 30 Jul 2014 23:51:55 +0000 (01:51 +0200)]
Merge branch 'address_hint_api' into discovery
Niklas Hofmann [Wed, 30 Jul 2014 23:44:43 +0000 (01:44 +0200)]
avahi mdns integration
Niklas Hofmann [Wed, 30 Jul 2014 22:40:28 +0000 (00:40 +0200)]
Merge remote-tracking branch 'origin/everbase' into discovery
Niklas Hofmann [Wed, 30 Jul 2014 22:39:39 +0000 (00:39 +0200)]
avahi mdns skeleton
Guus Sliepen [Wed, 30 Jul 2014 16:18:09 +0000 (18:18 +0200)]
Add meshlink_get_fingerprint().
This function returns a (fingerprint of a) node's public key in
printable ASCII.
Aaron Krebs [Wed, 30 Jul 2014 16:04:17 +0000 (18:04 +0200)]
Free memory.
Aaron Krebs [Wed, 30 Jul 2014 15:44:58 +0000 (17:44 +0200)]
Implemented meshlink_hint_address().
Aaron Krebs [Wed, 30 Jul 2014 15:44:23 +0000 (17:44 +0200)]
Utility functions to get string representation of sockaddr components.
Guus Sliepen [Wed, 30 Jul 2014 15:25:42 +0000 (17:25 +0200)]
Add proper error reporting to the chat examples.
Guus Sliepen [Wed, 30 Jul 2014 15:22:39 +0000 (17:22 +0200)]
Fix meshlink_get_all_nodes().
Guus Sliepen [Wed, 30 Jul 2014 15:06:47 +0000 (17:06 +0200)]
Add missing meshlink_errnos in meshlink_start().
Guus Sliepen [Wed, 30 Jul 2014 14:59:38 +0000 (16:59 +0200)]
Fix a crash when meshlink_open() is called with an invalid confbase.
Guus Sliepen [Wed, 30 Jul 2014 14:52:47 +0000 (16:52 +0200)]
Set meshlink_errno everywhere an error is returned by the public API.
Guus Sliepen [Wed, 30 Jul 2014 14:36:44 +0000 (16:36 +0200)]
Make sure mesh->name is available to the application.
For now, it will be replaced by a function.
Aaron Krebs [Wed, 30 Jul 2014 14:14:39 +0000 (16:14 +0200)]
New API function for address hinting.
Guus Sliepen [Wed, 30 Jul 2014 13:09:50 +0000 (15:09 +0200)]
Fix the C++ wrapper and the examples.
Guus Sliepen [Wed, 30 Jul 2014 13:04:47 +0000 (15:04 +0200)]
Add meshlink_get_pmtu() to get the path MTU to a specific node.
Guus Sliepen [Wed, 30 Jul 2014 13:04:22 +0000 (15:04 +0200)]
meshlink_send()'s len argument should be size_t, to match send().
Guus Sliepen [Wed, 30 Jul 2014 13:03:37 +0000 (15:03 +0200)]
Address Lars's comments on the API.
- Add meshlink_whitelist() as a counterpart to meshlink_blacklist().
- Change meshlink_get_all_nodes() to return memory allocated by MeshLink.
- Specify when pointers are allowed to be NULL.
- Specify when strings must be nul-terminated.
- Clarify some corner cases.
Guus Sliepen [Wed, 30 Jul 2014 09:05:08 +0000 (11:05 +0200)]
Make sure meshlink_strerror() always returns a valid pointer to a string.
Guus Sliepen [Wed, 30 Jul 2014 09:04:42 +0000 (11:04 +0200)]
Document that some functions can return NULL on error.
Lars [Wed, 30 Jul 2014 08:40:42 +0000 (10:40 +0200)]
put macro value in parentheses
Guus Sliepen [Tue, 29 Jul 2014 16:55:25 +0000 (18:55 +0200)]
Start of the manynodes example.
This example program starts many instances of MeshLink in a single
program, and can let them connect to each other. This is mainly usable
for testing scalability.
Guus Sliepen [Tue, 29 Jul 2014 16:21:44 +0000 (18:21 +0200)]
Don't use errno as a local variable, because it's a macro.
Guus Sliepen [Tue, 29 Jul 2014 15:57:20 +0000 (17:57 +0200)]
Fix meshlink_close().
Exit early when mesh->confbase = NULL. That should only happen after
meshlink_close() has already been called. Also, memset() before free(),
not after.
Guus Sliepen [Tue, 29 Jul 2014 15:02:47 +0000 (17:02 +0200)]
Merge branch 'partition_healing' into everbase
Guus Sliepen [Tue, 29 Jul 2014 15:00:13 +0000 (17:00 +0200)]
Document how memory management is handled in the API.
Guus Sliepen [Tue, 29 Jul 2014 14:59:08 +0000 (16:59 +0200)]
Zero the struct meshlink_handle in meshlink_close().
This prevents potentially bad behaviour when the application calls
meshlink_close() twice on the same pointer.
Guus Sliepen [Tue, 29 Jul 2014 14:57:09 +0000 (16:57 +0200)]
Check all arguments of the public API for NULL pointers.
Guus Sliepen [Tue, 29 Jul 2014 14:52:21 +0000 (16:52 +0200)]
Fix a memory leak.
Guus Sliepen [Tue, 29 Jul 2014 14:51:52 +0000 (16:51 +0200)]
Make meshlink_main_loop static, it's not part of the API.
Guus Sliepen [Tue, 29 Jul 2014 14:51:11 +0000 (16:51 +0200)]
Remove errno and errstr from meshlink_handle_t, add thread-local meshlink_errno.
Errors can happen outside of the context of a meshlink handle, for example
if meshlink_open() itself fails. Furthermore, errstr can always be derived
from errno, so it is redundant.
Aaron Krebs [Tue, 29 Jul 2014 14:03:46 +0000 (16:03 +0200)]
Whitespace.
Aaron Krebs [Tue, 29 Jul 2014 13:59:33 +0000 (15:59 +0200)]
Refactoring.
Removes duplicated code.
Aaron Krebs [Tue, 29 Jul 2014 13:49:45 +0000 (15:49 +0200)]
Check that num_unreachable > 0
Guus Sliepen [Tue, 29 Jul 2014 13:49:00 +0000 (15:49 +0200)]
Fix a few memory leaks.
Aaron Krebs [Tue, 29 Jul 2014 12:51:58 +0000 (14:51 +0200)]
Connect to unreachable nodes after enough stable connections exit.
Guus Sliepen [Tue, 29 Jul 2014 10:24:25 +0000 (12:24 +0200)]
Fix meshlink_add_address().
This was broken due to commit
656a7bca4fd4acac5c3411087a6ed62fa4b7fa81 .
Guus Sliepen [Tue, 29 Jul 2014 10:23:22 +0000 (12:23 +0200)]
Fix link to host.cgi for resolving our own external address.
Aaron Krebs [Tue, 29 Jul 2014 09:29:41 +0000 (11:29 +0200)]
Revert fix to partition healing problem.
More complex solution needed.
This reverts commit
e16463732db2045c884fa47aafa36a07c55b0c5c .
This reverts commit
3610b382c6971808aa1988e8af945a7816e7246b .
Aaron Krebs [Tue, 29 Jul 2014 08:42:36 +0000 (10:42 +0200)]
Fix compile error.
Aaron Krebs [Tue, 29 Jul 2014 08:27:24 +0000 (10:27 +0200)]
Try connections to unreachable nodes more often.
Guus Sliepen [Mon, 28 Jul 2014 14:21:17 +0000 (16:21 +0200)]
Fix meshlink::channel_open().
Guus Sliepen [Sat, 26 Jul 2014 17:45:51 +0000 (19:45 +0200)]
A first attempt at merging UTCP into MeshLink.
The accept callbacks are a bit awkward at the moment, it's better if
UTCP drops the pre_accept and just has one callback.
Guus Sliepen [Sat, 26 Jul 2014 16:47:10 +0000 (18:47 +0200)]
Import UTCP as a git submodule.
Guus Sliepen [Sat, 26 Jul 2014 15:37:23 +0000 (17:37 +0200)]
Remove some more traces of tinc.
Guus Sliepen [Sat, 26 Jul 2014 15:21:42 +0000 (17:21 +0200)]
Fix warnings from Doxygen.