Neil Alexander
723097fbf6
Deduplicate some logic
2022-11-26 16:18:15 +00:00
Neil Alexander
1adc88ec77
Merge branch 'develop' into neilalexander/tryall
2022-11-26 16:00:46 +00:00
Neil Alexander
e824c73e21
Fix crash
2022-11-12 11:56:50 +00:00
Neil Alexander
7efd66932f
Redial failed connections if possible ( #983 )
2022-11-12 11:30:03 +00:00
majestrate
6fed2a75d7
Make TLS certs never expire ( #977 )
...
According to RFC5280 we can make TLS certs never expire by setting their `NotAfter` date to a value that is basically the end of time.
Fixes #976 .
2022-11-08 22:11:22 +00:00
Neil Alexander
110613b234
Try all addresses when connecting to a DNS name
...
Fixes #980
2022-11-08 21:59:13 +00:00
Neil Alexander
590d83aa9c
Fix #975 by not exporting uint8
2022-11-01 17:42:52 +00:00
Neil Alexander
cfa293d189
Fix bug in admin socket where requests fail unless "arguments":{}
is specified in the JSON
2022-10-26 22:29:19 +01:00
Neil Alexander
f08dec822a
Priority support ( #964 )
...
* Allow setting link priorities
* Fix a bug
* Allow setting priority on listeners and multicast interfaces
* Update `yggdrasilctl`
* Update to Arceliar/ironwood#5
2022-10-26 09:24:24 +01:00
Neil Alexander
9a9452dcc8
Fix panic in GetPeers
that may happen mid-link setup
2022-10-25 18:58:52 +01:00
Neil Alexander
65e350153e
Don't start multicast module if all Beacon
and Listen
are disabled
2022-10-22 18:05:14 +01:00
Neil Alexander
35ea66d651
Varying connection check strictness based on scope
2022-10-22 17:45:09 +01:00
Neil Alexander
8fe1c41295
Don't reject multiple genuine links from the same host
2022-10-22 16:59:25 +01:00
Neil Alexander
d66b3ffb7a
Always allow link-local peerings again
2022-10-22 16:23:25 +01:00
Neil Alexander
63c4cb5c21
Fix reporting name for TCP
2022-10-22 15:47:09 +01:00
Neil Alexander
0a1a155e66
Use SO_REUSEADDR
instead of SO_REUSEPORT
on Linux
2022-10-22 14:56:29 +01:00
Neil Alexander
c55611a478
Tweak logging for connections
2022-10-22 14:56:11 +01:00
Neil Alexander
22caddef63
Don't log duplicate connection attempt
2022-10-21 19:49:49 +01:00
Neil Alexander
81839ad50d
Fix InterfacePeers
2022-10-21 19:49:15 +01:00
Neil Alexander
ee21c56e43
Fix setting nodeinfo ( closes #954 )
2022-10-15 15:42:52 +01:00
Neil Alexander
69632bacb5
Tidy up
2022-10-02 13:20:39 +01:00
Neil Alexander
428d2375da
Don't allow configuring the same peer more than once
2022-10-02 12:39:18 +01:00
Neil Alexander
8cf76f841d
Silence already connected to this node
2022-10-02 12:36:51 +01:00
ehmry
7db934488e
Reimplement AddPeer and RemovePeer for admin socket ( #951 )
...
* Reimplement AddPeer and RemovePeer for admin socket
Fix #950
* Disconnect the peer on `removePeer`
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2022-10-02 12:35:43 +01:00
Neil Alexander
c922eba2d8
Fix sending arguments to the admin socket in yggdrasilctl
2022-09-24 21:28:09 +01:00
Neil Alexander
d9fe6f72ac
Lint tweaks
2022-09-24 17:05:44 +01:00
Neil Alexander
d24d3fa047
Use deadline for link handshake ( #949 )
...
This uses a 6 second deadline for timeouts instead of using `util.FuncTimeout` at 30 seconds for the read and then again for the write.
If the handshake doesn't complete within 6 seconds then it's going to probably collapse when we give the connection to Ironwood and it tries to do a keepalive anyway.
2022-09-24 16:51:31 +01:00
Neil Alexander
e165b1fa0c
Add quote marks to InterfacePeers
comment
...
Fixes #945 .
2022-09-24 14:44:50 +01:00
Neil Alexander
01c44a087b
Rename tuntap
package to tun
...
We haven't had TAP support in ages.
2022-09-24 14:41:47 +01:00
Neil Alexander
217ac39e77
Allow setting default config path and AdminListen
at compile time
...
By providing the following items to `LDFLAGS`:
* `-X github.com/yggdrasil-network/yggdrasil-go/src/defaults.defaultConfig=/path/to/config`
* '-X github.com/yggdrasil-network/yggdrasil-go/src/defaults.defaultAdminListen=unix://path/to/sock'
Closes #818 .
2022-09-24 14:09:08 +01:00
Neil Alexander
0abfe78858
Silence error when reconnecting to already connected peer
2022-09-24 13:46:22 +01:00
Neil Alexander
b67c313f44
Admin socket and yggdrasilctl
improvements
...
This refactors the request parsing, as well as improving the output for some request types. It also tweaks `yggdrasilctl` output, which should help with #947 .
2022-09-24 12:22:38 +01:00
Neil Alexander
5ef61faeff
Link refactor ( #941 )
...
* Link refactoring
* More refactoring
* More tweaking
* Cleaner shutdowns, UNIX socket support, more tweaks
* Actorise links, remove mutex
* SOCKS support
2022-09-17 20:07:00 +01:00
Neil Alexander
dc9720e580
Extend getSessions
admin call to include uptime/TX/RX
2022-09-03 16:55:57 +01:00
Neil Alexander
5477566fa9
Length not capacity
2022-09-03 12:38:42 +01:00
Neil Alexander
9cdfd59476
Tidy up a bit, make sure to copy the private key at startup
2022-09-03 12:34:29 +01:00
Neil Alexander
a7d06e048a
Refactor TUN setup (isolated config)
2022-09-03 12:20:57 +01:00
Neil Alexander
b1f61fb0a8
Refactor admin socket setup (isolated config)
2022-09-03 11:54:46 +01:00
Neil Alexander
493208fb37
Refactor multicast setup (isolated config, etc)
2022-09-03 11:42:05 +01:00
Neil Alexander
dad0b10dfe
Move Core._applyOption
2022-09-03 10:51:44 +01:00
Neil Alexander
c6fe81b5d2
Admin socket and yggdrasilctl
refactoring ( #939 )
2022-09-03 10:50:43 +01:00
Neil Alexander
4f2abece81
Fix panic in tcp.init
for incorrectly formatted listen addresses
2022-09-01 16:56:42 +01:00
Karandashov Daniil
486ffebedd
Delete unused param ( #935 )
2022-08-29 20:40:19 +01:00
Neil Alexander
dd66e8a9c9
Merge branch 'develop' into neilalexander/refactor
2022-08-06 15:23:44 +01:00
Neil Alexander
16b8149052
No longer use ioutil
which is deprecated
2022-08-06 15:21:21 +01:00
Neil Alexander
4c889703b1
Continue refactoring
2022-08-06 15:05:12 +01:00
Neil Alexander
5616b9fc84
Don't lose my work
2022-07-24 10:23:25 +01:00
Neil Alexander
8c454a146c
Silence incorrect linter warning
2022-07-07 18:19:15 +01:00
Neil Alexander
88a0a3e8fb
Fix data races in handleProto
(observed by @majestrate)
2022-07-07 17:03:29 +01:00
Neil Alexander
41d890bb64
Run goimports
2022-04-17 18:02:25 +01:00