<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libssl/ssl_ciphers.c, branch OPENBSD_7_9_BASE</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9_BASE</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9_BASE'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2024-07-22T14:47:15+00:00</updated>
<entry>
<title>Use cipher suite values instead of IDs.</title>
<updated>2024-07-22T14:47:15+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-07-22T14:47:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=bad64c687dbea7670efcb08ff393fe641d0e673d'/>
<id>urn:sha1:bad64c687dbea7670efcb08ff393fe641d0e673d</id>
<content type='text'>
OpenSSL has had the concept of cipher IDs, which were a way of working
around overlapping cipher suite values between SSLv2 and SSLv3. Given
that we no longer have to deal with this issue, replace the use of IDs
with cipher suite values. In particular, this means that we can stop
mapping back and forth between the two, simplifying things considerably.

While here, remove the 'valid' member of the SSL_CIPHER. The ssl3_ciphers[]
table is no longer mutable, meaning that ciphers cannot be disabled at
runtime (and we have `#if 0' if we want to do it at compile time).

Clean up the comments and add/update RFC references for cipher suites.

ok tb@
</content>
</entry>
<entry>
<title>Make internal header file names consistent</title>
<updated>2022-11-26T16:08:57+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-11-26T16:08:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=81d98bf600a381a625eb11b39a725b08c0ba547f'/>
<id>urn:sha1:81d98bf600a381a625eb11b39a725b08c0ba547f</id>
<content type='text'>
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 &lt;ssl_locl.h&gt; was fixed manually.

discussed with jsing,
no objection bcook
</content>
</entry>
<entry>
<title>Get rid of SSL_CTX_INTERNAL and SSL_INTERNAL.</title>
<updated>2022-10-02T16:36:42+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-10-02T16:36:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=efde998d3821e41e124a4bfcdf103e506055fc52'/>
<id>urn:sha1:efde998d3821e41e124a4bfcdf103e506055fc52</id>
<content type='text'>
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@
</content>
</entry>
<entry>
<title>Stop using ssl{_ctx,}_security() outside of ssl_seclevel.c</title>
<updated>2022-07-02T16:31:04+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-07-02T16:31:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=274f622e186b69a67b9ccd2ebb48918c3a67ad64'/>
<id>urn:sha1:274f622e186b69a67b9ccd2ebb48918c3a67ad64</id>
<content type='text'>
The API is ugly and we can easily abstract it away. The SSL_SECOP_* stuff
is now confined into ssl_seclevel.c and the rest of the library can make
use of the more straightforward wrappers, which makes it a lot easier on
the eyes.

ok beck jsing
</content>
</entry>
<entry>
<title>Check security level when convertin a cipher list to bytes</title>
<updated>2022-06-29T08:38:01+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-06-29T08:38:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=0894bf73218b0825f1b642b7b79d4623cf001758'/>
<id>urn:sha1:0894bf73218b0825f1b642b7b79d4623cf001758</id>
<content type='text'>
ok beck jsing
</content>
</entry>
<entry>
<title>Switch TLSv1.3 cipher names from AEAD- to OpenSSL's TLS_</title>
<updated>2022-02-05T18:18:18+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-02-05T18:18:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=e5500000382c402276da7446a43a82d0153d2f1d'/>
<id>urn:sha1:e5500000382c402276da7446a43a82d0153d2f1d</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>Bye bye S3I.</title>
<updated>2022-02-05T14:54:10+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-02-05T14:54:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=a463011117e88ea3125fb580b8c6c60d68722651'/>
<id>urn:sha1:a463011117e88ea3125fb580b8c6c60d68722651</id>
<content type='text'>
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@
</content>
</entry>
<entry>
<title>Remove ssl_downgrade_max_version().</title>
<updated>2021-03-11T17:14:47+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2021-03-11T17:14:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=c11ef4b1efb0f7953e1d90d288602c4074797ff5'/>
<id>urn:sha1:c11ef4b1efb0f7953e1d90d288602c4074797ff5</id>
<content type='text'>
Now that we store our maximum TLS version at the start of the handshake,
we can check against that directly.

ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Only use TLS versions internally (rather than both TLS and DTLS versions).</title>
<updated>2021-02-25T17:06:05+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2021-02-25T17:06:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=f31e5e0704240c7403ecbaf41602c921f4ba8eda'/>
<id>urn:sha1:f31e5e0704240c7403ecbaf41602c921f4ba8eda</id>
<content type='text'>
DTLS protocol version numbers are the 1's compliment of human readable TLS
version numbers, which means that newer versions decrease in value and
there is no direct mapping between TLS protocol version numbers and DTLS
protocol version numbers.

Rather than having to deal with this internally, only use TLS versions
internally and map between DTLS and TLS protocol versions when necessary.
Rename functions and variables to use 'tls_version' when they contain a
TLS version (and never a DTLS version).

ok tb@
</content>
</entry>
<entry>
<title>Do not destroy an existing cipher list when ssl_parse_ciphersuites()</title>
<updated>2020-09-15T15:28:38+00:00</updated>
<author>
<name>schwarze</name>
<email></email>
</author>
<published>2020-09-15T15:28:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=042f3af67a1ee71c0530474205bf82a6674bea83'/>
<id>urn:sha1:042f3af67a1ee71c0530474205bf82a6674bea83</id>
<content type='text'>
fails, to match the behaviour of ssl_create_cipher_list().  This also
agrees with the behaviour of SSL_set_ciphersuites(3) in OpenSSL.
Issue found while writing documentation.
OK jsing@
</content>
</entry>
</feed>
