<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openssl/apps/apps.c, branch OpenSSL_1_0_2s</title>
<subtitle>TLS/SSL and crypto library.</subtitle>
<id>http://git.bktus.com/gpgfrontend/openssl/atom?h=OpenSSL_1_0_2s</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/openssl/atom?h=OpenSSL_1_0_2s'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/'/>
<updated>2018-08-14T12:40:34Z</updated>
<entry>
<title>Update copyright year</title>
<updated>2018-08-14T12:40:34Z</updated>
<author>
<name>Matt Caswell</name>
<email>matt@openssl.org</email>
</author>
<published>2018-08-14T12:29:02Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=c24e2f1891c147be3c6e277cf09f2bee486a7812'/>
<id>urn:sha1:c24e2f1891c147be3c6e277cf09f2bee486a7812</id>
<content type='text'>
Reviewed-by: Richard Levitte &lt;levitte@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/6955)
</content>
</entry>
<entry>
<title>apps: when the 'compat' nameopt has been set, leave it be</title>
<updated>2018-05-31T09:02:21Z</updated>
<author>
<name>Richard Levitte</name>
<email>levitte@openssl.org</email>
</author>
<published>2018-05-31T04:51:25Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=af21f71e7c59474271f0c24d58f212fad4032e3a'/>
<id>urn:sha1:af21f71e7c59474271f0c24d58f212fad4032e3a</id>
<content type='text'>
XN_FLAG_COMPAT has a unique property, its zero for value.  This means
it needs special treatment; if it has been set (which can only be
determined indirectly) and set alone (*), no other flags should be
set.

(*) if any other nameopt flag has been set by the user, compatibility
mode is blown away.

Reviewed-by: Matt Caswell &lt;matt@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/6382)

(cherry picked from commit 3190d1dca43ecfd748c06aa06752de06af3768b9)
</content>
</entry>
<entry>
<title>Standardize syntax around sizeof(foo)</title>
<updated>2017-12-08T20:08:43Z</updated>
<author>
<name>Rich Salz</name>
<email>rsalz@openssl.org</email>
</author>
<published>2017-12-08T20:08:43Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=c6738fd208c143939b6bb7f7ac2061c0f5ff3272'/>
<id>urn:sha1:c6738fd208c143939b6bb7f7ac2061c0f5ff3272</id>
<content type='text'>
Reviewed-by: Andy Polyakov &lt;appro@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/4875)
</content>
</entry>
<entry>
<title>Resolve warnings in VC-WIN32 build, which allows to add /WX.</title>
<updated>2017-11-13T10:16:52Z</updated>
<author>
<name>Andy Polyakov</name>
<email>appro@openssl.org</email>
</author>
<published>2017-11-11T15:35:46Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=1bc5c3cc9dd5e553c448d82c256d4af5f37ef1c7'/>
<id>urn:sha1:1bc5c3cc9dd5e553c448d82c256d4af5f37ef1c7</id>
<content type='text'>
It's argued that /WX allows to keep better focus on new code, which
motivates its comeback...

Reviewed-by: Rich Salz &lt;rsalz@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/4718)
</content>
</entry>
<entry>
<title>apps: make setup_engine() and release_engine() available always</title>
<updated>2016-10-20T07:04:00Z</updated>
<author>
<name>Richard Levitte</name>
<email>levitte@openssl.org</email>
</author>
<published>2016-10-19T17:46:38Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=0df1caa77b793d055714f4d78d9aac7a985babb8'/>
<id>urn:sha1:0df1caa77b793d055714f4d78d9aac7a985babb8</id>
<content type='text'>
This removes some #ifndef clutter.

Reviewed-by: Rich Salz &lt;rsalz@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/1644)</content>
</entry>
<entry>
<title>If an engine comes up explicitely, it must also come down explicitely</title>
<updated>2016-10-20T07:04:00Z</updated>
<author>
<name>Richard Levitte</name>
<email>levitte@openssl.org</email>
</author>
<published>2016-09-28T22:40:20Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=aa01b82c69eeb0cfd255174111fc34a7ed5f8429'/>
<id>urn:sha1:aa01b82c69eeb0cfd255174111fc34a7ed5f8429</id>
<content type='text'>
In apps/apps.c, one can set up an engine with setup_engine().
However, we freed the structural reference immediately, which means
that for engines that don't already have a structural reference
somewhere else (because it has registered at least one cipher or digest
algorithm method, and therefore gets a functional reference through the
ENGINE_set_default() call), we end up returning an invalid reference.

Instead, the function release_engine() is added, and called at the end
of the routines that call setup_engine().

Originally, the ENGINE API wasn't designed for this to happen, an
engine had to register at least one algorithm method, and was
especially expected to register the algorithms corresponding to the
key types that could be stored and hidden in hardware.  However, it
turns out that some engines will not register those algorithms with
the ENGINE_set_{algo}, ENGINE_set_cipher or ENGINE_set_digest
functions, as they only want the methods to be used for keys, not as
general crypto accelerator methods.  That may cause ENGINE_set_default()
to do nothing, and no functional reference is therefore made, leading
to a premature deallocation of the engine and it thereby becoming
unavailable when trying to fetch a key.

Reviewed-by: Rich Salz &lt;rsalz@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/1644)</content>
</entry>
<entry>
<title>apps/apps.c: initialize and de-initialize engine around key loading</title>
<updated>2016-09-28T20:00:26Z</updated>
<author>
<name>Richard Levitte</name>
<email>levitte@openssl.org</email>
</author>
<published>2016-09-28T19:28:00Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=53a71b7429a4315f7761bea1be20a6d0b9c9a502'/>
<id>urn:sha1:53a71b7429a4315f7761bea1be20a6d0b9c9a502</id>
<content type='text'>
Before loading a key from an engine, it may need to be initialized.
When done loading the key, we must de-initialize the engine.
(if the engine is already initialized somehow, only the reference
counter will be incremented then decremented)

Reviewed-by: Stephen Henson &lt;steve@openssl.org&gt;
(cherry picked from commit 49e476a5382602d0bad1139d6f1f66ddbc7959d6)
</content>
</entry>
<entry>
<title>Revert "Call ENGINE_init() before trying to use keys from engine"</title>
<updated>2016-09-28T18:39:32Z</updated>
<author>
<name>Rich Salz</name>
<email>rsalz@openssl.org</email>
</author>
<published>2016-09-28T18:39:32Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=a269e5f09a6e8f5b7a1f5ab92a90a41e61631e74'/>
<id>urn:sha1:a269e5f09a6e8f5b7a1f5ab92a90a41e61631e74</id>
<content type='text'>
This reverts commit 4badd2b3c29c2c6c551c737c07a429a53d9d1a0d.
This fails to call ENGINE_finish; an alternate fix is coming.

Reviewed-by: Dr. Stephen Henson &lt;steve@openssl.org&gt;
</content>
</entry>
<entry>
<title>Call ENGINE_init() before trying to use keys from engine</title>
<updated>2016-09-28T13:34:20Z</updated>
<author>
<name>David Woodhouse</name>
<email>David.Woodhouse@intel.com</email>
</author>
<published>2016-09-28T13:31:22Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=4badd2b3c29c2c6c551c737c07a429a53d9d1a0d'/>
<id>urn:sha1:4badd2b3c29c2c6c551c737c07a429a53d9d1a0d</id>
<content type='text'>
Things like 'openssl s_client' only ever worked with keys from an engine
which provided a default generic method for some key type — because it
called ENGINE_set_default() and that ended up being an implicit
initialisation and functional refcount.

But an engine which doesn't provide generic methods doesn't get
initialised, and then when you try to use it you get an error:

cannot load client certificate private key file from engine
140688147056384:error:26096075:engine routines:ENGINE_load_private_key:not initialised:crypto/engine/eng_pkey.c:66:
unable to load client certificate private key file

cf. https://github.com/OpenSC/libp11/issues/107 (in which we discover
that engine_pkcs11 *used* to provide generic methods that OpenSSL would
try to use for ephemeral DH keys when negotiating ECDHE cipher suites in
TLS, and that didn't work out very well.)

Reviewed-by: Richard Levitte &lt;levitte@openssl.org&gt;
Reviewed-by: Rich Salz &lt;rsalz@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/1640)</content>
</entry>
<entry>
<title>apps/apps.c: include sys/socket.h to declare recv()</title>
<updated>2016-09-21T14:21:08Z</updated>
<author>
<name>Richard Levitte</name>
<email>levitte@openssl.org</email>
</author>
<published>2016-09-20T16:43:24Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=9583e4166d02e160873daaaceb2f8dfe62e49659'/>
<id>urn:sha1:9583e4166d02e160873daaaceb2f8dfe62e49659</id>
<content type='text'>
Reviewed-by: Tim Hudson &lt;tjh@openssl.org&gt;
(cherry picked from commit a19228b7f4fc6fcb49713455b3caedbc24fb0b01)
</content>
</entry>
</feed>
