<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/methods, branch 1.5_alpha4</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.5_alpha4</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.5_alpha4'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2017-06-30T15:20:21Z</updated>
<entry>
<title>TLS support: Error out on unsupported curl options</title>
<updated>2017-06-30T15:20:21Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-06-30T15:20:21Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6a0e7acbf01e22665d89a9c6556f3a8220a78756'/>
<id>urn:sha1:6a0e7acbf01e22665d89a9c6556f3a8220a78756</id>
<content type='text'>
Silently ignoring the options might be a security issue,
so produce an error instead.
</content>
</entry>
<entry>
<title>Improve closing the TLS connection</title>
<updated>2017-06-30T15:12:11Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-06-30T15:12:11Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8f5db6b513b90b6ee5b625131a25b146fa912e0d'/>
<id>urn:sha1:8f5db6b513b90b6ee5b625131a25b146fa912e0d</id>
<content type='text'>
If gnutls_session_bye() exited with an error, we never closed
the underlying file descriptor, causing the method to think the
connection was still open. This caused problems especially in
test-partial-file-support where we checked that a "complete"
file and an incomplete file work. The first GET returns a 416
with Connection: close, and the next GET request then accidentally
reads the body of the 416 as the header for its own request.
</content>
</entry>
<entry>
<title>Switch to 'http' as the default https method</title>
<updated>2017-06-30T14:33:09Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-06-30T14:33:09Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c6a428e4d17b408c2701def5daa46ca950948980'/>
<id>urn:sha1:c6a428e4d17b408c2701def5daa46ca950948980</id>
<content type='text'>
The old curl based method is still available as 'curl',
'curl+http', and 'curl+https'.
</content>
</entry>
<entry>
<title>http: Add support for https:// proxies</title>
<updated>2017-06-30T13:00:41Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-06-30T11:52:18Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=bafebf1afc59db7df7e0148b723f3f361770272c'/>
<id>urn:sha1:bafebf1afc59db7df7e0148b723f3f361770272c</id>
<content type='text'>
HTTPS proxies just require unwrapping the TLS layer at the proxy
connection, that's easy, and of course sending proxy-specific
headers that are sent on "http" proxies.
</content>
</entry>
<entry>
<title>http: Add support for CONNECT proxying to HTTPS locations</title>
<updated>2017-06-30T13:00:41Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-06-30T11:24:04Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=64207dad49f1c803d2b004ccf8fc6432789a8cc2'/>
<id>urn:sha1:64207dad49f1c803d2b004ccf8fc6432789a8cc2</id>
<content type='text'>
Proxying HTTPS traffic requires the proxy providing the
CONNECT method. This implements the client side of it,
although it is a bit hacky.

HTTP connect is a normal HTTP CONNECT request, followed
by a normal HTTP response, just that the body of the
response is the TCP stream of the target host.

We use a special wrapper in case there are data bytes
in the header packets - in that case, the bytes are
stored in a buffer and the buffer will be drained first,
afterwards the connection continues directly with the
TCP stream (with one more vcall).

Also: Do not send full URI to https destinations when proxying,
as we are directly interfacing with the destination data stream.
</content>
</entry>
<entry>
<title>Allow running the TLS stack on any lower connection</title>
<updated>2017-06-30T12:57:54Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-06-30T11:51:32Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=4b1d19fe5619ef46c952ca84531759a981741482'/>
<id>urn:sha1:4b1d19fe5619ef46c952ca84531759a981741482</id>
<content type='text'>
This is especially needed if we use an HTTPS proxy to CONNECT
to an HTTPS URI, as we run TLS-inside-TLS then.
</content>
</entry>
<entry>
<title>Reset failure reason when connection was successful</title>
<updated>2017-06-30T09:05:48Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-06-30T09:02:54Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=d3a70c3e5ae68a0e5a3d4667dd1d0fc0887e6263'/>
<id>urn:sha1:d3a70c3e5ae68a0e5a3d4667dd1d0fc0887e6263</id>
<content type='text'>
When APT was trying multiple addresses, any later error
somewhere else would be reported with ConnectionRefused
or ConnectionTimedOut as the FailReason because that
was set by early connect attempts. This causes APT to
handle the failures differently, leading to some weirdly
breaking test cases (like the changed one).

Add debugging to the previously failing test case so
we can find out when something goes wrong there again.
</content>
</entry>
<entry>
<title>Don't read CaInfo if not specified (missing else)</title>
<updated>2017-06-30T07:46:29Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-06-30T07:46:29Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=425e2dff0e4013edac6663a34a6359c98f4e8477'/>
<id>urn:sha1:425e2dff0e4013edac6663a34a6359c98f4e8477</id>
<content type='text'>
This fixes a regression from ~alpha2.

Closes: #866559
Gbp-Dch: Full
</content>
</entry>
<entry>
<title>http: Only use system CA store if CaInfo is not set</title>
<updated>2017-06-29T14:12:40Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-06-29T13:30:12Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=58a1a72988e9280343821243217c1fc7d5ddea46'/>
<id>urn:sha1:58a1a72988e9280343821243217c1fc7d5ddea46</id>
<content type='text'>
It turns out that curl only sets the system trust store if
the CaInfo option is not set, so let's do the same here.
</content>
</entry>
<entry>
<title>Improve error message if system CA store is empty</title>
<updated>2017-06-29T10:54:30Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-06-29T10:47:55Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=5e9c1b36764109ab13232188892730c326fb41e8'/>
<id>urn:sha1:5e9c1b36764109ab13232188892730c326fb41e8</id>
<content type='text'>
Tell the user to install ca-certificates.

Closes: #866377
</content>
</entry>
</feed>
