4
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2025-07-05 23:24:07 +00:00
Commit Graph

52 Commits

Author SHA1 Message Date
aa30c6cc98 upgrade phony dependency and switch to its new interface 2019-08-25 10:36:09 -05:00
48bbdac9b3 add a helper actor to the link reader to make it play nicer with backpressure 2019-08-24 16:27:12 -05:00
99be6b037d stop synchronizing message reads for now, not 100% safe but I don't have any better ideas 2019-08-24 16:13:34 -05:00
998c76fd8c more switch migration 2019-08-24 15:22:46 -05:00
88161009e9 more peer migration 2019-08-24 12:55:49 -05:00
62337bcd64 allow links to send multiple packets at once, currently we still only bother to send 1 at a time from the switch level 2019-08-18 12:17:54 -05:00
46c5df1c23 when we abandon a link because we already have a connection to that peer, only wait for the connection to close if it's an *outgoing* link, otherwise incomming connection attempts can cause us to leak links 2019-08-13 18:49:49 -05:00
39baf7365c Unexport/modify some interfaces to revive broken iOS/Android builds 2019-03-30 00:09:35 +00:00
dc3a05f13a Correctly classify link-local addresses in the TCP handler, fix AllowedPublicEncryptionKeys warning 2019-03-12 16:03:02 +00:00
229de91a3a Fix AllowedEncryptionPublicKeys so that it works in incoming connections and not outgoing ones 2019-03-12 15:01:27 +00:00
c7b4bfcef5 misc fixes 2019-03-09 18:08:26 -06:00
a0e6edd219 Merge pull request #360 from neilalexander/multilink
Support for multiple listeners
2019-03-08 18:56:47 -06:00
917ca6c1c5 Make changes based on review comments 2019-03-08 10:26:46 +00:00
02b1892cc5 try to switch parents if a parent link is blocked 2019-03-07 21:36:12 -06:00
f4e17b9a9f Properly handle multicast interfaces going up and down 2019-03-06 12:07:33 +00:00
de2aff2758 Refactor multicast so that it creates a new TCP listener for each interface with LL addresses (so that it will not break if Listen is not set with a wildcard address) 2019-03-06 11:06:13 +00:00
2ef823e69c Fix deadlock when reconfiguring multicast 2019-03-04 23:16:46 +00:00
88925d3e06 Centralise call/listen functions in link.go 2019-03-04 22:45:35 +00:00
61774aed3b Show proto in admin socket, link linkInfo from peer, other fixes 2019-03-04 20:33:08 +00:00
0be0b078cb Remove unused types in link.go 2019-03-04 19:00:06 +00:00
82bb95b77f Some more (inelegant) multiple listener code plus some reconfigure support 2019-03-04 18:41:32 +00:00
be8db0c120 Support multiple TCP listeners 2019-03-04 17:52:57 +00:00
ae79246a66 Move TCP under link.go 2019-03-04 17:09:48 +00:00
371b5ca6a2 Change log message about AllowedEncryptionPublicKeys from Debug to Warn 2019-02-28 18:49:34 -06:00
2569242050 fixes to linkInterface.handler() 2019-02-26 21:07:56 -06:00
def4fb3587 fix timeout and improve logging on connection close 2019-02-24 14:48:16 -06:00
654407dc6d close long-dead connections in link.go instead of in switch.go, this is important in case a connection opens but never bothers to send even one switch message 2019-02-24 13:24:55 -06:00
bb3edd5e55 add the relevant error to the default logging when a connection is closed 2019-02-24 12:59:30 -06:00
042adb0516 make sure the only place traffic is ever dropped is in the switch. this currently disables the dedicated crypto workers 2019-02-23 00:07:00 -06:00
6f0bbbfb98 Debug some issues with the state machine that tracks idle connections in link.go 2019-02-15 19:35:10 -06:00
2f8dd5dde0 remove race condition in setting peer.close by requiring it as an argument to newPeer 2019-02-03 15:50:25 -06:00
ebbe5f67ad don't time out a link unless we were expecting an ack and didn't get one 2019-02-02 22:41:51 -06:00
b44a0f29f3 send an ack if we receive a packet and don't have any return traffic, keeping a legacy 4-second keep-alive in case there's no traffic at all to send (to be removed later, after nodes have upgraded), ideally we should either remove ReadTimeout or use it for the switch idle timeout instead 2019-02-02 22:18:55 -06:00
43f798e82e Check link-local in tcp.go, track direction in link.go, fix compile error for mobile.go 2019-02-01 00:02:17 +00:00
ec5f7d9879 Enforce AllowedEncryptionPublicKeys for all peers inc. link-local 2019-01-31 23:47:20 +00:00
432f93de89 Check AllowedEncryptionPublicKeys 2019-01-31 23:29:18 +00:00
e36f88c75f Info logging when link connects/disconnects 2019-01-31 23:18:02 +00:00
05962b2cbd disable idle nodes in the switch instead of killing the connection entirely. this implementation is ugly, but i think it maybe works 2019-01-30 20:58:23 -06:00
2466c54a71 Update debug lines in link.go 2019-01-27 20:56:10 +00:00
705b914d00 Move awdl into link 2019-01-23 19:42:33 +00:00
2944be4faf Further tweaks 2019-01-23 17:05:16 +00:00
81545fd9bf Clean up 2019-01-23 15:16:22 +00:00
9c6cf50684 Adapt AWDL to link 2019-01-23 15:08:19 +00:00
7b2460662d close the connection before blocking a duplicate link 2019-01-22 21:53:39 -06:00
f936151f2d correctly clean up various things 2019-01-22 21:48:43 -06:00
12c0e019dc only create one interface, but still opens duplicate connections before it catches this, so more work is needed 2019-01-22 21:16:41 -06:00
f95663e923 actually finish initializing peers 2019-01-22 18:24:15 -06:00
137212d8cf work in progress, establishes TCP connections and gets through metadata handshake using the link code, but doesn't seem to send traffic yet (no switch peers are created) 2019-01-21 23:08:50 -06:00
5a4d6481dd Work in progress, add a linkInterfaceMsgIO interface type and make stream implement it, this will be used by link 2019-01-21 21:27:52 -06:00
41a410f2a1 Initialise awdl.go from link.go, remove deadlock between awdl.create and link.create, other bits and pieces 2019-01-19 12:19:24 +00:00