[Server-devel] Apache proxy CRCsync & mozilla gsoc project?

Rusty Russell rusty at rustcorp.com.au
Wed Apr 1 02:29:34 EDT 2009


On Wednesday 01 April 2009 15:52:22 Martin Langhoff wrote:
> On Wed, Apr 1, 2009 at 12:48 AM, Rusty Russell <rusty at rustcorp.com.au> wrote:
> > Well, 'strong' here is relative.  In order to keep the checksum length finite and hence encode more blocks we only use a portion of the bits; it's a tradeoff.  And so an overall checksum is important, just to verify that the final result is correct.
> 
> Hmmm, if we need an overall checksum...
> 
>  - The server cannot stream data to the client because it has to wait
> until it has all of it. Even if our current implementation doesn't
> have this, having a protocol that allows streaming is high in my list.

Yes, we need to chunk, because we can't hand the data on to the client until
we've verified it, at least in a serious implementation.

>  - Aren't we back to the 2-hashes-will-get-us-sued square?

Nope, that's two hashes *per-block* IIRC.

> frankly, a hash collision that has the same content length and over
> the same syntax format (html/xml) is so rare as to be... well, not
> really something I would expect :-)

Tridge said 16 bits, but actually it's 48 bits per block (32 bit adler
+ 16 bit strong).

Since we're going to error out on the fail case, I'll switch the code to do
64-bit checksums (not right now, but soon: what we have is good enough for
testing).

Thanks,
Rusty.


More information about the Server-devel mailing list