| Summary: | Ext-B characters in servlet parameters are not decoded correctly | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [RT] Jetty | Reporter: | Chris Goldthorpe <cgold> | ||||
| Component: | server | Assignee: | Greg Wilkins <gregw> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | major | ||||||
| Priority: | P3 | CC: | jetty-inbox, simon_kaegi | ||||
| Version: | unspecified | ||||||
| Target Milestone: | 7.2.x | ||||||
| Hardware: | PC | ||||||
| OS: | Windows 7 | ||||||
| Whiteboard: | |||||||
| Bug Depends on: | |||||||
| Bug Blocks: | 306920, 343643 | ||||||
| Attachments: |
|
||||||
|
Description
Chris Goldthorpe
Created attachment 195532 [details]
JUnit test plug-in
When the attached tests are run in Eclipse testExtBCharacter2A6D5() and testExtBCharacter20008() both fail, all other tests pass.
Chris, one thought here... this is on Jetty 6.1 correct? Does anyone know if this is fixed in Jetty 7? If so the fix on our side would be to move up to 7.1 or 7.2. Yes, it's on Jetty 6.1.
I have added the following test to HttpURITest:
@Test
public void testExtB() throws Exception
{
for (String value: new String[]{"a","abcdABCD","\u00C0","\u697C","\uD869\uDED5","\uD840\uDC08"} )
{
HttpURI uri = new HttpURI("/path?value="+URLEncoder.encode(value,"UTF-8"));
MultiMap<String> parameters = new MultiMap<String>();
uri.decodeQueryTo(parameters,"UTF-8");
assertEquals(value,parameters.get("value"));
}
}
This passes in jetty-7.4.1 and jetty-6 trunk.
So this bug has been fixed.
Currently there is no immediate plans for another jetty-6 release, but is somebody has some spare cycles to help us get it CQ'd etc then we could consider a maintenance release in the next few weeks.
Thanks for turning this around so quickly. For Eclipse 3.8 we would presumably move up to Jetty 7.x, for Eclipse 3.7 users a new Jetty 6 release would be the ideal solution. Thanks Greg, I feel doubly guilty for not being on 7.x yet. If you cut a maintenance release for 6.x I'd be more than happy to do the CQ. |