|
Botan 3.11.0
Crypto and TLS for C&
|
#include <tls_extensions.h>
Public Member Functions | |
| void | add (Extension *extn) |
| void | add (std::unique_ptr< Extension > extn) |
| const std::vector< std::unique_ptr< Extension > > & | all () const |
| bool | contains_implemented_extensions_other_than (const std::set< Extension_Code > &allowed_extensions) const |
| bool | contains_other_than (const std::set< Extension_Code > &allowed_extensions, bool allow_unknown_extensions=false) const |
| void | deserialize (TLS_Data_Reader &reader, Connection_Side from, Handshake_Type message_type) |
| bool | empty () const |
| std::set< Extension_Code > | extension_types () const |
| Extensions ()=default | |
| Extensions (const Extensions &)=delete | |
| Extensions (Extensions &&)=default | |
| Extensions (TLS_Data_Reader &reader, Connection_Side side, Handshake_Type message_type) | |
| template<typename T> | |
| T * | get () const |
| Extension * | get (Extension_Code type) const |
| template<typename T> | |
| bool | has () const |
| bool | has (Extension_Code type) const |
| Extensions & | operator= (const Extensions &)=delete |
| Extensions & | operator= (Extensions &&)=default |
| bool | remove_extension (Extension_Code type) |
| std::vector< uint8_t > | serialize (Connection_Side whoami) const |
| size_t | size () const |
| template<typename T> | |
| decltype(auto) | take () |
| std::unique_ptr< Extension > | take (Extension_Code type) |
| ~Extensions () | |
Represents a block of extensions in a hello message
Definition at line 457 of file tls_extensions.h.
|
default |
Referenced by Extensions(), Extensions(), operator=(), and operator=().
|
delete |
References Extensions().
|
default |
References Extensions().
|
default |
|
inline |
Definition at line 546 of file tls_extensions.h.
References deserialize().
|
inline |
Definition at line 481 of file tls_extensions.h.
References add().
Referenced by add().
| void Botan::TLS::Extensions::add | ( | std::unique_ptr< Extension > | extn | ) |
Definition at line 143 of file tls_extensions.cpp.
References has().
|
inline |
Definition at line 461 of file tls_extensions.h.
|
inline |
| allowed_extensions | extension types that are allowed |
allowed_extensions. Definition at line 502 of file tls_extensions.h.
References contains_other_than().
| bool Botan::TLS::Extensions::contains_other_than | ( | const std::set< Extension_Code > & | allowed_extensions, |
| bool | allow_unknown_extensions = false ) const |
| allowed_extensions | extension types that are allowed |
| allow_unknown_extensions | if true, ignores unrecognized extensions |
allowed_extensions. Definition at line 180 of file tls_extensions.cpp.
References extension_types().
Referenced by contains_implemented_extensions_other_than().
| void Botan::TLS::Extensions::deserialize | ( | TLS_Data_Reader & | reader, |
| Connection_Side | from, | ||
| Handshake_Type | message_type ) |
Definition at line 152 of file tls_extensions.cpp.
References Botan::TLS::TLS_Data_Reader::get_uint16_t(), has(), Botan::TLS::TLS_Data_Reader::has_remaining(), and Botan::TLS::TLS_Data_Reader::remaining_bytes().
Referenced by Extensions().
|
inline |
Definition at line 477 of file tls_extensions.h.
| std::set< Extension_Code > Botan::TLS::Extensions::extension_types | ( | ) | const |
Definition at line 250 of file tls_extensions.cpp.
Referenced by contains_other_than().
|
inline |
Definition at line 464 of file tls_extensions.h.
References get().
Referenced by Botan::TLS::Certificate_13::Certificate_13(), Botan::TLS::Certificate_13::Certificate_13(), get(), has(), has(), Botan::TLS::Hello_Retry_Request::Hello_Retry_Request(), Botan::TLS::Client_Hello_13::retry(), and Botan::TLS::Client_Hello_13::validate_updates().
| Extension * Botan::TLS::Extensions::get | ( | Extension_Code | type | ) | const |
Definition at line 136 of file tls_extensions.cpp.
|
inline |
Definition at line 469 of file tls_extensions.h.
References get().
Referenced by add(), Botan::TLS::Certificate_13::Certificate_13(), deserialize(), Botan::TLS::Hello_Retry_Request::Hello_Retry_Request(), Botan::TLS::Client_Hello_13::retry(), and Botan::TLS::Client_Hello_13::validate_updates().
|
inline |
|
delete |
References Extensions().
|
default |
References Extensions().
|
inline |
Remove an extension from this extensions object, if it exists. Returns true if the extension existed (and thus is now removed), otherwise false (the extension wasn't set in the first place).
Note: not used internally, might be used in Callbacks::tls_modify_extensions()
Definition at line 537 of file tls_extensions.h.
References take().
| std::vector< uint8_t > Botan::TLS::Extensions::serialize | ( | Connection_Side | whoami | ) | const |
Definition at line 216 of file tls_extensions.cpp.
References Botan::get_byte().
|
inline |
Definition at line 475 of file tls_extensions.h.
|
inline |
Take the extension with the given type out of the extensions list. Returns a nullptr if the extension didn't exist.
Definition at line 511 of file tls_extensions.h.
References BOTAN_ASSERT_NOMSG, Botan::out_ptr(), and take().
Referenced by remove_extension(), and take().
| std::unique_ptr< Extension > Botan::TLS::Extensions::take | ( | Extension_Code | type | ) |
Take the extension with the given type out of the extensions list. Returns a nullptr if the extension didn't exist.
Definition at line 203 of file tls_extensions.cpp.