[PATCH] gas_server: extend timeout for pending responses
Gustavo Bertoli
gubertoli at gmail.com
Tue Jun 9 12:31:28 PDT 2026
Thanks for the review.
v2 adds a bool timeout_extended flag to struct gas_server_response to
bound the reschedule. The timer now fires at most once: the entry lives for
GAS_QUERY_TIMEOUT (60 s) + one extension of GAS_QUERY_TIMEOUT (60 s)
= 120 s total, matching the Enrollee's wpas_dpp_gas_client_timeout.
On the second timer fire the entry is dropped unconditionally.
Em sáb., 6 de jun. de 2026 às 16:44, Jouni Malinen <j at w1.fi> escreveu:
>
> On Tue, May 05, 2026 at 08:28:36PM +0200, Gustavo Bertoli wrote:
> > Currently, gas_server_response_timeout() unconditionally drops the
> > session and frees the entry after 60 seconds. This causes deferred
> > provisioning operations, such as DPP Enterprise certBag delivery,
> > to silently fail if the CA takes longer than 60 seconds to respond.
> >
> > Fix this by checking if the response is still pending and a comeback
> > delay is active. If so, reschedule the timeout to keep the entry alive.
> > This extends the Configurator's wait window safely, relying on the
> > Enrollee's own watchdog timer (120 seconds) to bound the session.
>
> It sounds reasonable to extend the timeout in some cases, but not
> without bound. Configurator cannot rely on Enrollee timeout, i.e., there
> needs to be something to stop the infinite sequence of adding more time
> to the GAS response to cover the cases where the GAS client disappears
> from radio range.
>
> --
> Jouni Malinen PGP id EFC895FA
More information about the Hostap
mailing list