diff options
Diffstat (limited to 'src/systemd-nspawn')
-rw-r--r-- | src/systemd-nspawn/Makefile | 85 | ||||
-rw-r--r-- | src/systemd-nspawn/nspawn-cgroup.c | 17 | ||||
-rw-r--r-- | src/systemd-nspawn/nspawn-expose-ports.c | 22 | ||||
-rw-r--r-- | src/systemd-nspawn/nspawn-expose-ports.h | 6 | ||||
-rw-r--r-- | src/systemd-nspawn/nspawn-mount.c | 34 | ||||
-rw-r--r-- | src/systemd-nspawn/nspawn-network.c | 28 | ||||
-rw-r--r-- | src/systemd-nspawn/nspawn-patch-uid.c | 1 | ||||
-rw-r--r-- | src/systemd-nspawn/nspawn-register.c | 13 | ||||
-rw-r--r-- | src/systemd-nspawn/nspawn-settings.c | 21 | ||||
-rw-r--r-- | src/systemd-nspawn/nspawn-settings.h | 3 | ||||
-rw-r--r-- | src/systemd-nspawn/nspawn-setuid.c | 17 | ||||
-rw-r--r-- | src/systemd-nspawn/nspawn-stub-pid1.c | 13 | ||||
-rw-r--r-- | src/systemd-nspawn/nspawn.c | 4 | ||||
-rw-r--r-- | src/systemd-nspawn/test-patch-uid.c | 7 |
14 files changed, 184 insertions, 87 deletions
diff --git a/src/systemd-nspawn/Makefile b/src/systemd-nspawn/Makefile new file mode 100644 index 0000000000..d6f928ebd6 --- /dev/null +++ b/src/systemd-nspawn/Makefile @@ -0,0 +1,85 @@ +# -*- Mode: makefile; indent-tabs-mode: t -*- +# +# This file is part of systemd. +# +# Copyright 2010-2012 Lennart Poettering +# Copyright 2010-2012 Kay Sievers +# Copyright 2013 Zbigniew Jędrzejewski-Szmek +# Copyright 2013 David Strauss +# Copyright 2016 Luke Shumaker +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# systemd is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with systemd; If not, see <http://www.gnu.org/licenses/>. +include $(dir $(lastword $(MAKEFILE_LIST)))/../../config.mk +include $(topsrcdir)/build-aux/Makefile.head.mk + +bin_PROGRAMS += systemd-nspawn +systemd_nspawn_SOURCES = \ + src/nspawn/nspawn.c \ + src/nspawn/nspawn-settings.c \ + src/nspawn/nspawn-settings.h \ + src/nspawn/nspawn-mount.c \ + src/nspawn/nspawn-mount.h \ + src/nspawn/nspawn-network.c \ + src/nspawn/nspawn-network.h \ + src/nspawn/nspawn-expose-ports.c \ + src/nspawn/nspawn-expose-ports.h \ + src/nspawn/nspawn-cgroup.c \ + src/nspawn/nspawn-cgroup.h \ + src/nspawn/nspawn-register.c \ + src/nspawn/nspawn-register.h \ + src/nspawn/nspawn-setuid.c \ + src/nspawn/nspawn-setuid.h \ + src/nspawn/nspawn-stub-pid1.c \ + src/nspawn/nspawn-stub-pid1.h \ + src/nspawn/nspawn-patch-uid.c \ + src/nspawn/nspawn-patch-uid.h \ + src/core/mount-setup.c \ + src/core/mount-setup.h \ + src/core/loopback-setup.c \ + src/core/loopback-setup.h \ + src/core/machine-id-setup.c \ + src/core/machine-id-setup.h + +nodist_systemd_nspawn_SOURCES = \ + src/nspawn/nspawn-gperf.c + +gperf_gperf_sources += \ + src/nspawn/nspawn-gperf.gperf + +systemd_nspawn_CFLAGS = \ + $(AM_CFLAGS) \ + $(BLKID_CFLAGS) \ + $(SECCOMP_CFLAGS) + +systemd_nspawn_LDADD = \ + libshared.la \ + $(BLKID_LIBS) + +ifneq ($(HAVE_LIBIPTC),) +systemd_nspawn_LDADD += \ + libfirewall.la +endif # HAVE_LIBIPTC + +test_patch_uid_SOURCES = \ + src/nspawn/nspawn-patch-uid.c \ + src/nspawn/nspawn-patch-uid.h \ + src/nspawn/test-patch-uid.c + +test_patch_uid_LDADD = \ + libshared.la + +manual_tests += \ + test-patch-uid + +include $(topsrcdir)/build-aux/Makefile.tail.mk diff --git a/src/systemd-nspawn/nspawn-cgroup.c b/src/systemd-nspawn/nspawn-cgroup.c index f50f1ad6c2..d0e2de2345 100644 --- a/src/systemd-nspawn/nspawn-cgroup.c +++ b/src/systemd-nspawn/nspawn-cgroup.c @@ -19,15 +19,16 @@ #include <sys/mount.h> -#include "alloc-util.h" -#include "cgroup-util.h" -#include "fd-util.h" -#include "fileio.h" -#include "mkdir.h" +#include "basic/alloc-util.h" +#include "basic/cgroup-util.h" +#include "basic/fd-util.h" +#include "basic/fileio.h" +#include "basic/mkdir.h" +#include "basic/string-util.h" +#include "basic/strv.h" +#include "basic/util.h" + #include "nspawn-cgroup.h" -#include "string-util.h" -#include "strv.h" -#include "util.h" int chown_cgroup(pid_t pid, uid_t uid_shift) { _cleanup_free_ char *path = NULL, *fs = NULL; diff --git a/src/systemd-nspawn/nspawn-expose-ports.c b/src/systemd-nspawn/nspawn-expose-ports.c index 8122a14f7b..6c9dbf4508 100644 --- a/src/systemd-nspawn/nspawn-expose-ports.c +++ b/src/systemd-nspawn/nspawn-expose-ports.c @@ -17,19 +17,19 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>. ***/ -#include <systemd/sd-netlink.h> - -#include "alloc-util.h" -#include "fd-util.h" +#include "basic/alloc-util.h" +#include "basic/fd-util.h" +#include "basic/in-addr-util.h" +#include "basic/parse-util.h" +#include "basic/socket-util.h" +#include "basic/string-util.h" +#include "basic/util.h" #include "firewall-util.h" -#include "in-addr-util.h" -#include "local-addresses.h" -#include "netlink-util.h" +#include "sd-netlink/local-addresses.h" +#include "sd-netlink/netlink-util.h" +#include "sd-netlink/sd-netlink.h" + #include "nspawn-expose-ports.h" -#include "parse-util.h" -#include "socket-util.h" -#include "string-util.h" -#include "util.h" int expose_port_parse(ExposePort **l, const char *s) { diff --git a/src/systemd-nspawn/nspawn-expose-ports.h b/src/systemd-nspawn/nspawn-expose-ports.h index 0e9f8f7e88..2c0a5ecc88 100644 --- a/src/systemd-nspawn/nspawn-expose-ports.h +++ b/src/systemd-nspawn/nspawn-expose-ports.h @@ -22,10 +22,10 @@ #include <inttypes.h> #include <systemd/sd-event.h> -#include <systemd/sd-netlink.h> -#include "in-addr-util.h" -#include "list.h" +#include "basic/in-addr-util.h" +#include "basic/list.h" +#include "sd-netlink/sd-netlink.h" typedef struct ExposePort { int protocol; diff --git a/src/systemd-nspawn/nspawn-mount.c b/src/systemd-nspawn/nspawn-mount.c index 8e2d2d543c..d8ca696f21 100644 --- a/src/systemd-nspawn/nspawn-mount.c +++ b/src/systemd-nspawn/nspawn-mount.c @@ -18,25 +18,27 @@ ***/ #include <sys/mount.h> + #include <linux/magic.h> -#include "alloc-util.h" -#include "cgroup-util.h" -#include "escape.h" -#include "fs-util.h" -#include "label.h" -#include "mkdir.h" -#include "mount-util.h" +#include "basic/alloc-util.h" +#include "basic/cgroup-util.h" +#include "basic/escape.h" +#include "basic/fs-util.h" +#include "basic/label.h" +#include "basic/mkdir.h" +#include "basic/mount-util.h" +#include "basic/parse-util.h" +#include "basic/path-util.h" +#include "basic/rm-rf.h" +#include "basic/set.h" +#include "basic/stat-util.h" +#include "basic/string-util.h" +#include "basic/strv.h" +#include "basic/user-util.h" +#include "basic/util.h" + #include "nspawn-mount.h" -#include "parse-util.h" -#include "path-util.h" -#include "rm-rf.h" -#include "set.h" -#include "stat-util.h" -#include "string-util.h" -#include "strv.h" -#include "user-util.h" -#include "util.h" CustomMount* custom_mount_add(CustomMount **l, unsigned *n, CustomMountType t) { CustomMount *c, *ret; diff --git a/src/systemd-nspawn/nspawn-network.c b/src/systemd-nspawn/nspawn-network.c index 7052fb5804..f27b6c4105 100644 --- a/src/systemd-nspawn/nspawn-network.c +++ b/src/systemd-nspawn/nspawn-network.c @@ -17,24 +17,26 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>. ***/ -#include <linux/veth.h> #include <net/if.h> -#include "libudev.h" +#include <linux/veth.h> + +#include <libudev.h> #include <systemd/sd-id128.h> -#include <systemd/sd-netlink.h> -#include "alloc-util.h" -#include "ether-addr-util.h" -#include "lockfile-util.h" -#include "netlink-util.h" +#include "basic/alloc-util.h" +#include "basic/ether-addr-util.h" +#include "basic/lockfile-util.h" +#include "basic/siphash24.h" +#include "basic/socket-util.h" +#include "basic/stat-util.h" +#include "basic/string-util.h" +#include "basic/util.h" +#include "sd-netlink/netlink-util.h" +#include "sd-netlink/sd-netlink.h" +#include "shared/udev-util.h" + #include "nspawn-network.h" -#include "siphash24.h" -#include "socket-util.h" -#include "stat-util.h" -#include "string-util.h" -#include "udev-util.h" -#include "util.h" #define HOST_HASH_KEY SD_ID128_MAKE(1a,37,6f,c7,46,ec,45,0b,ad,a3,d5,31,06,60,5d,b1) #define CONTAINER_HASH_KEY SD_ID128_MAKE(c3,c4,f9,19,b5,57,b2,1c,e6,cf,14,27,03,9c,ee,a2) diff --git a/src/systemd-nspawn/nspawn-patch-uid.c b/src/systemd-nspawn/nspawn-patch-uid.c index c7382d412d..998bd9725d 100644 --- a/src/systemd-nspawn/nspawn-patch-uid.c +++ b/src/systemd-nspawn/nspawn-patch-uid.c @@ -18,6 +18,7 @@ ***/ #include <fcntl.h> + #include <linux/magic.h> #ifdef HAVE_ACL #include <sys/acl.h> diff --git a/src/systemd-nspawn/nspawn-register.c b/src/systemd-nspawn/nspawn-register.c index adef200cb5..f1ed51e8b8 100644 --- a/src/systemd-nspawn/nspawn-register.c +++ b/src/systemd-nspawn/nspawn-register.c @@ -19,13 +19,14 @@ #include <systemd/sd-bus.h> -#include "bus-error.h" -#include "bus-unit-util.h" -#include "bus-util.h" +#include "basic/stat-util.h" +#include "basic/strv.h" +#include "basic/util.h" +#include "sd-bus/bus-error.h" +#include "shared/bus-unit-util.h" +#include "shared/bus-util.h" + #include "nspawn-register.h" -#include "stat-util.h" -#include "strv.h" -#include "util.h" int register_machine( const char *machine_name, diff --git a/src/systemd-nspawn/nspawn-settings.c b/src/systemd-nspawn/nspawn-settings.c index 5f1522cfb6..f05c671946 100644 --- a/src/systemd-nspawn/nspawn-settings.c +++ b/src/systemd-nspawn/nspawn-settings.c @@ -17,18 +17,19 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>. ***/ -#include "alloc-util.h" -#include "cap-list.h" -#include "conf-parser.h" +#include "basic/alloc-util.h" +#include "basic/cap-list.h" +#include "basic/parse-util.h" +#include "basic/process-util.h" +#include "basic/socket-util.h" +#include "basic/string-util.h" +#include "basic/strv.h" +#include "basic/user-util.h" +#include "basic/util.h" +#include "shared/conf-parser.h" + #include "nspawn-network.h" #include "nspawn-settings.h" -#include "parse-util.h" -#include "process-util.h" -#include "socket-util.h" -#include "string-util.h" -#include "strv.h" -#include "user-util.h" -#include "util.h" int settings_load(FILE *f, const char *path, Settings **ret) { _cleanup_(settings_freep) Settings *s = NULL; diff --git a/src/systemd-nspawn/nspawn-settings.h b/src/systemd-nspawn/nspawn-settings.h index 1c47e37912..95e70d5fa4 100644 --- a/src/systemd-nspawn/nspawn-settings.h +++ b/src/systemd-nspawn/nspawn-settings.h @@ -21,7 +21,8 @@ #include <stdio.h> -#include "macro.h" +#include "basic/macro.h" + #include "nspawn-expose-ports.h" #include "nspawn-mount.h" diff --git a/src/systemd-nspawn/nspawn-setuid.c b/src/systemd-nspawn/nspawn-setuid.c index ee15a47e93..38ca9e2e24 100644 --- a/src/systemd-nspawn/nspawn-setuid.c +++ b/src/systemd-nspawn/nspawn-setuid.c @@ -21,15 +21,16 @@ #include <sys/types.h> #include <unistd.h> -#include "alloc-util.h" -#include "fd-util.h" -#include "mkdir.h" +#include "basic/alloc-util.h" +#include "basic/fd-util.h" +#include "basic/mkdir.h" +#include "basic/process-util.h" +#include "basic/signal-util.h" +#include "basic/string-util.h" +#include "basic/user-util.h" +#include "basic/util.h" + #include "nspawn-setuid.h" -#include "process-util.h" -#include "signal-util.h" -#include "string-util.h" -#include "user-util.h" -#include "util.h" static int spawn_getent(const char *database, const char *key, pid_t *rpid) { int pipe_fds[2]; diff --git a/src/systemd-nspawn/nspawn-stub-pid1.c b/src/systemd-nspawn/nspawn-stub-pid1.c index 2de87e3c63..86783b6136 100644 --- a/src/systemd-nspawn/nspawn-stub-pid1.c +++ b/src/systemd-nspawn/nspawn-stub-pid1.c @@ -21,13 +21,14 @@ #include <sys/unistd.h> #include <sys/wait.h> -#include "fd-util.h" -#include "log.h" +#include "basic/def.h" +#include "basic/fd-util.h" +#include "basic/log.h" +#include "basic/process-util.h" +#include "basic/signal-util.h" +#include "basic/time-util.h" + #include "nspawn-stub-pid1.h" -#include "process-util.h" -#include "signal-util.h" -#include "time-util.h" -#include "def.h" int stub_pid1(void) { enum { diff --git a/src/systemd-nspawn/nspawn.c b/src/systemd-nspawn/nspawn.c index bdf054e5c6..8ec058431b 100644 --- a/src/systemd-nspawn/nspawn.c +++ b/src/systemd-nspawn/nspawn.c @@ -43,8 +43,8 @@ #include <sys/types.h> #include <unistd.h> -#include <systemd/sd-daemon.h> -#include <systemd/sd-id128.h> +#include "sd-daemon.h" +#include "sd-id128.h" #include "alloc-util.h" #include "barrier.h" diff --git a/src/systemd-nspawn/test-patch-uid.c b/src/systemd-nspawn/test-patch-uid.c index 11c5321788..e751e0ec95 100644 --- a/src/systemd-nspawn/test-patch-uid.c +++ b/src/systemd-nspawn/test-patch-uid.c @@ -19,10 +19,11 @@ #include <stdlib.h> -#include "log.h" +#include "basic/log.h" +#include "basic/user-util.h" +#include "basic/util.h" + #include "nspawn-patch-uid.h" -#include "user-util.h" -#include "util.h" int main(int argc, char *argv[]) { uid_t shift, range; |