Commit Graph

305 Commits

Author SHA1 Message Date
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
Neil Alexander
7a0b48ffb3 Clean up session.go 2018-02-12 00:01:15 +00:00
Neil Alexander
11a7c5c458 Exchange MTU on wire 2018-02-11 23:58:30 +00:00
Neil Alexander
536974f20c Try to exchange MTUs when creating sessions 2018-02-11 23:09:05 +00:00
Arceliar
38567fffef
Merge pull request #12 from neilalexander/iftapmode
Add configuration option for TAP mode
2018-02-11 15:52:00 -06:00
Neil Alexander
e9bd98d213 Add "IfTAPMode" configuration option to allow selecting TAP mode on supported platforms 2018-02-11 21:45:44 +00:00
Arceliar
ec6d749b59
Merge pull request #11 from Arceliar/bigmtu
Enable TCP support, switch to it by default, and increase MTU to 65535
2018-02-11 13:34:10 -06:00
Arceliar
869997e4c5 gofmt 2018-02-09 18:50:03 -06:00
Arceliar
d424489329 add tcp support and use it by default 2018-02-09 17:42:55 -06:00
Arceliar
4acce71468 Merge branch 'master' into bigmtu 2018-02-07 17:49:04 -06:00
Arceliar
e9adf327b0 possibly fix deadlock from race in peer linkloop goroutine, add some related debug code to the admin 2018-02-07 17:48:30 -06:00
Arceliar
b704d7b497 change mtu and enable udp chunking 2018-02-04 11:25:20 -06:00
Arceliar
63aadf6e88 use smaller buffer sizes for buffered channels 2018-02-03 18:44:28 -06:00
Arceliar
80a45b3859 let the TCP version cheat with MTU 2018-02-03 14:14:35 -06:00
Arceliar
6dfceca433 get the tcp version compiling again 2018-02-03 12:25:02 -06:00
Arceliar
4430ba8520 add travis-ci status to readme (untested, hope this works) 2018-02-02 19:38:55 -06:00