DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10789>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10789 Setting DirectoryIndex of index.jsp does not get served by jk2 ------- Additional Comments From [EMAIL PROTECTED] 2002-07-18 00:57 ------- The reason that this fix: ------------------------------- if(uriEnv==NULL || (strcmp(r->handler,JK_HANDLER) && strcmp(r->handler,DIR_MAGIC_TYPE))) return DECLINED; ------------------------------- doesn't work for mod_jk2 is that when jk2_handler is invoked in the sequence, uriEnv is NULL. This is a hack that actually fixes the specific request for a directory, but I do not have any idea what other effects it might have, and I do not propose it as a fix. I am just putting it here to maybe give someone an idea. In mod_jk2 about line 715, within the jk2_map_to_storage() function, you have these lines: jk_uriEnv_t *uriEnv=ap_get_module_config( r->request_config, &jk2_module ); if( uriEnv != NULL ) { r->filename = (char *)apr_filename_of_pathname(r->uri); Placing this code following the above (within the if statement) works: if (r->main != NULL && strcmp(r->main->handler, DIR_MAGIC_TYPE) == 0) { /* This is a sub-request and the main request was for a directory entry - assume we are here because of mod_dir processing: set the main request record request config to uriEnv set the main request handler to JK_HANDLER */ ap_set_module_config(r->main->request_config, &jk2_module, uriEnv ); r->main->handler=JK_HANDLER; The following trace of http://my.numeric.isp/, without the hack, shows that jk2_translate and jk2_map_to_storage are actually working with the request_rec of a sub-request and that when jk2_handler is finally invoked it is working with the original request_rec. G:\Apache32\Apache2\bin>apache -X jk2_post_config( ) ENTER jk2_post_config( ) ENTER jk2_child_init( ) ENTER jk2_translate( ) ENTER Unparsed uri: / request_rec: 009CB990 request_rec->main: 00000000 request_rec->prev: 00000000 request_rec->next: 00000000 Return DECLINED jk2_map_to_storage( ) ENTER Unparsed uri: / request_rec: 009CB990 Return DECLINED jk2_translate( ) ENTER Unparsed uri: /index.html request_rec: 009D19A8 request_rec->main: 009CB990 request_rec->prev: 00000000 request_rec->next: 00000000 request_rec->main->handler: httpd/unix-directory Return DECLINED jk2_map_to_storage( ) ENTER Unparsed uri: /index.html request_rec: 009D19A8 Return DECLINED jk2_translate( ) ENTER Unparsed uri: /index.jsp request_rec: 009D19A8 request_rec->main: 009CB990 request_rec->prev: 00000000 request_rec->next: 00000000 request_rec->main->handler: httpd/unix-directory Return OK jk2_map_to_storage( ) ENTER Unparsed uri: /index.jsp request_rec: 009D19A8 Return OK jk2_translate( ) ENTER Unparsed uri: /error/HTTP_FORBIDDEN.html.var request_rec: 009CCDC8 request_rec->main: 00000000 request_rec->prev: 009CB990 request_rec->next: 00000000 Return DECLINED jk2_map_to_storage( ) ENTER Unparsed uri: /error/HTTP_FORBIDDEN.html.var request_rec: 009CCDC8 Return DECLINED jk2_translate( ) ENTER Unparsed uri: /error/include/top.html request_rec: 009D99C8 request_rec->main: 009CCDC8 request_rec->prev: 00000000 request_rec->next: 00000000 request_rec->main->handler: type-map Return DECLINED jk2_map_to_storage( ) ENTER Unparsed uri: /error/include/top.html request_rec: 009D99C8 Return DECLINED jk2_handler( ) ENTER Unparsed uri: /error/include/top.html request_rec: 009D99C8 uriEnv: 00000000 Return DECLINED jk2_translate( ) ENTER Unparsed uri: /error/include/bottom.html request_rec: 009D99C8 request_rec->main: 009CCDC8 request_rec->prev: 00000000 request_rec->next: 00000000 request_rec->main->handler: type-map Return DECLINED jk2_map_to_storage( ) ENTER Unparsed uri: /error/include/bottom.html request_rec: 009D99C8 Return DECLINED jk2_handler( ) ENTER Unparsed uri: /error/include/bottom.html request_rec: 009D99C8 uriEnv: 00000000 Return DECLINED jk2_translate( ) ENTER Unparsed uri: /error/include/../contact.html.var request_rec: 009DBA50 request_rec->main: 009D99C8 request_rec->prev: 00000000 request_rec->next: 00000000 request_rec->main->handler: text/html Return DECLINED jk2_map_to_storage( ) ENTER Unparsed uri: /error/include/../contact.html.var request_rec: 009DBA50 Return DECLINED The following trace with the hack included shows that it works: G:\Apache32\Apache2\bin>apache -X jk2_post_config( ) ENTER jk2_post_config( ) ENTER jk2_child_init( ) ENTER jk2_translate( ) ENTER Unparsed uri: / request_rec: 009CB990 request_rec->main: 00000000 request_rec->prev: 00000000 request_rec->next: 00000000 Return DECLINED jk2_map_to_storage( ) ENTER Unparsed uri: / request_rec: 009CB990 Return DECLINED jk2_translate( ) ENTER Unparsed uri: /index.html request_rec: 009D19A8 request_rec->main: 009CB990 request_rec->prev: 00000000 request_rec->next: 00000000 request_rec->main->handler: httpd/unix-directory Return DECLINED jk2_map_to_storage( ) ENTER Unparsed uri: /index.html request_rec: 009D19A8 Return DECLINED jk2_translate( ) ENTER Unparsed uri: /index.jsp request_rec: 009D19A8 request_rec->main: 009CB990 request_rec->prev: 00000000 request_rec->next: 00000000 request_rec->main->handler: httpd/unix-directory Return OK jk2_map_to_storage( ) ENTER Unparsed uri: /index.jsp request_rec: 009D19A8 Set r->main->request_config == uriEnv r->main->handler == JK_HANDLER. request_rec->filename: index.jsp request_rec->finfo.filetype: 0 Return OK jk2_handler( ) ENTER Unparsed uri: / request_rec: 009CB990 uriEnv: 0096A6D0 Return OK jk2_translate( ) ENTER Unparsed uri: /index.jsp request_rec: 009CB990 request_rec->main: 00000000 request_rec->prev: 00000000 request_rec->next: 00000000 Return OK jk2_map_to_storage( ) ENTER Unparsed uri: /index.jsp request_rec: 009CB990 Return OK jk2_handler( ) ENTER Unparsed uri: /index.jsp request_rec: 009CB990 uriEnv: 0096A6D0 Return OK -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>