On Wed, Jul 31, 2002 at 04:28:55PM -0700, Wayne Davison wrote: > On Wed, 31 Jul 2002, Robert Weber wrote: > > On the subject of needed patches, I just recently completed a patch for > > librsync that fixed the mdfour code to have uint_64 or 2 uint_32's for > > size. Without this, the checksums on files >512Megs are incorrect. > > In order to interoperate with older versions of rsync, wouldn't we need > to continue to generate the incorrect checksums on all but the newest > (freshly bumped up) protocol number? > > ..wayne..
I'm not sure... it probably needs more analysis. rsync primarily uses mdfour sums as the big checksums on blocks in the signature. I think it highly unlikely that blocksizes of greater than 512M are used, so this change wouldn't affect that. However, it looks like rsync also uses mdfour for it's "whole file" checksums when using the -c option. In this case, any file larger than 512M would end up with a different whole file sum, causing it to do a full signature/delta/patch when it is not needed. However, the resulting delta would be very small, so this might be tolerable. The biggest worry is I think rsync also does whole file sums for any signature/delta/patch to double (triple?) check the final result. If this is the case, then yes, fixing mdfour will break old rsync'ing of files greater than 512M. If this is really an issue, I can "cripple" the patch with one line so that it conforms with the old mdfour code. This would give you the performance benefits, and a single line change to "uncripple" it further down the track. Alternatively I could add a modified finalise function to give crippled sums, allowing the application software to pick what kind of sum it wants. Someone on the librsync lists mentioned a while back that some rsync or samba person had identified a bug in the mdfour finalise routines and had a fix for it. I'm not sure if this 512M limit was it. I'd be interested to know if/how this affects samba. -- ---------------------------------------------------------------------- ABO: finger [EMAIL PROTECTED] for more info, including pgp key ---------------------------------------------------------------------- -- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.tuxedo.org/~esr/faqs/smart-questions.html