httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Allan Edwards" <...@meepzor.com>
Subject windows build & handler hook
Date Mon, 08 Jan 2001 19:03:56 GMT
A number of modules need updating for the
handler hook in order to get windows building 
again. I will be committing the following patch 
shortly (after some additional testing).

Allan
--------------------------------------------------------------------------

Index: libhttpd.def
===================================================================
RCS file: /home/cvs/httpd-2.0/libhttpd.def,v
retrieving revision 1.49
diff -u -d -b -r1.49 libhttpd.def
--- libhttpd.def	2001/01/04 22:37:27	1.49
+++ libhttpd.def	2001/01/08 18:43:08
@@ -376,6 +376,7 @@
         ap_hook_post_config
         ap_hook_open_logs
         ap_hook_child_init
+        ap_hook_handler
 
         ap_get_status_table
         ap_run_default_port
Index: modules/aaa/mod_auth_anon.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/aaa/mod_auth_anon.c,v
retrieving revision 1.19
diff -u -d -b -r1.19 mod_auth_anon.c
--- modules/aaa/mod_auth_anon.c	2000/12/19 15:09:00	1.19
+++ modules/aaa/mod_auth_anon.c	2001/01/08 18:43:31
@@ -308,6 +308,5 @@
     NULL,			/* server config */
     NULL,			/* merge server config */
     anon_auth_cmds,		/* command apr_table_t */
-    NULL,			/* handlers */
     register_hooks		/* register hooks */
 };
Index: modules/aaa/mod_auth_db.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/aaa/mod_auth_db.c,v
retrieving revision 1.20
diff -u -d -b -r1.20 mod_auth_db.c
--- modules/aaa/mod_auth_db.c	2000/12/19 19:44:16	1.20
+++ modules/aaa/mod_auth_db.c	2001/01/08 18:43:31
@@ -409,7 +409,6 @@
     NULL,			/* server config */
     NULL,			/* merge server config */
     db_auth_cmds,		/* command apr_table_t */
-    NULL,			/* handlers */
     register_hooks		/* register hooks */
 };
 
Index: modules/aaa/mod_auth_dbm.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/aaa/mod_auth_dbm.c,v
retrieving revision 1.22
diff -u -d -b -r1.22 mod_auth_dbm.c
--- modules/aaa/mod_auth_dbm.c	2000/12/19 15:09:01	1.22
+++ modules/aaa/mod_auth_dbm.c	2001/01/08 18:43:32
@@ -349,6 +349,5 @@
     NULL,			/* server config */
     NULL,			/* merge server config */
     dbm_auth_cmds,		/* command apr_table_t */
-    NULL,			/* handlers */
     register_hooks              /* register hooks */
 };
Index: modules/aaa/mod_auth_digest.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/aaa/mod_auth_digest.c,v
retrieving revision 1.27
diff -u -d -b -r1.27 mod_auth_digest.c
--- modules/aaa/mod_auth_digest.c	2000/12/19 15:09:02	1.27
+++ modules/aaa/mod_auth_digest.c	2001/01/08 18:43:32
@@ -2070,7 +2070,6 @@
     NULL,			/* server config */
     NULL,			/* merge server config */
     digest_cmds,		/* command table */
-    NULL,			/* handlers */
     register_hooks		/* register hooks */
 };
 
Index: modules/cache/mod_file_cache.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/cache/mod_file_cache.c,v
retrieving revision 1.34
diff -u -d -b -r1.34 mod_file_cache.c
--- modules/cache/mod_file_cache.c	2000/12/13 13:22:51	1.34
+++ modules/cache/mod_file_cache.c	2001/01/08 18:43:33
@@ -416,12 +416,16 @@
     return OK;
 }
 
-static int file_cache_handler(request_rec *r) 
+static int file_cache_handler(const char *handler, request_rec *r) 
 {
     a_file *match;
     int errstatus;
     int rc = OK;
 
+    if (strcmp(handler, "*.*")) {
+        return DECLINED;
+    }
+
     /* we don't handle anything but GET */
     if (r->method_number != M_GET) return DECLINED;
 
@@ -473,6 +477,7 @@
 
 static void register_hooks(void)
 {
+    ap_hook_handler(file_cache_handler, NULL, NULL, AP_HOOK_MIDDLE);
     ap_hook_post_config(file_cache_post_config, NULL, NULL, AP_HOOK_MIDDLE);
     ap_hook_translate_name(file_cache_xlat, NULL, NULL, AP_HOOK_MIDDLE);
     /* This trick doesn't work apparently because the translate hooks
@@ -483,12 +488,6 @@
 
 }
 
-static const handler_rec file_cache_handlers[] =
-{
-    { "*/*", file_cache_handler },
-    { NULL }
-};
-
 module AP_MODULE_DECLARE_DATA file_cache_module =
 {
     STANDARD20_MODULE_STUFF,
@@ -497,6 +496,5 @@
     create_server_config,     /* create per-server config structure */
     NULL,                     /* merge per-server config structures */
     file_cache_cmds,          /* command handlers */
-    file_cache_handlers,      /* handlers */
     register_hooks            /* register hooks */
 };
Index: modules/dav/fs/mod_dav_fs.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/dav/fs/mod_dav_fs.c,v
retrieving revision 1.10
diff -u -d -b -r1.10 mod_dav_fs.c
--- modules/dav/fs/mod_dav_fs.c	2000/10/14 18:24:33	1.10
+++ modules/dav/fs/mod_dav_fs.c	2001/01/08 18:43:37
@@ -138,6 +138,5 @@
     dav_fs_create_server_config,	/* server config */
     dav_fs_merge_server_config,	/* merge server config */
     dav_fs_cmds,		/* command table */
-    NULL,                       /* handlers */
     register_hooks,             /* register hooks */
 };
Index: modules/dav/main/mod_dav.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/dav/main/mod_dav.c,v
retrieving revision 1.33
diff -u -d -b -r1.33 mod_dav.c
--- modules/dav/main/mod_dav.c	2000/11/27 12:54:21	1.33
+++ modules/dav/main/mod_dav.c	2001/01/08 18:43:39
@@ -3784,10 +3784,14 @@
 /*
  * Response handler for DAV resources
  */
-static int dav_handler(request_rec *r)
+static int dav_handler(const char *handler, request_rec *r)
 {
     dav_dir_conf *conf;
 
+    if (strcmp(handler, "dav-handler")) {
+	return DECLINED;
+    }
+
     /* quickly ignore any HTTP/0.9 requests */
     if (r->assbackwards) {
 	return DECLINED;
@@ -4004,6 +4008,7 @@
 
 static void register_hooks(void)
 {
+    ap_hook_handler(dav_handler, NULL, NULL, AP_HOOK_MIDDLE);
     ap_hook_post_config(dav_init_handler, NULL, NULL, AP_HOOK_MIDDLE);
     ap_hook_type_checker(dav_type_checker, NULL, NULL, AP_HOOK_FIRST);
 
@@ -4044,12 +4049,6 @@
     { NULL }
 };
 
-static const handler_rec dav_handlers[] =
-{
-    {"dav-handler", dav_handler},
-    { NULL }
-};
-
 module DAV_DECLARE_DATA dav_module =
 {
     STANDARD20_MODULE_STUFF,
@@ -4058,7 +4057,6 @@
     dav_create_server_config,	/* server config */
     dav_merge_server_config,	/* merge server config */
     dav_cmds,			/* command table */
-    dav_handlers,		/* handlers */
     register_hooks,             /* register hooks */
 };
 
Index: modules/generators/mod_status.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/generators/mod_status.c,v
retrieving revision 1.14
diff -u -d -b -r1.14 mod_status.c
--- modules/generators/mod_status.c	2000/10/16 06:05:07	1.14
+++ modules/generators/mod_status.c	2001/01/08 18:43:42
@@ -78,12 +78,16 @@
     return 1;
 }
 
-static int status_handler(request_rec *r)
+static int status_handler(const char *handler, request_rec *r)
 {
     int i;
     apr_array_header_t *server_status;
     ap_status_table_row_t *status_rows;
 
+    if (strcmp(handler, STATUS_MAGIC_TYPE) && strcmp(handler, "server-status")) {
+        return DECLINED;
+    }
+
     r->allowed = (1 << M_GET);
     if (r->method_number != M_GET)
 	return DECLINED;
@@ -120,12 +124,10 @@
     return 0;
 }
 
-static const handler_rec status_handlers[] =
+static void register_hooks(void)
 {
-    {STATUS_MAGIC_TYPE, status_handler},
-    {"server-status", status_handler},
-    {NULL}
-};
+    ap_hook_handler(status_handler, NULL, NULL, AP_HOOK_MIDDLE);
+}
 
 module AP_MODULE_DECLARE_DATA status_module =
 {
@@ -135,6 +137,5 @@
     NULL,			/* server config */
     NULL,			/* merge server config */
     NULL,			/* command table */
-    status_handlers,		/* handlers */
-    NULL                        /* register hooks */
+    register_hooks	/* register hooks */
 };
Index: modules/mappers/mod_rewrite.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/mappers/mod_rewrite.c,v
retrieving revision 1.57
diff -u -d -b -r1.57 mod_rewrite.c
--- modules/mappers/mod_rewrite.c	2001/01/03 16:47:02	1.57
+++ modules/mappers/mod_rewrite.c	2001/01/08 18:43:46
@@ -210,14 +210,9 @@
     { NULL }
 };
 
-    /* the apr_table_t of content handlers we provide */
-static const handler_rec handler_table[] = {
-    { "redirect-handler", handler_redirect },
-    { NULL }
-};
-
 static void register_hooks(void)
 {
+    ap_hook_handler(handler_redirect, NULL, NULL, AP_HOOK_MIDDLE);
     ap_hook_post_config(init_module,NULL,NULL,AP_HOOK_MIDDLE);
     ap_hook_child_init(init_child,NULL,NULL,AP_HOOK_MIDDLE);
 
@@ -234,7 +229,6 @@
    config_server_create,        /* create per-server config structures */
    config_server_merge,         /* merge  per-server config structures */
    command_table,               /* apr_table_t of config file commands  */
-   handler_table,               /* [#8] MIME-typed-dispatched handlers */
    register_hooks               /* register hooks                      */
 };
 
@@ -1626,8 +1620,12 @@
 **
 */
 
-static int handler_redirect(request_rec *r)
+static int handler_redirect(const char *handler, request_rec *r)
 {
+    if (strcmp(handler, "redirect-handler")) {
+        return DECLINED;
+    }
+
     /* just make sure that we are really meant! */
     if (strncmp(r->filename, "redirect:", 9) != 0) {
         return DECLINED;
Index: modules/mappers/mod_so.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/mappers/mod_so.c,v
retrieving revision 1.31
diff -u -d -b -r1.31 mod_so.c
--- modules/mappers/mod_so.c	2001/01/02 18:32:49	1.31
+++ modules/mappers/mod_so.c	2001/01/08 18:43:46
@@ -379,6 +379,5 @@
    so_sconf_create,		/* server config */
    NULL,			    /* merge server config */
    so_cmds,			    /* command apr_table_t */
-   NULL,			    /* handlers */
    NULL				    /* register hooks */
 };
Index: modules/mappers/mod_speling.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/mappers/mod_speling.c,v
retrieving revision 1.23
diff -u -d -b -r1.23 mod_speling.c
--- modules/mappers/mod_speling.c	2001/01/05 19:40:03	1.23
+++ modules/mappers/mod_speling.c	2001/01/08 18:43:46
@@ -564,6 +564,5 @@
     create_mconfig_for_server,  /* server config */
     NULL,                       /* merge server config */
     speling_cmds,               /* command apr_table_t */
-    NULL,                       /* handlers */
     register_hooks		/* register hooks */
 };
Index: modules/metadata/mod_cern_meta.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/metadata/mod_cern_meta.c,v
retrieving revision 1.25
diff -u -d -b -r1.25 mod_cern_meta.c
--- modules/metadata/mod_cern_meta.c	2000/12/01 21:49:25	1.25
+++ modules/metadata/mod_cern_meta.c	2001/01/08 18:43:48
@@ -397,6 +397,5 @@
     NULL,			/* server config */
     NULL,			/* merge server configs */
     cern_meta_cmds,		/* command apr_table_t */
-    NULL,			/* handlers */
     register_hooks		/* register hooks */
 };
Index: modules/metadata/mod_expires.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/metadata/mod_expires.c,v
retrieving revision 1.24
diff -u -d -b -r1.24 mod_expires.c
--- modules/metadata/mod_expires.c	2000/12/01 21:49:25	1.24
+++ modules/metadata/mod_expires.c	2001/01/08 18:43:48
@@ -516,6 +516,5 @@
     NULL,                       /* server config */
     NULL,                       /* merge server configs */
     expires_cmds,               /* command apr_table_t */
-    NULL,                       /* handlers */
     register_hooks		/* register hooks */
 };
Index: modules/metadata/mod_headers.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/metadata/mod_headers.c,v
retrieving revision 1.14
diff -u -d -b -r1.14 mod_headers.c
--- modules/metadata/mod_headers.c	2000/12/01 21:49:25	1.14
+++ modules/metadata/mod_headers.c	2001/01/08 18:43:48
@@ -262,6 +262,5 @@
     create_headers_config,      /* server config */
     merge_headers_config,       /* merge server configs */
     headers_cmds,               /* command apr_table_t */
-    NULL,                       /* handlers */
     register_hooks		/* register hooks */
 };
Index: modules/metadata/mod_usertrack.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/metadata/mod_usertrack.c,v
retrieving revision 1.22
diff -u -d -b -r1.22 mod_usertrack.c
--- modules/metadata/mod_usertrack.c	2000/12/01 21:49:26	1.22
+++ modules/metadata/mod_usertrack.c	2001/01/08 18:43:48
@@ -319,6 +319,5 @@
     make_cookie_log_state,      /* server config */
     NULL,                       /* merge server configs */
     cookie_log_cmds,            /* command apr_table_t */
-    NULL,                       /* handlers */
     register_hooks		/* register hooks */
 };
Index: os/win32/mod_isapi.c
===================================================================
RCS file: /home/cvs/httpd-2.0/os/win32/mod_isapi.c,v
retrieving revision 1.31
diff -u -d -b -r1.31 mod_isapi.c
--- os/win32/mod_isapi.c	2000/11/29 18:50:12	1.31
+++ os/win32/mod_isapi.c	2001/01/08 18:44:00
@@ -345,17 +345,22 @@
     return TRUE;
 }
 
-apr_status_t isapi_handler (request_rec *r)
+apr_status_t isapi_handler (const char *handler, request_rec *r)
 {
-    isapi_server_conf *sconf = ap_get_module_config(r->server->module_config, 
-                                                    &isapi_module);
-    apr_table_t *e = r->subprocess_env;
+    isapi_server_conf * sconf;
+    apr_table_t *e;
     apr_status_t rv;
     isapi_loaded *isa;
     isapi_cid *cid;
     DWORD read;
     int res;
     
+    if(strcmp(handler, "isapi-isa"))
+        return DECLINED;    
+
+    sconf = ap_get_module_config(r->server->module_config, &isapi_module);
+    e = r->subprocess_env;
+
     /* Use similar restrictions as CGIs
      *
      * If this fails, it's pointless to load the isapi dll.
@@ -1262,6 +1267,7 @@
 static void isapi_hooks(void)
 {
     ap_hook_post_config(isapi_post_config, NULL, NULL, AP_HOOK_MIDDLE);
+    ap_hook_handler(isapi_handler, NULL, NULL, AP_HOOK_MIDDLE);
 }
 
 static const command_rec isapi_cmds[] = {
@@ -1278,11 +1284,6 @@
 { NULL }
 };
 
-handler_rec isapi_handlers[] = {
-    { "isapi-isa", isapi_handler },
-    { NULL}
-};
-
 module isapi_module = {
    STANDARD20_MODULE_STUFF,
    NULL,                        /* create per-dir config */
@@ -1290,6 +1291,5 @@
    create_isapi_server_config,  /* server config */
    NULL,                        /* merge server config */
    isapi_cmds,                  /* command apr_table_t */
-   isapi_handlers,              /* handlers */
    isapi_hooks                  /* register hooks */
 };
Index: server/mpm/winnt/mpm_winnt.c
===================================================================
RCS file: /home/cvs/httpd-2.0/server/mpm/winnt/mpm_winnt.c,v
retrieving revision 1.119
diff -u -d -b -r1.119 mpm_winnt.c
--- server/mpm/winnt/mpm_winnt.c	2000/12/21 16:25:44	1.119
+++ server/mpm/winnt/mpm_winnt.c	2001/01/08 18:44:12
@@ -2348,6 +2348,5 @@
     NULL,			/* create per-server config structure */
     NULL,			/* merge per-server config structures */
     winnt_cmds,		        /* command apr_table_t */
-    NULL,			/* handlers */
     winnt_hooks 		/* register_hooks */
 };

Mime
View raw message