On 10/30/26 09:42, Erik Huelsmann wrote:
> Hi Michal,
> 
> 
> When I wrote Sys::Async::Virt 2 years ago, I extensively studied the
> SASL code in libvirt.
> 
> At the time, I thought I saw patters where the following sequence
> might be going on: INIT -> START -> STEP -> START
> 
> The second START would be issued after setting up the correct
> authentication data after an authentication had been challenged. Do
> you see the same pattern? If so, then the second START will already
> have the "started" boolean set to true, even when it hasn't. Using a
> state machine with a single "state" variable would prevent that.
> 

Ah, if that's the case then my patch is incorrect, though the only thing
needed is to drop some checks to allow START after STEP again. I have
not seen that in my testing, though. And looking into remoteAuthSASL() I
don't see a way that a client could call the sequence from your example.
The only sequence possible is INIT -> START [-> STEP [-> STEP ...]].

Michal

Reply via email to