Re: Syntax change in Set-Cookie header?
Sure, will do! Jim On Thu, Mar 16, 2017 at 12:57 PM, Mark Thomas <ma...@apache.org> wrote: > On 16 March 2017 14:31:31 GMT+00:00, Jim Griswold <jim.grisw...@gmail.com> > wrote: > >Thanks, Mark! I filed > >https://bz.apache.org/bugzilla/show_bug.cgi?id=60876 > > Thanks. I don't suppose you'd like to try your hand at a patch? > > Mark > > > > > > > >Jim > > > >On Thu, Mar 16, 2017 at 6:15 AM, Mark Thomas <ma...@apache.org> wrote: > > > >> On 15/03/17 21:56, Jim Griswold wrote: > >> > Hi everyone, > >> > > >> > After a recent upgrade from Tomcat 8.0.28 to 8.5.11, I've noticed a > >> syntax > >> > change in the Set-Cookie header generated by Tomcat, and I was > >hoping to > >> > confirm whether this is intentional or if I'm doing something > >> incorrectly. > >> > > >> > The background: > >> > > >> > After upgrading Tomcat, some automated tests started failing. These > >tests > >> > use an Apache CXF client to make requests to a service running > >inside > >> > Tomcat, and then make various assertions on the value of the > >Set-Cookie > >> > header returned from from the service. > >> > > >> > The root cause of the failure appears to be a change in the syntax > >used > >> for > >> > the Set-Cookie header which resulted in parsing failures in the > >client. > >> > > >> > The header that's generated by Tomcat 8.0.28 looks like: > >> > > >> > Set-Cookie: cookie_name=value; Path=/ > >> > > >> > With 8.5.11, it looks like: > >> > > >> > Set-Cookie: cookie_name=value;path=/ > >> > > >> > Note the missing space after the semicolon and the change from > >"Path" to > >> > "path". After some digging around, I saw that the > >> > new Rfc6265CookieProcessor was changed to be the default cookie > >> processor. > >> > When I followed instructions [1] to change back to the old > >processor, the > >> > original behavior was restored and my tests pass again. > >> > > >> > Is this expected behavior? I see that RFC 6265 specifies [2] that > >there > >> > must be a space between the semicolon and "path", and that it > >should be > >> > "Path" with the first letter uppercased. Taking a look at the > >> > Rfc6265CookieProcessor source code (the generateHeader method, > >> > specifically), the lack of space and lower case p appear to be > >> intentional, > >> > yet don't seem to conform to the RFC the class is targeting. > >> > > >> > I am sure I must be missing something since this is the new default > >and > >> > this is such a common behavior, but I've dug around for a while and > >can't > >> > find another explanation. > >> > >> Those are implementation bugs. Please raise a Bugzilla issue. The > >case > >> issue is probably wider than just path. > >> > >> Reading through the rest of the spec, they both look to be things > >> clients should tolerate so you probably want to look at the client > >code > >> as well. > >> > >> Kind regards, > >> > >> Mark > >> > >> > >> > > >> > Thanks in advance for your time and help! > >> > > >> > Jim > >> > > >> > [1] > >> > http://stackoverflow.com/questions/38696081/how-to- > >> change-cookie-processor-to-legacycookieprocessor-in-tomcat-8 > >> > > >> > [2] https://tools.ietf.org/html/rfc6265#section-4.1.1 > >> > > >> > >> > >> - > >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > >> For additional commands, e-mail: users-h...@tomcat.apache.org > >> > >> > > > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >
Re: Syntax change in Set-Cookie header?
On 16 March 2017 14:31:31 GMT+00:00, Jim Griswold <jim.grisw...@gmail.com> wrote: >Thanks, Mark! I filed >https://bz.apache.org/bugzilla/show_bug.cgi?id=60876 Thanks. I don't suppose you'd like to try your hand at a patch? Mark > > >Jim > >On Thu, Mar 16, 2017 at 6:15 AM, Mark Thomas <ma...@apache.org> wrote: > >> On 15/03/17 21:56, Jim Griswold wrote: >> > Hi everyone, >> > >> > After a recent upgrade from Tomcat 8.0.28 to 8.5.11, I've noticed a >> syntax >> > change in the Set-Cookie header generated by Tomcat, and I was >hoping to >> > confirm whether this is intentional or if I'm doing something >> incorrectly. >> > >> > The background: >> > >> > After upgrading Tomcat, some automated tests started failing. These >tests >> > use an Apache CXF client to make requests to a service running >inside >> > Tomcat, and then make various assertions on the value of the >Set-Cookie >> > header returned from from the service. >> > >> > The root cause of the failure appears to be a change in the syntax >used >> for >> > the Set-Cookie header which resulted in parsing failures in the >client. >> > >> > The header that's generated by Tomcat 8.0.28 looks like: >> > >> > Set-Cookie: cookie_name=value; Path=/ >> > >> > With 8.5.11, it looks like: >> > >> > Set-Cookie: cookie_name=value;path=/ >> > >> > Note the missing space after the semicolon and the change from >"Path" to >> > "path". After some digging around, I saw that the >> > new Rfc6265CookieProcessor was changed to be the default cookie >> processor. >> > When I followed instructions [1] to change back to the old >processor, the >> > original behavior was restored and my tests pass again. >> > >> > Is this expected behavior? I see that RFC 6265 specifies [2] that >there >> > must be a space between the semicolon and "path", and that it >should be >> > "Path" with the first letter uppercased. Taking a look at the >> > Rfc6265CookieProcessor source code (the generateHeader method, >> > specifically), the lack of space and lower case p appear to be >> intentional, >> > yet don't seem to conform to the RFC the class is targeting. >> > >> > I am sure I must be missing something since this is the new default >and >> > this is such a common behavior, but I've dug around for a while and >can't >> > find another explanation. >> >> Those are implementation bugs. Please raise a Bugzilla issue. The >case >> issue is probably wider than just path. >> >> Reading through the rest of the spec, they both look to be things >> clients should tolerate so you probably want to look at the client >code >> as well. >> >> Kind regards, >> >> Mark >> >> >> > >> > Thanks in advance for your time and help! >> > >> > Jim >> > >> > [1] >> > http://stackoverflow.com/questions/38696081/how-to- >> change-cookie-processor-to-legacycookieprocessor-in-tomcat-8 >> > >> > [2] https://tools.ietf.org/html/rfc6265#section-4.1.1 >> > >> >> >> - >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >> For additional commands, e-mail: users-h...@tomcat.apache.org >> >> - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Syntax change in Set-Cookie header?
Thanks, Mark! I filed https://bz.apache.org/bugzilla/show_bug.cgi?id=60876. Jim On Thu, Mar 16, 2017 at 6:15 AM, Mark Thomas <ma...@apache.org> wrote: > On 15/03/17 21:56, Jim Griswold wrote: > > Hi everyone, > > > > After a recent upgrade from Tomcat 8.0.28 to 8.5.11, I've noticed a > syntax > > change in the Set-Cookie header generated by Tomcat, and I was hoping to > > confirm whether this is intentional or if I'm doing something > incorrectly. > > > > The background: > > > > After upgrading Tomcat, some automated tests started failing. These tests > > use an Apache CXF client to make requests to a service running inside > > Tomcat, and then make various assertions on the value of the Set-Cookie > > header returned from from the service. > > > > The root cause of the failure appears to be a change in the syntax used > for > > the Set-Cookie header which resulted in parsing failures in the client. > > > > The header that's generated by Tomcat 8.0.28 looks like: > > > > Set-Cookie: cookie_name=value; Path=/ > > > > With 8.5.11, it looks like: > > > > Set-Cookie: cookie_name=value;path=/ > > > > Note the missing space after the semicolon and the change from "Path" to > > "path". After some digging around, I saw that the > > new Rfc6265CookieProcessor was changed to be the default cookie > processor. > > When I followed instructions [1] to change back to the old processor, the > > original behavior was restored and my tests pass again. > > > > Is this expected behavior? I see that RFC 6265 specifies [2] that there > > must be a space between the semicolon and "path", and that it should be > > "Path" with the first letter uppercased. Taking a look at the > > Rfc6265CookieProcessor source code (the generateHeader method, > > specifically), the lack of space and lower case p appear to be > intentional, > > yet don't seem to conform to the RFC the class is targeting. > > > > I am sure I must be missing something since this is the new default and > > this is such a common behavior, but I've dug around for a while and can't > > find another explanation. > > Those are implementation bugs. Please raise a Bugzilla issue. The case > issue is probably wider than just path. > > Reading through the rest of the spec, they both look to be things > clients should tolerate so you probably want to look at the client code > as well. > > Kind regards, > > Mark > > > > > > Thanks in advance for your time and help! > > > > Jim > > > > [1] > > http://stackoverflow.com/questions/38696081/how-to- > change-cookie-processor-to-legacycookieprocessor-in-tomcat-8 > > > > [2] https://tools.ietf.org/html/rfc6265#section-4.1.1 > > > > > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >
Re: Syntax change in Set-Cookie header?
On 15/03/17 21:56, Jim Griswold wrote: > Hi everyone, > > After a recent upgrade from Tomcat 8.0.28 to 8.5.11, I've noticed a syntax > change in the Set-Cookie header generated by Tomcat, and I was hoping to > confirm whether this is intentional or if I'm doing something incorrectly. > > The background: > > After upgrading Tomcat, some automated tests started failing. These tests > use an Apache CXF client to make requests to a service running inside > Tomcat, and then make various assertions on the value of the Set-Cookie > header returned from from the service. > > The root cause of the failure appears to be a change in the syntax used for > the Set-Cookie header which resulted in parsing failures in the client. > > The header that's generated by Tomcat 8.0.28 looks like: > > Set-Cookie: cookie_name=value; Path=/ > > With 8.5.11, it looks like: > > Set-Cookie: cookie_name=value;path=/ > > Note the missing space after the semicolon and the change from "Path" to > "path". After some digging around, I saw that the > new Rfc6265CookieProcessor was changed to be the default cookie processor. > When I followed instructions [1] to change back to the old processor, the > original behavior was restored and my tests pass again. > > Is this expected behavior? I see that RFC 6265 specifies [2] that there > must be a space between the semicolon and "path", and that it should be > "Path" with the first letter uppercased. Taking a look at the > Rfc6265CookieProcessor source code (the generateHeader method, > specifically), the lack of space and lower case p appear to be intentional, > yet don't seem to conform to the RFC the class is targeting. > > I am sure I must be missing something since this is the new default and > this is such a common behavior, but I've dug around for a while and can't > find another explanation. Those are implementation bugs. Please raise a Bugzilla issue. The case issue is probably wider than just path. Reading through the rest of the spec, they both look to be things clients should tolerate so you probably want to look at the client code as well. Kind regards, Mark > > Thanks in advance for your time and help! > > Jim > > [1] > http://stackoverflow.com/questions/38696081/how-to-change-cookie-processor-to-legacycookieprocessor-in-tomcat-8 > > [2] https://tools.ietf.org/html/rfc6265#section-4.1.1 > - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Syntax change in Set-Cookie header?
Hi everyone, After a recent upgrade from Tomcat 8.0.28 to 8.5.11, I've noticed a syntax change in the Set-Cookie header generated by Tomcat, and I was hoping to confirm whether this is intentional or if I'm doing something incorrectly. The background: After upgrading Tomcat, some automated tests started failing. These tests use an Apache CXF client to make requests to a service running inside Tomcat, and then make various assertions on the value of the Set-Cookie header returned from from the service. The root cause of the failure appears to be a change in the syntax used for the Set-Cookie header which resulted in parsing failures in the client. The header that's generated by Tomcat 8.0.28 looks like: Set-Cookie: cookie_name=value; Path=/ With 8.5.11, it looks like: Set-Cookie: cookie_name=value;path=/ Note the missing space after the semicolon and the change from "Path" to "path". After some digging around, I saw that the new Rfc6265CookieProcessor was changed to be the default cookie processor. When I followed instructions [1] to change back to the old processor, the original behavior was restored and my tests pass again. Is this expected behavior? I see that RFC 6265 specifies [2] that there must be a space between the semicolon and "path", and that it should be "Path" with the first letter uppercased. Taking a look at the Rfc6265CookieProcessor source code (the generateHeader method, specifically), the lack of space and lower case p appear to be intentional, yet don't seem to conform to the RFC the class is targeting. I am sure I must be missing something since this is the new default and this is such a common behavior, but I've dug around for a while and can't find another explanation. Thanks in advance for your time and help! Jim [1] http://stackoverflow.com/questions/38696081/how-to-change-cookie-processor-to-legacycookieprocessor-in-tomcat-8 [2] https://tools.ietf.org/html/rfc6265#section-4.1.1