Путеводитель по Руководству Linux

  User  |  Syst  |  Libr  |  Device  |  Files  |  Other  |  Admin  |  Head  |



   sudo_logsrv.proto    ( 5 )

протокол сервера журнала Sudo (Sudo log server protocol)

  Name  |  Description  |  Client messages  |  Server messages  |    Protocol flow of control    |  Event log variables  |  Examples  |  See also  |  History  |

Protocol flow of control

The expected protocol flow is as follows:

1. Client connects to the first available server. If the client is configured to use TLS, a TLS handshake will be attempted.

2. Client sends ClientHello. This is currently optional but allows the server to detect a non-TLS connection on the TLS port.

3. Server sends ServerHello.

4. Client responds with either AcceptMessage, RejectMessage, or RestartMessage.

5. If client sent a AcceptMessage with expect_iobufs set, server creates a new I/O log and responds with a log_id.

6. Client sends zero or more IoBuffer messages.

7. Server periodically responds to IoBuffer messages with a commit_point.

8. Client sends an ExitMessage when the command exits or is killed.

9. Server sends the final commit_point if one is pending.

10. Server closes the connection. After receiving the final commit_point, the client shuts down its side of the TLS connection if TLS is in use, and closes the connection.

11. Server shuts down its side of the TLS connection if TLS is in use, and closes the connection.

At any point, the server may send an error or abort message to the client at which point the server will close the connection. If an abort message is received, the client should terminate the running command.