tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benjamin Butler-Cole <...@dataconnection.com>
Subject Double decoding of URL
Date Mon, 07 Jul 2003 13:02:33 GMT
I am having a problem with Apache/mod_jk/Ajp13Connector/Tomcat.

If I make a request to a servlet with '%' in the path, the URL appears to be
being decoded twice.

I have a servlet mapping of escape -> escape.jsp.  That JSP contains the
following:

  <%= request.getPathInfo() %>
  <%= request.getRequestURL() %>

A request to http://localhost/escape/a%25sdf returns

  /a f
  http://sekhmet.datcon.co.uk/escape/a%sdf

And http://sekhmet/escape/a%21sdf gives

  /a!sdf
  http://sekhmet.datcon.co.uk/escape/a!sdf

Note that getRequestURL() returns the URL *without* decoding it, while
getPathInfo() does decode.  So it looks like the URL is already decoded
before it reaches Tomcat (by Apache or the connector).

I would expect the values of getPathInfo() to be '/a%sdf' and '/a!sdf', and
the values of getRequestURL to contain '%25' and '%21'.

Does anyone know what's going on?  The relevant bits of my configuration
files are below.

Thanks
Ben

-- -- --

httpd.conf

  LoadModule jk_module libexec/mod_jk.so
  JkWorkersFile "/opt/websrv/tomcat/conf/workers.properties"
  JkLogFile logs/mod_jk.log
  JkLogLevel info
  JkMount /escape/* ajp13


workers.properties

  worker.list=ajp13
  worker.ajp13.type=ajp13
  worker.tomcat_home=/opt/websrv/tomcat
  worker.java_home=/opt/j2sdk1.4.1
  ps=/
  worker.ajp13.port=8009
  worker.ajp13.host=localhost


server.xml

  <Connector className="org.Apache.tomcat4.Ajp13Connector" 
             port="8009" minProcessors="5" maxProcessors="1000"
              acceptCount="10" debug="0"/>


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Mime
View raw message