]> git.ipfire.org Git - thirdparty/lxc.git/log
thirdparty/lxc.git
8 years agoChange variable check to match existing style 1473/head
Tai Kedzierski [Sun, 19 Mar 2017 17:28:26 +0000 (17:28 +0000)] 
Change variable check to match existing style

Signed-off-by: Tai Kedzierski <dch.tai@gmail.com>
8 years agolxc-download.in / Document keyserver change in help
Tai Kedzierski [Sun, 19 Mar 2017 09:27:42 +0000 (09:27 +0000)] 
lxc-download.in / Document keyserver change in help

Signed-off-by: Tai Kedzierski <dch.tai@gmail.com>
8 years agolxc-download.in / allow setting keyserver from env
Tai Kedzierski [Sun, 19 Mar 2017 09:21:29 +0000 (09:21 +0000)] 
lxc-download.in / allow setting keyserver from env

Checks if DOWNLOAD_KEYSERVER has already been set in the environment before setting a value

Signed-off-by: Tai Kedzierski <dch.tai@gmail.com>
8 years agoMerge pull request #1468 from stgraber/master
Christian Brauner [Fri, 17 Mar 2017 09:45:10 +0000 (10:45 +0100)] 
Merge pull request #1468 from stgraber/master

python3: Deal with potential NULL char*

8 years agopython3: Deal with potential NULL char* 1468/head
Stéphane Graber [Fri, 17 Mar 2017 08:52:41 +0000 (09:52 +0100)] 
python3: Deal with potential NULL char*

Closes #1466

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
8 years agoMerge pull request #1433 from rjmccabe3701/bugfix/run-within-docker
Stéphane Graber [Wed, 15 Mar 2017 23:41:13 +0000 (19:41 -0400)] 
Merge pull request #1433 from rjmccabe3701/bugfix/run-within-docker

Added 'mkdir -p' functionality in create_or_remove_cgroup

8 years agoMerge pull request #1465 from geaaru/lxc-sabayon-unpriv
Stéphane Graber [Wed, 15 Mar 2017 23:10:36 +0000 (19:10 -0400)] 
Merge pull request #1465 from geaaru/lxc-sabayon-unpriv

[lxc-sabayon] Disable _unprivileged_shift_owner for create unprivileg…

8 years ago[lxc-sabayon] Disable _unprivileged_shift_owner for create unprivileged container... 1465/head
Geaaru [Tue, 14 Mar 2017 14:57:50 +0000 (15:57 +0100)] 
[lxc-sabayon] Disable _unprivileged_shift_owner for create unprivileged container images for lxd and lxc-download.

Signed-off-by: Geaaru <geaaru@gmail.com>
8 years agoMerge pull request #1463 from armchair-philosophy/up_templates_arch
Stéphane Graber [Wed, 15 Mar 2017 00:47:21 +0000 (20:47 -0400)] 
Merge pull request #1463 from armchair-philosophy/up_templates_arch

[templates] archlinux: resolve conflicting files

8 years ago[templates] archlinux: noneed default_timezone variable 1463/head
otofune [Wed, 15 Mar 2017 00:36:57 +0000 (09:36 +0900)] 
[templates] archlinux: noneed default_timezone variable

Signed-off-by: otofune <otofune@gmail.com>
8 years ago[templates] archlinux: resolve conflicting files
otofune [Wed, 15 Mar 2017 00:09:17 +0000 (09:09 +0900)] 
[templates] archlinux: resolve conflicting files

- already found /etc/localtime
- duplicate creation /etc/resolv.conf

Signed-off-by: otofune <otofune@gmail.com>
8 years agoMerge pull request #1462 from hallyn/2017-03-14/checknewuidmap
Christian Brauner [Tue, 14 Mar 2017 19:41:25 +0000 (20:41 +0100)] 
Merge pull request #1462 from hallyn/2017-03-14/checknewuidmap

lxc-checkconfig: verify new[ug]idmap are setuid-root

8 years agolxc-checkconfig: verify new[ug]idmap are setuid-root 1462/head
Serge Hallyn [Tue, 14 Mar 2017 18:16:48 +0000 (13:16 -0500)] 
lxc-checkconfig: verify new[ug]idmap are setuid-root

Signed-off-by: Serge Hallyn <serge@hallyn.com>
8 years agoMerge pull request #1461 from jirutka/alpine
Christian Brauner [Tue, 14 Mar 2017 18:01:08 +0000 (19:01 +0100)] 
Merge pull request #1461 from jirutka/alpine

lxc-alpine: few modifications

8 years agolxc-alpine: use dl-cdn.a.o as default mirror instead of random one 1461/head
Jakub Jirutka [Tue, 14 Mar 2017 16:35:46 +0000 (17:35 +0100)] 
lxc-alpine: use dl-cdn.a.o as default mirror instead of random one

Some mirrors from the mirrors list are not very reliable and it seems
that no one really wants to use some random mirror as the default
option.

Signed-off-by: Jakub Jirutka <jakub@jirutka.cz>
8 years agolxc-alpine: add community repository to default repositories
Jakub Jirutka [Tue, 14 Mar 2017 16:28:47 +0000 (17:28 +0100)] 
lxc-alpine: add community repository to default repositories

Signed-off-by: Jakub Jirutka <jakub@jirutka.cz>
8 years agoMerge pull request #1460 from stgraber/master
Christian Brauner [Tue, 14 Mar 2017 13:36:02 +0000 (14:36 +0100)] 
Merge pull request #1460 from stgraber/master

Patch from Harald Dunkel + tweak

8 years agoFix mixed tab/spaces in previous patch 1460/head
Stéphane Graber [Tue, 14 Mar 2017 12:44:35 +0000 (12:44 +0000)] 
Fix mixed tab/spaces in previous patch

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
8 years agoFix lxc-containers to support multiple bridges
Harald Dunkel [Tue, 14 Mar 2017 12:42:15 +0000 (12:42 +0000)] 
Fix lxc-containers to support multiple bridges

Signed-off-by: Harald Dunkel <harald.dunkel@aixigo.de>
8 years agoMerge pull request #1458 from brauner/2017-01-28/lxc_user_nic_ensure_target_netns_is_...
Serge Hallyn [Sun, 12 Mar 2017 21:18:06 +0000 (16:18 -0500)] 
Merge pull request #1458 from brauner/2017-01-28/lxc_user_nic_ensure_target_netns_is_caller_owned

lxc-user-nic: improvements

8 years agoconf: only try to delete veth when privileged 1458/head
Christian Brauner [Sat, 11 Mar 2017 12:12:52 +0000 (13:12 +0100)] 
conf: only try to delete veth when privileged

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
8 years agolxc-user-nic: delete link on failure
Christian Brauner [Sat, 11 Mar 2017 11:11:40 +0000 (12:11 +0100)] 
lxc-user-nic: delete link on failure

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
8 years agolxc-user-nic: improve + bugfix
Christian Brauner [Sun, 29 Jan 2017 15:34:22 +0000 (16:34 +0100)] 
lxc-user-nic: improve + bugfix

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
8 years agolxc-user-nic: re-order #includes
Christian Brauner [Sun, 29 Jan 2017 14:34:42 +0000 (15:34 +0100)] 
lxc-user-nic: re-order #includes

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
8 years agoCVE-2017-5985: Ensure target netns is caller-owned
Christian Brauner [Sat, 28 Jan 2017 12:02:34 +0000 (13:02 +0100)] 
CVE-2017-5985: Ensure target netns is caller-owned

Before this commit, lxc-user-nic could potentially have been tricked into
operating on a network namespace over which the caller did not hold privilege.

This commit ensures that the caller is privileged over the network namespace by
temporarily dropping privilege.

Launchpad: https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1654676
Reported-by: Jann Horn <jannh@google.com>
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
8 years agoMerge pull request #1453 from hallyn/2017-03-06/seccomp
Christian Brauner [Mon, 6 Mar 2017 21:43:06 +0000 (22:43 +0100)] 
Merge pull request #1453 from hallyn/2017-03-06/seccomp

seccomp: set SCMP_FLTATR_ATL_TSKIP if available

8 years agoseccomp: set SCMP_FLTATR_ATL_TSKIP if available 1453/head
Serge Hallyn [Mon, 6 Mar 2017 19:36:19 +0000 (13:36 -0600)] 
seccomp: set SCMP_FLTATR_ATL_TSKIP if available

Newer libseccomp has a flag called SCMP_FLTATR_ATL_TSKIP which
allows syscall '-1' (nop) to be executed.  Without that flag,
debuggers cannot skip system calls inside containers.  For reference,
see the seccomp(2) manpage, which says:

The tracer can skip the system call by changing the system call  number  to  -1.

and see the seccomp issue #80

Signed-off-by: Serge Hallyn <serge@hallyn.com>
8 years agoMerge pull request #1449 from brauner/2017-03-03/fix_trim
Serge Hallyn [Fri, 3 Mar 2017 00:16:16 +0000 (18:16 -0600)] 
Merge pull request #1449 from brauner/2017-03-03/fix_trim

cgfsng: make trim() safer

8 years agocgfsng: make trim() safer 1449/head
Christian Brauner [Thu, 2 Mar 2017 23:33:40 +0000 (00:33 +0100)] 
cgfsng: make trim() safer

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
8 years agoMerge pull request #1447 from brauner/2017-02-27/fix_logging_timestamps
Stéphane Graber [Mon, 27 Feb 2017 16:50:21 +0000 (11:50 -0500)] 
Merge pull request #1447 from brauner/2017-02-27/fix_logging_timestamps

log: fix lxc_unix_epoch_to_utc()

8 years agolog: fix lxc_unix_epoch_to_utc() 1447/head
Christian Brauner [Mon, 27 Feb 2017 15:02:24 +0000 (16:02 +0100)] 
log: fix lxc_unix_epoch_to_utc()

The conversion algorithm used uses a clever trick by letting a year start at 1
March. So we need to add 1 for January and February.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
8 years agoMerge pull request #1445 from brauner/2017-02-26/dumb_down_invalid_sigchld_warning
Stéphane Graber [Sun, 26 Feb 2017 16:12:43 +0000 (11:12 -0500)] 
Merge pull request #1445 from brauner/2017-02-26/dumb_down_invalid_sigchld_warning

start: dumb down SIGCHLD from WARN() to NOTICE()

8 years agostart: dumb down SIGCHLD from WARN() to NOTICE() 1445/head
Christian Brauner [Sun, 26 Feb 2017 11:51:30 +0000 (12:51 +0100)] 
start: dumb down SIGCHLD from WARN() to NOTICE()

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
8 years agoMerge pull request #1417 from zorun/master
Christian Brauner [Sat, 25 Feb 2017 02:02:41 +0000 (03:02 +0100)] 
Merge pull request #1417 from zorun/master

debian template: Allow to embed a SSH public key in the new container

8 years agoMerge pull request #1444 from evgeni/kill-squeeze
Christian Brauner [Thu, 23 Feb 2017 21:16:32 +0000 (22:16 +0100)] 
Merge pull request #1444 from evgeni/kill-squeeze

squeeze is not a supported release anymore, drop the key

8 years agosqueeze is not a supported release anymore, drop the key 1444/head
Evgeni Golov [Thu, 23 Feb 2017 21:03:40 +0000 (22:03 +0100)] 
squeeze is not a supported release anymore, drop the key

Signed-off-by: Evgeni Golov <evgeni@debian.org>
8 years agoMerge pull request #1442 from mkeeler/master
Stéphane Graber [Thu, 23 Feb 2017 17:47:10 +0000 (12:47 -0500)] 
Merge pull request #1442 from mkeeler/master

Fix issue with the clonehostname hook not working for overlayfs snapshot clones

8 years agoUse LXC_ROOTFS_MOUNT in clonehostname hook 1442/head
Matt Keeler [Wed, 22 Feb 2017 20:57:59 +0000 (15:57 -0500)] 
Use LXC_ROOTFS_MOUNT in clonehostname hook

Previously this hook did not work when cloning containers using an overlayfs snapshot as the LXC_ROOTFS_PATH didn't point to the actual filesystem that the container would see. LXC_ROOTFS_MOUNT should be used instead and in fact lxc.container.conf man page says that you usually would want to use the _MOUNT variant.

Signed-off-by: Matt Keeler <mjkeeler7@gmail.com>
8 years agoMerge pull request #1441 from tych0/only-do-bind-mounts
Christian Brauner [Wed, 22 Feb 2017 17:29:41 +0000 (18:29 +0100)] 
Merge pull request #1441 from tych0/only-do-bind-mounts

c/r: only supply --ext-mount-map for bind mounts

8 years agoMerge pull request #1438 from stgraber/master
Christian Brauner [Sun, 19 Feb 2017 22:13:31 +0000 (23:13 +0100)] 
Merge pull request #1438 from stgraber/master

lxc-download: Bump compat level to 4

8 years agolxc-download: Bump compat level to 4 1438/head
Stéphane Graber [Sun, 19 Feb 2017 20:17:39 +0000 (15:17 -0500)] 
lxc-download: Bump compat level to 4

For templates introduced after LXC 2.0 was released.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
8 years agoMerge pull request #1437 from ganto/lxc-fedora
Stéphane Graber [Sat, 18 Feb 2017 16:52:44 +0000 (11:52 -0500)] 
Merge pull request #1437 from ganto/lxc-fedora

Various fixes for Fedora bootstrapping on non-Fedora hosts

8 years agoFix argument parsing for recently added parameters 1437/head
Reto Gantenbein [Sat, 18 Feb 2017 16:05:31 +0000 (17:05 +0100)] 
Fix argument parsing for recently added parameters

Signed-off-by: Reto Gantenbein <reto.gantenbein@linuxmonk.ch>
8 years agoAdjust indenting
Reto Gantenbein [Sat, 18 Feb 2017 15:57:55 +0000 (16:57 +0100)] 
Adjust indenting

Signed-off-by: Reto Gantenbein <reto.gantenbein@linuxmonk.ch>
8 years agoVarious fixes for bootstrap image download via HTTPS
Reto Gantenbein [Sat, 18 Feb 2017 15:33:48 +0000 (16:33 +0100)] 
Various fixes for bootstrap image download via HTTPS

- Make sure mirror URL is queried for $FEDORA_RELEASE_DEFAULT
- Fix image path for URLs queried via mirror list

Signed-off-by: Reto Gantenbein <reto.gantenbein@linuxmonk.ch>
8 years agoFix undefined arch on initial bootstrap setup
Reto Gantenbein [Sat, 18 Feb 2017 14:24:03 +0000 (15:24 +0100)] 
Fix undefined arch on initial bootstrap setup

Signed-off-by: Reto Gantenbein <reto.gantenbein@linuxmonk.ch>
8 years agoMerge pull request #1435 from stgraber/master
Christian Brauner [Sat, 18 Feb 2017 00:34:51 +0000 (01:34 +0100)] 
Merge pull request #1435 from stgraber/master

sabayon: Use /bin/bash

8 years agosabayon: Use /bin/bash 1435/head
Stéphane Graber [Fri, 17 Feb 2017 22:06:23 +0000 (17:06 -0500)] 
sabayon: Use /bin/bash

The script is full of bashisms making it break when run with a simple
POSIX shell.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
8 years agoAdded 'mkdir -p' functionality in create_or_remove_cgroup 1433/head
McCabe, Robert J [Wed, 15 Feb 2017 20:36:03 +0000 (14:36 -0600)] 
Added 'mkdir -p' functionality in create_or_remove_cgroup

This allows us to run LXC containers from within docker

Signed-off-by: McCabe, Robert J <Robert.McCabe@rockwellcollins.com>
8 years agoMerge pull request #1371 from ganto/lxc-fedora
Stéphane Graber [Thu, 16 Feb 2017 21:12:33 +0000 (22:12 +0100)] 
Merge pull request #1371 from ganto/lxc-fedora

Complete rework of lxc-fedora template

8 years agoc/r: only supply --ext-mount-map for bind mounts 1441/head
Tycho Andersen [Wed, 15 Feb 2017 18:28:24 +0000 (11:28 -0700)] 
c/r: only supply --ext-mount-map for bind mounts

The rest of the mounts can be restored normally.

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
8 years agoMerge pull request #1428 from kilobyte/master
Serge Hallyn [Wed, 15 Feb 2017 05:35:02 +0000 (23:35 -0600)] 
Merge pull request #1428 from kilobyte/master

fix seccomp blocking x32 guests on amd64 (userspace) hosts

8 years agoMerge pull request #1430 from ffontaine/master
Christian Brauner [Sun, 12 Feb 2017 15:32:37 +0000 (16:32 +0100)] 
Merge pull request #1430 from ffontaine/master

Add HAVE_LIBCAP

8 years agoAdd HAVE_LIBCAP 1430/head
Fabrice Fontaine [Sat, 11 Feb 2017 21:40:19 +0000 (22:40 +0100)] 
Add HAVE_LIBCAP

Currently it is impossible to build lxc with --disable-capabilities if
the user has libcap-dev installed on his system as:
 - calls to cap_xxx functions are not protected by HAVE_LIBCAP defines.
 The whole file is only protected by HAVE_SYS_CAPABILITY_H.
 - AC_CHECK_LIB default action-if-found is overriden by [true] so
 HAVE_LIBCAP is never written to config.h

This patch replaces all HAVE_SYS_CAPABILITY_H checks by HAVE_LIBCAP
checks (fix #1361)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
8 years agoseccomp: allow x32 guests on amd64 hosts. 1428/head
Adam Borowski [Sun, 12 Feb 2017 06:26:54 +0000 (07:26 +0100)] 
seccomp: allow x32 guests on amd64 hosts.

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>
8 years agoMerge pull request #1424 from brauner/2017-02-08/thomasDOTjaroschATintra2netDOTcom_pt...
Stéphane Graber [Wed, 8 Feb 2017 16:07:26 +0000 (17:07 +0100)] 
Merge pull request #1424 from brauner/2017-02-08/thomasDOTjaroschATintra2netDOTcom_pty_sigttou

lxc_setup_tios(): Ignore SIGTTOU and SIGTTIN signals

8 years agoMerge pull request #1425 from cebe/patch-1
Stéphane Graber [Wed, 8 Feb 2017 16:06:33 +0000 (17:06 +0100)] 
Merge pull request #1425 from cebe/patch-1

Make lxc-net return non-zero on failure

8 years agoMake lxc-net return non-zero on failure 1425/head
Carsten Brandt [Wed, 8 Feb 2017 13:46:59 +0000 (14:46 +0100)] 
Make lxc-net return non-zero on failure

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>
8 years agolxc_setup_tios(): Ignore SIGTTOU and SIGTTIN signals 1424/head
Thomas Jarosch [Thu, 2 Feb 2017 11:48:35 +0000 (12:48 +0100)] 
lxc_setup_tios(): Ignore SIGTTOU and SIGTTIN signals

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>
8 years agoChange Fedora mirror downloads to https by default, rsync optional 1371/head
Reto Gantenbein [Tue, 7 Feb 2017 05:59:15 +0000 (06:59 +0100)] 
Change Fedora mirror downloads to https by default, rsync optional

This mainly affects the download of the bootstrap image when
running on a non-Fedora host and the initial download of the
repo and release RPMs. The container rootfs creation will then
be verified by dnf against the GPG signatures in the repos RPM.

Signed-off-by: Reto Gantenbein <reto.gantenbein@linuxmonk.ch>
8 years agoQuery Fedora mirror list over HTTPS
Reto Gantenbein [Mon, 6 Feb 2017 07:17:13 +0000 (08:17 +0100)] 
Query Fedora mirror list over HTTPS

Signed-off-by: Reto Gantenbein <reto.gantenbein@linuxmonk.ch>
8 years agoMerge pull request #1422 from brauner/2017-06-02/clear_config_vals
Stéphane Graber [Mon, 6 Feb 2017 22:49:30 +0000 (23:49 +0100)] 
Merge pull request #1422 from brauner/2017-06-02/clear_config_vals

confile: clear lxc.network.<n>.ipv{4,6} when empty

8 years agoconfile: clear lxc.network.<n>.ipv{4,6} when empty 1422/head
Christian Brauner [Mon, 6 Feb 2017 22:08:26 +0000 (23:08 +0100)] 
confile: clear lxc.network.<n>.ipv{4,6} when empty

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
8 years agodebian template: Allow to embed a SSH public key in the new container 1417/head
Baptiste Jonglez [Sun, 5 Feb 2017 21:58:30 +0000 (22:58 +0100)] 
debian template: Allow to embed a SSH public key in the new container

Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
8 years agoMerge pull request #1410 from brauner/2017-02-02/fix_compiler_error
Stéphane Graber [Thu, 2 Feb 2017 10:34:16 +0000 (05:34 -0500)] 
Merge pull request #1410 from brauner/2017-02-02/fix_compiler_error

conf/ile: make sure buffer is large enough

8 years agoMerge pull request #1409 from tych0/setproctitle-comments
Christian Brauner [Thu, 2 Feb 2017 09:54:49 +0000 (10:54 +0100)] 
Merge pull request #1409 from tych0/setproctitle-comments

util: update setproctitle comments

8 years agoMerge pull request #1398 from geaaru/lxc-sabayon
Stéphane Graber [Thu, 2 Feb 2017 09:45:46 +0000 (04:45 -0500)] 
Merge pull request #1398 from geaaru/lxc-sabayon

Add LXC template script of Sabayon OS

8 years agoconf/ile: make sure buffer is large enough 1410/head
Christian Brauner [Thu, 2 Feb 2017 09:31:30 +0000 (10:31 +0100)] 
conf/ile: make sure buffer is large enough

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>
8 years agoutil: update setproctitle comments 1409/head
Tycho Andersen [Thu, 2 Feb 2017 09:30:43 +0000 (10:30 +0100)] 
util: update setproctitle comments

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
8 years agoMerge pull request #1408 from tych0/setproctitle-always-malloc
Christian Brauner [Thu, 2 Feb 2017 09:09:23 +0000 (10:09 +0100)] 
Merge pull request #1408 from tych0/setproctitle-always-malloc

util: always malloc for setproctitle

8 years agoutil: always malloc for setproctitle 1408/head
Tycho Andersen [Thu, 2 Feb 2017 08:36:31 +0000 (09:36 +0100)] 
util: always malloc for setproctitle

Closes #1407

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
8 years agoMerge pull request #1402 from mabes/patch-1
Christian Brauner [Mon, 30 Jan 2017 13:52:36 +0000 (14:52 +0100)] 
Merge pull request #1402 from mabes/patch-1

lxc-opensuse: fix default value for release code

8 years agolxc-opensuse: fix default value for release code 1402/head
Maxime Besson [Mon, 30 Jan 2017 12:08:40 +0000 (13:08 +0100)] 
lxc-opensuse: fix default value for release code

Signed-off-by: Maxime Besson <maxime.besson@smile.fr>
8 years ago[lxc-sabayon] Add common scripts for daily image generation. 1398/head
Geaaru [Sun, 29 Jan 2017 18:03:55 +0000 (19:03 +0100)] 
[lxc-sabayon] Add common scripts for daily image generation.

Signed-off-by: Geaaru <geaaru@gmail.com>
8 years agoMerge pull request #1400 from bneumeier/master
Christian Brauner [Sun, 29 Jan 2017 16:23:47 +0000 (17:23 +0100)] 
Merge pull request #1400 from bneumeier/master

Allow build without sys/capability.h

8 years agoAllow build without sys/capability.h 1399/head 1400/head
Brett Neumeier [Sun, 29 Jan 2017 14:29:53 +0000 (08:29 -0600)] 
Allow build without sys/capability.h

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>
8 years agoAdd LXC template script of Sabayon OS
Geaaru [Sat, 28 Jan 2017 21:55:25 +0000 (22:55 +0100)] 
Add LXC template script of Sabayon OS

Signed-off-by: Geaaru <geaaru@gmail.com>
8 years agoMerge pull request #1397 from stgraber/master
Christian Brauner [Fri, 27 Jan 2017 22:49:49 +0000 (23:49 +0100)] 
Merge pull request #1397 from stgraber/master

Fix typo

8 years agoFix typo 1397/head
Stéphane Graber [Fri, 27 Jan 2017 22:40:11 +0000 (17:40 -0500)] 
Fix typo

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
8 years agoMerge pull request #1392 from cjwatson/start-ephemeral-python32
Stéphane Graber [Thu, 26 Jan 2017 16:45:20 +0000 (11:45 -0500)] 
Merge pull request #1392 from cjwatson/start-ephemeral-python32

Make lxc-start-ephemeral Python 3.2-compatible

8 years agoMake lxc-start-ephemeral Python 3.2-compatible 1392/head
Colin Watson [Thu, 26 Jan 2017 14:32:08 +0000 (14:32 +0000)] 
Make lxc-start-ephemeral Python 3.2-compatible

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>
8 years agoMerge pull request #1388 from trofi/master
Christian Brauner [Sat, 21 Jan 2017 12:41:36 +0000 (13:41 +0100)] 
Merge pull request #1388 from trofi/master

Use AC_HEADER_MAJOR to detect major()/minor()/makedev()

8 years agoUse AC_HEADER_MAJOR to detect major()/minor()/makedev() 1388/head
Sergei Trofimovich [Sat, 21 Jan 2017 11:57:13 +0000 (11:57 +0000)] 
Use AC_HEADER_MAJOR to detect major()/minor()/makedev()

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/604360
Signed-off-by: Sergei Trofimovich <siarheit@google.com>
8 years agoMerge pull request #1382 from evgeni/lsb-cgroupfs-mount
Christian Brauner [Thu, 12 Jan 2017 14:38:27 +0000 (15:38 +0100)] 
Merge pull request #1382 from evgeni/lsb-cgroupfs-mount

add cgroupfs-mount to Should-Start/Stop sysvinit LSB headers

8 years agoadd cgroupfs-mount to Should-Start/Stop sysvinit LSB headers 1382/head
Evgeni Golov [Thu, 12 Jan 2017 11:50:15 +0000 (12:50 +0100)] 
add cgroupfs-mount to Should-Start/Stop sysvinit LSB headers

otherwise init might try to start the containers before cgroupfs was
mounted.

Debian-Bug: https://bugs.debian.org/850212

Signed-off-by: Evgeni Golov <evgeni@debian.org>
8 years agoMerge pull request #1381 from brauner/2017-01-11/fix_volatile_containers
Serge Hallyn [Wed, 11 Jan 2017 16:05:32 +0000 (10:05 -0600)] 
Merge pull request #1381 from brauner/2017-01-11/fix_volatile_containers

tools/lxc-start: remove c->is_defined(c) check

8 years agotools/lxc-start: remove c->is_defined(c) check 1381/head
Christian Brauner [Wed, 11 Jan 2017 15:20:20 +0000 (16:20 +0100)] 
tools/lxc-start: remove c->is_defined(c) check

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>
8 years agoMerge pull request #1373 from brauner/2016-01-02/fix_execute_and_improve_setgroups
Serge Hallyn [Sat, 7 Jan 2017 16:33:57 +0000 (10:33 -0600)] 
Merge pull request #1373 from brauner/2016-01-02/fix_execute_and_improve_setgroups

start: fix execute and improve setgroups() calls

8 years agostart: check for CAP_SETGID before setgroups() 1373/head
Christian Brauner [Sat, 7 Jan 2017 11:41:18 +0000 (12:41 +0100)] 
start: check for CAP_SETGID before setgroups()

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
8 years agocaps: add lxc_cap_is_set()
Christian Brauner [Sat, 7 Jan 2017 11:40:37 +0000 (12:40 +0100)] 
caps: add lxc_cap_is_set()

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
8 years agostart: fix execute and improve setgroups() calls
Christian Brauner [Mon, 2 Jan 2017 14:14:22 +0000 (15:14 +0100)] 
start: fix execute and improve setgroups() calls

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>
8 years agoutils: add uid, gid, group convenience wrappers
Christian Brauner [Mon, 2 Jan 2017 14:12:10 +0000 (15:12 +0100)] 
utils: add uid, gid, group convenience wrappers

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>
8 years agoRestrict package locales to en_US
Reto Gantenbein [Thu, 5 Jan 2017 06:22:35 +0000 (07:22 +0100)] 
Restrict package locales to en_US

Adjust locale setup to official Fedora cloud setup. This will
shrink the image size for e.g. Fedora 25 from around 350MB to
260MB.

Signed-off-by: Reto Gantenbein <reto.gantenbein@linuxmonk.ch>
8 years agoFix chroot rpmdb path
Reto Gantenbein [Sat, 7 Jan 2017 01:36:38 +0000 (02:36 +0100)] 
Fix chroot rpmdb path

Signed-off-by: Reto Gantenbein <reto.gantenbein@linuxmonk.ch>
8 years agoFix installing multiple packages given with '--packages'
Reto Gantenbein [Fri, 6 Jan 2017 06:06:03 +0000 (07:06 +0100)] 
Fix installing multiple packages given with '--packages'

Signed-off-by: Reto Gantenbein <reto.gantenbein@linuxmonk.ch>
8 years agoFix version comparison
Reto Gantenbein [Fri, 6 Jan 2017 06:03:04 +0000 (07:03 +0100)] 
Fix version comparison

Signed-off-by: Reto Gantenbein <reto.gantenbein@linuxmonk.ch>
8 years agoMerge pull request #1379 from brauner/2017-01-04/fix_android
Stéphane Graber [Wed, 4 Jan 2017 16:30:09 +0000 (17:30 +0100)] 
Merge pull request #1379 from brauner/2017-01-04/fix_android

tools: only check for O_RDONLY

8 years agoMerge pull request #1376 from brauner/2017-01-04/sic_semper_assertis
Stéphane Graber [Wed, 4 Jan 2017 15:40:31 +0000 (16:40 +0100)] 
Merge pull request #1376 from brauner/2017-01-04/sic_semper_assertis

tree-wide: Sic semper assertis!

8 years agotools: only check for O_RDONLY 1379/head
Christian Brauner [Wed, 4 Jan 2017 15:28:50 +0000 (16:28 +0100)] 
tools: only check for O_RDONLY

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>
8 years agotree-wide: Sic semper assertis! 1376/head
Christian Brauner [Wed, 4 Jan 2017 09:28:25 +0000 (10:28 +0100)] 
tree-wide: Sic semper assertis!

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>