MD4 bug in rsync for lengths = 64 * n

Dave Dykstra dwd at
Tue Sep 3 21:54:01 EST 2002

Donovan or Craig, can you please post it as a patch to the current rsync
source (including an increase in the protocol version and checks to do the
old behavior when talking to an old version client).

Probably we wouldn't want to incorporate it until a major release anyway
(2.6.0) but if it isn't developed soon and put into the "patches" diretory
it's likely to be forgotten.

- Dave Dykstra

On Wed, Sep 04, 2002 at 01:51:15AM +1000, Donovan Baarda wrote:
> On Mon, Sep 02, 2002 at 12:44:48AM -0700, Craig Barratt wrote:
> [...]
> > > I can submit patches if required for the md4code as tweaked/fixed for
> > > librsync. The fixed code is faster as well as correct :-)
> > 
> > Sure, that would be great.  Otherwise, I would be happy to recreate
> > and test a patch.
> I have attached my latest versions of the librsync mdfour code. This code is
> not yet available anywhere except here, but I will be posting it soon as a 
> patch on the librsync project page at SF.
> This is the final refinement of this code I plan to do before migrating the
> API to match the RSA implementation. It includes bugfixes for sums larger
> than 512MB, and produces identical results to the RSA implementation. It is
> much faster than the RSA implementation or the previous samba/rsync derived
> implementation, and is much cleaner than the last librsync submitted
> optimisations.
> I'm not exactly sure how much faster it is, but rough tests using librsync
> show reductions of more than 20% for signature generation times, but I
> suspect some of that would be because I have also optimised the rollsums.
> If the rsync guys want to take advantage of the rollsum optimisations I have
> encapsulated them into a neat standalone "rollsum.[ch]" implementation. Let
> me know if you want them.
> BTW, I have also merged my librsync delta refactor changes with the latest
> SF librsync CVS and will be submitting a smaller cleaner patch. Are we still
> using the rproxy-devel list for librsync, or is there another list
> somewhere?
> -- 
> ----------------------------------------------------------------------
> ABO: finger abo at for more info, including pgp key
> ----------------------------------------------------------------------

More information about the rsync mailing list