Thomas Eizinger
Thomas Eizinger
Whilst building this, I had an idea for how we could optimise connection setup latency: https://github.com/firezone/firezone/issues/6404
> So this can lead to a memory leak in the gateway that can be even abused by a malicious user by generating lots of `allow_access` requests and no `new_connection`....
> Also we need to make a new compatibility entry, clients after #6335 will need to have gateways after this PR Does it strictly? This only fixes a (very?) unlikely...
> > > Also we need to make a new compatibility entry, clients after #6335 will need to have gateways after this PR > > > > > > Does...
> > Why do you think it is likely to hit that? > > We just send 2 messages through the websocket that arrive in order to the portal, then...
@jamilbk @AndrewDryga This is required for https://github.com/firezone/firezone/pull/6335 to be safe so we don't run into a race condition there. Please adjust the portal code as needed, I just copied it...
The integration tests are now failing with the latest change. I'll look into it.
> Just double-confirming that change is backwards-compatible on Gateways (assuming tests would fail otherwise). Otherwise LGTM. Yes. Existing gateways will simply ignore the added fields. The new integration test passes...
> This LGTM. I already version-bumped gateway-next to `1.3.0`. This can ride along with that feature gate for internet resources, which are looking like they make take a [couple](https://github.com/firezone/firezone/issues/6465) more...
Another way of phrasing this is to merge `on_update_routes` into `on_set_interface_config`. We should probably introduce a struct here to make it easier to pass this data around.