You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by NormW <no...@bocnet.com.au> on 2004/03/08 22:53:15 UTC

JkUriSet bug.

Good morning All

In Mod_Jk2, jk_UriEnv.c, line 419, there is is a test to determine which end
of a URL template string has the *, to determine if the 'match type' should
be PREFIX or SUFFIX.
 [   if (uri[strlen(uri) - 1] == '*') {  ]

A URL template found in a workers2.properties [uri] section is passed to
jk_UriEnv_init() [line 321] without modification, and everything works as
expected.

URL's passed to jk_UriEnv_init() from Apache's .conf file have a (-nn)
number added to the end of them, thus the test at line 419 always fails, and
so they always default to being flagged as MATCH_TYPE_SUFFIX.

Log entry when using .conf (<Location /admin/*>) is as follows (the -1 is
the appended number, which increments for each conf url) :

[jk_uriEnv.c (448)]  uriEnv.init()  uri:/admin/*-1  host=*  uri=/admin/*-1
type=2 ctx=(null) prefix=(null) suffix=/admin/*-1

and when using [uri:/admin/*] is as follows:

[jk_uriEnv.c (448)]  uriEnv.init()  uri:/admin/*  host=*  uri=/admin/*
type=1 ctx=(null) prefix=/admin/ suffix=(null)

Additionally, the extra characters on the end of the passed 'template' will
mean suffix_len and prefix_len are incorrectly set also when received from
Apache.

I'm uncertain about why the numbers are added when received from Apache and
not when generated from inside workers2.properties. Can someone comment on
this please?

Norm



---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: JkUriSet bug.

Posted by jean-frederic clere <jf...@fujitsu-siemens.com>.
NormW wrote:
> Good morning All
> 
> In Mod_Jk2, jk_UriEnv.c, line 419,

jk_uriEnv.c.


> there is is a test to determine which end
> of a URL template string has the *, to determine if the 'match type' should
> be PREFIX or SUFFIX.
>  [   if (uri[strlen(uri) - 1] == '*') {  ]
> 
> A URL template found in a workers2.properties [uri] section is passed to
> jk_UriEnv_init() [line 321] without modification, and everything works as
> expected.

jk2_uriEnv_init.

> 
> URL's passed to jk_UriEnv_init() from Apache's .conf file have a (-nn)
> number added to the end of them, thus the test at line 419 always fails, and
> so they always default to being flagged as MATCH_TYPE_SUFFIX.
> 
> Log entry when using .conf (<Location /admin/*>) is as follows (the -1 is
> the appended number, which increments for each conf url) :

If you use <Location> the mapping is done by Apache (See jk2_translate).

> 
> [jk_uriEnv.c (448)]  uriEnv.init()  uri:/admin/*-1  host=*  uri=/admin/*-1
> type=2 ctx=(null) prefix=(null) suffix=/admin/*-1
> 
> and when using [uri:/admin/*] is as follows:
> 
> [jk_uriEnv.c (448)]  uriEnv.init()  uri:/admin/*  host=*  uri=/admin/*
> type=1 ctx=(null) prefix=/admin/ suffix=(null)
> 
> Additionally, the extra characters on the end of the passed 'template' will
> mean suffix_len and prefix_len are incorrectly set also when received from
> Apache.
> 
> I'm uncertain about why the numbers are added when received from Apache and
> not when generated from inside workers2.properties. Can someone comment on
> this please?
> 
> Norm
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
> 
>