Commit Graph

55 Commits

Author SHA1 Message Date
Arceliar
abd8b69979 send a switch message immediately when peering, and use OS-level TCP keep-alive (shouldn't matter right now, since we have application-level keep-alive that preempts it, but important later) 2018-12-14 18:15:35 -06:00
Arceliar
9046dbde4f remove sigManager, it seems safer to just burn the CPU than to store a map of strings of potentially arbitrary length 2018-11-25 13:06:54 -06:00
Arceliar
4e156bd4f7 better cleanup of maps 2018-11-25 12:25:38 -06:00
Neil Alexander
fc5a5830aa
Merge pull request #203 from Arceliar/chord
Chord
2018-11-14 20:13:42 +00:00
Arceliar
5e3959f1d0 yet more debugging 2018-10-21 17:40:43 -05:00
Neil Alexander
aab0502a4a
Remove friendlyname traces, preserve endpoints 2018-10-21 23:20:14 +01:00
Arceliar
efe6cec11a more debugging, trying to understand bootstrap issues 2018-10-21 12:28:21 -05:00
Neil Alexander
b809adf981
Add FriendlyName option, show friendly name and real endpoint in admin socket/yggdrasilctl 2018-10-21 17:57:48 +01:00
Arceliar
6c59ae862a more debugging 2018-10-21 00:05:04 -05:00
Arceliar
ba8af20817
Merge pull request #187 from neilalexander/sessionfirewall
Add session firewall
2018-10-08 18:41:15 -05:00
Neil Alexander
1d00131416
Hopefully fix a concurrent map read-write when removing peers 2018-10-08 22:09:55 +01:00
Neil Alexander
2e2c58bfef
Add session firewall (extra security for controlling traffic flow to/from a given node) 2018-10-07 17:13:41 +01:00
Arceliar
4b83efa218 more backpressure work, still needs testing 2018-06-23 21:51:32 -05:00
Arceliar
988f4ad265 add a dedicated switch worker and start using it for lookups 2018-06-23 19:08:32 -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
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
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
495891d9e8 remove testing panics 2018-06-07 22:32:01 -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
ec1c173ca5 it helps to check that messages decoded correctly 2018-06-07 16:53:39 -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
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
Arceliar
1e7d34492d fix signature checks and add some TODO reminder comments 2018-06-06 22:39:22 -05:00
Arceliar
5fb33da3a2 remove old switch anc/hop/res code 2018-06-06 21:18:21 -05:00
Arceliar
6811759fc9 add new switchMsg struct to replace old anc/hop/res approach 2018-06-06 21:11:10 -05:00
Arceliar
690d29435d adjust link packet logic so they bypass the lifo stack and are delivered first 2018-06-06 17:44:10 -05:00
Arceliar
bbae9ff8e8
Merge pull request #92 from Arceliar/backpressure
Use backpressure instead of estimated bandwidth
2018-06-06 16:58:48 -05:00
Neil Alexander
49af65296d Export fields of wire structs 2018-06-02 21:21:05 +01:00
Arceliar
38e7704161 use backpressure instead of estimated bandwidth, sorted by uptime to break ties 2018-05-27 13:37:35 -05:00
Neil Alexander
9d9083e373
Update configuration names, fix multicast interface selection 2018-05-23 11:28:20 +01:00
Arceliar
5c0636eb3d add uptime and bytes sent/recvd to peer struct and getPeers 2018-05-18 20:41:02 -05:00
Arceliar
5dac273a3d rename to 'AllowedBoxPubs' and similar 2018-05-07 17:05:54 -05:00
Arceliar
0b391b6e3a debugging and cleanup 2018-05-06 19:01:52 -05:00
Arceliar
80f893aac3 let the peer's linkLoop call close if the peer receives no announcements for too long 2018-05-06 17:17:12 -05:00
Arceliar
6026e0a014 Optional peer authentication, if non-empty then incoming TCP and all UDP peers must match one of these box keys 2018-05-06 16:32:34 -05:00
Arceliar
cdedd304af make removePeers work for TCP connections and minor admin cleanup 2018-05-05 17:14:03 -05:00
Arceliar
0470f6f1c1 cleanup 2018-02-23 13:04:52 -06:00
Arceliar
a21a039b57 remove unused field from peer 2018-02-19 19:47:11 -06:00
Arceliar
a66a29779a Slightly nicer way to throttle peer announcements 2018-02-17 23:41:42 -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
25f00c1c7a disable keys in link protocol traffic, since these are already known, *breaks backwards compat* 2018-02-17 20:30:59 -06:00