NegotiationHistory.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
3  *
4  * Squid software is distributed under GPLv2+ license and includes
5  * contributions from numerous individuals and organizations.
6  * Please see the COPYING and CONTRIBUTORS files for details.
7  */
8 
9 #ifndef SQUID_SRC_SECURITY_NEGOTIATIONHISTORY_H
10 #define SQUID_SRC_SECURITY_NEGOTIATIONHISTORY_H
11 
12 #include "anyp/ProtocolVersion.h"
13 #include "security/Handshake.h"
14 #include "security/Session.h"
15 
16 namespace Security {
17 
19 {
20 public:
22 
25 
28 
29  const char *cipherName() const;
30  const char *negotiatedVersion() const {return printTlsVersion(version_);}
33  const char *helloVersion() const {return printTlsVersion(helloVersion_);}
36  const char *supportedVersion() const {return printTlsVersion(supportedVersion_);}
37 private:
39  const char *printTlsVersion(AnyP::ProtocolVersion const &v) const;
43 #if USE_OPENSSL
44  const SSL_CIPHER *cipher;
45 #endif
46 };
47 
48 } // namespace Security
49 
50 #endif /* SQUID_SRC_SECURITY_NEGOTIATIONHISTORY_H */
51 
const char * helloVersion() const
String representation of the received TLS hello message version.
AnyP::ProtocolVersion helloVersion_
The TLS version of the hello message.
void retrieveParsedInfo(Security::TlsDetails::Pointer const &details)
Extract information from parser stored in TlsDetails object.
const char * negotiatedVersion() const
String representation of TLS negotiated version.
const char * printTlsVersion(AnyP::ProtocolVersion const &v) const
String representation of the TLS version 'v'.
AnyP::ProtocolVersion supportedVersion_
The maximum supported TLS version.
void retrieveNegotiatedInfo(const Security::SessionPointer &)
Extract negotiation information from TLS object.
const SSL_CIPHER * cipher
The negotiated cipher.
std::shared_ptr< SSL > SessionPointer
Definition: Session.h:53
Network/connection security abstraction layer.
Definition: Connection.h:33
AnyP::ProtocolVersion version_
The negotiated TLS version.
const char * supportedVersion() const

 

Introduction

Documentation

Support

Miscellaneous