4
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2025-06-14 19:46:05 +00:00
Commit Graph

992 Commits

Author SHA1 Message Date
87658f83e9 Revert "force things to buffer in the switch if the best link is currently busy. note that other links can end up sending if they become non-idle for other reasons. this is a temporary workaround to packet reordering, until we can figure out a better solution"
This reverts commit 80ba24d512.
2019-09-20 23:09:12 -05:00
8003ea0f3e use a separate multicast beacon interval per multicast interface 2019-09-20 17:42:42 -05:00
1cd4b6e8dd Increase multicast interval at startup from 1s to 15s 2019-09-20 10:08:41 +01:00
f9163a56b6 fix race between listener accepting and shutting down 2019-09-19 19:50:45 -05:00
eeb34ce4e4 modify TcpListener 2019-09-19 19:45:17 -05:00
93e81867fd have link.stop signal active links to close, have tcp.stop wait for all listeners and active connections to close 2019-09-19 19:15:59 -05:00
681e9afc79 Merge develop into bugfixes 2019-09-19 09:05:56 +01:00
7b1678a11d Goroutines in _addPeerLoop from bugfixes 2019-09-19 09:04:25 +01:00
5a382e7e0b Cherrypick fixes for _addPeerLoop memory leak for now 2019-09-19 08:55:55 +01:00
995d67cca8 fix leak in _addPeerLoop 2019-09-18 18:46:03 -05:00
92d9274f3f resolve conflicts 2019-09-18 18:40:01 -05:00
2d64a6380a misc other fixes 2019-09-18 18:33:51 -05:00
909e4e29a8 Don't spawn goroutines for addPeerLoop, TCP connect timeout of 5 seconds for now 2019-09-18 23:44:28 +01:00
64570a8d3e Merge pull request #542 from Arceliar/switch
Switch
2019-09-18 20:26:48 +01:00
0a12e4b1c1 Revert "Catch a nil pointer when sending a session packet to a conn, this shouldn't happen but it's caused multiple crashes in conn.recvMsg"
This reverts commit be35675d0f.
2019-09-18 20:26:06 +01:00
ddaaa865cb Be more verbose when a peer or listener is badly formatted 2019-09-18 19:58:41 +01:00
94cf2854a9 Fix panic where slice goes out of bounds because iface.Read returns less than zero (which might happen when the TUN/TAP interface is closed) 2019-09-18 19:48:53 +01:00
ae0b2672ff Fix #539 2019-09-18 19:48:16 +01:00
2dc136f94a Multicast actor to prevent races 2019-09-18 16:51:46 +01:00
b959f53fee Shut down listeners when stopping 2019-09-18 16:32:22 +01:00
b0df9e2f31 Fix race when adding peers 2019-09-18 16:15:33 +01:00
c78a4cb28f Only stop timers if they are running 2019-09-18 15:34:26 +01:00
366fe7e772 Allow multicast to be shut down more sanely 2019-09-18 15:31:43 +01:00
00a972b74e Disconnect peers when stopping, stop modules before core 2019-09-18 15:22:17 +01:00
846df4789a Be more verbose when a peer or listener is badly formatted 2019-09-18 15:01:19 +01:00
200b3623b2 Fix #539 2019-09-18 14:32:28 +01:00
e9bacda0b3 Catch a nil pointer when sending a session packet to a conn, this shouldn't happen but it's caused multiple crashes in conn.recvMsg 2019-09-18 14:07:26 +01:00
c3016e680c Fix panic where slice goes out of bounds because iface.Read returns less than zero (which might happen when the TUN/TAP interface is closed) 2019-09-18 14:05:18 +01:00
40204caab6 Try to fix race condition in sessions.reset 2019-09-18 14:03:31 +01:00
be35675d0f Catch a nil pointer when sending a session packet to a conn, this shouldn't happen but it's caused multiple crashes in conn.recvMsg 2019-09-18 13:37:01 +01:00
80ba24d512 force things to buffer in the switch if the best link is currently busy. note that other links can end up sending if they become non-idle for other reasons. this is a temporary workaround to packet reordering, until we can figure out a better solution 2019-09-17 19:42:07 -05:00
0141180279 cleanup 2019-09-09 19:25:10 -05:00
10a828af2c when forwarding traffic, break distance ties by favoring the link that sent the most recent switch update the fastest 2019-09-09 19:20:46 -05:00
2426a87ccc really finish initializing the session before returning it / giving up control of the router, in the Conn.search function used by Dial 2019-09-03 19:03:12 -05:00
af3dcb44d8 Update config.go godoc 2019-09-02 09:45:11 +01:00
b3361d4bbc package level documentation for address/crypto/util 2019-09-01 19:01:33 -05:00
cd99d04bd4 document address, crypto, and util 2019-09-01 18:53:45 -05:00
903a8921fc Update api.go godoc 2019-09-01 23:47:47 +01:00
935324efe1 Update conn.go godoc 2019-09-01 23:33:51 +01:00
9e8e1c5a41 Documentation updates 2019-09-01 23:10:46 +01:00
01517e5dc3 Create doc.go for godoc preamble 2019-09-01 22:43:27 +01:00
8c52ccadf9 make dial fail if a session to the same node already exists, fixes race between simultaneous connections to a node's 200 address and one of its 300 addresses, should also fix races between a search and an accepted listen 2019-09-01 14:07:00 -05:00
8d2c31d39c add some artifical delay to windows netsh commands, since it seems like maybe they don't take effect immediately, and this was leading to races when setting MTU 2019-09-01 13:20:48 -05:00
c53831696b make tun stop check that iface is not nil, in case it wasn't set for some reason (windows bugs) 2019-09-01 13:06:25 -05:00
d08c2eb237 stop exporting ReadNoCopy and WriteNoCopy, since we use the actor functions / callbacks and everything else should use Read and Write instead... 2019-09-01 13:04:10 -05:00
3a493fe894 gc more often on mobile 2019-09-01 11:08:25 -05:00
cabdc27a54 change how nonce is tracked, so we allow packets if we've recently received a highest nonce ever, but don't bother tracking all received nonce values, this means duplicate packets are possible but only for a small window of time (and significantly reduces memory usage per session) 2019-08-31 17:39:05 -05:00
a64f7320d8 update phony, add mobile versions of util bytes functions that don't try to store anything 2019-08-31 16:27:36 -05:00
7649ea0f9f remove sessionInfo.doFunc, have the api just use phony.Block instead 2019-08-29 21:59:28 -05:00
1f658cce76 Add Core actor 2019-08-28 19:53:52 +01:00