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
|
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
|
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
|
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 |
|
Arceliar
|
4b56849b08
|
fix issue with sessions dying and never being fixed
|
2019-06-10 22:09:12 -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
|
f0422dbd8b
|
Fix panic when determining if CKR is enabled
|
2019-05-30 17:33:59 +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
|
0096d1ae3e
|
Re-add ICMPv6 packet too big handling
|
2019-05-29 20:16:17 +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
|
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 |
|
Neil Alexander
|
8ef1978cb1
|
Start factoring out the admin socket into a separate module (not all functions implemented yet)
|
2019-05-19 17:27:48 +01:00 |
|
Neil Alexander
|
7ca5a2533d
|
Implement GetDHT, GetSwitchQueues, GetSessions
|
2019-05-19 16:29:04 +01:00 |
|
Neil Alexander
|
8a6f6f3b2b
|
Implement GetPeers and GetSwitchPeers API functions in Core, in preparation for breaking out the admin socket into a separate module
|
2019-05-18 17:21:02 +01:00 |
|
Neil Alexander
|
ce60609906
|
Remove wrappedConn as unnecessary
|
2019-05-18 16:16:32 +01:00 |
|
Neil Alexander
|
1b3ec0b93f
|
Fix multicast start check so that it shouldn't give up if interfaces aren't up when Yggdrasil starts (fixes #405)
|
2019-05-17 22:59:29 +01:00 |
|
Neil Alexander
|
ae2cc13d14
|
Fix configuration reloading support
|
2019-05-17 22:29:52 +01:00 |
|
Neil Alexander
|
71ccaf753e
|
Add crypto-key routing into TUN/TAP
|
2019-05-17 22:09:20 +01:00 |
|
Arceliar
|
9c01947b1c
|
reduce allocations in switch
|
2019-05-16 18:10:47 -05:00 |
|
Arceliar
|
522ed147b1
|
use the subnet derived ID/mask when creating a connection based on a subnet address, fix a potential blocking channel send in tuntap/conn.go, and get debug.go compiling well enough to profile things (the sim is currently still broken)
|
2019-05-15 18:01:26 -05:00 |
|
Arceliar
|
efdaea1b5e
|
fix some races and GetBytes/PutBytes usage, but this still seems to deadlock somewhere in iperf tests
|
2019-05-02 17:37:49 -05:00 |
|
Neil Alexander
|
5f66c4c95c
|
Try using separate workers for each TUN/TAP connection (sometimes produces duplicate packets when communicating with both the node address and a subnet address, sometimes also can't Ctrl-C to quit)
|
2019-04-28 17:14:09 +01:00 |
|
Arceliar
|
6469e39ff1
|
workaround to random timeouts
|
2019-04-26 22:42:05 -05:00 |
|
Arceliar
|
5d323861f0
|
properly fix the memory errors, it was caused by a function returning and PutBytes-ing a buffer before a worker had a chance to decrypt the buffer, so it would GetBytes the same buffer by dumb luck and then get an illegal overlap
|
2019-04-26 22:21:31 -05:00 |
|
Arceliar
|
01ea6d3d80
|
somehow this doesn't seem to deadlock or crash from buffer reuse (util.PutBytes), but I have no idea why it was doing that before and not now
|
2019-04-26 21:49:11 -05:00 |
|
Arceliar
|
15051b0a3c
|
Add deadline timers, keep searches alive until they complete (or the conn is closed) to keep Write from blocking forever
|
2019-04-26 19:31:47 -05:00 |
|
Arceliar
|
0059baf36c
|
add a newConn function that returns a pointer to a Conn with atomics properly initialized
|
2019-04-26 18:07:57 -05:00 |
|
Neil Alexander
|
75130f7735
|
Fix TAP support again
|
2019-04-23 11:46:16 +01:00 |
|
Neil Alexander
|
2b44f5d2f6
|
Fix TAP support
|
2019-04-23 11:37:32 +01:00 |
|
Neil Alexander
|
b4513ca2e8
|
Re-add support for TAP mode
|
2019-04-23 10:43:07 +01:00 |
|
Neil Alexander
|
870b2b6a2e
|
Remove CKR from src/yggdrasil (it will be moved into tuntap)
|
2019-04-23 10:28:40 +01:00 |
|
Neil Alexander
|
2bee3cd7ca
|
Update TODOs at top of tun.go
|
2019-04-23 00:04:22 +01:00 |
|