search for: mdfour_tail

Displaying 5 results from an estimated 5 matches for "mdfour_tail".

2004 Nov 04
0
[Bug 2000] New: mdfour.c calculates wrong result when block is a multiple of 64 bytes long.
...Priority: P3 Component: core AssignedTo: wayned@samba.org ReportedBy: cph@moria.org.uk QAContact: rsync-qa@samba.org Purely technical, but it looks like lib/mdfour.c gets the MD4 checksum wrong when the block is an exact multiple of 64 - it never calls mdfour_tail, so the message length is not added to the checksummed data. Compiling mdfour.c with TEST_MDFOUR and comparing the hashes with the output of openssl md4 on a 64 byte file shows the bug easily. Since rsync doesn't require the cryptographic strength of md4 anyway, perhaps it simply doesn't m...
2002 Aug 04
1
MD4 bug in rsync for lengths = 64 * n
...ee, except in one case: when the total data length (including the 4 byte checksum_seed) is a multiple of 64, the MD4 checksums in librsync and rsync don't agree. After reviewing the code in librsync, rsync and the original RSA implementation, I believe the bug is in rsync. It doesn't call mdfour_tail() when the last fragment is empty. Unfortunately this happens in the particularly common case of 700 + 4 = 64 * 11. The same bug occurs in both the block MD4s and the entire-file MD4. The bug is benign in the sense that it is on both sides so rsync works correctly. But it is possible (I am certa...
2006 Jan 09
2
performance with >50GB files
Hi all, today we had a performance issue transfering a big amount of data where one file was over 50GB. Rsync was tunneled over SSH and we expected the data to be synced within hours. However after over 10 hours the data is still not synced ... The sending box has rsync running with 60-80 % CPU load (2GHz Pentium 4) while the receiver is nearly idle. So far I had no acces to the poblematic
2020 May 24
3
[PATCH] file_checksum() optimization
...UNK) - mdfour_update(&m, (uchar *)map_ptr(buf, i, CSUM_CHUNK), CSUM_CHUNK); + for (i = 0; i + CHUNK_SIZE <= len; i += CHUNK_SIZE) + mdfour_update(&m, (uchar *)map_ptr(buf, i, CHUNK_SIZE), CHUNK_SIZE); /* Prior to version 27 an incorrect MD4 checksum was computed * by failing to call mdfour_tail() for block sizes that @@ -362,9 +362,9 @@ void file_checksum(const char *fname, const STRUCT_STAT *st_p, char *sum) exit_cleanup(RERR_STREAMIO); } - for (i = 0; i + CSUM_CHUNK <= len; i += CSUM_CHUNK) { + for (i = 0; i + CHUNK_SIZE <= len; i += CHUNK_SIZE) { XXH_errorcode const update...
2004 Jan 02
0
rsync 2.6.0 (final) released
..."/foo-path/baz-bar" (unlike before). * The exclude list specified in the daemon's config file is now properly applied to the pulled items no matter how deep the user's file-args are in the source tree. (Wayne Davison) * For protocol version >= 27, mdfour_tail() is called when the block size (including checksum_seed) is a multiple of 64. Previously it was not called, giving the wrong MD4 checksum. (Craig Barratt) * For protocol version >= 27, a 64 bit bit counter is used in mdfour.c as required by the RFC. Previously only...