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]>

Reply via email to