RFC 5781 INFORMATIONAL URI · FILE TRANSFER

The rsync URI Scheme

The registration of the rsync:// URI scheme, so rsync sources and destinations can be written as links.

On rfc-editor.org ↗
PUBLISHED
February 2010
AUTHORS
S. Weiler, D. Ward, R. Housley
STREAM
IETF
SCHEME NAME
rsync
DEFAULT PORT
873
REGISTRATION STATUS
provisional
TRANSPORT
TCP
DOI
10.17487/RFC5781

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                         S. Weiler
Request for Comments: 5781                                  SPARTA, Inc.
Category: Informational                                          D. Ward
ISSN: 2070-1721                                                  Juniper
                                                              R. Housley
                                                          Vigil Security
                                                           February 2010


                          The rsync URI Scheme

Abstract

   This document specifies the rsync Uniform Resource Identifier (URI)
   scheme.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Not all documents
   approved by the IESG are a candidate for any level of Internet
   Standard; see Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc5781.

Copyright Notice

   Copyright (c) 2010 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

1.  Introduction

   URIs were previously defined in RFC 2396, which was obsoleted by RFC
   3986 [RFC3986].  The procedures for registering new URI schemes are
   defined in RFC 4395 [RFC4395].  The rsync utility provides fast
   incremental file transfer [rsync].  This document defines a URI
   scheme for rsync.

2.  rsync URI registration

   This section contains the registration template for the rsync URI
   scheme in accordance with RFC 4395 [RFC4395].  This URI scheme is for
   the rsync protocol using TCP as the transport protocol.  Other
   transports, such as rsync over SSH, are not supported by this URI
   scheme.

   URI scheme name: rsync

   Status: provisional

   URI scheme syntax: An rsync URI describes a source or destination for
   the rsync application including a hostname, path, and optional user
   and port.  The generic form of the rsync URI is:

   rsync://[user@]host[:PORT]/Source

   The rsync URI follows the general syntax from RFC 3986 and is defined
   by the following ABNF [RFC5234]:

      rsyncuri        = "rsync:" hier-part
                        ; See RFC 3986 for the definition
                        ; of hier-part

   URI scheme semantics: An rsync URI may be used as either a source or
   destination for the rsync application.  If the port is not specified,
   it defaults to 873.

   Encoding considerations: Since the rsync URI is defined using
   standard elements from RFC 3986, no special encoding considerations
   are present.

   Applications/protocols that use this URI scheme name: The only
   application that uses rsync URIs is rsync.

   Interoperability considerations: Since only one application is
   expected to make use of rsync URIs, this URI scheme is expected to
   have few interoperability concerns.

   Security considerations: Section 7 of RFC 3986 describes general
   security considerations for URI schemes.  The considerations about
   reliability and consistency, malicious construction, rare IP address
   formats, sensitive information, and semantic attacks all apply to
   rsync URIs.  The considerations about transcoding do not apply.
   Given how rsync is regularly used, it is expected that most
   applications will not be bothered by data accessed via a given rsync
   URI changing over time.

   Contact: Russ Housley <housley@vigilsec.com>

   Author/Change controller: Russ Housley <housley@vigilsec.com>

   References: see Section 5.

3.  IANA Considerations

   IANA has registered the rsync provisional URI scheme using the
   template in Section 2.

4.  Security Considerations

   Many security considerations for the usage of URIs are discussed in
   Section 7 of [RFC3986].  The considerations about reliability and
   consistency, malicious construction, rare IP address formats,
   sensitive information, and semantic attacks all apply to rsync URIs.
   The considerations about transcoding do not apply.  The rsync URI
   scheme has no particularly unique security considerations.

   The security considerations of the rsync protocol are not covered in
   this document.

5.  Normative References

   [RFC3986]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
              Resource Identifier (URI): Generic Syntax", STD 66, RFC
              3986, January 2005.

   [RFC4395]  Hansen, T., Hardie, T., and L. Masinter, "Guidelines and
              Registration Procedures for New URI Schemes", BCP 35, RFC
              4395, February 2006.

   [RFC5234]  Crocker, D., Ed., and P. Overell, "Augmented BNF for
              Syntax Specifications: ABNF", STD 68, RFC 5234, January
              2008.

6.  Informative References

   [rsync]  http://rsync.samba.org/.

Authors' Addresses

   Samuel Weiler
   SPARTA, Inc.
   7110 Samuel Morse Drive
   Columbia, Maryland  21046
   US

   EMail: weiler@tislabs.com


   Dave Ward
   Juniper Networks
   1194 North Mathilda Avenue
   Sunnyvale, California  94089-1206
   US

   EMail: dward@juniper.net


   Russ Housley
   Vigil Security, LLC
   918 Spring Knoll Drive
   Herndon, Virginia  20170
   US

   EMail: housley@vigilsec.com

AI ELI5

On this page
PROBLEMThe rsync utility had no registered URI scheme, so there was no standard way to write down an rsync source or destination as a URI.
MECHANISMThe RFC registers the provisional scheme rsync, with the form rsync://[user@]host[:PORT]/Source, built on the generic URI syntax of RFC 3986.
WHY IT MATTERSIt covers rsync over TCP only, with a default port of 873, and adds no special security concerns beyond those of URIs in general.

§1Introduction

URIs were previously defined in RFC 2396, which was obsoleted by RFC 3986. The procedures for registering new URI schemes are defined in RFC 4395. The rsync utility provides fast incremental file transfer, and this document defines a URI scheme for it.

People wanted a standard way to write the address of a folder that rsync can copy. This RFC gives that address a proper name.

§2The rsync URI Syntax

The generic form is rsync://[user@]host[:PORT]/Source. An rsync URI describes a source or destination for the rsync application, including a hostname, a path, and an optional user and port. It follows the general syntax of RFC 3986 and is defined in ABNF as "rsync:" hier-part, where hier-part comes from RFC 3986.

The URI may be used as either a source or a destination. If the port is not specified, it defaults to 873. Since only standard elements from RFC 3986 are used, there are no special encoding considerations.

The address says who to call, which folder to look in, and optionally which door (port) to knock on. If you do not say, it knocks on door 873.

RSYNC URI FORM AND ABNF (RFC 5781)
rsync URI
rsync://[user@]host[:PORT]/Source

rsyncuri = "rsync:" hier-part

§3Scope and Interoperability

The scheme is for the rsync protocol using TCP as the transport. Other transports, such as rsync over SSH, are not supported by this URI scheme. The registration status is provisional.

The only application that uses rsync URIs is rsync, so the RFC expects few interoperability concerns.

The address only works for the plain rsync way of talking, not for the version tunneled through SSH.

§4Security and IANA

IANA registered the provisional scheme using the template in the RFC. For security, Section 7 of RFC 3986 applies: the considerations about reliability and consistency, malicious construction, rare IP address formats, sensitive information, and semantic attacks all apply, while those about transcoding do not. The scheme has no particularly unique security considerations, and the security of the rsync protocol itself is not covered.

An rsync address is only a label, so it has the same risks as any web link, such as a tricky-looking address. How safe rsync itself is gets decided elsewhere.

§5References