[Mono-dev] mod-mono/XSP - HttpRequest.Path is unenescaped twice from the raw URL that came over the wire

Jared Watts jared at symform.com
Tue Apr 10 20:52:04 UTC 2012


I opened the following bug on this issue, but was wondering if the dev list had any thoughts:
https://bugzilla.xamarin.com/show_bug.cgi?id=4135

Basically, in our mod-mono/XSP setup, the raw URL coming into mod-mono is unescaped a second time when accessing the HttpRequest.Path property.  This change was made in the following revision:
https://github.com/mono/mono/commit/dbc7b5c86c9c7d4001e28d5c63f1c774ec0a64a0

Does anyone have insight into why the HttpRequest.Path property would get unescaped again after it was already unescaped by mod-mono and passed along to XSP?  What functionality necessitates the path to get unescaped again? I would think that a Http server should only unescape the URL one time.

It actually breaks functionality (unhandled ArgumentException) with certain URLs, more details are in the bug<https://bugzilla.xamarin.com/show_bug.cgi?id=4135>.

Requested URL on the wire = /File/101497/1L%25001!.WPD?format=bin
HttpRequest.RawUrl = /File/101497/3L%001!.WPD?format=bin
HttpRequest.Path = /File/101497/3L^@1!.WPD<mailto:/File/101497/3L%5e at 1!.WPD>  <--Null character (unescaped %00)


Any thoughts? Thanks!

- jared
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20120410/dfa48644/attachment.html>


More information about the Mono-devel-list mailing list