If both modules are configuring a handler of same type, if no explicit
ordering dependency has been defined within Apache modules, which
there will not be in this case, then handlers will be processed based
on order of LoadModule lines in Apache configuration.
Thus, try switching the order of the LoadModule lines around for the modules.
That is all I can think of.
Graham
> --
> You received this message because you are subscribed to the Google Groups "modwsgi" group.
> To post to this group, send email to mod...@googlegroups.com.
> To unsubscribe from this group, send email to modwsgi+u...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/modwsgi?hl=en.
>
Just an idea: you could perhaps rebuild Subversion yourself, with the
same apr/apr-util libraries as the ones used by your Apache server
(using the proper --with-apxs=... setting).
-- Christian
Graham
I thought I already suggested playing with order of LoadModule lines
in Apache configuration, will need to check back in emails. I did
consider that likely order of one of the handlers, but based on
fiddling LoadModule lines not helping, seemed to be something else.
static const char * const p1[] = { "mod_alias.c", NULL };
to:
static const char * const p1[] = { "mod_alias.c", "mod_dav_svn.c", NULL };
This will ensure that SVN module gets a look in first.
Graham
If you are able to modify and recompile mod_wsgi source code in your
setup, try modifying:
static const char * const p1[] = { "mod_alias.c", NULL };
to:
static const char * const p1[] = { "mod_alias.c", "mod_dav_svn.c", NULL };
This will ensure that SVN module gets a look in first.
It may not be mod_dav_svn that needs to be first but one of the core
DAV modules.
So in try mod_dav.c instead. Also maybe mod_dav_fs.
Graham
Graham
Did you get a chance to try with mod_dav.c etc instead?
"""
I am facing the same issue with django+apache+mod_wsgi+svn 1.7.
I posted it on svn mailing list and got following reply
"mod_wsgi is probably intercepting the POST request intended for
mod_dav_svn and not passing it on. Subversion 1.7.0 had a similar
problem, it tried to process non-Subversion POST requests and produced
an error. The Subversion problem was fixed in 1.7.2. A code change
in
mod_wsgi is probably required. It may be possible to reorder the
modules in the apache config file."
"""
If someone can find out what the change in that other code was that would help.
I suggested what would be need to do reordering but been told it doesn't work.
I would try and track down what the change in subversion 1.7.2 was,
and today I do have a very rare day to do some mod_wsgi stuff, but
time is a bit short as want to back port Apache 2.4 changes to
mod_wsgi 3.X.
If you happen to have a few minutes to look at subversion and work it
out that would be great.
What you will be looking for is changes in the equivalent of:
static void wsgi_register_hooks(apr_pool_t *p)
{
static const char * const p1[] = { "mod_alias.c", NULL };
static const char * const n1[]= { "mod_userdir.c",
"mod_vhost_alias.c", NULL };
static const char * const n2[] = { "core.c", NULL };
#if !defined(MOD_WSGI_WITH_AUTHN_PROVIDER)
static const char * const p3[] = { "mod_auth.c", NULL };
#endif
#if !defined(MOD_WSGI_WITH_AUTHZ_PROVIDER)
static const char * const n4[] = { "mod_authz_user.c", NULL };
#endif
static const char * const n5[] = { "mod_authz_host.c", NULL };
static const char * const p6[] = { "mod_python.c", NULL };
static const char * const p7[] = { "mod_ssl.c", NULL };
ap_hook_post_config(wsgi_hook_init, p6, NULL, APR_HOOK_MIDDLE);
ap_hook_child_init(wsgi_hook_child_init, p6, NULL, APR_HOOK_MIDDLE);
ap_hook_translate_name(wsgi_hook_intercept, p1, n1, APR_HOOK_MIDDLE);
ap_hook_handler(wsgi_hook_handler, NULL, NULL, APR_HOOK_MIDDLE);
#if defined(MOD_WSGI_WITH_DAEMONS)
ap_hook_post_config(wsgi_hook_logio, NULL, n2, APR_HOOK_REALLY_FIRST);
wsgi_header_filter_handle =
ap_register_output_filter("WSGI_HEADER", wsgi_header_filter,
NULL, AP_FTYPE_PROTOCOL);
#endif
#if !defined(MOD_WSGI_WITH_AUTHN_PROVIDER)
ap_hook_check_user_id(wsgi_hook_check_user_id, p3, NULL, APR_HOOK_MIDDLE);
#else
ap_register_provider(p, AUTHN_PROVIDER_GROUP, "wsgi",
AUTHN_PROVIDER_VERSION, &wsgi_authn_provider);
#endif
#if !defined(MOD_WSGI_WITH_AUTHZ_PROVIDER)
ap_hook_auth_checker(wsgi_hook_auth_checker, NULL, n4, APR_HOOK_MIDDLE);
#else
ap_register_provider(p, AUTHZ_PROVIDER_GROUP, "wsgi-group",
AUTHZ_PROVIDER_VERSION, &wsgi_authz_provider);
#endif
ap_hook_access_checker(wsgi_hook_access_checker, p7, n5, APR_HOOK_MIDDLE);
}
This is what sets up Apache handlers and order.
I will try and look later, but if someone can get to it first, even better.
Graham