mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 18:18:55 +00:00
There were 2 bugs: * `gateway_awaiting_connections` should represent gateways were there is an on-going connection intent but are not connected yet but currently we were creating an empty entry when there was no entry, even if there is a connection established, this would cause the next resource connection intent to stop early without adding the allowed ip, thus never using the connection. * There was a race condition, where if the `ReuseConnection` was sent to the gateway when the connection wasn't established, the gateway would just ignore the message, but this connection intent would never be sent again. Now that I'm writing this maybe the best solution is, if there is a pending connection to a gateway, we just do nothing. That way upper layers would just retry the message and we send `ReuseConnection` once the connection is established instead of buffering the requests... Edit: that's exactly the fix I made.