cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Pruy <Rainer.P...@Acrys.COM>
Subject Re: C2.2: undecoded URI params
Date Mon, 17 Mar 2008 09:38:52 GMT
Hi Grek,

after a bit further investigation the topic might decompose to two problems:

1. The request (emulation) used while executing the "redirectTo" call from flowscript does
not really provide encoded vs. decoded
values for the relevant input modules. (the emulation is obviously quite terse, e.g. there
is no "querystring" with request module).

Passing values directly from browser works fine.
Passing from sitemap or flowscript fails.

servlet protocol does complain over some characters that cocoon protocol just passes over
(try some x="b") parameter.
(The '"' are "malformed" according to servlet: but tolerated with cocoon:).

Presumably servlet: protocol is closer to spec as RFC 3986 does not list '"' as a valid character
for URIs.
Nevertheless, such values would not reach so far if case 1. would yield encoded values.


Grzegorz Kossakowski schrieb:
> Rainer Pruy pisze:
>> Sorry,
>> the excerpt from the log missed the interesting info part:
>> the source causes an exception:
>> (leaving out any secondary exception messages)
>> ....
>> Caused by: Malformed URI in block
>> source Illegal character in query at index 40:
>> servlet:/page/research/search?modeinfo=a b
>>         at
>> org.apache.cocoon.servletservice.ServletConnection.<init>(
>>         at
>> org.apache.cocoon.servletservice.components.ServletSource.<init>(
>>         at
>> org.apache.cocoon.servletservice.components.ServletSourceFactory.getSource(
>>         at
>> org.apache.cocoon.components.source.CocoonSourceResolver.resolveURI(
>>         at
>> org.apache.cocoon.components.source.CocoonSourceResolver.resolveURI(
>>         at
>> org.apache.cocoon.template.script.DefaultScriptManager.resolveTemplate(
>> Nevertheless,
>> I assume the problem is put up quote before entering the sitemap. As
>> it is already visible there.
>> Probably there is something along the get() method for request
>> parameters that changed (as a side effect from SSF?) (wild guess)?
> Hello Rainer,
> After taking a quick look at ServletSourceFactory implementation I don't
> see a problem so I guess this must be a problem with raw-request-param
> module but in order to make sure could you use file source temporarily
> instead of servlet one? This way we can exclude servlet: source from the
> list of suspected.
> As far I remember, redirectTo() method is still handled by cocoon:
> source internally so I'm really not sure what can be wrong, right now.
> If it still fails with file: source we will need to employ a debugger I
> guess.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message