httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <wr...@rowe-clan.net>
Subject RE: Clean [Patch 1.3.15] byteranges no longer broken :-)
Date Thu, 21 Dec 2000 05:47:31 GMT
> From: William A. Rowe, Jr. [mailto:wrowe@rowe-clan.net]
> Sent: Sunday, December 17, 2000 12:54 PM
>
> There is a caviat, we don't seem to watch out for ';' ending of the
> Range:bytes= tag, I don't think we did before, I don't know if we expect 
> ';'s, and I'm not certain which code is responsible to rip it off the end.
> 
> So here is the patch, ignoring the ';' question, we do more than we did, 
> and do it right.  I'm +1 on this one, tested it myself.  Jim, Tony, anyone 
> else willing to try and break it?

Since nobody has taken the time to look at this... here is the proper patch
including the ; exception.
 
> Oh, one other odd condition, if you pass Range:bytes= with no ranges at 
> all, which is it?  Empty ranges are syntactially valid, so there is no 
> satisfiable range.  We would 416, but is that right?

Since nobody took up the challenge to extract this concept from the docs,
I've gone back and decided we must have a quad state - valid(1), legal but 
unsatisfiable (0, past the end, legally empty(-1), and invalid syntax (-2).

According to the rfc2616, one white duck=nothing at all (oh, wait, that must
have been Jethro Tull... hold on...) an 'empty' item in a set doesn't count
to satify the 'one or more' elements of a set requirement.  Ergo, bytes=,,,
means absolutely nothing, while bytes=,,0-,, means one thing (the whole thing).

So this patch addresses that issue as well.  Happy proofreading.


Mime
View raw message