Geoffrey Young wrote:
sorry, but I'm not following. can you guys be specific (code wise) about what is supposed to be forbidden? my only knowledge of mod_perl using that file pointer is when implementing <Foo> containers where we (of course) need to know what is between the opening and closing markers. but in that respect, we are no different from any other module that wants to implement a RAW_ARGS directive...
The way the config code works (when I last looked at it, which was a while ago) is that it opens up a file, and swallows up lines of the file one by one. Sometimes lines are comments and are ignored, sometimes lines are containers, and code is run to handle the nesting, and sometimes the line is a normal directive to be processed.
If a module (like mod_perl) grabs the fp and reads the config file itself, it is simply also doing line by line processing as described above, in other words two pieces of code doing the same thing.
Ideally (shoot me down if I am wrong) a hook should be provided that provides each line - an underlying module can then create "lines" from lines of a text file, or .htaccess file, or by walking an XML tree, whatever. As each "line" is a config directive + optional argument(s) (or container directive + option argument(s)), you could break it up into a name/value pair instead.
The ability to pass container <Foo> directives to modules in addition to directives would need to be sorted out so as to solve mod_perl's config problems. There currently isn't a mechanism to do this as I understand (yet).
Regards, Graham --
smime.p7s
Description: S/MIME Cryptographic Signature