- 08 Jul, 2017 12 commits
-
-
Christian Brauner authored
Since we killed lxc-monitord we rely on the container's command socket to wait for the container. This doesn't work nicely on daemonized startup since a container's init process might be something that is so short-lived that we won't even be able to add a state client before the mainloop closes. But the container might still have been RUNNING and executed the init binary correctly. In this case we would erroneously report that the container failed to start when it actually started just fine. This commit ensures that we really all cases where the container successfully ran by switching to a short-lived per-container anonymous unix socket pair that uses credentials to pass container states around. It is immediately closed once the container has started successfully. This should also make daemonized container start way more robust since we don't rely on the command socket handler to be running. For the experienced developer: Yes, I did think about utilizing the command socket directly for this. The problem is that when the mainloop starts it may end up end accept()ing the connection that we want do_wait_on_daemonized_start() to accept() so this won't work and might cause us to hang indefinitely. The same problem arises when the container fails to start before the mainloop is created. In this case we would hang indefinitely as well. Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Serge Hallyn authored
prepare for LXC 2.1
-
Christian Brauner authored
af_unix: remove unlink operation
-
Christian Brauner authored
state: remove lxc_rmstate declaration
-
Christian Brauner authored
lxc_abstract_unix_connect: remove the workaround-code
-
Christian Brauner authored
utils: close parent end in child process after fork
-
Long Wang authored
Signed-off-by:Long Wang <w@laoqinren.net>
-
Long Wang authored
commit bdb3f441 says that we may undo the change in august 2014. I think that it is time to do that. Signed-off-by:
Long Wang <w@laoqinren.net>
-
Long Wang authored
Signed-off-by:Long Wang <w@laoqinren.net>
-
Long Wang authored
It is not necessary to unlink the abstract socket pathname when we have finished using the socket. The abstract name is automatically removed when the socket is closed. Signed-off-by:Long Wang <w@laoqinren.net>
-
- 07 Jul, 2017 2 commits
-
-
Stéphane Graber authored
Allow containers to start in AppArmor namespaces
-
Frédéric Dalleau authored
This patch allows users to start containers in AppArmor namespaces. Users can define their own profiles for their containers, but lxc-start must be allowed to change to a namespace. A container configuration file can wrap a container in an AppArmor profile using lxc.aa_profile. A process in an AppArmor namespace is restricted to view or manage only the profiles belonging to this namespace, as if no other profiles existed. A namespace can be created as follow: sudo mkdir /sys/kernel/security/apparmor/policy/namespaces/$NAMESPACE AppArmor can stack profiles so that the contained process is bound by the intersection of all profiles of the stack. This is achieved using the '//&' operator as follow: lxc.aa_profile = $PROFILE//&:$NAMESPACE://unconfined In this case, even the guest process appears unconfined in the namespace, it is still confined by $PROFILE. A guest allowed to access "/sys/kernel/security/apparmor/** rwklix," will be able to manage its own profile set, while still being enclosed in the topmost profile $PROFILE: Different guests can be assigned the same namespace or different namespaces. In the first case, they will share their profiles. In the second case, they will have distinct sets of profiles. This is validated on privileged containers. Signed-off-by:Frédéric Dalleau <frederic.dalleau@collabora.com>
-
- 06 Jul, 2017 1 commit
-
-
Christian Brauner authored
lxc-init: some enhancements
-
- 05 Jul, 2017 12 commits
-
-
Stéphane Graber authored
README: update
-
Christian Brauner authored
tests: delete the intermediate file and directory.
-
Christian Brauner authored
fix headers
-
Long Wang authored
Signed-off-by:Long Wang <w@laoqinren.net>
-
Long Wang authored
c->destory() will not remove the temp container directory. This patch fix that. Signed-off-by:Long Wang <w@laoqinren.net>
-
Long Wang authored
Signed-off-by:Long Wang <w@laoqinren.net>
-
Long Wang authored
Signed-off-by:Long Wang <w@laoqinren.net>
-
Long Wang authored
Signed-off-by:Long Wang <w@laoqinren.net>
-
Long Wang authored
Signed-off-by:Long Wang <w@laoqinren.net>
-
Long Wang authored
* Use `#include <lxc/lxccontaienr.h>` style for exported haeders. * remove used header `caps.h` Signed-off-by:Long Wang <w@laoqinren.net>
-
Long Wang authored
This patch mainly update the message format to: * upper the first letter * end without a dot all changes are relate to `lxc-init` Signed-off-by:Long Wang <w@laoqinren.net>
-
Long Wang authored
Signed-off-by:Long Wang <w@laoqinren.net>
-
- 04 Jul, 2017 2 commits
-
-
Christian Brauner authored
lxc-execute: print error message when failed
-
Long Wang authored
Signed-off-by:Long Wang <w@laoqinren.net>
-
- 03 Jul, 2017 6 commits
-
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Stéphane Graber authored
README: add CII Best Practices badge to README
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Christian Brauner authored
lxclock: bugfix and update some comment
-
Long Wang authored
This patch mainly updates comments based on the current code. Signed-off-by:Long Wang <w@laoqinren.net>
-
Long Wang authored
Signed-off-by:Long Wang <w@laoqinren.net>
-
- 02 Jul, 2017 5 commits
-
-
Christian Brauner authored
fix some cppcheck warnings
-
Christian Brauner authored
remove the unused macro
-
0x0916 authored
use cppcheck tools `cppcheck --enable=warning .` on lxc source directory. This patch fix the following warnning ``` [src/lxc/cgroups/cgfs.c:794]: (warning) %ld in format string (no. 3) requires 'long' but the argument type is 'unsigned long'. [src/lxc/confile.c:4441]: (warning) %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [src/lxc/confile.c:4502]: (warning) %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [src/lxc/confile_legacy.c:921]: (warning) %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [src/lxc/confile_legacy.c:938]: (warning) %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [src/lxc/lxclock.c:63]: (warning) %zd in format string (no. 1) requires 'ssize_t' but the argument type is 'size_t {aka unsigned long}'. [src/lxc/tools/lxc_info.c:118]: (warning) %u in format string (no. 1) requires 'unsigned int' but the argument type is 'signed int'. [src/lxc/tools/lxc_info.c:118]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'. [src/lxc/tools/lxc_info.c:123]: (warning) %u in format string (no. 1) requires 'unsigned int' but the argument type is 'signed int'. [src/lxc/tools/lxc_info.c:127]: (warning) %u in format string (no. 1) requires 'unsigned int' but the argument type is 'signed int'. [src/lxc/tools/lxc_info.c:130]: (warning) %u in format string (no. 1) requires 'unsigned int' but the argument type is 'signed int'. [src/lxc/tools/lxc_top.c:212]: (warning) %u in format string (no. 1) requires 'unsigned int' but the argument type is 'signed int'. [src/lxc/tools/lxc_top.c:212]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'. [src/lxc/tools/lxc_top.c:217]: (warning) %u in format string (no. 1) requires 'unsigned int' but the argument type is 'signed int'. [src/lxc/tools/lxc_top.c:221]: (warning) %u in format string (no. 1) requires 'unsigned int' but the argument type is 'signed int'. [src/lxc/tools/lxc_top.c:224]: (warning) %u in format string (no. 1) requires 'unsigned int' but the argument type is 'signed int'. ``` Signed-off-by:Long Wang <w@laoqinren.net>
-
0x0916 authored
Signed-off-by:Long Wang <w@laoqinren.net>
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-