logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

rsyncd.5 (4014B)


  1. .\" $OpenBSD: rsyncd.5,v 1.3 2019/02/18 21:34:54 benno Exp $
  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: February 18 2019 $
  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