Paul Donald
f56f9c124c
Minor Fixes ( #1107 )
...
* Minor comment fixes.
* Optimize PeerEntry for memory efficiency
* Improve NodeConfig for memory alignment
2024-05-27 21:57:28 +01:00
Neil
180d7bf499
Adjust default backoff max to just over 1 hour, add ?maxbackoff=
peer option ( #1124 )
...
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2024-01-15 23:09:07 +00:00
Neil Alexander
fef553ed18
Tweak logging
2023-11-26 16:28:48 +00:00
Neil Alexander
a0b3897278
Cap link backoff at roughly 4.5 hours
2023-11-21 23:54:27 +00:00
Neil Alexander
7aca869170
Tweak backoff success handling
2023-11-21 10:35:17 +00:00
Neil
0346af46da
Don't panic when connect returns nil
( fixes #1086 ) ( #1089 )
...
* Don't panic when connect returns `nil` (fixes #1086 )
It isn't clear to me why this would happen but let's guard the condition anyway.
* Log inconsistent error state
---------
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2023-11-04 18:42:42 +00:00
Neil
93a5adfd18
Add sockstls://
( #1090 )
...
Closes #1087 .
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2023-11-04 17:57:15 +00:00
Neil
ddb75700a0
Report errors during handshake stage ( #1091 )
...
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2023-11-04 17:57:04 +00:00
Neil Alexander
73c6c25bd9
Restore removePeer
method
2023-10-22 10:27:41 +01:00
Neil Alexander
bcd80b043f
Don't tightloop when a listener can no longer accept connections
2023-10-17 21:41:21 +01:00
Neil Alexander
268ffbfd14
Add authenticated handshake, support for passwords
2023-10-09 17:17:12 +01:00
Neil Alexander
490c11c29e
Fix more codefactor suggestions
2023-09-03 13:49:21 +01:00
Neil Alexander
991ea8b876
Fix codefactor suggestion
2023-09-03 13:32:15 +01:00
Neil Alexander
5b203ad8c5
Use Go 1.21 in CI, update minimum version to Go 1.20, lint fixes, update quic-go
2023-08-12 18:12:58 +01:00
Neil Alexander
63b214f6b7
Fix negotiating priority on connection
2023-07-15 22:34:29 +01:00
Arceliar
7f94463332
Merge pull request #1037 from yggdrasil-network/neil/quic
...
QUIC interface support
2023-06-19 06:27:09 -05:00
Neil Alexander
d8dc6b2670
QUIC interface support
2023-06-18 20:54:14 +01:00
Neil Alexander
109f59c7dc
Tweak link handshake
2023-06-18 20:28:14 +01:00
Arceliar
c1ae9ea0d4
Switch back to using an actor to manage link state, and slighty randomize the delay between multicast announcements. This seems to fix the issue with duplicate connections (and breaks a livelock in the multicast code where both nodes keep closing the listen side of their connection, but that's kind of a hack, we need a better solution)
2023-06-18 03:40:40 -05:00
Neil Alexander
2eda59d9e4
Improve link setup locking and guards
2023-05-23 22:39:10 +01:00
Neil Alexander
06ca8941c7
Fix race condition between incoming and outgoing connection setup
2023-05-22 23:10:44 +01:00
Neil Alexander
cb8333f9ff
Tweak lock behaviour
2023-05-21 00:02:04 +01:00
Neil Alexander
333561f4e1
Tweak link state locking, add comments, listener priority, other fixes
2023-05-20 23:44:31 +01:00
Neil Alexander
aff3201084
Fix incoming connection handlers
2023-05-20 22:22:15 +01:00
Neil Alexander
c0188f5600
Discriminate multicast peers more loosely
2023-05-20 21:18:49 +01:00
Neil Alexander
e0b39b303f
Use regular mutex instead (less type assertions)
...
This reverts commit 5ba9dadc490a5880c68db2519a8bc768c6ee002b.
2023-05-20 18:36:44 +01:00
Neil Alexander
5ba9dadc49
Use sync.Map
instead of link actor
2023-05-20 18:31:01 +01:00
Neil Alexander
6e338b6f89
Fix con urrent map accesses
2023-05-20 18:21:02 +01:00
Neil Alexander
7afa23be4c
Link refactoring, admin socket changes
2023-05-19 19:09:05 +01:00
Neil Alexander
5a243d5b95
Update ironwood replace
2023-03-19 21:44:34 +00:00
Neil Alexander
a148f4cfec
More updates for Ygg v0.5
2023-03-19 10:33:07 +00:00
Neil Alexander
83c1a810b5
New handshake, use softcrdt
upstream
2023-03-18 12:14:32 +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
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
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
c55611a478
Tweak logging for connections
2022-10-22 14:56:11 +01:00
Neil Alexander
69632bacb5
Tidy up
2022-10-02 13:20:39 +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
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
0abfe78858
Silence error when reconnecting to already connected peer
2022-09-24 13:46:22 +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
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
2d2ad4692b
Restore uptime
, bytes_sent
and bytes_recvd
to getPeers
( #888 )
...
* Restore `uptime`, `bytes_sent` and `bytes_recvd` to the admin API for peers
* Wrap conn in Yggdrasil instead, so not necessary to do so in Ironwood
* Shuffle struct for alignment
2022-02-01 13:37:45 +00:00
Tom
9f5cc0eecb
Make message clearer and downgrade ( #812 )
...
* Make message clearer and downgrade
* Differentiate between incoming and outgoing conn
2022-01-30 21:58:57 +00:00
Neil Alexander
d1cd671bec
Fix bug
2021-08-01 21:39:49 +01:00