MD4 bug-fix for protocol version 27

Donovan Baarda abo at
Thu May 8 02:39:57 EST 2003

On Thu, 2003-05-08 at 01:02, Christoph Bartelmus wrote:
> Hi,
> while implementing the rsync protocol in one of our projects I found
> that the current CVS version still has a MD4 bug. I'm using the FreeBSD
> libmd implementation and I still had checksum mismatches with protocol
> version 27 for files whose size was a multiple of 64 - 4 ( - 4 due to
> checksum_seed). A patch for todays CVS version is attached.

It is not that simple for rsync... it needs to be backwards compatible
with the busted implementations. I believe some patches have been
submitted that do this, and they are probably in the TODO list for
submitting to CVS.

BTW, if you are using the libmd implementation, I have optimized the
hell out of the md4 implementation based on the code that came from
rsync via librsync, and modified it to use the libmd API. I have
submitted it to the maintainer of
(Martin Hinner), but I have had no feedback. My version is bug free
(passes libmd tests) and nearly 2x as fast on i386 as the RSA
implementation in libmd.

This implementation is available at;

Please use/promote/test/feeback etc.

Donovan Baarda      

More information about the rsync mailing list