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

1121 Commits

Author SHA1 Message Date
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
Neil Alexander
dd05a7f2a8 Tweaks 2019-03-28 19:09:19 +00:00
Neil Alexander
fd0b614f9c Temporarily disable debug CircleCI builds as I don't know how badly I've broken the sim with this PR 2019-03-28 18:03:14 +00:00
Neil Alexander
7ea4e9575e Break out multicast into a separate package 2019-03-28 16:13:14 +00:00
Neil Alexander
03bc7bbcd6 Fix TUN/TAP for non-Darwin platforms 2019-03-28 15:32:01 +00:00
Neil Alexander
eb22ed44ac Add new reject channel to router so we can send back rejected packets to adapter (e.g. for ICMPv6 Packet Too Big), implement ICMPv6 PTB in TUN/TAP instead of router 2019-03-28 09:50:13 +00:00
Neil Alexander
0715e829c2 Fix adapter setup and no longer panics on packets shorter than IP header 2019-03-28 09:12:00 +00:00
Neil Alexander
0b494a8255 Refactoring: move tuntap and icmpv6 into separate package 2019-03-28 00:30:25 +00:00
Neil Alexander
5bacfabae7 Handle cases where link-local addresses may disappear or change 2019-03-13 17:43:33 +00:00
Neil Alexander
41872820c3 Remove isAutoconf option to GenerateConfig 2019-03-12 19:18:43 +00:00
Neil Alexander
4062c93e18 Re-order config, update default Listen 2019-03-12 19:04:30 +00:00
Neil Alexander
830be7f4db Update comments again 2019-03-12 16:06:12 +00:00
Neil Alexander
dc3a05f13a Correctly classify link-local addresses in the TCP handler, fix AllowedPublicEncryptionKeys warning 2019-03-12 16:03:02 +00:00
Neil Alexander
c388885a92 Update config comments for AllowedEncryptionPublicKeys 2019-03-12 15:29:42 +00:00
Neil Alexander
229de91a3a Fix AllowedEncryptionPublicKeys so that it works in incoming connections and not outgoing ones 2019-03-12 15:01:27 +00:00