]>
git.meshlink.io Git - meshlink/log
Aaron Krebs [Fri, 31 Oct 2014 12:33:11 +0000 (13:33 +0100)]
Set receive callback when accepting channels.
Aaron Krebs [Fri, 31 Oct 2014 12:02:02 +0000 (13:02 +0100)]
Set channel_poll_trampoline as default poll callback.
Guus Sliepen [Sat, 1 Nov 2014 21:06:40 +0000 (22:06 +0100)]
Fix compilation error in the basic C++ test.
Aaron Krebs [Thu, 30 Oct 2014 13:00:22 +0000 (14:00 +0100)]
Added configure option to set UTCP_DEBUG.
Aaron Krebs [Wed, 29 Oct 2014 12:55:53 +0000 (13:55 +0100)]
Changed C++ channel API to use member functions.
Niklas Hofmann [Mon, 27 Oct 2014 05:47:56 +0000 (06:47 +0100)]
apple compatibility
Niklas Hofmann [Sat, 25 Oct 2014 20:17:51 +0000 (22:17 +0200)]
windows compatibility
Niklas Hofmann [Sat, 25 Oct 2014 15:47:59 +0000 (17:47 +0200)]
update to new catta, removal of libuuid dependency
Aaron Krebs [Wed, 1 Oct 2014 12:26:24 +0000 (14:26 +0200)]
Configure autotools to install public header files.
Saverio Proto [Tue, 26 Aug 2014 12:31:48 +0000 (14:31 +0200)]
Fix README stuff to compile correctly catta
Niklas Hofmann [Fri, 22 Aug 2014 08:34:20 +0000 (10:34 +0200)]
rename of avahi to catta
Lars [Mon, 18 Aug 2014 13:40:43 +0000 (15:40 +0200)]
2nd approach again: class meshlink::mesh has the handle as member, not as base class.
Conflicts:
src/meshlink++.h
Lars [Mon, 18 Aug 2014 12:37:48 +0000 (14:37 +0200)]
indent with TAB, align with SPACEs
Saverio Proto [Sun, 17 Aug 2014 11:03:52 +0000 (13:03 +0200)]
Fix path in README.catta
Niklas Hofmann [Fri, 15 Aug 2014 10:54:00 +0000 (12:54 +0200)]
link to catta instead of avahi
Niklas Hofmann [Fri, 15 Aug 2014 10:10:30 +0000 (12:10 +0200)]
submodule catta added
Conflicts:
.gitmodules
Niklas Hofmann [Fri, 15 Aug 2014 10:00:57 +0000 (12:00 +0200)]
remove avahi
Guus Sliepen [Tue, 16 Dec 2014 13:51:36 +0000 (14:51 +0100)]
Add a function to set the default white/blacklisting behaviour.
This function should be called right after meshlink_open(), and will
apply the default white/blacklist setting to newly learned nodes.
The status can later be changed using the meshlink_whitelist() and
meshlink_blacklist() functions.
Guus Sliepen [Tue, 16 Dec 2014 13:50:42 +0000 (14:50 +0100)]
Add a function to change a configuration file on disk.
Guus Sliepen [Sat, 1 Nov 2014 14:57:42 +0000 (15:57 +0100)]
Clean up UTCP connections when stopping the mesh.
Guus Sliepen [Sat, 1 Nov 2014 13:24:41 +0000 (14:24 +0100)]
Take the global lock in meshlink_channel_send().
Guus Sliepen [Sat, 1 Nov 2014 13:24:00 +0000 (14:24 +0100)]
Add argument validation to the channels API.
Guus Sliepen [Fri, 31 Oct 2014 08:11:49 +0000 (09:11 +0100)]
Register channel poll callback to notify when a channel has succesfully opened.
Guus Sliepen [Fri, 31 Oct 2014 08:10:23 +0000 (09:10 +0100)]
Call utcp_timeout() once every iteration of the event loop.
Guus Sliepen [Fri, 31 Oct 2014 07:27:34 +0000 (08:27 +0100)]
Fix definition of mesh::set_channel_accept_cb() and _poll_cb().
Guus Sliepen [Sat, 25 Oct 2014 18:18:54 +0000 (20:18 +0200)]
Update TODO list.
Guus Sliepen [Wed, 1 Oct 2014 17:36:58 +0000 (19:36 +0200)]
Add a poll callback to channels.
The callback is called whenever the a call to meshlink_channel_send()
will accept a non-zero number of bytes.
Guus Sliepen [Sun, 14 Sep 2014 15:49:09 +0000 (17:49 +0200)]
Ensure receive_cb and utcp structures have been properly initialized after setting channel_accept_cb.
This allows the channels example to initiate a chat from one side only.
Guus Sliepen [Sun, 14 Sep 2014 15:27:24 +0000 (17:27 +0200)]
Channels can now actually be opened.
It still requires both sides to call channel_open(), because otherwise utcp_init() is not called
on the receiving side.
Guus Sliepen [Sun, 14 Sep 2014 15:24:44 +0000 (17:24 +0200)]
Build the channels example.
Guus Sliepen [Sat, 13 Sep 2014 14:56:50 +0000 (16:56 +0200)]
Add devclass argument to calls to meshlink_open() in all tests.
Guus Sliepen [Sat, 13 Sep 2014 14:22:10 +0000 (16:22 +0200)]
Update .gitignore files.
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().