# limitations under the License.
BEGIN {
RS = " "
+ # the core module must come first
modules[n++] = "core"
pmodules[pn++] = "core"
}
* Add members of core_request_config: document_root,
* context_document_root, context_prefix.
* Add ap_context_*(), ap_set_context_info(), ap_set_document_root()
+ * 20110605.1 (2.3.13-dev) add ap_(get|set)_core_module_config()
*/
#define MODULE_MAGIC_COOKIE 0x41503234UL /* "AP24" */
#ifndef MODULE_MAGIC_NUMBER_MAJOR
#define MODULE_MAGIC_NUMBER_MAJOR 20110605
#endif
-#define MODULE_MAGIC_NUMBER_MINOR 0 /* 0...n */
+#define MODULE_MAGIC_NUMBER_MINOR 1 /* 0...n */
/**
* Determine if the server's current MODULE_MAGIC_NUMBER is at least a
*/
AP_DECLARE_DATA extern module core_module;
+/**
+ * Accessor for core_module's specific data. Equivalent to
+ * ap_get_module_config(cv, &core_module) but more efficient.
+ * @param cv The vector in which the modules configuration is stored.
+ * usually r->per_dir_config or s->module_config
+ * @return The module-specific data
+ */
+AP_DECLARE(void *) ap_get_core_module_config(const ap_conf_vector_t *cv);
+
+/**
+ * Accessor to set core_module's specific data. Equivalent to
+ * ap_set_module_config(cv, &core_module, val) but more efficient.
+ * @param cv The vector in which the modules configuration is stored.
+ * usually r->per_dir_config or s->module_config
+ * @param val The module-specific data to set
+ */
+AP_DECLARE(void) ap_set_core_module_config(ap_conf_vector_t *cv, void *val);
+
+#ifndef AP_DEBUG
+#define AP_CORE_MODULE_INDEX 0
+#define ap_get_core_module_config(v) \
+ (((void **)(v))[AP_CORE_MODULE_INDEX])
+#define ap_set_core_module_config(v, val) \
+ ((((void **)(v))[AP_CORE_MODULE_INDEX]) = (val))
+#else
+#define AP_CORE_MODULE_INDEX (AP_DEBUG_ASSERT(core_module.module_index == 0), 0)
+#endif
+
/**
* @brief Per-request configuration
*/
disk_cache_conf *conf = ap_get_module_config(r->server->module_config,
&cache_disk_module);
#ifdef APR_SENDFILE_ENABLED
- core_dir_config *coreconf = ap_get_module_config(r->per_dir_config,
- &core_module);
+ core_dir_config *coreconf = ap_get_core_module_config(r->per_dir_config);
#endif
apr_finfo_t finfo;
cache_object_t *obj;
}
if (!csd) {
- csd = ap_get_module_config(c->conn_config, &core_module);
+ csd = ap_get_core_module_config(c->conn_config);
apr_socket_timeout_set(csd, c->base_server->keep_alive_timeout);
}
#include "httpd.h"
#include "http_config.h"
+#include "http_core.h"
#include "http_connection.h"
#include "http_log.h"
#include "mpm_common.h"
#include "scoreboard.h"
module AP_MODULE_DECLARE_DATA noloris_module;
-module AP_MODULE_DECLARE_DATA core_module;
#define ADDR_MAX_SIZE 48
shm_rec = apr_shm_baseaddr_get(shm);
while (shm_rec[0] != '\0') {
if (!strcmp(shm_rec, conn->remote_ip)) {
- apr_socket_t *csd = ap_get_module_config(conn->conn_config, &core_module);
+ apr_socket_t *csd = ap_get_core_module_config(conn->conn_config);
ap_log_cerror(APLOG_MARK, APLOG_ERR, 0, conn,
"Dropping connection from banned IP %s",
conn->remote_ip);
#if defined(RLIMIT_CPU) || defined(RLIMIT_NPROC) || \
defined(RLIMIT_DATA) || defined(RLIMIT_VMEM) || defined (RLIMIT_AS)
core_dir_config *conf =
- (core_dir_config *)ap_get_module_config(r->per_dir_config,
- &core_module);
+ (core_dir_config *)ap_get_core_module_config(r->per_dir_config);
apr_status_t rv;
#ifdef RLIMIT_CPU
}
if (!ccfg->socket) {
- ccfg->socket = ap_get_module_config(f->c->conn_config, &core_module);
+ ccfg->socket = ap_get_core_module_config(f->c->conn_config);
}
rv = check_time_left(ccfg, &time_left);
#if defined(RLIMIT_CPU) || defined(RLIMIT_NPROC) || \
defined(RLIMIT_DATA) || defined(RLIMIT_VMEM) || defined (RLIMIT_AS)
- core_dir_config *conf = ap_get_module_config(r->per_dir_config,
- &core_module);
+ core_dir_config *conf = ap_get_core_module_config(r->per_dir_config);
#endif
#ifdef DEBUG_CGI
pid_t ppid; /* sanity check for config problems leading to
* wrong cgid socket use
*/
- int core_module_index;
int env_count;
ap_unix_identity_t ugid;
apr_size_t filename_len;
rconf = (void **)ap_create_request_config(r->pool);
temp_core = (core_request_config *)apr_palloc(r->pool, sizeof(core_module));
- rconf[req->core_module_index] = (void *)temp_core;
+ rconf[AP_CORE_MODULE_INDEX] = (void *)temp_core;
r->request_config = (ap_conf_vector_t *)rconf;
ap_set_module_config(r->request_config, &cgid_module, (void *)&req->ugid);
cgid_req_t req = {0};
apr_status_t stat;
ap_unix_identity_t * ugid = ap_run_get_suexec_identity(r);
- core_dir_config *core_conf = ap_get_module_config(r->per_dir_config,
- &core_module);
+ core_dir_config *core_conf = ap_get_core_module_config(r->per_dir_config);
if (ugid == NULL) {
req.req_type = req_type;
req.ppid = parent_pid;
req.conn_id = r->connection->id;
- req.core_module_index = core_module.module_index;
for (req.env_count = 0; env[req.env_count]; req.env_count++) {
continue;
}
}
if (!csd) {
- csd = ap_get_module_config(c->conn_config, &core_module);
+ csd = ap_get_core_module_config(c->conn_config);
}
apr_socket_opt_set(csd, APR_INCOMPLETE_READ, 1);
apr_socket_timeout_set(csd, c->base_server->keep_alive_timeout);
etag_components_t etag_bits;
etag_components_t bits_added;
- cfg = (core_dir_config *)ap_get_module_config(r->per_dir_config,
- &core_module);
+ cfg = (core_dir_config *)ap_get_core_module_config(r->per_dir_config);
etag_bits = (cfg->etag_bits & (~ cfg->etag_remove)) | cfg->etag_add;
/*
while (r->prev) {
r = r->prev;
}
- conf = (core_server_config *)ap_get_module_config(r->server->module_config,
- &core_module);
+ conf = ap_get_core_module_config(r->server->module_config);
if (conf->trace_enable == AP_TRACE_DISABLE) {
apr_table_setn(r->notes, "error-notes",
{
/* Make sure ap_getline() didn't leave any droppings. */
core_request_config *req_cfg =
- (core_request_config *)ap_get_module_config(r->request_config,
- &core_module);
+ (core_request_config *)ap_get_core_module_config(r->request_config);
AP_DEBUG_ASSERT(APR_BRIGADE_EMPTY(req_cfg->bb));
}
#endif
apr_hash_index_t *hi = apr_hash_first(r->pool, methods_registry);
/* For TRACE below */
core_server_config *conf =
- ap_get_module_config(r->server->module_config, &core_module);
+ ap_get_core_module_config(r->server->module_config);
mask = r->allowed_methods->method_mask;
if (apr_table_get(r->subprocess_env,
"suppress-error-charset") != NULL) {
core_request_config *request_conf =
- ap_get_module_config(r->request_config, &core_module);
+ ap_get_core_module_config(r->request_config);
request_conf->suppress_charset = 1; /* avoid adding default
* charset later
*/
if (r->method_number == M_TRACE) {
core_server_config *coreconf = (core_server_config *)
- ap_get_module_config(sconf, &core_module);
+ ap_get_core_module_config(sconf);
if (coreconf->trace_enable == AP_TRACE_DISABLE)
{
apr_status_t err, rv;
apr_size_t nbytes;
char buffer[HUGE_STRING_LEN];
- apr_socket_t *client_socket = ap_get_module_config(c->conn_config, &core_module);
+ apr_socket_t *client_socket = ap_get_core_module_config(c->conn_config);
int failed, rc;
int client_error = 0;
apr_pollset_t *pollset;
/* XXXXX: THIS IS AN EVIL HACK */
/* There should really be a (documented) public API for this ! */
- clientsock = ap_get_module_config(r->connection->conn_config, &core_module);
+ clientsock = ap_get_core_module_config(r->connection->conn_config);
rv = send_socket(r->pool, sock, clientsock);
if (rv != APR_SUCCESS) {
"proxy: FD: failed to create dummy socket");
return HTTP_INTERNAL_SERVER_ERROR;
}
- ap_set_module_config(r->connection->conn_config, &core_module, dummy);
+ ap_set_core_module_config(r->connection->conn_config, dummy);
}
return DECLINED;
}
- ccfg = ap_get_module_config(r->per_dir_config,
- &core_module);
+ ccfg = ap_get_core_module_config(r->per_dir_config);
rv = apr_file_open(&fd, r->filename, APR_READ | APR_BINARY
extern module netware_module;
module *ap_prelinked_modules[] = {
- &core_module,
+ &core_module, /* core must come first */
&mpm_netware_module,
&http_module,
&so_module,
extern module so_module;
AP_DECLARE_DATA module *ap_prelinked_modules[] = {
- &core_module,
+ &core_module, /* core must come first */
&win32_module,
&mpm_winnt_module,
&http_module,
#include "mpm_common.h"
#define APLOG_UNSET (APLOG_NO_MODULE - 1)
-APLOG_USE_MODULE(core);
+/* we know core's module_index is 0 */
+#undef APLOG_MODULE_INDEX
+#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
AP_DECLARE_DATA const char *ap_server_argv0 = NULL;
AP_DECLARE_DATA const char *ap_server_root = NULL;
AP_DECLARE(void) ap_fixup_virtual_hosts(apr_pool_t *p, server_rec *main_server)
{
server_rec *virt;
- core_dir_config *dconf = ap_get_module_config(main_server->lookup_defaults,
- &core_module);
+ core_dir_config *dconf =
+ ap_get_core_module_config(main_server->lookup_defaults);
dconf->log = &main_server->log;
for (virt = main_server->next; virt; virt = virt->next) {
ap_merge_log_config(&main_server->log, &virt->log);
- dconf = ap_get_module_config(virt->lookup_defaults, &core_module);
+ dconf = ap_get_core_module_config(virt->lookup_defaults);
dconf->log = &virt->log;
/* XXX: this is really something that should be dealt with by a
char dummybuf[512];
apr_size_t nbytes;
apr_time_t timeup = 0;
- apr_socket_t *csd = ap_get_module_config(c->conn_config, &core_module);
+ apr_socket_t *csd = ap_get_core_module_config(c->conn_config);
if (!csd) {
return;
* the http_conf_globals.
*/
+/* we know core's module_index is 0 */
+#undef APLOG_MODULE_INDEX
+#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
+
/* Handles for core filters */
AP_DECLARE_DATA ap_filter_rec_t *ap_subreq_core_filter_handle;
AP_DECLARE_DATA ap_filter_rec_t *ap_core_output_filter_handle;
AP_CORE_DECLARE(void) ap_add_per_dir_conf(server_rec *s, void *dir_config)
{
- core_server_config *sconf = ap_get_module_config(s->module_config,
- &core_module);
+ core_server_config *sconf = ap_get_core_module_config(s->module_config);
void **new_space = (void **)apr_array_push(sconf->sec_dir);
*new_space = dir_config;
AP_CORE_DECLARE(void) ap_add_per_url_conf(server_rec *s, void *url_config)
{
- core_server_config *sconf = ap_get_module_config(s->module_config,
- &core_module);
+ core_server_config *sconf = ap_get_core_module_config(s->module_config);
void **new_space = (void **)apr_array_push(sconf->sec_url);
*new_space = url_config;
core_dir_config *core_a;
core_dir_config *core_b;
- core_a = ap_get_module_config(a->elt, &core_module);
- core_b = ap_get_module_config(b->elt, &core_module);
+ core_a = ap_get_core_module_config(a->elt);
+ core_b = ap_get_core_module_config(b->elt);
/* a regex always sorts after a non-regex
*/
int i;
apr_pool_t *tmp;
- sconf = ap_get_module_config(s->module_config, &core_module);
+ sconf = ap_get_core_module_config(s->module_config);
sec_dir = sconf->sec_dir;
nelts = sec_dir->nelts;
elts = (ap_conf_vector_t **)sec_dir->elts;
AP_DECLARE(int) ap_allow_options(request_rec *r)
{
core_dir_config *conf =
- (core_dir_config *)ap_get_module_config(r->per_dir_config, &core_module);
+ (core_dir_config *)ap_get_core_module_config(r->per_dir_config);
return conf->opts;
}
AP_DECLARE(int) ap_allow_overrides(request_rec *r)
{
core_dir_config *conf;
- conf = (core_dir_config *)ap_get_module_config(r->per_dir_config,
- &core_module);
+ conf = (core_dir_config *)ap_get_core_module_config(r->per_dir_config);
return conf->override;
}
AP_DECLARE(const char *) ap_document_root(request_rec *r) /* Don't use this! */
{
core_server_config *sconf;
- core_request_config *rconf = ap_get_module_config(r->request_config,
- &core_module);
+ core_request_config *rconf = ap_get_core_module_config(r->request_config);
if (rconf->document_root)
return rconf->document_root;
- sconf = ap_get_module_config(r->server->module_config, &core_module);
+ sconf = ap_get_core_module_config(r->server->module_config);
return sconf->ap_document_root;
}
AP_DECLARE(const char *) ap_context_prefix(request_rec *r)
{
- core_request_config *conf = ap_get_module_config(r->request_config,
- &core_module);
+ core_request_config *conf = ap_get_core_module_config(r->request_config);
if (conf->context_prefix)
return conf->context_prefix;
else
AP_DECLARE(const char *) ap_context_document_root(request_rec *r)
{
- core_request_config *conf = ap_get_module_config(r->request_config,
- &core_module);
+ core_request_config *conf = ap_get_core_module_config(r->request_config);
if (conf->context_document_root)
return conf->context_document_root;
else
AP_DECLARE(void) ap_set_document_root(request_rec *r, const char *document_root)
{
- core_request_config *conf = ap_get_module_config(r->request_config,
- &core_module);
+ core_request_config *conf = ap_get_core_module_config(r->request_config);
conf->document_root = document_root;
}
AP_DECLARE(void) ap_set_context_info(request_rec *r, const char *context_prefix,
const char *context_document_root)
{
- core_request_config *conf = ap_get_module_config(r->request_config,
- &core_module);
+ core_request_config *conf = ap_get_core_module_config(r->request_config);
if (context_prefix)
conf->context_prefix = context_prefix;
if (context_document_root)
char *ap_response_code_string(request_rec *r, int error_index)
{
core_dir_config *dirconf;
- core_request_config *reqconf;
+ core_request_config *reqconf = ap_get_core_module_config(r->request_config);
/* check for string registered via ap_custom_response() first */
- reqconf = (core_request_config *)ap_get_module_config(r->request_config,
- &core_module);
if (reqconf->response_code_strings != NULL &&
reqconf->response_code_strings[error_index] != NULL) {
return reqconf->response_code_strings[error_index];
}
/* check for string specified via ErrorDocument */
- dirconf = (core_dir_config *)ap_get_module_config(r->per_dir_config,
- &core_module);
+ dirconf = ap_get_core_module_config(r->per_dir_config);
if (dirconf->response_code_strings == NULL) {
return NULL;
/* If we haven't checked the host name, and we want to */
if (dir_config) {
- hostname_lookups =
- ((core_dir_config *)ap_get_module_config(dir_config, &core_module))
- ->hostname_lookups;
+ hostname_lookups = ((core_dir_config *)ap_get_core_module_config(dir_config))
+ ->hostname_lookups;
if (hostname_lookups == HOSTNAME_LOOKUP_UNSET) {
hostname_lookups = HOSTNAME_LOOKUP_OFF;
core_dir_config *d;
const char *retval;
- d = (core_dir_config *)ap_get_module_config(r->per_dir_config,
- &core_module);
+ d = (core_dir_config *)ap_get_core_module_config(r->per_dir_config);
switch (d->use_canonical_name) {
case USE_CANONICAL_NAME_ON:
{
apr_port_t port;
core_dir_config *d =
- (core_dir_config *)ap_get_module_config(r->per_dir_config, &core_module);
+ (core_dir_config *)ap_get_core_module_config(r->per_dir_config);
switch (d->use_canonical_name) {
case USE_CANONICAL_NAME_OFF:
AP_DECLARE(apr_off_t) ap_get_limit_req_body(const request_rec *r)
{
core_dir_config *d =
- (core_dir_config *)ap_get_module_config(r->per_dir_config, &core_module);
+ (core_dir_config *)ap_get_core_module_config(r->per_dir_config);
if (d->limit_req_body == AP_LIMIT_REQ_BODY_UNSET) {
return AP_DEFAULT_LIMIT_REQ_BODY;
const char *arg)
{
void *sconf = cmd->server->module_config;
- core_server_config *conf = ap_get_module_config(sconf, &core_module);
+ core_server_config *conf = ap_get_core_module_config(sconf);
const char *err = ap_check_cmd_context(cmd, NOT_IN_DIR_LOC_FILE);
if (err != NULL) {
static const char *set_gprof_dir(cmd_parms *cmd, void *dummy, const char *arg)
{
void *sconf = cmd->server->module_config;
- core_server_config *conf = ap_get_module_config(sconf, &core_module);
+ core_server_config *conf = ap_get_core_module_config(sconf);
const char *err = ap_check_cmd_context(cmd, NOT_IN_DIR_LOC_FILE);
if (err != NULL) {
const char *arg)
{
void *sconf = cmd->server->module_config;
- core_server_config *conf = ap_get_module_config(sconf, &core_module);
+ core_server_config *conf = ap_get_core_module_config(sconf);
const char *err = ap_check_cmd_context(cmd, NOT_IN_DIR_LOC_FILE);
if (err != NULL) {
AP_DECLARE(void) ap_custom_response(request_rec *r, int status,
const char *string)
{
- core_request_config *conf =
- ap_get_module_config(r->request_config, &core_module);
+ core_request_config *conf = ap_get_core_module_config(r->request_config);
int idx;
if (conf->response_code_strings == NULL) {
const char *iproto, const char* iaccf)
{
const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY);
- core_server_config *conf = ap_get_module_config(cmd->server->module_config,
- &core_module);
+ core_server_config *conf =
+ ap_get_core_module_config(cmd->server->module_config);
char* proto;
char* accf;
if (err != NULL) {
AP_DECLARE(const char*) ap_get_server_protocol(server_rec* s)
{
- core_server_config *conf = ap_get_module_config(s->module_config,
- &core_module);
+ core_server_config *conf = ap_get_core_module_config(s->module_config);
return conf->protocol;
}
AP_DECLARE(void) ap_set_server_protocol(server_rec* s, const char* proto)
{
- core_server_config *conf = ap_get_module_config(s->module_config,
- &core_module);
+ core_server_config *conf = ap_get_core_module_config(s->module_config);
conf->protocol = proto;
}
const char *arg)
{
const char *err = ap_check_cmd_context(cmd, NOT_IN_DIR_LOC_FILE);
- core_server_config *conf = ap_get_module_config(cmd->server->module_config,
- &core_module);
+ core_server_config *conf =
+ ap_get_core_module_config(cmd->server->module_config);
char* proto;
if (err != NULL) {
char sport[20];
core_dir_config *conf;
- conf = (core_dir_config *)ap_get_module_config(r->per_dir_config,
- &core_module);
+ conf = (core_dir_config *)ap_get_core_module_config(r->per_dir_config);
if ((conf->server_signature == srv_sig_off)
|| (conf->server_signature == srv_sig_unset)) {
return "";
{
core_dir_config *conf;
- conf = ap_get_module_config(r->per_dir_config, &core_module);
+ conf = ap_get_core_module_config(r->per_dir_config);
if (conf->limit_xml_body == AP_LIMIT_UNSET)
return AP_DEFAULT_LIMIT_XML_BODY;
static const char *set_recursion_limit(cmd_parms *cmd, void *dummy,
const char *arg1, const char *arg2)
{
- core_server_config *conf = ap_get_module_config(cmd->server->module_config,
- &core_module);
+ core_server_config *conf =
+ ap_get_core_module_config(cmd->server->module_config);
int limit = atoi(arg1);
if (limit <= 0) {
*/
AP_DECLARE(int) ap_is_recursion_limit_exceeded(const request_rec *r)
{
- core_server_config *conf = ap_get_module_config(r->server->module_config,
- &core_module);
+ core_server_config *conf =
+ ap_get_core_module_config(r->server->module_config);
const request_rec *top = r;
int redirects = 0, subreqs = 0;
int rlimit = conf->redirect_limit
static const char *set_trace_enable(cmd_parms *cmd, void *dummy,
const char *arg1)
{
- core_server_config *conf = ap_get_module_config(cmd->server->module_config,
- &core_module);
+ core_server_config *conf =
+ ap_get_core_module_config(cmd->server->module_config);
if (strcasecmp(arg1, "on") == 0) {
conf->trace_enable = AP_TRACE_ENABLE;
const char *arg1, const char *arg2)
{
const char *err_string = NULL;
- core_server_config *conf = ap_get_module_config(cmd->server->module_config,
- &core_module);
+ core_server_config *conf =
+ ap_get_core_module_config(cmd->server->module_config);
if (!arg2) {
conf->error_log_format = parse_errorlog_string(cmd->pool, arg1,
AP_DECLARE_NONSTD(int) ap_core_translate(request_rec *r)
{
void *sconf = r->server->module_config;
- core_server_config *conf = ap_get_module_config(sconf, &core_module);
+ core_server_config *conf = ap_get_core_module_config(sconf);
apr_status_t rv;
/* XXX this seems too specific, this should probably become
static int core_override_type(request_rec *r)
{
core_dir_config *conf =
- (core_dir_config *)ap_get_module_config(r->per_dir_config,
- &core_module);
+ (core_dir_config *)ap_get_core_module_config(r->per_dir_config);
/* Check for overrides with ForceType / SetHandler
*/
*/
int bld_content_md5;
- d = (core_dir_config *)ap_get_module_config(r->per_dir_config,
- &core_module);
+ d = (core_dir_config *)ap_get_core_module_config(r->per_dir_config);
bld_content_md5 = (d->content_md5 == AP_CONTENT_MD5_ON)
&& r->output_filters->frec->ftype != AP_FTYPE_RESOURCE;
if (r->method_number != M_GET) {
core_request_config *req_cfg;
- req_cfg = ap_get_module_config(r->request_config, &core_module);
+ req_cfg = ap_get_core_module_config(r->request_config);
if (!req_cfg->deliver_script) {
/* The flag hasn't been set for this request. Punt. */
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
static void core_insert_filter(request_rec *r)
{
core_dir_config *conf = (core_dir_config *)
- ap_get_module_config(r->per_dir_config,
- &core_module);
+ ap_get_core_module_config(r->per_dir_config);
const char *filter, *filters = conf->output_filters;
if (filters) {
}
req_cfg = (core_request_config *)
- ap_get_module_config(r->request_config, &core_module);
+ ap_get_core_module_config(r->request_config);
if (!req_cfg) {
return NULL;
if (r->main) {
core_request_config *main_req_cfg = (core_request_config *)
- ap_get_module_config(r->main->request_config, &core_module);
+ ap_get_core_module_config(r->main->request_config);
req_cfg->bb = main_req_cfg->bb;
}
else {
req_cfg->bb = apr_brigade_create(r->pool, r->connection->bucket_alloc);
}
- ap_set_module_config(r->request_config, &core_module, req_cfg);
+ ap_set_core_module_config(r->request_config, req_cfg);
return OK;
}
net->out_ctx = NULL;
net->client_socket = csd;
- ap_set_module_config(net->c->conn_config, &core_module, csd);
+ ap_set_core_module_config(net->c->conn_config, csd);
ap_add_input_filter_handle(ap_core_input_filter_handle, net, NULL, net->c);
ap_add_output_filter_handle(ap_core_output_filter_handle, net, NULL, net->c);
return DONE;
} while (!APR_BRIGADE_EMPTY(b) && (e != APR_BRIGADE_SENTINEL(b))); \
} while (0)
-APLOG_USE_MODULE(core);
+/* we know core's module_index is 0 */
+#undef APLOG_MODULE_INDEX
+#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
int ap_core_input_filter(ap_filter_t *f, apr_bucket_brigade *b,
ap_input_mode_t mode, apr_read_type_e block,
#include "http_log.h"
#include "mpm_common.h"
-APLOG_USE_MODULE(core);
+/* we know core's module_index is 0 */
+#undef APLOG_MODULE_INDEX
+#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
AP_DECLARE_DATA ap_listen_rec *ap_listeners = NULL;
static const char* find_accf_name(server_rec *s, const char *proto)
{
const char* accf;
- core_server_config *conf = ap_get_module_config(s->module_config,
- &core_module);
+ core_server_config *conf = ap_get_core_module_config(s->module_config);
if (!proto) {
return NULL;
}
#include "util_time.h"
#include "ap_mpm.h"
-APLOG_USE_MODULE(core);
+/* we know core's module_index is 0 */
+#undef APLOG_MODULE_INDEX
+#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
typedef struct {
const char *t_name;
/* the faked server_rec from mod_cgid does not have s->module_config */
if (s->module_config) {
- sconf = ap_get_module_config(s->module_config, &core_module);
+ sconf = ap_get_core_module_config(s->module_config);
if (c && !c->log_id) {
add_log_id(c, NULL);
if (sconf->error_log_conn && sconf->error_log_conn->nelts > 0)
static void chdir_for_gprof(void)
{
core_server_config *sconf =
- ap_get_module_config(ap_server_conf->module_config, &core_module);
+ ap_get_core_module_config(ap_server_conf->module_config);
char *dir = sconf->gprof_dir;
const char *use_dir;
#endif
u_long zero = 0;
- core_sconf = ap_get_module_config(ap_server_conf->module_config,
- &core_module);
+ core_sconf = ap_get_core_module_config(ap_server_conf->module_config);
accf_name = apr_table_get(core_sconf->accf_map, lr->protocol);
if (strcmp(accf_name, "data") == 0)
#include "httpd.h"
#include "http_config.h"
+#include "http_core.h"
#include "http_log.h"
#include "http_main.h"
#include "mpm_common.h"
#include <unistd.h>
#endif
-APLOG_USE_MODULE(core);
+/* we know core's module_index is 0 */
+#undef APLOG_MODULE_INDEX
+#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
#if AP_ENABLE_EXCEPTION_HOOK
APR_HOOK_STRUCT(
#include "httpd.h"
#include "http_config.h"
+#include "http_core.h"
#include "http_log.h"
#include "http_main.h"
#include "mpm_common.h"
#endif
-APLOG_USE_MODULE(core);
+/* we know core's module_index is 0 */
+#undef APLOG_MODULE_INDEX
+#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
typedef enum {DO_NOTHING, SEND_SIGTERM, SEND_SIGKILL, GIVEUP} action_t;
#include <unistd.h>
#endif
-
-APLOG_USE_MODULE(core);
+/* we know core's module_index is 0 */
+#undef APLOG_MODULE_INDEX
+#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
APR_HOOK_STRUCT(
APR_HOOK_LINK(pre_read_request)
{
const apr_strmatch_pattern **pcset;
core_dir_config *conf =
- (core_dir_config *)ap_get_module_config(r->per_dir_config,
- &core_module);
+ (core_dir_config *)ap_get_core_module_config(r->per_dir_config);
core_request_config *request_conf;
apr_size_t type_len;
return type;
}
- request_conf =
- ap_get_module_config(r->request_config, &core_module);
+ request_conf = ap_get_core_module_config(r->request_config);
if (request_conf->suppress_charset) {
return type;
}
* to the normal timeout mode as we fetch the header lines,
* as necessary.
*/
- csd = ap_get_module_config(conn->conn_config, &core_module);
+ csd = ap_get_core_module_config(conn->conn_config);
apr_socket_timeout_get(csd, &cur_timeout);
if (cur_timeout != conn->base_server->timeout) {
apr_socket_timeout_set(csd, conn->base_server->timeout);
#include <stdarg.h>
#endif
-APLOG_USE_MODULE(core);
+/* we know core's module_index is 0 */
+#undef APLOG_MODULE_INDEX
+#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
APR_HOOK_STRUCT(
APR_HOOK_LINK(translate_name)
/* Ignore embedded %2F's in path for proxy requests */
if (!r->proxyreq && r->parsed_uri.path) {
- d = ap_get_module_config(r->per_dir_config, &core_module);
+ d = ap_get_core_module_config(r->per_dir_config);
if (d->allow_encoded_slashes) {
access_status = ap_unescape_url_keep2f(r->parsed_uri.path, d->decode_encoded_slashes);
}
return access_status;
}
- d = ap_get_module_config(r->per_dir_config, &core_module);
+ d = ap_get_core_module_config(r->per_dir_config);
if (d->log) {
r->log = d->log;
}
return access_status;
}
- d = ap_get_module_config(r->per_dir_config, &core_module);
+ d = ap_get_core_module_config(r->per_dir_config);
if (d->log) {
r->log = d->log;
}
static void core_opts_merge(const ap_conf_vector_t *sec, core_opts_t *opts)
{
- core_dir_config *this_dir = ap_get_module_config(sec, &core_module);
+ core_dir_config *this_dir = ap_get_core_module_config(sec);
if (!this_dir) {
return;
AP_DECLARE(int) ap_directory_walk(request_rec *r)
{
ap_conf_vector_t *now_merged = NULL;
- core_server_config *sconf = ap_get_module_config(r->server->module_config,
- &core_module);
+ core_server_config *sconf =
+ ap_get_core_module_config(r->server->module_config);
ap_conf_vector_t **sec_ent = (ap_conf_vector_t **) sconf->sec_dir->elts;
int num_sec = sconf->sec_dir->nelts;
walk_cache_t *cache;
allow_options_t opts;
core_dir_config *this_dir;
- this_dir = ap_get_module_config(r->per_dir_config, &core_module);
+ this_dir = ap_get_core_module_config(r->per_dir_config);
opts = this_dir->opts;
/*
* If Symlinks are allowed in general we do not need the following
* We didn't start the merge from r->per_dir_config, so we
* accumulate opts and override as we merge, from the globals.
*/
- this_dir = ap_get_module_config(r->per_dir_config, &core_module);
+ this_dir = ap_get_core_module_config(r->per_dir_config);
opts.opts = this_dir->opts;
opts.add = this_dir->opts_add;
opts.remove = this_dir->opts_remove;
ap_conf_vector_t *entry_config = sec_ent[sec_idx];
core_dir_config *entry_core;
- entry_core = ap_get_module_config(entry_config, &core_module);
+ entry_core = ap_get_core_module_config(entry_config);
/* No more possible matches for this many segments?
* We are done when we find relative/regex/longer components.
for (; sec_idx < num_sec; ++sec_idx) {
core_dir_config *entry_core;
- entry_core = ap_get_module_config(sec_ent[sec_idx], &core_module);
+ entry_core = ap_get_core_module_config(sec_ent[sec_idx]);
if (!entry_core->r) {
continue;
AP_DECLARE(int) ap_location_walk(request_rec *r)
{
ap_conf_vector_t *now_merged = NULL;
- core_server_config *sconf = ap_get_module_config(r->server->module_config,
- &core_module);
+ core_server_config *sconf =
+ ap_get_core_module_config(r->server->module_config);
ap_conf_vector_t **sec_ent = (ap_conf_vector_t **)sconf->sec_url->elts;
int num_sec = sconf->sec_url->nelts;
walk_cache_t *cache;
for (sec_idx = 0; sec_idx < num_sec; ++sec_idx) {
core_dir_config *entry_core;
- entry_core = ap_get_module_config(sec_ent[sec_idx], &core_module);
+ entry_core = ap_get_core_module_config(sec_ent[sec_idx]);
/* ### const strlen can be optimized in location config parsing */
len = strlen(entry_core->d);
AP_DECLARE(int) ap_file_walk(request_rec *r)
{
ap_conf_vector_t *now_merged = NULL;
- core_dir_config *dconf = ap_get_module_config(r->per_dir_config,
- &core_module);
+ core_dir_config *dconf = ap_get_core_module_config(r->per_dir_config);
ap_conf_vector_t **sec_ent = NULL;
int num_sec = 0;
walk_cache_t *cache;
*/
for (sec_idx = 0; sec_idx < num_sec; ++sec_idx) {
core_dir_config *entry_core;
- entry_core = ap_get_module_config(sec_ent[sec_idx], &core_module);
+ entry_core = ap_get_core_module_config(sec_ent[sec_idx]);
if (entry_core->r
? ap_regexec(entry_core->r, cache->cached , 0, NULL, 0)
AP_DECLARE(int) ap_if_walk(request_rec *r)
{
ap_conf_vector_t *now_merged = NULL;
- core_dir_config *dconf = ap_get_module_config(r->per_dir_config,
- &core_module);
+ core_dir_config *dconf = ap_get_core_module_config(r->per_dir_config);
ap_conf_vector_t **sec_ent = NULL;
int num_sec = 0;
walk_cache_t *cache;
const char *err = NULL;
core_dir_config *entry_core;
int rc;
- entry_core = ap_get_module_config(sec_ent[sec_idx], &core_module);
+ entry_core = ap_get_core_module_config(sec_ent[sec_idx]);
AP_DEBUG_ASSERT(entry_core->condition_ifelse != 0);
if (entry_core->condition_ifelse & AP_CONDITION_ELSE) {
#include "scoreboard.h"
-APLOG_USE_MODULE(core);
+/* we know core's module_index is 0 */
+#undef APLOG_MODULE_INDEX
+#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
AP_DECLARE_DATA scoreboard *ap_scoreboard_image = NULL;
AP_DECLARE_DATA const char *ap_scoreboard_fname = NULL;
#include "http_log.h"
#include "http_protocol.h"
#include "http_config.h"
+#include "http_core.h"
#include "util_ebcdic.h"
#ifdef HAVE_PWD_H
#define SLASHES "/"
#endif
-APLOG_USE_MODULE(core);
+/* we know core's module_index is 0 */
+#undef APLOG_MODULE_INDEX
+#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
/*
#include "apr_lib.h"
#include "apr_strings.h"
#include "http_config.h"
+#include "http_core.h"
#include "http_log.h"
#define LOG_PREFIX "ap_cookie: "
-APLOG_USE_MODULE(core);
+/* we know core's module_index is 0 */
+#undef APLOG_MODULE_INDEX
+#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
/**
* Write an RFC2109 compliant cookie.
#include "httpd.h"
#include "http_config.h"
+#include "http_core.h"
/* Possibly get rid of the macros we defined in httpd.h */
#if defined(strchr)
return ((void **)cv)[m->module_index];
}
+#if defined(ap_get_core_module_config)
+#undef ap_get_core_module_config
+AP_DECLARE(void *) ap_get_core_module_config(const ap_conf_vector_t *cv);
+#endif
+
+AP_DECLARE(void *) ap_get_core_module_config(const ap_conf_vector_t *cv)
+{
+ return ((void **)cv)[AP_CORE_MODULE_INDEX];
+}
+
+
#if defined(ap_get_server_module_loglevel)
#undef ap_get_server_module_loglevel
AP_DECLARE(int) ap_get_server_module_loglevel(const server_rec *s, int module_index);
{
((void **)cv)[m->module_index] = val;
}
+
+
+#if defined(ap_set_core_module_config)
+#undef ap_set_core_module_config
+AP_DECLARE(void) ap_set_core_module_config(ap_conf_vector_t *cv, void *val);
+#endif
+
+AP_DECLARE(void) ap_set_core_module_config(ap_conf_vector_t *cv, void *val)
+{
+ ((void **)cv)[AP_CORE_MODULE_INDEX] = val;
+}
#include "http_core.h"
#include "util_ebcdic.h"
-APLOG_USE_MODULE(core);
+/* we know core's module_index is 0 */
+#undef APLOG_MODULE_INDEX
+#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
apr_status_t ap_init_ebcdic(apr_pool_t *pool)
{
#include "apr_lib.h"
#include "apr_fnmatch.h"
-APLOG_USE_MODULE(core);
+/* we know core's module_index is 0 */
+#undef APLOG_MODULE_INDEX
+#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
APR_HOOK_STRUCT(
APR_HOOK_LINK(expr_lookup)
#include "httpd.h"
#include "http_config.h"
+#include "http_core.h"
#include "http_log.h"
#include "util_filter.h"
* filter names to filters
*/
-APLOG_USE_MODULE(core);
+/* we know core's module_index is 0 */
+#undef APLOG_MODULE_INDEX
+#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
typedef struct filter_trie_node filter_trie_node;
#include "httpd.h"
#include "http_main.h"
#include "http_config.h"
+#include "http_core.h"
#include "http_log.h"
#include "util_mutex.h"
#if AP_NEED_SET_MUTEX_PERMS
#include <unistd.h> /* getpid() */
#endif
-APLOG_USE_MODULE(core);
+/* we know core's module_index is 0 */
+#undef APLOG_MODULE_INDEX
+#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
AP_DECLARE(apr_status_t) ap_parse_mutex(const char *arg, apr_pool_t *pool,
apr_lockmech_e *mutexmech,
#define MALFORMED_MESSAGE "malformed header from script. Bad header="
#define MALFORMED_HEADER_LENGTH_TO_SHOW 30
-APLOG_USE_MODULE(core);
+/* we know core's module_index is 0 */
+#undef APLOG_MODULE_INDEX
+#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
static char *http2env(request_rec *r, const char *w)
{
#define READ_BLOCKSIZE 2048
-APLOG_USE_MODULE(core);
+/* we know core's module_index is 0 */
+#undef APLOG_MODULE_INDEX
+#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
AP_DECLARE(int) ap_xml_parse_input(request_rec * r, apr_xml_doc **pdoc)
{
#include <arpa/inet.h>
#endif
-APLOG_USE_MODULE(core);
+/* we know core's module_index is 0 */
+#undef APLOG_MODULE_INDEX
+#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
/*
* After all the definitions there's an explanation of how it's all put