1265 Commits

Author SHA1 Message Date
Arceliar
40553a6a44 make GetSessions use the session workers to avoid races 2019-06-29 18:56:26 -05:00
Arceliar
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
Arceliar
28db566b37 fix concurrency bug in iface.go 2019-06-29 18:44:24 -05:00
Arceliar
0fb1165b76
Merge pull request #445 from Arceliar/dial
more bugfixes
2019-06-29 17:48:12 -05:00
Arceliar
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
Arceliar
43bcb9e154
Merge pull request #444 from Arceliar/dial
Dial fixes
2019-06-29 16:17:47 -05:00
Arceliar
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
Arceliar
ca1f2bb0a2 add go-syslog to go.mod/go.sum 2019-06-29 12:33:00 -05:00
Arceliar
8ecf99d8a9
Merge pull request #443 from Arceliar/dial
Bugfix in dial code
2019-06-29 12:21:19 -05:00
Arceliar
784acba823 I think this fixes the concurrent map read/write panic 2019-06-29 12:14:44 -05:00
Neil Alexander
0d23342358
Merge pull request #441 from Arceliar/dial
Dial
2019-06-29 10:52:05 +01:00
Arceliar
e88bef35c0 get rid of old buffered session packets 2019-06-28 20:02:58 -05:00
Arceliar
e7cb76cea3 clean up unused old session maps 2019-06-28 19:21:44 -05:00
Arceliar
c808be514f make tunAdapter.wrap return the right thing 2019-06-28 19:11:28 -05:00
Arceliar
5df110ac79 make Dial block until the search finishes, and use it as such 2019-06-28 18:42:31 -05:00
Neil Alexander
ac8ff740ee
Merge pull request #438 from neilalexander/multicast
Try and solidify multicast interface behavior
2019-06-29 00:38:38 +01:00
Neil Alexander
721a8b5d27
Merge pull request #440 from neilalexander/logging
Add support for logging to file or syslog instead of stdout
2019-06-29 00:37:05 +01:00
Neil Alexander
23108e268b
Use go-syslog to fix builds on Windows 2019-06-29 00:32:23 +01:00
Neil Alexander
27b3b9b49b
Return new copy of interfaces on each Interfaces() call 2019-06-29 00:12:56 +01:00
Neil Alexander
93a323c62c
Add support for logging to file or syslog instead of stdout 2019-06-28 23:45:04 +01:00
Arceliar
29a0f8b572 some minor refactoring to dht callbacks and searches, work in progress 2019-06-25 19:31:29 -05:00
Neil Alexander
54f1804101
Try and solidify multicast interface behavior 2019-06-20 15:11:55 +01:00
Neil Alexander
2fd3ac6837
Merge pull request #432 from neilalexander/gatekeeper
Implement session gatekeeper functions
2019-06-13 23:41:42 +01:00
Neil Alexander
535ca06c07
Merge pull request #431 from neilalexander/defaults
Add multicast interfaces to platform-specific defaults
2019-06-13 23:41:28 +01:00
Neil Alexander
f545060e89
Add notes on isSessionAllowed checks 2019-06-13 23:37:53 +01:00
Neil Alexander
9a7d350884
Fix expressions 2019-06-11 23:48:00 +01:00
Neil Alexander
e229ad6e2b
Update comments 2019-06-11 12:52:13 +01:00
Neil Alexander
907986f200
Implement session firewall as gatekeeper func in cmd/yggdrasil 2019-06-11 12:50:01 +01:00
Neil Alexander
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
Neil Alexander
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
Neil Alexander
d4a3b2bc76
Merge pull request #429 from Arceliar/sessionfix
fix issue with sessions dying and never being fixed
2019-06-11 10:07:52 +01:00
Arceliar
4b56849b08 fix issue with sessions dying and never being fixed 2019-06-10 22:09:12 -05:00
Arceliar
cab4b5f793
Merge pull request #428 from Arceliar/readerror
Conn.Read don't return useless errors
2019-05-31 17:56:53 -05:00
Arceliar
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
Neil Alexander
7e837e97e9
Merge pull request #427 from neilalexander/ckrenabled
Fix panic when determining if CKR is enabled
2019-05-31 11:33:07 +01:00
Neil Alexander
f0422dbd8b
Fix panic when determining if CKR is enabled 2019-05-30 17:33:59 +01:00
Neil Alexander
e430d16018
Merge pull request #426 from neilalexander/errorhandle
Don't indefinitely block TUN/TAP reader goroutine after conn error
2019-05-30 12:52:35 +01:00
Neil Alexander
9e086e70f0
Don't indefinitely block TUN/TAP reader goroutine when a conn error happens 2019-05-30 12:44:47 +01:00
Neil Alexander
396c879d0f
Merge pull request #425 from neilalexander/sessionmtu
Re-add ICMPv6 packet too big handling
2019-05-29 20:19:41 +01:00
Neil Alexander
0096d1ae3e
Re-add ICMPv6 packet too big handling 2019-05-29 20:16:17 +01:00
Neil Alexander
75cc25b7f4
Merge pull request #424 from neilalexander/sessionmtu
Fix bug where MTU was ignored by sessions, resulting in default 1280
2019-05-29 19:17:10 +01:00
Neil Alexander
3b6c726a3c
Fix bug where MTU was ignored by sessions, resulting in default 1280 2019-05-29 19:11:12 +01:00
Neil Alexander
6b6266bfdd
Merge pull request #419 from yggdrasil-network/modular
Modular Yggdrasil
2019-05-29 18:19:13 +01:00
Neil Alexander
78eb40cbad
Record session uptime (purely for the admin socket) 2019-05-29 12:59:36 +01:00
Arceliar
b2513fce56 have the tunConn close things after a 2 minute timeout 2019-05-28 18:35:52 -05:00
Arceliar
5ea864869a don't spam searches for unused connections. todo: timeout old connections somehow 2019-05-23 20:27:52 -05:00
Neil Alexander
70774fc3de
Reimplement get/setTunnelRouting, add/removeSourceSubnet, add/removeRoute, getRoutes, getSourceSubnets, make CKR threadsafe 2019-05-20 21:45:33 +01:00
Neil Alexander
5b8d8a9341
Reimplement getNodeInfo, dhtPing, get/add/removeAllowedEncryptionPublicKey, add/removePeer 2019-05-20 19:51:44 +01:00
Neil Alexander
e9e2d7bc6f
Remove debug println 2019-05-19 22:03:20 +01:00
Neil Alexander
d575b83ec1
Refactor admin socket somewhat, allow modules to set up their own handlers 2019-05-19 22:02:04 +01:00