summaryrefslogtreecommitdiff
path: root/lib/libssl/tls1.h
AgeCommit message (Collapse)Author
2024-10-23remove duplicate defines; ok tb@Jonathan Gray
2024-03-02Make {SSL3,TLS}_CT_* internalTheo Buehler
And here goes a bunch of unused macros that just had to be in two headers so they could get out of sync. Three of these constants are used in a single function... ok jsing
2024-03-02Export SSL_get_{peer_,}signature_type_nid()Theo Buehler
Also move the prototypes to the correct header. Oversight reported by Frank Lichtenheld, thanks! Fixes https://github.com/libressl/openbsd/issues/147 ok jsing
2024-02-03Remove GOST and STREEBOG support from libssl.Bob Beck
This version of GOST is old and not anywhere close to compliant with modern GOST standards. It is also very intrusive in libssl and makes a mess everywhere. Efforts to entice a suitably minded anyone to care about it have been unsuccessful. At this point it is probably best to remove this, and if someone ever showed up who truly needed a working version, it should be a clean implementation from scratch, and have it use something closer to the typical API in libcrypto so it would integrate less painfully here. This removes it from libssl in preparation for it's removal from libcrypto with a future major bump ok tb@
2022-07-17Correct value for TLSEXT_TYPE_quic_transport_parametersJoel Sing
Use the correct value for TLSEXT_TYPE_quic_transport_parameters according to RFC 9001 section 8.2. Also move the define under LIBRESSL_HAS_QUIC to avoid things finding it prematurely. ok beck@ tb@
2022-07-13Remove #ifndef around the definition of OPENSSL_TLS_SECURITY_LEVEL.Theo Buehler
We do not intend to make this a compile-time option. Reminded by schwarze who asked about it ok jsing
2022-07-07Expose security level symbols and error codes in the headers.Theo Buehler
ok jsing
2022-06-29Add support for sending QUIC transport parametersBob Beck
This is the start of adding the boringssl API for QUIC support, and the TLS extensions necessary to send and receive QUIC transport data. Inspired by boringssl's https://boringssl-review.googlesource.com/24464 ok jsing@ tb@
2022-06-28Provide OPENSSL_TLS_SECURITY_LEVEL defineTheo Buehler
ok beck jsing sthen
2022-02-05Switch TLSv1.3 cipher names from AEAD- to OpenSSL's TLS_Theo Buehler
OpenSSL chose to break the previous naming convention for ciphers and to adopt TLS_* "RFC" names instead. Unfortunately, these names are exposed in several APIs and some language bindings test for these non-standard names instead of cipher values, which is ... unfortunate (others would say "plain crazy"). We currently have to maintain patches in regress and ports (p5-Net-SSLeay, openssl-ruby-tests - which means that Ruby will pick this up at some point) to work around this difference and that's just not worth the effort. The old AEAD- names will become aliases and continue to work, but in openssl ciphers and netcat output the TLS_* names will now be displayed. "I would be very happy if this gets committed" bluhm ok beck inoguchi, begrudgingly ok jsing
2021-10-15Move various structs from ssl.h/tls1.h to ssl_locl.h.Joel Sing
These were already under LIBRESSL_INTERNAL hence no ABI change. ok tb@
2021-09-10Expose SSL_get_tlext_status_type() in tls1.hTheo Buehler
ok beck jsing
2021-09-10Remove TLS1_get_{,client_}version()Theo Buehler
ok jsing
2021-09-10Remove struct tls_session_ticket_ext_st and TLS_SESSION_TICKET_EXTTheo Buehler
from public visibility. with/ok jsing
2021-09-08Prepare to provide SSL_get_tlsext_status_type()Theo Buehler
Needed for nginx-lua to build with opaque SSL. ok inoguchi jsing
2021-06-14Remove TLS1_AD_INTERNAL_ERROR from internal visibility againTheo Buehler
With tls_server.c r1.47 this is no longer needed.
2021-06-14ugly hack around broken build until people wake up.Theo de Raadt
2021-06-13Define SSL_AD_* as actual values.Joel Sing
Rather than having SSL_AD_* as defines that refer to SSL3_AD_* or TLS1_AD_*, just give them actual values directly since it is more readable and the indirection provides no value. Place SSL3_AD_* and TLS1_AD_* under #ifndef LIBRESSL_INTERNAL to prevent further usage. ok tb@
2021-03-10Guard TLS1_get_{client_,}version() macros with #ifndef LIBRESSL_INTERNAL.Joel Sing
These are no longer used (and should not be used) internally.
2020-06-05Use IANA allocated GOST ClientCertificateTypes.Joel Sing
IANA has allocated numbers for GOST ClientCertificateType. Use them in addition to private values (left in place for compatibility). Diff from Dmitry Baryshkov <dbaryshkov@gmail.com> Sponsored by ROSA Linux ok inoguchi@ tb@
2020-01-02Provide TLSEXT_TYPE_* aliases for TLS 1.3.Joel Sing
OpenSSL decided to use their own names for two of the TLS 1.3 extensions, rather than using the names given in the RFC. Provide aliases for these so that code written to work with OpenSSL also works with LibreSSL (otherwise everyone gets to provide their own workarounds). Issue noted by d3x0r on github. ok inoguchi@ tb@
2019-03-19Revert TLS1_get{,_client}_version simplification because DTLS.Joel Sing
2019-03-17Partially clean up the TLS1_get_{,client}_version macros.Joel Sing
LibreSSL only supports TLSv1.0 and above, hence the checks the macros are performing are useless. Simplify them to their effective code. Also place both under #ifndef LIBRESSL_INTERNAL and use the variables directly in our code, which improves readability. ok tb@
2018-11-09Reimplement the sigalgs processing code into a new implementationBob Beck
that will be usable with TLS 1.3 with less eye bleed. ok jsing@ tb@
2018-11-07Add TLSv1.3 cipher suites (with appropriate guards).Joel Sing
ok beck@ tb@
2018-11-06Add TLS extension type values for TLSv1.3 (under guards).Joel Sing
ok tb@
2018-11-06Add TLS1_3_VERSION and SSL_OP_NO_TLSv1_3 defines under guards.Joel Sing
ok beck@ bluhm@ tb@
2018-11-05Rename the TLS Supported Elliptic Curves extension to Supported Groups.Joel Sing
RFC 7919 renamed the Supported Elliptic Curves TLS extension to Supported Groups and redefined it to include finite field DH (FFDH) in addition to elliptic curve DH (ECDH). As such, rename the TLS extension and change the associated code to refer to groups rather than curves. ok beck@ tb@
2018-02-17Provide SSL_CTX_get_tlsext_status_cb() and SSL_CTX_get_tlsext_status_arg().Joel Sing
2017-08-28Completely remove NPN remnants.Joel Sing
Based on a diff from doug@, similar diff from inoguchi@
2017-08-28Remove the original (pre-IETF) chacha20-poly1305 cipher suites.Joel Sing
Support for the IETF standardised chacha20-poly1305 cipher suites was added 16 months ago, which means they exist in both of the currently supported OpenBSD releases. Also prompted by Andreas Bartelt <obsd at bartula dot de>. ok beck@ doug@
2017-03-25Update RFC reference for TLSEXT_TYPE_padding.Joel Sing
2016-04-28Implement the IETF ChaCha20-Poly1305 cipher suites.Joel Sing
Rename the existing ChaCha20-Poly1305 cipher suites with an "-OLD" suffix, effectively replaces the original Google implementation. We continue to support both the IETF and Google versions, however the existing names now refer to the ciphers from draft-ietf-tls-chacha20-poly1305-04. Feedback from doug@
2016-03-07http -> https for IETF/IANA URLs in commentsMichael McConville
2015-06-17Clean up alert codes and add references.Joel Sing
2015-02-22Reluctantly add server-side support for TLS_FALLBACK_SCSV.Joel Sing
This allows for clients that willingly choose to perform a downgrade and attempt to establish a second connection at a lower protocol after the previous attempt unexpectedly failed, to be notified and have the second connection aborted, if the server does in fact support a higher protocol. TLS has perfectly good version negotiation and client-side fallback is dangerous. Despite this, in order to maintain maximum compatability with broken web servers, most mainstream browsers implement this. Furthermore, TLS_FALLBACK_SCSV only works if both the client and server support it and there is effectively no way to tell if this is the case, unless you control both ends. Unfortunately, various auditors and vulnerability scanners (including certain online assessment websites) consider the presence of a not yet standardised feature to be important for security, even if the clients do not perform client-side downgrade or the server only supports current TLS protocols. Diff is loosely based on OpenSSL with some inspiration from BoringSSL. Discussed with beck@ and miod@. ok bcook@
2015-02-12unifdef -m -UOPENSSL_NO_NEXTPROTONEG - NPN is being replaced with ALPN,Joel Sing
however it is not likely to be removed any time soon. ok beck@ miod@
2014-12-16Now that we have Camellia support in libcrypto, bring in the SHA256 flavour ofMiod Vallat
the Camellia ciphersuites for TLS 1.2 introduced in RFC 5932. From OpenSSL HEAD.
2014-11-18Update the GOST code in libssl, as contributed by Dmitry Eremin-Solenikov.Miod Vallat
This causes a libssl major version bump as this affects the layout of some internal-but-unfortunately-made-visible structs.
2014-10-31Remove an outdated comment re EDH vs DHE - DHE is now used consistently andJoel Sing
there are backwards compatible names/aliases for EDH.
2014-10-31Update comments for TLS ExtensionType values - many of the referencedJoel Sing
drafts are now RFCs. Also add the TLS extension type for ALPN and be consistent with RFC reference formatting.
2014-06-13Add ChaCha20-Poly1305 based ciphersuites.Joel Sing
Based on Adam Langley's chromium patches. Tested by and ok sthen@
2014-06-13Remove support for the `opaque PRF input' extension, which draft has expiredMiod Vallat
7 years ago and never made it into an RFC. That code wasn't compiled in anyway unless one would define the actual on-the-wire extension id bytes; crank libssl major. With help and enlightenment from Brendan MacDonell.
2014-06-12tags as requested by miod and teduTheo de Raadt
2014-05-31TLS would not be entirely functional without extensions, so unifdefJoel Sing
OPENSSL_NO_TLSEXT. ok tedu@
2014-05-30remove some #if 0 code. we don't need any more reminders that we're usingTed Unangst
a not quite appropriate data structure. ok jsing
2014-04-19More KNF.Joel Sing
2014-04-15Send the rotIBM stream cipher (ebcdic) to Valhalla to party for eternityBob Beck
with the bearded ones... some API's that nobody should be using will dissapear with this commit.
2014-04-15First pass at applying KNF to the OpenSSL code, which almost makes itJoel Sing
readable. This pass is whitespace only and can readily be verified using tr and md5. There is still a huge amount of inconsistency within these headers.
2014-04-14make OPENSSL_NO_HEARTBLEED the default and only option. ok deraadt miodTed Unangst