Markus Minichmayr b8590b2f36 Add option `SSL_OP_PREFER_NO_DHE_KEX`, allowing the server to prefer non-dhe psk key exchange over psk with dhe (config file option `PreferNoDHEKEX`, server option `prefer_no_dhe_kex`). | преди 11 месеца | |
---|---|---|
.. | ||
README.md | преди 3 години | |
extensions.c | преди 11 месеца | |
extensions_clnt.c | преди 1 година | |
extensions_cust.c | преди 11 месеца | |
extensions_srvr.c | преди 11 месеца | |
statem.c | преди 2 години | |
statem_clnt.c | преди 1 година | |
statem_dtls.c | преди 11 месеца | |
statem_lib.c | преди 1 година | |
statem_local.h | преди 1 година | |
statem_srvr.c | преди 1 година |
This file provides some guidance on the thinking behind the design of the state machine code to aid future maintenance.
The state machine code replaces an older state machine present in OpenSSL versions 1.0.2 and below. The new state machine has the following objectives:
The message flow state machine is divided into a reading sub-state machine and a writing sub-state machine. See the source comments in statem.c for a more detailed description of the various states and transitions possible.
Conceptually the state machine component is designed as follows:
libssl
|
-------------------------|-----statem.h------------------------------------
|
_______V____________________
| |
| statem.c |
| |
| Core state machine code |
|____________________________|
statem_local.h ^ ^
_________| |_______
| |
_____________|____________ _____________|____________
| | | |
| statem_clnt.c | | statem_srvr.c |
| | | |
| TLS/DTLS client specific | | TLS/DTLS server specific |
| state machine code | | state machine code |
|__________________________| |__________________________|
| |_______________|__ |
| ________________| | |
| | | |
____________V_______V________ ________V______V_______________
| | | |
| statem_lib.c | | statem_dtls.c |
| | | |
| Non core functions common | | Non core functions common to |
| to both servers and clients | | both DTLS servers and clients |
|_____________________________| |_______________________________|