<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/ts/ts.h, branch OPENBSD_7_9</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2024-03-26T00:39:22+00:00</updated>
<entry>
<title>Change ts to only support one second precision.</title>
<updated>2024-03-26T00:39:22+00:00</updated>
<author>
<name>beck</name>
<email></email>
</author>
<published>2024-03-26T00:39:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=3604a06d3b1412f3b3b3959a358b2c8e2a07836a'/>
<id>urn:sha1:3604a06d3b1412f3b3b3959a358b2c8e2a07836a</id>
<content type='text'>
RFC 3631 allows for sub second ASN1 GENERALIZED times, if you
choose to support sub second time precison. It does not
indicate that an implementation must support them.

Supporting sub second timestamps is just silly and unrealistic,
so set our maximum to one second of precision. We then simplify
this code by removing some nasty eye-bleed that made artisinally
hand crafted strings and jammed them into an ASN1_GENERALIZEDTIME.

ok tb@, jsing@, with one second precision tested by kn@
</content>
</entry>
<entry>
<title>Unifdef OPENSSL_NO_ENGINE in libcrypto</title>
<updated>2023-11-19T15:46:10+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-11-19T15:46:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=593d97e74cc873d99aced677883cf55625efe62d'/>
<id>urn:sha1:593d97e74cc873d99aced677883cf55625efe62d</id>
<content type='text'>
This is mechanical apart from a few manual edits to avoid doubled empty
lines.

ok jsing
</content>
</entry>
<entry>
<title>Set OPENSSL_NO_ENGINE, remove engine code</title>
<updated>2023-07-28T09:53:55+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-07-28T09:53:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b5382a6334a2ec0fe73ab6c49ebefb47af93329c'/>
<id>urn:sha1:b5382a6334a2ec0fe73ab6c49ebefb47af93329c</id>
<content type='text'>
ENGINE was special. It's horrible code even by the low standards of this
library. Some ports may now try to use the stubs which will fail, but
the fallout from this should be minimal. Of course there are various
language bindings that expose the ENGINE API. OpenSSL 3 disabling ENGINE
by default will likely help fixing this at some point.

ok jsing
</content>
</entry>
<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>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>
