Stefan Fuhrmann wrote on Mon, Apr 17, 2017 at 22:17:46 +0200: > On 30.03.2017 21:38, Daniel Shahaf wrote: > >Let's use jira or moinmoin to track all the different issues that need > >looking into? I count at least fsfs, fsx, svnadmin load, libsvn_wc, and > >zhakov's change that Bert mentioned. > > What is the problem with 'svnadmin load'?
It's not possible to load a dumpfile that contains a sha1 collision: [[[ % wget https://shattered.it/static/shattered-1.pdf https://shattered.it/static/shattered-2.pdf % svnadmin create r % svn co file://$PWD/r wc % cd wc wc% cp ../shattered-* . wc% svn add * wc% svn ci -madd wc% cd ../ % svnadmin create r2 % svnadmin dump -r > dump % svnadmin load r2 < dump <<< Started new transaction, based on original revision 1 * editing path : shattered-1.pdf ... done. * editing path : shattered-2.pdf ...svnadmin: E200014: Checksum mismatch for '/shattered-2.pdf': expected: 5bd9d8cabc46041579a311230539b8d1 actual: ee4aa52b139d925f8d8884402b0a750c zsh: exit 1 svnadmin load r2 < dump % ]]] That's with 1.9.5. Is it fixed on trunk now? I'm not sure whether r1785754 addresses that. Incidentally: the error code added in r1785754 is misspelled: SVN_ERR_FS_AMBIUGOUS_CHECKSUM_REP should be SVN_ERR_FS_AMBIGUOUS_CHECKSUM_REP. ---------------^^ Not only in the error message, also in the code. > It uses SHA1 and MD5 to verify that the data is valid > but will not detect intended changes that transformed > the dump stream from one valid / consistent state to > another. Apart from that, the FS backend should now > handle collisions just fine. > > With FSFS and FSX fixed in /trunk (FSX not with the > backport IMO), there is only the wc issue left. Not sure > how much efficiency we want to sacrifice there. For > instance, switching between branches will become > expensive again. > > -- Stefan^2. Cheers, Daniel