4
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2025-06-14 18:36:07 +00:00
Commit Graph

951 Commits

Author SHA1 Message Date
307b24d8cb Fix Conn.Read/Conn.Write behavior after Conn.Close, get rid of second TUN/TAP conn reader goroutine, no longer use deadlines 2019-07-17 21:42:17 +01:00
1bf1c6eb36 Revert "Remove stillAlive code from TUN/TAP conn as it is no longer required with the new deadlines"
This reverts commit eec70bf2f2.
2019-07-17 19:43:29 +01:00
eec70bf2f2 Remove stillAlive code from TUN/TAP conn as it is no longer required with the new deadlines 2019-07-17 13:53:16 +01:00
7d1c03d2ac Only call stillAlive if channel read succeeds 2019-07-17 12:07:16 +01:00
747b50bb7c Try to improve handling of timeouts 2019-07-17 11:13:53 +01:00
d34600b5f9 Try to fix TUN/TAP conn reader leakage 2019-07-17 10:12:10 +01:00
145a43e5f0 Fix #413 by always generating public keys from private ones instead of trusting public keys supplied by config 2019-07-16 09:49:28 +01:00
ea9d5db16d Make admin socket output a bit friendlier (fixes #385) 2019-07-07 19:41:53 +01:00
30c03369cd Try to fix CKR setup deadlock, fix some Windows output formatting 2019-07-06 20:08:32 +01:00
a10c141896 Fix data race on peermacs 2019-07-06 15:15:43 +01:00
e8272926a4 Fix TAP mode 2019-07-06 15:08:17 +01:00
618d46a7b3 Don't block on adding peers in case one is unreachable and we are forced to wait for timeout 2019-07-06 12:12:30 +01:00
12486b0557 Try to more gracefully handle shutdowns on Windows 2019-07-06 11:52:30 +01:00
86c30a1fc4 fix another panic from a send on a closed session worker channel, from races between Conn.Read/Write/Close 2019-07-01 18:55:07 -05:00
cd29fde178 temporary workaround to concurrency bug in sessions.getSharedKey 2019-06-29 19:32:15 -05:00
fbe44ea973 fix bug in session api code 2019-06-29 19:25:34 -05:00
40553a6a44 make GetSessions use the session workers to avoid races 2019-06-29 18:56:26 -05:00
d39428735d recover if we try to send to a closed session worker due to a race between a Conn.Write call and a Conn.Close call 2019-06-29 18:50:21 -05:00
28db566b37 fix concurrency bug in iface.go 2019-06-29 18:44:24 -05:00
7d58a7ef3e fix channel multiple close bug and concurrency bug in the way sessionInfo.close was being called 2019-06-29 17:44:28 -05:00
818eca90db fix nil pointer deref if searches fail, block dial until a search exceeds or a timeout passes (todo: replace timer with context) 2019-06-29 16:10:02 -05:00
8ecf99d8a9 Merge pull request #443 from Arceliar/dial
Bugfix in dial code
2019-06-29 12:21:19 -05:00
784acba823 I think this fixes the concurrent map read/write panic 2019-06-29 12:14:44 -05:00
0d23342358 Merge pull request #441 from Arceliar/dial
Dial
2019-06-29 10:52:05 +01:00
e88bef35c0 get rid of old buffered session packets 2019-06-28 20:02:58 -05:00
e7cb76cea3 clean up unused old session maps 2019-06-28 19:21:44 -05:00
c808be514f make tunAdapter.wrap return the right thing 2019-06-28 19:11:28 -05:00
5df110ac79 make Dial block until the search finishes, and use it as such 2019-06-28 18:42:31 -05:00
ac8ff740ee Merge pull request #438 from neilalexander/multicast
Try and solidify multicast interface behavior
2019-06-29 00:38:38 +01:00
27b3b9b49b Return new copy of interfaces on each Interfaces() call 2019-06-29 00:12:56 +01:00
93a323c62c Add support for logging to file or syslog instead of stdout 2019-06-28 23:45:04 +01:00
29a0f8b572 some minor refactoring to dht callbacks and searches, work in progress 2019-06-25 19:31:29 -05:00
54f1804101 Try and solidify multicast interface behavior 2019-06-20 15:11:55 +01:00
2fd3ac6837 Merge pull request #432 from neilalexander/gatekeeper
Implement session gatekeeper functions
2019-06-13 23:41:42 +01:00
f545060e89 Add notes on isSessionAllowed checks 2019-06-13 23:37:53 +01:00
9a7d350884 Fix expressions 2019-06-11 23:48:00 +01:00
e229ad6e2b Update comments 2019-06-11 12:52:13 +01:00
720a078a35 Add SetSessionGatekeeper
This allows you to define a function which determines whether a session connection (either incoming or outgoing) is allowed based on the public key.
2019-06-11 10:52:21 +01:00
17175b49f2 Add multicast interfaces to platform-specific defaults (this makes it easier to avoid bringing AWDL up by default on macOS as an example, or over L2 VPNs when not expected) 2019-06-11 10:18:59 +01:00
4b56849b08 fix issue with sessions dying and never being fixed 2019-06-10 22:09:12 -05:00
1addf08ccd don't have Conn.Read return an error for temorary crypto failures from e.g. out of order packets, just drop the packet and keep blocking until there's usable traffic 2019-05-31 17:51:01 -05:00
f0422dbd8b Fix panic when determining if CKR is enabled 2019-05-30 17:33:59 +01:00
9e086e70f0 Don't indefinitely block TUN/TAP reader goroutine when a conn error happens 2019-05-30 12:44:47 +01:00
0096d1ae3e Re-add ICMPv6 packet too big handling 2019-05-29 20:16:17 +01:00
3b6c726a3c Fix bug where MTU was ignored by sessions, resulting in default 1280 2019-05-29 19:11:12 +01:00
78eb40cbad Record session uptime (purely for the admin socket) 2019-05-29 12:59:36 +01:00
b2513fce56 have the tunConn close things after a 2 minute timeout 2019-05-28 18:35:52 -05:00
5ea864869a don't spam searches for unused connections. todo: timeout old connections somehow 2019-05-23 20:27:52 -05:00
70774fc3de Reimplement get/setTunnelRouting, add/removeSourceSubnet, add/removeRoute, getRoutes, getSourceSubnets, make CKR threadsafe 2019-05-20 21:45:33 +01:00
5b8d8a9341 Reimplement getNodeInfo, dhtPing, get/add/removeAllowedEncryptionPublicKey, add/removePeer 2019-05-20 19:51:44 +01:00