proxygen
folly::SSLHandshakeServerParseClientHello Class Reference

#include <AsyncSSLSocketTest.h>

Inheritance diagram for folly::SSLHandshakeServerParseClientHello:
folly::SSLHandshakeBase folly::AsyncSSLSocket::HandshakeCB folly::AsyncWriter::WriteCallback

Public Member Functions

 SSLHandshakeServerParseClientHello (AsyncSSLSocket::UniquePtr socket, bool preverifyResult, bool verifyResult)
 
- Public Member Functions inherited from folly::SSLHandshakeBase
 SSLHandshakeBase (AsyncSSLSocket::UniquePtr socket, bool preverifyResult, bool verifyResult)
 
AsyncSSLSocket::UniquePtr moveSocket ()&&
 
- Public Member Functions inherited from folly::AsyncSSLSocket::HandshakeCB
virtual ~HandshakeCB ()=default
 

Public Attributes

std::string clientCiphers_
 
std::string sharedCiphers_
 
std::string serverCiphers_
 
std::string chosenCipher_
 
- Public Attributes inherited from folly::SSLHandshakeBase
bool handshakeVerify_
 
bool handshakeSuccess_
 
bool handshakeError_
 
std::chrono::nanoseconds handshakeTime
 

Protected Member Functions

void handshakeSuc (AsyncSSLSocket *sock) noexceptoverride
 
- Protected Member Functions inherited from folly::SSLHandshakeBase
bool handshakeVer (AsyncSSLSocket *, bool preverifyOk, X509_STORE_CTX *) noexceptoverride
 
void handshakeErr (AsyncSSLSocket *, const AsyncSocketException &ex) noexceptoverride
 
void writeSuccess () noexceptoverride
 
void writeErr (size_t bytesWritten, const AsyncSocketException &ex) noexceptoverride
 

Additional Inherited Members

- Protected Attributes inherited from folly::SSLHandshakeBase
AsyncSSLSocket::UniquePtr socket_
 
bool preverifyResult_
 
bool verifyResult_
 

Detailed Description

Definition at line 1392 of file AsyncSSLSocketTest.h.

Constructor & Destructor Documentation

folly::SSLHandshakeServerParseClientHello::SSLHandshakeServerParseClientHello ( AsyncSSLSocket::UniquePtr  socket,
bool  preverifyResult,
bool  verifyResult 
)
inline

Definition at line 1394 of file AsyncSSLSocketTest.h.

References folly::SendMsgParamsCallbackBase::socket_.

1398  : SSLHandshakeBase(std::move(socket), preverifyResult, verifyResult) {
1399  socket_->enableClientHelloParsing();
1400  socket_->sslAccept(this, std::chrono::milliseconds::zero());
1401  }
constexpr detail::Map< Move > move
Definition: Base-inl.h:2567
SSLHandshakeBase(AsyncSSLSocket::UniquePtr socket, bool preverifyResult, bool verifyResult)
AsyncSSLSocket::UniquePtr socket_
NetworkSocket socket(int af, int type, int protocol)
Definition: NetOps.cpp:412

Member Function Documentation

void folly::SSLHandshakeServerParseClientHello::handshakeSuc ( AsyncSSLSocket sock)
inlineoverrideprotectedvirtualnoexcept

handshakeSuc() is called when a new SSL connection is established, i.e., after SSL_accept/connect() returns successfully.

The HandshakeCB will be uninstalled before handshakeSuc() is called.

Parameters
sockSSL socket on which the handshake was initiated

Reimplemented from folly::SSLHandshakeBase.

Definition at line 1406 of file AsyncSSLSocketTest.h.

1406  {
1407  handshakeSuccess_ = true;
1408  sock->getSSLSharedCiphers(sharedCiphers_);
1409  sock->getSSLServerCiphers(serverCiphers_);
1410  sock->getSSLClientCiphers(clientCiphers_);
1411  chosenCipher_ = sock->getNegotiatedCipherName();
1412  }

Member Data Documentation

std::string folly::SSLHandshakeServerParseClientHello::chosenCipher_

Definition at line 1403 of file AsyncSSLSocketTest.h.

Referenced by folly::TEST().

std::string folly::SSLHandshakeServerParseClientHello::clientCiphers_

Definition at line 1403 of file AsyncSSLSocketTest.h.

Referenced by folly::TEST().

std::string folly::SSLHandshakeServerParseClientHello::serverCiphers_

Definition at line 1403 of file AsyncSSLSocketTest.h.

std::string folly::SSLHandshakeServerParseClientHello::sharedCiphers_

Definition at line 1403 of file AsyncSSLSocketTest.h.


The documentation for this class was generated from the following file: