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

1279 Commits

Author SHA1 Message Date
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
9e086e70f0 Don't indefinitely block TUN/TAP reader goroutine when a conn error happens 2019-05-30 12:44:47 +01:00
396c879d0f Merge pull request #425 from neilalexander/sessionmtu
Re-add ICMPv6 packet too big handling
2019-05-29 20:19:41 +01:00
0096d1ae3e Re-add ICMPv6 packet too big handling 2019-05-29 20:16:17 +01:00
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
3b6c726a3c Fix bug where MTU was ignored by sessions, resulting in default 1280 2019-05-29 19:11:12 +01:00
6b6266bfdd Merge pull request #419 from yggdrasil-network/modular
Modular Yggdrasil
2019-05-29 18:19:13 +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
e9e2d7bc6f Remove debug println 2019-05-19 22:03:20 +01:00
d575b83ec1 Refactor admin socket somewhat, allow modules to set up their own handlers 2019-05-19 22:02:04 +01:00
8ef1978cb1 Start factoring out the admin socket into a separate module (not all functions implemented yet) 2019-05-19 17:27:48 +01:00
7ca5a2533d Implement GetDHT, GetSwitchQueues, GetSessions 2019-05-19 16:29:04 +01:00
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
ce60609906 Remove wrappedConn as unnecessary 2019-05-18 16:16:32 +01:00
5b09b45572 Merge pull request #416 from fifteenthcommotion/yggdrasil-brute-simple
contribute decently fast yggdrasil address generator in C
2019-05-18 12:28:49 +01:00
080052ce04 remove ygg-brute gitignore 2019-05-18 04:25:57 -07:00
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
2df62e2b9b Remove code that translates v0.2 config options (it was commented out anyway) 2019-05-17 22:52:14 +01:00
ae2cc13d14 Fix configuration reloading support 2019-05-17 22:29:52 +01:00
71ccaf753e Add crypto-key routing into TUN/TAP 2019-05-17 22:09:20 +01:00
9c01947b1c reduce allocations in switch 2019-05-16 18:10:47 -05:00
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
5bed78c7a7 add CC0 for good measure 2019-05-12 12:40:45 -07:00
db85a11194 unlicense and spacing perfectionism 2019-05-12 02:18:03 -07:00
5a3c730097 contribute decently fast yggdrasil address generator in C 2019-05-11 16:31:46 -07:00
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
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
6469e39ff1 workaround to random timeouts 2019-04-26 22:42:05 -05:00
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
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
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
0059baf36c add a newConn function that returns a pointer to a Conn with atomics properly initialized 2019-04-26 18:07:57 -05:00
75130f7735 Fix TAP support again 2019-04-23 11:46:16 +01:00
2b44f5d2f6 Fix TAP support 2019-04-23 11:37:32 +01:00
b4513ca2e8 Re-add support for TAP mode 2019-04-23 10:43:07 +01:00
870b2b6a2e Remove CKR from src/yggdrasil (it will be moved into tuntap) 2019-04-23 10:28:40 +01:00
2bee3cd7ca Update TODOs at top of tun.go 2019-04-23 00:04:22 +01:00
d7a1c04748 It works, sort of, amazingly 2019-04-22 23:58:59 +01:00
e1a2d666bf Clean up router, tweaks 2019-04-22 23:12:13 +01:00
6e528799e9 Conn Read/Write operations will block while search completes 2019-04-22 22:38:37 +01:00
ea8948f378 TUN/TAP addr/subnet to Conn mappings, other fixes 2019-04-22 20:06:39 +01:00
9778f5d2b8 Fix search behaviour on closed Conns, various other fixes 2019-04-22 15:00:19 +01:00
bbd1246f7b Fix bug in mask generation for outbound dials, change iface reader mutexes to read-only locks unless RW is needed 2019-04-22 11:49:47 +01:00
ccf03fd3b6 Don't write huge mostly empty buffers unnecessarily 2019-04-22 11:22:40 +01:00
47eb2fc47f Break deadlock by creating session recv queue when session is created instead of repointing at search completion, also make expired atomic 2019-04-22 11:20:35 +01:00
5a02e2ff44 apparently it was these callbacks that were sometimes deadlocking things 2019-04-21 22:31:56 -05:00