<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/ts, branch libressl-v3.8.0</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=libressl-v3.8.0</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=libressl-v3.8.0'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2023-04-25T17:52:54+00:00</updated>
<entry>
<title>Remove TS_VERIFY_CTX_init()</title>
<updated>2023-04-25T17:52:54+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-04-25T17:52:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=ad8e5cf00f379430d2f0b02a2a3f2d39ad4093cb'/>
<id>urn:sha1:ad8e5cf00f379430d2f0b02a2a3f2d39ad4093cb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Mark TS_VERIFY_CTX_init() for removal</title>
<updated>2023-04-16T08:31:54+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-04-16T08:31:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=37121a865a4029aebfae0ca539a8796f265352f6'/>
<id>urn:sha1:37121a865a4029aebfae0ca539a8796f265352f6</id>
<content type='text'>
With opaque TS_VERIFY_CTX the init function dangerous and useless.
It will be dropped.

ok jsing
</content>
</entry>
<entry>
<title>Inline only use of TS_VERIFY_CTX_init()</title>
<updated>2023-03-31T17:47:39+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-03-31T17:47:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=2a8db15bfc3b623ee9b6183f1511ebe2cfc47335'/>
<id>urn:sha1:2a8db15bfc3b623ee9b6183f1511ebe2cfc47335</id>
<content type='text'>
Since TS_VERIFY_CTX is now opaque, the only thing TS_VERIFY_CTX_init()
is good for outside the library is memory leaks. Inside the library it's
also useless, since as a much more familiar name is memset(). It will soon
be able to join all the other nonsense that should never have leaked out of
this library.
</content>
</entry>
<entry>
<title>Make header guards of internal headers consistent</title>
<updated>2022-11-26T17:23:18+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-11-26T17:23:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=3a1908508efa61f3f77ac8036694af2f920df947'/>
<id>urn:sha1:3a1908508efa61f3f77ac8036694af2f920df947</id>
<content type='text'>
Not all of them, only those that didn't leak into a public header...
Yes.
</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>Make structs in ts.h opaque</title>
<updated>2022-09-11T17:31:19+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-09-11T17:31:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b7fb781bef534398c94a8cbc267fb62adea0af0c'/>
<id>urn:sha1:b7fb781bef534398c94a8cbc267fb62adea0af0c</id>
<content type='text'>
ok jsing
</content>
</entry>
<entry>
<title>Prepare to resurrect TS_RESP_CTX_set_time_cb()</title>
<updated>2022-07-24T20:02:04+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-07-24T20:02:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=85f79c66f0901408d7c8da4194b0fbf892a490b6'/>
<id>urn:sha1:85f79c66f0901408d7c8da4194b0fbf892a490b6</id>
<content type='text'>
This was removed shortly after the fork since TS is not 2038-ready
and since there were no consumers of this API. Now there are consumers
and they add it themselves if it's missing from libcrypto. This will no
longer be possible with opaque TS structs, so begrudgingly add it back.

ok jsing kn
</content>
</entry>
<entry>
<title>Prepare to provide TS_VERIFY_CTX accessors</title>
<updated>2022-07-24T19:54:46+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-07-24T19:54:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=d8527f944e5dcafa2687d0ebff33a09f762af6e8'/>
<id>urn:sha1:d8527f944e5dcafa2687d0ebff33a09f762af6e8</id>
<content type='text'>
The setters make no sense since they do not free the old members and
return what was passed in instead of returning the old struct member
so that the caller has a chance of freeing them. This has the side
effect that calling a setter a second time will likely result in a leak.

TS_VERIFY_CTX_set_imprint() was "fixed" upstream by adding a free() but
the other three setters were missed since discussing the contributor's
CLA was more important. Also missed was that adding frees will result in
double frees: careful consumers like openssl/ruby have workarounds for
the strange existing semantics.

Add a compat #define for TS_VERIF_CTS_set_certs() that made it into the
public API with a typo.

A good illustration of the amount of thought and care that went into
the OpenSSL 1.1 API by both the implementers and the reviewers.
Amazing job overall.

We will be stuck with this nonsense for a long time.

ok jsing kn
</content>
</entry>
<entry>
<title>Prepare to provide various TS_STATUS_INFO accessors</title>
<updated>2022-07-24T19:25:36+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-07-24T19:25:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=339c448fd0ceaadd74966d59d053fd65f3516eb5'/>
<id>urn:sha1:339c448fd0ceaadd74966d59d053fd65f3516eb5</id>
<content type='text'>
This adds TS_STATUS_get0_{failure_info,text,status}() as well as
TS_STATUS_INFO_set_status(). These will be needed by Ruby and openssl(1)
when we make the structs in ts.h opaque.

ok kn jsing
</content>
</entry>
<entry>
<title>Start making ts opaque</title>
<updated>2022-07-24T08:16:47+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-07-24T08:16:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=2fafe1cde355b3cfbb3b49badb99d5597b3f3fa5'/>
<id>urn:sha1:2fafe1cde355b3cfbb3b49badb99d5597b3f3fa5</id>
<content type='text'>
Move the not yet exposed EssCertIDv2 struct internals to ts_local.h and move
the ASN.1 function prototypes that we don't want to expose with them.

Include ts_local.h where necessary or where it will be needed soon.

ok jsing
</content>
</entry>
</feed>
