On Tue, Oct 22, 2013 at 11:07:56AM +0200, [email protected] wrote: > Current code works with DIGEST-MD5, but not with PLAIN.
After spending quite some time on this, this seems right, we need to handle sasl_client_start() returning SASL_OK and not step in this case. However, as this is under-documented in cyrus-sasl documentation, I'll ask on their mailing list first if this makes sense (and hopefully get cyrus-sasl documentation improved). Christophe > > Signed-off-by: Dietmar Maurer <[email protected]> > > Index: new/gtk/spice-channel.c > =================================================================== > --- new.orig/gtk/spice-channel.c 2013-10-22 09:04:23.000000000 +0200 > +++ new/gtk/spice-channel.c 2013-10-22 09:40:10.000000000 +0200 > @@ -1508,7 +1511,7 @@ > > /* NB, distinction of NULL vs "" is *critical* in SASL */ > if (clientout) { > - len += clientoutlen + 1; > + len = clientoutlen + 1; > spice_channel_write(channel, &len, sizeof(guint32)); > spice_channel_write(channel, clientout, len); > } else { > @@ -1550,6 +1553,9 @@ > * Even if the server has completed, the client must *always* do at > least one step > * in this loop to verify the server isn't lying about something. Mutual > auth */ > for (;;) { > + if (complete && err == SASL_OK) > + break; > + > restep: > err = sasl_client_step(saslconn, > serverin, > > _______________________________________________ > Spice-devel mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/spice-devel
pgpjaepiOejT8.pgp
Description: PGP signature
_______________________________________________ Spice-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/spice-devel
