summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorAndré Malo <nd@apache.org>2004-06-05 00:40:47 +0200
committerAndré Malo <nd@apache.org>2004-06-05 00:40:47 +0200
commit7accf16eed5269fd6085d1b5ccf4a2739b73b0cd (patch)
tree554b7daa186cbccc57a92e61a47522b0682626c0 /server
parentooooops. This file somehow got cleaned. (diff)
downloadapache2-7accf16eed5269fd6085d1b5ccf4a2739b73b0cd.tar.xz
apache2-7accf16eed5269fd6085d1b5ccf4a2739b73b0cd.zip
Nobody objected:
<IfModule> now takes the module identifier in addition to the filename. CAUTION: this commit breaks the build on netware. It still needs to be adjusted. (but I don't have any netware knowledge...) Also, developers need to re-run buildconf on unices. PR: 29003 Submitted by: Edward Rudd <eddie omegaware.com>, Andr� Malo git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@103849 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'server')
-rw-r--r--server/core.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/server/core.c b/server/core.c
index 3475c0f347..35eb37efb5 100644
--- a/server/core.c
+++ b/server/core.c
@@ -48,6 +48,8 @@
#include "mod_proxy.h"
#include "ap_listen.h"
+#include "mod_so.h" /* for ap_find_loaded_module_symbol */
+
/* LimitRequestBody handling */
#define AP_LIMIT_REQ_BODY_UNSET ((apr_off_t) -1)
#define AP_DEFAULT_LIMIT_REQ_BODY ((apr_off_t) 0)
@@ -1896,6 +1898,28 @@ static const char *start_ifmod(cmd_parms *cmd, void *mconfig, const char *arg)
found = ap_find_linked_module(arg);
+ /* search prelinked stuff */
+ if (!found) {
+ ap_module_symbol_t *current = ap_prelinked_module_symbols;
+
+ for (; current->name; ++current) {
+ if (!strcmp(current->name, arg)) {
+ found = current->modp;
+ break;
+ }
+ }
+ }
+
+ /* search dynamic stuff */
+ if (!found) {
+ APR_OPTIONAL_FN_TYPE(ap_find_loaded_module_symbol) *check_symbol =
+ APR_RETRIEVE_OPTIONAL_FN(ap_find_loaded_module_symbol);
+
+ if (check_symbol) {
+ found = check_symbol(cmd->server, arg);
+ }
+ }
+
if ((!not && found) || (not && !found)) {
ap_directive_t *parent = NULL;
ap_directive_t *current = NULL;