On Feb 8, 2008 1:34 PM, <epg_at_tigris.org> wrote:
> Author: epg
> Date: Fri Feb 8 13:34:31 2008
> New Revision: 29241
>
> Log:
> Fix minor bug causing svnserve gssapi (and possibly other sasl
> backends) to deadlock, as the client never sends the response the
> server is looking for.
>
> * subversion/libsvn_ra_svn/cyrus_auth.c
> (try_auth): If sasl_client_step returns SASL_CONTINUE, we must
> send something to the server even if sasl_client_step set out
> to NULL; that just means we send the empty string, so do so.
>
>
> Modified:
> trunk/subversion/libsvn_ra_svn/cyrus_auth.c
>
> Modified: trunk/subversion/libsvn_ra_svn/cyrus_auth.c
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_ra_svn/cyrus_auth.c?pathrev=29241&r1=29240&r2=29241
> ==============================================================================
> --- trunk/subversion/libsvn_ra_svn/cyrus_auth.c (original)
> +++ trunk/subversion/libsvn_ra_svn/cyrus_auth.c Fri Feb 8 13:34:31 2008
> @@ -465,6 +465,10 @@
> arg = svn_base64_encode_string(arg, pool);
> SVN_ERR(svn_ra_svn_write_cstring(sess->conn, pool, arg->data));
> }
> + else
> + {
> + SVN_ERR(svn_ra_svn_write_cstring(sess->conn, pool, ""));
> + }
> }
>
> if (!status || strcmp(status, "step") == 0)
Not that it particularly matters, but this change could also have been
made by deleting code rather than adding it: just dropping the "if
(outlen > 0)" a few lines up should do the trick, I think.
--dave
--
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-02-08 23:23:16 CET