aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/tls/tls_record.h
Commit message (Collapse)AuthorAgeFilesLines
* prepare TLS 1.2 for addition of TLS 1.3Hannes Rantzsch2022-04-041-188/+0
| | | | | | | | Co-authored-by: RenĂ© Meusel <[email protected]> Co-authored-by: Marek Kocik <[email protected]> Co-authored-by: Grzegorz Dulewicz <[email protected]> Co-authored-by: Pawel Bazelewski <[email protected]> Co-authored-by: Pawel Jarosz <[email protected]>
* Fix clang-tidy performance warningsJack Lloyd2022-02-061-1/+1
|
* Resolve Doxygen warningsJack Lloyd2020-10-281-2/+2
|
* Small refactorings of TLS record layerJack Lloyd2020-04-241-1/+17
| | | | Reduces some code duplication in #2320
* Fix DTLS reconnectionJack Lloyd2019-07-131-1/+7
|
* Return the record metadata in a structJack Lloyd2019-07-051-28/+46
| | | | | | | Avoids passing pointers down the call stack. Also add a second buffer to hold the record plaintext, which avoids an extra alloc+free per record.
* Remove Record_Raw_InputJack Lloyd2019-07-041-27/+5
|
* Remove Record_Message structJack Lloyd2019-07-041-27/+10
|
* Return reference hereJack Lloyd2019-05-251-1/+5
|
* Simplification in record layerJack Lloyd2019-05-241-3/+3
|
* Use enums to represent TLS signature and kex algorithms.Jack Lloyd2018-01-281-4/+6
| | | | Adds support for PSS signatures (currently verifying only).
* Apply final annotations to the library alsoJack Lloyd2017-09-221-4/+4
| | | | | Done by a perl script which converted all classes to final, followed by selective reversion where it caused compilation failures.
* More include header cleanupsJack Lloyd2017-09-211-2/+0
|
* Header file cleanupsJack Lloyd2017-09-211-0/+1
| | | | Some help from include-what-you-use
* Change header guard format to BOTAN_FOO_H_Jack Lloyd2017-09-201-2/+2
| | | | | | ISO C++ reserves names with double underscores in them Closes #512
* Content:Tomasz Frydrych2017-04-031-12/+12
| | | | | | | | | * fixes for deprecated constructions in c++11 and later (explicit rule of 3/5 or implicit rule of 0 and other violations) * `default` specifier instead of `{}` in some places(probably all) * removal of unreachable code (for example `return` after `throw`) * removal of compilation unit only visible, but not used functions * fix for `throw()` specifier - used instead `BOTAN_NOEXCEPT` * removed not needed semicolons
* Convert to using standard uintN_t integer typesJack Lloyd2016-12-181-26/+26
| | | | | | Renames a couple of functions for somewhat better name consistency, eg make_u32bit becomes make_uint32. The old typedefs remain for now since probably lots of application code uses them.
* Fix doxygen warnings [ci skip]René Korthaus2016-10-191-5/+2
|
* TLS: Split CBC+HMAC modes to standalone AEAD_ModeJack Lloyd2016-10-071-29/+5
| | | | | Now record layer only deals with an AEAD, and the weird complications of CBC modes mostly hidden in tls_cbc.cpp
* Merge master into this branch, resolving conflicts with #457/#576Jack Lloyd2016-08-311-9/+78
|\ | | | | | | which recently landed on master.
| * Changes to TLS::Callbacks for GH PR #457Jack Lloyd2016-08-161-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make TLS::Channel::m_callbacks a reference, so deriving from TLS::Callbacks works Split out the compat (std::function) based interface to Compat_Callbacks. This avoids the overhead of empty std::functions when using the virtual interface, and ensures the virtual interface works since there is no callback path that does not involve a vtable lookup. Rename the TLS::Callback functions. Since the idea is that often an owning class will pass *this as the callbacks argument, it is good to namespace the virtual functions so as not to conflict with other names chosen by the class. Specifically, prefixes all cb functions with tls_ Revert changes to use the old style alert callback (with no longer used data/len params) so no API changes are required for old code. The new Callbacks interface continues to just receive the alert code itself. Switch to virtual function interface in CLI tls_client for testing. Inline tls_server_handshake_state.h - only used in tls_server.cpp Fix tests - test looked like it was creating a new client object but it was not actually being used. And when enabled, it failed because the queues were not being emptied in between. So, fix that.
| * Reduction of code complexity in TLS classes.Matthias Gierlings2016-06-191-9/+82
| | | | | | | | | | | | | | -reduced number of parameters in various methods -reduced cyclomatic complexity (McCabe-Metric) -removed "TLSEXT_HEARTBEAT_SUPPORT" from tls_extensions.h (leftover from heartbeat extension removal?)
* | Encrypt-then-MAC extension (RFC 7366)Juraj Somorovsky2016-05-111-1/+6
|/ | | | | | Introduced a countermeasure against the logjam attack Short TLS records (AES-CBC) now return BAD_RECORD_MAC Fixed a compatibility problem with OpenSSL and TLS 1.0 (BEAST countermeasure)
* Add IETF standard ChaCha20Poly1305 ciphersuites to TLSJack Lloyd2016-03-231-6/+6
|
* Remove RC4 (and all support for stream ciphers) from TLSlloyd2015-05-151-4/+0
|
* Add typedefs for function signatures/types used in TLS for easier readinglloyd2015-01-271-1/+4
|
* Remove SSLv3 and handling of SSLv2 client hellos.lloyd2015-01-111-3/+0
|
* Ensure all files have copyright and license info.lloyd2015-01-101-1/+1
| | | | | Update license header line to specify the terms and refer to the file, neither of which it included before.
* Add ChaCha20Poly1305 TLS ciphersuites compatible with Google's implementationlloyd2014-12-311-4/+5
|
* A TLS Server can now process either TLS or DTLS but not either,lloyd2014-11-151-0/+1
| | | | | with the setting set in the constructor. This prevents various surprising things from happening to applications and simplifies record processing.
* Cleanup handling of TLS AEAD nonce sizes, push all knowledge of whatlloyd2014-11-031-1/+4
| | | | the nonce sizes should be down to the ciphersuite generating script.
* Add support for DTLS handshake timeouts and retransmissions.lloyd2014-10-061-1/+1
|
* Guess I won't be needing theselloyd2014-01-181-1/+0
|
* Move lib into srclloyd2014-01-101-0/+135