Commit Graph

239 Commits

Author SHA1 Message Date
Arceliar
0021f3463f slightly better way for the tcp sender goroutine(s) to block waiting for work 2018-06-22 20:39:57 -05:00
Neil Alexander
f68f779bee
Change box_pub_key to key in admin API 2018-06-22 22:26:17 +01:00
Arceliar
5dfa01a0e8 periodically clean up timed-out sessions and old signatures, instead of trying to do it when creating new sessions or adding new signatures 2018-06-21 20:31:30 -05:00
Arceliar
254be42614 gofmt 2018-06-21 10:39:43 -05:00
Arceliar
19014a198e randomize the delay after tcp disconnects, to prevent synchronization issues 2018-06-21 10:38:31 -05:00
Arceliar
f599a1a2c1 start the pprof based on an env variable in debug builds, otherwise remove the flag/release.go stuff 2018-06-21 10:32:16 -05:00
Arceliar
496dc94f02 possibly mitigate livelock bug where lossy links lead to constant connect/disconnect cycles due to disagreement about which of the two duplicate autoconnection attempts to use 2018-06-16 15:31:25 -05:00
Arceliar
7fe038f87e prevent parent nodes from forcing coord oscillation, have dht.handleRes clean up the old request info immediately 2018-06-14 12:32:18 -05:00
Neil Alexander
6c556da05e
Merge pull request #125 from Arceliar/cleanup
Cleanup
2018-06-14 15:26:34 +01:00
Arceliar
d9c9787611 avoid the proxy.SOCK5 connection attempt unless we're actually going to use the dialer 2018-06-14 09:21:35 -05:00
Arceliar
e8eaabf0c8 comment 2018-06-14 09:12:58 -05:00
Arceliar
57837057b7 tcp/socks cleanup 2018-06-14 09:11:34 -05:00
Arceliar
f7a7f601a0 cleanup old ugly session MTU code that only mattered with lossy UDP fragments 2018-06-14 08:38:43 -05:00
Arceliar
93ffc0b876 macos 2018-06-14 08:00:57 -05:00
Arceliar
e7fca66655 fix address/prefix code, platform specific parts still need testing 2018-06-14 07:58:07 -05:00
Arceliar
330175889e switch address range from fd00::/8 to the deprecated 0200::/7 range 2018-06-14 07:08:48 -05:00
Arceliar
cd514799da recover if p.doSend is closed due to a race between peers.doSendSwitchMsgs and peers.removePeer 2018-06-13 00:24:12 -05:00
Arceliar
b006748da4 code cleanup 2018-06-12 17:50:08 -05:00
Arceliar
9ce428af66
Merge pull request #112 from neilalexander/documentation
Adds more comments to ICMPv6 and TUN/TAP.
2018-06-12 17:11:24 -05:00
Neil Alexander
8e2c2aa977
Document ICMPv6 and TUN/TAP 2018-06-12 22:45:53 +01:00
Arceliar
24228bd381 disable unused configuration Net field and clean up comments to remove mention of UDP where no longer applicable 2018-06-12 14:00:04 -05:00
Arceliar
359af66d0d exponential dht throttle backoff, and make it based on when packets were sent as part of bootstrapping/maintenance, not when arbitrary packets were received 2018-06-12 03:16:10 -05:00
Arceliar
56802d569e minor documentation updates, code comments, and a couple of bugfixes that I noticed when going through the code to comment it 2018-06-10 18:03:28 -05:00
Arceliar
038a51fd13 it helps to add new files 2018-06-09 18:44:59 -05:00
Arceliar
72cca4ea43 version check/warning adjustments 2018-06-09 18:38:30 -05:00
Arceliar
076350f963 remove old tcp key exchange code 2018-06-09 17:49:02 -05:00
Arceliar
8733099516 add version metadata to key exchange at the start of connections 2018-06-09 17:46:19 -05:00
Arceliar
f5c850f098 better way to do wire signed ints (no negative zero, remove conditionals) 2018-06-09 16:36:13 -05:00
Arceliar
e5eb6de1f6 add inner crypto to linkProtoTraffic, using ephemeral keys, to prevent replay attacks from spoofing peer connections 2018-06-08 18:42:56 -05:00
Arceliar
1dcc60f054 check root before accepting that a message is good and unblocking a new peer 2018-06-08 17:33:16 -05:00
Arceliar
f30d040366 Merge branch 'master' of https://github.com/yggdrasil-network/yggdrasil-go into develop 2018-06-08 16:17:24 -05:00
Arceliar
495891d9e8 remove testing panics 2018-06-07 22:32:01 -05:00
Arceliar
e29f700dd6 enable multicast on interfaces that come up after startup 2018-06-07 22:07:19 -05:00
Arceliar
ea1d21f7e5 don't change dhtInfo.pings when sending a search, to prevent multiple different searches from evicting a node 2018-06-07 21:28:08 -05:00
Arceliar
bced15b138 remove TTL from traffic packets 2018-06-07 20:29:22 -05:00
Arceliar
84c13fac90 don't use TTL 2018-06-07 20:18:13 -05:00
Arceliar
fe12e1509a add a throttle to nodes in the dht. the throttle is gradually increased each time the node is pinged. it determines the minimum amount of time to wait between using the node in a bootstrapping search 2018-06-07 17:55:43 -05:00
Arceliar
ec1c173ca5 it helps to check that messages decoded correctly 2018-06-07 16:53:39 -05:00
Arceliar
bcfeb22915 more tcp debugging 2018-06-07 16:49:51 -05:00
Arceliar
63feed8dc3 adjust tcp timeout and add shadow queues to track dropped packets 2018-06-07 15:04:17 -05:00
Arceliar
c1f8baf9b5 update dht.reset() to possibly play better with coord changes 2018-06-07 14:39:43 -05:00
Arceliar
d468882147 cleanup 2018-06-07 14:24:02 -05:00
Arceliar
f8ba80e7d8 remove old switchMessage and clean up related code 2018-06-07 14:13:31 -05:00
Arceliar
00e4da28c7 use/store switchMsg in the switch instead of going through the old switchMessage 2018-06-07 13:56:11 -05:00
Arceliar
3dab94be9f keep dht peers alive 2018-06-07 10:58:24 -05:00
Arceliar
deb755e3e9 remove peer.linkIn channel and related logic 2018-06-07 00:49:06 -05:00
Arceliar
ecf37cae8a make the switch react to peer coord changes immediately, and send out updates immediately 2018-06-07 00:16:47 -05:00
Arceliar
85afe187ff remove peer timeout logic from the switch, so switch peer entrires are only removed when the peer struct is removed 2018-06-06 23:23:16 -05:00
Arceliar
3b783fbf97 move periodic switch maintenance into the router instead of its own goroutine 2018-06-06 23:10:33 -05:00
Arceliar
5dc0cb5544 move wire_encode_locator logic into getBytesForSig, since that's the only place it's used 2018-06-06 23:00:17 -05:00