Commit Graph

720 Commits

Author SHA1 Message Date
Neil Alexander
f8dda26dba Add BSD support (openbsd, freebsd, solaris) 2018-03-01 11:49:49 +00:00
Neil Alexander
ebc4eacee4 Allow sane defaults on setTunTap 2018-02-28 15:27:58 +00:00
Neil Alexander
fdd32b9571 Add setTunTap 2018-02-28 15:15:57 +00:00
Neil Alexander
2b48fd1fce Add addPeer to admin socket 2018-02-28 13:43:06 +00:00
Arceliar
ddc4773b19 don't drop send/recv traffic going through the crypto workers, just block until they're free (TODO run further tests to make sure this doesn't cycle/deadlock) 2018-02-26 18:12:28 -06:00
Arceliar
e113b8d530 incrase max MTU 2018-02-25 21:56:09 -06:00
Arceliar
33c9f74f48
Merge pull request #22 from Arceliar/udp_mtu_fix
Mostly working PMTU discovery when going over UDP links
2018-02-25 20:43:10 -06:00
Arceliar
63b55cda62 Mostly working PMTU discovery when going over UDP links 2018-02-25 20:24:36 -06:00
Arceliar
0fae932512
Merge pull request #21 from Arceliar/testing
Breaking wire format cleanup and other updates
2018-02-23 17:10:45 -06:00
Arceliar
0470f6f1c1 cleanup 2018-02-23 13:04:52 -06:00
Arceliar
bb3ae8b39b temporarily limit PMTU to 2048, as a workaround to some pathelogical behavior where a TCP stream carried over a UDP peer can throttle down to 0 in the presence of significant packet loss 2018-02-23 12:46:22 -06:00
Arceliar
b4ea98862b
Merge pull request #20 from neilalexander/multithreadgenkeys
Multithread misc/genkeys.go
2018-02-21 12:03:28 -06:00
Neil Alexander
7101e147f4 Multithread misc/genkeys.go 2018-02-21 15:57:03 +00:00
Arceliar
d3dc7765f2 trying to debug UDP+large MTU issues 2018-02-20 17:31:12 -06:00
Arceliar
a81c361484 tcp reconnect bufix, test with bufio, and switch back to tcp auto-peering by default to continue testing 2018-02-19 23:22:36 -06:00
Arceliar
a21a039b57 remove unused field from peer 2018-02-19 19:47:11 -06:00
Arceliar
4045597516 Use larger UDP chunks for link-local IP and let the OS fragment it. Switch to UDP for link-local peers. Minor code cleanup for TCP. 2018-02-19 19:34:51 -06:00
Arceliar
8c7d514032 Merge branch 'master' into testing 2018-02-19 18:36:06 -06:00
Arceliar
4f710ac2da bash -> sh 2018-02-18 16:07:27 -06:00
Arceliar
a1afebc0df
Merge pull request #19 from neilalexander/sigterm
Catch SIGTERM and Windows service termination
2018-02-18 15:35:47 -06:00
Neil Alexander
aef62afb1b gofmt -s -w yggdrasil.go 2018-02-18 21:32:55 +00:00
Neil Alexander
0176d25235 Catch SIGTERM instead of (impossible to capture) SIGKILL, also capture Windows service termination 2018-02-18 21:16:47 +00:00
Arceliar
71150fcb86 ignore root tstamp updates if we just updated, to throttle the rate at which updates (and new signatures) can propagate 2018-02-17 23:57:24 -06:00
Arceliar
a66a29779a Slightly nicer way to throttle peer announcements 2018-02-17 23:41:42 -06:00
Arceliar
0fc7401635 check root before adding peers to the switch lookupTable, instead of during each lookup 2018-02-17 23:14:23 -06:00
Arceliar
430d49d8a4 send fewer link announcements, fix a ttl encoding bug, and remove unnecessary key field from the wire format for dht req/res 2018-02-17 21:59:08 -06:00
Arceliar
8ba11b86bb remove duplicate tcp connections 2018-02-17 20:44:23 -06:00
Arceliar
25f00c1c7a disable keys in link protocol traffic, since these are already known, *breaks backwards compat* 2018-02-17 20:30:59 -06:00
Arceliar
c0579024c0
Merge pull request #18 from Arceliar/rumormill
Add a rumor mill to throttle dht maintenance traffic
2018-02-17 17:25:51 -06:00
Arceliar
da44ec282f Add a rumor mill to throttle dht maintenance traffic 2018-02-17 17:10:08 -06:00
Arceliar
032ad3a162
Merge pull request #17 from neilalexander/windowssvc
Add support for running Yggdrasil as a Windows service
2018-02-16 11:56:05 -06:00
Neil Alexander
b57491656b Fix .travis.yml for these builds 2018-02-16 14:21:57 +00:00
Neil Alexander
d02250c94d Update README.md for Linux/systemd too 2018-02-16 14:19:26 +00:00
Neil Alexander
c453770b85 Add support for running Yggdrasil as a Windows service (using minwinsvc) 2018-02-16 14:12:44 +00:00
Arceliar
8a12a88447
Merge pull request #16 from neilalexander/notuntap
Allow setting IfName to 'none' to run without TUN/TAP
2018-02-16 00:31:50 -06:00
Neil Alexander
02473158d4 Allow setting IfName to 'none' to run without TUN/TAP 2018-02-15 22:29:13 +00:00
Arceliar
120ce8bd2f
Merge pull request #15 from neilalexander/packettoobig
Implement Path MTU Discovery using session MTU
2018-02-15 12:59:46 -06:00
Neil Alexander
366d2af1d3 Fix first queued packet on session pcreation 2018-02-15 18:02:08 +00:00
Neil Alexander
1c59338f01 Fix checksums and packet buffers, sends ICMPv6 Packet Too Big messages successfully now 2018-02-15 13:38:54 +00:00
Neil Alexander
37e4492b86 Send ICMPv6 response to packets larger than session MTU (WIP: checksum wrong?) 2018-02-14 22:59:24 +00:00
Arceliar
a3a9696880
Merge pull request #14 from neilalexander/icmpv6
Replace ndp.go with icmpv6.go
2018-02-14 11:16:24 -06:00
Arceliar
f6bdbda5c3
Merge pull request #13 from neilalexander/exchangemtu
Include endpoint MTU in session pings
2018-02-14 11:16:09 -06:00
Neil Alexander
844212e95b Highlight packets that exceed the agreed session MTU 2018-02-14 14:08:40 +00:00
Neil Alexander
9fb45d77fc Add "IfMTU" configuration option to allow selecting TUN/TAP MTU 2018-02-14 12:53:32 +00:00
Neil Alexander
34b264067e Run gofmt -s -w . 2018-02-14 11:46:10 +00:00
Neil Alexander
0bf43b758f Split create_icmpv6 into create_icmpv6_tun and create_icmpv6_tap 2018-02-14 11:39:55 +00:00
Neil Alexander
d78e0f7067 Improve icmpv6.go
- Now doesn't use unsafe
- Much cleaner
- Doesn't run in a goroutine perpetually
- Has a function to create ICMPv6 packets
2018-02-14 11:23:46 +00:00
Neil Alexander
6571a8c300 Don't use channels for ICMPv6 packets 2018-02-12 20:00:55 +00:00
Neil Alexander
fac4bf796e Add some error handling and other fixes to icmpv6.go 2018-02-12 19:40:13 +00:00
Neil Alexander
be0d6feeba Remove ndp.go and add icmpv6.go 2018-02-12 18:19:31 +00:00