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 |
|
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 |
|
Arceliar
|
fad6f6b50e
|
remove udp.go
|
2018-06-06 16:57:36 -05:00 |
|
Arceliar
|
da928af361
|
fix sim and run gofmt
|
2018-06-06 16:49:23 -05:00 |
|
Arceliar
|
240841eb38
|
remove unused recursive search packets
|
2018-06-06 16:46:15 -05:00 |
|
Arceliar
|
1b89892610
|
remove UDP, to be replaced with a better implementation later
|
2018-06-06 16:40:35 -05:00 |
|
Neil Alexander
|
6d9d01dae1
|
Fix IfName='none'
|
2018-06-02 23:29:06 +01:00 |
|
Arceliar
|
b9ea5350c6
|
update search.go comments to describe the iterative approach
|
2018-06-02 16:45:45 -05:00 |
|
Arceliar
|
3e1ac81854
|
allow searches to start with nodes further from the destination than ourself
|
2018-06-02 16:39:34 -05:00 |
|
Arceliar
|
45abfafbba
|
value instead of pointer types for search dest/mask
|
2018-06-02 16:33:58 -05:00 |
|
Arceliar
|
34939d4b18
|
update for wire format changes
|
2018-06-02 16:30:05 -05:00 |
|
Neil Alexander
|
bbdcee1015
|
Export fields of sessionPing, dhtReq, dhtRes
|
2018-06-02 22:19:42 +01:00 |
|
Neil Alexander
|
49af65296d
|
Export fields of wire structs
|
2018-06-02 21:21:05 +01:00 |
|
Arceliar
|
28e6c738e2
|
Merge branch 'master' into iterdht
|
2018-06-02 15:00:24 -05:00 |
|
Arceliar
|
09baad48e3
|
retry failed iterative searches, possibly becoming parallel if things are just slow, and keep track of / skip nodes that were already visited in the search
|
2018-06-02 14:57:06 -05:00 |
|
Neil Alexander
|
bc37d4fb76
|
Improve formatting of dot: dashed grey for unknown nodes, sans-serif text
|
2018-06-02 14:24:06 +01:00 |
|
Arceliar
|
ed6c9c2a54
|
deduplicate dht responses when adding them to the search, limit the search toVisit size
|
2018-06-02 00:29:36 -05:00 |
|
Arceliar
|
10a72444e3
|
get itersearch to run in the sim
|
2018-06-02 00:16:47 -05:00 |
|
Arceliar
|
ecf7e490d7
|
start of iterative dht searches
|
2018-06-01 23:34:21 -05:00 |
|
Neil Alexander
|
ec80a81ed5
|
Mark extrapolated nodes with dashed outline
|
2018-06-01 23:33:02 +01:00 |
|
Neil Alexander
|
e4082f218f
|
Add text to dot graph explaining how a node is known
|
2018-06-01 23:23:24 +01:00 |
|
Neil Alexander
|
a2df5107f0
|
Change colour scheme: green for self, yellow for peer, blue for open session, white for DHT
|
2018-06-01 14:20:47 +01:00 |
|
Arceliar
|
ca15bbea57
|
try color coding dot output
|
2018-05-31 20:28:09 -05:00 |
|
Neil Alexander
|
ccf71af6b7
|
Move Init from core.go to debug.go as function is only for simulator
|
2018-05-27 23:37:57 +01:00 |
|
Neil Alexander
|
460a22c063
|
Clean up some exported constants
|
2018-05-27 23:31:34 +01:00 |
|
Neil Alexander
|
a9e61d0d37
|
Add support for building "release" builds that don't contain pprof which are substantially smaller. To build a "debug" build, use "-tags debug" with "go build"
|
2018-05-27 23:22:50 +01:00 |
|
Neil Alexander
|
35173e2388
|
Fix starting TUN read/write
|
2018-05-27 22:35:30 +01:00 |
|
Neil Alexander
|
4c115de633
|
De-debug
|
2018-05-27 22:13:37 +01:00 |
|
Arceliar
|
38e7704161
|
use backpressure instead of estimated bandwidth, sorted by uptime to break ties
|
2018-05-27 13:37:35 -05:00 |
|
Arceliar
|
02ba9dc97c
|
fix npe, these don't need to be pointers
|
2018-05-27 13:22:21 -05:00 |
|
Arceliar
|
7b12493417
|
panic if tcp startup fails, since otherwise a nil pointer occurs in multicast. make udp do the same thing.
|
2018-05-27 12:56:33 -05:00 |
|
Neil Alexander
|
a0f547cc1b
|
Fix being able to enable/disable multicast
|
2018-05-26 21:50:47 +01:00 |
|
Neil Alexander
|
bc899c395a
|
Fix accidental truncation of addresses ending in 8 on macOS and BSD
|
2018-05-26 21:47:54 +01:00 |
|
Neil Alexander
|
5d87601118
|
Add getMulticastInterfaces and getSelf to yggdrasilctl
|
2018-05-23 22:13:52 +01:00 |
|
Neil Alexander
|
1fd53bcb7d
|
Update comments in configuration
|
2018-05-23 14:02:13 +01:00 |
|
Neil Alexander
|
ce854a76bd
|
Add -normaliseconf option and temporarily correct old config item names in running config
|
2018-05-23 12:04:27 +01:00 |
|
Neil Alexander
|
9d9083e373
|
Update configuration names, fix multicast interface selection
|
2018-05-23 11:28:20 +01:00 |
|
Neil Alexander
|
6f79184c9b
|
Move multicasting into yggdrasil package
|
2018-05-23 11:13:53 +01:00 |
|
Neil Alexander
|
388ae09fca
|
Rename some config items
|
2018-05-22 23:43:29 +01:00 |
|
Arceliar
|
b10ae51565
|
Merge pull request #85 from neilalexander/yggdrasilctl
Human-readable formatting in yggdrasilctl
|
2018-05-21 19:21:00 -05:00 |
|
Neil Alexander
|
04b3e84023
|
Show your IPv6 address and subnet when starting
|
2018-05-21 16:15:31 +01:00 |
|
Neil Alexander
|
9567446f50
|
Offload formatting to yggdrasilctl and keep precision in JSON
|
2018-05-21 15:21:23 +01:00 |
|
Neil Alexander
|
59688dcab3
|
Fix formatting of bytes_sent, bytes_recvd, last_seen, uptime
|
2018-05-21 15:05:01 +01:00 |
|
Neil Alexander
|
ca3e541d3b
|
Friendly formats for getDHT, getSessions, setTunTap etc
|
2018-05-21 14:14:57 +01:00 |
|
Neil Alexander
|
201701ae4a
|
Add some pretty printing to yggdrasilctl, small modifications to JSON formatting in admin socket
|
2018-05-21 13:54:51 +01:00 |
|
Neil Alexander
|
bd32f5890b
|
Run gofmt -s -w
|
2018-05-21 07:28:03 +01:00 |
|
Neil Alexander
|
79131bb959
|
Minor tweaks
|
2018-05-20 23:25:07 +01:00 |
|
Neil Alexander
|
aae570de2a
|
Optional parameters are now square instead of pointed brackets, avoid nils for help
|
2018-05-20 21:57:05 +01:00 |
|
Neil Alexander
|
c765e0566f
|
Convert rest of functions, fix setTunTap
|
2018-05-20 21:54:15 +01:00 |
|
Neil Alexander
|
c75566d5ac
|
Various fixes and error catching, add setTunTap
|
2018-05-20 21:44:30 +01:00 |
|
Neil Alexander
|
4ecc7ce860
|
Add getTunTap to JSON admin socket
|
2018-05-20 19:42:37 +01:00 |
|
Neil Alexander
|
c3ca5c64b1
|
Add some more functions to JSON admin socket
|
2018-05-20 19:23:43 +01:00 |
|
Neil Alexander
|
9713e73969
|
Fix dot
|
2018-05-20 17:25:13 +01:00 |
|
Neil Alexander
|
a6ef7166ea
|
Start JSON-ifying the admin socket
|
2018-05-20 17:21:14 +01:00 |
|
Arceliar
|
5c0636eb3d
|
add uptime and bytes sent/recvd to peer struct and getPeers
|
2018-05-18 20:41:02 -05:00 |
|
Neil Alexander
|
ca96bbf014
|
Accept exchanging an MTU of 0 to signify that TUN/TAP is disabled, don't send traffic to a node in that case
|
2018-05-18 18:56:33 +01:00 |
|
Neil Alexander
|
ec371af84f
|
Track TX/RX bytes over session and if MTU was adjusted, add to admin socket getSession
|
2018-05-18 17:59:29 +01:00 |
|
Arceliar
|
ec8fe338d5
|
more insertIfNew bugfixes, and add peerOnly to getDHT output (true if a node is in the bucket.peers slice instead of bucket.others--it means they're not regularly pinged, they're only there to make sure DHT lookups include them as a result, for bootstrapping reasons)
|
2018-05-17 21:43:26 -05:00 |
|
Arceliar
|
fe518f4e3f
|
bugfixes related to peer timeouts in the DHT, significantly improve DHT bootstrap speed
|
2018-05-17 21:20:31 -05:00 |
|
Arceliar
|
8d9887294c
|
add dht time since last ping to admin socket, some DHT code cleanup, bugfix to insertIfNew
|
2018-05-17 19:32:29 -05:00 |
|
Arceliar
|
d98640fd59
|
switch cleanup
|
2018-05-16 17:48:53 -05:00 |
|