]> git.proxmox.com Git - mirror_lxc.git/log
mirror_lxc.git
10 years agostart: Fix print_top_failing_dir for /var/lib/lxc
Stéphane Graber [Thu, 27 Feb 2014 22:32:39 +0000 (17:32 -0500)]
start: Fix print_top_failing_dir for /var/lib/lxc

In the case where /var/lib/lxc itself was not accessible,
print_top_failing_dir would fail to print the error message.

This fixes it and also change the initial access check for X_OK instead
of R_OK (to match what we actually need and print_top_failing_dir's own
check).

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge Hallyn <serge.hallyn@ubuntu.com>
10 years agolxc-download: Ignore return code from subshell
Stéphane Graber [Thu, 27 Feb 2014 20:46:23 +0000 (15:46 -0500)]
lxc-download: Ignore return code from subshell

The previous change fixed parsing of multiple uid/gid ranges by using a
while loop, however a failure in that loop will cause the script to exit
(due to -e), so we need to ignore the return value of the commands
inside that loop.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agobdev: do not crash if specs is NULL
S.Çağlar Onur [Thu, 27 Feb 2014 19:16:05 +0000 (14:16 -0500)]
bdev: do not crash if specs is NULL

Signed-off-by: S.Çağlar Onur <caglar@10ur.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agofix realloc() error on reboot container
Vitaly Lavrov [Thu, 27 Feb 2014 09:01:00 +0000 (13:01 +0400)]
fix realloc() error on reboot container

The container with "lxc.network.type=phys" halted with error on reboot.

Error message:
*** glibc detected *** lxc-start: realloc(): invalid pointer: 0x0948eed0 ***

We have a sequence:

1) conf->saved_nic = relloc(NULL) on start start.c:container save_phys_nics()
2) free(conf->saved_nics) after stop container
   conf.c:lxc_rename_phys_nics_on_shutdown()
3) conf->saved_nic = relloc(conf->saved_nics) on restart container
   start.c:save_phys_nics() -> error relloc()

free(conf->saved_nics) in lxc_rename_phys_nics_on_shutdown()
unnecessary, it will be called later in lxc_clear_saved_nics().

Signed-off-by: Vitaly Lavrov <vel21ripn@gmail.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agofix attach when cgroups mounted after container start
Dwight Engen [Wed, 26 Feb 2014 18:54:58 +0000 (13:54 -0500)]
fix attach when cgroups mounted after container start

When booting an OL7 container on OL6, systemd in the OL7 container mounted
some extra cgroup controllers, which are then present in /proc/self/cgroups
of every task on the host. This is the list used by attach to determine
which cgroups to move the attached task into, but when it asks the container
over the command interface for the path to the subsystem this will fail
since the controller didn't exist when the container was first started.

Instead of failing, this change allows the attach to continue, warning that
those cgroups that could not be found won't be attached to.

The problem can be more simply reproduced by starting a busybox container,
mounting a cgroup that was not previously mounted, and then attempting
to attach to to the busybox container.

The problem will likely not manifest with cgmanager since it only requests
the path for the first controller, which is likely to always be mounted.

Signed-off-by: Dwight Engen <dwight.engen@oracle.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agolxc-download: Detect unpriv created by real root
Stéphane Graber [Wed, 26 Feb 2014 19:15:27 +0000 (14:15 -0500)]
lxc-download: Detect unpriv created by real root

This adds yet another case in the in_userns function detecting the case
where an unprivileged container is created by the real uid 0, in which
case we want to share the system wide cache but still use the
unprivileged templates and unpack method.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agoupstart: Don't forward requests for LXC_DOMAIN
Stéphane Graber [Wed, 26 Feb 2014 00:15:28 +0000 (19:15 -0500)]
upstart: Don't forward requests for LXC_DOMAIN

Without this change, a request to *.LXC_DOMAIN that doesn't get a local
result from dnsmasq will be forwarded to its upstream server with the
potential of a loop.

Thanks to Ed for the patch on Launchpad (LP: #1246094).

Reported-by: Ed Swierk
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoconfile: Don't crash on invalid id_map
Stéphane Graber [Tue, 25 Feb 2014 21:26:48 +0000 (16:26 -0500)]
confile: Don't crash on invalid id_map

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agopython3: Add support for wlan device add
Stéphane Graber [Tue, 25 Feb 2014 20:50:44 +0000 (15:50 -0500)]
python3: Add support for wlan device add

With this change it's now possible to add wlan devices to the container.
This will track down the right phy device, move it to the right
namespace (we don't care about its name), then if the user asked for a
new device name for the actual interface, we attach to the container and
rename the interface in there using attach.

I have tested this to work with both Intel and Atheros NICs.

This patch is based on the one provided to lxc-devel by Gregor Beck and
has then been updated to do the device renaming as well as minor code
style changes. Thanks!

Reported-by: Gregor Beck <gbeck@sernet.de>
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agoattach: Defined MS_REC and MS_SLAVE if not set
Stéphane Graber [Tue, 25 Feb 2014 19:59:30 +0000 (14:59 -0500)]
attach: Defined MS_REC and MS_SLAVE if not set

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoalways check whether rootfs is shared
Serge Hallyn [Tue, 25 Feb 2014 05:08:26 +0000 (23:08 -0600)]
always check whether rootfs is shared

(this expands on Dwight's recent patch, commit c597baa8f9)

After unshare(CLONE_NEWNS) and before doing any mounting, always
check whether rootfs is shared.  Otherwise template runs or clone
scripts can bleed mount activity to the host.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Dwight Engen <dwight.engen@oracle.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoCatch seccomp violations by init
Serge Hallyn [Mon, 24 Feb 2014 17:28:10 +0000 (11:28 -0600)]
Catch seccomp violations by init

Note that if a task other than init violates the seccomp policy,
we cannot catch that.  Init will catch it and (if it feels like
it) log it.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agolxc-start-ephemeral: Set tmpfs mode to 0755
Stéphane Graber [Sun, 23 Feb 2014 00:34:27 +0000 (19:34 -0500)]
lxc-start-ephemeral: Set tmpfs mode to 0755

The tmpfs was mounted with its default mode (1777) which was then picked
up by overlayfs/aufs as the target's mode.

This led to a world writable / in ephemeral containers.

I have confirmed that this issue doesn't impact lxc-clone.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agoadd dir support
Serge Hallyn [Fri, 21 Feb 2014 20:36:06 +0000 (14:36 -0600)]
add dir support

It used to be supported with the lxc-create.in script, and
the manpage says it's supported...  So let's just support it.

Now

sudo lxc-create -t download --dir /opt/ab -n ab

works, creating the container rootfs under /opt/ab.  This
generally isn't something I'd recommend, however telling users
to use a different lxc-path isn't as friendly as I'd like,
because each lxcpath requires separate lxc-ls and lxc-autostart
runs.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoapparmor: don't do on-exec profile changes
Serge Hallyn [Fri, 21 Feb 2014 19:53:46 +0000 (13:53 -0600)]
apparmor: don't do on-exec profile changes

always change profile immediately.  Otherwise there are weird
corner cases where the profile change may not happen.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agochange version to 1.0.0 in configure.ac
Stéphane Graber [Thu, 20 Feb 2014 18:24:19 +0000 (13:24 -0500)]
change version to 1.0.0 in configure.ac

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoapparmor: Drop unused profile
Stéphane Graber [Thu, 20 Feb 2014 18:36:33 +0000 (13:36 -0500)]
apparmor: Drop unused profile

This profile was never meant to get into git...

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agocoverity: Fix two memory leaks
Stéphane Graber [Thu, 20 Feb 2014 15:42:57 +0000 (10:42 -0500)]
coverity: Fix two memory leaks

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agobdev: Fix aufs mounts when /run/lxc doesn't exist
Stéphane Graber [Thu, 20 Feb 2014 15:06:30 +0000 (10:06 -0500)]
bdev: Fix aufs mounts when /run/lxc doesn't exist

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agolxc-alpine: add support for architecture arm
Natanael Copa [Thu, 20 Feb 2014 10:31:01 +0000 (10:31 +0000)]
lxc-alpine: add support for architecture arm

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agolua: Do not link Lua module to the Lua core library
Natanael Copa [Thu, 20 Feb 2014 09:54:35 +0000 (09:54 +0000)]
lua: Do not link Lua module to the Lua core library

Modules should not link to the Lua core library.

See http://lua-users.org/wiki/BuildingModules under
"Do Not Link Modules to the Lua Core Libraries"

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agolxc-start-ephemeral: Also set xino path
Stéphane Graber [Thu, 20 Feb 2014 14:40:08 +0000 (09:40 -0500)]
lxc-start-ephemeral: Also set xino path

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agofix aufs mount for some fs types via adding the xino parameter
S.Çağlar Onur [Thu, 20 Feb 2014 05:49:55 +0000 (00:49 -0500)]
fix aufs mount for some fs types via adding the xino parameter

Signed-off-by: S.Çağlar Onur <caglar@10ur.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agofix mounts not propagating back to root mntns during create and clone
Dwight Engen [Wed, 19 Feb 2014 21:44:19 +0000 (16:44 -0500)]
fix mounts not propagating back to root mntns during create and clone

Systems based on systemd mount the root shared by default. We don't want
mounts done during creation by templates nor those done internally by
bdev during rsync based clones to propagate to the root mntns.

The create case already had the right check, but the mount call was
missing "/", so it was failing.

Signed-off-by: Dwight Engen <dwight.engen@oracle.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agochange version to 1.0.0.rc4 in configure.ac
Stéphane Graber [Wed, 19 Feb 2014 19:53:25 +0000 (14:53 -0500)]
change version to 1.0.0.rc4 in configure.ac

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoupstart; Enable lxc-net by default
Stéphane Graber [Wed, 19 Feb 2014 18:46:46 +0000 (13:46 -0500)]
upstart; Enable lxc-net by default

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agorundir: Fix crash with privileged containers
Stéphane Graber [Wed, 19 Feb 2014 16:47:03 +0000 (11:47 -0500)]
rundir: Fix crash with privileged containers

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoFix typo in error message
Stéphane Graber [Wed, 19 Feb 2014 15:48:39 +0000 (10:48 -0500)]
Fix typo in error message

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agotemplates: Fix bashisms in common code
Stéphane Graber [Wed, 19 Feb 2014 15:45:14 +0000 (10:45 -0500)]
templates: Fix bashisms in common code

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agodoc: Update Japanese lxc.container.conf(5)
KATOH Yasufumi [Wed, 19 Feb 2014 06:05:51 +0000 (15:05 +0900)]
doc: Update Japanese lxc.container.conf(5)

Update for commit 3a5ec236b75773991873cd4d3d7a3dcb8499eec6

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agolxc-alpine: add checksums for musl libc build server pubkeys
Natanael Copa [Wed, 19 Feb 2014 14:52:02 +0000 (15:52 +0100)]
lxc-alpine: add checksums for musl libc build server pubkeys

We have added 3 new build servers for Alpine Linux musl libc x86, x86_64
and arm. Add the sha256sum for those keys.

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agolxc-alpine: fixes for checkbashism
Natanael Copa [Wed, 19 Feb 2014 14:52:01 +0000 (15:52 +0100)]
lxc-alpine: fixes for checkbashism

Fix the issues reported by checkbashisms and change back to #!/bin/sh

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agocoverity: rundir: Fix memory leaks
Stéphane Graber [Wed, 19 Feb 2014 05:40:21 +0000 (00:40 -0500)]
coverity: rundir: Fix memory leaks

Since we're no longer always returning a getenv result or some defined
string, the callers should cleanup the variable after use.

As a result, change from const char* to char*, add the needed free()
everywhere and use strdup() on strings coming from getenv.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agorundir: Fix memory leaks
Stéphane Graber [Wed, 19 Feb 2014 05:40:21 +0000 (00:40 -0500)]
rundir: Fix memory leaks

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agonetwork: set mtu of unpriv veth to the bridge's mtu
Serge Hallyn [Wed, 19 Feb 2014 04:42:34 +0000 (22:42 -0600)]
network: set mtu of unpriv veth to the bridge's mtu

That's to make sure that if the bridge has a higher than 1500
mtu, the new veth (defaulting to 1500) doesn't lower it.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agorundir: Fix the uid == 0 case
Stéphane Graber [Wed, 19 Feb 2014 04:56:31 +0000 (23:56 -0500)]
rundir: Fix the uid == 0 case

This makes get_rundir actually do what I meant it to do... for some
reason I missed that one in testing...

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoSet a reasonable fallback for get_rundir
Stéphane Graber [Tue, 18 Feb 2014 22:33:51 +0000 (17:33 -0500)]
Set a reasonable fallback for get_rundir

If get_rundir can't find XDG_RUNTIME_DIR in the environment, it'll
attempt to build a path using ~/.cache/lxc/run/. Should that fail
because of missing $HOME in the environment, it'll then return NULL an
all callers will fail in that case.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agolxc-checkconfig: Fix parsing on vserver kernels
Stéphane Graber [Tue, 18 Feb 2014 22:09:14 +0000 (17:09 -0500)]
lxc-checkconfig: Fix parsing on vserver kernels

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoFix unprivileged networking
Serge Hallyn [Tue, 18 Feb 2014 21:12:52 +0000 (15:12 -0600)]
Fix unprivileged networking

If we are unprivileged and have asked for a veth device, then create
a pipe over which to pass the veth names.

Network-related todos:
1. set mtu on the container side of veth device
2. set mtu in lxc-user-nic.  Note that this probably requires an
   update to the /etc/lxc/lxc-usernet file :(

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agocache whether 'optional' was in mntopts
Serge Hallyn [Tue, 18 Feb 2014 21:01:38 +0000 (15:01 -0600)]
cache whether 'optional' was in mntopts

after commit 4e4ca16158f91ac1271495638a4e62881169474e we are
checking for optional in mntopts after we forcibly remove it.
Cache whether we had it before removing it.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
10 years agogentoo: fix typo in config cross-reference comment
Eivind Uggedal [Tue, 18 Feb 2014 13:07:44 +0000 (13:07 +0000)]
gentoo: fix typo in config cross-reference comment

Signed-off-by: Eivind Uggedal <eivind@uggedal.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agodoc: update for commit 69aa6655
Dwight Engen [Tue, 18 Feb 2014 19:19:29 +0000 (14:19 -0500)]
doc: update for commit 69aa6655

Signed-off-by: Dwight Engen <dwight.engen@oracle.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agodrop create= from mount options (v2)
Serge Hallyn [Tue, 18 Feb 2014 18:56:29 +0000 (12:56 -0600)]
drop create= from mount options (v2)

Otherwise mount may return -EINVAL if in-kernel super-block parser
objects (as is the case with ext4).

Changelog v2:
also drop 'optional'
specifically drop create=dir, not create=*
fix order of arguments for memmove

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoAdd missing include
Stéphane Graber [Tue, 18 Feb 2014 17:44:54 +0000 (12:44 -0500)]
Add missing include

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agocoverity: Try to make it happier with our array handling
Stéphane Graber [Tue, 18 Feb 2014 17:10:51 +0000 (12:10 -0500)]
coverity: Try to make it happier with our array handling

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoupstart: Fix wrong stderr redirect
Stéphane Graber [Tue, 18 Feb 2014 16:31:48 +0000 (11:31 -0500)]
upstart: Fix wrong stderr redirect

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agodoc: Update Japanese lxc-clone(1)
KATOH Yasufumi [Tue, 18 Feb 2014 07:05:00 +0000 (16:05 +0900)]
doc: Update Japanese lxc-clone(1)

Update for commit f9ae4107f7ec6d193c3751744e28c9009aaebfbb

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
10 years agodoc: Fix broken grammar.
Stéphane Graber [Tue, 18 Feb 2014 04:50:34 +0000 (23:50 -0500)]
doc: Fix broken grammar.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agodon't skip setting network properties in unpriv case
Serge Hallyn [Tue, 18 Feb 2014 04:33:20 +0000 (22:33 -0600)]
don't skip setting network properties in unpriv case

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agochange version to 1.0.0.rc3 in configure.ac
Stéphane Graber [Tue, 18 Feb 2014 03:08:59 +0000 (22:08 -0500)]
change version to 1.0.0.rc3 in configure.ac

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoAdd some missing newlines
Stéphane Graber [Tue, 18 Feb 2014 01:53:43 +0000 (20:53 -0500)]
Add some missing newlines

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agocgmanager: lock around cgmanager-client calls
Serge Hallyn [Tue, 18 Feb 2014 00:23:54 +0000 (18:23 -0600)]
cgmanager: lock around cgmanager-client calls

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
10 years agoTypo fix
Stéphane Graber [Mon, 17 Feb 2014 22:45:10 +0000 (17:45 -0500)]
Typo fix

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agotests: Use trusty instead of lucid
Stéphane Graber [Mon, 17 Feb 2014 22:44:20 +0000 (17:44 -0500)]
tests: Use trusty instead of lucid

This is required so the tests actually have a chance of passing on arm64
and ppc64el.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoclose correct side of the pipe and increase buffer size by one to handle \n
S.Çağlar Onur [Mon, 17 Feb 2014 20:08:18 +0000 (15:08 -0500)]
close correct side of the pipe and increase buffer size by one to handle \n

Signed-off-by: S.Çağlar Onur <caglar@10ur.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoconfigure.ac: Fix cgmanager detection
Stéphane Graber [Mon, 17 Feb 2014 20:36:51 +0000 (15:36 -0500)]
configure.ac: Fix cgmanager detection

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoattach: try to use the container's seccomp policy
Serge Hallyn [Mon, 17 Feb 2014 18:47:35 +0000 (12:47 -0600)]
attach: try to use the container's seccomp policy

We can't get the actual policy (in the case where the policy file
has changed) from the container, but at least we can use the
seccomp policy file listed in the container config file.

(If anyone wants to further improve this, it may be better to get
the seccomp policy over the cmd api;  not sure that's what we want,
and this seems simpler to hook into the existing code, so I went
this way for now)

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agosupport get_config_item(lxc.seccomp) and clear_config_item(lxc.seccomp)
Serge Hallyn [Mon, 17 Feb 2014 18:46:30 +0000 (12:46 -0600)]
support get_config_item(lxc.seccomp) and clear_config_item(lxc.seccomp)

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agodownload: Support nested containers in unpriv
Stéphane Graber [Mon, 17 Feb 2014 15:51:53 +0000 (10:51 -0500)]
download: Support nested containers in unpriv

This adds detection for the case where we are root in an unprivileged
container and then run LXC from there. In this case, we want to download
to the system location, ignore the missing uid/gid ranges and run
templates that are userns-ready.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agofill missing netdev fields for unprivileged containers
S.Çağlar Onur [Sun, 16 Feb 2014 21:20:48 +0000 (16:20 -0500)]
fill missing netdev fields for unprivileged containers

lxc-user-nic now returns the names of the interfaces and
unpriv_assign_nic function parses that information to fill
missing netdev->veth_attr.pair and netdev->name.

With this patch get_running_config_item started to provide
correct information;

>>> import lxc; c = lxc.Container("rubik"); c.get_running_config_item("lxc.network.0.name"); c.get_running_config_item("lxc.network.0.veth.pair");
'eth0'
'veth9MT2L4'
>>>

and lxc-info started to show network stats;

lxc-info -n rubik
Name:           rubik
State:          RUNNING
PID:            23061
IP:             10.0.3.233
CPU use:        3.86 seconds
BlkIO use:      88.00 KiB
Memory use:     6.53 MiB
KMem use:       0 bytes
Link:           veth9MT2L4
 TX bytes:      3.45 KiB
 RX bytes:      8.83 KiB
 Total bytes:   12.29 KiB

Signed-off-by: S.Çağlar Onur <caglar@10ur.org>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoclose inherited fds when we still have proc mounted
Serge Hallyn [Sat, 15 Feb 2014 18:50:31 +0000 (12:50 -0600)]
close inherited fds when we still have proc mounted

and don't close the sigfd

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
10 years agoalways ensure a /proc while setting up container
Serge Hallyn [Sat, 15 Feb 2014 05:57:12 +0000 (23:57 -0600)]
always ensure a /proc while setting up container

Otherwise we can't open /proc/self/fd to find the fds to close.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
10 years agochange version to 1.0.0.rc2 in configure.ac
Stéphane Graber [Sat, 15 Feb 2014 04:08:00 +0000 (23:08 -0500)]
change version to 1.0.0.rc2 in configure.ac

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agocoverity: Don't pass uninitialized var to write
Stéphane Graber [Fri, 14 Feb 2014 21:20:17 +0000 (16:20 -0500)]
coverity: Don't pass uninitialized var to write

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: Check fcntl return value
Stéphane Graber [Fri, 14 Feb 2014 21:07:41 +0000 (16:07 -0500)]
coverity: Check fcntl return value

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: Check return value of setenv
Stéphane Graber [Fri, 14 Feb 2014 21:06:17 +0000 (16:06 -0500)]
coverity: Check return value of setenv

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: Check fstat return value
Stéphane Graber [Fri, 14 Feb 2014 21:03:00 +0000 (16:03 -0500)]
coverity: Check fstat return value

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: Silence potential null-deref warning
Stéphane Graber [Fri, 14 Feb 2014 20:59:23 +0000 (15:59 -0500)]
coverity: Silence potential null-deref warning

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: Check fread length
Stéphane Graber [Fri, 14 Feb 2014 20:56:28 +0000 (15:56 -0500)]
coverity: Check fread length

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agore-open cgmanager socket after fork in daemonized start
Serge Hallyn [Fri, 14 Feb 2014 23:16:58 +0000 (00:16 +0100)]
re-open cgmanager socket after fork in daemonized start

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agolxc-start: close inherited fds right before exec
Serge Hallyn [Fri, 14 Feb 2014 22:23:24 +0000 (23:23 +0100)]
lxc-start: close inherited fds right before exec

Not before we've even forked.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agomove fnv_64a_buf to utils.c and remove mutliple copies (v2)
S.Çağlar Onur [Fri, 14 Feb 2014 06:38:09 +0000 (01:38 -0500)]
move fnv_64a_buf to utils.c and remove mutliple copies (v2)

Signed-off-by: S.Çağlar Onur <caglar@10ur.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agocoverity: fix resource leak
Dwight Engen [Fri, 14 Feb 2014 14:49:51 +0000 (09:49 -0500)]
coverity: fix resource leak

also fix the check if the string will fit the local buffer

Signed-off-by: Dwight Engen <dwight.engen@oracle.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoJapanese lxc-usernsexec manpage: fix typo
KATOH Yasufumi [Fri, 14 Feb 2014 06:38:42 +0000 (15:38 +0900)]
Japanese lxc-usernsexec manpage: fix typo

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agolxc-usernsexec manpage: fix typo (command name is not lxc-unshare)
Serge Hallyn [Fri, 14 Feb 2014 04:39:38 +0000 (22:39 -0600)]
lxc-usernsexec manpage: fix typo (command name is not lxc-unshare)

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
10 years agochange version to 1.0.0.beta4 in configure.ac
Stéphane Graber [Thu, 13 Feb 2014 23:51:50 +0000 (18:51 -0500)]
change version to 1.0.0.beta4 in configure.ac

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoRevert "move fnv_64a_buf to utils.c and remove mutliple copies"
Stéphane Graber [Thu, 13 Feb 2014 22:34:26 +0000 (17:34 -0500)]
Revert "move fnv_64a_buf to utils.c and remove mutliple copies"

Fix clang breakage.

This reverts commit 7cd32872b697e02a9a326e80d52ef0b934de530c.

10 years agomove fnv_64a_buf to utils.c and remove mutliple copies
S.Çağlar Onur [Thu, 13 Feb 2014 21:57:12 +0000 (16:57 -0500)]
move fnv_64a_buf to utils.c and remove mutliple copies

Signed-off-by: S.Çağlar Onur <caglar@10ur.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoreindent src/lxc/af_unix.c
S.Çağlar Onur [Thu, 13 Feb 2014 21:43:45 +0000 (16:43 -0500)]
reindent src/lxc/af_unix.c

Signed-off-by: S.Çağlar Onur <caglar@10ur.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agocreate fd, stdin, stdout, stderr symlinks in /dev
Dwight Engen [Thu, 13 Feb 2014 21:13:03 +0000 (16:13 -0500)]
create fd, stdin, stdout, stderr symlinks in /dev

The kernel's Documentation/devices.txt says that these symlinks should
exist in /dev (they are listed in the "Compulsory" section). I'm not
currently adding nfsd and X0R since they are required for iBCS, but
they can be easily added to the array later if need be.

Signed-off-by: Dwight Engen <dwight.engen@oracle.com>
Acked-by: Michael H. Warfield <mhw@WittsEnd.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agopython3: Update apitest
Stéphane Graber [Thu, 13 Feb 2014 18:41:31 +0000 (13:41 -0500)]
python3: Update apitest

This update will make it work unprivileged as well as testing a few of
the new functions.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agopython3: Drop API warning and fix pep8/pyflakes3
Stéphane Graber [Thu, 13 Feb 2014 17:50:54 +0000 (12:50 -0500)]
python3: Drop API warning and fix pep8/pyflakes3

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agolxc-start-ephemeral: Use attach
Stéphane Graber [Thu, 13 Feb 2014 17:42:21 +0000 (12:42 -0500)]
lxc-start-ephemeral: Use attach

With this change, systems that support it will use attach to run any
provided command.

This doesn't change the default behaviour of attaching to tty1, but it
does make it much easier to script or even get a quick shell with:
lxc-start-ephemeral -o p1 -n p2 -- /bin/bash

I'm doing the setgid,initgroups,setuid,setenv magic in python rather
than using the attach_wait parameters as I need access to the pwd module
in the target namespace to grab the required information.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agoUpdate rootfs README
Stéphane Graber [Thu, 13 Feb 2014 18:52:50 +0000 (13:52 -0500)]
Update rootfs README

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoFix crash in rename with undefined containers
Stéphane Graber [Thu, 13 Feb 2014 18:40:34 +0000 (13:40 -0500)]
Fix crash in rename with undefined containers

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agolxc-ls: Add a few new columns
Stéphane Graber [Thu, 13 Feb 2014 16:00:36 +0000 (11:00 -0500)]
lxc-ls: Add a few new columns

This adds support for:
 - memory (total memory)
 - ram
 - swap

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agopython3: Add missing get_running_config_item binding
Stéphane Graber [Thu, 13 Feb 2014 15:59:19 +0000 (10:59 -0500)]
python3: Add missing get_running_config_item binding

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: Do chdir following chroot
Stéphane Graber [Thu, 13 Feb 2014 16:17:48 +0000 (11:17 -0500)]
coverity: Do chdir following chroot

We used to do chdir(path), chroot(path). That's correct but not properly
handled coverity, so do chroot(path), chdir("/") instead as that's the
recommended way.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agodoc: Update lxc.container.conf(5)
KATOH Yasufumi [Thu, 13 Feb 2014 07:11:08 +0000 (16:11 +0900)]
doc: Update lxc.container.conf(5)

- Update Japanese man for commit a7c27357b33d726a326a11e1e72f68e1546b994a, seccomp v2
- Fix typo in English man

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agodoc: Update Japanese man pages for aufs support
KATOH Yasufumi [Thu, 13 Feb 2014 07:11:07 +0000 (16:11 +0900)]
doc: Update Japanese man pages for aufs support

Update lxc-clone(1) and lxc-snapshot(1) for commit 1f92162dc0432b6f7f8156d22348f22934cbea3f
and improve some translations

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agooverlayfs_clonepaths: if unpriv then rsync in a userns
Serge Hallyn [Thu, 13 Feb 2014 06:52:52 +0000 (00:52 -0600)]
overlayfs_clonepaths: if unpriv then rsync in a userns

This allows lxc-snapshot and lxc-clone -s from an overlayfs container
to work unprivileged.  (lxc-clone -s from a directory backed container
already did work)

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoAdd the seccomp examples to EXTRA_DIST
Stéphane Graber [Thu, 13 Feb 2014 04:19:45 +0000 (23:19 -0500)]
Add the seccomp examples to EXTRA_DIST

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoseccomp: extend manpage, and add examples
Serge Hallyn [Wed, 12 Feb 2014 23:50:36 +0000 (17:50 -0600)]
seccomp: extend manpage, and add examples

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoseccomp: don't support v2 if seccomp_syscall_resolve_name_arch is not avilable
Serge Hallyn [Wed, 12 Feb 2014 23:20:22 +0000 (17:20 -0600)]
seccomp: don't support v2 if seccomp_syscall_resolve_name_arch is not avilable

Also don't use arm arch if not defined

This *should* fix build so precise, but I didn't fire one off.
I did test that builds with libseccomp2 still work as expected.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoFix some configure.ac issues
Stéphane Graber [Wed, 12 Feb 2014 22:46:06 +0000 (17:46 -0500)]
Fix some configure.ac issues

 - Run on distro without lsb_release
 - Don't try and interpret with_runtime_path as a command
 - Don't print stuff on screen while in the middle of a check

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agotravis: Build using the daily PPA
Stéphane Graber [Wed, 12 Feb 2014 22:30:12 +0000 (17:30 -0500)]
travis: Build using the daily PPA

Now that we depend on seccomp2, the backport currently in precise is too
old to allow for a succesful build, so instead use ppa:ubuntu-lxc/daily
which contains recent versions of all needed build-dependencies.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agocoverity: Check return value from open
Stéphane Graber [Wed, 12 Feb 2014 21:21:45 +0000 (16:21 -0500)]
coverity: Check return value from open

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: Drop dead code
Stéphane Graber [Wed, 12 Feb 2014 21:15:10 +0000 (16:15 -0500)]
coverity: Drop dead code

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: Don't store fgets return value if we don't use it
Stéphane Graber [Wed, 12 Feb 2014 21:12:39 +0000 (16:12 -0500)]
coverity: Don't store fgets return value if we don't use it

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: check return value of fcntl in usernsexec
Stéphane Graber [Wed, 12 Feb 2014 21:08:08 +0000 (16:08 -0500)]
coverity: check return value of fcntl in usernsexec

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>