On Tue, 31 Jul 2012, [email protected] wrote:

Author: humbedooh
Date: Tue Jul 31 11:47:04 2012
New Revision: 1367504

URL: http://svn.apache.org/viewvc?rev=1367504&view=rev
Log:
mod_lua: The current way of getting the authz provider name doesn't seem to 
work. This approach should fix that.

Modified:
   httpd/httpd/trunk/modules/lua/mod_lua.c

Modified: httpd/httpd/trunk/modules/lua/mod_lua.c
URL: 
http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/lua/mod_lua.c?rev=1367504&r1=1367503&r2=1367504&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/lua/mod_lua.c (original)
+++ httpd/httpd/trunk/modules/lua/mod_lua.c Tue Jul 31 11:47:04 2012
@@ -1006,8 +1006,7 @@ static const char *lua_authz_parse(cmd_p
    const char *provider_name;
    lua_authz_provider_spec *spec;

-    apr_pool_userdata_get((void**)&provider_name, AUTHZ_PROVIDER_NAME_NOTE,
-                          cmd->temp_pool);
+    provider_name = (const char*) ap_getword(cmd->temp_pool, 
&cmd->directive->args, ' ');
    ap_assert(provider_name != NULL);

    spec = apr_hash_get(lua_authz_providers, provider_name, 
APR_HASH_KEY_STRING);

Huh? I am very sure that I have tested this. In which configuration did it not work? And does your code work with negation like "Require not foo bar"?

If your change is kept, the corresponding code in mod_authz_core should be removed, too. And the ap_assert() can't trigger anymore. But I think passing as pool userdata is preferable.

Reply via email to