Apache模块开发:验证目录配置

时间:2018-03-14 11:14:44

标签: apache apr apache-modules

我正在寻找一种方法来验证与我的Apache模块相关的每个目录配置中的指令关系。所以假设我有两个指令可以在<Location /><Directory />块中定义:

AP_INIT_TAKE1("Directive1", set_directive1, NULL, OR_AUTHCFG, "Directive1"),
AP_INIT_TAKE1("Directive2", set_directive2, NULL, OR_AUTHCFG, "Directive 2"),

我如何以及何时确保Directive1Directive2都已设置且不为空?在ap_hook_post_config挂钩中没有顺利的方法来获取所有目录配置。检查服务器配置非常简单,因为它可以通过ap_get_module_config(s->module_config, &my_module)访问,但目录配置呢?

现在我正在维护流程配置池中的所有目录配置列表(通过apr_pool_userdata_set / apr_pool_userdata_get)。这样我可以检索我的模块在ap_hook_post_config钩子中创建的目录配置,但我无法想象这是要走的路。至少它感觉非常hacky。

我对如何处理这个问题的想法感到非常高兴。我检查了mod_example.c以及Apache API Doc,但在ap_hook_post_dir_config配置创建完成时,似乎没有<Directory />挂钩。

更新:抱歉,忘记提及我正在使用C

进行开发

0 个答案:

没有答案