ap_directive_t *parent;
};
-#define AP_MODULE_HAS_FLAGS \
- AP_MODULE_MAGIC_AT_LEAST(20161018,7)
+#define AP_MODULE_FLAGS_MMN_MAJOR 20161018
+#define AP_MODULE_FLAGS_MMN_MINOR 7
+#define AP_MODULE_HAS_FLAGS(m) \
+ AP_MODULE_MAGIC_AT_LEAST(AP_MODULE_FLAGS_MMN_MAJOR, \
+ AP_MODULE_FLAGS_MMN_MINOR)
#if AP_MODULE_HAS_FLAGS
/**
* Flags associated with a module.
if (!virt_vector[i]) {
#if AP_MODULE_HAS_FLAGS
- if (df && modp->create_server_config
- && modp->flags & AP_MODULE_FLAG_ALWAYS_MERGE) {
+ if (df
+ && modp->create_server_config
+ && (modp->version > AP_MODULE_FLAGS_MMN_MAJOR
+ || (modp->version == AP_MODULE_FLAGS_MMN_MAJOR
+ && (modp->minor_version >=
+ AP_MODULE_FLAGS_MMN_MINOR)))
+ /* keep this after version checks (flags out-of-bound) */
+ && (modp->flags & AP_MODULE_FLAG_ALWAYS_MERGE)) {
virt_vector[i] = (*modp->create_server_config)(p, virt);
}
else