PREVPassword scrambling UPTop NEXTProtocol Notes

Chapter 5: The CVS client/server protocol

In the following, `\n' refers to a linefeed and `\t' refers to a horizontal tab; requests are what the client sends and responses are what the server sends. In general, the connection is governed by the client---the server does not send responses without first receiving requests to do so; see Response intro for more details of this convention.

It is typical, early in the connection, for the client to transmit a Valid-responses request, containing all the responses it supports, followed by a valid-requests request, which elicits from the server a Valid-requests response containing all the requests it understands. In this way, the client and server each find out what the other supports before exchanging large amounts of data (such as file contents).

General protocol conventions:

  • Entries Lines Transmitting RCS data
  • File Modes Read, write, execute, and possibly more...
  • Filenames Conventions regarding filenames
  • File transmissions How file contents are transmitted
  • Strings Strings in various requests and responses
  • Dates Times and dates

    The protocol itself:

  • Request intro General conventions relating to requests
  • Requests List of requests
  • Response intro General conventions relating to responses
  • Response pathnames The "pathname" in responses
  • Responses List of responses
  • Text tags More details about the MT response

    An example session, and some further observations:

  • Example A conversation between client and server
  • Requirements Things not to omit from an implementation
  • Obsolete Former protocol features
  • PREVPassword scrambling UPTop NEXTProtocol Notes