<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/methods/rred.cc, branch 2.7.14</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.7.14</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.7.14'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2024-02-20T12:49:04Z</updated>
<entry>
<title>Modernize standard library includes</title>
<updated>2024-02-20T12:49:04Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-02-20T12:43:08Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=40a75722c43ae24cb9a99d6730a3b25b65819c49'/>
<id>urn:sha1:40a75722c43ae24cb9a99d6730a3b25b65819c49</id>
<content type='text'>
This was automated with sed and git-clang-format, and then I had to
fix up the top of policy.cc by hand as git-clang-format accidentally
indented it by two spaces.
</content>
</entry>
<entry>
<title>Allow merging with empty pdiff patches</title>
<updated>2021-03-06T14:02:26Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2021-03-06T14:02:26Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=9bd27033c4786fa89cebc9d090ad2c6e8f47b598'/>
<id>urn:sha1:9bd27033c4786fa89cebc9d090ad2c6e8f47b598</id>
<content type='text'>
There isn't a lot of sense in working on empty patches as they change
nothing (quite literally), but they can be the result of merging
multiple patches and so to not require our users to specifically detect
and remove them, we can be nice and just ignore them instead of erroring
out.
</content>
</entry>
<entry>
<title>Use error reporting instead of assert in rred patching</title>
<updated>2021-02-04T10:00:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2021-02-03T16:50:05Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=35af71bc026d85aef4af979aa247e837d91dfc1c'/>
<id>urn:sha1:35af71bc026d85aef4af979aa247e837d91dfc1c</id>
<content type='text'>
The rest of our code uses return-code errors and it isn't that nice to
crash the rred method on bad patches anyway, so we move to properly
reporting errors in our usual way which incidently also helps writing
a fuzzer for it.

This is not really security relevant though as the patches passed hash
verification while they were downloaded, so an attacker has to overtake a
trusted repository first which gives plenty better options of attack.
</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>Support compressed output from rred similar to apt-helper cat-file</title>
<updated>2020-11-07T21:52:20Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-11-07T21:52:20Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e5bb443cf58cec23503ad0deeeb06a080053da8a'/>
<id>urn:sha1:e5bb443cf58cec23503ad0deeeb06a080053da8a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Support reading compressed patches in rred direct call modes</title>
<updated>2020-11-07T20:48:21Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-11-07T20:39:00Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=418f9272606857e312f485778a1ef1b263236463'/>
<id>urn:sha1:418f9272606857e312f485778a1ef1b263236463</id>
<content type='text'>
The acquire system mode does this for a long time already and as it is
easy to implement and handy for manual testing as well we can support
it in the other modes, too.
</content>
</entry>
<entry>
<title>Prepare rred binary for external usage</title>
<updated>2020-11-07T20:48:21Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-11-07T20:23:57Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=9e1398b164f55238990907f63dfdef60588d9b24'/>
<id>urn:sha1:9e1398b164f55238990907f63dfdef60588d9b24</id>
<content type='text'>
Merging patches is a bit of non-trivial code we have for client-side
work, but as we support also server-side merging we can export this
functionality so that server software can reuse it.

Note that this just cleans up and makes rred behave a bit more like all
our other binaries by supporting setting configuration at runtime and
supporting --help and --version. If you can make due without this, the
now advertised functionality is provided already in earlier versions.
</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>
<entry>
<title>Sandbox methods with seccomp-BPF; except cdrom, gpgv, rsh</title>
<updated>2017-10-22T21:38:31Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-10-22T21:34:03Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=32bcbd73e0988d2d2237690ffae33b4f5cc5ff81'/>
<id>urn:sha1:32bcbd73e0988d2d2237690ffae33b4f5cc5ff81</id>
<content type='text'>
This reduces the number of syscalls to about 140 from about
350 or so, significantly reducing security risks.

Also change prepare-release to ignore the architecture lists
in the build dependencies when generating the build-depends
package for travis.

We might want to clean up things a bit more and/or move it
somewhere else.
</content>
</entry>
<entry>
<title>Reformat and sort all includes with clang-format</title>
<updated>2017-07-12T11:57:51Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-07-12T11:40:41Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=87274d0f22e1dfd99b2e5200e2fe75c1b804eac3'/>
<id>urn:sha1:87274d0f22e1dfd99b2e5200e2fe75c1b804eac3</id>
<content type='text'>
This makes it easier to see which headers includes what.

The changes were done by running

    git grep -l '#\s*include'  \
        | grep -E '.(cc|h)$' \
        | xargs sed -i -E 's/(^\s*)#(\s*)include/\1#\2 include/'

To modify all include lines by adding a space, and then running
./git-clang-format.sh.
</content>
</entry>
</feed>
