1.0d7
diff --git a/NEWS b/NEWS
index 84e6e7d..8cf6b36 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,10 @@
Changes in 1.0d7
--------------------------------------------------------------------------------
+- Migration to Apache 2.0.16
+- I now know how to implement problem hooks
+
+Changes in 1.0d7pre
+--------------------------------------------------------------------------------
- Fixed <Tcl>...</Tcl>, these should be placed outside of <Directory>/<Location> directives. Everything in <Tcl>...</Tcl> is added to a global variable and then made local to the namespace of the file, this is due to several problems with handling configuration, mainly that exection would either result in a "this directive doesn't belong here" or a problem with the configuration not being built yet as in an EXEC_ON_READ.
- Fixed a bug in ap_create_environment.
- Fixed a bug with writing <Tcl>...</Tcl> logic to the local namespace [2001032300]
@@ -50,7 +55,7 @@
- 1.0d6 -| ap_send_http_header deprecated, updated to be peachy with
| Apache 2.0.14
|
-% 1.0d7 %| we're still here, just a pre-release
+% 1.0d7 %| migration to Apache 2.0.16, fixed bugs
|
- 1.0d8 -|
|
diff --git a/tcl_cmds.c b/tcl_cmds.c
index 89bb08e..e38d470 100644
--- a/tcl_cmds.c
+++ b/tcl_cmds.c
@@ -1620,7 +1620,7 @@
}
Tcl_GetIntFromObj(interp, objv[1], &i);
- Tcl_SetObjResult(interp, Tcl_NewStringObj(ap_get_remote_host(_r->connection, _r->per_dir_config, i), -1));
+ Tcl_SetObjResult(interp, Tcl_NewStringObj(ap_get_remote_host(_r->connection, _r->per_dir_config, i, NULL), -1));
return TCL_OK;
}
diff --git a/tcl_core.c b/tcl_core.c
index a734b12..f1b7aa1 100644
--- a/tcl_core.c
+++ b/tcl_core.c
@@ -63,16 +63,16 @@
static void tcl_init_handler(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s);
static void* tcl_create_dir_config(apr_pool_t *p, char *d);
-/* 0 */ static int tcl_handler(request_rec *r);
-/* 1 */ static int tcl_post_read_request(request_rec *r);
-/* 2 */ static int tcl_translate_name(request_rec *r);
-/* 3 */ static int tcl_header_parser(request_rec *r);
-/* 4 */ static int tcl_access_checker(request_rec *r);
-/* 5 */ static int tcl_check_user_id(request_rec *r);
-/* 6 */ static int tcl_auth_checker(request_rec *r);
-/* 7 */ static int tcl_type_checker(request_rec *r);
-/* 8 */ static int tcl_fixups(request_rec *r);
-/* 9 */ static int tcl_log_transaction(request_rec *r);
+/* 0 */ inline int tcl_handler(request_rec *r);
+/* 1 */ inline int tcl_post_read_request(request_rec *r);
+/* 2 */ inline int tcl_translate_name(request_rec *r);
+/* 3 */ inline int tcl_header_parser(request_rec *r);
+/* 4 */ inline int tcl_access_checker(request_rec *r);
+/* 5 */ inline int tcl_check_user_id(request_rec *r);
+/* 6 */ inline int tcl_auth_checker(request_rec *r);
+/* 7 */ inline int tcl_type_checker(request_rec *r);
+/* 8 */ inline int tcl_fixups(request_rec *r);
+/* 9 */ inline int tcl_log_transaction(request_rec *r);
static const char* add_hand(cmd_parms *parms, void *mconfig, const char *arg);
static const char* sfl(cmd_parms *parms, void *mconfig, int flag);
@@ -82,8 +82,6 @@
typedef const char* (*fz_t)(void);
-#define NUM_HANDLERS 10
-
static const command_rec tcl_commands[] = {
AP_INIT_FLAG( "Tcl", (fz_t) sfl, (void*) 1, OR_AUTHCFG, "turn mod_tcl on or off." ),
AP_INIT_TAKE23( "Tcl_Var", (fz_t) tcl_set, NULL, OR_AUTHCFG, "set global variables in TCL." ),
@@ -140,7 +138,7 @@
typedef struct {
int fl;
- char *handlers[NUM_HANDLERS];
+ char *handlers[10];
apr_array_header_t *var_list;
} tcl_config_rec;
@@ -165,7 +163,7 @@
tclr->fl = 0;
tclr->var_list = apr_array_make(p, 0, sizeof(var_cache));
- memset(tclr->handlers, 0, NUM_HANDLERS * sizeof(char*));
+ memset(tclr->handlers, 0, 10 * sizeof(char*));
return tclr;
}
@@ -556,7 +554,7 @@
static void tcl_init_handler(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s)
{
- ap_add_version_component(pconf, "mod_tcl/1.0dPRE7-2001032300");
+ ap_add_version_component(pconf, "mod_tcl/1.0d7");
}
static int run_handler(request_rec *r, int hh)
@@ -738,7 +736,7 @@
return xx;
}
-static int tcl_handler(request_rec *r)
+inline int tcl_handler(request_rec *r)
{
if (strcmp("tcl-handler", r->handler)) {
return DECLINED;
@@ -747,47 +745,47 @@
return run_handler(r, 0);
}
-static int tcl_post_read_request(request_rec *r)
+inline int tcl_post_read_request(request_rec *r)
{
return run_handler(r, 1);
}
-static int tcl_translate_name(request_rec *r)
+inline int tcl_translate_name(request_rec *r)
{
return run_handler(r, 2);
}
-static int tcl_header_parser(request_rec *r)
+inline int tcl_header_parser(request_rec *r)
{
return run_handler(r, 3);
}
-static int tcl_access_checker(request_rec *r)
+inline int tcl_access_checker(request_rec *r)
{
return run_handler(r, 4);
}
-static int tcl_check_user_id(request_rec *r)
+inline int tcl_check_user_id(request_rec *r)
{
return run_handler(r, 5);
}
-static int tcl_auth_checker(request_rec *r)
+inline int tcl_auth_checker(request_rec *r)
{
return run_handler(r, 6);
}
-static int tcl_type_checker(request_rec *r)
+inline int tcl_type_checker(request_rec *r)
{
return run_handler(r, 7);
}
-static int tcl_fixups(request_rec *r)
+inline int tcl_fixups(request_rec *r)
{
return run_handler(r, 8);
}
-static int tcl_log_transaction(request_rec *r)
+inline int tcl_log_transaction(request_rec *r)
{
return run_handler(r, 9);
}