1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-07 04:02:58 +03:00

Rename most of the module formally known as mod_wombat to mod_lua conventions, switching apw prefixes for apl.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@728506 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Paul Querna
2008-12-21 21:17:15 +00:00
parent badab85d11
commit afcdc6d85c
9 changed files with 228 additions and 227 deletions

View File

@@ -23,12 +23,12 @@
#include "apr_lua.h"
APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(apw, WOMBAT, int, wombat_open,
APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(apl, AP_LUA, int, lua_open,
(lua_State *L, apr_pool_t *p),
(L, p),
OK, DECLINED)
APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(apw, WOMBAT, int, wombat_request,
APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(apl, AP_LUA, int, lua_request,
(lua_State *L, request_rec *r),
(L, r),
OK, DECLINED)
@@ -52,20 +52,20 @@ static void report_lua_error(lua_State *L, request_rec *r) {
ap_log_perror(APLOG_MARK, APLOG_WARNING, 0, r->pool, "Lua error: %s", lua_response);
}
static void wombat_open_callback(lua_State *L, apr_pool_t *p, void* ctx) {
static void lua_open_callback(lua_State *L, apr_pool_t *p, void* ctx) {
apr_lua_init(L, p);
apw_load_apache2_lmodule(L);
apw_load_request_lmodule(L, p);
apw_load_config_lmodule(L);
apl_load_apache2_lmodule(L);
apl_load_request_lmodule(L, p);
apl_load_config_lmodule(L);
}
static int wombat_open_hook(lua_State *L, apr_pool_t *p) {
wombat_open_callback(L, p, NULL);
static int lua_open_hook(lua_State *L, apr_pool_t *p) {
lua_open_callback(L, p, NULL);
return OK;
}
/*
static apr_status_t wombathood(ap_filter_t *f, apr_bucket_brigade *bb) {
static apr_status_t luahood(ap_filter_t *f, apr_bucket_brigade *bb) {
apr_bucket* b;
apr_status_t rs;
for ( b = APR_BRIGADE_FIRST(bb);
@@ -78,7 +78,7 @@ static apr_status_t wombathood(ap_filter_t *f, apr_bucket_brigade *bb) {
const char *buffer;
size_t bytes;
if (( rs = apr_bucket_read(b, &buffer, &bytes, APR_BLOCK_READ))) {
ap_log_rerror(APLOG_MARK, APLOG_WARNING, rs, f->r, "read failure in wombathood");
ap_log_rerror(APLOG_MARK, APLOG_WARNING, rs, f->r, "read failure in luahood");
return rs;
}
char *mine = apr_pstrmemdup(f->r->pool, buffer, bytes);
@@ -94,21 +94,21 @@ static apr_status_t wombathood(ap_filter_t *f, apr_bucket_brigade *bb) {
/**
* "main"
*/
static int wombat_handler(request_rec *r) {
static int lua_handler(request_rec *r) {
if (strcmp(r->handler, "lua-script")) {
return DECLINED;
}
ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, "handling [%s] in mod_wombat", r->filename);
apw_dir_cfg *dcfg = ap_get_module_config(r->per_dir_config, &lua_module);
ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, "handling [%s] in mod_lua", r->filename);
apl_dir_cfg *dcfg = ap_get_module_config(r->per_dir_config, &lua_module);
if (!r->header_only) {
apw_request_cfg* rcfg = ap_get_module_config(r->request_config, &lua_module);
apl_request_cfg* rcfg = ap_get_module_config(r->request_config, &lua_module);
mapped_request_details *d = rcfg->mapped_request_details;
apw_vm_spec *spec = NULL;
apl_vm_spec *spec = NULL;
if (!d) {
d = apr_palloc(r->pool, sizeof(mapped_request_details));
spec = apr_pcalloc(r->pool, sizeof(apw_vm_spec));
spec = apr_pcalloc(r->pool, sizeof(apl_vm_spec));
spec->scope = dcfg->vm_scope;
spec->pool = r->pool;
spec->file = r->filename;
@@ -119,12 +119,12 @@ static int wombat_handler(request_rec *r) {
ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, "request details scope:%u, cache:%u",
d->spec->scope,
d->spec->code_cache_style);
const apw_dir_cfg* cfg = ap_get_module_config(r->per_dir_config, &lua_module);
lua_State *L = apw_get_lua_state(r->pool,
const apl_dir_cfg* cfg = ap_get_module_config(r->per_dir_config, &lua_module);
lua_State *L = apl_get_lua_state(r->pool,
d->spec->file,
cfg->package_paths,
cfg->package_cpaths,
&wombat_open_callback, NULL);
&lua_open_callback, NULL);
ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, "got a vm!");
if (!L) {
@@ -133,7 +133,7 @@ static int wombat_handler(request_rec *r) {
ap_rputs("Unable to compile VM, see logs", r);
}
lua_getglobal(L, d->function_name);
apw_run_wombat_request(L, r);
apl_run_lua_request(L, r);
if (lua_pcall(L, 1, 0, 0)) {
report_lua_error(L, r);
}
@@ -146,24 +146,24 @@ static int wombat_handler(request_rec *r) {
/**
* Like mod_alias except for lua handler fun :-)
*/
static int apw_alias_munger(request_rec *r) {
const apw_dir_cfg *cfg = ap_get_module_config(r->per_dir_config, &lua_module);
static int apl_alias_munger(request_rec *r) {
const apl_dir_cfg *cfg = ap_get_module_config(r->per_dir_config, &lua_module);
int i;
ap_regmatch_t matches[AP_MAX_REG_MATCH];
for (i = 0; i < cfg->mapped_handlers->nelts; i++) {
const apw_mapped_handler_spec *cnd = ((const apw_mapped_handler_spec**)cfg->mapped_handlers->elts)[i];
const apl_mapped_handler_spec *cnd = ((const apl_mapped_handler_spec**)cfg->mapped_handlers->elts)[i];
if (OK == ap_regexec(cnd->uri_pattern, r->uri, AP_MAX_REG_MATCH, matches, 0)) {
r->handler = "lua-script";
apw_vm_spec *spec = apr_pcalloc(r->pool, sizeof(apw_vm_spec));
apl_vm_spec *spec = apr_pcalloc(r->pool, sizeof(apl_vm_spec));
spec->file = ap_pregsub(r->pool, cnd->file_name, r->uri, AP_MAX_REG_MATCH, matches);
spec->scope = cnd->scope;
spec->code_cache_style = cnd->code_cache_style;
spec->bytecode = cnd->bytecode;
spec->bytecode_len = cnd->bytecode_len;
if (spec->scope == APW_SCOPE_ONCE) {
if (spec->scope == APL_SCOPE_ONCE) {
spec->pool = r->pool;
}
@@ -174,7 +174,7 @@ static int apw_alias_munger(request_rec *r) {
/* now do replacement on method name where? */
r->filename = apr_pstrdup(r->pool, spec->file);
apw_request_cfg *rcfg = ap_get_module_config(r->request_config, &lua_module);
apl_request_cfg *rcfg = ap_get_module_config(r->request_config, &lua_module);
rcfg->mapped_request_details = d;
return OK;
}
@@ -186,18 +186,18 @@ static int apw_alias_munger(request_rec *r) {
/** harnesses for magic hooks **/
static int wombat_request_rec_hook_harness(request_rec *r, const char *name) {
static int lua_request_rec_hook_harness(request_rec *r, const char *name) {
char *fixed_filename;
const apw_dir_cfg* cfg = (apw_dir_cfg*) ap_get_module_config(r->per_dir_config,
const apl_dir_cfg* cfg = (apl_dir_cfg*) ap_get_module_config(r->per_dir_config,
&lua_module);
apr_array_header_t *hook_specs = apr_hash_get(cfg->hooks, name, APR_HASH_KEY_STRING);
if (hook_specs) {
int i;
for (i=0; i < hook_specs->nelts; i++) {
apw_mapped_handler_spec *hook_spec = ((apw_mapped_handler_spec**)hook_specs->elts)[i];
apl_mapped_handler_spec *hook_spec = ((apl_mapped_handler_spec**)hook_specs->elts)[i];
if (hook_spec == NULL) continue;
apw_vm_spec *spec = apr_pcalloc(r->pool, sizeof(apw_vm_spec));
apl_vm_spec *spec = apr_pcalloc(r->pool, sizeof(apl_vm_spec));
spec->file = hook_spec->file_name;
spec->code_cache_style = hook_spec->code_cache_style;
@@ -207,25 +207,25 @@ static int wombat_request_rec_hook_harness(request_rec *r, const char *name) {
spec->pool = r->pool;
/*
const apw_dir_cfg* cfg = ap_get_module_config(r->per_dir_config, &lua_module);
lua_State *L = apw_get_lua_state(r->pool,
const apl_dir_cfg* cfg = ap_get_module_config(r->per_dir_config, &lua_module);
lua_State *L = apl_get_lua_state(r->pool,
d->spec->file,
cfg->package_paths,
cfg->package_cpaths,
&wombat_open_callback, NULL);
&lua_open_callback, NULL);
*/
apw_server_cfg *server_cfg = ap_get_module_config(r->server->module_config, &lua_module);
apl_server_cfg *server_cfg = ap_get_module_config(r->server->module_config, &lua_module);
apr_filepath_merge(&fixed_filename, server_cfg->root_path, spec->file, APR_FILEPATH_NOTRELATIVE, r->pool);
lua_State *L = apw_get_lua_state(r->pool,
lua_State *L = apl_get_lua_state(r->pool,
fixed_filename,
cfg->package_paths,
cfg->package_cpaths,
&wombat_open_callback, NULL);
&lua_open_callback, NULL);
if (!L) {
ap_log_rerror(APLOG_MARK, APLOG_CRIT, 0, r, "wombat: Failed to obtain lua interpreter for %s %s",
ap_log_rerror(APLOG_MARK, APLOG_CRIT, 0, r, "lua: Failed to obtain lua interpreter for %s %s",
hook_spec->function_name,
hook_spec->file_name);
return 500;
@@ -234,16 +234,16 @@ static int wombat_request_rec_hook_harness(request_rec *r, const char *name) {
if (hook_spec->function_name != NULL) {
lua_getglobal(L, hook_spec->function_name);
if (!lua_isfunction(L, -1)) {
ap_log_rerror(APLOG_MARK, APLOG_CRIT, 0, r, "wombat: Unable to find function %s in %s",
ap_log_rerror(APLOG_MARK, APLOG_CRIT, 0, r, "lua: Unable to find function %s in %s",
hook_spec->function_name,
hook_spec->file_name);
return 500;
}
apw_run_wombat_request(L, r);
apl_run_lua_request(L, r);
}
else {
apw_run_wombat_request(L, r);
apl_run_lua_request(L, r);
int t = lua_gettop(L);
lua_setglobal(L, "r");
@@ -349,7 +349,7 @@ static int ldump_writer (lua_State *L, const void* b, size_t size, void* B) {
typedef struct hack_section_baton {
const char *name;
apw_mapped_handler_spec *spec;
apl_mapped_handler_spec *spec;
} hack_section_baton;
/* You can be unhappy now.
@@ -364,19 +364,19 @@ typedef struct hack_section_baton {
*/
static const char *hack_section_handler(cmd_parms *cmd, void *_cfg, const char *arg)
{
apw_dir_cfg* cfg = (apw_dir_cfg*)_cfg;
apl_dir_cfg* cfg = (apl_dir_cfg*)_cfg;
ap_directive_t *directive = cmd->directive;
hack_section_baton* baton = directive->data;
apr_array_header_t *hook_specs = apr_hash_get(cfg->hooks, baton->name, APR_HASH_KEY_STRING);
if (!hook_specs) {
hook_specs = apr_array_make(cmd->pool, 2, sizeof(apw_mapped_handler_spec*));
hook_specs = apr_array_make(cmd->pool, 2, sizeof(apl_mapped_handler_spec*));
apr_hash_set(cfg->hooks, apr_pstrdup(cmd->pool, baton->name), APR_HASH_KEY_STRING, hook_specs);
}
baton->spec->scope = cfg->vm_scope;
*(apw_mapped_handler_spec**)apr_array_push(hook_specs) = baton->spec;
*(apl_mapped_handler_spec**)apr_array_push(hook_specs) = baton->spec;
return NULL;
}
@@ -404,7 +404,7 @@ static const char *register_named_block_function_hook(const char *name,
}
}
apw_mapped_handler_spec *spec = apr_pcalloc(cmd->pool, sizeof(apw_mapped_handler_spec));
apl_mapped_handler_spec *spec = apr_pcalloc(cmd->pool, sizeof(apl_mapped_handler_spec));
{
cr_ctx ctx;
@@ -421,7 +421,7 @@ static const char *register_named_block_function_hook(const char *name,
else {
function = NULL;
}
spec->code_cache_style = APW_CODE_CACHE_FOREVER;
spec->code_cache_style = APL_CODE_CACHE_FOREVER;
ctx.cmd = cmd;
tmp = apr_pstrdup(cmd->pool, cmd->err_directive->directive+1);
@@ -478,66 +478,66 @@ static const char* register_named_file_function_hook(const char *name,
void *_cfg,
const char *file,
const char *function) {
apw_dir_cfg* cfg = (apw_dir_cfg*)_cfg;
apl_dir_cfg* cfg = (apl_dir_cfg*)_cfg;
apr_array_header_t *hook_specs = apr_hash_get(cfg->hooks, name, APR_HASH_KEY_STRING);
if (!hook_specs) {
hook_specs = apr_array_make(cmd->pool, 2, sizeof(apw_mapped_handler_spec*));
hook_specs = apr_array_make(cmd->pool, 2, sizeof(apl_mapped_handler_spec*));
apr_hash_set(cfg->hooks, apr_pstrdup(cmd->pool, name), APR_HASH_KEY_STRING, hook_specs);
}
apw_mapped_handler_spec *spec = apr_pcalloc(cmd->pool, sizeof(apw_mapped_handler_spec));
apl_mapped_handler_spec *spec = apr_pcalloc(cmd->pool, sizeof(apl_mapped_handler_spec));
spec->file_name = apr_pstrdup(cmd->pool, file);
spec->function_name = apr_pstrdup(cmd->pool, function);
spec->scope = cfg->vm_scope;
spec->code_cache_style = APW_CODE_CACHE_STAT;
spec->code_cache_style = APL_CODE_CACHE_STAT;
/*
int code_cache_style;
char *function_name;
char *file_name;
int scope;
*/
*(apw_mapped_handler_spec**)apr_array_push(hook_specs) = spec;
*(apl_mapped_handler_spec**)apr_array_push(hook_specs) = spec;
return NULL;
}
int wombat_check_user_id_harness(request_rec *r) {
return wombat_request_rec_hook_harness(r, "check_user_id");
int lua_check_user_id_harness(request_rec *r) {
return lua_request_rec_hook_harness(r, "check_user_id");
}
int wombat_translate_name_harness(request_rec *r) {
return wombat_request_rec_hook_harness(r, "translate_name");
int lua_translate_name_harness(request_rec *r) {
return lua_request_rec_hook_harness(r, "translate_name");
}
int wombat_fixup_harness(request_rec *r) {
return wombat_request_rec_hook_harness(r, "fixups");
int lua_fixup_harness(request_rec *r) {
return lua_request_rec_hook_harness(r, "fixups");
}
int wombat_map_to_storage_harness(request_rec *r) {
return wombat_request_rec_hook_harness(r, "map_to_storage");
int lua_map_to_storage_harness(request_rec *r) {
return lua_request_rec_hook_harness(r, "map_to_storage");
}
int wombat_type_checker_harness(request_rec *r) {
return wombat_request_rec_hook_harness(r, "type_checker");
int lua_type_checker_harness(request_rec *r) {
return lua_request_rec_hook_harness(r, "type_checker");
}
int wombat_access_checker_harness(request_rec *r) {
return wombat_request_rec_hook_harness(r, "access_checker");
int lua_access_checker_harness(request_rec *r) {
return lua_request_rec_hook_harness(r, "access_checker");
}
int wombat_auth_checker_harness(request_rec *r) {
return wombat_request_rec_hook_harness(r, "auth_checker");
int lua_auth_checker_harness(request_rec *r) {
return lua_request_rec_hook_harness(r, "auth_checker");
}
void wombat_insert_filter_harness(request_rec *r) {
void lua_insert_filter_harness(request_rec *r) {
/* ap_log_rerror(APLOG_MARK, APLOG_WARNING, 0, r, "LuaHookInsertFilter not yet implemented"); */
}
int wombat_quick_harness(request_rec *r, int lookup) {
int lua_quick_harness(request_rec *r, int lookup) {
if(lookup) {
return DECLINED;
}
return wombat_request_rec_hook_harness(r, "quick");
return lua_request_rec_hook_harness(r, "quick");
}
static const char* register_translate_name_hook(cmd_parms *cmd, void *_cfg, const char *file, const char *function) {
@@ -608,7 +608,7 @@ static const char* register_quick_block(cmd_parms *cmd, void *_cfg, const char *
static const char* register_package_helper(cmd_parms *cmd, const char *arg, apr_array_header_t *dir_array) {
apr_status_t rv;
apw_server_cfg *server_cfg = ap_get_module_config(cmd->server->module_config, &lua_module);
apl_server_cfg *server_cfg = ap_get_module_config(cmd->server->module_config, &lua_module);
char *fixed_filename;
rv = apr_filepath_merge(&fixed_filename, server_cfg->root_path, arg, APR_FILEPATH_NOTRELATIVE, cmd->pool);
if (rv != APR_SUCCESS) {
@@ -625,7 +625,7 @@ static const char* register_package_helper(cmd_parms *cmd, const char *arg, apr_
* LuaPackagePath /lua/package/path/mapped/thing/like/this/?.lua
*/
const char* register_package_dir(cmd_parms *cmd, void *_cfg, const char *arg) {
apw_dir_cfg* cfg = (apw_dir_cfg*)_cfg;
apl_dir_cfg* cfg = (apl_dir_cfg*)_cfg;
return register_package_helper(cmd, arg, cfg->package_paths);
}
@@ -635,7 +635,7 @@ const char* register_package_dir(cmd_parms *cmd, void *_cfg, const char *arg) {
* LuaPackageCPath /lua/package/path/mapped/thing/like/this/?.so
*/
const char* register_package_cdir(cmd_parms *cmd, void *_cfg, const char *arg) {
apw_dir_cfg* cfg = (apw_dir_cfg*)_cfg;
apl_dir_cfg* cfg = (apl_dir_cfg*)_cfg;
return register_package_helper(cmd, arg, cfg->package_cpaths);
}
@@ -645,15 +645,15 @@ const char* register_package_cdir(cmd_parms *cmd, void *_cfg, const char *arg) {
* LuaCodeCache
*/
const char* register_code_cache(cmd_parms *cmd, void *_cfg, const char *arg) {
apw_dir_cfg* cfg = (apw_dir_cfg*)_cfg;
apl_dir_cfg* cfg = (apl_dir_cfg*)_cfg;
if (apr_strnatcmp("stat", arg) == 0) {
cfg->code_cache_style = APW_CODE_CACHE_STAT;
cfg->code_cache_style = APL_CODE_CACHE_STAT;
}
else if (apr_strnatcmp("forever", arg) == 0) {
cfg->code_cache_style = APW_CODE_CACHE_FOREVER;
cfg->code_cache_style = APL_CODE_CACHE_FOREVER;
}
else if (apr_strnatcmp("never", arg) == 0) {
cfg->code_cache_style = APW_CODE_CACHE_NEVER;
cfg->code_cache_style = APL_CODE_CACHE_NEVER;
}
else {
return apr_psprintf(cmd->pool,
@@ -666,18 +666,18 @@ const char* register_code_cache(cmd_parms *cmd, void *_cfg, const char *arg) {
static const char* register_lua_scope(cmd_parms *cmd, void *_cfg, const char *scope,
const char *min,
const char *max) {
apw_dir_cfg* cfg = (apw_dir_cfg*)_cfg;
apl_dir_cfg* cfg = (apl_dir_cfg*)_cfg;
if (apr_strnatcmp("once", scope) == 0) {
cfg->vm_scope = APW_SCOPE_ONCE;
cfg->vm_scope = APL_SCOPE_ONCE;
}
else if (apr_strnatcmp("request", scope) == 0) {
cfg->vm_scope = APW_SCOPE_REQUEST;
cfg->vm_scope = APL_SCOPE_REQUEST;
}
else if (apr_strnatcmp("conn", scope) == 0) {
cfg->vm_scope = APW_SCOPE_CONN;
cfg->vm_scope = APL_SCOPE_CONN;
}
else if (apr_strnatcmp("server", scope) == 0) {
cfg->vm_scope = APW_SCOPE_SERVER;
cfg->vm_scope = APL_SCOPE_SERVER;
if (min) cfg->vm_server_pool_min = atoi(min);
if (max) cfg->vm_server_pool_max = atoi(max);
}
@@ -695,12 +695,12 @@ static const char* register_lua_scope(cmd_parms *cmd, void *_cfg, const char *sc
* AddLuaHandler /alias /path/to/lua/file.lua [handler_function_name]
*/
static const char* lua_map_handler(cmd_parms *cmd, void *_cfg, const char *path, const char *file, const char *function) {
apw_dir_cfg* cfg = (apw_dir_cfg*)_cfg;
apl_dir_cfg* cfg = (apl_dir_cfg*)_cfg;
const char *function_name;
function_name = function ? function : "handle";
apr_status_t rv;
rv = apw_lua_map_handler(cfg, file, function_name, path, "once");
rv = apl_lua_map_handler(cfg, file, function_name, path, "once");
if (rv != APR_SUCCESS) {
return apr_psprintf(cmd->pool, "Unable to configure a lua handler for path '%s', handler %s#%s",
path, file, function_name);
@@ -709,8 +709,8 @@ static const char* lua_map_handler(cmd_parms *cmd, void *_cfg, const char *path,
}
static const char* register_lua_root(cmd_parms *cmd, void *_cfg, const char *root) {
/* apw_dir_cfg* cfg = (apw_dir_cfg*)_cfg; */
apw_server_cfg* cfg = ap_get_module_config(cmd->server->module_config, &lua_module);
/* apl_dir_cfg* cfg = (apl_dir_cfg*)_cfg; */
apl_server_cfg* cfg = ap_get_module_config(cmd->server->module_config, &lua_module);
cfg->root_path = root;
return NULL;
@@ -718,10 +718,10 @@ static const char* register_lua_root(cmd_parms *cmd, void *_cfg, const char *roo
/*******************************/
command_rec wombat_commands[] = {
command_rec lua_commands[] = {
AP_INIT_TAKE1("LuaRoot", register_lua_root, NULL, OR_ALL,
"Specify the base path for resolving relative paths for mod_wombat directives"),
"Specify the base path for resolving relative paths for mod_lua directives"),
AP_INIT_TAKE1("LuaPackagePath", register_package_dir, NULL, OR_ALL,
@@ -804,20 +804,20 @@ command_rec wombat_commands[] = {
static void* create_dir_config(apr_pool_t *p, char *dir) {
apw_dir_cfg* cfg = apr_pcalloc(p, sizeof(apw_dir_cfg));
apl_dir_cfg* cfg = apr_pcalloc(p, sizeof(apl_dir_cfg));
cfg->package_paths = apr_array_make(p, 2, sizeof(char*));
cfg->package_cpaths = apr_array_make(p, 2, sizeof(char*));
cfg->mapped_handlers = apr_array_make(p, 1, sizeof(apw_mapped_handler_spec*));
cfg->code_cache_style = APW_CODE_CACHE_STAT;
cfg->mapped_handlers = apr_array_make(p, 1, sizeof(apl_mapped_handler_spec*));
cfg->code_cache_style = APL_CODE_CACHE_STAT;
cfg->pool = p;
cfg->hooks = apr_hash_make(p);
cfg->dir = apr_pstrdup(p, dir);
cfg->vm_scope = APW_SCOPE_ONCE;
cfg->vm_scope = APL_SCOPE_ONCE;
return cfg;
}
static int create_request_config(request_rec *r) {
apw_request_cfg *cfg = apr_palloc(r->pool, sizeof(apw_request_cfg));
apl_request_cfg *cfg = apr_palloc(r->pool, sizeof(apl_request_cfg));
cfg->mapped_request_details = NULL;
cfg->request_scoped_vms = apr_hash_make(r->pool);
ap_set_module_config(r->request_config, &lua_module, cfg);
@@ -826,8 +826,8 @@ static int create_request_config(request_rec *r) {
static void* create_server_config(apr_pool_t *p, server_rec *s) {
apw_server_cfg *cfg = apr_pcalloc(p, sizeof(apw_server_cfg));
cfg->code_cache = apr_pcalloc(p, sizeof(apw_code_cache));
apl_server_cfg *cfg = apr_pcalloc(p, sizeof(apl_server_cfg));
cfg->code_cache = apr_pcalloc(p, sizeof(apl_code_cache));
apr_thread_rwlock_create(&cfg->code_cache->compiled_files_lock, p);
cfg->code_cache->compiled_files = apr_hash_make(p);
cfg->vm_reslists = apr_hash_make(p);
@@ -838,34 +838,34 @@ static void* create_server_config(apr_pool_t *p, server_rec *s) {
return cfg;
}
static int wombat_request_hook(lua_State *L, request_rec *r) {
apw_push_request(L, r);
static int lua_request_hook(lua_State *L, request_rec *r) {
apl_push_request(L, r);
return OK;
}
static void wombat_register_hooks(apr_pool_t *p) {
/* ap_register_output_filter("wombathood", wombathood, NULL, AP_FTYPE_RESOURCE); */
ap_hook_handler(wombat_handler, NULL, NULL, APR_HOOK_MIDDLE);
static void lua_register_hooks(apr_pool_t *p) {
/* ap_register_output_filter("luahood", luahood, NULL, AP_FTYPE_RESOURCE); */
ap_hook_handler(lua_handler, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_create_request(create_request_config, NULL, NULL, APR_HOOK_MIDDLE);
/* http_request.h hooks */
ap_hook_translate_name(wombat_translate_name_harness, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_fixups(wombat_fixup_harness, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_map_to_storage(wombat_map_to_storage_harness, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_check_user_id(wombat_check_user_id_harness, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_type_checker(wombat_type_checker_harness, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_access_checker(wombat_access_checker_harness, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_auth_checker(wombat_auth_checker_harness, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_insert_filter(wombat_insert_filter_harness, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_quick_handler(wombat_quick_harness, NULL, NULL, APR_HOOK_FIRST);
ap_hook_translate_name(lua_translate_name_harness, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_fixups(lua_fixup_harness, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_map_to_storage(lua_map_to_storage_harness, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_check_user_id(lua_check_user_id_harness, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_type_checker(lua_type_checker_harness, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_access_checker(lua_access_checker_harness, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_auth_checker(lua_auth_checker_harness, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_insert_filter(lua_insert_filter_harness, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_quick_handler(lua_quick_harness, NULL, NULL, APR_HOOK_FIRST);
/* ap_hook_translate_name(wombat_alias_munger, NULL, NULL, APR_HOOK_MIDDLE); */
ap_hook_translate_name(apw_alias_munger, NULL, NULL, APR_HOOK_MIDDLE);
/* ap_hook_translate_name(lua_alias_munger, NULL, NULL, APR_HOOK_MIDDLE); */
ap_hook_translate_name(apl_alias_munger, NULL, NULL, APR_HOOK_MIDDLE);
APR_OPTIONAL_HOOK(apw, wombat_open, wombat_open_hook, NULL, NULL,
APR_OPTIONAL_HOOK(apl, lua_open, lua_open_hook, NULL, NULL,
APR_HOOK_REALLY_FIRST);
APR_OPTIONAL_HOOK(apw, wombat_request, wombat_request_hook, NULL, NULL,
APR_OPTIONAL_HOOK(apl, lua_request, lua_request_hook, NULL, NULL,
APR_HOOK_REALLY_FIRST);
}
@@ -875,7 +875,7 @@ module AP_MODULE_DECLARE_DATA lua_module = {
NULL, /* merge per-dir config structures */
create_server_config, /* create per-server config structures */
NULL, /* merge per-server config structures */
wombat_commands, /* table of config file commands */
wombat_register_hooks /* register hooks */
lua_commands, /* table of config file commands */
lua_register_hooks /* register hooks */
};