Status: New
Owner: ---- Labels: Type-Defect Priority-Medium GLASS-Server Version-GLASS0.231 New issue 239 by norbert.hartl: using WAFastCGIAdaptor leads the false conversion of + in urls. http://code.google.com/p/glassdb/issues/detail?id=239 What steps will reproduce the problem? 1. Use WAFastCGIAdaptor as web server 2. send an url with a query string of '?key=a%2Bc 3. inspect the resulting url in a request handler What is the expected output? What do you see instead? The value of the key parameter should be 'a+c' instead you get 'a c' What version of the product are you using? On what operating system? GS 2.4.4.1 Please provide any additional information below. The error occurs because there is a double decoding attempt. WAFastCGIRequestConverter>>requestUrlFor: converts the string the first time. After that you converted 'a%2Bc' to 'a+c'. After that WAUrl class>>absolute: is called which converts the string again. |
Comment #1 on issue 239 by norbert.hartl: using WAFastCGIAdaptor leads the false conversion of + in urls. http://code.google.com/p/glassdb/issues/detail?id=239 Name: Seaside-Adaptors-FastCGI-NorbertHartl.24 Author: NorbertHartl Time: 02/11/2011, 14:30:06 UUID: 8f5bd42c-14b8-4e53-888c-3c5585ff3bdb Ancestors: Seaside-Adaptors-FastCGI-DaleHenrichs.23 fixed a bug (google issue #239) where the fast cgi adaptor double decodes url string. In case of space which can be encoded as + this fails if someone sends an encoded + sign (%2B). It will be decoded %2B -> + -> space. |
Updates:
Status: Accepted Labels: -Version-GLASS0.231 Version-1.0-beta.8 Milestone-1.0-beta.8.6 Comment #2 on issue 239 by [hidden email]: using WAFastCGIAdaptor leads the false conversion of + in urls. http://code.google.com/p/glassdb/issues/detail?id=239 I'll include this in the forthcoming Seaside 3.0.4 release |
Updates:
Status: Fixed Labels: Fixed-1.0-beta.8.6 Comment #3 on issue 239 by [hidden email]: using WAFastCGIAdaptor leads the false conversion of + in urls. http://code.google.com/p/glassdb/issues/detail?id=239 integrated into Seaside 3.0.4: Name: ConfigurationOfSeaside30-DaleHenrichs.291 Author: DaleHenrichs Time: 02/11/2011, 17:45:28 UUID: 3f8954b2-2e16-41cf-847d-b0bf6321eddd Ancestors: ConfigurationOfSeaside30-DaleHenrichs.290 |
Updates:
Status: Started Comment #4 on issue 239 by [hidden email]: using WAFastCGIAdaptor leads the false conversion of + in urls. http://code.google.com/p/glassdb/issues/detail?id=239 It appears that this bugfix breaks the WAEncodingFunctionalTest in Seaside3.0.4 (haven't testing in Seaside3.0.3 yet). If you paste the following text into the Get input box you get the wrong decoding: Я могу есть стекло, оно мне не вредит. If I back out the changes, I get the correct encoding... will need to look at this one a bit more... |
Updates:
Owner: [hidden email] Comment #5 on issue 239 by [hidden email]: using WAFastCGIAdaptor leads the false conversion of + in urls. http://code.google.com/p/glassdb/issues/detail?id=239 The correct fix is to use decodedWith: after creating the WAUrl instance: ^(WAUrl absolute: ( aNativeRequest params at: 'REQUEST_URI')) decodedWith: self codec It looks like the "approved" way of writing adaptors changed about 3 months after I wrote the FastCGI adaptor...it appears that the new way is much simpler:) |
Updates:
Status: Fixed Comment #6 on issue 239 by [hidden email]: using WAFastCGIAdaptor leads the false conversion of + in urls. http://code.google.com/p/glassdb/issues/detail?id=239 - cleaned things up a bit in addition to including the above mentioned fix - log requests in ObjectLog when in debug mode in WAFastCGIAdaptor - use faster algorithm from WAUrl class>>decodePercent:, but still need error handler Name: Grease-GemStone-Core-DaleHenrichs.35 Author: DaleHenrichs Time: 02/16/2011, 16:08:09 UUID: cfb79a92-f40f-4b0d-9112-3c2e92b49a33 Ancestors: Grease-GemStone-Core-DaleHenrichs.34 Name: Seaside-Adaptors-FastCGI-DaleHenrichs.25 Author: DaleHenrichs Time: 02/16/2011, 16:10:41 UUID: fde3af22-5c8a-4d47-8445-5e44b2ef5ad6 Ancestors: Seaside-Adaptors-FastCGI-NorbertHartl.24 |
Comment #7 on issue 239 by [hidden email]: using WAFastCGIAdaptor leads the false conversion of + in urls. http://code.google.com/p/glassdb/issues/detail?id=239 fix will be available in Seaside 3.0.4 |
Free forum by Nabble | Edit this page |