jean-frederic clere wrote: > [EMAIL PROTECTED] wrote: > >>jfclere 2004/03/03 09:55:32 >> >> Modified: jk/native2/server/apache2 mod_jk2.c >> Log: >> Remove jk2_translate... It is still not 100% OK: >> - LocationMatch does not work. >> - Some _not_found ends in Tomcat when using mod_dav. > > > That is still not OK. I will go on later. Sorry :-(
Now it looks better. The only thing I have removed is the logic for mod_dir Tomcat will do it if needed. Cheers Jean-Frederic > > >> >> Revision Changes Path >> 1.72 +27 -30 jakarta-tomcat-connectors/jk/native2/server/apache2/mod_jk2.c >> >> Index: mod_jk2.c >> =================================================================== >> RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/mod_jk2.c,v >> retrieving revision 1.71 >> retrieving revision 1.72 >> diff -u -r1.71 -r1.72 >> --- mod_jk2.c 3 Mar 2004 09:15:48 -0000 1.71 >> +++ mod_jk2.c 3 Mar 2004 17:55:31 -0000 1.72 >> @@ -42,7 +42,6 @@ >> */ >> static int dirCounter=0; >> >> - >> #define JK_HANDLER ("jakarta-servlet2") >> #define JK_MAGIC_TYPE ("application/x-jakarta-servlet2") >> >> @@ -662,9 +661,11 @@ >> int rc1; >> >> uriEnv=ap_get_module_config( r->request_config, &jk2_module ); >> + if (uriEnv==NULL) >> + uriEnv=ap_get_module_config( r->per_dir_config, &jk2_module ); >> >> /* not for me, try next handler */ >> - if(uriEnv==NULL || strcmp(r->handler,JK_HANDLER)) >> + if(uriEnv==NULL || !strcmp(r->handler,JK_HANDLER)) >> return DECLINED; >> >> /* If this is a proxy request, we'll notify an error */ >> @@ -854,38 +855,35 @@ >> /* bypass the directory_walk and file_walk for non-file requests */ >> static int jk2_map_to_storage(request_rec *r) >> { >> - jk_uriEnv_t *uriEnv=ap_get_module_config( r->request_config, &jk2_module ); >> - >> - if( uriEnv != NULL ) { >> - >> - /* First find just the name of the file, no directory */ >> - r->filename = (char *)apr_filepath_name_get(r->uri); >> + jk_uriEnv_t *uriEnv; >> + jk_env_t *env; >> >> - /* Only if sub-request for a directory, most likely from mod_dir */ >> - if (r->main && r->main->filename && >> - !*apr_filepath_name_get(r->main->filename)){ >> - >> - /* The filename from the main request will be set to what should >> - * be picked up, aliases included. Tomcat will need to know about >> - * those aliases or things won't work for them. Normal files >> - * should be fine. */ >> - >> - /* Need absolute path to stat */ >> - if (apr_filepath_merge(&r->filename, >> - r->main->filename, r->filename, >> - APR_FILEPATH_SECUREROOT | >> - APR_FILEPATH_TRUENAME, >> - r->pool) >> - != APR_SUCCESS){ >> - return DECLINED; /* We should never get here, very bad */ >> - } >> + if (r->proxyreq || workerEnv==NULL) { >> + return DECLINED; >> + } >> + >> + /* From something like [uri:/examples/STAR] in workers2.properties */ >> + env = workerEnv->globalEnv->getEnv( workerEnv->globalEnv ); >> + uriEnv=workerEnv->uriMap->mapUri(env, workerEnv->uriMap, >> + ap_get_server_name(r), >> + ap_get_server_port(r), >> + r->uri); >> >> - /* Stat the file so that mod_dir knows it's there */ >> - apr_stat(&r->finfo, r->filename, APR_FINFO_TYPE, r->pool); >> + if (uriEnv!=NULL && uriEnv->workerName != NULL) { >> + ap_set_module_config( r->request_config, &jk2_module, uriEnv ); >> + r->handler=JK_HANDLER; >> + workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env ); >> + >> + /* This could be a sub-request, possibly from mod_dir */ >> + if(r->main){ >> + ap_set_module_config( r->main->request_config, &jk2_module, uriEnv ); >> + r->main->handler=JK_HANDLER; >> } >> >> return OK; >> } >> + >> + workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env ); >> return DECLINED; >> } >> >> @@ -897,7 +895,6 @@ >> /* Force the mpm to run before us and set the scoreboard image */ >> ap_hook_child_init(jk2_child_init, NULL, NULL, APR_HOOK_LAST); >> >> - ap_hook_translate_name(jk2_translate, NULL, NULL, APR_HOOK_MIDDLE); >> ap_hook_map_to_storage(jk2_map_to_storage, NULL, NULL, APR_HOOK_MIDDLE); >> } >> >> >> >> >> >>--------------------------------------------------------------------- >>To unsubscribe, e-mail: [EMAIL PROTECTED] >>For additional commands, e-mail: [EMAIL PROTECTED] >> >> > >
signature.asc
Description: OpenPGP digital signature