diff options
Diffstat (limited to 'src/tls/tls_extensions.h')
-rw-r--r-- | src/tls/tls_extensions.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/tls/tls_extensions.h b/src/tls/tls_extensions.h index 01a4253b3..aa2349cf1 100644 --- a/src/tls/tls_extensions.h +++ b/src/tls/tls_extensions.h @@ -78,6 +78,32 @@ class SRP_Identifier : public TLS_Extension }; /** +* Renegotiation Indication Extension (RFC 5746) +*/ +class Renegotation_Extension : public TLS_Extension + { + public: + TLS_Handshake_Extension_Type type() const + { return TLSEXT_SAFE_RENEGOTIATION; } + + Renegotation_Extension() {} + + Renegotation_Extension(const MemoryRegion<byte>& bits) : + reneg_data(bits) {} + + Renegotation_Extension(TLS_Data_Reader& reader); + + const MemoryVector<byte>& renegotiation_info() const + { return reneg_data; } + + MemoryVector<byte> serialize() const; + + bool empty() const { return false; } // always send this + private: + MemoryVector<byte> reneg_data; + }; + +/** * Represents a block of extensions in a hello message */ class TLS_Extensions |