]>
git.meshlink.io Git - meshlink/log
Guus Sliepen [Sat, 13 Sep 2014 14:09:11 +0000 (16:09 +0200)]
Fix queue handling in meshlink_send().
We need to copy the data from the application *here*. To avoid multiple copies, prepare the
whole vpn_packet_t in meshlink_send(), so meshlink_send_from_queue() only has to dequeue
and call route(). We also don't need to take the mesh_mutex, since the only information we
use is the name of ourself and the destination node, which is guaranteed to be stable.
Guus Sliepen [Fri, 5 Sep 2014 21:14:40 +0000 (23:14 +0200)]
Add an example chat program that uses the channels API.
Saverio Proto [Fri, 5 Sep 2014 16:58:29 +0000 (18:58 +0200)]
manynodes: put a prefix di graph json files because with LXC many machines write into the same folder
Saverio Proto [Mon, 1 Sep 2014 06:31:09 +0000 (08:31 +0200)]
manynodes: export the graph always from node 0
Saverio Proto [Thu, 28 Aug 2014 13:18:00 +0000 (15:18 +0200)]
manynodes: add few backbone nodes and many portable nodes to make tests
Saverio Proto [Thu, 28 Aug 2014 13:17:15 +0000 (15:17 +0200)]
manynodes: implement stop command
Guus Sliepen [Fri, 22 Aug 2014 09:11:46 +0000 (11:11 +0200)]
Keep private members out of the "public" meshlink structs.
Guus Sliepen [Fri, 22 Aug 2014 09:03:54 +0000 (11:03 +0200)]
Update to latest commit of UTCP.
Guus Sliepen [Fri, 22 Aug 2014 08:58:47 +0000 (10:58 +0200)]
Merge branch 'channels'
Conflicts:
.gitmodules
src/node.h
Saverio Proto [Thu, 21 Aug 2014 16:51:37 +0000 (18:51 +0200)]
meshlink_export: correctly export the mutex
Saverio Proto [Thu, 21 Aug 2014 16:33:31 +0000 (18:33 +0200)]
Deleting variable defined but not used
Saverio Proto [Tue, 19 Aug 2014 14:17:20 +0000 (16:17 +0200)]
manynodes: implemented /select to be able to select the node that will execute the console commands
by default node0 will be executing the commands
doing /select 1 for example, the node 1 will execute the console commands
Saverio Proto [Mon, 18 Aug 2014 15:35:56 +0000 (17:35 +0200)]
manynodes: do not add localhost as node's address
Saverio Proto [Sun, 17 Aug 2014 13:15:57 +0000 (15:15 +0200)]
Dont learn localhost and IPv6 link local with AVAHI
Saverio Proto [Sun, 17 Aug 2014 11:01:37 +0000 (13:01 +0200)]
Invitation protocol: correctly initialize and reset mesh->thedatalen after join is finished
Saverio Proto [Sun, 17 Aug 2014 10:17:45 +0000 (12:17 +0200)]
Revert "Fixed a bug in the invitation code that prevented correct working of the feature after the second call of /join"
This reverts commit
1b233d4c868011ec98b668d2d7fca576d921b8b6 .
Saverio Proto [Thu, 14 Aug 2014 13:48:32 +0000 (15:48 +0200)]
Fixed a bug in the invitation code that prevented correct working of the feature after the second call of /join
The second time /join was called the correct name in meshlink.conf was not updated.
It appeared a wrong ConnectTo statement in the hosts/name file
Saverio Proto [Thu, 14 Aug 2014 08:16:08 +0000 (10:16 +0200)]
finalize_join: close file descriptor before return
Niklas Hofmann [Thu, 14 Aug 2014 08:18:52 +0000 (10:18 +0200)]
bugfix handle case where count(edges) = 0
Niklas Hofmann [Wed, 13 Aug 2014 19:30:53 +0000 (21:30 +0200)]
start graph export timer via command line paramter in manynodes example
Niklas Hofmann [Wed, 13 Aug 2014 19:17:37 +0000 (21:17 +0200)]
graph export timer for manynodes example
Niklas Hofmann [Wed, 13 Aug 2014 18:15:12 +0000 (20:15 +0200)]
devtools added
Niklas Hofmann [Wed, 13 Aug 2014 17:50:29 +0000 (19:50 +0200)]
json export of node and edge structure
Niklas Hofmann [Wed, 13 Aug 2014 15:37:27 +0000 (17:37 +0200)]
warning added to code comment
Niklas Hofmann [Wed, 13 Aug 2014 15:02:28 +0000 (17:02 +0200)]
"last successfull connect" introduced
Niklas Hofmann [Wed, 13 Aug 2014 14:52:47 +0000 (16:52 +0200)]
various connect order bugfixes; storing / reading devclass bugfix
Niklas Hofmann [Wed, 13 Aug 2014 11:49:30 +0000 (13:49 +0200)]
locks in discovery code
Niklas Hofmann [Wed, 13 Aug 2014 11:30:16 +0000 (13:30 +0200)]
Merge branch 'mesh_topology_output' into roles
Niklas Hofmann [Wed, 13 Aug 2014 07:27:05 +0000 (09:27 +0200)]
fixing comparison expression
Guus Sliepen [Tue, 12 Aug 2014 20:03:32 +0000 (22:03 +0200)]
Fix segfault when two nodes that just joined a mesh want to autoconnect to each other.
In this case, we have not exchanged public keys yet. That should not be
a problem, but we blindly pass a NULL pointer to sptps_start() in this
case which blindly dereferences it. Fix sptps_start() by making sure no
arguments are NULL, and teach MeshLink to exchange keys between
reachable nodes when it tries to make a meta-connection.
Niklas Hofmann [Tue, 12 Aug 2014 15:34:50 +0000 (17:34 +0200)]
create a new connection only in case there is none
Niklas Hofmann [Tue, 12 Aug 2014 14:40:41 +0000 (16:40 +0200)]
fixed some potentially nasty memory issues
Niklas Hofmann [Tue, 12 Aug 2014 09:52:02 +0000 (11:52 +0200)]
asserts added to make sure devclass is valid
Aaron Krebs [Tue, 12 Aug 2014 09:43:35 +0000 (11:43 +0200)]
Removed references to HAVE_STRUCT_SOCKADDR_STORAGE.
Enforced sockaddr_storage support in configure.ac
Niklas Hofmann [Tue, 12 Aug 2014 03:32:22 +0000 (05:32 +0200)]
converging auto connect algorithm
Aaron Krebs [Mon, 11 Aug 2014 10:13:25 +0000 (12:13 +0200)]
Changed meshlink_get_all_edges_state to re-use memory.
Aaron Krebs [Mon, 11 Aug 2014 08:56:58 +0000 (10:56 +0200)]
Finished sockaddr_t to sockaddr_storage copy on meshlink_edge_t.
Aaron Krebs [Sat, 9 Aug 2014 20:05:34 +0000 (22:05 +0200)]
Implemented API function to capture mesh edges.
Aaron Krebs [Sat, 9 Aug 2014 17:38:03 +0000 (19:38 +0200)]
Removed extern keyword.
Niklas Hofmann [Sat, 9 Aug 2014 18:14:01 +0000 (20:14 +0200)]
added log info
Niklas Hofmann [Sat, 9 Aug 2014 17:34:12 +0000 (19:34 +0200)]
fixed missing unlock
Aaron Krebs [Sat, 9 Aug 2014 15:54:56 +0000 (17:54 +0200)]
Replaced node_mutex with mesh_mutex.
This reverses the mutex use; instead of locking when modifying nodes,
we unlock when not modifying the mesh. Any API functions that wish
to use the mesh must aquire the lock first.
TODO: Currently there is a deadlock problem, and the discovery thread is not
cleanly handled yet.
Niklas Hofmann [Sat, 9 Aug 2014 16:45:29 +0000 (18:45 +0200)]
fix in log message
Niklas Hofmann [Sat, 9 Aug 2014 16:42:02 +0000 (18:42 +0200)]
fix arith exception, log messages for autoconnect code
Niklas Hofmann [Sat, 9 Aug 2014 16:26:35 +0000 (18:26 +0200)]
class based connect behaviour
Niklas Hofmann [Sat, 9 Aug 2014 14:38:52 +0000 (16:38 +0200)]
explicit declaration of node_write_dclass
Niklas Hofmann [Sat, 9 Aug 2014 14:35:26 +0000 (16:35 +0200)]
Merge branch 'everbase' into roles
Niklas Hofmann [Sat, 9 Aug 2014 14:34:43 +0000 (16:34 +0200)]
persistence of DeviceClass
Saverio Proto [Sat, 9 Aug 2014 14:27:10 +0000 (16:27 +0200)]
net_packet: trivial, adjust to logger to DEBUG
Saverio Proto [Sat, 9 Aug 2014 14:26:16 +0000 (16:26 +0200)]
manynodes example: trivial, change debug levels
Guus Sliepen [Sat, 9 Aug 2014 13:36:00 +0000 (15:36 +0200)]
Don't crash when the log callback gets a NULL mesh.
Guus Sliepen [Sat, 9 Aug 2014 13:31:43 +0000 (15:31 +0200)]
Merge branch 'everbase' of chicago.everbase.net:meshlink/meshlink into everbase
Guus Sliepen [Sat, 9 Aug 2014 13:31:00 +0000 (15:31 +0200)]
Restart UDP key exchange after PingTimeout if it didn't work.
Niklas Hofmann [Sat, 9 Aug 2014 12:49:53 +0000 (14:49 +0200)]
route avahi log to meshlink log
Niklas Hofmann [Sat, 9 Aug 2014 12:05:25 +0000 (14:05 +0200)]
log level adjustments
Niklas Hofmann [Sat, 9 Aug 2014 10:09:37 +0000 (12:09 +0200)]
Merge branch 'roles' into everbase
Niklas Hofmann [Sat, 9 Aug 2014 10:08:48 +0000 (12:08 +0200)]
cleanup of entry group in discovery_stop
Saverio Proto [Sat, 9 Aug 2014 10:06:53 +0000 (12:06 +0200)]
example manynodes: send test messages only to other nodes and not to ourselfs
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.