From users-return-26908-archive-asf-public=cust-asf.ponee.io@subversion.apache.org Sun Mar 4 12:12:16 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 53932180649 for ; Sun, 4 Mar 2018 12:12:16 +0100 (CET) Received: (qmail 28379 invoked by uid 500); 4 Mar 2018 11:12:15 -0000 Mailing-List: contact users-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list users@subversion.apache.org Received: (qmail 28365 invoked by uid 99); 4 Mar 2018 11:12:14 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 04 Mar 2018 11:12:14 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id CC011C0040 for ; Sun, 4 Mar 2018 11:12:13 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.502 X-Spam-Level: * X-Spam-Status: No, score=1.502 tagged_above=-999 required=6.31 tests=[KAM_COUK=0.85, RCVD_IN_DNSWL_NONE=-0.0001, SPF_NEUTRAL=0.652] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id 2tNVYcC4oMGh for ; Sun, 4 Mar 2018 11:12:11 +0000 (UTC) Received: from know-smtprelay-omc-9.server.virginmedia.net (know-smtprelay-omc-9.server.virginmedia.net [80.0.253.73]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 664055F181 for ; Sun, 4 Mar 2018 11:12:11 +0000 (UTC) Received: from localhost ([86.9.48.152]) by cmsmtp with ESMTPA id sRYeeYBaYYHrXsRYfe0Le6; Sun, 04 Mar 2018 11:12:01 +0000 X-Originating-IP: [86.9.48.152] X-Authenticated-User: codematters@ntlworld.com X-Spam: 0 X-Authority: v=2.3 cv=NJ77BXyg c=1 sm=1 tr=0 a=rSjZpmdkpCpLRM02tfIJ4Q==:117 a=rSjZpmdkpCpLRM02tfIJ4Q==:17 a=-RFrXfWmfIVB6YLSeSQA:9 From: Philip Martin To: Nathan Hartman Cc: Subversion , Myria , Nico Kadel-Garcia , Matt Simmons , Philip Martin Subject: Re: SHA-1 collision in repository? References: <87d10vkx50.fsf@codematters.co.uk> <87606nkvth.fsf@codematters.co.uk> <87lgfeilm8.fsf@codematters.co.uk> <87sh9iukz1.fsf@codematters.co.uk> <8174D12F-3A40-4300-9A09-287DE72D4A06@gmail.com> <20180304102805.GP15389@ted.stsp.name> Date: Sun, 04 Mar 2018 11:12:00 +0000 In-Reply-To: <20180304102805.GP15389@ted.stsp.name> (Stefan Sperling's message of "Sun, 4 Mar 2018 11:28:05 +0100") Message-ID: <87vaecnlhb.fsf@codematters.co.uk> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-CMAE-Envelope: MS4wfGrl8Ku3JrjoZA2lC5cbxnF8U8ZniZSGPnayE5u7TLpE7erwAOR3f1StmErLvOP36wKW21Tow1aMTaPCLI/Z4I5mi0n8ZoEzPNBK+RkbEYKG2X90IvG3 NvZlhi/SZ4xvL5oatF1/BjLFL5Zt0x+BmZrHBIW2gjGfETGAj9Azzvp6RyswBomaLpccP+OdEFo9PbkdH7+uNghtdHjAmUdR/Utgl9eS/WASKYQzuVoUtJLH +X+8Sr0BIenMtz7YmTx2SbgGqfs7ku1SV2C0TT4qVRkDb+mTyuwh4TQWS7AybKZ5kdvG04Y52gnAnFBYrPQBWqjyzhMmipLUHIcJsopCrME= Stefan Sperling writes: > Yes. And if the content differs, it must be rejected, because an FSFS > repository can only store one content per SHA1 checksum. To be accurate the server-side code can handle the files perfectly well if rep-caching is disabled. One can retreive either file, dump/load into another repository, etc. # Import 2 files from shattered.io svnadmin create repo1 echo [rep-sharing] >> repo1/db/fsfs.conf echo enable-rep-sharing=false >> repo1/db/fsfs.conf svn import -mm shattered-1.pdf file://`pwd`/repo1/f svn import -mm shattered-2.pdf file://`pwd`/repo1/g # dump/load svnadmin create repo2 echo [rep-sharing] >> repo2/db/fsfs.conf echo enable-rep-sharing=false >> repo2/db/fsfs.conf svnadmin dump repo1 | svnadmin load repo2 # verify files have same SHA1 but different MD5 $ svnlook cat repo2 f | sha1sum 38762cf7f55934b34d179ae6a4c80cadccbb7f0a - $ svnlook cat repo2 g | sha1sum 38762cf7f55934b34d179ae6a4c80cadccbb7f0a - $ svnlook cat repo2 f | md5sum ee4aa52b139d925f8d8884402b0a750c - $ svnlook cat repo2 g | md5sum 5bd9d8cabc46041579a311230539b8d1 - The on the client side the working copy code doesn't handle the files as the pristines collide. -- Philip