#
48d99288 |
| 09-Oct-2024 |
tb <tb@openbsd.org> |
Add missing alert errors and error strings
For every TLS alert there needs a corresponding error with error code having an offset of SSL_AD_REASON_OFFSET (aka 1000), otherwise the error stack fails
Add missing alert errors and error strings
For every TLS alert there needs a corresponding error with error code having an offset of SSL_AD_REASON_OFFSET (aka 1000), otherwise the error stack fails to set the reason correctly.
ok beck
show more ...
|
#
77f21699 |
| 09-Sep-2024 |
tb <tb@openbsd.org> |
Make error 235 resolve to "no application protocol"
We accidentally have two errors 235 since we didn't notice that OpenSSL removed the unused SSL_R_TRIED_TO_USE_UNSUPPORTED_CIPHER and later that be
Make error 235 resolve to "no application protocol"
We accidentally have two errors 235 since we didn't notice that OpenSSL removed the unused SSL_R_TRIED_TO_USE_UNSUPPORTED_CIPHER and later that becamse SSL_R_NO_APPLICATION_PROTOCOL. Getting an "unsupported cipher" error when fiddling with ALPN is confusing, so fix that.
ok jsing
show more ...
|
#
5dd6d43a |
| 14-Jul-2024 |
tb <tb@openbsd.org> |
Forgot to annotate the TMP UGLY CAST[S] as requested by jsing
h/t to levitte
|
#
5f4c8480 |
| 13-Jul-2024 |
tb <tb@openbsd.org> |
Make error constants const in libssl
This could be made cleaner if we expose ERR_load_const_strings(), but for now this hackier version with casts achieves the same and removes the last unprotected
Make error constants const in libssl
This could be made cleaner if we expose ERR_load_const_strings(), but for now this hackier version with casts achieves the same and removes the last unprotected modifiable globals in this library.
ok jsing
show more ...
|
#
0d588c02 |
| 24-Jun-2024 |
tb <tb@openbsd.org> |
ssl_err: KNF tweak
|
#
5fcd2f53 |
| 24-Jun-2024 |
tb <tb@openbsd.org> |
ssl_err: fix whitespace
|
#
689a9b7e |
| 03-Feb-2024 |
beck <beck@openbsd.org> |
Remove GOST and STREEBOG support from libssl.
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 everywh
Remove GOST and STREEBOG support from libssl.
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@
show more ...
|
#
71e04849 |
| 08-Jul-2023 |
beck <beck@openbsd.org> |
Hide all public symbols in libssl
With the guentherizer 9000
ok tb@
|
#
c9675a23 |
| 26-Nov-2022 |
tb <tb@openbsd.org> |
Make internal header file names consistent
Libcrypto currently has a mess of *_lcl.h, *_locl.h, and *_local.h names used for internal headers. Move all these headers we inherited from OpenSSL to *_l
Make internal header file names consistent
Libcrypto currently has a mess of *_lcl.h, *_locl.h, and *_local.h names used for internal headers. Move all these headers we inherited from OpenSSL to *_local.h, reserving the name *_internal.h for our own code. Similarly, move dtls_locl.h and ssl_locl.h to dtls_local and ssl_local.h. constant_time_locl.h is moved to constant_time.h since it's special.
Adjust all .c files in libcrypto, libssl and regress.
The diff is mechanical with the exception of tls13_quic.c, where #include <ssl_locl.h> was fixed manually.
discussed with jsing, no objection bcook
show more ...
|
#
cfa19c4e |
| 21-Aug-2022 |
jsing <jsing@openbsd.org> |
Provide and use QUIC specific error reasons.
ok tb@
|
#
aeccd9ed |
| 12-Jul-2022 |
kn <kn@openbsd.org> |
Remove mkerr.pl remnants from LibreSSL
This script is not used at all and files are edited by hand instead. Thus remove misleading comments incl. the obsolete script/config.
Feedback OK jsing tb
|
#
9be8472b |
| 28-Jun-2022 |
tb <tb@openbsd.org> |
Add security level related error codes.
ok beck jsing sthen
|
#
6da04fa7 |
| 28-Jun-2022 |
tb <tb@openbsd.org> |
Sort error strings
ok beck jsing sthen
|
#
02876cc3 |
| 05-Feb-2022 |
jsing <jsing@openbsd.org> |
Bye bye S3I.
S3I has served us well, however now that libssl is fully opaque it is time to say goodbye. Aside from removing the calloc/free/memset, the rest is mechanical sed.
ok inoguchi@ tb@
|
#
715d5aef |
| 10-Sep-2021 |
tb <tb@openbsd.org> |
Do not ignore SSL_TLSEXT_ERR_FATAL from the ALPN callback
As reported by Jeremy Harris, we inherited a strange behavior from OpenSSL, in that we ignore the SSL_TLSEXT_ERR_FATAL return from the ALPN
Do not ignore SSL_TLSEXT_ERR_FATAL from the ALPN callback
As reported by Jeremy Harris, we inherited a strange behavior from OpenSSL, in that we ignore the SSL_TLSEXT_ERR_FATAL return from the ALPN callback. RFC 7301, 3.2 states: 'In the event that the server supports no protocols that the client advertises, then the server SHALL respond with a fatal "no_application_protocol" alert.'
Honor this requirement and succeed only on SSL_TLSEXT_ERR_{OK,NOACK} which is the current behavior of OpenSSL. The documentation change is taken from OpenSSL 1.1.1 as well.
As pointed out by jsing, there is more to be fixed here: - ensure that the same protocol is selected on session resumption - should the callback be called even if no ALPN extension was sent? - ensure for TLSv1.2 and earlier that the SNI has already been processed
ok beck jsing
show more ...
|
#
f4dd87b5 |
| 16-May-2021 |
jsing <jsing@openbsd.org> |
Explicitly include <openssl/opensslconf.h> in files using OPENSSL_NO_*
Where a file references to OPENSSL_NO_* conditions, ensure that we explicitly include <openssl/opensslconf.h> before any refere
Explicitly include <openssl/opensslconf.h> in files using OPENSSL_NO_*
Where a file references to OPENSSL_NO_* conditions, ensure that we explicitly include <openssl/opensslconf.h> before any references, rather than relying on another header to pull this in.
show more ...
|
#
b1af789c |
| 21-Jan-2020 |
jsing <jsing@openbsd.org> |
Provide SSL_R_UNKNOWN.
This allows us to indicate that the cause of the failure is unknown, rather than implying that it was an internal error when it was not.
ok beck@
|
#
25ba64d1 |
| 20-Mar-2018 |
tb <tb@openbsd.org> |
Provide SSL_SESSION_set1_id()
ok jsing
|
#
28251c7f |
| 28-Aug-2017 |
jsing <jsing@openbsd.org> |
Completely remove NPN remnants.
Based on a diff from doug@, similar diff from inoguchi@
|
#
440bed4f |
| 07-May-2017 |
beck <beck@openbsd.org> |
Move state from ssl->internal to the handshake structure. while we are at it, convert SSLerror to use a function internally, so that we may later allocate the handshake structure and check for it ok
Move state from ssl->internal to the handshake structure. while we are at it, convert SSLerror to use a function internally, so that we may later allocate the handshake structure and check for it ok jsing@
show more ...
|
#
c9d7abb7 |
| 07-Feb-2017 |
beck <beck@openbsd.org> |
Change SSLerror() back to taking two args, with the first one being an SSL *. Make a table of "function codes" which maps the internal state of the SSL * to something like a useful name so in a typic
Change SSLerror() back to taking two args, with the first one being an SSL *. Make a table of "function codes" which maps the internal state of the SSL * to something like a useful name so in a typical error in the connection you know in what sort of place in the handshake things happened. (instead of by arcane function name). Add SSLerrorx() for when we don't have an SSL * ok jsing@ after us both being prodded by bluhm@ to make it not terrible
show more ...
|
#
c37c9edf |
| 26-Jan-2017 |
beck <beck@openbsd.org> |
Send the error function codes to rot in the depths of hell where they belong We leave a single funciton code (0xFFF) to say "SSL_internal" so the public API will not break, and we replace all interna
Send the error function codes to rot in the depths of hell where they belong We leave a single funciton code (0xFFF) to say "SSL_internal" so the public API will not break, and we replace all internal use of the two argument SSL_err() with the internal only SSL_error() that only takes a reason code. ok jsing@
show more ...
|
#
ee426d13 |
| 26-Jan-2017 |
jsing <jsing@openbsd.org> |
Merge the single two line function from ssl_err2.c into ssl_err.c.
ok beck@
|
#
b6a22251 |
| 26-Jan-2017 |
beck <beck@openbsd.org> |
Limit the number of sequential empty records that we will process before yielding, and fail if we exceed a maximum. loosely based on what boring and openssl are doing ok jsing@
|
#
6877ad7f |
| 22-Feb-2015 |
jsing <jsing@openbsd.org> |
Reluctantly add server-side support for TLS_FALLBACK_SCSV.
This allows for clients that willingly choose to perform a downgrade and attempt to establish a second connection at a lower protocol after
Reluctantly add server-side support for TLS_FALLBACK_SCSV.
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@
show more ...
|