<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/acquire.cc, branch 1.1_exp15</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.1_exp15</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.1_exp15'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2015-11-04T17:42:28Z</updated>
<entry>
<title>wrap every unlink call to check for != /dev/null</title>
<updated>2015-11-04T17:42:28Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-11-02T17:49:52Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ce1f3a2c616b86da657c1c796efa5f4d18c30c39'/>
<id>urn:sha1:ce1f3a2c616b86da657c1c796efa5f4d18c30c39</id>
<content type='text'>
Unlinking /dev/null is bad, we shouldn't do that. Also, we should print
at least a warning if we tried to unlink a file but didn't manage to
pull it of (ignoring the case were the file is /dev/null or doesn't
exist in the first place).

This got triggered by a relatively unlikely to cause problem in
pkgAcquire::Worker::PrepareFiles which would while temporary
uncompressed files (which are set to keep compressed) figure out that to
files are the same and prepare for sharing by deleting them. Bad move.
That also shows why not printing a warning is a bad idea as this hide
the error for in non-root test runs.

Git-Dch: Ignore
</content>
</entry>
<entry>
<title>use std-algorithms instead of manual loops to avoid overflow warning</title>
<updated>2015-09-14T13:22:18Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-09-11T18:53:07Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ae732225ec2fa0d7434c9f40a92ced8683752211'/>
<id>urn:sha1:ae732225ec2fa0d7434c9f40a92ced8683752211</id>
<content type='text'>
Reported-By: gcc
Understandable: no
Git-Dch: Ignore
</content>
</entry>
<entry>
<title>fix 'Dead assignment' by dropping unneeded boolean</title>
<updated>2015-09-14T13:22:18Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-09-10T20:44:01Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=69b7654484c3f16d61f315275abb15cc062d190e'/>
<id>urn:sha1:69b7654484c3f16d61f315275abb15cc062d190e</id>
<content type='text'>
Reported-By: scan-build
Git-Dch: Ignore
</content>
</entry>
<entry>
<title>avoid using global PendingError to avoid failing too often too soon</title>
<updated>2015-09-14T13:22:18Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-09-10T17:00:51Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=95278287f4e1eeaf5d96749d6fc9bfc53fb400d0'/>
<id>urn:sha1:95278287f4e1eeaf5d96749d6fc9bfc53fb400d0</id>
<content type='text'>
Our error reporting is historically grown into some kind of mess.
A while ago I implemented stacking for the global error which is used in
this commit now to wrap calls to functions which do not report (all)
errors via return, so that only failures in those calls cause a failure
to propergate down the chain rather than failing if anything
(potentially totally unrelated) has failed at some point in the past.

This way we can avoid stopping the entire acquire process just because a
single source produced an error for example. It also means that after
the acquire process the cache is generated – even if the acquire
process had failures – as we still have the old good data around we can and
should generate a cache for (again).

There are probably more instances of this hiding, but all these looked
like the easiest to work with and fix with reasonable (aka net-positive)
effects.
</content>
</entry>
<entry>
<title>improve CheckDropPrivsMustBeDisabled further</title>
<updated>2015-09-01T00:49:53Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-09-01T00:29:27Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=226c0f64d46019d675840b16bd44ff985b45ad0f'/>
<id>urn:sha1:226c0f64d46019d675840b16bd44ff985b45ad0f</id>
<content type='text'>
Various smaller improvements so that the check deals better with already
downloaded files, relative paths and other things.

Git-Dch: Ignore
</content>
</entry>
<entry>
<title>if file is inaccessible for _apt, disable privilege drop in acquire</title>
<updated>2015-08-31T09:00:12Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-08-31T09:00:12Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=7c8206bf26b8ef6020b543bbc027305dee8f2308'/>
<id>urn:sha1:7c8206bf26b8ef6020b543bbc027305dee8f2308</id>
<content type='text'>
We had a very similar method previously for our own private usage, but
with some generalisation we can move this check into the acquire system
proper so that all frontends profit from this compatibility change.

As we are disabling a security feature here a warning is issued and
frontends are advised to consider reworking their download logic if
possible.

Note that this is implemented as an all or nothing situation: We can't
just (not) drop privileges for a subset of the files in a fetcher, so in
case you have to download some files with and some without you need to
use two fetchers.
</content>
</entry>
<entry>
<title>Fix all the wrong removals of includes that iwyu got wrong</title>
<updated>2015-08-17T12:29:02Z</updated>
<author>
<name>Michael Vogt</name>
<email>mvo@debian.org</email>
</author>
<published>2015-08-17T12:29:02Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ac7f8f7916f16905d8eeb0133bc650d89726d0f4'/>
<id>urn:sha1:ac7f8f7916f16905d8eeb0133bc650d89726d0f4</id>
<content type='text'>
Git-Dch: ignore
</content>
</entry>
<entry>
<title>Cleanup includes after running iwyu</title>
<updated>2015-08-17T10:01:45Z</updated>
<author>
<name>Michael Vogt</name>
<email>mvo@debian.org</email>
</author>
<published>2015-08-17T10:01:45Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=88a8975f156e452d9f3ebe76822b236e8962ebba'/>
<id>urn:sha1:88a8975f156e452d9f3ebe76822b236e8962ebba</id>
<content type='text'>
</content>
</entry>
<entry>
<title>make all d-pointer * const pointers</title>
<updated>2015-08-10T15:25:25Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-06-17T07:29:00Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6c55f07a5fa3612a5d59c61a17da5fe640eadc8b'/>
<id>urn:sha1:6c55f07a5fa3612a5d59c61a17da5fe640eadc8b</id>
<content type='text'>
Doing this disables the implicit copy assignment operator (among others)
which would cause hovac if used on the classes as it would just copy the
pointer, not the data the d-pointer points to. For most of the classes
we don't need a copy assignment operator anyway and in many classes it
was broken before as many contain a pointer of some sort.

Only for our Cacheset Container interfaces we define an explicit copy
assignment operator which could later be implemented to copy the data
from one d-pointer to the other if we need it.

Git-Dch: Ignore
</content>
</entry>
<entry>
<title>apply various style suggestions by cppcheck</title>
<updated>2015-08-10T15:24:01Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-06-16T22:14:10Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e8afd16892e87a6e2f17c1019ee455f5583387c2'/>
<id>urn:sha1:e8afd16892e87a6e2f17c1019ee455f5583387c2</id>
<content type='text'>
Some of them modify the ABI, but given that we prepare a big one
already, these few hardly count for much.

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