<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/methods/https.cc, branch 1.1.exp11</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.1.exp11</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.1.exp11'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2015-05-22T15:01:03Z</updated>
<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>Update methods/https.cc now that ServerState::Size is renamed</title>
<updated>2015-05-22T14:30:29Z</updated>
<author>
<name>Michael Vogt</name>
<email>mvo@ubuntu.com</email>
</author>
<published>2015-05-22T14:27:08Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=65759e00eff0513c34f584b99420b72fe0e5073e'/>
<id>urn:sha1:65759e00eff0513c34f584b99420b72fe0e5073e</id>
<content type='text'>
Git-Dch: ignore
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'upstream/debian/jessie' into debian/sid</title>
<updated>2015-05-22T14:17:08Z</updated>
<author>
<name>Michael Vogt</name>
<email>mvo@ubuntu.com</email>
</author>
<published>2015-05-22T14:17:08Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=0f3150e7040f45565b459a1390606bc2f714f6a8'/>
<id>urn:sha1:0f3150e7040f45565b459a1390606bc2f714f6a8</id>
<content type='text'>
Conflicts:
	apt-pkg/deb/dpkgpm.cc
</content>
</entry>
<entry>
<title>Rename "Size" in ServerState to TotalFileSize</title>
<updated>2015-05-22T13:40:18Z</updated>
<author>
<name>Michael Vogt</name>
<email>mvo@ubuntu.com</email>
</author>
<published>2015-05-22T13:40:18Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6291f60e86718697f261519a6818e1d5ee433216'/>
<id>urn:sha1:6291f60e86718697f261519a6818e1d5ee433216</id>
<content type='text'>
The variable "Size" was misleading and caused bug #1445239. To
avoid similar issues in the future, rename it to make the meaning
more obvious.

git-dch: ignore
</content>
</entry>
<entry>
<title>detect Releasefile IMS hits even if the server doesn't</title>
<updated>2015-05-13T14:09:12Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-05-13T14:09:12Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8eafc759544298211cd0bfaa3919afc0fadd47d1'/>
<id>urn:sha1:8eafc759544298211cd0bfaa3919afc0fadd47d1</id>
<content type='text'>
Not all servers we are talking to support If-Modified-Since and some are
not even sending Last-Modified for us, so in an effort to detect such
hits we run a hashsum check on the 'old' compared to the 'new' file, we
got the hashes for the 'new' already for "free" from the methods anyway
and hence just need to calculated the old ones.

This allows us to detect hits even with unsupported servers, which in
turn means we benefit from all the new hit behavior also here.
</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>calculate hashes while downloading in https</title>
<updated>2015-04-18T23:13:09Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-04-11T08:23:52Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=34faa8f7ae2526f46cd1f84bb6962ad06d841e5e'/>
<id>urn:sha1:34faa8f7ae2526f46cd1f84bb6962ad06d841e5e</id>
<content type='text'>
We do this in HTTP already to give the CPU some exercise while the disk
is heavily spinning (or flashing?) to store the data avoiding the need
to reread the entire file again later on to calculate the hashes – which
happens outside of the eyes of progress reporting, so you might ended up
with a bunch of https workers 'stuck' at 100% while they were busy
calculating hashes.

This is a bummer for everyone using apt as a connection speedtest as the
https method works slower now (not really, it just isn't reporting done
too early anymore).
</content>
</entry>
<entry>
<title>calculate only expected hashes in methods</title>
<updated>2015-04-18T23:13:09Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-03-30T18:47:13Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=9224ce3d4d1ea0428a70e75134998e08aa45b1e6'/>
<id>urn:sha1:9224ce3d4d1ea0428a70e75134998e08aa45b1e6</id>
<content type='text'>
Methods get told which hashes are expected by the acquire system, which
means we can use this list to restrict what we calculate in the methods
as any extra we are calculating is wasted effort as we can't compare it
with anything anyway.

Adding support for a new hash algorithm is therefore 'free' now and if a
algorithm is no longer provided in a repository for a file, we
automatically stop calculating it.

In practice this results in a speed-up in Debian as we don't have SHA512
here (so far), so we practically stop calculating it.
</content>
</entry>
<entry>
<title>improve https method queue progress reporting</title>
<updated>2015-04-18T23:13:08Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-03-27T14:53:43Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=27925d82dd0cbae74d48040363fe6f6c2bae5215'/>
<id>urn:sha1:27925d82dd0cbae74d48040363fe6f6c2bae5215</id>
<content type='text'>
The worker expects that the methods tell him when they start or finish
downloading a file. Various information pieces are passed along in this
report including the (expected) filesize. https was using a "global"
struct for reporting which made it 'reuse' incorrect values in some
cases like a non-existent InRelease fallbacking to Release{,.gpg}
resulting in a size-mismatch warning. Reducing the scope and redesigning
the setting of the values we can fix this and related issues.

Closes: 777565, 781509
Thanks: Robert Edmonds and Anders Kaseorg for initial patchs
</content>
</entry>
<entry>
<title>do not unlink https file on general error</title>
<updated>2015-04-18T23:13:08Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-03-27T10:14:44Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=bb948ef562862e5cc9fcfb3d7b5e41c70382adeb'/>
<id>urn:sha1:bb948ef562862e5cc9fcfb3d7b5e41c70382adeb</id>
<content type='text'>
It might be quite interesting which file (content) made curl freak out
and other methods keep the file around as well.

Git-Dch: Ignore
</content>
</entry>
</feed>
