]> granicus.if.org Git - apache/commitdiff
pass the provider name to parse_require_line as pool userdata
authorStefan Fritsch <sf@apache.org>
Sat, 16 Jun 2012 22:44:36 +0000 (22:44 +0000)
committerStefan Fritsch <sf@apache.org>
Sat, 16 Jun 2012 22:44:36 +0000 (22:44 +0000)
This allows a single C function to implement several authz providers.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1351016 13f79535-47bb-0310-9956-ffa450edef68

modules/aaa/mod_authz_core.c

index dc116696aeda9bad6ee4e32eab17207416ecbac7..a5c628e8de1ae955798390b6a12aad0a28269b3a 100644 (file)
@@ -413,8 +413,14 @@ static const char *add_authz_provider(cmd_parms *cmd, void *config,
     section->limited = cmd->limited;
 
     if (section->provider->parse_require_line) {
-        const char *err = section->provider->parse_require_line(cmd, args,
-                                                                &section->provider_parsed_args);
+        const char *err;
+        apr_pool_userdata_setn(section->provider_name,
+                               AUTHZ_PROVIDER_NAME_NOTE,
+                               apr_pool_cleanup_null,
+                               cmd->temp_pool);
+        err = section->provider->parse_require_line(cmd, args,
+                                              &section->provider_parsed_args);
+
         if (err)
             return err;
     }