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 |
|
Arceliar
|
6b51b44cbf
|
slightly better variable naming
|
2018-05-16 17:36:37 -05:00 |
|
Arceliar
|
800ccaa3d4
|
cleanup
|
2018-05-16 17:32:26 -05:00 |
|
Arceliar
|
fe712d24f8
|
don't allow buckets to overflow when the next bucket isn't full
|
2018-05-16 17:24:38 -05:00 |
|
Arceliar
|
8228242eed
|
misc dht and tree changes to stabilize coords and bootstrap the dht faster
|
2018-05-15 23:57:00 -05:00 |
|
Arceliar
|
96c55da987
|
Merge pull request #76 from neilalexander/hjson
Use HJSON for config instead of JSON
|
2018-05-13 15:09:28 -05:00 |
|
Neil Alexander
|
5299783e35
|
Add getTunTap to admin socket
|
2018-05-10 09:48:12 +01:00 |
|
Neil Alexander
|
e381808704
|
Add ability to select interface by friendly name on Windows
|
2018-05-09 16:42:24 +01:00 |
|
Neil Alexander
|
8ea3070a02
|
Small tweaks/clean up
|
2018-05-09 14:03:28 +01:00 |
|
Neil Alexander
|
45b106168e
|
Use HJSON instead of JSON
|
2018-05-09 13:54:31 +01:00 |
|
Arceliar
|
5dac273a3d
|
rename to 'AllowedBoxPubs' and similar
|
2018-05-07 17:05:54 -05:00 |
|
Arceliar
|
6ce16d8192
|
debug admin socket
|
2018-05-06 19:48:26 -05:00 |
|
Arceliar
|
94dd231e13
|
add (not working) admin functions for auth keys, needs debugging
|
2018-05-06 19:31:19 -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
|
3a1b67da8c
|
Update admin.go
|
2018-05-05 20:20:38 -05:00 |
|
Arceliar
|
cdedd304af
|
make removePeers work for TCP connections and minor admin cleanup
|
2018-05-05 17:14:03 -05:00 |
|
Arceliar
|
8b9a91be57
|
possibly fix weird issue I was having with netns, still not sure I understand why it was a problem
|
2018-04-28 16:39:58 -05:00 |
|
Neil Alexander
|
bdf9e45082
|
Default to previous scheme when url.Parse returns an error
In response to:
```
panic: parse x.x.x.x:xxx: first path segment in URL cannot contain colon
goroutine 33 [running]:
yggdrasil.(*Core).DEBUG_addPeer(0x8e58000, 0x8e34080, 0x12)
/go/src/github.com/{{ORG_NAME}}/{{REPO_NAME}}/src/yggdrasil/debug.go:317 +0x420
main.(*node).init.func1(0x8e48000, 0x8e58000)
/go/src/github.com/{{ORG_NAME}}/{{REPO_NAME}}/yggdrasil.go:75 +0x70
created by main.(*node).init
/go/src/github.com/{{ORG_NAME}}/{{REPO_NAME}}/yggdrasil.go:69 +0x410
```
|
2018-04-27 09:53:31 +01:00 |
|
Jeff Becker
|
fe13fea1e5
|
remove hard coded tor config options
|
2018-04-26 10:26:10 -04:00 |
|
Jeff Becker
|
7756891510
|
support socks proxy in peer url and decouple explicit tor/i2p routing
|
2018-04-26 10:23:21 -04:00 |
|
Jeff Becker
|
769b058004
|
more docs
|
2018-04-25 10:11:11 -04:00 |
|
Jeff Becker
|
1be8bbed1c
|
more docs
|
2018-04-25 10:09:09 -04:00 |
|
Jeff Becker
|
de69860e9b
|
* only enable tor proxy dialer when tor is enabled
* add docstrings
|
2018-04-25 10:06:13 -04:00 |
|
Jeff Becker
|
c16e354a44
|
Merge remote-tracking branch 'origin/master' into tor-auto
|
2018-04-25 10:01:10 -04:00 |
|
Arceliar
|
8ef2e55de6
|
try sending pings before sending searches for an unresponsive session
|
2018-04-22 15:31:30 -05:00 |
|
Jeff Becker
|
5e23185ddc
|
use address only not port
|
2018-04-20 08:41:09 -04:00 |
|
Jeff Becker
|
3c4fee0492
|
tor auto config
|
2018-04-19 10:30:40 -04:00 |
|