- 12 Feb, 2017 1 commit
-
-
Adam Borowski authored
Without this patch, x32 guests (and no others) worked "natively" with x32 host lxc, but not on regular amd64 hosts. That was especially problematic as a number of ioctls such as those needed by netfilter don't work in such scenarios, thus you want to run amd64 on the host. With the patch, you can use all three ABIs: i386 x32 amd64 on amd64 hosts. Despite x32 being little used, there's no reason to deny it by default: the admin needs to compile their own kernel with CONFIG_X86_X32=y or (on Debian) boot with syscall.x32=y. If they've done so, it is a reasonable assumption they want x32 guests. Signed-off-by:Adam Borowski <kilobyte@angband.pl>
-
- 08 Feb, 2017 4 commits
-
-
Stéphane Graber authored
lxc_setup_tios(): Ignore SIGTTOU and SIGTTIN signals
-
Stéphane Graber authored
Make lxc-net return non-zero on failure
-
Carsten Brandt authored
I found that even though the service lxc-net failed to start because I made some wrong configuration settings the command exists zero. So systemd reports the status of the service as good even though it failed: # service lxc-net status ● lxc-net.service - LXC network bridge setup Loaded: loaded (/lib/systemd/system/lxc-net.service; enabled) Active: active (exited) since Wed 2017-02-08 08:17:32 EST; 21min ago Process: 529 ExecStart=/usr/lib/x86_64-linux-gnu/lxc/lxc-net start (code=exited, status=0/SUCCESS) Main PID: 529 (code=exited, status=0/SUCCESS) CGroup: /system.slice/lxc-net.service Feb 08 08:17:30 dvm2 systemd[1]: Starting LXC network bridge setup... Feb 08 08:17:32 dvm2 lxc-net[529]: dnsmasq: failed to create listening socket for 10.2.2.1: Address already in use Feb 08 08:17:32 dvm2 lxc-net[529]: Failed to setup lxc-net. Feb 08 08:17:32 dvm2 systemd[1]: Started LXC network bridge setup. Adding `exit 1` here makes it exit non-zero to make systemd recognize the failure. Signed-off-by:Carsten Brandt <mail@cebe.cc>
-
Thomas Jarosch authored
Prevent an endless loop while executing lxc-attach in the background: The kernel might fire SIGTTOU while an ioctl() in tcsetattr() is executed. When the ioctl() is resumed and retries, the signal handler interrupts it again. We can't configure the TTY to stop sending the signals in the first place since that is a modification/write to the TTY already. Still we clear the TOSTOP flag to prevent further signals. Command to reproduce the hang: ---------------------------- cat > lxc_hang.sh << EOF /usr/bin/timeout 5s /usr/bin/lxc-attach -n SOMECONTAINER -- /bin/true EOF sh lxc_hang.sh # hangs ---------------------------- Signed-off-by:Thomas Jarosch <thomas.jarosch@intra2net.com>
-
- 06 Feb, 2017 2 commits
-
-
Stéphane Graber authored
confile: clear lxc.network.<n>.ipv{4,6} when empty -
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
- 02 Feb, 2017 7 commits
-
-
Stéphane Graber authored
conf/ile: make sure buffer is large enough
-
Christian Brauner authored
util: update setproctitle comments
-
Stéphane Graber authored
Add LXC template script of Sabayon OS
-
Christian Brauner authored
conf.c: In function 'lxc_assign_network': conf.c:3096:25: error: '%lu' directive output may be truncated writing between 1 and 20 bytes into a region of size 19 [-Werror=format-truncation=] snprintf(pidstr, 19, "%lu", (unsigned long) pid); ^~~ conf.c:3096:24: note: using the range [1, 18446744073709551615] for directive argument snprintf(pidstr, 19, "%lu", (unsigned long) pid); ^~~~~ In file included from /usr/include/stdio.h:938:0, from conf.c:35: /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: format output between 2 and 21 bytes into a destination of size 19 return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ __bos (__s), __fmt, __va_arg_pack ()); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ confile.c: In function 'network_new_hwaddrs': confile.c:2889:38: error: '%02x' directive output may be truncated writing between 2 and 8 bytes into a region of size 6 [-Werror=format-truncation=] snprintf(hwaddr, 18, "00:16:3e:%02x:%02x:%02x", ^~~~ confile.c:2889:23: note: using the range [0, 4294967295] for directive argument snprintf(hwaddr, 18, "00:16:3e:%02x:%02x:%02x", ^~~~~~~~~~~~~~~~~~~~~~~~~ confile.c:2889:23: note: using the range [0, 4294967295] for directive argument In file included from /usr/include/stdio.h:938:0, from confile.c:24: /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: format output between 18 and 36 bytes into a destination of size 18 return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ __bos (__s), __fmt, __va_arg_pack ()); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Not sure whether the latter is really a problem. We might need an additional fix later on. Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Tycho Andersen authored
Signed-off-by:Tycho Andersen <tycho.andersen@canonical.com>
-
Christian Brauner authored
util: always malloc for setproctitle
-
Tycho Andersen authored
Closes #1407 Signed-off-by:Tycho Andersen <tycho.andersen@canonical.com>
-
- 30 Jan, 2017 2 commits
-
-
Christian Brauner authored
lxc-opensuse: fix default value for release code
-
Maxime Besson authored
Signed-off-by:Maxime Besson <maxime.besson@smile.fr>
-
- 29 Jan, 2017 3 commits
-
-
Geaaru authored
Signed-off-by:Geaaru <geaaru@gmail.com>
-
Christian Brauner authored
Allow build without sys/capability.h
-
Brett Neumeier authored
There is no guard clause around a reference to CAP_EFFECTIVE and CAP_SETGID, causing compilation to fail if sys/capability.h is not available. Signed-off-by:Brett Neumeier <brett@neumeier.us>
-
- 28 Jan, 2017 1 commit
-
-
Geaaru authored
Signed-off-by:Geaaru <geaaru@gmail.com>
-
- 27 Jan, 2017 2 commits
-
-
Christian Brauner authored
Fix typo
-
Stéphane Graber authored
Signed-off-by:Stéphane Graber <stgraber@ubuntu.com>
-
- 26 Jan, 2017 2 commits
-
-
Stéphane Graber authored
Make lxc-start-ephemeral Python 3.2-compatible
-
Colin Watson authored
On Ubuntu 12.04 LTS with Python 3.2, `lxc-start-ephemeral` breaks as follows: Traceback (most recent call last): File "/usr/bin/lxc-start-ephemeral", line 371, in attach_as_user File "/usr/lib/python3.2/subprocess.py", line 515, in check_output File "/usr/lib/python3.2/subprocess.py", line 732, in __init__ LookupError: unknown encoding: ANSI_X3.4-1968 This is because `universal_newlines=True` causes `subprocess` to use `io.TextIOWrapper`, and in versions of Python earlier than 3.3 that fetched the preferred encoding using `locale.getpreferredencoding()` rather than `locale.getpreferredencoding(False)`, thereby changing the locale and causing codecs to be reloaded. However, `attach_as_user` runs inside the container and thus can't rely on having access to the same Python standard library on disk. The workaround is to decode by hand instead, avoiding the temporary change of locale. Signed-off-by:Colin Watson <cjwatson@ubuntu.com>
-
- 21 Jan, 2017 2 commits
-
-
Christian Brauner authored
Use AC_HEADER_MAJOR to detect major()/minor()/makedev()
-
Sergei Trofimovich authored
Before the change build failed on Gentoo as: bdev/lxclvm.c: In function 'lvm_detect': bdev/lxclvm.c:140:4: error: implicit declaration of function 'major' [-Werror=implicit-function-declaration] major(statbuf.st_rdev), minor(statbuf.st_rdev)); ^~~~~ bdev/lxclvm.c:140:28: error: implicit declaration of function 'minor' [-Werror=implicit-function-declaration] major(statbuf.st_rdev), minor(statbuf.st_rdev)); ^~~~~ glibc plans to remove <sys/sysmacros.h> from glibc's <sys/types.h>: https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html Gentoo already applied glibc patch to experimental glibc-2.24 to start preparingfor the change. Autoconf has AC_HEADER_MAJOR to find out which header defines reqiured macros: https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Particular-Headers.html This change should also increase portability across other libcs. Bug: https://bugs.gentoo.org/604360Signed-off-by:Sergei Trofimovich <siarheit@google.com>
-
- 12 Jan, 2017 2 commits
-
-
Christian Brauner authored
add cgroupfs-mount to Should-Start/Stop sysvinit LSB headers
-
Evgeni Golov authored
otherwise init might try to start the containers before cgroupfs was mounted. Debian-Bug: https://bugs.debian.org/850212Signed-off-by:
Evgeni Golov <evgeni@debian.org>
-
- 11 Jan, 2017 2 commits
-
-
Serge Hallyn authored
tools/lxc-start: remove c->is_defined(c) check
-
Christian Brauner authored
We do not check here whether the container is defined, because we support volatile containers. Which means the container does not need to be created for it to be started. You can just pass a configuration file as argument and start the container right away. Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
- 07 Jan, 2017 5 commits
-
-
Serge Hallyn authored
start: fix execute and improve setgroups() calls
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Christian Brauner authored
lxc_execute() and lxc-execute where broken when a user tried to switch to a non-root uid/gid. This prevented necessary setup operations like mounting the rootfs which require root in the user namespace. This commit separates switching to root in the user namespace from switching to the requested uid/gid by lxc_execute(). This should be safe: Once we switched to root in the user namespace via setuid() and then switch to a non-root uid/gid in the user namespace for lxc_execute() via setuid() we cannot regain root privileges again. So we can only make us safer (Unless I forget about some very intricate user namespace nonsense; which is not as unlikely as I try to make it sound.). Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Christian Brauner authored
This commit adds lxc_switch_uid_gid() which allows to switch the uid and gid of a process via setuid() and setgid() and lxc_setgroups() which allows to set groups via setgroups(). The main advantage is that they nicely log the switches they perform. Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
- 04 Jan, 2017 5 commits
-
-
Stéphane Graber authored
tools: only check for O_RDONLY
-
Stéphane Graber authored
tree-wide: Sic semper assertis!
-
Christian Brauner authored
On some Android systems the lxc folders where containers are stored might be read-only and so checking for O_RDWR, will effectively make the tools useless on these systems, so let's dumb the check down to O_RDONLY. Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Christian Brauner authored
python3-lxc: fix api_test.py on s390x
-