Return-Path: Delivered-To: apache-cvs-archive@hyperreal.org Received: (qmail 21786 invoked by uid 6000); 11 Jul 1999 13:27:35 -0000 Received: (qmail 21780 invoked by alias); 11 Jul 1999 13:27:33 -0000 Delivered-To: apache-2.0-cvs@hyperreal.org Received: (qmail 21777 invoked by uid 124); 11 Jul 1999 13:27:32 -0000 Date: 11 Jul 1999 13:27:32 -0000 Message-ID: <19990711132732.21776.qmail@hyperreal.org> From: ben@hyperreal.org To: apache-2.0-cvs@hyperreal.org Subject: cvs commit: apache-2.0/mpm/src/modules/standard mod_access.c mod_alias.c mod_asis.c mod_auth.c mod_autoindex.c mod_dir.c mod_env.c mod_imap.c mod_log_config.c mod_mime.c mod_negotiation.c mod_setenvif.c mod_userdir.c Sender: apache-cvs-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org ben 99/07/11 06:27:32 Modified: mpm/src/ap Makefile.tmpl mpm/src/include ap_hooks.h http_config.h http_request.h mpm/src/main http_config.c http_core.c http_request.c mpm/src/modules/mpm/prefork prefork.c mpm/src/modules/standard mod_access.c mod_alias.c mod_asis.c mod_auth.c mod_autoindex.c mod_dir.c mod_env.c mod_imap.c mod_log_config.c mod_mime.c mod_negotiation.c mod_setenvif.c mod_userdir.c Added: mpm/src/ap ap_hooks.c Log: Add topological sorting to hook ordering. Revision Changes Path 1.6 +1 -1 apache-2.0/mpm/src/ap/Makefile.tmpl Index: Makefile.tmpl =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/ap/Makefile.tmpl,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Makefile.tmpl 1999/06/29 09:00:06 1.5 +++ Makefile.tmpl 1999/07/11 13:27:23 1.6 @@ -6,7 +6,7 @@ LIB=libap.a OBJS=ap_cpystrn.o ap_execve.o ap_fnmatch.o ap_getpass.o ap_md5c.o ap_signal.o \ - ap_slack.o ap_snprintf.o ap_buf.o + ap_slack.o ap_snprintf.o ap_buf.o ap_hooks.o .c.o: $(CC) -c $(INCLUDES) $(CFLAGS) $< 1.1 apache-2.0/mpm/src/ap/ap_hooks.c Index: ap_hooks.c =================================================================== #include "httpd.h" #include "ap_hooks.h" #include #if 0 #define ap_palloc(pool,size) malloc(size) #endif /* NB: This must echo the LINK_##name structure */ typedef struct { void (*dummy)(void *); const char *szName; const char * const *aszPredecessors; const char * const *aszSuccessors; } TSortData; typedef struct tsort_ { void *pData; int nPredecessors; struct tsort_ **ppPredecessors; struct tsort_ *pNext; } TSort; static TSort *prepare(pool *p,TSortData *pItems,int nItems) { TSort *pData=ap_palloc(p,nItems*sizeof *pData); int n; for(n=0 ; n < nItems ; ++n) { pData[n].nPredecessors=0; pData[n].ppPredecessors=ap_palloc(p,nItems*sizeof *pData[n].ppPredecessors); pData[n].pNext=NULL; pData[n].pData=&pItems[n]; } for(n=0 ; n < nItems ; ++n) { int i,k; for(i=0 ; pItems[n].aszPredecessors && pItems[n].aszPredecessors[i] ; ++i) for(k=0 ; k < nItems ; ++k) if(!strcmp(pItems[k].szName,pItems[n].aszPredecessors[i])) { int l; for(l=0 ; l < pData[n].nPredecessors ; ++l) if(pData[n].ppPredecessors[l] == &pData[k]) goto got_it; pData[n].ppPredecessors[pData[n].nPredecessors]=&pData[k]; ++pData[n].nPredecessors; got_it: break; } for(i=0 ; pItems[n].aszSuccessors && pItems[n].aszSuccessors[i] ; ++i) for(k=0 ; k < nItems ; ++k) if(!strcmp(pItems[k].szName,pItems[n].aszSuccessors[i])) { int l; for(l=0 ; l < pData[k].nPredecessors ; ++l) if(pData[k].ppPredecessors[l] == &pData[n]) goto got_it2; pData[k].ppPredecessors[pData[k].nPredecessors]=&pData[n]; ++pData[k].nPredecessors; got_it2: break; } } return pData; } static TSort *tsort(TSort *pData,int nItems) { int nTotal; TSort *pHead=NULL; TSort *pTail=NULL; for(nTotal=0 ; nTotal < nItems ; ++nTotal) { int n,i,k; for(n=0 ; ; ++n) { if(n == nItems) assert(0); // we have a loop... if(!pData[n].pNext && !pData[n].nPredecessors) break; } if(pTail) pTail->pNext=&pData[n]; else pHead=&pData[n]; pTail=&pData[n]; pTail->pNext=pTail; // fudge it so it looks linked for(i=0 ; i < nItems ; ++i) for(k=0 ; pData[i].ppPredecessors[k] ; ++k) if(pData[i].ppPredecessors[k] == &pData[n]) { --pData[i].nPredecessors; break; } } pTail->pNext=NULL; // unfudge the tail return pHead; } static array_header *sort_hook(array_header *pHooks,const char *szName) { pool *p=ap_make_sub_pool(g_pHookPool); TSort *pSort; array_header *pNew; int n; pSort=prepare(p,(TSortData *)pHooks->elts,pHooks->nelts); tsort(pSort,pHooks->nelts); pNew=ap_make_array(g_pHookPool,pHooks->nelts,sizeof(TSortData)); if(g_bDebugHooks) printf("Sorting %s:",szName); for(n=0 ; pSort ; pSort=pSort->pNext,++n) { TSortData *pHook; assert(n < pHooks->nelts); pHook=ap_push_array(pNew); memcpy(pHook,pSort->pData,sizeof *pHook); if(g_bDebugHooks) printf(" %s",pHook->szName); } if(g_bDebugHooks) fputc('\n',stdout); return pNew; } static array_header *s_aHooksToSort; typedef struct { const char *szHookName; array_header **paHooks; } HookSortEntry; void ap_hook_sort_register(const char *szHookName,array_header **paHooks) { HookSortEntry *pEntry; if(!s_aHooksToSort) s_aHooksToSort=ap_make_array(g_pHookPool,1,sizeof(HookSortEntry)); pEntry=ap_push_array(s_aHooksToSort); pEntry->szHookName=szHookName; pEntry->paHooks=paHooks; } void ap_sort_hooks() { int n; for(n=0 ; n < s_aHooksToSort->nelts ; ++n) { HookSortEntry *pEntry=&((HookSortEntry *)s_aHooksToSort->elts)[n]; *pEntry->paHooks=sort_hook(*pEntry->paHooks,pEntry->szHookName); } } void ap_show_hook(const char *szName,const char * const *aszPre, const char * const *aszSucc) { int nFirst; printf(" Hooked %s",szName); if(aszPre) { fputs(" pre(",stdout); nFirst=1; while(*aszPre) { if(!nFirst) fputc(',',stdout); nFirst=0; fputs(*aszPre,stdout); ++aszPre; } fputc(')',stdout); } if(aszSucc) { fputs(" succ(",stdout); nFirst=1; while(*aszSucc) { if(!nFirst) fputc(',',stdout); nFirst=0; fputs(*aszSucc,stdout); ++aszSucc; } fputc(')',stdout); } fputc('\n',stdout); } #if 0 void main() { const char *aszAPre[]={"b","c",NULL}; const char *aszBPost[]={"a",NULL}; const char *aszCPost[]={"b",NULL}; TSortData t1[]= { { "a",aszAPre,NULL }, { "b",NULL,aszBPost }, { "c",NULL,aszCPost } }; TSort *pResult; pResult=prepare(t1,3); pResult=tsort(pResult,3); for( ; pResult ; pResult=pResult->pNext) printf("%s\n",pResult->pData->szName); } #endif 1.5 +19 -5 apache-2.0/mpm/src/include/ap_hooks.h Index: ap_hooks.h =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/include/ap_hooks.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- ap_hooks.h 1999/07/10 18:58:17 1.4 +++ ap_hooks.h 1999/07/11 13:27:24 1.5 @@ -1,15 +1,16 @@ #ifndef APACHE_AP_HOOKS_H #define APACHE_AP_HOOKS_H -extern int g_bDebugHooks; - #define DECLARE_HOOK(ret,name,args) \ typedef ret HOOK_##name args; \ -void ap_hook_##name(HOOK_##name *pf); \ +void ap_hook_##name(HOOK_##name *pf,const char * const *aszPre,const char * const *aszSucc); \ ret ap_run_##name args; \ typedef struct _LINK_##name \ { \ HOOK_##name *pFunc; \ + const char *szName; \ + const char * const *aszPredecessors; \ + const char * const *aszSuccessors; \ } LINK_##name; #define HOOK_STRUCT(members) \ @@ -19,15 +20,21 @@ array_header *link_##name; #define IMPLEMENT_HOOK_BASE(ret,rv_decl,sv,rv,name,args,args2,run_all,term1,term2,rv_final) \ -void ap_hook_##name(HOOK_##name *pf) \ +void ap_hook_##name(HOOK_##name *pf,const char * const *aszPre,const char * const *aszSucc) \ { \ LINK_##name *pHook; \ if(!_hooks.link_##name) \ + { \ _hooks.link_##name=ap_make_array(g_pHookPool,1,sizeof(LINK_##name)); \ + ap_hook_sort_register(#name,&_hooks.link_##name); \ + } \ pHook=ap_push_array(_hooks.link_##name); \ pHook->pFunc=pf; \ + pHook->aszPredecessors=aszPre; \ + pHook->aszSuccessors=aszSucc; \ + pHook->szName=g_szCurrentHookName; \ if(g_bDebugHooks) \ - puts(" Hooked " #name); \ + ap_show_hook(#name,aszPre,aszSucc); \ } \ ret ap_run_##name args \ { \ @@ -55,5 +62,12 @@ IMPLEMENT_HOOK_BASE(void,,,,name,args,args2,run_all,1,0,) extern pool *g_pHookPool; +extern int g_bDebugHooks; +extern const char *g_szCurrentHookName; + +void ap_hook_sort_register(const char *szHookName,array_header **aHooks); +void ap_sort_hooks(void); +void ap_show_hook(const char *szName,const char * const *aszPre, + const char * const *aszSucc); #endif /* ndef(AP_HOOKS_H) */ 1.6 +0 -1 apache-2.0/mpm/src/include/http_config.h Index: http_config.h =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/include/http_config.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- http_config.h 1999/07/06 21:32:08 1.5 +++ http_config.h 1999/07/11 13:27:24 1.6 @@ -240,7 +240,6 @@ * logger --- log a transaction. */ - int (*translate_handler) (request_rec *); int (*ap_check_user_id) (request_rec *); int (*auth_checker) (request_rec *); int (*access_checker) (request_rec *); 1.2 +5 -0 apache-2.0/mpm/src/include/http_request.h Index: http_request.h =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/include/http_request.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- http_request.h 1999/06/18 18:39:28 1.1 +++ http_request.h 1999/07/11 13:27:24 1.2 @@ -58,6 +58,8 @@ #ifndef APACHE_HTTP_REQUEST_H #define APACHE_HTTP_REQUEST_H +#include "ap_hooks.h" + #ifdef __cplusplus extern "C" { #endif @@ -109,6 +111,9 @@ void ap_process_request(request_rec *); API_EXPORT(void) ap_die(int type, request_rec *r); #endif + + /* Hooks */ +DECLARE_HOOK(int,translate_name,(request_rec *)) #ifdef __cplusplus } 1.8 +4 -8 apache-2.0/mpm/src/main/http_config.c Index: http_config.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/main/http_config.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- http_config.c 1999/07/10 13:32:47 1.7 +++ http_config.c 1999/07/11 13:27:25 1.8 @@ -237,7 +237,6 @@ { #define m(meth) { XtOffsetOf(module,meth),#meth } - m(translate_handler), m(ap_check_user_id), m(auth_checker), m(type_checker), @@ -277,7 +276,6 @@ */ static const int method_offsets[] = { - XtOffsetOf(module, translate_handler), XtOffsetOf(module, ap_check_user_id), XtOffsetOf(module, auth_checker), XtOffsetOf(module, access_checker), @@ -288,7 +286,6 @@ #define NMETHODS (sizeof (method_offsets)/sizeof (method_offsets[0])) static struct { - int translate_handler; int ap_check_user_id; int auth_checker; int access_checker; @@ -372,11 +369,6 @@ return run_all ? OK : DECLINED; } -int ap_translate_name(request_rec *r) -{ - return run_method(r, offsets_into_method_ptrs.translate_handler, 0); -} - int ap_check_access(request_rec *r) { return run_method(r, offsets_into_method_ptrs.access_checker, 1); @@ -530,6 +522,7 @@ } int g_bDebugHooks; +const char *g_szCurrentHookName; static void register_hooks(module *m) { @@ -540,6 +533,7 @@ printf("Registering hooks for %s\n",m->name); g_bDebugHooks=1; } + g_szCurrentHookName=m->name; m->register_hooks(); } } @@ -723,6 +717,8 @@ */ for (m = ap_prelinked_modules; *m != NULL; m++) ap_add_module(*m); + + ap_sort_hooks(); } API_EXPORT(const char *) ap_find_module_name(module *m) 1.4 +6 -2 apache-2.0/mpm/src/main/http_core.c Index: http_core.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/main/http_core.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- http_core.c 1999/07/06 21:32:10 1.3 +++ http_core.c 1999/07/11 13:27:25 1.4 @@ -2629,6 +2629,11 @@ ap_open_logs(s, pconf); } +static void register_hooks() + { + ap_hook_translate_name(core_translate,NULL,NULL); + } + API_VAR_EXPORT module core_module = { STANDARD20_MODULE_STUFF, NULL, /* pre_command_line */ @@ -2642,12 +2647,11 @@ merge_core_server_configs, /* merge per-server config structures */ core_cmds, /* command table */ core_handlers, /* handlers */ - core_translate, /* translate_handler */ NULL, /* check_user_id */ NULL, /* check auth */ do_nothing, /* check access */ do_nothing, /* type_checker */ NULL, /* pre-run fixups */ NULL, /* logger */ - NULL /* register hooks */ + register_hooks /* register hooks */ }; 1.8 +8 -2 apache-2.0/mpm/src/main/http_request.c Index: http_request.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/main/http_request.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- http_request.c 1999/07/07 15:31:59 1.7 +++ http_request.c 1999/07/11 13:27:25 1.8 @@ -78,6 +78,12 @@ #endif #include "fnmatch.h" +HOOK_STRUCT( + HOOK_LINK(translate_name) +) + +IMPLEMENT_HOOK(int,translate_name,(request_rec *r),(r),0,OK,DECLINED) + /***************************************************************** * * Getting and checking directory configuration. Also checks the @@ -772,7 +778,7 @@ return rnew; } - res = ap_translate_name(rnew); + res = ap_run_translate_name(rnew); if (res) { rnew->status = res; return rnew; @@ -1114,7 +1120,7 @@ return; } - if ((access_status = ap_translate_name(r))) { + if ((access_status = ap_run_translate_name(r))) { decl_die(access_status, "translate", r); return; } 1.9 +0 -1 apache-2.0/mpm/src/modules/mpm/prefork/prefork.c Index: prefork.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/mpm/prefork/prefork.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- prefork.c 1999/07/06 21:32:15 1.8 +++ prefork.c 1999/07/11 13:27:27 1.9 @@ -3086,7 +3086,6 @@ NULL, /* merge per-server config structures */ prefork_cmds, /* command table */ NULL, /* handlers */ - NULL, /* translate_handler */ NULL, /* check_user_id */ NULL, /* check auth */ NULL, /* check access */ 1.4 +0 -1 apache-2.0/mpm/src/modules/standard/mod_access.c Index: mod_access.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_access.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- mod_access.c 1999/07/06 21:32:18 1.3 +++ mod_access.c 1999/07/11 13:27:27 1.4 @@ -400,7 +400,6 @@ NULL, /* merge server config */ access_cmds, NULL, /* handlers */ - NULL, /* filename translation */ NULL, /* check_user_id */ NULL, /* check auth */ check_dir_access, /* check access */ 1.4 +9 -2 apache-2.0/mpm/src/modules/standard/mod_alias.c Index: mod_alias.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_alias.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- mod_alias.c 1999/07/06 21:32:19 1.3 +++ mod_alias.c 1999/07/11 13:27:28 1.4 @@ -65,6 +65,7 @@ #include "httpd.h" #include "http_config.h" +#include "http_request.h" typedef struct { char *real; @@ -394,6 +395,13 @@ return DECLINED; } +static void register_hooks() + { + static const char * const aszPre[]={ "mod_userdir.c",NULL }; + + ap_hook_translate_name(translate_alias_redir,aszPre,NULL); + } + module MODULE_VAR_EXPORT alias_module = { STANDARD20_MODULE_STUFF, @@ -408,12 +416,11 @@ merge_alias_config, /* merge server configs */ alias_cmds, /* command table */ NULL, /* handlers */ - translate_alias_redir, /* filename translation */ NULL, /* check_user_id */ NULL, /* check auth */ NULL, /* check access */ NULL, /* type_checker */ fixup_redir, /* fixups */ NULL, /* logger */ - NULL /* register hooks */ + register_hooks /* register hooks */ }; 1.4 +0 -1 apache-2.0/mpm/src/modules/standard/mod_asis.c Index: mod_asis.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_asis.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- mod_asis.c 1999/07/06 21:32:19 1.3 +++ mod_asis.c 1999/07/11 13:27:28 1.4 @@ -137,7 +137,6 @@ NULL, /* merge per-server config structures */ NULL, /* command table */ asis_handlers, /* handlers */ - NULL, /* translate_handler */ NULL, /* check_user_id */ NULL, /* check auth */ NULL, /* check access */ 1.4 +0 -1 apache-2.0/mpm/src/modules/standard/mod_auth.c Index: mod_auth.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_auth.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- mod_auth.c 1999/07/06 21:32:19 1.3 +++ mod_auth.c 1999/07/11 13:27:28 1.4 @@ -323,7 +323,6 @@ NULL, /* merge server config */ auth_cmds, /* command table */ NULL, /* handlers */ - NULL, /* filename translation */ authenticate_basic_user, /* check_user_id */ check_user_access, /* check auth */ NULL, /* check access */ 1.4 +0 -1 apache-2.0/mpm/src/modules/standard/mod_autoindex.c Index: mod_autoindex.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_autoindex.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- mod_autoindex.c 1999/07/06 21:32:20 1.3 +++ mod_autoindex.c 1999/07/11 13:27:28 1.4 @@ -1661,7 +1661,6 @@ NULL, /* merge server config */ autoindex_cmds, /* command table */ autoindex_handlers, /* handlers */ - NULL, /* filename translation */ NULL, /* check_user_id */ NULL, /* check auth */ NULL, /* check access */ 1.3 +0 -1 apache-2.0/mpm/src/modules/standard/mod_dir.c Index: mod_dir.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_dir.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- mod_dir.c 1999/07/06 21:32:20 1.2 +++ mod_dir.c 1999/07/11 13:27:28 1.3 @@ -235,7 +235,6 @@ NULL, /* merge per-server config structures */ dir_cmds, /* command table */ dir_handlers, /* handlers */ - NULL, /* translate_handler */ NULL, /* check_user_id */ NULL, /* check auth */ NULL, /* check access */ 1.5 +0 -1 apache-2.0/mpm/src/modules/standard/mod_env.c Index: mod_env.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_env.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- mod_env.c 1999/07/06 21:32:21 1.4 +++ mod_env.c 1999/07/11 13:27:28 1.5 @@ -260,7 +260,6 @@ NULL, /* merge server configs */ env_module_cmds, /* command table */ NULL, /* handlers */ - NULL, /* filename translation */ NULL, /* check_user_id */ NULL, /* check auth */ NULL, /* check access */ 1.4 +0 -1 apache-2.0/mpm/src/modules/standard/mod_imap.c Index: mod_imap.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_imap.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- mod_imap.c 1999/07/06 21:32:21 1.3 +++ mod_imap.c 1999/07/11 13:27:28 1.4 @@ -908,7 +908,6 @@ NULL, /* merge server config */ imap_cmds, /* command table */ imap_handlers, /* handlers */ - NULL, /* filename translation */ NULL, /* check_user_id */ NULL, /* check auth */ NULL, /* check access */ 1.4 +0 -1 apache-2.0/mpm/src/modules/standard/mod_log_config.c Index: mod_log_config.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_log_config.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- mod_log_config.c 1999/07/06 21:32:22 1.3 +++ mod_log_config.c 1999/07/11 13:27:29 1.4 @@ -1118,7 +1118,6 @@ merge_config_log_state, /* merge server config */ config_log_cmds, /* command table */ NULL, /* handlers */ - NULL, /* filename translation */ NULL, /* check_user_id */ NULL, /* check auth */ NULL, /* check access */ 1.3 +0 -1 apache-2.0/mpm/src/modules/standard/mod_mime.c Index: mod_mime.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_mime.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- mod_mime.c 1999/07/06 21:32:22 1.2 +++ mod_mime.c 1999/07/11 13:27:29 1.3 @@ -391,7 +391,6 @@ NULL, /* merge per-server config structures */ mime_cmds, /* command table */ NULL, /* handlers */ - NULL, /* translate_handler */ NULL, /* check_user_id */ NULL, /* check auth */ NULL, /* check access */ 1.4 +0 -1 apache-2.0/mpm/src/modules/standard/mod_negotiation.c Index: mod_negotiation.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_negotiation.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- mod_negotiation.c 1999/07/06 21:32:22 1.3 +++ mod_negotiation.c 1999/07/11 13:27:29 1.4 @@ -2738,7 +2738,6 @@ NULL, /* merge server config */ negotiation_cmds, /* command table */ negotiation_handlers, /* handlers */ - NULL, /* filename translation */ NULL, /* check_user_id */ NULL, /* check auth */ NULL, /* check access */ 1.4 +1 -2 apache-2.0/mpm/src/modules/standard/mod_setenvif.c Index: mod_setenvif.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_setenvif.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- mod_setenvif.c 1999/07/06 21:32:23 1.3 +++ mod_setenvif.c 1999/07/11 13:27:29 1.4 @@ -402,7 +402,7 @@ static void register_hooks() { - ap_hook_post_read_request(match_headers); + ap_hook_post_read_request(match_headers,NULL,NULL); } module MODULE_VAR_EXPORT setenvif_module = @@ -419,7 +419,6 @@ merge_setenvif_config, /* merge server configs */ setenvif_module_cmds, /* command table */ NULL, /* handlers */ - NULL, /* filename translation */ NULL, /* check_user_id */ NULL, /* check auth */ NULL, /* check access */ 1.4 +9 -2 apache-2.0/mpm/src/modules/standard/mod_userdir.c Index: mod_userdir.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_userdir.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- mod_userdir.c 1999/07/06 21:32:23 1.3 +++ mod_userdir.c 1999/07/11 13:27:29 1.4 @@ -92,6 +92,7 @@ #include "httpd.h" #include "http_config.h" +#include "http_request.h" module userdir_module; @@ -326,6 +327,13 @@ return DECLINED; } +static void register_hooks() + { + static const char * const aszSucc[]={ "mod_alias.c",NULL }; + + ap_hook_translate_name(translate_userdir,NULL,aszSucc); + } + module userdir_module = { STANDARD20_MODULE_STUFF, NULL, /* pre_command_line */ @@ -339,12 +347,11 @@ NULL, /* merge server config */ userdir_cmds, /* command table */ NULL, /* handlers */ - translate_userdir, /* filename translation */ NULL, /* check_user_id */ NULL, /* check auth */ NULL, /* check access */ NULL, /* type_checker */ NULL, /* fixups */ NULL, /* logger */ - NULL /* register hooks */ + register_hooks /* register hooks */ };