Hello, While porting rsync 2.5.6 to .NET (C#), I noticed that the MD4 engine in the original source code in my possession behaved differently from the C# MD4 engine that I was using in my own code. While testing the file transfer between my program and a compiled version of rsync 2.5.6, I noticed that the file checksums generated for the entire file to detect corruption on the link were different. While digging down in the source code, I noticed that the MD4 engine in the original source code that I possess did not perform the MD4 tail operation if the last block fed into the engine was exactly the size of the other blocks. I did not and do not have the time to study the RFCs but I would guess that MD4 Tail must be called in all circumstances at the end of the hashing. Regards, Mihai Danila ______________________________________________________________________ Do you want a free e-mail for life ? Get it at http://www.personal.ro/
On Thu, Nov 06, 2003 at 02:58:44PM +0200, Mihai Danila wrote:> While digging down in the source code, I noticed that the MD4 engine > in the original source code that I possess did not perform the MD4 > tail operation if the last block fed into the engine was exactly the > size of the other blocks.Yes, we noticed that too, and the CVS version should have this already fixed. Feel free to give it a try. ..wayne..