[BACK]Return to rsyncd.5 CVS log [TXT][DIR] Up to [local] / src / usr.bin / rsync

Annotation of src/usr.bin/rsync/rsyncd.5, Revision 1.1

1.1     ! benno       1: .\"    $OpenBSD$
        !             2: .\"
        !             3: .\" Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
        !             4: .\"
        !             5: .\" Permission to use, copy, modify, and distribute this software for any
        !             6: .\" purpose with or without fee is hereby granted, provided that the above
        !             7: .\" copyright notice and this permission notice appear in all copies.
        !             8: .\"
        !             9: .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
        !            10: .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
        !            11: .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
        !            12: .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
        !            13: .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
        !            14: .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
        !            15: .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
        !            16: .\"
        !            17: .Dd $Mdocdate$
        !            18: .Dt RSYNCD 5
        !            19: .Os
        !            20: .Sh NAME
        !            21: .Nm rsyncd
        !            22: .Nd rsyncd wire protocol
        !            23: .Sh DESCRIPTION
        !            24: The
        !            25: .Nm
        !            26: protocol described in this relates to the BSD-licensed
        !            27: .Xr openrsync 1 ,
        !            28: a re-implementation of the GPL-licensed reference utility
        !            29: .Xr rsync 1 .
        !            30: It is compatible with version 27 of the reference.
        !            31: .Pp
        !            32: The
        !            33: .Nm
        !            34: protocol is an envelope protocol for
        !            35: .Xr rsync 5
        !            36: between a client and an rsync://-capable server.
        !            37: It provides a means to exchange capabilities information prior to file
        !            38: transfer.
        !            39: .Pp
        !            40: In this document,
        !            41: .Qq client
        !            42: refers to the
        !            43: .Xr openrsync 1
        !            44: utility making the request.
        !            45: It follows that
        !            46: .Qq server
        !            47: refers to the daemon servicing the request.
        !            48: .Pp
        !            49: A connection between a client and server consists of host, a module, and
        !            50: zero or more paths.
        !            51: .Pp
        !            52: .Dl openrsync rsync://host/module/path1 rsync://host/path2... dest
        !            53: .Pp
        !            54: At this time, operating in sender mode (with the rsync:// host receiving
        !            55: information) is not described in this document.
        !            56: .Ss Data types
        !            57: These are the same as in
        !            58: .Xr rsync 5 .
        !            59: A newline is always a standalone \en.
        !            60: .Ss Client process
        !            61: After initialising a connection, the client and server exchange the
        !            62: following information, in order.
        !            63: This portion of the process is
        !            64: .Em not
        !            65: multiplexed.
        !            66: .Pp
        !            67: .Bl -enum -compact
        !            68: .It
        !            69: client sends requested module followed by newline
        !            70: .It
        !            71: server responds with preamble followed by standalone newline
        !            72: .El
        !            73: .Pp
        !            74: The requested module must have non-zero length.
        !            75: The preamble consists in a sequence of lines.
        !            76: Each line either contains free-form text sent by the server as a
        !            77: .Qq motd
        !            78: .Pq message of the day
        !            79: or a command:
        !            80: .Pp
        !            81: .Dl @RSYNCD: command\en
        !            82: .Pp
        !            83: The only supported command is the server protocol specification:
        !            84: .Pp
        !            85: .Dl @RSYNCD: xx[.yy]\en
        !            86: .Pp
        !            87: The optional component is the submodule, which may be discarded.
        !            88: The version may only be specified once.
        !            89: Both the motd and commands end in the special termination command:
        !            90: .Pp
        !            91: .Dl @RSYNCD: OK\en
        !            92: .Pp
        !            93: Following that, the client must send the command-line arguments that
        !            94: would otherwise be used to start a
        !            95: .Xr openrsync 1
        !            96: server.
        !            97: Each argument must be specified on its own line, e.g.,
        !            98: .Pp
        !            99: .Dl --server\en--sender\en-r\en-t\en.\enpath1\enpath2
        !           100: .Pp
        !           101: This must be followed by a standalone newline.
        !           102: .Pp
        !           103: If the server does not understand or accept any of the command-line
        !           104: arguments, it will exit at this point.
        !           105: .Pp
        !           106: Following this, the client must read the integer-length session checksum
        !           107: seed.
        !           108: Multiplexing is subsequently enabled.
        !           109: .Pp
        !           110: The sequence that follows is stipulated in
        !           111: .Xr rsync 5
        !           112: following the handshake.
        !           113: .\" The following requests should be uncommented and used where appropriate.
        !           114: .\" .Sh CONTEXT
        !           115: .\" For section 9 functions only.
        !           116: .\" .Sh RETURN VALUES
        !           117: .\" For sections 2, 3, and 9 function return values only.
        !           118: .\" .Sh ENVIRONMENT
        !           119: .\" For sections 1, 6, 7, and 8 only.
        !           120: .\" .Sh FILES
        !           121: .\" .Sh EXIT STATUS
        !           122: .\" For sections 1, 6, and 8 only.
        !           123: .\" .Sh EXAMPLES
        !           124: .\" .Sh DIAGNOSTICS
        !           125: .\" For sections 1, 4, 6, 7, 8, and 9 printf/stderr messages only.
        !           126: .\" .Sh ERRORS
        !           127: .\" For sections 2, 3, 4, and 9 errno settings only.
        !           128: .Sh SEE ALSO
        !           129: .Xr openrsync 1 ,
        !           130: .Xr rsync 5
        !           131: .\" .Sh STANDARDS
        !           132: .\" .Sh HISTORY
        !           133: .\" .Sh AUTHORS
        !           134: .\" .Sh CAVEATS
        !           135: .\" .Sh BUGS