29 Commits

Author SHA1 Message Date
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