Re: rsync (Was: Call for Community Feedback: Retiring IETF FTP Service)

John C Klensin <john-ietf@jck.com> Thu, 26 November 2020 18:24 UTC

Return-Path: <john-ietf@jck.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 15CEB3A1611 for <ietf@ietfa.amsl.com>; Thu, 26 Nov 2020 10:24:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ts3Hf6pq1xfT for <ietf@ietfa.amsl.com>; Thu, 26 Nov 2020 10:24:11 -0800 (PST)
Received: from bsa2.jck.com (bsa2.jck.com [70.88.254.51]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 73C4D3A160F for <ietf@ietf.org>; Thu, 26 Nov 2020 10:24:11 -0800 (PST)
Received: from [198.252.137.10] (helo=PSB) by bsa2.jck.com with esmtp (Exim 4.82 (FreeBSD)) (envelope-from <john-ietf@jck.com>) id 1kiLw8-0006z4-Ig; Thu, 26 Nov 2020 13:24:08 -0500
Date: Thu, 26 Nov 2020 13:24:02 -0500
From: John C Klensin <john-ietf@jck.com>
To: Job Snijders <job@ntt.net>, Dave Cridland <dave@cridland.net>
cc: "ietf@ietf.org Discussion" <ietf@ietf.org>
Subject: Re: rsync (Was: Call for Community Feedback: Retiring IETF FTP Service)
Message-ID: <C222F5338E555B2B79B33A87@PSB>
In-Reply-To: <X7/j64GnxKQEAnfa@bench.sobornost.net>
References: <CAKHUCzwYRsNz6qM9kwJZNByqwRCA9r+0Rp4B92-t0t2H499syw@mail.gmail.com> <X7/j64GnxKQEAnfa@bench.sobornost.net>
X-Mailer: Mulberry/4.0.8 (Win32)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
X-SA-Exim-Connect-IP: 198.252.137.10
X-SA-Exim-Mail-From: john-ietf@jck.com
X-SA-Exim-Scanned: No (on bsa2.jck.com); SAEximRunCond expanded to false
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf/JBgJ95ugSqDARqtR5el1f12CdDw>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Nov 2020 18:24:13 -0000

Job,

Thanks for posting this -- I've often asked the same question
Dave did.  He asked for publication as an open standard; despite
the documentation you cited, there isn't one of those.  If there
is significant demand, I can't imagine it would be a huge amount
of trouble to take those two specs, convert them to the form of
a standard, and have the IETF process it.  It isn't as if there
are not widely deployed interoperable implementations.  The only
risk I'd see would be if the IETF could not resist "improving
things" by adding new features or otherwise.

FWIW, some years ago I discovered a native rsync client for
Windows, Mac, and iOS whose author claims the core of the client
was written from scratch.  I haven't stressed it very much (and
have not tried the non-Windows versions) but, AFAICT, it
interoperates cleanly with the GPL and OpenBSD versions you
list.  The implementation is, however, client-only and is a
commercial (licensed for money after a free trial) product.
https://acrosync.com/ if you are curious.

    john


--On Thursday, November 26, 2020 17:20 +0000 Job Snijders
<job@ntt.net> wrote:

> On Thu, Nov 26, 2020 at 04:26:24PM +0000, Dave Cridland wrote:
>> On Wed, 25 Nov 2020 at 18:03, Lyndon Nerenberg
>> <lyndon@orthanc.ca> wrote:
>> 
>> > The cluster I use doesn't support rsync
>> 
>> I appreciate this is slightly off-topic, but given the
>> consistent suggestion that "rsync" should replace FTP,
>> perhaps this is the best place to ask - I can find an
>> implementation of rsync easily enough, but I can't find the
>> specification published as an open standard anywhere - do you
>> know where I can find it?
> 
> Fun question!
> 
> The RSYNC algorithm is outlined in these (excellent) papers by
> Andrew Tridgell:
> https://rsync.samba.org/~tridge/phd_thesis.pdf and
> https://www.andrew.cmu.edu/course/15-749/READINGS/required/cas
> /tridgell96.pdf
> 
> Currently only two interoperable implementations of the RSYNC
> protocol exist:
> 
> GPL rsync, aka 'the original'
>     source: https://github.com/WayneD/rsync
>     web: https://rsync.samba.org/
>     initial release: 1996
> 
> openrsync, a clean-room implementation by the OpenBSD project
>     source: https://cvsweb.openbsd.org/src/usr.bin/rsync/
>     web: https://www.openrsync.org/
>     initial release: 2019
> 
> To produce openrsync the paper was very helpful, but also some
> reverse engineering was required: ktrace, 'rsync -vvvv', and
> lots of tcpdump. In hindsight a specification in the form of a
> IETF RFC would've been very helpful :-)
> 
> Currently the closest thing to a specification about what
> happens on the wire probably is the notes compiled during the
> openrsync development, the notes can be found here (mandoc
> format):
> https://github.com/openbsd/src/blob/master/usr.bin/rsync/rsync
> .5
> 
> For your convenience i put a HTML version up here:
> http://sobornost.net/~job/rsync.5.html
> 
> Kind regards,
> 
> Job
>