MD4 bug in rsync for lengths = 64 * n

Donovan Baarda abo at
Tue Sep 3 15:52:00 EST 2002

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

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

ABO: finger abo at for more info, including pgp key
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mdfour.h
Type: text/x-chdr
Size: 1158 bytes
Desc: not available
Url :
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mdfour.c
Type: text/x-csrc
Size: 9026 bytes
Desc: not available
Url :

More information about the rsync mailing list