<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/src/streams/openssl.c, branch ethomson/git_obj</title>
<subtitle>github.com: libgit2/libgit2.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/'/>
<entry>
<title>http: remove cURL</title>
<updated>2018-11-28T15:46:57+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2018-10-29T10:04:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=21142c5a61fca0d44cbf51824dbe28f6324229e8'/>
<id>21142c5a61fca0d44cbf51824dbe28f6324229e8</id>
<content type='text'>
We previously used cURL to support HTTP proxies.  Now that we've added
this support natively, we can remove the curl dependency.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We previously used cURL to support HTTP proxies.  Now that we've added
this support natively, we can remove the curl dependency.
</pre>
</div>
</content>
</entry>
<entry>
<title>streams: remove unused tls functions</title>
<updated>2018-11-28T15:46:57+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2018-10-29T08:59:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=2878ad08316155bfaf7b2d7b3204aece13c9936a'/>
<id>2878ad08316155bfaf7b2d7b3204aece13c9936a</id>
<content type='text'>
The implementations of git_openssl_stream_new and
git_mbedtls_stream_new have callers protected by #ifdefs and
are never called unless compiled in.  There's no need for a
dummy implementation.  Remove them.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The implementations of git_openssl_stream_new and
git_mbedtls_stream_new have callers protected by #ifdefs and
are never called unless compiled in.  There's no need for a
dummy implementation.  Remove them.
</pre>
</div>
</content>
</entry>
<entry>
<title>tls: introduce a wrap function</title>
<updated>2018-11-28T15:46:57+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2018-10-25T07:49:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=43b592ac84dbd3d649022ff9503f00ecc83d5278'/>
<id>43b592ac84dbd3d649022ff9503f00ecc83d5278</id>
<content type='text'>
Introduce `git_tls_stream_wrap` which will take an existing `stream`
with an already connected socket and begin speaking TLS on top of it.
This is useful if you've built a connection to a proxy server and you
wish to begin CONNECT over it to tunnel a TLS connection.

Also update the pluggable TLS stream layer so that it can accept a
registration structure that provides an `init` and `wrap` function,
instead of a single initialization function.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduce `git_tls_stream_wrap` which will take an existing `stream`
with an already connected socket and begin speaking TLS on top of it.
This is useful if you've built a connection to a proxy server and you
wish to begin CONNECT over it to tunnel a TLS connection.

Also update the pluggable TLS stream layer so that it can accept a
registration structure that provides an `init` and `wrap` function,
instead of a single initialization function.
</pre>
</div>
</content>
</entry>
<entry>
<title>openssl: only say we're connected if the connection succeeded</title>
<updated>2018-11-01T04:04:29+00:00</updated>
<author>
<name>Etienne Samson</name>
<email>samson.etienne@gmail.com</email>
</author>
<published>2018-08-28T23:57:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=03994912795f1a6d2bd560e0bce5af64b9c0dee2'/>
<id>03994912795f1a6d2bd560e0bce5af64b9c0dee2</id>
<content type='text'>
ssl_close uses this boolean to know if SSL_shutdown should be called.
It turns out OpenSSL auto-shutdowns on failure, so if the call to
SSL_connect fails, it will complain about "shutdown while in init",
trampling the original error.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ssl_close uses this boolean to know if SSL_shutdown should be called.
It turns out OpenSSL auto-shutdowns on failure, so if the call to
SSL_connect fails, it will complain about "shutdown while in init",
trampling the original error.
</pre>
</div>
</content>
</entry>
<entry>
<title>openssl: set the error class to GITERR_SSL</title>
<updated>2018-11-01T04:04:14+00:00</updated>
<author>
<name>Etienne Samson</name>
<email>samson.etienne@gmail.com</email>
</author>
<published>2018-08-28T23:57:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=caee0a6629d95669400bf6e64f64b81e5aebaa92'/>
<id>caee0a6629d95669400bf6e64f64b81e5aebaa92</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>streams: report OpenSSL errors if global init fails</title>
<updated>2018-07-06T08:41:22+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2018-06-29T11:35:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=75395c871d24027da4b4fe8e1532931db018aa50'/>
<id>75395c871d24027da4b4fe8e1532931db018aa50</id>
<content type='text'>
In case when the global initialization of the OpenSSL stream fails, the
user is left without any hint as to what went wrong as we do not provide
any error message at all. This commit refactors the init function to
have a common error path, which now also sets an error message including
the error string provided by OpenSSL.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In case when the global initialization of the OpenSSL stream fails, the
user is left without any hint as to what went wrong as we do not provide
any error message at all. This commit refactors the init function to
have a common error path, which now also sets an error message including
the error string provided by OpenSSL.
</pre>
</div>
</content>
</entry>
<entry>
<title>streams: openssl: Handle error in SSL_CTX_new</title>
<updated>2018-06-25T16:12:29+00:00</updated>
<author>
<name>Nikita Leshenko</name>
<email>nikita@leshenko.net</email>
</author>
<published>2018-06-25T14:30:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=05d89e728bfa8e3370b077888d8841ce59ee9bab'/>
<id>05d89e728bfa8e3370b077888d8841ce59ee9bab</id>
<content type='text'>
SIGSEGV otherwise...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SIGSEGV otherwise...
</pre>
</div>
</content>
</entry>
<entry>
<title>streams: openssl: add missing check on OPENSSL_LEGACY_API</title>
<updated>2018-05-30T00:15:09+00:00</updated>
<author>
<name>Quentin Minster</name>
<email>laomaiweng@minster.io</email>
</author>
<published>2018-05-30T00:15:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=b1cab70b2c85c77cb7214fac86ae498766337ce1'/>
<id>b1cab70b2c85c77cb7214fac86ae498766337ce1</id>
<content type='text'>
The `CRYPTO_THREADID` type is no longer available in OpenSSL ≥ 1.1.0 with deprecated features disabled, and causes build failures. Since the `threadid_cb()` function is only ever called by `git_openssl_set_locking()` when `defined(OPENSSL_LEGACY_API)`, only define it then.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The `CRYPTO_THREADID` type is no longer available in OpenSSL ≥ 1.1.0 with deprecated features disabled, and causes build failures. Since the `threadid_cb()` function is only ever called by `git_openssl_set_locking()` when `defined(OPENSSL_LEGACY_API)`, only define it then.</pre>
</div>
</content>
</entry>
<entry>
<title>streams: openssl: fix bogus warning on unused parameter</title>
<updated>2018-05-04T13:25:11+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2018-05-04T13:25:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=ba5e39ac92addf5d2183ac4ceb66ab52c59c017b'/>
<id>ba5e39ac92addf5d2183ac4ceb66ab52c59c017b</id>
<content type='text'>
Our provided callback function `threadid_cb(CRYPTO_THREADID
*threadid)` sets up a unique thread ID by asking pthread for the
current thread ID.  Since openssl version 1.1,
`CRYPTO_THREADID_set_numeric` is simply a no-op macro, leaving
the `threadid` argument unused after the preprocessor has
processed the macro. GCC does not account for that situation and
will thus complain about `threadid` being unused.

Silence this warning by using `GIT_UNUSED(threadid)`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Our provided callback function `threadid_cb(CRYPTO_THREADID
*threadid)` sets up a unique thread ID by asking pthread for the
current thread ID.  Since openssl version 1.1,
`CRYPTO_THREADID_set_numeric` is simply a no-op macro, leaving
the `threadid` argument unused after the preprocessor has
processed the macro. GCC does not account for that situation and
will thus complain about `threadid` being unused.

Silence this warning by using `GIT_UNUSED(threadid)`.
</pre>
</div>
</content>
</entry>
<entry>
<title>openssl: remove leftover #ifdef</title>
<updated>2018-04-30T08:32:23+00:00</updated>
<author>
<name>Etienne Samson</name>
<email>samson.etienne@gmail.com</email>
</author>
<published>2018-02-08T22:50:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=173a0375a8eec02c1b40e73187347ca958e42b84'/>
<id>173a0375a8eec02c1b40e73187347ca958e42b84</id>
<content type='text'>
This is the "OpenSSL available" global init function after all</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is the "OpenSSL available" global init function after all</pre>
</div>
</content>
</entry>
</feed>
