| 1 | /*! |
| 2 | |
| 3 | This documentation primarily aims to explain design decisions taken in rustls. |
| 4 | |
| 5 | It does this from a few aspects: how rustls attempts to avoid construction errors |
| 6 | that occurred in other TLS libraries, how rustls attempts to avoid past TLS |
| 7 | protocol vulnerabilities, and assorted advice for achieving common tasks with rustls. |
| 8 | */ |
| 9 | #![allow (non_snake_case)] |
| 10 | |
| 11 | /// This section discusses vulnerabilities in other TLS implementations, theorising their |
| 12 | /// root cause and how we aim to avoid them in rustls. |
| 13 | #[path = "implvulns.rs" ] |
| 14 | pub mod _01_impl_vulnerabilities; |
| 15 | |
| 16 | /// This section discusses vulnerabilities and design errors in the TLS protocol. |
| 17 | #[path = "tlsvulns.rs" ] |
| 18 | pub mod _02_tls_vulnerabilities; |
| 19 | |
| 20 | /// This section collects together goal-oriented documentation. |
| 21 | #[path = "howto.rs" ] |
| 22 | pub mod _03_howto; |
| 23 | |
| 24 | /// This section documents rustls itself: what protocol features are and are not implemented. |
| 25 | #[path = "features.rs" ] |
| 26 | pub mod _04_features; |
| 27 | |
| 28 | /// This section provides rationale for the defaults in rustls. |
| 29 | #[path = "defaults.rs" ] |
| 30 | pub mod _05_defaults; |
| 31 | |
| 32 | /// This section provides guidance on using rustls with FIPS-approved cryptography. |
| 33 | #[path = "fips.rs" ] |
| 34 | pub mod _06_fips; |
| 35 | |