-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Peter,
On 7/24/2009 8:18 PM, maestrofjp wrote: >> Since our framework is deployed on several different CFML servlets -- >> their implementation to get at the original http request wrapper differs >> a bit (three different vendors). We'll probably stick to use the poor >> man's encoding using a modified unicode representation of ";" in the >> end. Another solution is to write a filter and use the getRequestURI() >> and replace the bad path info in the request with the full length version. > >> You could implement a Filter that wraps the request for these servlets. >> The wrapped request would override the getPathInfo method and perform >> the reverse-engineering of the path info you describe above. > > Yeah, the problem is the CFML engines run on a multitude of containers (not > just Tomcat) and I'm not a contributor to any of the open source engines at > the moment. That shouldn't matter: the filter should not perform differently under other containers. If you're worried about performance, you could have the filter initialize itself and check the version of the container and turn itself into a no-op when it's not Tomcat running. >> This would allow you to "patch" your servlets all at once without >> actually modifying their code, and without going through the backflips >> of an alternate URI encoding. > > One engine is proprietary engine by Adobe -- it's been like pulling teeth to > get them to look into the issue. I doubt they will change their engine to > fix this defect. That's why I'm suggesting that you patch it from the outside: the code is easy to write and does not require you to modify anything inside their product. > Yeah, I'll submit a bug report and see what happens -- I'll definitely > submit a patch if I can find an elegant solution to it. i'm pretty > unfamiliar with the Tomcat code base itself. Someone did mention about > having to recombine stuff post path resolution -- I'm not sure exactly what > was mention since I'm unfamiliar with the internals of Tomcat. Start with the code for the HTTP connector (java/org/apache/coyote/http11/Http11Processor.java). The process() method is where the magic essentially begins. - -chris -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEUEARECAAYFAkptu9YACgkQ9CaO5/Lv0PDFVwCXfWl7hmf0mQz4fmEMWXM1SDGP SQCfRIBrZ+Cl0dVYKpbMBECj0iwTsSA= =cgCA -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org