9 # pragma GCC diagnostic push
10 # pragma GCC diagnostic ignored "-Wcomment"
164 # pragma GCC diagnostic pop
182 static inline bool isSSLPort(uint16_t port);
209 static bool IsSSLMessage(uint16_t srcPort, uint16_t dstPort, uint8_t* data,
size_t dataLen,
210 bool ignorePorts =
false);
253 :
Layer(data, dataLen, prevLayer, packet,
SSL)
315 return m_MessageList.size();
337 template <
class THandshakeMessage>
364 :
SSLLayer(data, dataLen, prevLayer, packet)
390 :
SSLLayer(data, dataLen, prevLayer, packet)
422 :
SSLLayer(data, dataLen, prevLayer, packet)
445 size_t vecSize = m_MessageList.size();
446 for (
size_t i = 0; i < vecSize; i++)
449 if (
dynamic_cast<THandshakeMessage*
>(curElem) !=
nullptr)
450 return (THandshakeMessage*)curElem;
457 template <
class THandshakeMessage>
460 size_t vecSize = m_MessageList.size();
464 for (afterIndex = 0; afterIndex < vecSize; afterIndex++)
467 if (curElem == after)
472 if (afterIndex == vecSize)
475 for (
size_t i = afterIndex + 1; i < vecSize; i++)
478 if (
dynamic_cast<THandshakeMessage*
>(curElem) !=
nullptr)
479 return (THandshakeMessage*)curElem;
Definition: PointerVector.h:50
Definition: SSLLayer.h:382
void computeCalculateFields() override
There are no calculated fields for this layer.
Definition: SSLLayer.h:406
SSLAlertLevel getAlertLevel() const
std::string toString() const override
SSLAlertDescription getAlertDescription()
SSLAlertLayer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
Definition: SSLLayer.h:389
Definition: SSLLayer.h:414
uint8_t * getEncryptedData() const
std::string toString() const override
void computeCalculateFields() override
There are no calculated fields for this layer.
Definition: SSLLayer.h:439
size_t getEncryptedDataLen() const
SSLApplicationDataLayer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
Definition: SSLLayer.h:421
Definition: SSLLayer.h:356
SSLChangeCipherSpecLayer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
Definition: SSLLayer.h:363
std::string toString() const override
void computeCalculateFields() override
There are no calculated fields for this layer.
Definition: SSLLayer.h:374
Definition: SSLLayer.h:303
SSLHandshakeLayer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
std::string toString() const override
size_t getHandshakeMessagesCount() const
Definition: SSLLayer.h:313
THandshakeMessage * getHandshakeMessageOfType() const
Definition: SSLLayer.h:443
void computeCalculateFields() override
There are no calculated fields for this layer.
Definition: SSLLayer.h:345
THandshakeMessage * getNextHandshakeMessageOfType(const SSLHandshakeMessage *after) const
Definition: SSLLayer.h:458
SSLHandshakeMessage * getHandshakeMessageAt(int index) const
Definition: SSLHandshake.h:259
Definition: SSLLayer.h:178
SSLVersion getRecordVersion() const
size_t getHeaderLen() const override
void parseNextLayer() override
OsiModelLayer getOsiModelLayer() const override
Definition: SSLLayer.h:246
static bool isSSLPort(uint16_t port)
Definition: SSLLayer.h:488
static bool IsSSLMessage(uint16_t srcPort, uint16_t dstPort, uint8_t *data, size_t dataLen, bool ignorePorts=false)
static SSLLayer * createSSLMessage(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
ssl_tls_record_layer * getRecordLayer() const
Definition: SSLLayer.h:226
SSLRecordType getRecordType() const
Definition: SSLCommon.h:98
The main namespace for the PcapPlusPlus lib.
SSLAlertDescription
SSL/TLS alert description types.
Definition: SSLCommon.h:234
OsiModelLayer
An enum representing OSI model layers.
Definition: ProtocolType.h:225
@ OsiModelPresentationLayer
Presentation layer (layer 6)
Definition: ProtocolType.h:237
const ProtocolType SSL
SSL/TLS protocol.
Definition: ProtocolType.h:86
SSLRecordType
SSL/TLS message types.
Definition: SSLCommon.h:82
SSLAlertLevel
SSL/TLS alert levels.
Definition: SSLCommon.h:223
Definition: SSLCommon.h:17