Commit Graph

3574 Commits

Author SHA1 Message Date
Christian Brauner
840d2afe82 Refactor lxc-clone
- This commit adapts lxc-clone to be similiar in usage and feel to the other
  lxc-* executables. It builds on the previous extension of the lxc_argument
  struct and now uses the default lxc_arguments_parse() function.
- Options which were not used have been removed.
- The LXC_CLONE_KEEPNAME flag was not respected in the previous version of
  lxc-clone. The culprit is a missing if-condition in lxccontainer.c. As this
  requires a change in one of the API functions in lxccontainer.c it will be
  addressed in a follow-up commit.

Signed-off-by: Christian Brauner <christianvanbrauner@gmail.com>
2015-08-08 02:34:56 +02:00
Christian Brauner
5d5da49be4 Refactor lxc-snapshot
- lxc_snapshot.c lacked necessary members in the associated lxc_arguments struct
  in arguments.h. This commit extends the lxc_arguments struct to include
  several parameters used by lxc-snapshot which allows a rewrite that is more
  consistent with the rest of the lxc-* executables.
- All tests have been moved beyond the call to lxc_log_init() to allow for the
  messages to be printed or saved.
- Some small changes to the my_args struct. (The enum task is set to
  SNAP (for snapshot) per default and variables illustrating the usage of the
  command line flags are written in all caps.)
- arguments.h has been extended to accommodate a rewrite of lxc-clone

Signed-off-by: Christian Brauner <christianvanbrauner@gmail.com>
2015-08-07 23:40:38 +02:00
Christiaan Baartse
710035fd43 Bind mount at different location
Binding a directory at a different location in a ephemeral container is
currently not possible. Using a regular container it however is possible.

Signed-off-by: Christiaan Baartse <anotherhero@gmail.com>
2015-08-07 16:32:30 +02:00
Nicolas Cornu
997772559e Fresh CONTRIBUTING
Signed-off-by: Nicolas Cornu <nicolac76@yahoo.fr>
2015-08-05 21:08:28 +02:00
Stéphane Graber
f20b99d3de Merge pull request #615 from jirislaby/master
templates: lxc-opensuse, use rpm to determine build version
2015-08-05 10:42:49 -04:00
Stéphane Graber
061ed04e79 Merge pull request #614 from alkino/master
Fix error message when cannot find an lxc-init
2015-08-05 10:42:23 -04:00
Jiri Slaby
fe89217a88 templates: lxc-opensuse, use rpm to determine build version
zypper info's output is not usable for several reasons:
* it is localized -- there is no "Version: " in my output
* it shows results both from the repo and local system

So use plain rpm to determine whether build is installed and if proper
version is in place.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
2015-08-05 10:32:54 +02:00
Nicolas Cornu
1e1d1dcaf6 Fix error message when cannot find an lxc-init
lxc-init has been renamed init.lxc so adapt error message

Signed-off-by: Nicolas Cornu <ncornu@aldebaran.com>
2015-08-05 09:22:24 +02:00
Natanael Copa
e00f9e4e7a lxc-alpine: fix verification of apk.static binary
We need specify which hashing algorithm was used to create the signature
we check.

Fixes #609

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2015-08-04 08:36:18 -04:00
Stéphane Graber
2cfae58575 Merge pull request #612 from brauner/lxc_rename
Add option to rename container to lxc-clone
2015-08-04 08:23:43 -04:00
Stéphane Graber
b076d08b90 Merge pull request #613 from ysbnim/master
Update Korean manuals
2015-08-04 08:23:02 -04:00
Sungbae Yoo
2aeb28ec17 doc: Add the description for --version to Korean common_options
Update for commit 7cab33b

Signed-off-by: Sungbae Yoo <sungbae.yoo@samsung.com>
2015-08-04 18:16:14 +09:00
Sungbae Yoo
347597fa53 doc: Add the description for -P and --version to Korean lxc-ls(1)
Update for commit 2cf7c05

Signed-off-by: Sungbae Yoo <sungbae.yoo@samsung.com>
2015-08-04 18:15:18 +09:00
Sungbae Yoo
996d777025 doc: Update Korean lxc-usernet(5) for supporting usergroups
Update for commit 1940bff

Signed-off-by: Sungbae Yoo <sungbae.yoo@samsung.com>
2015-08-04 09:26:41 +09:00
Christian Brauner
ef44c2f674 Add option to rename container to lxc-clone
This commit adds an -R, --rename option to lxc-clone to rename a container. As
c->rename calls do_lxcapi_rename() which in turn calls do_lxcapi_clone() it
seemed best to implement it in lxc-clone rather than lxc-snapshot which also
calls do_lxcapi_clone(). Some additional unification regarding the usage of
return vs exit() in main() was done.

Signed-off-by: Christian Brauner <christianvanbrauner@gmail.com>
2015-08-03 21:32:13 +02:00
Stéphane Graber
bfec108c77 Merge pull request #610 from tenforward/update_man
Update man pages
2015-08-03 09:24:38 -04:00
KATOH Yasufumi
7b4a6f9779 doc: Remove unnecessary common options from lxc-user-nic(1)
lxc-user-nic command cannot use common options.

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
2015-08-03 16:42:38 +09:00
KATOH Yasufumi
7cab33b107 doc: Add the description for --version to English and Japanese common_options
Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
2015-08-03 16:40:13 +09:00
KATOH Yasufumi
2cf7c05abe doc: Add the description for -P and --version to English and Japanese lxc-ls(1)
Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
2015-08-03 16:28:33 +09:00
Stéphane Graber
ee5aee2258 Merge pull request #608 from brauner/lxc_ls_doc
Add -P lxcpath and --version to lxc-ls manpage
2015-08-03 00:33:47 -04:00
Christian Brauner
a4cd509bd8 Add -P lxcpath and --version to lxc-ls manpage
lxc-ls takes -P lxcpath and --version as arguments but it did not specify these
options on the manpages.

Signed-off-by: Christian Brauner <christianvanbrauner@gmail.com>
2015-08-01 17:05:56 +02:00
Serge Hallyn
e88ba17e63 Merge pull request #600 from Blub/wbumiller/seccomp
seccomp: simplify and fix rule parsing
2015-07-28 21:37:14 -05:00
Wolfgang Bumiller
d6417887b9 seccomp: simplify and fix rule parsing
1) Two checks on amd64 for whether compat_ctx has already
been generated were redundant, as compat_ctx is generally
generated before entering the parsing loop.

2) With introduction of reject_force_umount the check for
whether the syscall has the same id on both native and
compat archs results in false behavior as this is an
internal keyword and thus produces a -1 on
seccomp_syscall_resolve_name_arch().
The result was that it was added to the native architecture
twice and never to the 32 bit architecture, causing it to
have no effect on 32 bit containers on 64 bit hosts.

3) I do not see a reason to care about whether the syscalls
have the same number on the two architectures. On the one
hand this check was there to avoid adding it to two archs
(and effectively leaving one arch unprotected), while on
the other hand it seemed to be okay to add it to the
same arch *twice*.

The entire architecture checking branches are now reduced to
three simple cases: 'native', 'non-native' and 'all'. With
'all' adding to both architectures regardless of the syscall
ID.

Also note that libseccomp had a bug in its architecture
checking, so architecture related filters weren't working as
expected before version 2.2.2, which may have contributed to
the confusion in the original architecture-related code.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2015-07-23 13:28:40 +02:00
Stéphane Graber
f5fd66f70a
Fix Android build due to missing constant
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2015-07-22 11:55:46 -04:00
Stéphane Graber
5c3fcae78b CVE-2015-1334: Don't use the container's /proc during attach
A user could otherwise over-mount /proc and prevent the apparmor profile
or selinux label from being written which combined with a modified
/bin/sh or other commonly used binary would lead to unconfined code
execution.

Reported-by: Roman Fiedler
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2015-07-22 10:10:19 -04:00
Serge Hallyn
72cf81f6a3 CVE-2015-1331: lxclock: use /run/lxc/lock rather than /run/lock/lxc
This prevents an unprivileged user to use LXC to create arbitrary file
on the filesystem.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2015-07-22 10:09:09 -04:00
Stéphane Graber
f52c0d2677 Merge pull request #597 from smoser/ubuntu-cloud-vendordata
lxc-ubuntu-cloud: support passing vendor-data
2015-07-21 10:43:48 -04:00
Scott Moser
5d066f24e6 lxc-ubuntu-cloud: support passing vendor-data
vendor-data is supported in Ubuntu cloud images in trusty and later.
This allows the user to pass it in on create or clone.

Signed-off-by: Scott Moser <smoser@ubuntu.com>
2015-07-21 10:30:19 -04:00
Stéphane Graber
b9efb0c91c Merge pull request #581 from Blub/master
Use /dev/loop-control if it exists
2015-07-19 22:21:21 -04:00
Stéphane Graber
f71e8f41fb
lxc-fedora: Default to 22 but use 20 squashfs
The Fedora 22 squashfs doesn't appear to work, the Fedora 21 isn't
available, so lets use the fedora archive mirror and pull the good old
Fedora 20 squashfs.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2015-07-18 23:42:00 -04:00
Stéphane Graber
c28d2f446b Default to Fedora 21 as 22 no longer uses yum
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2015-07-18 23:30:46 -04:00
Stéphane Graber
b65c5374d4
Fix fedora some more
Apparently the paths have changed on the rsync server.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2015-07-18 23:18:34 -04:00
Stéphane Graber
29be874c4e
Fedora 20 no longer exists on the mirrors
Switch to Fedora 22 for now.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2015-07-18 23:01:24 -04:00
Stéphane Graber
76e484a709 lxc-autostart: Fix broken output
This fixes some typos, missing newlines and unflushed output leading to
duplicate entries when piped (similar to what we had in lxc-info).

Reported-by: Marc Gariépy
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2015-07-17 14:46:12 -04:00
Stéphane Graber
7faa223603 Merge pull request #588 from sapun/master
fix container creation from ansible lxc_containers module
2015-07-14 14:08:36 -04:00
Alex Punco
e145bd47c6 fix container creation from ansible lxc_containers module
Signed-off-by: Alex Punco <punco@selectel.ru>
2015-07-13 17:42:45 +03:00
Wolfgang Bumiller
edd7414a64 Use /dev/loop-control if it exists
Loop devices can be added on the fly when needed, they're
not always created beforehand. The loop-control device can
be used to find and allocate the next available number
instead of going through the /dev directory contents (which
is now only a fallback mechanism).

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2015-07-03 14:58:42 +02:00
Cameron Norman
de2b7e655f Add instanced systemd service
Signed-off-by: Cameron Norman <camerontnorman@gmail.com>
2015-07-01 14:18:35 -07:00
Stéphane Graber
814d049da4 Merge pull request #579 from fanyeren/patch-11
debian template: reconfigure locales
2015-07-01 15:19:46 -04:00
有张纸
114eb32f24 debian template: reconfigure locales
Signed-off-by: feng xiahou <xiahoufeng@yahoo.com>
2015-07-01 23:39:08 +08:00
KATOH Yasufumi
dc80aa9cb0 Support unprivileged ephemeral container using aufs
As the commit 31a882e, an unprivileged container can use aufs.
This patch removes the check for unpriv aufs, and change the path of
xino file as an unprivileged user can mount aufs.

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-06-30 15:18:17 -04:00
KATOH Yasufumi
b0c8058323 doc: Update Japanese lxc-usernet(5) for supporting usergroups
Update for commit 1940bff, and fix typo in English man

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2015-06-30 15:17:30 -04:00
KATOH Yasufumi
da7b32317a plamo: Support LXC_CACHE_PATH
lxc-plamo supports LXC_CACHE_PATH that is introduced at commit 6dc6f80

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-06-30 15:17:05 -04:00
Stéphane Graber
1084182111 Merge pull request #540 from ysbnim/master
config: miscellaneous signals for lxc.*signal
2015-06-30 15:04:43 -04:00
Stéphane Graber
7c3fb6bf10 Merge pull request #545 from bogen/master
The yum in Centos 5.11 does not know about '--releasever', which is u…
2015-06-30 15:03:51 -04:00
Stéphane Graber
a42989df60 Merge pull request #552 from lrowe/patch-1
Wait on correct container name
2015-06-30 15:01:17 -04:00
Stéphane Graber
82e4093384 Merge pull request #561 from ysbnim/kor_manual
Add Korean man pages
2015-06-30 15:00:53 -04:00
Stéphane Graber
8b9d08041e Merge pull request #576 from fanyeren/patch-10
debootstrap failed when $GREP_OPTIONS color is set
2015-06-30 15:00:29 -04:00
Serge Hallyn
8e13cca944 systemd: fix lxc-containers vs lxc-net ordering (v3)
Per pitti's suggestion, use After= to force lxc to wait for lxc-net to finish
running.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Reviewed-By: Martin Pitt <martin.pitt@ubuntu.com>
2015-06-30 09:34:09 -05:00
有张纸
192dbe6fdc debootstrap failed when $GREP_OPTIONS is set
debootstrap failed when $GREP_OPTIONS is set, so we need to unset it in the template

Signed-off-by: <feng xiahou xiahoufeng@yahoo.com>
2015-06-30 16:23:11 +08:00