Re: 3.2.2 mod_jk encoding issue
There is also a bug in 3.3 ( where URI is also decoded ), I'm working on it - should be ready this weekend. ( I'm also working on the " " bug, it has the most votes so far ) Costin On Fri, 18 May 2001, Keith Wannamaker wrote: > The 2.2 servlet spec errata says the uri from > HttpServletRequest.getRequestURI() should remain encoded. > [http://java.sun.com/products/servlet/errata_042700.html] > > Tomcat 3.2 standalone handles this correctly, but the > mod_jk connector does not. > > The connector uses the decoded uri from Apache (r->uri). > I believe the correct value to return is the raw, encoded > url (r->unparsed_uri), stripped of the query string, per > the servlet javadoc. > [http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/http/HttpSer > vletRequest.html#getRequestURI()] > > Of course I will defer to the RM's judgement, but I'd like > to commit the following patch to the 3.2 branch prior to > next Friday: > > === > RCS file: /home/cvs/jakarta-tomcat/src/native/apache1.3/Attic/mod_jk.c,v > retrieving revision 1.7.2.3 > diff -u -r1.7.2.3 mod_jk.c > --- mod_jk.c2001/02/17 05:24:00 1.7.2.3 > +++ mod_jk.c2001/05/18 21:05:16 > @@ -358,7 +358,13 @@ > s->method = (char *)r->method; > s->content_length = get_content_length(r); > s->query_string = r->args; > -s->req_uri = r->uri; > +s->req_uri = r->unparsed_uri; > +if (s->req_uri != NULL) { > + char *query_str = strchr(s->req_uri, '?'); > + if (query_str != NULL) { > + *query_str = 0; > + } > +} > > s->is_ssl = JK_FALSE; > s->ssl_cert = NULL; > > Ditto for /home/cvs/jakarta-tomcat/src/native/apache2.0/Attic/mod_jk.c > > Comments? > > Keith >
RE: 3.2.2 mod_jk encoding issue
>I just tried this and verified the orginal bug and that the >proposed patch >does fix the problem. I'm OK with committing to the tomcat_32 branch. > >DOES ANYONE ELSE OUT THERE HAVE ANYTHING THEY WANT TO TELL ME? > >Resin would not appear to be compliant with the specification. > The 4/27/00 >errata indicates that getRequestURI() should return the encoded value. I was fair-play and indicate them the mistake ... :))
RE: 3.2.2 mod_jk encoding issue
I just tried this and verified the orginal bug and that the proposed patch does fix the problem. I'm OK with committing to the tomcat_32 branch. DOES ANYONE ELSE OUT THERE HAVE ANYTHING THEY WANT TO TELL ME? Resin would not appear to be compliant with the specification. The 4/27/00 errata indicates that getRequestURI() should return the encoded value. > -Original Message- > From: GOMEZ Henri [mailto:[EMAIL PROTECTED]] > Sent: Friday, May 18, 2001 4:31 PM > To: [EMAIL PROTECTED] > Subject: RE: 3.2.2 mod_jk encoding issue > > > Resin 1.2.5 and 2.0b2 also use uri instead of unparsed_uri. > > So what ? > > - > Henri Gomez ___[_] > EMAIL : [EMAIL PROTECTED](. .) > PGP KEY : 697ECEDD...oOOo..(_)..oOOo... > PGP Fingerprint : 9DF8 1EA8 ED53 2F39 DC9B 904A 364F 80E6 > > > > >-Original Message- > >From: GOMEZ Henri [mailto:[EMAIL PROTECTED]] > >Sent: Friday, May 18, 2001 11:27 PM > >To: [EMAIL PROTECTED] > >Subject: RE: 3.2.2 mod_jk encoding issue > > > > > >Seems correct to me. > > > >BTW, with the jakarta-tomcat-connector, > >this kind of native bugs fixes will appears > >outside TC 3.2/3.3/4.0 soon. > > > >I'll correct that on mod_jk in TC 3.3 and > >jakarta-tomcat-connector > > > >To be fixed also in mod_webapp. > > > >- > >Henri Gomez ___[_] > >EMAIL : [EMAIL PROTECTED](. .) > >PGP KEY : 697ECEDD...oOOo..(_)..oOOo... > >PGP Fingerprint : 9DF8 1EA8 ED53 2F39 DC9B 904A 364F 80E6 > > > > > > > >>-Original Message- > >>From: Keith Wannamaker [mailto:[EMAIL PROTECTED]] > >>Sent: Friday, May 18, 2001 10:10 PM > >>To: [EMAIL PROTECTED] > >>Subject: 3.2.2 mod_jk encoding issue > >> > >> > >>The 2.2 servlet spec errata says the uri from > >>HttpServletRequest.getRequestURI() should remain encoded. > >>[http://java.sun.com/products/servlet/errata_042700.html] > >> > >>Tomcat 3.2 standalone handles this correctly, but the > >>mod_jk connector does not. > >> > >>The connector uses the decoded uri from Apache (r->uri). > >>I believe the correct value to return is the raw, encoded > >>url (r->unparsed_uri), stripped of the query string, per > >>the servlet javadoc. > >>[http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet > >>/http/HttpSer > >>vletRequest.html#getRequestURI()] > >> > >>Of course I will defer to the RM's judgement, but I'd like > >>to commit the following patch to the 3.2 branch prior to > >>next Friday: > >> > >>=== > >>RCS file: > >>/home/cvs/jakarta-tomcat/src/native/apache1.3/Attic/mod_jk.c,v > >>retrieving revision 1.7.2.3 > >>diff -u -r1.7.2.3 mod_jk.c > >>--- mod_jk.c2001/02/17 05:24:00 1.7.2.3 > >>+++ mod_jk.c2001/05/18 21:05:16 > >>@@ -358,7 +358,13 @@ > >> s->method = (char *)r->method; > >> s->content_length = get_content_length(r); > >> s->query_string = r->args; > >>-s->req_uri = r->uri; > >>+s->req_uri = r->unparsed_uri; > >>+if (s->req_uri != NULL) { > >>+ char *query_str = strchr(s->req_uri, '?'); > >>+ if (query_str != NULL) { > >>+ *query_str = 0; > >>+ } > >>+} > >> > >> s->is_ssl = JK_FALSE; > >> s->ssl_cert = NULL; > >> > >>Ditto for /home/cvs/jakarta-tomcat/src/native/apache2.0/Attic/mod_jk.c > >> > >>Comments? > >> > >>Keith > >> > >
RE: 3.2.2 mod_jk encoding issue
Resin 1.2.5 and 2.0b2 also use uri instead of unparsed_uri. So what ? - Henri Gomez ___[_] EMAIL : [EMAIL PROTECTED](. .) PGP KEY : 697ECEDD...oOOo..(_)..oOOo... PGP Fingerprint : 9DF8 1EA8 ED53 2F39 DC9B 904A 364F 80E6 >-Original Message- >From: GOMEZ Henri [mailto:[EMAIL PROTECTED]] >Sent: Friday, May 18, 2001 11:27 PM >To: [EMAIL PROTECTED] >Subject: RE: 3.2.2 mod_jk encoding issue > > >Seems correct to me. > >BTW, with the jakarta-tomcat-connector, >this kind of native bugs fixes will appears >outside TC 3.2/3.3/4.0 soon. > >I'll correct that on mod_jk in TC 3.3 and >jakarta-tomcat-connector > >To be fixed also in mod_webapp. > >- >Henri Gomez ___[_] >EMAIL : [EMAIL PROTECTED](. .) >PGP KEY : 697ECEDD...oOOo..(_)..oOOo... >PGP Fingerprint : 9DF8 1EA8 ED53 2F39 DC9B 904A 364F 80E6 > > > >>-Original Message- >>From: Keith Wannamaker [mailto:[EMAIL PROTECTED]] >>Sent: Friday, May 18, 2001 10:10 PM >>To: [EMAIL PROTECTED] >>Subject: 3.2.2 mod_jk encoding issue >> >> >>The 2.2 servlet spec errata says the uri from >>HttpServletRequest.getRequestURI() should remain encoded. >>[http://java.sun.com/products/servlet/errata_042700.html] >> >>Tomcat 3.2 standalone handles this correctly, but the >>mod_jk connector does not. >> >>The connector uses the decoded uri from Apache (r->uri). >>I believe the correct value to return is the raw, encoded >>url (r->unparsed_uri), stripped of the query string, per >>the servlet javadoc. >>[http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet >>/http/HttpSer >>vletRequest.html#getRequestURI()] >> >>Of course I will defer to the RM's judgement, but I'd like >>to commit the following patch to the 3.2 branch prior to >>next Friday: >> >>=== >>RCS file: >>/home/cvs/jakarta-tomcat/src/native/apache1.3/Attic/mod_jk.c,v >>retrieving revision 1.7.2.3 >>diff -u -r1.7.2.3 mod_jk.c >>--- mod_jk.c2001/02/17 05:24:00 1.7.2.3 >>+++ mod_jk.c2001/05/18 21:05:16 >>@@ -358,7 +358,13 @@ >> s->method = (char *)r->method; >> s->content_length = get_content_length(r); >> s->query_string = r->args; >>-s->req_uri = r->uri; >>+s->req_uri = r->unparsed_uri; >>+if (s->req_uri != NULL) { >>+ char *query_str = strchr(s->req_uri, '?'); >>+ if (query_str != NULL) { >>+ *query_str = 0; >>+ } >>+} >> >> s->is_ssl = JK_FALSE; >> s->ssl_cert = NULL; >> >>Ditto for /home/cvs/jakarta-tomcat/src/native/apache2.0/Attic/mod_jk.c >> >>Comments? >> >>Keith >> >
RE: 3.2.2 mod_jk encoding issue
Seems correct to me. BTW, with the jakarta-tomcat-connector, this kind of native bugs fixes will appears outside TC 3.2/3.3/4.0 soon. I'll correct that on mod_jk in TC 3.3 and jakarta-tomcat-connector To be fixed also in mod_webapp. - Henri Gomez ___[_] EMAIL : [EMAIL PROTECTED](. .) PGP KEY : 697ECEDD...oOOo..(_)..oOOo... PGP Fingerprint : 9DF8 1EA8 ED53 2F39 DC9B 904A 364F 80E6 >-Original Message- >From: Keith Wannamaker [mailto:[EMAIL PROTECTED]] >Sent: Friday, May 18, 2001 10:10 PM >To: [EMAIL PROTECTED] >Subject: 3.2.2 mod_jk encoding issue > > >The 2.2 servlet spec errata says the uri from >HttpServletRequest.getRequestURI() should remain encoded. >[http://java.sun.com/products/servlet/errata_042700.html] > >Tomcat 3.2 standalone handles this correctly, but the >mod_jk connector does not. > >The connector uses the decoded uri from Apache (r->uri). >I believe the correct value to return is the raw, encoded >url (r->unparsed_uri), stripped of the query string, per >the servlet javadoc. >[http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet >/http/HttpSer >vletRequest.html#getRequestURI()] > >Of course I will defer to the RM's judgement, but I'd like >to commit the following patch to the 3.2 branch prior to >next Friday: > >=== >RCS file: >/home/cvs/jakarta-tomcat/src/native/apache1.3/Attic/mod_jk.c,v >retrieving revision 1.7.2.3 >diff -u -r1.7.2.3 mod_jk.c >--- mod_jk.c2001/02/17 05:24:00 1.7.2.3 >+++ mod_jk.c2001/05/18 21:05:16 >@@ -358,7 +358,13 @@ > s->method = (char *)r->method; > s->content_length = get_content_length(r); > s->query_string = r->args; >-s->req_uri = r->uri; >+s->req_uri = r->unparsed_uri; >+if (s->req_uri != NULL) { >+ char *query_str = strchr(s->req_uri, '?'); >+ if (query_str != NULL) { >+ *query_str = 0; >+ } >+} > > s->is_ssl = JK_FALSE; > s->ssl_cert = NULL; > >Ditto for /home/cvs/jakarta-tomcat/src/native/apache2.0/Attic/mod_jk.c > >Comments? > >Keith >