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
Neil Alexander
48ced483d6
Merge pull request #64 from Arceliar/dht
...
Limit DHT pings to 1/min per node
2018-03-17 20:46:47 +00:00
Arceliar
fe5ef4e867
don't add things to the dht rumorMill if they've been pinged in the last minute (arbitrary time, needs investigating)
2018-03-17 15:28:22 -05:00
Arceliar
0459f88b92
add a udp close packet, and partial support for a removePeer admin call (sends close to UDP peers, but doesn't close TCP connections yet)
2018-03-16 18:24:28 -05:00
Neil Alexander
bf0413a0c4
Modify ICMPv6 source address for "Packet Too Big" messages to a routable address so that it correctly routes to nodes in an yggdrasil /64 subnet
2018-03-10 22:31:36 +00:00
Arceliar
b34345229a
remove any peers from the dht if a reset is triggered (from coord changes)
2018-03-10 15:16:39 -06:00
Arceliar
9ce0b7fbea
keep peers separate from other nodes in dht
2018-03-10 13:58:48 -06:00
Neil Alexander
1155816df8
Show both UDP and TCP listen addresses in stdout ( #51 )
2018-03-07 09:41:04 +00:00
Neil Alexander
166d25619d
Attempt to support NetBSD
...
This code actually consolidates a lot of the BSD code together, and even setting the interface MTU with SIOCSIFMTU seems to work fine.
What doesn't work though is setting the interface address using SIOCSIFADDR_IN6, which I attempted to plagiarise from the Darwin code.
As a fallback, ifconfig is used, which solves the problem enough to get it working.
2018-03-04 23:47:01 +00:00