- From: Alex Rousskov <rousskov@measurement-factory.com>
- Date: Fri, 21 Jun 2002 19:36:42 -0600 (MDT)
- To: Jeffrey Mogul <Jeff.Mogul@hp.com>
- cc: ietf-http-wg@w3.org
Hi Jeff,
Thanks for the clarification! I agree that the "[] No"
interpretation would make little practical sense, but I am sure that
when our test suite detects this violation, some violators would use
the ambiguity as an excuse. Now I can use your response as a
munition ;-).
If there is a chance to update the protocol specs, I think it
would be a good idea to use your new wording. I would also suggest, if
I may, that the words "In order to prevent denial of service attacks,"
are deleted or at least isolated from the MUST requirement in a
separate non-normative statement:
An invalidation based on the URI in a Location or
Content-Location header MUST NOT be performed if the host part of
that URI differs from the host part in the Request-URI. This
restriction helps prevent denial of service attacks.
Alex.
On Fri, 21 Jun 2002, Jeffrey Mogul wrote:
> Sorry for the slow reply on this:
>
> Alex Rousskov <rousskov@measurement-factory.com> writes:
>
> I cannot decide if the following is a MUST-level requirement
> (i.e., its violation prevents RFC 2616 compliance, even conditional):
>
> 13.10 Invalidation After Updates or Deletions
> ...
> In order to prevent denial of service attacks, an invalidation based
> on the URI in a Location or Content-Location header MUST only be
> performed if the host part is the same as in the Request-URI.
>
> Suppose the host part is not the same as in the Request-URI. Let's
> also assume that the device did perform an invalidation, subjecting
> itself to a potential DoS attack. Did the device violate a MUST-level
> requirement? The answer seems to depend on how you bind "only":
>
> [ ] Yes, this is a MUST-level violation because
> foo MUST only blah if bar
> implies
> if not bar, foo MUST NOT blah
>
> [ ] No, this is not a MUST-level violation because
> foo MUST only blah if bar
> implies just that
> if bar, foo MUST blah
> and requires nothing when bar is false ("if not bar")
>
> I suspect that the intended interpretation is "yes, this is a MUST
> violation". Can anybody confirm? Is there really a problem with the
> wording, or am I imagining an ambiguity?
>
> I'm pretty sure that I wrote the text in 13.10 (not 100% sure),
> so I guess this is my problem. If you can't understand what it
> means, then I guess that does mean that the wording isn't sufficiently
> clear.
>
> Perhaps this is a clearer wording:
>
> In order to prevent denial of service attacks, an invalidation
> based on the URI in a Location or Content-Location header MUST
> NOT be performed if the host part of that URI differs from the
> host part in the Request-URI.
>
> This corresponds to your "[ ] Yes" alternative above. The other
> intepretation doesn't seem to prevent any DOS attacks. (If I had
> meant the other alternative, I would have written something like
> "foo MUST be performed if bar").
>
> Clear?
>
> -Jeff
>
Received on Friday, 21 June 2002 21:36:46 UTC