]> git.ipfire.org Git - thirdparty/lxc.git/log
thirdparty/lxc.git
6 years agocompiler: -pipe
Christian Brauner [Mon, 11 Mar 2019 22:34:01 +0000 (23:34 +0100)] 
compiler: -pipe

Avoid temporary files, speeding up builds.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agocompiler: -fasynchronous-unwind-tables hardening
Christian Brauner [Mon, 11 Mar 2019 22:30:41 +0000 (23:30 +0100)] 
compiler: -fasynchronous-unwind-tables hardening

Increased reliability of backtraces.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agobtrfs: ensure \0 byte at end
Christian Brauner [Mon, 11 Mar 2019 11:47:23 +0000 (12:47 +0100)] 
btrfs: ensure \0 byte at end

Apparently the name received from the tree walk is not guaranteed to have \0
byte at the end. So let's make sure we append one.
Note that this is only an issue if there are any subvolumes in the container's
rootfs.

Closes 2826.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agohooks: drop namespace references before post-stop
Christian Brauner [Sun, 10 Mar 2019 10:46:18 +0000 (11:46 +0100)] 
hooks: drop namespace references before post-stop

Callers such as LXD run post-stop hooks to perform cleanup operations on
shutdown. This can involve umount and other things. To avoid surprises with
lingering namespace references we should close all our namespace-preserving
file descriptors. We don't need them at this point anymore anyway.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoFix lxc.cgroup2.<controller> on cgroup2-only systems
Michael Sparmann [Wed, 6 Mar 2019 23:06:11 +0000 (00:06 +0100)] 
Fix lxc.cgroup2.<controller> on cgroup2-only systems

Signed-off-by: Michael Sparmann <theseven@gmx.net>
6 years agoconf: avoid compiler warning
Christian Brauner [Tue, 5 Mar 2019 18:29:38 +0000 (19:29 +0100)] 
conf: avoid compiler warning

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoRevert "conf: Fixes unitialised variable."
Christian Brauner [Tue, 5 Mar 2019 18:28:52 +0000 (19:28 +0100)] 
Revert "conf: Fixes unitialised variable."

This reverts commit 912c4bb474b52284cf82c336b0af161be6c25ac1.

I accidently merged this commit. The initialization is wrong.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: Fixes unitialised variable.
tomponline [Tue, 5 Mar 2019 16:56:42 +0000 (16:56 +0000)] 
conf: Fixes unitialised variable.

Signed-off-by: tomponline <tomp@tomp.uk>
6 years agoconfile: make parse_limit_value() static
Christian Brauner [Mon, 4 Mar 2019 19:31:52 +0000 (20:31 +0100)] 
confile: make parse_limit_value() static

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconfile_utils: make update_hwaddr() static
Christian Brauner [Mon, 4 Mar 2019 19:30:41 +0000 (20:30 +0100)] 
confile_utils: make update_hwaddr() static

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconfile_utils: lxc_config_net_is_hwaddr()
Christian Brauner [Mon, 4 Mar 2019 19:26:33 +0000 (20:26 +0100)] 
confile_utils: lxc_config_net_is_hwaddr()

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agocmd: shut up gcc.
tomponline [Mon, 4 Mar 2019 08:37:16 +0000 (08:37 +0000)] 
cmd: shut up gcc.

Closes #2885.

Signed-off-by: tomponline <tomp@tomp.uk>
6 years agostorage: shut up gcc and remove unused variables.
tomponline [Mon, 4 Mar 2019 08:33:51 +0000 (08:33 +0000)] 
storage: shut up gcc and remove unused variables.

Closes #2885.

Signed-off-by: tomponline <tomp@tomp.uk>
6 years agostart: shut up gcc.
tomponline [Mon, 4 Mar 2019 08:27:59 +0000 (08:27 +0000)] 
start: shut up gcc.

Closes #2885.

Signed-off-by: tomponline <tomp@tomp.uk>
6 years agomonitor: shut up gcc.
tomponline [Mon, 4 Mar 2019 08:25:42 +0000 (08:25 +0000)] 
monitor: shut up gcc.

Closes #2885.

Signed-off-by: tomponline <tomp@tomp.uk>
6 years agonetwork: shut up gcc.
tomponline [Mon, 4 Mar 2019 08:23:39 +0000 (08:23 +0000)] 
network: shut up gcc.

Closes #2885.

Signed-off-by: tomponline <tomp@tomp.uk>
6 years agolxccontainer: shut up gcc and remove unused variables.
tomponline [Mon, 4 Mar 2019 08:20:59 +0000 (08:20 +0000)] 
lxccontainer: shut up gcc and remove unused variables.

Closes #2885.

Signed-off-by: tomponline <tomp@tomp.uk>
6 years agoattacg: shut up gcc
tomponline [Sat, 2 Mar 2019 10:14:32 +0000 (10:14 +0000)] 
attacg: shut up gcc

Invalid warning but let's please the compiler.

Closes lxc#2885.

Signed-off-by: tomponline <tomp@tomp.uk>
6 years agoattach: remove unused variable
tomponline [Sat, 2 Mar 2019 10:11:51 +0000 (10:11 +0000)] 
attach: remove unused variable

Closes lxc#2885.

Signed-off-by: tomponline <tomp@tomp.uk>
6 years agostring_utils.c: fix wrong licensing
Christian Brauner [Sun, 3 Mar 2019 13:16:31 +0000 (14:16 +0100)] 
string_utils.c: fix wrong licensing

liblxc has always been meant to be LGPLv2.1+ as reflected by the many
downstreams projects and bindings which are themselves under LGPLv2.1+ or other
licenses which would be incompatible with linking against a GPLv2+ library.

It's pretty normal for a library to be LGPL while binaries are GPL as a GPL
library would only ever be usable by other GPL-only projects, which isn't the
case for very many of the liblxc downstreams.

The issue here is really carelessness. None of those GPL headers were put there
intentionally, instead being wrongly copy/pasted from other parts of the
codebase which is indeed intended to be GPLv2+. This is also made clear in our
CONTRIBUTING file in this repository:

Licensing for new files:
------------------------

LXC is made of files shipped under a few different licenses.

Anything that ends up being part of the LXC library needs to be released
under LGPLv2.1+ or a license compatible with it (though the latter will
only be accepted for cases where the code originated elsewhere and was
imported into LXC).

Language bindings for the libraries need to be released under LGPLv2.1+.

Anything else (non-libraries) needs to be Free Software and needs to be
allowed to link with LGPLv2.1+ code (if needed). LXC upstream prefers
LGPLv2.1+ or GPLv2 for those.

When introducing a new file into the project, please make sure it has a
copyright header making clear under which license it's being released
and if it doesn't match the criteria described above, please explain
your decision on the lxc-devel mailing-list when submitting your patch.

This is intended to switch over files to LGPLv2.1+ to which end we have
collected ACKs from relevant people.
/* Affected People */
Christian Brauner <christian.brauner@ubuntu.com>
Donghwa Jeong <dh48.jeong@samsung.com>

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Acked-by: Donghwa Jeong <dh48.jeong@samsung.com>
6 years agofile_utils.c: fix wrong licensing
Christian Brauner [Sun, 3 Mar 2019 13:15:04 +0000 (14:15 +0100)] 
file_utils.c: fix wrong licensing

liblxc has always been meant to be LGPLv2.1+ as reflected by the many
downstreams projects and bindings which are themselves under LGPLv2.1+ or other
licenses which would be incompatible with linking against a GPLv2+ library.

It's pretty normal for a library to be LGPL while binaries are GPL as a GPL
library would only ever be usable by other GPL-only projects, which isn't the
case for very many of the liblxc downstreams.

The issue here is really carelessness. None of those GPL headers were put there
intentionally, instead being wrongly copy/pasted from other parts of the
codebase which is indeed intended to be GPLv2+. This is also made clear in our
CONTRIBUTING file in this repository:

Licensing for new files:
------------------------

LXC is made of files shipped under a few different licenses.

Anything that ends up being part of the LXC library needs to be released
under LGPLv2.1+ or a license compatible with it (though the latter will
only be accepted for cases where the code originated elsewhere and was
imported into LXC).

Language bindings for the libraries need to be released under LGPLv2.1+.

Anything else (non-libraries) needs to be Free Software and needs to be
allowed to link with LGPLv2.1+ code (if needed). LXC upstream prefers
LGPLv2.1+ or GPLv2 for those.

When introducing a new file into the project, please make sure it has a
copyright header making clear under which license it's being released
and if it doesn't match the criteria described above, please explain
your decision on the lxc-devel mailing-list when submitting your patch.

This is intended to switch over files to LGPLv2.1+ to which end we have
collected ACKs from relevant people.
/* Affected People */
Christian Brauner <christian.brauner@ubuntu.com>
Donghwa Jeong <dh48.jeong@samsung.com>

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Acked-by: Donghwa Jeong <dh48.jeong@samsung.com>
6 years agocommands_utils.h: fix wrong licensing
Christian Brauner [Sun, 3 Mar 2019 13:18:41 +0000 (14:18 +0100)] 
commands_utils.h: fix wrong licensing

liblxc has always been meant to be LGPLv2.1+ as reflected by the many
downstreams projects and bindings which are themselves under LGPLv2.1+ or other
licenses which would be incompatible with linking against a GPLv2+ library.

It's pretty normal for a library to be LGPL while binaries are GPL as a GPL
library would only ever be usable by other GPL-only projects, which isn't the
case for very many of the liblxc downstreams.

The issue here is really carelessness. None of those GPL headers were put there
intentionally, instead being wrongly copy/pasted from other parts of the
codebase which is indeed intended to be GPLv2+. This is also made clear in our
CONTRIBUTING file in this repository:

Licensing for new files:
------------------------

LXC is made of files shipped under a few different licenses.

Anything that ends up being part of the LXC library needs to be released
under LGPLv2.1+ or a license compatible with it (though the latter will
only be accepted for cases where the code originated elsewhere and was
imported into LXC).

Language bindings for the libraries need to be released under LGPLv2.1+.

Anything else (non-libraries) needs to be Free Software and needs to be
allowed to link with LGPLv2.1+ code (if needed). LXC upstream prefers
LGPLv2.1+ or GPLv2 for those.

When introducing a new file into the project, please make sure it has a
copyright header making clear under which license it's being released
and if it doesn't match the criteria described above, please explain
your decision on the lxc-devel mailing-list when submitting your patch.

This is intended to switch over files to LGPLv2.1+ to which end we have
collected ACKs from relevant people.
/* Affected People */
Christian Brauner <christian.brauner@ubuntu.com>
Donghwa Jeong <dh48.jeong@samsung.com>

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Acked-by: Donghwa Jeong <dh48.jeong@samsung.com>
6 years agocommands_utils.c: fix wrong licensing
Christian Brauner [Sun, 3 Mar 2019 13:11:55 +0000 (14:11 +0100)] 
commands_utils.c: fix wrong licensing

liblxc has always been meant to be LGPLv2.1+ as reflected by the many
downstreams projects and bindings which are themselves under LGPLv2.1+ or other
licenses which would be incompatible with linking against a GPLv2+ library.

It's pretty normal for a library to be LGPL while binaries are GPL as a GPL
library would only ever be usable by other GPL-only projects, which isn't the
case for very many of the liblxc downstreams.

The issue here is really carelessness. None of those GPL headers were put there
intentionally, instead being wrongly copy/pasted from other parts of the
codebase which is indeed intended to be GPLv2+. This is also made clear in our
CONTRIBUTING file in this repository:

Licensing for new files:
------------------------

LXC is made of files shipped under a few different licenses.

Anything that ends up being part of the LXC library needs to be released
under LGPLv2.1+ or a license compatible with it (though the latter will
only be accepted for cases where the code originated elsewhere and was
imported into LXC).

Language bindings for the libraries need to be released under LGPLv2.1+.

Anything else (non-libraries) needs to be Free Software and needs to be
allowed to link with LGPLv2.1+ code (if needed). LXC upstream prefers
LGPLv2.1+ or GPLv2 for those.

When introducing a new file into the project, please make sure it has a
copyright header making clear under which license it's being released
and if it doesn't match the criteria described above, please explain
your decision on the lxc-devel mailing-list when submitting your patch.

This is intended to switch over files to LGPLv2.1+ to which end we have
collected ACKs from relevant people.
/* Affected People */
Christian Brauner <christian.brauner@ubuntu.com>
Donghwa Jeong <dh48.jeong@samsung.com>

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Acked-by: Donghwa Jeong <dh48.jeong@samsung.com>
6 years agoFix android compilation
Ondrej Kubik [Thu, 21 Feb 2019 14:59:21 +0000 (16:59 +0200)] 
Fix android compilation

Signed-off-by: Ondrej Kubik <ondrej.kubik@canonical.com>
6 years agoCODING_STYLE: update
Christian Brauner [Fri, 1 Mar 2019 20:24:31 +0000 (21:24 +0100)] 
CODING_STYLE: update

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconfile: shut up gcc
Christian Brauner [Fri, 1 Mar 2019 20:15:49 +0000 (21:15 +0100)] 
confile: shut up gcc

Invalid warning but let's please the compiler.

Closes #2885.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: remove unused variable
Christian Brauner [Fri, 1 Mar 2019 20:15:20 +0000 (21:15 +0100)] 
conf: remove unused variable

Closes #2885.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoinitutils: remove fgets() from setproctitle()
Christian Brauner [Fri, 1 Mar 2019 20:08:28 +0000 (21:08 +0100)] 
initutils: remove fgets() from setproctitle()

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoinitutils: remove fgets() from lxc_global_con[...]
Christian Brauner [Fri, 1 Mar 2019 19:55:33 +0000 (20:55 +0100)] 
initutils: remove fgets() from lxc_global_con[...]

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: remove fgets() from lxc_chroot()
Christian Brauner [Fri, 1 Mar 2019 11:12:15 +0000 (12:12 +0100)] 
conf: remove fgets() from lxc_chroot()

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: remove fgets() from run_buffer()
Christian Brauner [Fri, 1 Mar 2019 11:00:42 +0000 (12:00 +0100)] 
conf: remove fgets() from run_buffer()

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agogpg: use proxy, if http_proxy is set
Marco Dickert [Thu, 28 Feb 2019 09:03:16 +0000 (10:03 +0100)] 
gpg: use proxy, if http_proxy is set

Signed-off-by: Marco Dickert <marco@misterunknown.de>
6 years agoattach: use move_fd in lxc_proc_close_ns_fd
Wolfgang Bumiller [Mon, 25 Feb 2019 16:05:24 +0000 (17:05 +0100)] 
attach: use move_fd in lxc_proc_close_ns_fd

Previously this set `ctx->ns_fd[*]` to `-EBADF` until commit
fd2a88b190eb ("attach: cleanup macros lxc_proc_close_ns_fd",
but there are some code paths where we call this before
later calling `lxc_proc_put_context_info` which would call
this function again with the file descriptors still
unchanged.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
6 years agoconf: cleanup macros suggest_default_idmap
Christian Brauner [Fri, 22 Feb 2019 21:15:09 +0000 (22:15 +0100)] 
conf: cleanup macros suggest_default_idmap

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros write_id_mapping
Christian Brauner [Fri, 22 Feb 2019 21:12:20 +0000 (22:12 +0100)] 
conf: cleanup macros write_id_mapping

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros setup_mount_entries
Christian Brauner [Fri, 22 Feb 2019 21:07:26 +0000 (22:07 +0100)] 
conf: cleanup macros setup_mount_entries

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros make_anonymous_mount_file
Christian Brauner [Fri, 22 Feb 2019 21:06:47 +0000 (22:06 +0100)] 
conf: cleanup macros make_anonymous_mount_file

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros lxc_fill_autodev
Christian Brauner [Fri, 22 Feb 2019 21:04:14 +0000 (22:04 +0100)] 
conf: cleanup macros lxc_fill_autodev

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros lxc_pivot_root
Christian Brauner [Fri, 22 Feb 2019 20:59:57 +0000 (21:59 +0100)] 
conf: cleanup macros lxc_pivot_root

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros lxc_chroot
Christian Brauner [Fri, 22 Feb 2019 20:56:55 +0000 (21:56 +0100)] 
conf: cleanup macros lxc_chroot

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros remount_all_slave
Christian Brauner [Fri, 22 Feb 2019 20:49:48 +0000 (21:49 +0100)] 
conf: cleanup macros remount_all_slave

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: simplify idmaptool_on_path_and_privileged
Christian Brauner [Fri, 22 Feb 2019 20:41:41 +0000 (21:41 +0100)] 
conf: simplify idmaptool_on_path_and_privileged

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agolxc-attach: switch to attach_run_wait
Christian Brauner [Thu, 21 Feb 2019 19:28:24 +0000 (20:28 +0100)] 
lxc-attach: switch to attach_run_wait

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years ago.travis: remove coverity
Christian Brauner [Thu, 21 Feb 2019 09:56:13 +0000 (10:56 +0100)] 
.travis: remove coverity

It hasn't worked reliably for us for a long time. Remove it until such time as
someone cares enough to fix it.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years ago.travis: give coverity one more try
Christian Brauner [Thu, 21 Feb 2019 09:47:13 +0000 (10:47 +0100)] 
.travis: give coverity one more try

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoattach: cleanup macros lxc_attach_terminal_[...]
Christian Brauner [Wed, 20 Feb 2019 23:35:52 +0000 (00:35 +0100)] 
attach: cleanup macros lxc_attach_terminal_[...]

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoattach: cleanup macros lxc_put_attach_clone_[...]
Christian Brauner [Wed, 20 Feb 2019 23:21:57 +0000 (00:21 +0100)] 
attach: cleanup macros lxc_put_attach_clone_[...]

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoattach: cleanup macros in_same_namespace
Christian Brauner [Wed, 20 Feb 2019 23:18:59 +0000 (00:18 +0100)] 
attach: cleanup macros in_same_namespace

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoattach: cleanup macros lxc_proc_close_ns_fd
Christian Brauner [Wed, 20 Feb 2019 23:12:15 +0000 (00:12 +0100)] 
attach: cleanup macros lxc_proc_close_ns_fd

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agotravis: run coccinelle
Christian Brauner [Wed, 20 Feb 2019 20:11:46 +0000 (21:11 +0100)] 
travis: run coccinelle

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agotravis: run coccinelle
Christian Brauner [Wed, 20 Feb 2019 19:44:16 +0000 (20:44 +0100)] 
travis: run coccinelle

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros suggest_default_idmap
Christian Brauner [Tue, 19 Feb 2019 22:49:14 +0000 (23:49 +0100)] 
conf: cleanup macros suggest_default_idmap

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros get{g,u}name
Christian Brauner [Tue, 19 Feb 2019 22:48:06 +0000 (23:48 +0100)] 
conf: cleanup macros get{g,u}name

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros get_minimal_idmap
Christian Brauner [Tue, 19 Feb 2019 22:47:49 +0000 (23:47 +0100)] 
conf: cleanup macros get_minimal_idmap

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros lxc_execute_bind_init
Christian Brauner [Tue, 19 Feb 2019 22:47:26 +0000 (23:47 +0100)] 
conf: cleanup macros lxc_execute_bind_init

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros remount_all_slave
Christian Brauner [Tue, 19 Feb 2019 22:47:05 +0000 (23:47 +0100)] 
conf: cleanup macros remount_all_slave

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros idmaptool_on_path_[...]
Christian Brauner [Tue, 19 Feb 2019 22:46:34 +0000 (23:46 +0100)] 
conf: cleanup macros idmaptool_on_path_[...]

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros setup_proc_filesystem
Christian Brauner [Tue, 19 Feb 2019 22:46:11 +0000 (23:46 +0100)] 
conf: cleanup macros setup_proc_filesystem

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros setup_sysctl_parameters
Christian Brauner [Tue, 19 Feb 2019 22:45:43 +0000 (23:45 +0100)] 
conf: cleanup macros setup_sysctl_parameters

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros mount_entry_on_generic
Christian Brauner [Tue, 19 Feb 2019 22:45:24 +0000 (23:45 +0100)] 
conf: cleanup macros mount_entry_on_generic

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros mount_entry_create_dir_file
Christian Brauner [Tue, 19 Feb 2019 22:45:03 +0000 (23:45 +0100)] 
conf: cleanup macros mount_entry_create_dir_file

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros parse_propagationopts
Christian Brauner [Tue, 19 Feb 2019 22:44:08 +0000 (23:44 +0100)] 
conf: cleanup macros parse_propagationopts

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros parse_mntopts
Christian Brauner [Tue, 19 Feb 2019 22:43:45 +0000 (23:43 +0100)] 
conf: cleanup macros parse_mntopts

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros lxc_chroot
Christian Brauner [Tue, 19 Feb 2019 22:43:27 +0000 (23:43 +0100)] 
conf: cleanup macros lxc_chroot

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros lxc_mount_auto_mounts
Christian Brauner [Tue, 19 Feb 2019 22:43:04 +0000 (23:43 +0100)] 
conf: cleanup macros lxc_mount_auto_mounts

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros pin_rootfs
Christian Brauner [Tue, 19 Feb 2019 22:42:45 +0000 (23:42 +0100)] 
conf: cleanup macros pin_rootfs

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: cleanup macros run_script_argv
Christian Brauner [Tue, 19 Feb 2019 22:42:25 +0000 (23:42 +0100)] 
conf: cleanup macros run_script_argv

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: auto free run_buffer
Christian Brauner [Tue, 19 Feb 2019 22:41:48 +0000 (23:41 +0100)] 
conf: auto free run_buffer

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agocommands_utils: auto free lxc_add_state_client
Christian Brauner [Tue, 19 Feb 2019 22:21:50 +0000 (23:21 +0100)] 
commands_utils: auto free lxc_add_state_client

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agocommands_utils: auto close lxc_cmd_sock_get_state
Christian Brauner [Tue, 19 Feb 2019 22:21:08 +0000 (23:21 +0100)] 
commands_utils: auto close lxc_cmd_sock_get_state

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agocve-2019-5736: add test
Christian Brauner [Tue, 19 Feb 2019 17:19:18 +0000 (18:19 +0100)] 
cve-2019-5736: add test

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agotree-wide: s/steal_fd/move_fd/g
Christian Brauner [Mon, 18 Feb 2019 21:13:42 +0000 (22:13 +0100)] 
tree-wide: s/steal_fd/move_fd/g

Suggested-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agocommands: cleanup macros lxc_cmd_init()
Christian Brauner [Sun, 17 Feb 2019 13:46:25 +0000 (14:46 +0100)] 
commands: cleanup macros lxc_cmd_init()

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agocommands: cleanup macros lxc_cmd_init
Christian Brauner [Sun, 17 Feb 2019 13:44:20 +0000 (14:44 +0100)] 
commands: cleanup macros lxc_cmd_init

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agocommands: cleanup macros lxc_cmd_accept()
Christian Brauner [Sun, 17 Feb 2019 13:42:51 +0000 (14:42 +0100)] 
commands: cleanup macros lxc_cmd_accept()

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agocommands: cleanup macros lxc_cmd_add_state_client
Christian Brauner [Sun, 17 Feb 2019 13:39:55 +0000 (14:39 +0100)] 
commands: cleanup macros lxc_cmd_add_state_client

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agocommands: cleanup macros lxc_cmd()
Christian Brauner [Sun, 17 Feb 2019 13:36:52 +0000 (14:36 +0100)] 
commands: cleanup macros lxc_cmd()

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agocommands: use __do_close_prot_errno
Christian Brauner [Sun, 17 Feb 2019 13:32:14 +0000 (14:32 +0100)] 
commands: use __do_close_prot_errno

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agomacro: introduce steal_fd()
Christian Brauner [Sun, 17 Feb 2019 13:31:40 +0000 (14:31 +0100)] 
macro: introduce steal_fd()

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agocommands: cleanup macros in lxc_cmd_console()
Christian Brauner [Sun, 17 Feb 2019 13:24:30 +0000 (14:24 +0100)] 
commands: cleanup macros in lxc_cmd_console()

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agocommands: move declaration into tighter scope
Christian Brauner [Sun, 17 Feb 2019 13:21:09 +0000 (14:21 +0100)] 
commands: move declaration into tighter scope

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agolxc-usernsexec: use cleanup macros
Christian Brauner [Sat, 9 Feb 2019 11:05:46 +0000 (12:05 +0100)] 
lxc-usernsexec: use cleanup macros

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agolxc-user-nic: use cleanup macros
Christian Brauner [Sat, 9 Feb 2019 11:02:22 +0000 (12:02 +0100)] 
lxc-user-nic: use cleanup macros

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agolxc-init: use cleanup macros
Christian Brauner [Sat, 9 Feb 2019 10:57:07 +0000 (11:57 +0100)] 
lxc-init: use cleanup macros

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agocgroup_utils: use __do_free
Christian Brauner [Sat, 9 Feb 2019 10:51:04 +0000 (11:51 +0100)] 
cgroup_utils: use __do_free

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoattach: use __do_free
Christian Brauner [Sat, 9 Feb 2019 10:46:15 +0000 (11:46 +0100)] 
attach: use __do_free

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoaf_unix: use __do_free
Christian Brauner [Sat, 9 Feb 2019 10:36:18 +0000 (11:36 +0100)] 
af_unix: use __do_free

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agostart: move variable into tighter scope
Christian Brauner [Sat, 9 Feb 2019 10:32:45 +0000 (11:32 +0100)] 
start: move variable into tighter scope

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agonetwork: do not log false friends
Christian Brauner [Fri, 15 Feb 2019 22:50:34 +0000 (23:50 +0100)] 
network: do not log false friends

The netlink functions just return -1 and not specific negative errno values so
logging them doesn't make any sense.

Fixes: https://discuss.linuxcontainers.org/t/warning-in-the-container-log/4072/2
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoconf: do not log devpts umount2() failure
Christian Brauner [Fri, 15 Feb 2019 22:42:30 +0000 (23:42 +0100)] 
conf: do not log devpts umount2() failure

We're not acting based on the return value so don't log anything.

Fixes: https://discuss.linuxcontainers.org/t/warning-in-the-container-log/4072/2
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoapparmor: Improve testing on apparmor python script
Hervé Beraud [Tue, 12 Feb 2019 22:47:25 +0000 (23:47 +0100)] 
apparmor: Improve testing on apparmor python script

Compare command output to already existing container-rules file

Signed-off-by: Hervé Beraud <hberaud@redhat.com>
6 years agoapparmor: catch config file opening error
Hervé Beraud [Tue, 12 Feb 2019 21:48:51 +0000 (22:48 +0100)] 
apparmor: catch config file opening error

Improve config file error opening management
and improve main code block.

Execute this python script during CI to avoid
regressions

Signed-off-by: Hervé Beraud <hberaud@redhat.com>
6 years agostring_utils.h: fix wrong licensing
Christian Brauner [Mon, 11 Feb 2019 21:13:34 +0000 (22:13 +0100)] 
string_utils.h: fix wrong licensing

liblxc has always been meant to be LGPLv2.1+ as reflected by the many
downstreams projects and bindings which are themselves under LGPLv2.1+ or other
licenses which would be incompatible with linking against a GPLv2+ library.

It's pretty normal for a library to be LGPL while binaries are GPL as a GPL
library would only ever be usable by other GPL-only projects, which isn't the
case for very many of the liblxc downstreams.

The issue here is really carelessness. None of those GPL headers were put there
intentionally, instead being wrongly copy/pasted from other parts of the
codebase which is indeed intended to be GPLv2+. This is also made clear in our
CONTRIBUTING file in this repository:

Licensing for new files:
------------------------

LXC is made of files shipped under a few different licenses.

Anything that ends up being part of the LXC library needs to be released
under LGPLv2.1+ or a license compatible with it (though the latter will
only be accepted for cases where the code originated elsewhere and was
imported into LXC).

Language bindings for the libraries need to be released under LGPLv2.1+.

Anything else (non-libraries) needs to be Free Software and needs to be
allowed to link with LGPLv2.1+ code (if needed). LXC upstream prefers
LGPLv2.1+ or GPLv2 for those.

When introducing a new file into the project, please make sure it has a
copyright header making clear under which license it's being released
and if it doesn't match the criteria described above, please explain
your decision on the lxc-devel mailing-list when submitting your patch.

This is intended to switch over files to LGPLv2.1+ to which end we have
collected ACKs from relevant people.
/* Affected People */
Christian Brauner <christian.brauner@ubuntu.com>
Fabrice Fontaine <fontaine.fabrice@gmail.com>
Josh Soref <jsoref@gmail.com>

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Acked-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Acked-by: Josh Soref <jsoref@gmail.com>
6 years agosyscall_wrappers: fix wrong licensing
Christian Brauner [Mon, 11 Feb 2019 16:30:26 +0000 (17:30 +0100)] 
syscall_wrappers: fix wrong licensing

/* Affected People */
Christian Brauner <christian.brauner@ubuntu.com>
Aleksa Sarai <cyphar@cyphar.com>

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoringbuf.h: fix wrong licensing
Christian Brauner [Mon, 11 Feb 2019 16:29:31 +0000 (17:29 +0100)] 
ringbuf.h: fix wrong licensing

/* Affected People */
Christian Brauner <christian.brauner@ubuntu.com>

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agocompiler: fix wrong licensing
Christian Brauner [Mon, 11 Feb 2019 16:23:52 +0000 (17:23 +0100)] 
compiler: fix wrong licensing

/* Affected People */
Christian Brauner <christian.brauner@ubuntu.com>

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agoparse: handle \r
Christian Brauner [Sun, 10 Feb 2019 22:55:17 +0000 (23:55 +0100)] 
parse: handle \r

Closes #2838.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agococcinelle: use standard exit identifiers
Christian Brauner [Sat, 9 Feb 2019 10:23:54 +0000 (11:23 +0100)] 
coccinelle: use standard exit identifiers

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agococcinelle: s/while({1,true})/for(;;)/
Christian Brauner [Fri, 8 Feb 2019 22:57:06 +0000 (23:57 +0100)] 
coccinelle: s/while({1,true})/for(;;)/

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
6 years agococcinelle: add coccinelle support
Christian Brauner [Fri, 8 Feb 2019 22:56:51 +0000 (23:56 +0100)] 
coccinelle: add coccinelle support

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