• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

randombit / botan / 24107517494

07 Apr 2026 10:28PM UTC coverage: 89.436% (-0.01%) from 89.447%
24107517494

push

github

web-flow
Merge pull request #5522 from randombit/jack/various-tls-fixes

Various TLS fixes

105957 of 118472 relevant lines covered (89.44%)

11465209.16 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

66.67
/src/lib/tls/tls_magic.cpp
1
/*
2
* TLS Magic Values
3
* (C) 2004-2006,2011,2012,2015,2016 Jack Lloyd
4
*     2026 René Meusel - Rohde & Schwarz Cybersecurity
5
*
6
* Botan is released under the Simplified BSD License (see license.txt)
7
*/
8

9
#include <botan/tls_magic.h>
10

11
#include <botan/tls_exceptn.h>
12

13
namespace Botan::TLS {
14

15
const char* handshake_type_to_string(Handshake_Type type) {
385✔
16
   switch(type) {
385✔
17
      case Handshake_Type::HelloVerifyRequest:
18
         return "hello_verify_request";
19

20
      case Handshake_Type::HelloRequest:
14✔
21
         return "hello_request";
14✔
22

23
      case Handshake_Type::ClientHello:
54✔
24
         return "client_hello";
54✔
25

26
      case Handshake_Type::ServerHello:
73✔
27
         return "server_hello";
73✔
28

29
      case Handshake_Type::HelloRetryRequest:
7✔
30
         return "hello_retry_request";
7✔
31

32
      case Handshake_Type::Certificate:
60✔
33
         return "certificate";
60✔
34

35
      case Handshake_Type::CertificateUrl:
×
36
         return "certificate_url";
×
37

38
      case Handshake_Type::CertificateStatus:
×
39
         return "certificate_status";
×
40

41
      case Handshake_Type::ServerKeyExchange:
15✔
42
         return "server_key_exchange";
15✔
43

44
      case Handshake_Type::CertificateRequest:
20✔
45
         return "certificate_request";
20✔
46

47
      case Handshake_Type::ServerHelloDone:
10✔
48
         return "server_hello_done";
10✔
49

50
      case Handshake_Type::CertificateVerify:
30✔
51
         return "certificate_verify";
30✔
52

53
      case Handshake_Type::ClientKeyExchange:
1✔
54
         return "client_key_exchange";
1✔
55

56
      case Handshake_Type::NewSessionTicket:
5✔
57
         return "new_session_ticket";
5✔
58

59
      case Handshake_Type::HandshakeCCS:
×
60
         return "change_cipher_spec";
×
61

62
      case Handshake_Type::Finished:
55✔
63
         return "finished";
55✔
64

65
      case Handshake_Type::EndOfEarlyData:
×
66
         return "end_of_early_data";
×
67

68
      case Handshake_Type::EncryptedExtensions:
41✔
69
         return "encrypted_extensions";
41✔
70

71
      case Handshake_Type::KeyUpdate:
×
72
         return "key_update";
×
73

74
      case Handshake_Type::None:
×
75
         return "invalid";
×
76
   }
77

78
   throw TLS_Exception(Alert::UnexpectedMessage,
×
79
                       "Unknown TLS handshake message type " + std::to_string(static_cast<size_t>(type)));
×
80
}
81

82
}  // namespace Botan::TLS
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc