4
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2025-07-27 06:24:15 +00:00
Commit Graph

1235 Commits

Author SHA1 Message Date
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
Neil Alexander
d7a1c04748 It works, sort of, amazingly 2019-04-22 23:58:59 +01:00
Neil Alexander
e1a2d666bf Clean up router, tweaks 2019-04-22 23:12:13 +01:00
Neil Alexander
6e528799e9 Conn Read/Write operations will block while search completes 2019-04-22 22:38:37 +01:00
Neil Alexander
ea8948f378 TUN/TAP addr/subnet to Conn mappings, other fixes 2019-04-22 20:06:39 +01:00
Neil Alexander
9778f5d2b8 Fix search behaviour on closed Conns, various other fixes 2019-04-22 15:00:19 +01:00
Neil Alexander
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
Neil Alexander
ccf03fd3b6 Don't write huge mostly empty buffers unnecessarily 2019-04-22 11:22:40 +01:00
Neil Alexander
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
Arceliar
5a02e2ff44 apparently it was these callbacks that were sometimes deadlocking things 2019-04-21 22:31:56 -05:00
Arceliar
9ce7fe2e3f fix tun/tap CIDR notation so things work on linux, may break other platforms for all I know 2019-04-21 20:56:12 -05:00
Arceliar
5dada3952c use a session worker to try to avoid mutex hell. compiles, but incomplete and doesn't work yet 2019-04-21 20:38:14 -05:00
Neil Alexander
0b8f5b5dda Tweaks 2019-04-21 12:28:46 +01:00
Neil Alexander
781cd7571f Fix race on tun conns, but still deadlocks if more than one connection is opened 2019-04-21 12:00:31 +01:00
Neil Alexander
79bcfbf175 Change some mutexes to atomics, change conns map to pointers, sort of works but seems to deadlock very easily 2019-04-21 11:50:41 +01:00
Neil Alexander
62621f2960 Some tweaks 2019-04-20 20:22:58 +01:00
Neil Alexander
d01662c1fb Try to convert TUN/TAP to use new yggdrasil.Conn, search masks are still broken 2019-04-20 16:32:27 +01:00
Neil Alexander
f3e742a297 Squash a whole load of races (and mutex half the world) 2019-04-20 11:53:38 +01:00
Neil Alexander
24281d4049 Fix Read, update sample 2019-04-19 23:47:11 +01:00
Neil Alexander
e31b914e38 Improve errors and handling of expired sessions 2019-04-19 23:30:43 +01:00
Neil Alexander
7e726b0afb Listener should clean up a bit more when closing 2019-04-19 23:04:09 +01:00
Neil Alexander
aac88adbed Listen-Accept-Read-Write pattern now works, amazingly 2019-04-19 22:57:52 +01:00
Neil Alexander
27b78b925d Move mutexes around 2019-04-19 21:23:15 +01:00
Neil Alexander
e3eadba4b7 Protect session nonces with mutexes, modify sent/received bytes atomically 2019-04-19 20:10:41 +01:00
Neil Alexander
ade684beff Signal when a session is closed, other tweaks 2019-04-19 10:55:15 +01:00
Neil Alexander
c593721362 Tweaks 2019-04-19 00:33:54 +01:00
Neil Alexander
b20c8b6da5 Move some things around a bit, delete session workers 2019-04-19 00:11:43 +01:00
Neil Alexander
b2f4f2e1b6 Update errors, update Write 2019-04-19 00:07:26 +01:00
Neil Alexander
160e01e84f Searches called from api.go, various other tweaks, searches now have a callback for success/failure, node ID now reported by admin socket 2019-04-18 23:38:23 +01:00
Neil Alexander
eef2a02d0a Experiment with new API 2019-04-18 16:38:24 +01:00
Neil Alexander
24fa8355f1 Merge pull request #401 from neilalexander/modular
Refactoring for Yggdrasil library
2019-04-17 18:35:10 +01:00
Neil Alexander
9bc24f8dbf Return both current and previous config when replacing 2019-04-15 22:00:38 +01:00
cathugger
4488189a75 wire: cleaner and faster wire_intToUint and wire_intFromUint
Bit operations are much faster on most processors than multiplication.
Also specify that it's zigzag to ease finding additional documentation for it.
2019-04-06 21:34:47 +03:00
Neil Alexander
2e72c7c93d Fix mobile logging 2019-04-01 22:45:30 +01:00
Neil Alexander
90feae6a7d Comment out AWDL (doesn't work in iOS properly) and move out of main package 2019-04-01 20:12:39 +01:00
Neil Alexander
350b51cabb TUN/TAP now uses config, log, etc from adapter.go 2019-04-01 20:10:14 +01:00
Neil Alexander
58f5cc88d0 Fix session bug, fix dummy adapter, fix mobile framework builds 2019-04-01 19:59:50 +01:00
Neil Alexander
047717abf2 Break out mobile and dummy adapter 2019-04-01 18:02:06 +01:00
Neil Alexander
39baf7365c Unexport/modify some interfaces to revive broken iOS/Android builds 2019-03-30 00:09:35 +00:00
Neil Alexander
4c0c3a23cb Fix bugs 2019-03-29 18:24:57 +00:00
Neil Alexander
f19a4e4398 More godoc improvements 2019-03-29 18:18:31 +00:00
Neil Alexander
b5ac65cacb Rearrange public interface, godoc improvements 2019-03-29 18:05:17 +00:00
Neil Alexander
399e1a2ffe Make AddPeer remember added peer (as opposed to CallPeer which does not) 2019-03-29 08:58:30 +00:00
Neil Alexander
a830521078 Don't crash if Yggdrasil is started with no router adapter 2019-03-29 08:38:09 +00:00