Commit Graph

2842 Commits

Author SHA1 Message Date
Stéphane Graber
d4b621a52e
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>
2014-02-25 19:15:28 -05:00
Stéphane Graber
7e60c3f0c1 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>
2014-02-25 17:09:49 -05:00
Stéphane Graber
ff10044007 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>
2014-02-25 16:11:51 -05:00
Stéphane Graber
d6a3c91743 attach: Defined MS_REC and MS_SLAVE if not set
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-25 15:22:26 -05:00
Serge Hallyn
2c6f3fc932 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>
2014-02-25 11:16:08 -05:00
Serge Hallyn
c2b9bd9e81 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>
2014-02-24 12:33:04 -05:00
Stéphane Graber
642d1ccd98 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>
2014-02-24 09:51:27 -05:00
Serge Hallyn
7bb878863c 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>
2014-02-22 18:33:59 -05:00
Serge Hallyn
b2fe91c7d4 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>
2014-02-22 18:33:29 -05:00
Stéphane Graber
223b1e0c87 change version to 1.0.0 in configure.ac
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-20 13:51:38 -05:00
Stéphane Graber
da289b2c34 apparmor: Drop unused profile
This profile was never meant to get into git...

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-20 13:51:21 -05:00
Stéphane Graber
76e6c9d3fe coverity: Fix two memory leaks
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-20 13:51:17 -05:00
Stéphane Graber
d1c6b3b51e bdev: Fix aufs mounts when /run/lxc doesn't exist
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-20 10:22:29 -05:00
Natanael Copa
0e18cacab5 lxc-alpine: add support for architecture arm
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-20 10:22:25 -05:00
Natanael Copa
a91365ee5e 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>
2014-02-20 10:22:20 -05:00
Stéphane Graber
cd80249bbd lxc-start-ephemeral: Also set xino path
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-20 10:22:16 -05:00
S.Çağlar Onur
9009a72899 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>
2014-02-20 10:22:12 -05:00
Dwight Engen
c597baa8f9 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>
2014-02-19 18:52:29 -05:00
Stéphane Graber
f88bfaa3f8
change version to 1.0.0.rc4 in configure.ac
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-19 14:53:25 -05:00
Stéphane Graber
6b3ec35ed9
upstart; Enable lxc-net by default
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-19 13:46:46 -05:00
Stéphane Graber
c580b8d207 rundir: Fix crash with privileged containers
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-19 11:52:01 -05:00
Stéphane Graber
a891614341
Fix typo in error message
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-19 10:48:39 -05:00
Stéphane Graber
96283b5460
templates: Fix bashisms in common code
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-19 10:45:14 -05:00
KATOH Yasufumi
95ab9daa02 doc: Update Japanese lxc.container.conf(5)
Update for commit 3a5ec236b7

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-19 10:39:56 -05:00
Natanael Copa
6460d3c5f0 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>
2014-02-19 10:39:30 -05:00
Natanael Copa
d2b2911c55 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>
2014-02-19 10:39:26 -05:00
Stéphane Graber
fd8c277753 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>
2014-02-19 10:38:38 -05:00
Stéphane Graber
44b9ae4b8a
rundir: Fix memory leaks
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-19 00:40:21 -05:00
Serge Hallyn
0130df5471 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>
2014-02-18 23:16:27 -06:00
Stéphane Graber
d6470e7163
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>
2014-02-18 23:56:31 -05:00
Stéphane Graber
97a696c6e5 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>
2014-02-18 18:45:22 -05:00
Stéphane Graber
8525b5e51e
lxc-checkconfig: Fix parsing on vserver kernels
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-18 17:09:14 -05:00
Serge Hallyn
658979c5f9 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>
2014-02-18 16:36:34 -05:00
Serge Hallyn
4f1d50d114 cache whether 'optional' was in mntopts
after commit 4e4ca16158 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>
2014-02-18 15:01:38 -06:00
Eivind Uggedal
60838413eb gentoo: fix typo in config cross-reference comment
Signed-off-by: Eivind Uggedal <eivind@uggedal.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-18 14:22:41 -05:00
Dwight Engen
3a5ec236b7 doc: update for commit 69aa6655
Signed-off-by: Dwight Engen <dwight.engen@oracle.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-18 14:21:32 -05:00
Serge Hallyn
4e4ca16158 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>
2014-02-18 14:09:21 -05:00
Stéphane Graber
b36db61d10
Add missing include
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-18 12:44:54 -05:00
Stéphane Graber
10f98e9982
coverity: Try to make it happier with our array handling
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-18 12:10:51 -05:00
Stéphane Graber
a262569cbf
upstart: Fix wrong stderr redirect
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-18 11:31:48 -05:00
KATOH Yasufumi
e8ea311657 doc: Update Japanese lxc-clone(1)
Update for commit f9ae4107f7

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
2014-02-18 09:27:36 -06:00
Stéphane Graber
f9ae4107f7
doc: Fix broken grammar.
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-17 23:50:34 -05:00
Serge Hallyn
4079055377 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>
2014-02-17 23:40:01 -05:00
Stéphane Graber
f338fa89ef
change version to 1.0.0.rc3 in configure.ac
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-17 22:08:59 -05:00
Stéphane Graber
03fadd1656
Add some missing newlines
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-17 20:53:43 -05:00
Serge Hallyn
14a666b577 cgmanager: lock around cgmanager-client calls
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
2014-02-17 18:55:22 -06:00
Stéphane Graber
442f5c0fdf
Typo fix
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-17 17:45:10 -05:00
Stéphane Graber
e403a06423
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>
2014-02-17 17:44:20 -05:00
S.Çağlar Onur
fe1f672ff8 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>
2014-02-17 17:26:06 -05:00
Stéphane Graber
44bbab8cdf
configure.ac: Fix cgmanager detection
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2014-02-17 15:36:51 -05:00