<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/methods/aptmethod.h, branch 1.6_alpha2</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.6_alpha2</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.6_alpha2'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2017-10-25T22:02:33Z</updated>
<entry>
<title>Print syscall number and arch to stderr when trapped by seccomp</title>
<updated>2017-10-25T22:02:33Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-10-25T21:16:09Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=39656a6f79e48f86d31c53a939481c07aceca352'/>
<id>urn:sha1:39656a6f79e48f86d31c53a939481c07aceca352</id>
<content type='text'>
This should help debugging crashes. The signal handler is a C++11
lambda, yay! Special care has been taken to only use signal handler
-safe functions inside there.
</content>
</entry>
<entry>
<title>Only warn about seccomp() EINVAL (normal) and EFAULT (qemu) errors</title>
<updated>2017-10-25T20:16:24Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-10-25T19:49:34Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=230b0570532bf2f419608b2043a9d6e02b9467e3'/>
<id>urn:sha1:230b0570532bf2f419608b2043a9d6e02b9467e3</id>
<content type='text'>
If seccomp is disabled, we fallback to running without it. Qemu fails
in the seccomp() call, returning ENOSYS and libseccomp falls back to
prctl() without adjusting the pointer, causing the EFAULT. I hope
qemu gets fixed at some point to return EINVAL for seccomp via
prctl.

Bug-Qemu: https://bugs.launchpad.net/qemu/+bug/1726394
</content>
</entry>
<entry>
<title>methods: Enable additional syscalls (SYSV IPC) in fakeroot</title>
<updated>2017-10-25T19:40:35Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-10-25T19:38:31Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=cf1a98baa58360a56f38cc3d5ce01905f6ebc8f4'/>
<id>urn:sha1:cf1a98baa58360a56f38cc3d5ce01905f6ebc8f4</id>
<content type='text'>
If FAKED_MODE is set, enable SYSV IPC so we don't crash when
running in fakeroot.

Closes: #879662
</content>
</entry>
<entry>
<title>seccomp: Conditionalize statx() whitelisting</title>
<updated>2017-10-23T00:17:31Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-10-23T00:17:31Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=669b310a6676f2247165e492b673d2e5bcb06f89'/>
<id>urn:sha1:669b310a6676f2247165e492b673d2e5bcb06f89</id>
<content type='text'>
statx was introduced in 4.11, so it fails to build in stretch if
we just unconditionally use it.
</content>
</entry>
<entry>
<title>seccomp: Add missing syscalls for ppc64el, i386, and others</title>
<updated>2017-10-22T23:51:19Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-10-22T22:35:15Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f5572ef1daf21d20f4a7d261884291c0acddd947'/>
<id>urn:sha1:f5572ef1daf21d20f4a7d261884291c0acddd947</id>
<content type='text'>
These are a few overlooked syscalls. Also add readv(), writev(),
renameat2(), and statx() in case libc uses them.

Gbp-Dch: ignore
</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>allow the auth.conf to be root:root owned</title>
<updated>2017-07-26T17:09:04Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-07-07T20:21:44Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=881ec045b6660e2fe0c6953720260e380ceeeb99'/>
<id>urn:sha1:881ec045b6660e2fe0c6953720260e380ceeeb99</id>
<content type='text'>
Opening the file before we drop privileges in the methods allows us to
avoid chowning in the acquire main process which can apply to the wrong
file (imagine Binary scoped settings) and surprises users as their
permission setup is overridden.

There are no security benefits as the file is open, so an evil method
could as before read the contents of the file, but it isn't worse than
before and we avoid permission problems in this setup.
</content>
</entry>
<entry>
<title>reimplement and document auth.conf</title>
<updated>2017-07-26T17:09:04Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-07-07T14:24:21Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ea408c560ed85bb4ef7cf8f72f8463653501332c'/>
<id>urn:sha1:ea408c560ed85bb4ef7cf8f72f8463653501332c</id>
<content type='text'>
We have support for an netrc-like auth.conf file since 0.7.25 (closing
518473), but it was never documented in apt that it even exists and
netrc seems to have fallen out of usage as a manpage for it no longer
exists making the feature even more arcane.

On top of that the code was a bit of a mess (as it is written in c-style)
and as a result the matching of machine tokens to URIs also a bit
strange by checking for less specific matches (= without path) first.
We now do a single pass over the stanzas.

In practice early adopters of the undocumented implementation will not
really notice the differences and the 'new' behaviour is simpler to
document and more usual for an apt user.

Closes: #811181
</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>
<entry>
<title>methods/aptmethod.h: Add missing fileutl.h include</title>
<updated>2017-07-12T11:56:05Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-07-12T11:50:31Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=78fcdd9629022c0c37742614351f5b02fed97607'/>
<id>urn:sha1:78fcdd9629022c0c37742614351f5b02fed97607</id>
<content type='text'>
</content>
</entry>
</feed>
