Expand description
The pure server-to-client handshake sequence.
prelude and completion are the lifecycle frames that bracket the
connection’s first view: crypto and codec setup before it, ServerSync and
ServerConfig after it. The view in between is whatever the shard pushed
onto this connection’s queue, so there is exactly one rendering path in the
runtime and the handshake is not a second one.
The order is authoritative, traced to Murmur (R1):
REF: references/mumble/src/murmur/Messages.cpp : Server::msgAuthenticate -
CryptSetup, CodecVersion, ChannelState (root first, parents before
children), UserState(self), UserState(others), ServerSync, ServerConfig.
REF: references/mumble/src/murmur/Server.cpp : Server::encrypted - the
server’s own Version goes out as soon as TLS completes, BEFORE
Authenticate; it is therefore server_version and not part of this
sequence.
Modules§
- perm
- Effective-permission bits, as the Mumble client understands them.
Functions§
- completion
- Lifecycle messages that complete it.
- prelude
- Lifecycle messages that precede the connection’s first view.
- reject
- Refuse a connection before it is attached to anything.
- server_
version - The server’s own
Version, sent immediately after the TLS handshake completes and before the client’sAuthenticate.