<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib, branch libressl-v3.2.0</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=libressl-v3.2.0</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=libressl-v3.2.0'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2020-06-01T01:11:52+00:00</updated>
<entry>
<title>bump to LibreSSL 3.2.1</title>
<updated>2020-06-01T01:11:52+00:00</updated>
<author>
<name>bcook</name>
<email></email>
</author>
<published>2020-06-01T01:11:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=a530903ba77b59c83670ee1290660474960bbf06'/>
<id>urn:sha1:a530903ba77b59c83670ee1290660474960bbf06</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Replace ssl_max_server_version() with ssl_downgrade_max_version()</title>
<updated>2020-05-31T18:03:32+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-05-31T18:03:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=354a3e8ef8994750d21e12eda969485e19c89844'/>
<id>urn:sha1:354a3e8ef8994750d21e12eda969485e19c89844</id>
<content type='text'>
Replace the only occurrence of ssl_max_server_version() with a call
to ssl_downgrade_max_version() and remove ssl_max_server_version().

ok beck@ tb@
</content>
</entry>
<entry>
<title>When building a chain look for non-expired certificates first.</title>
<updated>2020-05-31T17:23:39+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-05-31T17:23:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b58339bdd340fd191f9c64b87b63329517526f62'/>
<id>urn:sha1:b58339bdd340fd191f9c64b87b63329517526f62</id>
<content type='text'>
Currently, when building a certificate chain we look up an issuer and if
it is the only issuer certificate available we still use it even if it has
expired. When X509_V_FLAG_TRUSTED_FIRST is not in use, untrusted
certificates are processed first and if one of these happens to be expired
it will be used to build the chain, even if there is another non-expired
option in the trusted store.

Rework this code so that we first look for a non-expired untrusted
certificate. If one does not exist then we take a look in the trusted
store to see if we would be able to build the chain and only if there is
not, do we then look for an expired untrusted certificate.

This makes certificate validation possible for various sites that are
serving expired AddTrust certificates.

Issue reported by Christian Heimes via GitHub.

ok beck@ tb@
</content>
</entry>
<entry>
<title>Correct downgrade sentinels when a version pinned method is in use.</title>
<updated>2020-05-31T16:36:35+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-05-31T16:36:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=059c16b3ca987ee98bd63a9cf4d0c58bfc02334e'/>
<id>urn:sha1:059c16b3ca987ee98bd63a9cf4d0c58bfc02334e</id>
<content type='text'>
Previously only the enabled protocol versions were considered, however we
also have to consider the method in use which may be version pinned.

Found the hard way by danj@ with haproxy and force-tlsv12.

ok beck@ inoguchi@ tb@
</content>
</entry>
<entry>
<title>Improve server certificate selection for TLSv1.3.</title>
<updated>2020-05-29T18:00:10+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-05-29T18:00:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=d1a8b3df6a3db04aefa03855f802f5bb704acb17'/>
<id>urn:sha1:d1a8b3df6a3db04aefa03855f802f5bb704acb17</id>
<content type='text'>
This allows an EC certificate to be selected and used, if the client
sigalgs would allow it.

With feedback from tb@

ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Handle the case where we receive a valid 0 byte application data record.</title>
<updated>2020-05-29T17:54:58+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-05-29T17:54:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=7070918d4e1d615c3ccbeeb9ec2179558022a939'/>
<id>urn:sha1:7070918d4e1d615c3ccbeeb9ec2179558022a939</id>
<content type='text'>
In this situation we cannot return zero bytes, as that signals EOF. Rather
we need to return TLS13_IO_WANT_POLLIN so tell the caller to call us again,
at which point we'll pull up the next record.

ok tb@
</content>
</entry>
<entry>
<title>Wire up the servername callback in the TLSv1.3 server.</title>
<updated>2020-05-29T17:47:30+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-05-29T17:47:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=e0e84f310956950abc8c5d9f225578b3f6945ee9'/>
<id>urn:sha1:e0e84f310956950abc8c5d9f225578b3f6945ee9</id>
<content type='text'>
This makes SNI work correctly with TLSv1.3.

Found the hard way by danj@, gonzalo@ and others.

ok beck@ inoguchi@ tb@
</content>
</entry>
<entry>
<title>Mop up servername_done, which is unused.</title>
<updated>2020-05-29T17:39:42+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-05-29T17:39:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=0fa647cafcb45ea07c768d172165a3a041e8c58f'/>
<id>urn:sha1:0fa647cafcb45ea07c768d172165a3a041e8c58f</id>
<content type='text'>
ok beck@ inoguchi@ tb@
</content>
</entry>
<entry>
<title>This patch fixes one bug and one instance of undesirable behaviour.</title>
<updated>2020-05-27T22:25:09+00:00</updated>
<author>
<name>schwarze</name>
<email></email>
</author>
<published>2020-05-27T22:25:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=865d79a51cfbda059a32d59a45f9a8981dc6b7ff'/>
<id>urn:sha1:865d79a51cfbda059a32d59a45f9a8981dc6b7ff</id>
<content type='text'>
The bug, present since 4.4BSD, was that a trailing dash in an option
group, when the dash is not permitted as an option letter, resulted
in the whole option group being returned as an argument, even though
the previous option in the group was already parsed as an option:
OPTS=abc ./getopt-test -a- -c arg  ===&gt;&gt;  OPT(a)ARG(-a-)ARG(-c)ARG(arg).
Instead, treat the dash as an invalid option and continue parsing
options:  ===&gt;&gt;  OPT(a)ERR(?-)OPT(c)ARG(arg).

The undesirable behaviour was that allowing the dash as an option
letter only allowed isolated dashes ("-") and trailing dashes in
groups ("-a-"), but neither middle dashes in groups ("-a-b"), even
though that already partially worked in 4.4BSD, nor leading dashes
in groups ("--a"), even though that works on all other BSDs and on
glibc.  Also, while POSIX does not require that the dash can be
used as an option letter at all, arguably, it encourages that letters
either be fully supported or not supported at all.  It is dubious
whether supporting an option letter in some positions but not in
others can be considered conforming.

This patch makes OpenBSD behaviour identical to FreeBSD and NetBSD,
improves compatibility with glibc (except that glibc does not support
isolated "-"), improves compatibility with DragonFly (except that
DragonFly is buggy when the dash option letter can take an optional
argument but that argument is not present), improves compatibility
with Illumos and Solaris 11 (except those do not support "-" and
mishandle "--a"), and restores 4.4BSD behaviour for "-a-b".  In no
respect i'm aware of is compatibility with any other systems reduced.

For the full rationale, see my mail to tech@
on 30 Mar 2020 14:26:41 +0200.

Part of the problem was originally reported by an anonymous coward
on tech@ on 12 Mar 2020 03:40:24 +0200, additional analysis was
contributed by martijn@, and then the OP sent the final version of
the patch i'm now committing on 17 Mar 2020 19:17:56 +0200.

No licensing problem here because after the commit, the file does
not contain a single word written by the OP.  Also, the OP told me
in private mail that he intends to publish the patch under the ISC
license already contained in the file and that he wishes to be known
by the pseudonym "0xef967c36".

OK martijn@, and no objection when shown on tech@,
but commit delayed to stay clear of the release.
</content>
</entry>
<entry>
<title>document PKCS7_dataFinal(3);</title>
<updated>2020-05-27T12:00:44+00:00</updated>
<author>
<name>schwarze</name>
<email></email>
</author>
<published>2020-05-27T12:00:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=f44dc3457b2a081f0f602f66a12246e4804f80b3'/>
<id>urn:sha1:f44dc3457b2a081f0f602f66a12246e4804f80b3</id>
<content type='text'>
tweak and OK tb@
</content>
</entry>
</feed>
