[Adding dev@s.a.o as I think this is a bug in the Subversion code, although I don't know enough to be sure.]
Jean-Daniel Dupas <devli...@shadowlab.org> writes: >> Le 18 oct. 2011 à 18:39, Jean-Daniel Dupas a écrit: >> >>> After upgrading to svn 1.7, I encounter some very annoying issues. >>> I have a web server with the following configuration: >>> >>> hostname/ : standard website >>> hostname/svn: subversion repositories (using dav_svn) >>> hostname/projects: other website. >>> >>> Before the update, this configuration were working fine. But after >>> the update, anytime the server receives a POST request (whatever the >>> path is), the dav_svn module try to handle it, and when it failed >>> (always when the path does not start with /svn/...), it returns a >>> 500 error (without logging anything in the error.log, which is an >>> other issue). >>> >>> FWIW, the error is created and returned by the get_resource() >>> function, in mod_dav_svn/repos.c. >>> >>> Is there something I can do to workaround this issue ? > > I found some details about this issue. > > When neither SVNPath, nor SVNParentPath are defined in a vhost, or > alias, the mod_dav_svn prevents processing of all POST requests. > > So it is no longer possible to have mod_dav_svn loaded in an apache > instance used to serve other content (as modules are globals). As far as I can see mod_dav_svn.c:dav_svn__handler passes all POST requests to dav_svn__method_post and that function will return an error if the request does not have SVNPath or SVNParentPath set since it will fail to open a repository. Is that the behaviour we want? I don't think we should be attempting to handle POST requests that are directed at non-Subversion locations. Should one of those functions simply ignore the POST request when neither SVNPath nor SVNParentPath is set? I see we register the hook using APR_HOOK_LAST. Does that mean we expect other hooks to get in first and handle non-Subversion POST requests? What happpens if the other handler also uses APR_HOOK_LAST? Does it then depend on the order of the module loads? Is it random? -- Philip