Arceliar
|
502f2937a9
|
a couple race fixes and use timer.AfterFunc instead of sleeping goroutines or ticker in a few places
|
2019-08-25 17:00:02 -05:00 |
|
Arceliar
|
a3d4d8125b
|
make the main library reconfiguration more actor-friendly
|
2019-08-25 12:10:59 -05:00 |
|
Arceliar
|
aa30c6cc98
|
upgrade phony dependency and switch to its new interface
|
2019-08-25 10:36:09 -05:00 |
|
Arceliar
|
48bbdac9b3
|
add a helper actor to the link reader to make it play nicer with backpressure
|
2019-08-24 16:27:12 -05:00 |
|
Arceliar
|
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 |
|
Arceliar
|
998c76fd8c
|
more switch migration
|
2019-08-24 15:22:46 -05:00 |
|
Arceliar
|
88161009e9
|
more peer migration
|
2019-08-24 12:55:49 -05:00 |
|
Arceliar
|
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 |
|
Arceliar
|
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 |
|
Neil Alexander
|
39baf7365c
|
Unexport/modify some interfaces to revive broken iOS/Android builds
|
2019-03-30 00:09:35 +00:00 |
|
Neil Alexander
|
dc3a05f13a
|
Correctly classify link-local addresses in the TCP handler, fix AllowedPublicEncryptionKeys warning
|
2019-03-12 16:03:02 +00:00 |
|
Neil Alexander
|
229de91a3a
|
Fix AllowedEncryptionPublicKeys so that it works in incoming connections and not outgoing ones
|
2019-03-12 15:01:27 +00:00 |
|
Arceliar
|
c7b4bfcef5
|
misc fixes
|
2019-03-09 18:08:26 -06:00 |
|
Arceliar
|
a0e6edd219
|
Merge pull request #360 from neilalexander/multilink
Support for multiple listeners
|
2019-03-08 18:56:47 -06:00 |
|
Neil Alexander
|
917ca6c1c5
|
Make changes based on review comments
|
2019-03-08 10:26:46 +00:00 |
|
Arceliar
|
02b1892cc5
|
try to switch parents if a parent link is blocked
|
2019-03-07 21:36:12 -06:00 |
|
Neil Alexander
|
f4e17b9a9f
|
Properly handle multicast interfaces going up and down
|
2019-03-06 12:07:33 +00:00 |
|
Neil Alexander
|
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 |
|
Neil Alexander
|
2ef823e69c
|
Fix deadlock when reconfiguring multicast
|
2019-03-04 23:16:46 +00:00 |
|
Neil Alexander
|
88925d3e06
|
Centralise call/listen functions in link.go
|
2019-03-04 22:45:35 +00:00 |
|
Neil Alexander
|
61774aed3b
|
Show proto in admin socket, link linkInfo from peer, other fixes
|
2019-03-04 20:33:08 +00:00 |
|
Neil Alexander
|
0be0b078cb
|
Remove unused types in link.go
|
2019-03-04 19:00:06 +00:00 |
|
Neil Alexander
|
82bb95b77f
|
Some more (inelegant) multiple listener code plus some reconfigure support
|
2019-03-04 18:41:32 +00:00 |
|
Neil Alexander
|
be8db0c120
|
Support multiple TCP listeners
|
2019-03-04 17:52:57 +00:00 |
|
Neil Alexander
|
ae79246a66
|
Move TCP under link.go
|
2019-03-04 17:09:48 +00:00 |
|
Arceliar
|
371b5ca6a2
|
Change log message about AllowedEncryptionPublicKeys from Debug to Warn
|
2019-02-28 18:49:34 -06:00 |
|
Arceliar
|
2569242050
|
fixes to linkInterface.handler()
|
2019-02-26 21:07:56 -06:00 |
|
Arceliar
|
def4fb3587
|
fix timeout and improve logging on connection close
|
2019-02-24 14:48:16 -06:00 |
|
Arceliar
|
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 |
|
Arceliar
|
bb3edd5e55
|
add the relevant error to the default logging when a connection is closed
|
2019-02-24 12:59:30 -06:00 |
|
Arceliar
|
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 |
|
Arceliar
|
6f0bbbfb98
|
Debug some issues with the state machine that tracks idle connections in link.go
|
2019-02-15 19:35:10 -06:00 |
|
Arceliar
|
2f8dd5dde0
|
remove race condition in setting peer.close by requiring it as an argument to newPeer
|
2019-02-03 15:50:25 -06:00 |
|
Arceliar
|
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 |
|
Arceliar
|
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 |
|
Neil Alexander
|
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 |
|
Neil Alexander
|
ec5f7d9879
|
Enforce AllowedEncryptionPublicKeys for all peers inc. link-local
|
2019-01-31 23:47:20 +00:00 |
|
Neil Alexander
|
432f93de89
|
Check AllowedEncryptionPublicKeys
|
2019-01-31 23:29:18 +00:00 |
|
Neil Alexander
|
e36f88c75f
|
Info logging when link connects/disconnects
|
2019-01-31 23:18:02 +00:00 |
|
Arceliar
|
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 |
|
Neil Alexander
|
2466c54a71
|
Update debug lines in link.go
|
2019-01-27 20:56:10 +00:00 |
|
Neil Alexander
|
705b914d00
|
Move awdl into link
|
2019-01-23 19:42:33 +00:00 |
|
Neil Alexander
|
2944be4faf
|
Further tweaks
|
2019-01-23 17:05:16 +00:00 |
|
Neil Alexander
|
81545fd9bf
|
Clean up
|
2019-01-23 15:16:22 +00:00 |
|
Neil Alexander
|
9c6cf50684
|
Adapt AWDL to link
|
2019-01-23 15:08:19 +00:00 |
|
Arceliar
|
7b2460662d
|
close the connection before blocking a duplicate link
|
2019-01-22 21:53:39 -06:00 |
|
Arceliar
|
f936151f2d
|
correctly clean up various things
|
2019-01-22 21:48:43 -06:00 |
|
Arceliar
|
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 |
|
Arceliar
|
f95663e923
|
actually finish initializing peers
|
2019-01-22 18:24:15 -06:00 |
|
Arceliar
|
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 |
|
Arceliar
|
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 |
|
Neil Alexander
|
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 |
|
Neil Alexander
|
c51a3340b1
|
Update awdl.go to use new link stuff (untested)
|
2019-01-19 00:42:53 +00:00 |
|
Neil Alexander
|
6fe3b01e90
|
Rename awdl.go to link.go, add stream.go, update tcp.go
|
2019-01-19 00:14:10 +00:00 |
|