<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/methods/basehttp.cc, branch 2.3.4</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.3.4</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.3.4'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2021-04-13T14:00:41Z</updated>
<entry>
<title>Fix downloads of unsized files that are largest in pipeline</title>
<updated>2021-04-13T14:00:41Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-04-09T16:11:02Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=27a4fb3a9ac67a13ed516c75feefdc1fd426520a'/>
<id>urn:sha1:27a4fb3a9ac67a13ed516c75feefdc1fd426520a</id>
<content type='text'>
The maximum request size is accidentally set to any sized file,
so if an unsized file is present, and it turns out to be larger
than the maximum size we set, we'd error out when checking if
its size is smaller than the maximum request size.

LP: #1921626
</content>
</entry>
<entry>
<title>Ensure HTTP status code text has sensible content</title>
<updated>2021-02-04T10:00:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-06-28T18:59:27Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3e53dbbe758a4e2da378ebf0296d8105d4a5804c'/>
<id>urn:sha1:3e53dbbe758a4e2da378ebf0296d8105d4a5804c</id>
<content type='text'>
We use the code in error messages, so at least for that edgecase we
should ensure that it has sensible content. Note that the acquire
system aborts on non-sensible message content in SendMessage, so you
can't really exploit this.
</content>
</entry>
<entry>
<title>Replace PrintStatus with SendMessage usage</title>
<updated>2021-02-04T10:00:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-06-28T18:52:09Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=96dc40b19623621a9cc2c5541fb3adbbceb553b1'/>
<id>urn:sha1:96dc40b19623621a9cc2c5541fb3adbbceb553b1</id>
<content type='text'>
varg API is a nightmare as the symbols seems different on ever other
arch, but more importantly SendMessage does a few checks on the content
of the message and it is all outputted via C++ iostreams and not mixed
in FILE* which is handy for overriding the streams.
</content>
</entry>
<entry>
<title>Implement encoded URI handling in all methods</title>
<updated>2020-12-18T18:31:19Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-07-09T22:02:25Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=97d6c3b2d05fe0d965657197adf56cc78f9edf81'/>
<id>urn:sha1:97d6c3b2d05fe0d965657197adf56cc78f9edf81</id>
<content type='text'>
Every method opts in to getting the encoded URI passed along while
keeping compat in case we are operated by an older acquire system.

Effectively this is just a change for the http-based methods as the
others just decode the URI as they work with files directly.
</content>
</entry>
<entry>
<title>Do not retry on failure to fetch</title>
<updated>2020-08-10T09:39:30Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-08-10T09:39:30Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=fa375493c5a4ed9c10d4e5257ac82c6e687862d3'/>
<id>urn:sha1:fa375493c5a4ed9c10d4e5257ac82c6e687862d3</id>
<content type='text'>
While we fixed the infinite retrying earlier, we still have
problems if we retry in the middle of a transfer, we might
end up resuming downloads that are already done and read
more than we should (removing the IsOpen() check so that
it always retries makes test-ubuntu-bug-1098738-apt-get-source-md5sum
fail with wrong file sizes).

I think the retrying was added to fixup pipelining messups,
but we have better solutions now, so let's get rid of it,
until we have implemented this properly.
</content>
</entry>
<entry>
<title>basehttp: Correctly handle non-transient failure from RunData()</title>
<updated>2020-08-05T12:15:49Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-08-05T12:14:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=4b439208203cd584e158fd240a3a4a72d1248099'/>
<id>urn:sha1:4b439208203cd584e158fd240a3a4a72d1248099</id>
<content type='text'>
When we failed after a retry, we only communicated failure as
transient, but this seems wrong, especially given that the code
now always triggers a retry when Die() is called, as Die() closes
the server fd.

Instead, remove the error handling in that code path, and reuse
the existing fatal-ish error code handling path.
</content>
</entry>
<entry>
<title>http: Fix infinite loop on read errors</title>
<updated>2020-08-05T09:08:16Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-08-05T09:04:45Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ded246bb61b9b0f4ca658be45c1691844e1dc122'/>
<id>urn:sha1:ded246bb61b9b0f4ca658be45c1691844e1dc122</id>
<content type='text'>
If there was a transient error and the server fd was closed, the
code would infinitely retry - it never reached FailCounter &gt;= 2
because it falls through to the end of the loop, which sets
FailCounter = 0.

Add a continue just like the DNS rotation code has, so that the
retry actually fails after 2 attempts.

Also rework the error logic to forward the actual error message.
</content>
</entry>
<entry>
<title>Apply various suggestions by cppcheck</title>
<updated>2019-07-08T13:51:17Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2019-07-08T13:48:59Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=2b734a7ec429825c7007c1093883229e069d36c7'/>
<id>urn:sha1:2b734a7ec429825c7007c1093883229e069d36c7</id>
<content type='text'>
Reported-By: cppcheck
</content>
</entry>
<entry>
<title>RFC1123StrToTime: Accept const std::string&amp; as first argument</title>
<updated>2019-06-17T16:28:52Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-06-17T16:28:52Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=97553e635d2265ec4aad96b00b1fd72d98437f15'/>
<id>urn:sha1:97553e635d2265ec4aad96b00b1fd72d98437f15</id>
<content type='text'>
We are converting to std::string anyway by passing to
istringstream, and this removes the need for .c_str()
in callers.
</content>
</entry>
<entry>
<title>apt-pkg: URI: Add 'explicit' to single argument constructor</title>
<updated>2019-04-30T15:43:56Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-04-30T10:32:54Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=af74a9e2d55d6a9532eb3fbb9b96c65b7ddc1e4d'/>
<id>urn:sha1:af74a9e2d55d6a9532eb3fbb9b96c65b7ddc1e4d</id>
<content type='text'>
This needs a fair amount of changes elsewhere in the code,
hence this is separate from the previous commits.
</content>
</entry>
</feed>
