... | ... | @@ -7,10 +7,15 @@ 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
|
|
|
TCPConnected -->|start stream by sending <stream:stream>| NotSecureXmppStreamInitiated{{XMPP Stream initiated and not encrypted}}
|
|
|
NotSecureXmppStreamInitiated -->|find starttls stream feature and send <starttls>| beginStartTls(Initiate StartTLS)
|
|
|
beginStartTls -->|server accepts starttls, restart Stream| XmppStreamInitiated
|
|
|
beginStartTls -->|server refuses starttls| Disconnected
|
|
|
DirectTLS -->|TLS connection success| XmppStreamInitiated{{XMPP Stream initiated with secure connection}}
|
|
|
|
|
|
DirectTLS -->|TLS connection success start stream by sending <stream:stream>| XmppStreamInitiated{{XMPP Stream initiated with secure connection}}
|
|
|
XmppStreamInitiated -->|authenticate with SASL| SASLAuthentication(SASL Authentication)
|
|
|
SASLAuthentication -->|authentication fail| SASLAuthentication
|
|
|
SASLAuthentication -->|authentication success, restart Stream| XmppStreamAuthenticated{{XMPP Stream initiated and authenticated}}
|
|
|
XmppStreamAuthenticated -->|start xmpp binds| ClientBound{{Client Bound}}
|
|
|
ClientBound -->|exchange stanzas| ClientBound
|
|
|
ClientBound -->|user or server disconnect| Disconnected
|
|
|
``` |
|
|
\ No newline at end of file |