[svn:mod_parrot] r438 - in mod_parrot/branches/hll-modules: . include lib/Apache src t/conf
[email protected] Sun, 21 Sep 2008 07:39:21 -0700 (PDT)
| Newsgroups | perl.cvs.mod_parrot |
|---|---|
| Message-ID | <[email protected]> |
Author: jhorwitz
Date: Sun Sep 21 07:39:20 2008
New Revision: 438
Modified:
mod_parrot/branches/hll-modules/call_list.txt
mod_parrot/branches/hll-modules/include/mod_parrot.h
mod_parrot/branches/hll-modules/include/modparrot_config.h
mod_parrot/branches/hll-modules/lib/Apache/Module.pir
mod_parrot/branches/hll-modules/src/mod_parrot.c
mod_parrot/branches/hll-modules/src/modparrot_config.c
mod_parrot/branches/hll-modules/src/nci.c
mod_parrot/branches/hll-modules/t/conf/extra.conf.in
Log:
remove unused and deprecated code, including support for ParrotLanguage
Modified: mod_parrot/branches/hll-modules/call_list.txt
==============================================================================
--- mod_parrot/branches/hll-modules/call_list.txt (original)
+++ mod_parrot/branches/hll-modules/call_list.txt Sun Sep 21 07:39:20 2008
@@ -19,5 +19,4 @@
v ptt
v Jtiiipt
p JttP
-P Jitti
P Jtpi
Modified: mod_parrot/branches/hll-modules/include/mod_parrot.h
==============================================================================
--- mod_parrot/branches/hll-modules/include/mod_parrot.h (original)
+++ mod_parrot/branches/hll-modules/include/mod_parrot.h Sun Sep 21 07:39:20 2008
@@ -57,8 +57,6 @@
conn_rec *c;
void *csd;
int module_index;
- modparrot_dir_config *dircfg; /* used by HLL directives */
- modparrot_srv_config *srvcfg; /* used by HLL directives */
};
typedef struct modparrot_context modparrot_context;
@@ -82,7 +80,7 @@
modparrot_context *get_interp_ctx(Parrot_Interp);
void set_interp_ctx(Parrot_Interp, modparrot_context *);
modparrot_context *modparrot_startup(apr_pool_t *, server_rec *, Parrot_Interp);
-void modparrot_load_file(Parrot_Interp, server_rec *, char *, char *);
+void modparrot_load_file(Parrot_Interp, server_rec *, const char *);
module *modparrot_add_module(Parrot_Interp, apr_pool_t *, const char *, char *,
Parrot_PMC);
Modified: mod_parrot/branches/hll-modules/include/modparrot_config.h
==============================================================================
--- mod_parrot/branches/hll-modules/include/modparrot_config.h (original)
+++ mod_parrot/branches/hll-modules/include/modparrot_config.h Sun Sep 21 07:39:20 2008
@@ -54,14 +54,6 @@
# define MP_INIT_CMD_FLAG(c) (c.func = modparrot_module_cmd_flag)
#endif /* (AP_HAVE_DESIGNATED_INITIALIZER) || defined(DOXYGEN) */
-/* configuration */
-struct modparrot_handler_info
-{
- char *id; /* identifier of the code to load */
- char *hll; /* HLL of the code */
-};
-typedef struct modparrot_handler_info modparrot_handler_info;
-
/* number of apache hooks we support */
/* XXX can we obtain this number dynamically? */
#define MODPARROT_NUM_HOOKS 20
@@ -101,34 +93,15 @@
apr_table_t *type_map;
apr_array_header_t *module_array;
apr_hash_t *module_hash;
- modparrot_handler_info *open_logs_handler;
- modparrot_handler_info *child_init_handler;
- modparrot_handler_info *post_config_handler;
- modparrot_handler_info *pre_connection_handler;
- modparrot_handler_info *process_connection_handler;
- modparrot_handler_info *map_to_storage_handler;
- modparrot_handler_info *trans_handler;
- modparrot_handler_info *post_read_request_handler;
};
typedef struct modparrot_srv_config modparrot_srv_config;
-struct modparrot_dir_config
-{
- char *directory;
- char *hll; /* default HLL handler for this block */
- modparrot_handler_info *input_filter_handler;
- modparrot_handler_info *output_filter_handler;
- modparrot_handler_info *header_parser_handler;
- modparrot_handler_info *handler;
- modparrot_handler_info *access_handler;
- modparrot_handler_info *authen_handler;
- modparrot_handler_info *authz_handler;
- modparrot_handler_info *type_handler;
- modparrot_handler_info *fixup_handler;
- modparrot_handler_info *log_handler;
- modparrot_handler_info *cleanup_handler;
-};
-typedef struct modparrot_dir_config modparrot_dir_config;
+/* no directory config right now
+ * struct modparrot_dir_config
+ * {
+ * };
+ * typedef struct modparrot_dir_config modparrot_dir_config;
+ */
/* hook types */
enum modparrot_hooks {
@@ -172,28 +145,7 @@
void *merge_modparrot_dir_config(apr_pool_t *, void *, void *);
void *merge_modparrot_srv_config(apr_pool_t *, void *, void *);
-/* handler directives */
-const char *modparrot_cmd_open_logs_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_post_config_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_child_init_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_pre_connection_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_process_connection_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_input_filter_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_output_filter_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_post_read_request_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_trans_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_map_to_storage_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_header_parser_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_access_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_authen_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_authz_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_type_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_fixup_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_log_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_cleanup_handler(cmd_parms *, void *, const char *);
-
-/* other directives */
+/* config directives */
const char *modparrot_cmd_init(cmd_parms *, void *, const char *);
const char *modparrot_cmd_trace(cmd_parms *, void *, const char *);
const char *modparrot_cmd_language(cmd_parms *, void *, const char *);
Modified: mod_parrot/branches/hll-modules/lib/Apache/Module.pir
==============================================================================
--- mod_parrot/branches/hll-modules/lib/Apache/Module.pir (original)
+++ mod_parrot/branches/hll-modules/lib/Apache/Module.pir Sun Sep 21 07:39:20 2008
@@ -39,12 +39,6 @@
dlfunc func, nul, "mpnci_get_module_config", "PJtpi"
set_root_global [ '_modparrot'; 'NCI' ], "get_module_config", func
- dlfunc func, nul, "mpnci_dircfg_handler", "PJitti"
- set_root_global [ '_modparrot'; 'NCI' ], "dircfg_handler", func
-
- dlfunc func, nul, "mpnci_srvcfg_handler", "PJitti"
- set_root_global [ '_modparrot'; 'NCI' ], "srvcfg_handler", func
-
newclass module_class, [ 'Apache'; 'Module' ]
addattribute module_class, 'module'
.end
Modified: mod_parrot/branches/hll-modules/src/mod_parrot.c
==============================================================================
--- mod_parrot/branches/hll-modules/src/mod_parrot.c (original)
+++ mod_parrot/branches/hll-modules/src/mod_parrot.c Sun Sep 21 07:39:20 2008
@@ -50,23 +50,18 @@
/* have we started? this can be global since it's written to at startup */
int mp_is_started = 0;
-void modparrot_load_file(Parrot_Interp interp, server_rec *s, char *hll,
- char *file)
+void modparrot_load_file(Parrot_Interp interp, server_rec *s, const char *file)
{
int ret;
char *ext = strrchr(file, '.');
- /* load any PBC files */
+ /* load any valid parrot files (PIR, PBC, PASM) */
if (ext && (!strcmp(ext, ".pbc") || !strcmp(ext, ".pir") ||
!strcmp(ext, ".pasm"))) {
- modparrot_load_bytecode(interp, file);
+ modparrot_load_bytecode(interp, (char *)file);
}
else {
- /* call the HLL load handler to handle the loading */
- if (!modparrot_meta_handler(interp, hll, "load", file,
- &ret)) {
- MPLOG_ERRORF(s, "no HLL load handler for '%s'", hll);
- }
+ MPLOG_ERRORF(s, "'%s' is not a valid Parrot file", file);
}
}
@@ -77,9 +72,9 @@
int i, ret;
for (i = 0; i < files->nelts; i++) {
- modparrot_handler_info *l =
- &((modparrot_handler_info *)files->elts)[i];
- modparrot_load_file(interp, s, l->hll, l->id);
+ const char *path =
+ ((char **)files->elts)[i];
+ modparrot_load_file(interp, s, path);
}
}
@@ -822,13 +817,6 @@
RSRC_CONF,
"enable Parrot opcode tracing (default is off)"
),
- AP_INIT_TAKE1(
- "ParrotLanguage",
- modparrot_cmd_language,
- NULL,
- OR_AUTHCFG,
- "set the Parrot language"
- ),
AP_INIT_ITERATE(
"ParrotLoad",
modparrot_cmd_load,
@@ -877,8 +865,8 @@
module AP_MODULE_DECLARE_DATA parrot_module =
{
STANDARD20_MODULE_STUFF,
- create_modparrot_dir_config,
- NULL, /* merge_modparrot_dir_config, */
+ NULL, /* create_modparrot_dir_config */
+ NULL, /* merge_modparrot_dir_config */
create_modparrot_srv_config,
merge_modparrot_srv_config,
modparrot_cmds,
Modified: mod_parrot/branches/hll-modules/src/modparrot_config.c
==============================================================================
--- mod_parrot/branches/hll-modules/src/modparrot_config.c (original)
+++ mod_parrot/branches/hll-modules/src/modparrot_config.c Sun Sep 21 07:39:20 2008
@@ -71,7 +71,7 @@
cfg->disable_option_flags = 0; /* only used during configuration merge */
cfg->option_flags = DEFAULT_OPTION_FLAGS; /* set default options here */
cfg->init_path = NULL;
- cfg->preload = apr_array_make(p, 2, sizeof(modparrot_handler_info));
+ cfg->preload = apr_array_make(p, 2, sizeof(char *));
cfg->include_path = NULL;
cfg->type_map = apr_table_make(p, 2);
cfg->handler_map = apr_table_make(p, 2);
@@ -147,104 +147,6 @@
return (void *)merged;
}
-void *create_modparrot_dir_config(apr_pool_t *p, char *path)
-{
- modparrot_dir_config *cfg;
-
- cfg = (modparrot_dir_config *)apr_pcalloc(p, sizeof(modparrot_dir_config));
- if (path == NULL) {
- cfg->directory = NULL;
- }
- else {
- cfg->directory = (char *)apr_pstrdup(p, path);
- }
- cfg->hll = NULL;
- cfg->handler = NULL;
-
- return (void *)cfg;
-}
-
-/* this is too messy for a simple override merge -- punt for now */
-#if 0
-void *merge_modparrot_dir_config(apr_pool_t *p, void *base, void *new)
-{
- modparrot_dir_config *basecfg = (modparrot_dir_config *)base;
- modparrot_dir_config *newcfg = (modparrot_dir_config *)new;
- modparrot_dir_config *merged = (modparrot_dir_config *)
- apr_pcalloc(p, sizeof(modparrot_dir_config));
-
- merged->directory = (char *)apr_pstrdup(p, newcfg->directory);
-
- if (newcfg->hll) {
- merged->hll = (char *)apr_pstrdup(p, newcfg->hll);
- }
- else {
- merged->hll =
- basecfg->hll ? (char *)apr_pstrdup(p, basecfg->hll) : NULL;
- }
-
- if (newcfg->handler) {
- merged->handler = (modparrot_handler_info *)apr_pmemdup(p, newcfg->handler, sizeof(modparrot_handler_info));
- }
- else {
- merged->handler =
- basecfg->handler ? (modparrot_handler_info *)apr_pmemdup(p, basecfg->handler, sizeof(modparrot_handler_info)) : NULL;
- }
-
- if (newcfg->access_handler) {
- merged->access_handler = (modparrot_handler_info *)apr_pmemdup(p, newcfg->access_handler, sizeof(modparrot_handler_info));
- }
- else {
- merged->access_handler =
- basecfg->access_handler ? (modparrot_handler_info *)apr_pmemdup(p, basecfg->access_handler, sizeof(modparrot_handler_info)) : NULL;
- }
-
- if (newcfg->authen_handler) {
- merged->authen_handler = (modparrot_handler_info *)apr_pmemdup(p, newcfg->authen_handler, sizeof(modparrot_handler_info));
- }
- else {
- merged->authen_handler =
- basecfg->authen_handler ? (modparrot_handler_info *)apr_pmemdup(p, basecfg->authen_handler, sizeof(modparrot_handler_info)) : NULL;
- }
-
- if (newcfg->authz_handler) {
- merged->authz_handler = (modparrot_handler_info *)apr_pmemdup(p, newcfg->authz_handler, sizeof(modparrot_handler_info));
- }
- else {
- merged->authz_handler =
- basecfg->authz_handler ? (modparrot_handler_info *)apr_pmemdup(p, basecfg->authz_handler, sizeof(modparrot_handler_info)) : NULL;
- }
-
- return (void *)merged;
-}
-#endif
-
-/* parses a handler into the handler ID and the HLL
- * if 'l' is NULL, will allocate handler info itself
- */
-static modparrot_handler_info *parse_handler(apr_pool_t *p, const char *handler,
- modparrot_handler_info *l)
-{
- char *part;
-
- if (!l) {
- l = (modparrot_handler_info *)apr_pcalloc(p,
- sizeof(modparrot_handler_info));
- }
-
- /* split handler into HLL and ID */
- if ((part = strchr((char *)handler, ','))) {
- l->hll = apr_pstrndup(p, handler, part-handler);
- l->id = apr_pstrdup(p, part+1);
- }
- else {
- l->hll = 0;
- l->id = apr_pstrdup(p, handler);
- }
-
- return(l);
-}
-
/* calculate option bit vector from enabled and disabled bits */
void modparrot_recalc_options(modparrot_srv_config *cfg)
{
@@ -291,35 +193,28 @@
}
const char *modparrot_cmd_load(cmd_parms *cmd, void *mconfig,
- const char *handler)
+ const char *path)
{
modparrot_srv_config *cfg;
- modparrot_handler_info *l;
cfg = GET_SERVER_CONFIG(cmd);
- l = (modparrot_handler_info *)apr_array_push(cfg->preload);
- parse_handler(cmd->pool, handler, l);
+ *(char **)apr_array_push(cfg->preload) = apr_pstrdup(cmd->pool, path);
return NULL;
}
const char *modparrot_cmd_load_immediate(cmd_parms *cmd, void *mconfig,
- const char *handler)
+ const char *path)
{
modparrot_srv_config *cfg;
- modparrot_handler_info *l;
modparrot_context *ctxp;
cfg = GET_SERVER_CONFIG(cmd);
- l = (modparrot_handler_info *)apr_array_push(cfg->preload);
- /* XXX how do we get the context if we've already started? */
- if (!mp_is_started) {
- ctxp = modparrot_startup(cmd->pool, cmd->server, NULL);
- }
+ /* this will start the interpreter if necessary and return a context */
+ ctxp = modparrot_startup(cmd->pool, cmd->server, NULL);
- parse_handler(cmd->pool, handler, l);
- modparrot_load_file(ctxp->interp, cmd->server, l->hll, l->id);
+ modparrot_load_file(ctxp->interp, cmd->server, path);
/* clean up */
release_ctx(ctxp);
@@ -327,15 +222,6 @@
return NULL;
}
-const char *modparrot_cmd_language(cmd_parms *cmd, void *mconfig, const char *hll)
-{
- modparrot_dir_config *cfg;
-
- cfg = (modparrot_dir_config *)mconfig;
- cfg->hll = (char *)apr_pstrdup(cmd->pool, hll);
- return NULL;
-}
-
const char *modparrot_cmd_init(cmd_parms *cmd, void *mconfig, const char *path)
{
modparrot_srv_config *cfg;
Modified: mod_parrot/branches/hll-modules/src/nci.c
==============================================================================
--- mod_parrot/branches/hll-modules/src/nci.c (original)
+++ mod_parrot/branches/hll-modules/src/nci.c Sun Sep 21 07:39:20 2008
@@ -238,6 +238,8 @@
return cfg ? cfg->cfg : PMCNULL;
}
+/* XXX still need this so HLLs can tweak mod_parrot configurations */
+#if 0
#define SET_DIRCFG_INFO(x) if (update) { ctxp->dircfg->x = handler_info; } \
else { handler_info = ctxp->dircfg->x; }
@@ -344,3 +346,4 @@
return(handler);
}
+#endif
Modified: mod_parrot/branches/hll-modules/t/conf/extra.conf.in
==============================================================================
--- mod_parrot/branches/hll-modules/t/conf/extra.conf.in (original)
+++ mod_parrot/branches/hll-modules/t/conf/extra.conf.in Sun Sep 21 07:39:20 2008
@@ -12,61 +12,51 @@
<Location /parrot-test/RequestRec-content_type>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::content_type
</Location>
<Location /parrot-test/RequestRec-puts>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::puts
</Location>
<Location /parrot-test/RequestRec-write>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::write
</Location>
<Location /parrot-test/RequestRec-args>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::args
</Location>
<Location /parrot-test/RequestRec-hostname>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::hostname
</Location>
<Location /parrot-test/RequestRec-notes>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::notes
</Location>
<Location /parrot-test/RequestRec-pmc_notes>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::pmc_notes
</Location>
<Location /parrot-test/RequestRec-status>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::status
</Location>
<Location /parrot-test/RequestRec-log_rerror>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::log_rerror
</Location>
<Location /parrot-test/RequestRec-get_basic_auth_pw>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::get_basic_auth_pw
ParrotAuthenHandler ModParrot::Test::AuthenHandler
AuthType Basic
@@ -76,7 +66,6 @@
<Location /parrot-test/RequestRec-auth_type>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::auth_type
ParrotAuthenHandler ModParrot::Test::AuthenHandler
AuthType Basic
@@ -86,7 +75,6 @@
<Location /parrot-test/RequestRec-auth_name>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::auth_name
ParrotAuthenHandler ModParrot::Test::AuthenHandler
AuthType Basic
@@ -96,14 +84,12 @@
<Location /parrot-test/ParrotAccessHandler>
SetHandler parrot-code
- ParrotLanguage PIR
- ParrotAccessHandler ModParrot::Test::AccessHandler
+ ParrotAccessHandler ModParrot::Test::AccessHandler
ParrotHandler ModParrot::Test::HelloWorld
</Location>
<Location /parrot-test/ParrotAuthzHandler>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::HelloWorld
ParrotAuthenHandler ModParrot::Test::AuthenHandler
ParrotAuthzHandler ModParrot::Test::AuthzHandler
@@ -114,132 +100,110 @@
<Location /parrot-test/RequestRec-the_request>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::the_request
</Location>
<Location /parrot-test/RequestRec-protocol>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::protocol
</Location>
<Location /parrot-test/RequestRec-status_line>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::status_line
</Location>
<Location /parrot-test/RequestRec-range>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::range
</Location>
<Location /parrot-test/RequestRec-handler>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::handler
</Location>
<Location /parrot-test/RequestRec-content_encoding>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::content_encoding
</Location>
<Location /parrot-test/RequestRec-vlist_validator>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::vlist_validator
</Location>
<Location /parrot-test/RequestRec-unparsed_uri>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::unparsed_uri
</Location>
<Location /parrot-test/RequestRec-uri>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::uri
</Location>
<Location /parrot-test/RequestRec-path_info>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::path_info
</Location>
<Location /parrot-test/RequestRec-assbackwards>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::assbackwards
</Location>
<Location /parrot-test/RequestRec-proxyreq>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::proxyreq
</Location>
<Location /parrot-test/RequestRec-header_only>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::header_only
</Location>
<Location /parrot-test/RequestRec-proto_num>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::proto_num
</Location>
<Location /parrot-test/RequestRec-method_number>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::method_number
</Location>
<Location /parrot-test/RequestRec-chunked>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::chunked
</Location>
<Location /parrot-test/RequestRec-read_body>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::read_body
</Location>
<Location /parrot-test/RequestRec-read_chunked>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::read_chunked
</Location>
<Location /parrot-test/RequestRec-no_cache>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::no_cache
</Location>
<Location /parrot-test/RequestRec-no_local_copy>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::no_local_copy
</Location>
<Location /parrot-test/RequestRec-used_path_info>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::used_path_info
</Location>
<Location /parrot-test/RequestRec-eos_sent>
SetHandler parrot-code
- ParrotLanguage PIR
ParrotHandler ModParrot::Test::eos_sent
</Location>