Commit Graph

1801 Commits

Author SHA1 Message Date
Neil Alexander
64570a8d3e
Merge pull request #542 from Arceliar/switch
Switch
2019-09-18 20:26:48 +01:00
Neil Alexander
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
Neil Alexander
d44a7faa04
semver: Don't return failure codes when git history is not present 2019-09-18 20:09:53 +01:00
Neil Alexander
ddaaa865cb
Be more verbose when a peer or listener is badly formatted 2019-09-18 19:58:41 +01:00
Neil Alexander
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
Neil Alexander
368f499f1d
Update apt before trying to pull in RPM dependencies 2019-09-18 19:48:35 +01:00
Neil Alexander
ae0b2672ff
Fix #539 2019-09-18 19:48:16 +01:00
Neil Alexander
2dc136f94a
Multicast actor to prevent races 2019-09-18 16:51:46 +01:00
Neil Alexander
b959f53fee
Shut down listeners when stopping 2019-09-18 16:32:22 +01:00
Neil Alexander
b0df9e2f31
Fix race when adding peers 2019-09-18 16:15:33 +01:00
Neil Alexander
c78a4cb28f
Only stop timers if they are running 2019-09-18 15:34:26 +01:00
Neil Alexander
366fe7e772
Allow multicast to be shut down more sanely 2019-09-18 15:31:43 +01:00
Neil Alexander
00a972b74e
Disconnect peers when stopping, stop modules before core 2019-09-18 15:22:17 +01:00
Neil Alexander
846df4789a
Be more verbose when a peer or listener is badly formatted 2019-09-18 15:01:19 +01:00
Neil Alexander
a62e029e21
Update apt before trying to pull in RPM dependencies 2019-09-18 14:37:25 +01:00
Neil Alexander
27158d7b44
Fix #509 2019-09-18 14:35:11 +01:00
Neil Alexander
200b3623b2
Fix #539 2019-09-18 14:32:28 +01:00
Neil Alexander
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
Neil Alexander
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
Neil Alexander
40204caab6
Try to fix race condition in sessions.reset 2019-09-18 14:03:31 +01:00
Neil Alexander
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
Arceliar
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
Neil Alexander
f4e326f5dd
Merge pull request #544 from wfleurant/readme-url-platforms
README: update platforms link
2019-09-11 14:23:42 +01:00
William Fleurant
8ca1187451 README: update platforms link 2019-09-11 06:52:03 -04:00
Arceliar
0141180279 cleanup 2019-09-09 19:25:10 -05:00
Arceliar
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
Arceliar
1b72a3f3d5
Merge pull request #537 from Arceliar/phony
update phony dependency
2019-09-06 22:47:59 -05:00
Arceliar
eec055313d update phony dependency 2019-09-06 22:20:36 -05:00
Neil Alexander
9da0c40239
Merge pull request #534 from Arceliar/bugfix
Fix race between router and dial code
2019-09-04 12:21:42 +01:00
Arceliar
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
Neil Alexander
af3dcb44d8
Update config.go godoc 2019-09-02 09:45:11 +01:00
Arceliar
b3361d4bbc package level documentation for address/crypto/util 2019-09-01 19:01:33 -05:00
Arceliar
cd99d04bd4 document address, crypto, and util 2019-09-01 18:53:45 -05:00
Neil Alexander
903a8921fc
Update api.go godoc 2019-09-01 23:47:47 +01:00
Neil Alexander
935324efe1
Update conn.go godoc 2019-09-01 23:33:51 +01:00
Neil Alexander
9e8e1c5a41
Documentation updates 2019-09-01 23:10:46 +01:00
Neil Alexander
01517e5dc3
Create doc.go for godoc preamble 2019-09-01 22:43:27 +01:00
Neil Alexander
174ebceaac
Fix hjson-go import in go.mod/go.sum 2019-09-01 21:32:40 +01:00
Arceliar
f72546c85d
Merge pull request #527 from Arceliar/bugfix
Bugfix
2019-09-01 14:15:00 -05:00
Arceliar
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
Arceliar
730fd08954
Merge pull request #526 from Arceliar/cleanup
Cleanup and possible bugfixes
2019-09-01 13:45:17 -05:00
Arceliar
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
Arceliar
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
Arceliar
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
Neil Alexander
1496b6af3b
Merge pull request #525 from Arceliar/memory
Memory
2019-09-01 17:55:24 +01:00
Neil Alexander
e0ea845cdc
Update build 2019-09-01 17:50:15 +01:00
Arceliar
3a493fe894 gc more often on mobile 2019-09-01 11:08:25 -05:00
Arceliar
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
Arceliar
0806f3e6ea upgrade phony 2019-08-31 16:49:13 -05:00
Arceliar
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