File 3234-ssl-Add-TLS-1.0-TLS-1.2-FSM-ASCCII-picture.patch of Package erlang

From 4496ac9a68219e3d40407a09fe885efeee9bf224 Mon Sep 17 00:00:00 2001
From: Ingela Anderton Andin <ingela@erlang.org>
Date: Thu, 26 Nov 2020 13:10:28 +0100
Subject: [PATCH 4/6] ssl: Add TLS-1.0 - TLS-1.2 FSM ASCCII picture

---
 lib/ssl/src/tls_connection.erl | 74 ++++++++++++++++++++++++++++++++--
 1 file changed, 70 insertions(+), 4 deletions(-)

diff --git a/lib/ssl/src/tls_connection.erl b/lib/ssl/src/tls_connection.erl
index fd5c202c04..3c428436a3 100644
--- a/lib/ssl/src/tls_connection.erl
+++ b/lib/ssl/src/tls_connection.erl
@@ -20,10 +20,76 @@
 
 %%
 %%----------------------------------------------------------------------
-%% Purpose: Handles an ssl connection, e.i. both the setup
-%% e.i. SSL-Handshake, SSL-Alert and SSL-Cipher protocols and delivering
-%% data to the application. All data on the connectinon is received and 
-%% sent according to the SSL-record protocol.  
+%% Purpose: TLS-1.0-TLS-1.2 FSM (* = optional)
+%% %%----------------------------------------------------------------------
+%%                    TLS Handshake protocol full Handshake 
+%%  Client                                               Server
+%%
+%%       ClientHello                  -------->                       Flight 1
+%%                                                       ServerHello  \
+%%                                                      Certificate*   \
+%%                                                ServerKeyExchange*    Flight 2
+%%                                               CertificateRequest*   / 
+%%                                    <--------      ServerHelloDone  /
+%%       Certificate*                                                 \
+%%       ClientKeyExchange                                             \
+%%       CertificateVerify*                                             Flight 3 part 1
+%%       [ChangeCipherSpec]                                            / 
+%%       Finished                     -------->                       / Flight 3 part 2
+%%                                                [ChangeCipherSpec]  
+%%                                    <--------             Finished Flight 4
+%%       Application Data             <------->     Application Data
+%%
+%%
+%%                    TLS Handshake protocol abbreviated Handshake 
+%%    Client                                                Server
+%%
+%%       ClientHello                   -------->                       Abbrev Flight 1
+%%                                                        ServerHello  Abbrev Flight 2 part 1
+%%                                                 [ChangeCipherSpec]
+%%                                     <--------             Finished  Abbrev Flight 2 part 2
+%%       [ChangeCipherSpec]
+%%       Finished                      -------->                       Abbrev Flight 3
+%%       Application Data              <------->     Application Data
+%%
+%%                                            
+%%                                                
+%%                                       Start FSM    ---> CONFIG_ERROR          
+%%                                                     Send error to user
+%%                                          |          and shutdown
+%%                                          |   
+%%                                          V
+%%                                    INITIAL_HELLO
+%%
+%%                                          | Send/Recv Flight 1
+%%                                          |
+%%                                          |
+%%           USER_HELLO                     |
+%%  <- Possibly let user provide            V
+%%  options after looking at hello ex ->    HELLO
+%%                                             | Send/Recv Flight 2 or Abbrev Flight 1 - Abbrev Flight 2 part 1 
+%%                                             |
+%%                                New session  | Resumed session
+%%  WAIT_OCSP_STAPELING   CERTIFY  <----------------------------------> ABBRIVIATED
+%%     
+%%  <- Possibly Receive  --  |                                              |
+%%     OCSP Stapel ------>   |  Flight 3 part 1                             |
+%%                           |                                              |
+%%                           V                                              |  Abbrev Flight 2 part 2 to Abbrev Flight 3
+%%                         CIPHER                                           |
+%%                           |                                              |
+%%                           | Fligth 3 part 2 to Flight 4                  |   
+%%                           |                                              |   
+%%                           V                                              V   
+%%                         ----------------------------------------------------
+%%                                                    |
+%%                                                    |
+%%                                                    V
+%%                                                 CONNECTION
+%%                                                    |
+%%                                                    |  Renegotiaton
+%%                                                    V
+%%                                               GO BACK TO HELLO
 %%----------------------------------------------------------------------
 
 -module(tls_connection).
-- 
2.26.2

openSUSE Build Service is sponsored by