/src/PcapPlusPlus/Packet++/src/SSLCommon.cpp
Line | Count | Source (jump to first uncovered line) |
1 | | #define LOG_MODULE PacketLogModuleSSLLayer |
2 | | |
3 | | #include "SSLCommon.h" |
4 | | |
5 | | namespace pcpp |
6 | | { |
7 | | |
8 | | // ------------------------- |
9 | | // SSLVersion methods |
10 | | // ------------------------- |
11 | | |
12 | | SSLVersion::SSLVersionEnum SSLVersion::asEnum(bool countTlsDraftsAs1_3) |
13 | 19.6k | { |
14 | 19.6k | if (m_SSLVersionValue >= 0x0300 && m_SSLVersionValue <= 0x0304) |
15 | 14.1k | return static_cast<SSLVersion::SSLVersionEnum>(m_SSLVersionValue); |
16 | | |
17 | 5.49k | if ((m_SSLVersionValue >= 0x7f0e && m_SSLVersionValue <= 0x7f1c) || m_SSLVersionValue == 0xfb17 || m_SSLVersionValue == 0xfb1a) |
18 | 4.19k | { |
19 | 4.19k | if (countTlsDraftsAs1_3) |
20 | 4.19k | return SSLVersion::TLS1_3; |
21 | 0 | else |
22 | 0 | return static_cast<SSLVersion::SSLVersionEnum>(m_SSLVersionValue); |
23 | 4.19k | } |
24 | | |
25 | 1.30k | if (m_SSLVersionValue == 0x200) |
26 | 48 | return SSLVersion::SSL2; |
27 | | |
28 | 1.25k | return SSLVersion::Unknown; |
29 | 1.30k | } |
30 | | |
31 | | |
32 | | std::string SSLVersion::toString(bool countTlsDraftsAs1_3) |
33 | 0 | { |
34 | 0 | SSLVersionEnum enumValue = asEnum(countTlsDraftsAs1_3); |
35 | |
|
36 | 0 | switch (enumValue) |
37 | 0 | { |
38 | 0 | case SSLVersion::TLS1_3: |
39 | 0 | return "TLS 1.3"; |
40 | 0 | case SSLVersion::TLS1_2: |
41 | 0 | return "TLS 1.2"; |
42 | 0 | case SSLVersion::TLS1_1: |
43 | 0 | return "TLS 1.1"; |
44 | 0 | case SSLVersion::TLS1_0: |
45 | 0 | return "TLS 1.0"; |
46 | 0 | case SSLVersion::SSL3: |
47 | 0 | return "SSL 3.0"; |
48 | 0 | case SSLVersion::TLS1_3_D28: |
49 | 0 | return "TLS 1.3 (draft 28)"; |
50 | 0 | case SSLVersion::TLS1_3_D27: |
51 | 0 | return "TLS 1.3 (draft 27)"; |
52 | 0 | case SSLVersion::TLS1_3_D26: |
53 | 0 | return "TLS 1.3 (draft 26)"; |
54 | 0 | case SSLVersion::TLS1_3_D25: |
55 | 0 | return "TLS 1.3 (draft 25)"; |
56 | 0 | case SSLVersion::TLS1_3_D24: |
57 | 0 | return "TLS 1.3 (draft 24)"; |
58 | 0 | case SSLVersion::TLS1_3_D23: |
59 | 0 | return "TLS 1.3 (draft 23)"; |
60 | 0 | case SSLVersion::TLS1_3_D22: |
61 | 0 | return "TLS 1.3 (draft 22)"; |
62 | 0 | case SSLVersion::TLS1_3_D21: |
63 | 0 | return "TLS 1.3 (draft 21)"; |
64 | 0 | case SSLVersion::TLS1_3_D20: |
65 | 0 | return "TLS 1.3 (draft 20)"; |
66 | 0 | case SSLVersion::TLS1_3_D19: |
67 | 0 | return "TLS 1.3 (draft 19)"; |
68 | 0 | case SSLVersion::TLS1_3_D18: |
69 | 0 | return "TLS 1.3 (draft 18)"; |
70 | 0 | case SSLVersion::TLS1_3_D17: |
71 | 0 | return "TLS 1.3 (draft 17)"; |
72 | 0 | case SSLVersion::TLS1_3_D16: |
73 | 0 | return "TLS 1.3 (draft 16)"; |
74 | 0 | case SSLVersion::TLS1_3_D15: |
75 | 0 | return "TLS 1.3 (draft 15)"; |
76 | 0 | case SSLVersion::TLS1_3_D14: |
77 | 0 | return "TLS 1.3 (draft 14)"; |
78 | 0 | case SSLVersion::TLS1_3_FBD23: |
79 | 0 | return "TLS 1.3 (Facebook draft 23)"; |
80 | 0 | case SSLVersion::TLS1_3_FBD26: |
81 | 0 | return "TLS 1.3 (Facebook draft 26)"; |
82 | 0 | case SSLVersion::Unknown: |
83 | 0 | return "Unknown"; |
84 | 0 | case SSLVersion::SSL2: |
85 | 0 | return "SSL 2.0"; |
86 | 0 | default: |
87 | 0 | return "Unknown"; |
88 | 0 | } |
89 | 0 | } |
90 | | |
91 | | |
92 | | } // namespace pcpp |