The rsync URI Scheme
The registration of the rsync:// URI scheme, so rsync sources and destinations can be written as links.
Weiler, S., Ward, D., and R. Housley, "The rsync URI Scheme", RFC 5781, DOI 10.17487/RFC5781, February 2010, <https://www.rfc-editor.org/info/rfc5781>.
@misc{rfc5781,
series = {Request for Comments},
number = 5781,
howpublished = {RFC 5781},
publisher = {RFC Editor},
doi = {10.17487/RFC5781},
url = {https://www.rfc-editor.org/info/rfc5781},
author = {S. Weiler and D. Ward and R. Housley},
title = {{The rsync URI Scheme}},
pagetotal = 4,
year = 2010,
month = feb,
} RFC text
Contents
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
§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://[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.