On Sun, Jul 20, 2003 at 08:18:17AM -0500, Ben Collins-Sussman wrote:
> Shlomi Fish <shlomif@vipe.technion.ac.il> writes:
>
> > Resolves Issue #1267 (Have to say "No" several times to reject SSL
> > certificate.)
> >
> > * session.c
> > (server_ssl_callback): modified this function to set the ssl_certificate
> > flags in the session baton.
> >
> > * ra_dav.h
> > Added the ssl_certificate flags to the svn_ra_session_t baton.
> >
> > * util.c
> > (svn_ra_dav__parsed_request): reset the ssl_certificate flags at the
> > beginning of the request. Check for an SSL rejection and if so,
> > return an authorization error.
>
> OK, I've finally studied this patch, and now it's *my* turn to object
> to it. (Poor Shlomi... :-) )
>
> This patch adds a global cache to the RA session object, so that
> svn_ra_dav__parsed_request can return SVN_ERR_RA_NOT_AUTHORIZED. This
> causes svn_ra_dav__search_for_starting_props to stop retrying PROPFIND
> requests on parent directories, because, at the moment, it's only
> ignoring the more generic SVN_ERR_RA_DAV_REQUEST_FAILED.
It sounds like the real problem is here; this function should walk up
the parents if and only if the PROPFIND request gets a 404 response
(when the given path no longer exists in HEAD).
Currently this function is carrying on past all the fatal errors neon is
returning, e.g. NE_CONNECT, NE_LOOKUP, etc ...
$ strace -e connect svn co http://localhost:666/ag/aga/ag
connect(3, {sa_family=AF_UNIX, path="/var/run/.nscd_socket"}, 110) = -1
ENOENT (No such file or directory)
connect(3, {sa_family=AF_INET, sin_port=htons(666),
sin_addr=inet_addr("127.0.0.1")}, 16) = -1 ECONNREFUSED (Connection refused)
connect(3, {sa_family=AF_INET, sin_port=htons(666),
sin_addr=inet_addr("127.0.0.1")}, 16) = -1 ECONNREFUSED (Connection refused)
connect(3, {sa_family=AF_INET, sin_port=htons(666),
sin_addr=inet_addr("127.0.0.1")}, 16) = -1 ECONNREFUSED (Connection refused)
connect(3, {sa_family=AF_INET, sin_port=htons(666),
sin_addr=inet_addr("127.0.0.1")}, 16) = -1 ECONNREFUSED (Connection refused)
svn: RA layer request failed
svn: The path was not part of a repository
svn: PROPFIND request failed on '/'
svn: PROPFIND of '/': could not connect to server (http://localhost:666)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jul 21 12:36:45 2003