<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/test/interactive-helper, branch 1.2.11</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.2.11</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.2.11'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2016-04-13T19:33:32Z</updated>
<entry>
<title>webserver: 416 errors aren't closing connections</title>
<updated>2016-04-13T19:33:32Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-04-06T14:00:11Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c1e7b36400db49d3dcb403512e9b009d1b6d05bc'/>
<id>urn:sha1:c1e7b36400db49d3dcb403512e9b009d1b6d05bc</id>
<content type='text'>
Breaking here lets our handler die which a client will fix by
reconnecting… but that eats time needlessly and is simple the wrong
handling, too.

Git-Dch: Ignore
</content>
</entry>
<entry>
<title>aptwebserver: fix html validation issues</title>
<updated>2016-03-14T10:47:19Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-03-13T22:30:05Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=12f40394b3940573c0e63d74722a95148fb1ad39'/>
<id>urn:sha1:12f40394b3940573c0e63d74722a95148fb1ad39</id>
<content type='text'>
Iceweasel^WFirefox complains about the missing encoding in its console
which can be a bit annoying in interactive sessions, so fixing these
issues has no effect on apt itself, but on the testers.

Git-Dch: Ignore
</content>
</entry>
<entry>
<title>test all redirection codes work as expected</title>
<updated>2016-01-31T18:06:19Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-01-28T23:52:48Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=aa3e7b3287a20b464237c869483111abc7e9d815'/>
<id>urn:sha1:aa3e7b3287a20b464237c869483111abc7e9d815</id>
<content type='text'>
Git-Dch: Ignore
</content>
</entry>
<entry>
<title>tests: don't use hardcoded port for http and https</title>
<updated>2015-09-15T08:16:09Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-09-14T22:33:12Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6c0765c096ffb4df14169236c865bbb2b10974ae'/>
<id>urn:sha1:6c0765c096ffb4df14169236c865bbb2b10974ae</id>
<content type='text'>
This allows running tests in parallel.

Git-Dch: Ignore
</content>
</entry>
<entry>
<title>add c++11 override marker to overridden methods</title>
<updated>2015-08-10T15:27:17Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-07-08T22:35:40Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3b3028467ceccca0b73a8f53051c0fa4de313111'/>
<id>urn:sha1:3b3028467ceccca0b73a8f53051c0fa4de313111</id>
<content type='text'>
C++11 adds the 'override' specifier to mark that a method is overriding
a base class method and error out if not. We hide it in the APT_OVERRIDE
macro to ensure that we keep compiling in pre-c++11 standards.

Reported-By: clang-modernize -add-override -override-macros
Git-Dch: Ignore
</content>
</entry>
<entry>
<title>Merge branch 'debian/sid' into debian/experimental</title>
<updated>2015-05-22T15:01:03Z</updated>
<author>
<name>Michael Vogt</name>
<email>mvo@ubuntu.com</email>
</author>
<published>2015-05-22T15:01:03Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=4fc6b7570c3e97b65c118b58cdf6729fa94c9b03'/>
<id>urn:sha1:4fc6b7570c3e97b65c118b58cdf6729fa94c9b03</id>
<content type='text'>
Conflicts:
	apt-pkg/pkgcache.h
	debian/changelog
	methods/https.cc
	methods/server.cc
	test/integration/test-apt-download-progress
</content>
</entry>
<entry>
<title>Add regression test for LP: #1445239</title>
<updated>2015-05-22T14:05:05Z</updated>
<author>
<name>Michael Vogt</name>
<email>mvo@ubuntu.com</email>
</author>
<published>2015-05-22T14:05:05Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f4a91278c65b156c1addf27b0b05b029692959e8'/>
<id>urn:sha1:f4a91278c65b156c1addf27b0b05b029692959e8</id>
<content type='text'>
Add a regression test that reproduced the hang of apt when a
partial file is present.

Git-Dch: ignore
</content>
</entry>
<entry>
<title>Fix endless loop in apt-get update that can cause disk fillup</title>
<updated>2015-05-22T13:28:53Z</updated>
<author>
<name>Michael Vogt</name>
<email>mvo@ubuntu.com</email>
</author>
<published>2015-05-22T13:28:53Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ceafe8a6edc815df2923ba892894617829e9d3c2'/>
<id>urn:sha1:ceafe8a6edc815df2923ba892894617829e9d3c2</id>
<content type='text'>
The apt http code parses Content-Length and Content-Range. For
both requests the variable "Size" is used and the semantic for
this Size is the total file size. However Content-Length is not
the entire file size for partital file requests. For servers that
send the Content-Range header first and then the Content-Length
header this can lead to globbing of Size so that its less than
the real file size. This may lead to a subsequent passing of a
negative number into the CircleBuf which leads to a endless
loop that writes data.

Thanks to Anton Blanchard for the analysis and initial patch.

LP: #1445239
</content>
</entry>
<entry>
<title>detect 416 complete file in partial by expected hash</title>
<updated>2015-05-11T22:30:16Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-05-11T22:30:16Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=dcbb364fc69e1108b3fea3adb12a7ba83d9af467'/>
<id>urn:sha1:dcbb364fc69e1108b3fea3adb12a7ba83d9af467</id>
<content type='text'>
If we have the expected hashes we can check with them if the file we
have in partial we got a 416 for is the expected file. We detected this
with same-size before, but not every server sends a good Content-Range
header with a 416 response.
</content>
</entry>
<entry>
<title>a hit on Release files means the indexes will be hits too</title>
<updated>2015-04-18T23:13:10Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-04-12T15:08:46Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ba6b79bd0090077724fa1272ea4d3a31706fcd5a'/>
<id>urn:sha1:ba6b79bd0090077724fa1272ea4d3a31706fcd5a</id>
<content type='text'>
If we get a IMSHit for the Transaction-Manager (= the InRelease file or
as its still supported fallback Release + Release.gpg combo) we can
assume that every file we would queue based on this manager, but already
have locally is current and hence would get an IMSHit, too. We therefore
save us and the server the trouble and skip the queuing in this case.
Beside speeding up repetative executions of 'apt-get update' this way we
also avoid hitting hashsum errors if the indexes are in fact already
updated, but the Release file isn't yet as it is the case on well
behaving mirrors as Release files is updated last.

The implementation is a bit harder than the theory makes it sound as we
still have to keep reverifying the Release files (e.g. to detect now expired
once to avoid an attacker being able to silently stale us) and have to
handle cases in which the Release file hits, but some indexes aren't
present (e.g. user added a new foreign architecture).
</content>
</entry>
</feed>
