Re: [jetty-users] org.eclipse.jetty.http.HttpField

2020-10-29 Thread Greg Wilkins
Ohhh and yes section 2.3 doesn't comply with 2.6 but 2.6 does only apply to "most" values. ... and you wonder why implementations of these specs sometimes get it wrong:) On Fri, 30 Oct 2020, 00:32 Greg Wilkins, wrote: > My first thought is that Nils could be right when he says that

Re: [jetty-users] org.eclipse.jetty.http.HttpField

2020-10-29 Thread Greg Wilkins
My first thought is that Nils could be right when he says that getValues is needlessly removing quotes. That method was never really well specified as it's based in neither the http nor servlets specification. It was originally a jack of all trades method that worked for most cases. We've not

Re: [jetty-users] org.eclipse.jetty.http.HttpField

2020-10-29 Thread Joakim Erdfelt
Per the spec you linked ... ETag = entity-tag entity-tag = [ weak ] opaque-tag weak = %x57.2F ; "W/", case-sensitive opaque-tag = DQUOTE *etagc DQUOTE etagc = %x21 / %x23-7E / obs-text ; VCHAR except double quotes, plus obs-text That

Re: [jetty-users] org.eclipse.jetty.http.HttpField

2020-10-29 Thread Nils Kilden-Pedersen
Bad example perhaps with If-Match, but substitute for If-None-Match and it’s not a violation. However, ETags are opaque, so it’s not clear to me how I would distinguish the following: If-None-Match: W/"RYNBLKMNQ/LK" If-None-Match: "W/RYNBLKMNQ/LK" Which one is weak and which one isn’t? On Thu,

Re: [jetty-users] org.eclipse.jetty.http.HttpField

2020-10-29 Thread Cantor, Scott
On 10/29/20, 4:54 PM, "jetty-users-boun...@eclipse.org on behalf of Joakim Erdfelt" wrote: >Your Example 2: >If-Match: W/"ab3>5ef1bc78", W/"5be73a9c523" > > This is a field of name "If-Match". > It has 2 values, both of which are in violation of the spec.

Re: [jetty-users] org.eclipse.jetty.http.HttpField

2020-10-29 Thread Joakim Erdfelt
So there's 2 topics here, both about field values. 1. What does comma mean? 2. What does dquote mean? If there is a comma present, and it's not within a DQUOTE pair, then that's the delimiter between field-values. So that means ... *Example 1:* X-Foo: apple, banana, pear Is a field of name

Re: [jetty-users] org.eclipse.jetty.http.HttpField

2020-10-29 Thread Cantor, Scott
On 10/29/20, 3:14 PM, "jetty-users-boun...@eclipse.org on behalf of Nils Kilden-Pedersen" wrote: >I disagree. The quotes are part of the value and are significant. I agree. I was curious about this and followed the thread because I make use of the etags feature in the DefaultServlet. It

Re: [jetty-users] org.eclipse.jetty.http.HttpField

2020-10-29 Thread Nils Kilden-Pedersen
I disagree. The quotes are part of the value and are significant. What about this: If-Match: W/"ab35ef1bc78", W/"5be73a9c523"` On Thu, Oct 29, 2020 at 10:04 AM Joakim Erdfelt wrote: > That header ... > > `If-Match: "ab35ef1bc78", "5be73a9c523"` > > Would be interpreted by

Re: [jetty-users] org.eclipse.jetty.http.HttpField

2020-10-29 Thread Joakim Erdfelt
That header ... `If-Match: "ab35ef1bc78", "5be73a9c523"` Would be interpreted by https://tools.ietf.org/html/rfc7230#section-3.2 and https://tools.ietf.org/html/rfc7230#section-3.2.2 as a Field with a List of 2 values. Value 1: ab35ef1bc78 Value 2: 5be73a9c523 ETag is not special here, the

Re: [jetty-users] org.eclipse.jetty.http.HttpField

2020-10-29 Thread Nils Kilden-Pedersen
Yes, that's my point. ETags *require* quotes, but they're being removed. On Thu, Oct 29, 2020 at 9:25 AM Tamás Cservenák wrote: > To me it seems does requite DQUOTE around it... > https://tools.ietf.org/html/rfc7232#section-2.3 > > Thanks > T > > On Thu, Oct 29, 2020 at 3:07 PM Nils

Re: [jetty-users] org.eclipse.jetty.http.HttpField

2020-10-29 Thread Tamás Cservenák
To me it seems does requite DQUOTE around it... https://tools.ietf.org/html/rfc7232#section-2.3 Thanks T On Thu, Oct 29, 2020 at 3:07 PM Nils Kilden-Pedersen wrote: > After debugging for a weird problem the entire day yesterday, I finally > figured out why my ETag value was losing its quotes.

[jetty-users] org.eclipse.jetty.http.HttpField

2020-10-29 Thread Nils Kilden-Pedersen
After debugging for a weird problem the entire day yesterday, I finally figured out why my ETag value was losing its quotes. For some reason, the innocently sounding HttpField.getValues apparently (needlessly?) appears to assume that comma separated header values might be quoted (not sure why, I