<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/methods, branch 1.6_alpha5</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.6_alpha5</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.6_alpha5'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2017-11-12T16:45:13Z</updated>
<entry>
<title>Do not attempt seccomp under qemu-user and drop EFAULT workaround</title>
<updated>2017-11-12T16:45:13Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-11-12T16:45:13Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=243acdee176dd90cb2838690cb5abbd64d4da905'/>
<id>urn:sha1:243acdee176dd90cb2838690cb5abbd64d4da905</id>
<content type='text'>
qemu-user passes prctl()-based seccomp through to the kernel,
umodified. That's bad, as it blocks the wrong syscalls.

We ignored EFAULT which fixed the problem for targets with different
pointer sizes from the host, but was a bad hack. In order to identify
qemu we can rely on the fact that qemu-user prints its version and
exits with 0 if QEMU_VERSION is set to an unsupported value. If we
run a command that should fail in such an environment, and it exits
with 0, then we are running in qemu-user.

apt-helper is an obvious command to run. The tests ensure it exits
with 1, and it only prints usage information. We also could not use
/bin/false because apt might just as well be from a foreign arch
while /bin/false is not.

Closes: #881519
</content>
</entry>
<entry>
<title>seccomp: Allow clock_nanosleep() and nanosleep() syscalls</title>
<updated>2017-10-27T19:58:27Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-10-27T19:58:27Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=cfb6061b82daa67def0349938bf6267c37e9906d'/>
<id>urn:sha1:cfb6061b82daa67def0349938bf6267c37e9906d</id>
<content type='text'>
We sleep in http.cc, so we should allow the sleeping syscalls.
</content>
</entry>
<entry>
<title>Drop unused gzip, lzma, bzip2, and xz symlinks of store</title>
<updated>2017-10-26T20:41:42Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-10-26T20:41:42Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=cc1f94c95373670fdfdb8e2d6cf9125181f7df0c'/>
<id>urn:sha1:cc1f94c95373670fdfdb8e2d6cf9125181f7df0c</id>
<content type='text'>
The store method replaced them all, the symlinks where mostly
for partial upgrades or whatever, they should not be needed
any longer.
</content>
</entry>
<entry>
<title>seccomp: Allow ipc() for fakeroot, and allow sysinfo() for sort</title>
<updated>2017-10-26T18:54:28Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-10-26T15:42:58Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b514128890d5cf96a76393e8d261d79e0be7f0e4'/>
<id>urn:sha1:b514128890d5cf96a76393e8d261d79e0be7f0e4</id>
<content type='text'>
Sorting apparently calls sysconf() which calls sysinfo() to get
free pages or whatever.

Closes: #879814, #879826
</content>
</entry>
<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>CMake: methods: Cleanup link libraries, use OBJECT libraries</title>
<updated>2017-10-23T02:19:19Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-10-23T01:29:10Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=43b9eb5bac15666fdc0346aca7031fab0fa5e064'/>
<id>urn:sha1:43b9eb5bac15666fdc0346aca7031fab0fa5e064</id>
<content type='text'>
Use OBJECT libraries for http and connect stuff, and move the
seccomp link expression into a global link_libraries() call.

This also fixes a bug where only the http target pulled in
the gnutls header arguments despite gnutls being used in
connect.cc, and thus by mirror and ftp as well.

Adjust translation support to ignore TARGET_OBJECTS sources
and add the OBJECT libraries to the translated files.
</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>
</feed>
