OpenBSD CVS

CVS log for src/lib/libssl/ssl_cert.c


[BACK] Up to [local] / src / lib / libssl

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.108 / (download) - annotate - [select for diffs], Sat Feb 3 15:58:33 2024 UTC (4 months ago) by beck
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, HEAD
Changes since 1.107: +1 -5 lines
Diff to previous 1.107 (colored)

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@

Revision 1.107 / (download) - annotate - [select for diffs], Sat Jul 8 16:40:13 2023 UTC (11 months ago) by beck
Branch: MAIN
CVS Tags: OPENBSD_7_4_BASE, OPENBSD_7_4
Changes since 1.106: +12 -1 lines
Diff to previous 1.106 (colored)

Hide all public symbols in libssl

With the guentherizer 9000

ok tb@

Revision 1.106 / (download) - annotate - [select for diffs], Fri May 26 13:44:05 2023 UTC (12 months, 2 weeks ago) by tb
Branch: MAIN
Changes since 1.105: +5 -5 lines
Diff to previous 1.105 (colored)

Move verified_chain from SSL to SSL_HANDSHAKE

This is a better version of the fix for the missing pointer invalidation
but a bit larger, so errata got the minimal fix.

tested by jcs
ok jsing

Revision 1.105 / (download) - annotate - [select for diffs], Sat Nov 26 16:08:55 2022 UTC (18 months, 2 weeks ago) by tb
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE, OPENBSD_7_3
Changes since 1.104: +2 -2 lines
Diff to previous 1.104 (colored)

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

Revision 1.104 / (download) - annotate - [select for diffs], Sun Oct 2 16:36:41 2022 UTC (20 months, 1 week ago) by jsing
Branch: MAIN
Changes since 1.103: +19 -19 lines
Diff to previous 1.103 (colored)

Get rid of SSL_CTX_INTERNAL and SSL_INTERNAL.

These are no longer necessary due to SSL_CTX and SSL now being fully
opaque. Merge SSL_CTX_INTERNAL back into SSL_CTX and SSL_INTERNAL back
into SSL.

Prompted by tb@

Revision 1.103 / (download) - annotate - [select for diffs], Thu Jul 7 13:04:39 2022 UTC (23 months ago) by tb
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE, OPENBSD_7_2
Changes since 1.102: +1 -7 lines
Diff to previous 1.102 (colored)

Unifdef LIBRESSL_HAS_SECURITY_LEVEL and remove some workarounds
that are no longer needed now that libcrypto exposes the necessary
security-bits API.

ok jsing

Revision 1.102 / (download) - annotate - [select for diffs], Sat Jul 2 19:36:07 2022 UTC (23 months, 1 week ago) by jsing
Branch: MAIN
Changes since 1.101: +6 -6 lines
Diff to previous 1.101 (colored)

Call certificate variables cert and certs, rather than x and sk

ok tb@

Revision 1.101 / (download) - annotate - [select for diffs], Wed Jun 29 21:18:04 2022 UTC (23 months, 1 week ago) by tb
Branch: MAIN
Changes since 1.100: +20 -8 lines
Diff to previous 1.100 (colored)

Make ssl_cert_add{0,1}_chain_cert() take ssl/ctx

ok beck jsing

Revision 1.100 / (download) - annotate - [select for diffs], Wed Jun 29 21:17:22 2022 UTC (23 months, 1 week ago) by tb
Branch: MAIN
Changes since 1.99: +24 -7 lines
Diff to previous 1.99 (colored)

ssl_cert_set{0,1}_chain() take ssl/ctx

ok beck jsing

Revision 1.99 / (download) - annotate - [select for diffs], Wed Jun 29 21:12:19 2022 UTC (23 months, 1 week ago) by tb
Branch: MAIN
Changes since 1.98: +10 -1 lines
Diff to previous 1.98 (colored)

Refactor use_certificate_chain_* to take ssl/ctx instead of a cert

ok beck jsing

Revision 1.98 / (download) - annotate - [select for diffs], Wed Jun 29 21:08:07 2022 UTC (23 months, 1 week ago) by tb
Branch: MAIN
Changes since 1.97: +9 -2 lines
Diff to previous 1.97 (colored)

Make sure the verifier checks the security level in cert chains

ok beck jsing

Revision 1.97 / (download) - annotate - [select for diffs], Tue Jun 28 20:43:21 2022 UTC (23 months, 1 week ago) by tb
Branch: MAIN
Changes since 1.96: +4 -0 lines
Diff to previous 1.96 (colored)

Copy the security level stuff in ssl_cert_dup()

ok beck jsing sthen

Revision 1.96 / (download) - annotate - [select for diffs], Tue Jun 28 20:42:22 2022 UTC (23 months, 1 week ago) by tb
Branch: MAIN
Changes since 1.95: +8 -1 lines
Diff to previous 1.95 (colored)

Set up the default callback in SSL_CERT

ok beck jsing sthen

Revision 1.95 / (download) - annotate - [select for diffs], Sat Feb 5 14:54:10 2022 UTC (2 years, 4 months ago) by jsing
Branch: MAIN
CVS Tags: OPENBSD_7_1_BASE, OPENBSD_7_1
Changes since 1.94: +2 -2 lines
Diff to previous 1.94 (colored)

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@

Revision 1.94 / (download) - annotate - [select for diffs], Fri Jan 28 13:14:48 2022 UTC (2 years, 4 months ago) by inoguchi
Branch: MAIN
Changes since 1.93: +7 -4 lines
Diff to previous 1.93 (colored)

Error check for sk_push in libssl

CID 118976 118979

ok tb@

Revision 1.93 / (download) - annotate - [select for diffs], Sat Jan 8 12:59:58 2022 UTC (2 years, 5 months ago) by jsing
Branch: MAIN
Changes since 1.92: +1 -36 lines
Diff to previous 1.92 (colored)

Merge SESS_CERT into SSL_SESSION.

There is no reason for SESS_CERT to exist - remove it and merge its members
into SSL_SESSION for the time being. More clean up to follow.

ok inoguchi@ tb@

Revision 1.92 / (download) - annotate - [select for diffs], Sat Jan 8 12:43:44 2022 UTC (2 years, 5 months ago) by jsing
Branch: MAIN
Changes since 1.91: +13 -13 lines
Diff to previous 1.91 (colored)

Rename CERT to SSL_CERT and CERT_PKEY to SSL_CERT_PKEY.

Nearly all structs in libssl start with an SSL_ suffix, rename CERT and
CERT_PKEY for consistency.

ok inoguchi@ tb@

Revision 1.91 / (download) - annotate - [select for diffs], Fri Jan 7 16:45:06 2022 UTC (2 years, 5 months ago) by jsing
Branch: MAIN
Changes since 1.90: +8 -8 lines
Diff to previous 1.90 (colored)

Rename dh_tmp to dhe_params.

Support for non-ephemeral DH was removed a long time ago - as such, the
dh_tmp and dh_tmp_cb are used for DHE parameters. Rename them to reflect
reality.

ok inoguchi@ tb@

Revision 1.90 / (download) - annotate - [select for diffs], Fri Jan 7 15:56:33 2022 UTC (2 years, 5 months ago) by jsing
Branch: MAIN
Changes since 1.89: +1 -17 lines
Diff to previous 1.89 (colored)

Stop attempting to duplicate the public and private key of dh_tmp.

Support for non-ephemeral DH was removed a very long time ago - the only
way that dh_tmp is set is via DHparams_dup(), hence the public and private
keys are always going to be NULL.

ok inoguchi@ tb@

Revision 1.89 / (download) - annotate - [select for diffs], Thu Jan 6 18:23:56 2022 UTC (2 years, 5 months ago) by jsing
Branch: MAIN
Changes since 1.88: +1 -5 lines
Diff to previous 1.88 (colored)

Convert legacy TLS client to tls_key_share.

This requires adding DHE support to tls_key_share. In doing so,
tls_key_share_peer_public() has to lose the group argument and gains
an invalid_key argument. The one place that actually needs the group
check is tlsext_keyshare_client_parse(), so add code to do this.

ok inoguchi@ tb@

Revision 1.88 / (download) - annotate - [select for diffs], Mon Nov 29 18:36:27 2021 UTC (2 years, 6 months ago) by tb
Branch: MAIN
Changes since 1.87: +3 -3 lines
Diff to previous 1.87 (colored)

Stop using BIO_s_file_inernal() in libssl.

BIO_s_file_internal() should never have leaked out of libcrypto,
but it did. As a first step of getting rid of it, stop using it
internally.

ok jsing

Revision 1.87 / (download) - annotate - [select for diffs], Fri Nov 26 16:41:42 2021 UTC (2 years, 6 months ago) by tb
Branch: MAIN
Changes since 1.86: +2 -4 lines
Diff to previous 1.86 (colored)

Stop reaching into EVP_PKEY in the rest of libssl.

ok inoguchi jsing

Revision 1.86 / (download) - annotate - [select for diffs], Sat Oct 23 20:42:50 2021 UTC (2 years, 7 months ago) by beck
Branch: MAIN
Changes since 1.85: +10 -1 lines
Diff to previous 1.85 (colored)

Add SSL_get0_verified_chain - needed by some new stuff

symbol will be exposed with tb@'s forthcoming bump

ok tb@

Revision 1.85 / (download) - annotate - [select for diffs], Sat Oct 23 16:11:30 2021 UTC (2 years, 7 months ago) by tb
Branch: MAIN
Changes since 1.84: +2 -3 lines
Diff to previous 1.84 (colored)

Unhandroll X509_up_ref()

ok beck jsing

Revision 1.84 / (download) - annotate - [select for diffs], Sat Oct 23 13:14:38 2021 UTC (2 years, 7 months ago) by tb
Branch: MAIN
Changes since 1.83: +19 -16 lines
Diff to previous 1.83 (colored)

Change ssl_verify_cert_chain() for compatibility with opaque
X509_STORE_CTX and use accessors instead of reaching directly
into the struct.

ok jsing

Revision 1.83 / (download) - annotate - [select for diffs], Fri Jun 11 11:13:53 2021 UTC (3 years ago) by jsing
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0
Changes since 1.82: +3 -3 lines
Diff to previous 1.82 (colored)

Indent all labels with a single space.

This ensures that diff reports the correct function prototype.

Prompted by tb@

Revision 1.82 / (download) - annotate - [select for diffs], Wed Apr 21 19:27:56 2021 UTC (3 years, 1 month ago) by jsing
Branch: MAIN
Changes since 1.81: +2 -2 lines
Diff to previous 1.81 (colored)

Clean up TLSv1.2 certificate request handshake data.

Currently cert_req is used by clients and cert_request is used by servers.
Replace this by a single cert_request used by either client or server.
Remove the certificate types as they are currently unused. This also fixes
a bug whereby if the number of certificate types exceeds SSL3_CT_NUMBER
the number of bytes read in is insufficient, which will break decoding.

ok inoguchi@ tb@

Revision 1.81 / (download) - annotate - [select for diffs], Sat Mar 27 17:56:28 2021 UTC (3 years, 2 months ago) by tb
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.80: +2 -2 lines
Diff to previous 1.80 (colored)

Garbage collect s->internal->type

This variable is used in the legacy stack to decide whether we are
a server or a client. That's what s->server is for...

The new TLSv1.3 stack failed to set s->internal->type, which resulted
in hilarious mishandling of previous_{client,server}_finished. Indeed,
both client and server would first store the client's verify_data in
previous_server_finished and later overwrite it with the server's
verify_data. Consequently, renegotiation has been completely broken
for more than a year. In fact, server side renegotiation was broken
during the 6.5 release cycle. Clearly, no-one uses this.

This commit fixes client side renegotiation and restores the previous
behavior of SSL_get_client_CA_list(). Server side renegotiation will
be fixed in a later commit.

ok jsing

Revision 1.80 / (download) - annotate - [select for diffs], Fri Nov 20 08:08:02 2020 UTC (3 years, 6 months ago) by tb
Branch: MAIN
Changes since 1.79: +4 -3 lines
Diff to previous 1.79 (colored)

fix another misleading line break and indent

Revision 1.79 / (download) - annotate - [select for diffs], Fri Nov 20 08:03:53 2020 UTC (3 years, 6 months ago) by tb
Branch: MAIN
Changes since 1.78: +4 -3 lines
Diff to previous 1.78 (colored)

fix confusing line break and indent

Revision 1.78 / (download) - annotate - [select for diffs], Fri Jun 5 17:55:24 2020 UTC (4 years ago) by jsing
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8
Changes since 1.77: +5 -1 lines
Diff to previous 1.77 (colored)

Handle GOST in ssl_cert_dup().

Add missing case entry for SSL_PKEY_GOST01.

Diff from Dmitry Baryshkov <dbaryshkov@gmail.com>

Sponsored by ROSA Linux

ok inoguchi@ tb@

Revision 1.77 / (download) - annotate - [select for diffs], Tue May 19 16:35:20 2020 UTC (4 years ago) by jsing
Branch: MAIN
Changes since 1.76: +4 -9 lines
Diff to previous 1.76 (colored)

Replace SSL_PKEY_RSA_ENC/SSL_PKEY_RSA_SIGN with SSL_PKEY_RSA.

Some time prior to SSLeay 0.8.1b, SSL_PKEY_RSA_SIGN got added with the
intention of handling RSA sign only certificates... this incomplete code
had the following comment:

  /* check to see if this is a signing only certificate */
  /* EAY EAY EAY EAY */

And while the comment was removed in 2005, the incomplete RSA sign-only
handling has remained ever since.

Remove SSL_PKEY_RSA_SIGN and rename SSL_PKEY_RSA_ENC to SSL_PKEY_RSA. While
here also remove the unused SSL_PKEY_DH_RSA.

ok tb@

Revision 1.76 / (download) - annotate - [select for diffs], Wed May 15 09:13:16 2019 UTC (5 years ago) by bcook
Branch: MAIN
CVS Tags: OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6
Changes since 1.75: +2 -3 lines
Diff to previous 1.75 (colored)

s3 is never NULL since s2 (formerly used for SSLv2) does not exist, so there is
no need to check for it. Fixes COV-165788, identified with help from Alex
Bumstead.

ok jsing@

Revision 1.75 / (download) - annotate - [select for diffs], Sat Apr 13 18:04:05 2019 UTC (5 years, 1 month ago) by tb
Branch: MAIN
Changes since 1.74: +14 -8 lines
Diff to previous 1.74 (colored)

Avoid leak in SSL_dup_CA_list()

In the case that X509_NAME_dup() succeeds, but sk_X509_NAME_push()
fails, name is leaked.  The entire function is trying to be clever
and therefore hard to follow.  Let's do it the stupid but safe way.

ok jsing

Revision 1.74 / (download) - annotate - [select for diffs], Mon Mar 25 17:33:26 2019 UTC (5 years, 2 months ago) by jsing
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5
Changes since 1.73: +1 -23 lines
Diff to previous 1.73 (colored)

Strip out all of the pkey to sigalg and sigalg to pkey linkages.

These are no longer used now that we defer signature algorithm selection.

ok beck@

Revision 1.73 / (download) - annotate - [select for diffs], Mon Mar 25 16:24:57 2019 UTC (5 years, 2 months ago) by jsing
Branch: MAIN
Changes since 1.72: +66 -2 lines
Diff to previous 1.72 (colored)

Add a chain member to CERT_PKEY and provide functions for manipulating it.

Note that this is not the full chain, as the leaf certificate currently
remains in the x509 member of CERT_PKEY. Unfortunately we've got to
contend with the fact that some OpenSSL *_chain_* APIs exclude the leaf
certificate while others include it...

ok beck@ tb@

Revision 1.72 / (download) - annotate - [select for diffs], Mon Nov 19 14:42:01 2018 UTC (5 years, 6 months ago) by jsing
Branch: MAIN
Changes since 1.71: +3 -3 lines
Diff to previous 1.71 (colored)

Revert previous - the default sigalg for RSA key exchange is {sha1,rsa}.

In TLSv1.2, if the client does not send a signature algorithms extension
then for RSA key exchange a signature algorithm of {sha1,rsa} is implied.
The MD5+SHA1 hash only applies to older versions of TLS, which do not
support sigalgs.

Revision 1.71 / (download) - annotate - [select for diffs], Fri Nov 16 02:41:16 2018 UTC (5 years, 6 months ago) by beck
Branch: MAIN
Changes since 1.70: +4 -4 lines
Diff to previous 1.70 (colored)

Unbreak legacy ciphers for prior to 1.1 by setting having a legacy
sigalg for MD5_SHA1 and using it as the non sigalgs default
ok jsing@

Revision 1.70 / (download) - annotate - [select for diffs], Sat Nov 10 01:19:09 2018 UTC (5 years, 7 months ago) by beck
Branch: MAIN
Changes since 1.69: +13 -9 lines
Diff to previous 1.69 (colored)

Stop keeping track of sigalgs by guessing it from digest and pkey,
just keep the sigalg around so we can remember what we actually
decided to use.
ok jsing@

Revision 1.69 / (download) - annotate - [select for diffs], Thu Nov 8 20:55:18 2018 UTC (5 years, 7 months ago) by jsing
Branch: MAIN
Changes since 1.68: +1 -29 lines
Diff to previous 1.68 (colored)

Stop pretending that a cert member in a SSL and SSL_CTX can be NULL.

ok beck@ tb@

Revision 1.68 / (download) - annotate - [select for diffs], Mon Nov 5 03:49:44 2018 UTC (5 years, 7 months ago) by jsing
Branch: MAIN
Changes since 1.67: +1 -11 lines
Diff to previous 1.67 (colored)

Mop up ecdh_tmp, since it is no longer used.

ok bluhm@ tb@

Revision 1.67 / (download) - annotate - [select for diffs], Wed Apr 25 07:10:39 2018 UTC (6 years, 1 month ago) by tb
Branch: MAIN
CVS Tags: OPENBSD_6_4_BASE, OPENBSD_6_4
Changes since 1.66: +2 -2 lines
Diff to previous 1.66 (colored)

OpenSSL started adding const to functions all over the place. Make all
our libssl functions match theirs wrt const, except for BIO_f_ssl(3)
which will be fixed in a later step.

this went through a i386 bulk by sthen
ok jsing

Revision 1.66 / (download) - annotate - [select for diffs], Sat Aug 12 02:55:22 2017 UTC (6 years, 10 months ago) by jsing
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2
Changes since 1.65: +1 -7 lines
Diff to previous 1.65 (colored)

Remove support for DSS/DSA, since we removed the cipher suites a while
back.

ok guenther@

Revision 1.65 / (download) - annotate - [select for diffs], Thu Aug 10 17:18:38 2017 UTC (6 years, 10 months ago) by jsing
Branch: MAIN
Changes since 1.64: +1 -3 lines
Diff to previous 1.64 (colored)

Clean up the EC key/curve configuration handling.

Over the years OpenSSL grew multiple ways of being able to specify EC keys
(and/or curves) for use with ECDH and ECDHE key exchange. You could specify
a static EC key (SSL{_CTX,}_set_tmp_ecdh()), use that as a curve and
generate ephemeral keys (SSL_OP_SINGLE_ECDH_USE), provide the EC key via
a callback that was provided with insufficient information
(SSL{_CTX,}_set_tmp_ecdh_cb()) or enable automatic selection and generation
of EC keys via SSL{_CTX,}_set_ecdh_auto(). This complexity leads to
problems (like ECDHE not being enabled) and potential weird configuration
(like being able to do ECDHE without the ephemeral part...).

We no longer support ECDH and ECDHE can be disabled by removing ECDHE
ciphers from the cipher list. As such, permanently enable automatic EC
curve selection and generation, effectively disabling all of the
configuration knobs. The only exception is the
SSL{_CTX,}_set_tmp_ecdh() functions, which retain part of their previous
behaviour by configuring the curve of the given EC key as the only curve
being enabled. Everything else becomes a no-op.

ok beck@ doug@

Revision 1.64 / (download) - annotate - [select for diffs], Tue Feb 7 02:08:38 2017 UTC (7 years, 4 months ago) by beck
Branch: MAIN
CVS Tags: OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.63: +16 -16 lines
Diff to previous 1.63 (colored)

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

Revision 1.63 / (download) - annotate - [select for diffs], Sun Jan 29 17:49:23 2017 UTC (7 years, 4 months ago) by beck
Branch: MAIN
Changes since 1.62: +2 -2 lines
Diff to previous 1.62 (colored)

Send the function codes from the error functions to the bit bucket,
as was done earlier in libssl. Thanks inoguchi@ for noticing
libssl had more reacharounds into this.
ok jsing@ inoguchi@

Revision 1.62 / (download) - annotate - [select for diffs], Thu Jan 26 12:16:13 2017 UTC (7 years, 4 months ago) by beck
Branch: MAIN
Changes since 1.61: +3 -5 lines
Diff to previous 1.61 (colored)

Finish the fallout of the SSLerr->SSLerror cleanup to get rid of the ugly
line wraps that resulted

Revision 1.61 / (download) - annotate - [select for diffs], Thu Jan 26 10:40:21 2017 UTC (7 years, 4 months ago) by beck
Branch: MAIN
Changes since 1.60: +16 -16 lines
Diff to previous 1.60 (colored)

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@

Revision 1.60 / (download) - annotate - [select for diffs], Tue Jan 24 15:04:12 2017 UTC (7 years, 4 months ago) by jsing
Branch: MAIN
Changes since 1.59: +3 -3 lines
Diff to previous 1.59 (colored)

sk_free() checks for NULL so do not bother doing it from the callers.

Revision 1.59 / (download) - annotate - [select for diffs], Tue Jan 24 14:57:31 2017 UTC (7 years, 4 months ago) by jsing
Branch: MAIN
Changes since 1.58: +4 -9 lines
Diff to previous 1.58 (colored)

sk_pop_free() checks for NULL so do not bother doing it from the callers.

Revision 1.58 / (download) - annotate - [select for diffs], Mon Jan 23 06:45:30 2017 UTC (7 years, 4 months ago) by beck
Branch: MAIN
Changes since 1.57: +6 -6 lines
Diff to previous 1.57 (colored)

Move a large part of ssl_st into internal, so we can see what squeals.
ok jsing@

Revision 1.57 / (download) - annotate - [select for diffs], Mon Jan 23 05:13:02 2017 UTC (7 years, 4 months ago) by jsing
Branch: MAIN
Changes since 1.56: +5 -5 lines
Diff to previous 1.56 (colored)

Move most of the fields in SSL_CTX to internal - the ones that remain are
known to be in use.

ok beck@

Revision 1.56 / (download) - annotate - [select for diffs], Mon Jan 23 04:55:27 2017 UTC (7 years, 4 months ago) by beck
Branch: MAIN
Changes since 1.55: +3 -3 lines
Diff to previous 1.55 (colored)

move the callbacks from ssl_st to internal
ok jsing@

Revision 1.55 / (download) - annotate - [select for diffs], Mon Jan 23 04:15:28 2017 UTC (7 years, 4 months ago) by jsing
Branch: MAIN
Changes since 1.54: +4 -3 lines
Diff to previous 1.54 (colored)

Move callback function pointers and argument pointers from SSL_CTX to
internal.

ok beck@

Revision 1.54 / (download) - annotate - [select for diffs], Sun Jan 22 09:02:07 2017 UTC (7 years, 4 months ago) by jsing
Branch: MAIN
Changes since 1.53: +2 -2 lines
Diff to previous 1.53 (colored)

Move most of the SSL3_STATE fields to internal - the ones that remain are
known to be used by ports.

ok beck@

Revision 1.53 / (download) - annotate - [select for diffs], Wed Dec 21 16:44:31 2016 UTC (7 years, 5 months ago) by jsing
Branch: MAIN
Changes since 1.52: +2 -1 lines
Diff to previous 1.52 (colored)

Add support for ECDHE with X25519.

Testing of an earlier revision by naddy@.

ok beck@

Revision 1.52 / (download) - annotate - [select for diffs], Fri Mar 11 07:08:45 2016 UTC (8 years, 3 months ago) by mmcc
Branch: MAIN
Changes since 1.51: +7 -13 lines
Diff to previous 1.51 (colored)

X509_free(3) is NULL-safe, so remove NULL checks before its calls.

ok doug@

Revision 1.51 / (download) - annotate - [select for diffs], Fri Sep 11 17:37:47 2015 UTC (8 years, 9 months ago) by jsing
Branch: MAIN
Changes since 1.50: +1 -8 lines
Diff to previous 1.50 (colored)

Nuke ssl_set_peer_cert_type().

ok "flensing knife"

Revision 1.50 / (download) - annotate - [select for diffs], Mon Apr 6 04:09:59 2015 UTC (9 years, 2 months ago) by guenther
Branch: MAIN
Changes since 1.49: +1 -3 lines
Diff to previous 1.49 (colored)

readdir() is thread-safe when DIR handles aren't shared, so delete the lock.
(POSIX is fixing its description: readdir_r() was a botch)

Patch from Carlos Martín Nieto (cmn (at) dwim.me)
no -portable concerns bcook@

Revision 1.41.4.1 / (download) - annotate - [select for diffs], Wed Mar 11 19:52:37 2015 UTC (9 years, 3 months ago) by tedu
Changes since 1.41: +1 -2 lines
Diff to previous 1.41 (colored) next main 1.42 (colored)

backport fixes to prevent connections from being downgraded to weak keys.
ok bluhm miod

Revision 1.49 / (download) - annotate - [select for diffs], Sun Dec 14 15:30:50 2014 UTC (9 years, 5 months ago) by jsing
Branch: MAIN
Changes since 1.48: +9 -9 lines
Diff to previous 1.48 (colored)

Remove trailing whitespace.

Revision 1.48 / (download) - annotate - [select for diffs], Wed Dec 10 15:36:47 2014 UTC (9 years, 6 months ago) by jsing
Branch: MAIN
Changes since 1.47: +1 -2 lines
Diff to previous 1.47 (colored)

Remove support for GOST R 34.10-94 signature authentication, along with
the two ciphersuites that use it. GOST94 public/private keys have been
long obsoleted and libcrypto does not have support for them anyway.

Discussed with Dmitry Eremin-Solenikov.

Revision 1.47 / (download) - annotate - [select for diffs], Sat Dec 6 14:24:26 2014 UTC (9 years, 6 months ago) by jsing
Branch: MAIN
Changes since 1.46: +1 -2 lines
Diff to previous 1.46 (colored)

Remove client handling of RSA in ServerKeyExchange messages, along with
the associated peer_rsa_tmp goop.

This was only needed for export cipher handling and intentional RFC
violations. The export cipher suites have already been removed and
previous cleanup means that we will never send ServerKeyExchange messages
from the server side for RSA.

Revision 1.46 / (download) - annotate - [select for diffs], Tue Nov 18 05:33:43 2014 UTC (9 years, 6 months ago) by miod
Branch: MAIN
Changes since 1.45: +5 -1 lines
Diff to previous 1.45 (colored)

Update the GOST code in libssl, as contributed by Dmitry Eremin-Solenikov.

This causes a libssl major version bump as this affects the layout of some
internal-but-unfortunately-made-visible structs.

Revision 1.45 / (download) - annotate - [select for diffs], Sun Nov 16 14:12:47 2014 UTC (9 years, 6 months ago) by jsing
Branch: MAIN
Changes since 1.44: +7 -6 lines
Diff to previous 1.44 (colored)

Sort and group includes.

Revision 1.44 / (download) - annotate - [select for diffs], Fri Oct 31 15:25:55 2014 UTC (9 years, 7 months ago) by jsing
Branch: MAIN
Changes since 1.43: +2 -1 lines
Diff to previous 1.43 (colored)

Add support for automatic DH ephemeral keys.

This allows an SSL server to enable DHE ciphers with a single setting,
which results in an DH key being generated based on the server key length.

Partly based on OpenSSL.

Revision 1.43 / (download) - annotate - [select for diffs], Fri Oct 31 14:51:01 2014 UTC (9 years, 7 months ago) by jsing
Branch: MAIN
Changes since 1.42: +1 -9 lines
Diff to previous 1.42 (colored)

Remove support for ephemeral/temporary RSA private keys.

The only use for these is via SSL_OP_EPHEMERAL_RSA (which is effectively
a standards violation) and for RSA sign-only, should only be possible if
you are using an export cipher and have an RSA private key that is more
than 512 bits in size (however we no longer support export ciphers).

ok bcook@ miod@

Revision 1.42 / (download) - annotate - [select for diffs], Fri Oct 3 13:58:18 2014 UTC (9 years, 8 months ago) by jsing
Branch: MAIN
Changes since 1.41: +2 -1 lines
Diff to previous 1.41 (colored)

Add support for automatic ephemeral EC keys.

This allows an SSL server to enable ECDHE ciphers with a single setting,
which results in an EC key being generated using the first preference
shared curve.

Based on OpenSSL with inspiration from boringssl.

ok miod@

Revision 1.41 / (download) - annotate - [select for diffs], Thu Jul 10 08:25:00 2014 UTC (9 years, 11 months ago) by guenther
Branch: MAIN
Changes since 1.40: +25 -16 lines
Diff to previous 1.40 (colored)

KNF comments, reflowing and moving out of the middle of argument lists in
places

ok jsing@

Revision 1.40 / (download) - annotate - [select for diffs], Wed Jul 9 11:25:42 2014 UTC (9 years, 11 months ago) by jsing
Branch: MAIN
Changes since 1.39: +1 -3 lines
Diff to previous 1.39 (colored)

tedu the SSL export cipher handling - since we do not have enabled export
ciphers we no longer need the flags or code to support it.

ok beck@ miod@

Revision 1.39 / (download) - annotate - [select for diffs], Sat Jun 21 09:10:30 2014 UTC (9 years, 11 months ago) by logan
Branch: MAIN
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (colored)

Fix memory leak in error path.

OK from miod@

Revision 1.38 / (download) - annotate - [select for diffs], Thu Jun 12 15:49:31 2014 UTC (10 years ago) by deraadt
Branch: MAIN
Changes since 1.37: +1 -1 lines
Diff to previous 1.37 (colored)

tags as requested by miod and tedu

Revision 1.37 / (download) - annotate - [select for diffs], Sun Jun 8 14:51:53 2014 UTC (10 years ago) by jsing
Branch: MAIN
Changes since 1.36: +8 -14 lines
Diff to previous 1.36 (colored)

No, we will not be building with OPENSSL_NO_X509_VERIFY. Nuke it and
do some other clean up while here.

ok deraadt@

Revision 1.36 / (download) - annotate - [select for diffs], Sat Jun 7 14:35:31 2014 UTC (10 years ago) by jsing
Branch: MAIN
Changes since 1.35: +2 -4 lines
Diff to previous 1.35 (colored)

BIO_free has an implicit NULL check, so do not bother checking for NULL
before calling it.

Revision 1.35 / (download) - annotate - [select for diffs], Sat Jun 7 14:10:35 2014 UTC (10 years ago) by jsing
Branch: MAIN
Changes since 1.34: +12 -22 lines
Diff to previous 1.34 (colored)

The DH_free, EC_KEY_free, EVP_PKEY_free and RSA_free functions all have
implicit NULL checks, so there is no point ensuring that the pointer is
non-NULL before calling them.

Revision 1.34 / (download) - annotate - [select for diffs], Sat Jun 7 13:45:15 2014 UTC (10 years ago) by jsing
Branch: MAIN
Changes since 1.33: +22 -19 lines
Diff to previous 1.33 (colored)

More KNF.

Revision 1.33 / (download) - annotate - [select for diffs], Fri May 30 14:30:50 2014 UTC (10 years ago) by tedu
Branch: MAIN
Changes since 1.32: +0 -14 lines
Diff to previous 1.32 (colored)

remove some #if 0 code. we don't need any more reminders that we're using
a not quite appropriate data structure. ok jsing

Revision 1.32 / (download) - annotate - [select for diffs], Thu May 29 18:27:52 2014 UTC (10 years ago) by beck
Branch: MAIN
Changes since 1.31: +0 -2 lines
Diff to previous 1.31 (colored)

Any sane platform has stdio. Stop pretending we will ever use a platform
that does not.
"fire bomb" tedu@

Revision 1.31 / (download) - annotate - [select for diffs], Thu May 29 18:11:13 2014 UTC (10 years ago) by tedu
Branch: MAIN
Changes since 1.30: +0 -22 lines
Diff to previous 1.30 (colored)

unidef DH, ECDH, and ECDSA. there's no purpose to a libssl without them.
ok deraadt jsing

Revision 1.30 / (download) - annotate - [select for diffs], Mon May 26 20:15:29 2014 UTC (10 years ago) by miod
Branch: MAIN
Changes since 1.29: +1 -6 lines
Diff to previous 1.29 (colored)

We don't really to keep history in constructs such as:

#if 1 /* new with openssl 0.9.4 */
current code;
#else
obsolete code;
#endif

Revision 1.29 / (download) - annotate - [select for diffs], Thu May 22 17:43:52 2014 UTC (10 years ago) by jsing
Branch: MAIN
Changes since 1.28: +0 -1 lines
Diff to previous 1.28 (colored)

There are two actual uses of e_os2.h in libssl - an OPENSSL_GLOBAL (an
empty define) and an OPENSSL_EXTERN (which is defined as, well... extern).
The use of OPENSSL_EXTERN is already inconsistent since the lines above
and below just use plain old "extern". Expand the two uses of these macros
and stop including e_os2.h in libssl.

ok miod@

Revision 1.28 / (download) - annotate - [select for diffs], Sat Apr 26 18:56:38 2014 UTC (10 years, 1 month ago) by beck
Branch: MAIN
Changes since 1.27: +1 -1 lines
Diff to previous 1.27 (colored)

Replace all use of ERR_add_error_data with ERR_asprintf_error_data.
This avoids a lot of ugly gymnastics to do snprintfs before sending the
bag of strings to ERR, and eliminates at least one place in dso_dlfctn.c
where it was being called with the incorrect number of arguments and
using random things off the stack as addresses of strings.
ok krw@, jsing@

Revision 1.27 / (download) - annotate - [select for diffs], Mon Apr 21 16:34:43 2014 UTC (10 years, 1 month ago) by deraadt
Branch: MAIN
Changes since 1.26: +3 -9 lines
Diff to previous 1.26 (colored)

more malloc/realloc/calloc cleanups; ok beck kettenis

Revision 1.26 / (download) - annotate - [select for diffs], Sat Apr 19 08:52:32 2014 UTC (10 years, 1 month ago) by guenther
Branch: MAIN
Changes since 1.25: +14 -14 lines
Diff to previous 1.25 (colored)

More KNF and style consistency tweaks

Revision 1.25 / (download) - annotate - [select for diffs], Thu Apr 17 21:37:37 2014 UTC (10 years, 1 month ago) by tedu
Branch: MAIN
Changes since 1.24: +0 -12 lines
Diff to previous 1.24 (colored)

always build in RSA and DSA. ok deraadt miod

Revision 1.24 / (download) - annotate - [select for diffs], Thu Apr 17 21:32:37 2014 UTC (10 years, 1 month ago) by deraadt
Branch: MAIN
Changes since 1.23: +0 -18 lines
Diff to previous 1.23 (colored)

kill REF_PRINT/REF_CHECK debugging framework noone would use
ok miod

Revision 1.23 / (download) - annotate - [select for diffs], Thu Apr 17 13:37:50 2014 UTC (10 years, 1 month ago) by beck
Branch: MAIN
Changes since 1.22: +5 -5 lines
Diff to previous 1.22 (colored)

Change library to use intrinsic memory allocation functions instead of
OPENSSL_foo wrappers. This changes:
OPENSSL_malloc->malloc
OPENSSL_free->free
OPENSSL_relloc->realloc
OPENSSL_freeFunc->free

Revision 1.22 / (download) - annotate - [select for diffs], Tue Apr 15 22:43:53 2014 UTC (10 years, 1 month ago) by beck
Branch: MAIN
Changes since 1.21: +0 -1 lines
Diff to previous 1.21 (colored)

o_dir.c had a very funny odor. all users of this now use standard functions.
consign it to the Attic.
ok deraadt@

Revision 1.21 / (download) - annotate - [select for diffs], Mon Apr 14 17:20:24 2014 UTC (10 years, 1 month ago) by beck
Branch: MAIN
Changes since 1.20: +20 -30 lines
Diff to previous 1.20 (colored)

convert the use of OPENSSL_DIR_XXX functions to opendir() and frends.
ok deraadt@

Revision 1.20 / (download) - annotate - [select for diffs], Mon Apr 14 13:10:35 2014 UTC (10 years, 1 month ago) by jsing
Branch: MAIN
Changes since 1.19: +321 -330 lines
Diff to previous 1.19 (colored)

First pass at applying KNF to the OpenSSL code, which almost makes it
readable. This pass is whitespace only and can readily be verified using
tr and md5.

Revision 1.19 / (download) - annotate - [select for diffs], Sun Apr 13 22:11:45 2014 UTC (10 years, 2 months ago) by beck
Branch: MAIN
Changes since 1.18: +0 -5 lines
Diff to previous 1.18 (colored)

Remove vms support stuff.
ok deraadt@

Revision 1.18 / (download) - annotate - [select for diffs], Sun Apr 13 21:11:19 2014 UTC (10 years, 2 months ago) by mpi
Branch: MAIN
Changes since 1.17: +6 -6 lines
Diff to previous 1.17 (colored)

Do not include "e_os.h" anymore.  Simply pull in the necessary headers.

ok miod@, deraadt@

Revision 1.17 / (download) - annotate - [select for diffs], Sun Apr 13 15:25:34 2014 UTC (10 years, 2 months ago) by miod
Branch: MAIN
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored)

Merge conflicts; remove MacOS, Netware, OS/2, VMS and Windows build machinery.

Revision 1.1.1.10 / (download) - annotate - [select for diffs] (vendor branch), Sun Apr 13 15:16:36 2014 UTC (10 years, 2 months ago) by miod
Changes since 1.1.1.9: +2 -2 lines
Diff to previous 1.1.1.9 (colored)

Import OpenSSL 1.0.1g

Revision 1.16 / (download) - annotate - [select for diffs], Sat Oct 13 21:25:14 2012 UTC (11 years, 7 months ago) by djm
Branch: MAIN
Changes since 1.15: +20 -1 lines
Diff to previous 1.15 (colored)

resolve conflicts

Revision 1.1.1.9 / (download) - annotate - [select for diffs] (vendor branch), Sat Oct 13 21:23:50 2012 UTC (11 years, 7 months ago) by djm
Changes since 1.1.1.8: +20 -1 lines
Diff to previous 1.1.1.8 (colored)

import OpenSSL-1.0.1c

Revision 1.15 / (download) - annotate - [select for diffs], Fri Oct 1 22:59:00 2010 UTC (13 years, 8 months ago) by djm
Branch: MAIN
Changes since 1.14: +11 -6 lines
Diff to previous 1.14 (colored)

resolve conflicts, fix local changes

Revision 1.1.1.8 / (download) - annotate - [select for diffs] (vendor branch), Fri Oct 1 22:54:16 2010 UTC (13 years, 8 months ago) by djm
Changes since 1.1.1.7: +11 -6 lines
Diff to previous 1.1.1.7 (colored)

import OpenSSL-1.0.0a

Revision 1.14 / (download) - annotate - [select for diffs], Sat Sep 6 12:17:53 2008 UTC (15 years, 9 months ago) by djm
Branch: MAIN
Changes since 1.13: +87 -156 lines
Diff to previous 1.13 (colored)

resolve conflicts

Revision 1.1.1.7 / (download) - annotate - [select for diffs] (vendor branch), Sat Sep 6 12:15:51 2008 UTC (15 years, 9 months ago) by djm
Changes since 1.1.1.6: +87 -156 lines
Diff to previous 1.1.1.6 (colored)

import of OpenSSL 0.9.8h

Revision 1.13 / (download) - annotate - [select for diffs], Tue Jun 27 05:07:03 2006 UTC (17 years, 11 months ago) by djm
Branch: MAIN
Changes since 1.12: +13 -3 lines
Diff to previous 1.12 (colored)

resolve conflicts

Revision 1.1.1.6 / (download) - annotate - [select for diffs] (vendor branch), Tue Jun 27 05:05:39 2006 UTC (17 years, 11 months ago) by djm
Changes since 1.1.1.5: +13 -3 lines
Diff to previous 1.1.1.5 (colored)

import of openssl-0.9.7j

Revision 1.12 / (download) - annotate - [select for diffs], Fri Apr 29 05:39:31 2005 UTC (19 years, 1 month ago) by djm
Branch: MAIN
Changes since 1.11: +66 -38 lines
Diff to previous 1.11 (colored)

resolve conflicts

Revision 1.1.1.5 / (download) - annotate - [select for diffs] (vendor branch), Fri Apr 29 05:37:28 2005 UTC (19 years, 1 month ago) by djm
Changes since 1.1.1.4: +66 -38 lines
Diff to previous 1.1.1.4 (colored)

import of openssl-0.9.7g; tested on platforms from alpha to zaurus, ok deraadt@

Revision 1.11 / (download) - annotate - [select for diffs], Thu Apr 8 08:03:15 2004 UTC (20 years, 2 months ago) by markus
Branch: MAIN
Changes since 1.10: +6 -6 lines
Diff to previous 1.10 (colored)

merge 0.9.7d

Revision 1.1.1.4 / (download) - annotate - [select for diffs] (vendor branch), Wed Apr 7 20:42:07 2004 UTC (20 years, 2 months ago) by markus
Changes since 1.1.1.3: +6 -6 lines
Diff to previous 1.1.1.3 (colored)

import openssl-0.9.7d

Revision 1.10 / (download) - annotate - [select for diffs], Mon May 12 02:18:40 2003 UTC (21 years, 1 month ago) by markus
Branch: MAIN
Changes since 1.9: +29 -1 lines
Diff to previous 1.9 (colored)

merge 0.9.7b with local changes; crank majors for libssl/libcrypto

Revision 1.1.1.3 / (download) - annotate - [select for diffs] (vendor branch), Sun May 11 21:36:42 2003 UTC (21 years, 1 month ago) by markus
Changes since 1.1.1.2: +29 -1 lines
Diff to previous 1.1.1.2 (colored)

import 0.9.7b (without idea and rc5)

Revision 1.1.1.2 / (download) - annotate - [select for diffs] (vendor branch), Thu Sep 5 12:51:39 2002 UTC (21 years, 9 months ago) by markus
Changes since 1.1.1.1: +584 -81 lines
Diff to previous 1.1.1.1 (colored)

import openssl-0.9.7-beta1

Revision 1.9 / (download) - annotate - [select for diffs], Tue May 21 01:49:11 2002 UTC (22 years ago) by beck
Branch: MAIN
Changes since 1.8: +0 -1 lines
Diff to previous 1.8 (colored)

Merge openssl-0.9.7-stable-SNAP-20020519

Revision 1.8 / (download) - annotate - [select for diffs], Wed May 15 02:29:20 2002 UTC (22 years, 1 month ago) by beck
Branch: MAIN
Changes since 1.7: +103 -27 lines
Diff to previous 1.7 (colored)

OpenSSL 0.9.7 stable 2002 05 08 merge

Revision 1.7 / (download) - annotate - [select for diffs], Fri Jun 22 00:03:41 2001 UTC (22 years, 11 months ago) by beck
Branch: MAIN
Changes since 1.6: +2 -0 lines
Diff to previous 1.6 (colored)

openssl-engine-0.9.6a merge

Revision 1.6 / (download) - annotate - [select for diffs], Fri Dec 15 02:58:40 2000 UTC (23 years, 6 months ago) by beck
Branch: MAIN
Changes since 1.5: +85 -83 lines
Diff to previous 1.5 (colored)

openssl-engine-0.9.6 merge

Revision 1.5 / (download) - annotate - [select for diffs], Mon Oct 16 23:49:28 2000 UTC (23 years, 7 months ago) by beck
Branch: MAIN
Changes since 1.4: +1 -0 lines
Diff to previous 1.4 (colored)

fix missing closedir() that could allow apacheSSL to leak fd's,
from netbsd (taca) credited to TAKANO Yuji <takachan@running-dog.net>

Revision 1.4 / (download) - annotate - [select for diffs], Sat Apr 15 06:18:50 2000 UTC (24 years, 2 months ago) by beck
Branch: MAIN
Changes since 1.3: +22 -5 lines
Diff to previous 1.3 (colored)

OpenSSL 0.9.5a merge

Revision 1.3 / (download) - annotate - [select for diffs], Sun Mar 19 11:13:32 2000 UTC (24 years, 2 months ago) by beck
Branch: MAIN
Changes since 1.2: +26 -7 lines
Diff to previous 1.2 (colored)

OpenSSL 0.9.5 merge

*warning* this bumps shared lib minors for libssl and libcrypto from 2.1 to 2.2
if you are using the ssl26 packages for ssh and other things to work you will
need to get new ones (see ~beck/libsslsnap/<arch>) on cvs or ~beck/src-patent.tar.gz on cvs

Revision 1.2 / (download) - annotate - [select for diffs], Wed Sep 29 04:37:29 1999 UTC (24 years, 8 months ago) by beck
Branch: MAIN
Changes since 1.1: +462 -75 lines
Diff to previous 1.1 (colored)

OpenSSL 0.9.4 merge

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Mon Oct 5 20:13:14 1998 UTC (25 years, 8 months ago) by ryker
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

Import of SSLeay-0.9.0b with RSA and IDEA stubbed + OpenBSD build
functionality for shared libs.

Note that routines such as sslv2_init and friends that use RSA will
not work due to lack of RSA in this library.

Needs documentation and help from ports for easy upgrade to full
functionality where legally possible.

Revision 1.1 / (download) - annotate - [select for diffs], Mon Oct 5 20:13:14 1998 UTC (25 years, 8 months ago) by ryker
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.