Neil Alexander
|
baebaabc43
|
Fix typo
|
2019-11-22 20:16:24 +00:00 |
|
Neil Alexander
|
3a0870a448
|
Fix IfName 'auto' behaviour on Windows
|
2019-11-22 20:11:39 +00:00 |
|
Neil Alexander
|
7d00206f4b
|
Update platform defaults, handling of 'auto' on Linux/Darwin
|
2019-11-22 20:07:08 +00:00 |
|
Neil Alexander
|
b27ada9191
|
Fix bad Name() calls
|
2019-11-22 18:39:27 +00:00 |
|
Neil Alexander
|
235b64345e
|
Configure addresses and MTUs, fix bugs
|
2019-11-22 18:34:43 +00:00 |
|
Neil Alexander
|
f5517acc81
|
Drop Water, use Wireguard tun library, drop TAP support
|
2019-11-22 16:43:50 +00:00 |
|
Neil Alexander
|
7c18c6806d
|
Further updates, notify sessions about updated MTU from API call
|
2019-11-21 09:54:36 +00:00 |
|
Neil Alexander
|
e90be6f569
|
Add API functions for manipulating maximum session MTU, fix TUN/TAP to use that
|
2019-11-21 00:02:39 +00:00 |
|
Neil Alexander
|
d06c40ad19
|
Use existing constant
|
2019-11-20 22:40:48 +00:00 |
|
Neil Alexander
|
9fca3640f9
|
Fix couple of issues with MTU calculations
|
2019-11-20 22:11:52 +00:00 |
|
Neil Alexander
|
f49d9de421
|
Fix setting up of MTU when value is outside of acceptable bounds, also account for ethernet headers in calculations, notify about clipping to stdout
|
2019-11-19 14:20:11 +00:00 |
|
Neil Alexander
|
cd93969930
|
Fix isOpen for TUN/TAP actor
|
2019-10-24 23:37:39 +01:00 |
|
Neil Alexander
|
a072e063d8
|
Define module.Module interface, update admin/tuntap/multicast modules to comply with it, fix #581
|
2019-10-23 10:44:58 +01:00 |
|
Arceliar
|
eccd9a348f
|
give yggdrasil.Dialer the same interface as a net.Dialer, so the only differences are what fields exist in the struct
|
2019-10-21 19:44:06 -05:00 |
|
Arceliar
|
efc0b9ef9f
|
Merge branch 'develop' into netconn
|
2019-10-21 18:47:40 -05:00 |
|
Arceliar
|
a81476f489
|
fix incorrectly held mutex in ckr getPublicKeyForAddress
|
2019-10-20 20:00:55 -05:00 |
|
Arceliar
|
cb40874f97
|
have listener return a net.Conn, adjust yggdrasil.Conn to match this interface
|
2019-10-19 15:10:28 -05:00 |
|
Arceliar
|
b2922189b8
|
fix deadlock from use of phony.Block by actors when ckr is enabled
|
2019-10-03 18:44:47 -05:00 |
|
Arceliar
|
0f99d590a1
|
typo, ipv6->ipv4
|
2019-09-26 18:15:26 -05:00 |
|
Arceliar
|
e16d3efb0a
|
check packet length before checking if it's an ipv6 packet, and add some trace level logging whenever a packet is rejected for being too short to parse
|
2019-09-26 18:11:58 -05:00 |
|
Neil Alexander
|
94cf2854a9
|
Fix panic where slice goes out of bounds because iface.Read returns less than zero (which might happen when the TUN/TAP interface is closed)
|
2019-09-18 19:48:53 +01:00 |
|
Arceliar
|
8d2c31d39c
|
add some artifical delay to windows netsh commands, since it seems like maybe they don't take effect immediately, and this was leading to races when setting MTU
|
2019-09-01 13:20:48 -05:00 |
|
Arceliar
|
c53831696b
|
make tun stop check that iface is not nil, in case it wasn't set for some reason (windows bugs)
|
2019-09-01 13:06:25 -05:00 |
|
Neil Alexander
|
fc9a1c6c31
|
Simplify reconfiguration
|
2019-08-28 19:31:04 +01:00 |
|
Neil Alexander
|
5d7d84f827
|
Remove router.doAdmin and switchTable.doAdmin
|
2019-08-28 12:17:19 +01:00 |
|
Arceliar
|
3845f81357
|
update to latest phony, adjust interface use accordingly
|
2019-08-27 19:43:54 -05:00 |
|
Arceliar
|
c97dd4ad28
|
fix dial bug
|
2019-08-26 00:38:14 -05:00 |
|
Arceliar
|
b2a2e251ad
|
more TunAdapter migration
|
2019-08-25 18:53:11 -05:00 |
|
Arceliar
|
aaf34c6304
|
start migrating the TunAdapter to the actor model
|
2019-08-25 18:08:43 -05:00 |
|
Arceliar
|
502f2937a9
|
a couple race fixes and use timer.AfterFunc instead of sleeping goroutines or ticker in a few places
|
2019-08-25 17:00:02 -05:00 |
|
Arceliar
|
aa30c6cc98
|
upgrade phony dependency and switch to its new interface
|
2019-08-25 10:36:09 -05:00 |
|
Arceliar
|
ef15a6bd79
|
tunConn cleanup
|
2019-08-24 11:44:21 -05:00 |
|
Arceliar
|
4893a07696
|
start migrating tunConn to the actor model
|
2019-08-24 11:38:47 -05:00 |
|
Arceliar
|
4156aa3003
|
move ckr checks into the tunConn code
|
2019-08-20 18:10:08 -05:00 |
|
Neil Alexander
|
b6e67bc0ba
|
Check CKR remotes when receiving traffic
|
2019-08-20 09:38:46 +01:00 |
|
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 eec70bf2f2 .
|
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 |
|