Neil Alexander
|
2b6462c8a9
|
Strict checking of Yggdrasil source/destination addresses
|
2019-08-20 09:38:27 +01:00 |
|
Neil Alexander
|
2a629880fd
|
Rename crypto-key config options, improve control flow
|
2019-08-19 10:28:30 +01:00 |
|
Neil Alexander
|
4702da2bcb
|
Use new netlink library (fixes #493)
|
2019-08-14 19:32:40 +01:00 |
|
Arceliar
|
790524bd1c
|
copy/paste old flowkey logic into a util function, add a struct of key and packet, make WriteNoCopy accept this instead of a slice
|
2019-08-06 19:25:55 -05:00 |
|
Arceliar
|
6803f209b0
|
have tuntap code use Conn.ReadNoCopy and Conn.WriteNoCopy to avoid copying between slices
|
2019-08-04 15:59:51 -05:00 |
|
Arceliar
|
75b931f37e
|
eliminate some more copying between slices
|
2019-08-04 14:50:19 -05:00 |
|
Arceliar
|
7bf5884ac1
|
remove some lossy channel sends that should be safe to allow to block
|
2019-08-04 02:14:45 -05:00 |
|
Neil Alexander
|
853054eb62
|
Merge pull request #475 from Arceliar/misc
Misc
|
2019-07-29 20:24:49 +01:00 |
|
Arceliar
|
406e143f7f
|
move some logic from TunAdapter.reader into a new function, TunAdapter.readerPacketHandler
|
2019-07-28 23:33:04 -05:00 |
|
Neil Alexander
|
7c4c1558ff
|
Merge pull request #474 from neilalexander/gomobile
Various API changes and simplifications to fix mobile builds
|
2019-07-28 19:34:06 +01:00 |
|
Arceliar
|
38e1503b28
|
split up some of the tun reader logic into a separate worker, so the main loop can be mostly just syscalls
|
2019-07-27 20:09:43 -05:00 |
|
Neil Alexander
|
de1005e4fa
|
Various API changes and simplifications to fix mobile builds
|
2019-07-27 15:00:09 +01:00 |
|
Neil Alexander
|
195d577151
|
Add IFF_NODAD/IFF_SECURED, define consts
|
2019-07-27 13:30:47 +01:00 |
|
Neil Alexander
|
de9d0a6cf1
|
Redirect Conn session closure errors to debug channel
|
2019-07-22 22:41:55 +01:00 |
|
Neil Alexander
|
48ad3c5d7f
|
Update water go.mod references, fix some bugs in TAP mode (which should hopefully fix Windows support too)
|
2019-07-20 16:13:54 +01:00 |
|
Neil Alexander
|
36201895e7
|
Don't mangle bs slice in TAP mode
|
2019-07-20 12:10:05 +01:00 |
|
Neil Alexander
|
2582df752d
|
Fix resetting Windows adapter (reverting previous change)
|
2019-07-20 11:43:30 +01:00 |
|
Neil Alexander
|
1a5c2a4942
|
Update Windows module a bit - capture TAP setup errors earlier, refer to newer version of water which should fix #456
|
2019-07-19 22:21:30 +01:00 |
|
Neil Alexander
|
06330f503f
|
Recover if stillAlive fails
|
2019-07-18 00:02:16 +01:00 |
|
Neil Alexander
|
311c612f2e
|
Only flag stillAlive on successful write
|
2019-07-17 23:23:19 +01:00 |
|
Neil Alexander
|
307b24d8cb
|
Fix Conn.Read/Conn.Write behavior after Conn.Close, get rid of second TUN/TAP conn reader goroutine, no longer use deadlines
|
2019-07-17 21:42:17 +01:00 |
|
Neil Alexander
|
1bf1c6eb36
|
Revert "Remove stillAlive code from TUN/TAP conn as it is no longer required with the new deadlines"
This reverts commit eec70bf2f22028a1cae5fe60f8a89dfbb84bc1b0.
|
2019-07-17 19:43:29 +01:00 |
|
Neil Alexander
|
eec70bf2f2
|
Remove stillAlive code from TUN/TAP conn as it is no longer required with the new deadlines
|
2019-07-17 13:53:16 +01:00 |
|
Neil Alexander
|
7d1c03d2ac
|
Only call stillAlive if channel read succeeds
|
2019-07-17 12:07:16 +01:00 |
|
Neil Alexander
|
747b50bb7c
|
Try to improve handling of timeouts
|
2019-07-17 11:13:53 +01:00 |
|
Neil Alexander
|
d34600b5f9
|
Try to fix TUN/TAP conn reader leakage
|
2019-07-17 10:12:10 +01:00 |
|
Neil Alexander
|
30c03369cd
|
Try to fix CKR setup deadlock, fix some Windows output formatting
|
2019-07-06 20:08:32 +01:00 |
|
Neil Alexander
|
a10c141896
|
Fix data race on peermacs
|
2019-07-06 15:15:43 +01:00 |
|
Neil Alexander
|
e8272926a4
|
Fix TAP mode
|
2019-07-06 15:08:17 +01:00 |
|
Neil Alexander
|
12486b0557
|
Try to more gracefully handle shutdowns on Windows
|
2019-07-06 11:52:30 +01:00 |
|
Arceliar
|
28db566b37
|
fix concurrency bug in iface.go
|
2019-06-29 18:44:24 -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
|
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 |
|
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
|
d575b83ec1
|
Refactor admin socket somewhat, allow modules to set up their own handlers
|
2019-05-19 22:02:04 +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
|
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
|
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
|
2bee3cd7ca
|
Update TODOs at top of tun.go
|
2019-04-23 00:04:22 +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
|
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 |
|
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
|
350b51cabb
|
TUN/TAP now uses config, log, etc from adapter.go
|
2019-04-01 20:10:14 +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
|
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
|
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 |
|