Commit Graph

75 Commits

Author SHA1 Message Date
Adam Ierymenko
c2413fca4d Clean out a bunch of old code related to the possibility of multiple peers sharing virtual addresses. Does not seem to be currently exploitable but we are never going back to that idea, so this simplifies things. May also speed up the root. 2021-09-20 14:42:49 -04:00
Adam Ierymenko
5028aca372 Fix some identity verification stuff, performance improvements, build of root now requires libjemalloc. 2021-06-18 16:14:59 -04:00
Adam Ierymenko
311f9c5c2a A few minor changes: (1) bind sockets to peers so the same socket is always used to send as most recently received, (2) pick the most recently active IP (v4 or v6) if both exist, and (3) introduce expiry of V4 or V6 IPs in addition to the peer overall. 2021-05-26 19:37:48 -04:00
Adam Ierymenko
32ca1a09da Set version threshold correctly for v2 2020-08-27 10:00:11 -07:00
Adam Ierymenko
bba1324145 One more sanity check. 2020-01-21 11:04:18 -08:00
Adam Ierymenko
ff655292fb Allocate packet on heap, add extra sanity checks on packet size. 2020-01-21 10:58:41 -08:00
Grant Limberg
2558bd1b9b
include iomanip 2020-01-16 09:11:12 -08:00
Grant Limberg
95d0944b9f
add /metrics endpoint for exposing root metrics to Prometheus 2020-01-16 09:08:52 -08:00
Adam Ierymenko
68ac884d47
. 2019-10-02 14:30:46 -07:00
Adam Ierymenko
624efde7e4
Make sure threads dont exit on spurious return values from recvfrom unless we are really dying. 2019-09-16 20:41:23 -07:00
Adam Ierymenko
9f5bccec30
Add a recv timeout to root 2019-09-16 18:03:17 -07:00
Adam Ierymenko
ade52bf81e
Fix RENDEZVOUS issue and possibly improve GeoIP resolution. 2019-09-16 17:04:13 -07:00
Adam Ierymenko
e245eb1eb5
Trim some unnecessary locks from root, and cleanup elsewhere. 2019-09-16 14:48:27 -07:00
Adam Ierymenko
e08fc81397
More threading improvements in root, more DNS TXT and multicast work (in progress) 2019-09-16 10:33:59 -07:00
Adam Ierymenko
e44d7a553f
The root technically does not need to do this, and its slow. 2019-09-13 10:29:11 -07:00
Adam Ierymenko
2deaaeef28
Some root cleanup and more lock contention reduction. 2019-09-13 10:20:29 -07:00
Adam Ierymenko
31e193756d
cleanup 2019-09-12 09:59:46 -07:00
Adam Ierymenko
5aa744db84
Simplification and further concurrency improvements. 2019-09-12 08:41:34 -07:00
Adam Ierymenko
99c36ed2f2
Parallelization improvements 2019-09-12 08:20:38 -07:00
Adam Ierymenko
a3ec5846df
map fix 2019-09-06 08:18:11 -07:00
Adam Ierymenko
fe0b896665
map fix 2019-09-06 07:58:43 -07:00
Adam Ierymenko
e4721417e6
map fix 2019-09-06 07:55:36 -07:00
Adam Ierymenko
3123102211
root cleanup and add nifty geoip thing 2019-09-06 07:37:44 -07:00
Adam Ierymenko
e8f8b0f8e5
cleanup 2019-09-04 14:40:36 -07:00
Adam Ierymenko
185e90c40f
AES-GMAC-CTR tweaks, self test tweaks, debian typo fix. 2019-09-04 08:19:12 -07:00
Adam Ierymenko
e29c2d0260
Fix field headers 2019-09-03 15:59:34 -07:00
Adam Ierymenko
acf6425ae9
Formatting fix 2019-09-03 15:55:23 -07:00
Adam Ierymenko
5e8d49de0f
Stats, tweak P2P success rate stat. 2019-09-03 15:48:10 -07:00
Adam Ierymenko
1f9456a462
Estimate P2P Success Rate 2019-09-03 15:19:17 -07:00
Adam Ierymenko
a7d8285c3a
Don't require siblings field 2019-09-03 14:57:54 -07:00
Adam Ierymenko
5f1dc4b851
cleanup 2019-09-03 14:57:02 -07:00
Adam Ierymenko
b1c22949c5
Cleanup, add support for distributing a new planet file 2019-09-03 14:44:13 -07:00
Adam Ierymenko
29be175743
Make relay max hops configurable on roots 2019-09-03 13:17:12 -07:00
Adam Ierymenko
b6c5ba264b
One more fix for discarding hops exceeded packets. 2019-09-03 13:01:01 -07:00
Adam Ierymenko
8e7e3c2b11
Fix max hops. 2019-09-03 12:58:23 -07:00
Adam Ierymenko
0e7df129d8
Fix variable shadowing bug. 2019-09-03 12:51:32 -07:00
Adam Ierymenko
50709cbd21
Fix siblings in peers list, fix meter. 2019-09-03 12:44:09 -07:00
Adam Ierymenko
fd6e8d8c5c
Add instrumentation to root, add capability to forward to siblings if no path is known to a peer. 2019-09-03 12:21:57 -07:00
Adam Ierymenko
2e7496130c
Fix silly thinko in root that harms p2p establishment. 2019-08-30 21:17:34 -07:00
Adam Ierymenko
4c08ac7873
Fix MULTICAST_GATHER reply problem in root 2019-08-30 17:34:05 -07:00
Adam Ierymenko
9918a1092f
JSON fix 2019-08-30 09:39:46 -07:00
Adam Ierymenko
7d89511fda
JSON fix 2019-08-30 09:38:18 -07:00
Adam Ierymenko
795b6d13d1
Simple status output on root of HTTP tree 2019-08-30 09:29:06 -07:00
Adam Ierymenko
9994e591bd
More root work and CMake-ify root 2019-08-30 09:08:39 -07:00
Adam Ierymenko
b27a38e55e
Implement WHOIS 2019-08-29 14:27:41 -07:00
Adam Ierymenko
f6d747a5a0
Fix some more multicast stuff (minor) 2019-08-29 12:02:37 -07:00
Adam Ierymenko
b7da7574d1
Helps to decompress the packet 2019-08-29 11:40:31 -07:00
Adam Ierymenko
dbad9585cd
Fix parsing of MULTICAST_GATHER 2019-08-29 11:23:23 -07:00
Adam Ierymenko
2d7a97bb94
Fix V4/V6 forwarding issue in root 2019-08-29 10:58:47 -07:00
Adam Ierymenko
da19da0360
RENDEZVOUS works now 2019-08-29 08:00:54 -07:00