Skip to content
GitLab
Explore
Sign in
This is an archived project. Repository and other project resources are read-only.
Changes
Page history
Create xmpp connection finite state machine
authored
Jun 14, 2021
by
Adrien Dorsaz
Show whitespace changes
Inline
Side-by-side
xmpp-connection-finite-state-machine.md
0 → 100644
View page @
e973f338
Here is a summary of the XMPP connection finite state machine used by ibex.
[
Original graph
](
https://adiaholic.github.io/gsoc2020/2020/07/12/Chapter-8-Reworking-FSM.html
)
was made by Aditya Borikar.
```
mermaid
graph TD
Disconnected{{XMPP Client Disconnected}} -->|start connection| DirectTLS(Connect with direct TLS)
DirectTLS -->|TLS connection failure| TCPConnect(Connect with StartTLS)
TCPConnect -->|TCP connection success| TCPConnected{{TCP connected}}
TCPConnected -->|send <stream:stream>| NotSecureXmppStreamInitiated{{XMPP Stream initiated and not encrypted}}
NotSecureXmppStreamInitiated -->|find starttls stream feature and send <starttls>| beginStartTls{Start StartTLS}
beginStartTls -->|server accepts starttls| XmppStreamInitiated
beginStartTls -->|server refuses starttls| Disconnected
DirectTLS -->|TLS connection success| XmppStreamInitiated{{XMPP Stream initiated with secure connection}}
```
\ No newline at end of file