From 9fef80f7488a2f361f86016358d77b31e489bfe9 Mon Sep 17 00:00:00 2001 From: haozi007 Date: Thu, 13 Jul 2023 20:34:20 +0800 Subject: [PATCH] update lxc to 5.0.2 Signed-off-by: haozi007 --- ...ad-add-json-files-and-adapt-to-meson.patch | 6239 ++++++++++++----- ...tch-code-of-utils-commands-and-so-on.patch | 2368 ------- ...ecurity-conf-attach-cgroup-and-start.patch | 4567 ++++++++---- ...ch-code-of-isulad-for-selinux-attach.patch | 1243 ---- ...patch-code-of-lxccontianer-and-so-on.patch | 2947 -------- ...tor-patch-code-of-attach-and-seccomp.patch | 1517 ---- ...r-patch-about-namespace-log-terminal.patch | 1164 --- ...ches-on-terminal.c-start.c-and-so-on.patch | 2726 ------- ...ix-HOME-env-of-container-unset-error.patch | 316 - 0010-check-yajl-only-when-have-isulad.patch | 70 - 0011-drop-security_context_t.patch | 29 - ...set-user-or-image-set-non-empty-HOME.patch | 50 - ...l-if-no-args-or-no-rootfs-path-found.patch | 38 - ...ools-using-option-give-error-message.patch | 25 - ...-do-mask-pathes-after-parent-mounted.patch | 44 - ...l-cgroup-processes-if-no-hierarchies.patch | 36 - 0017-lxc-Add-sw64-architecture.patch | 26 - 0018-add-macro-to-adapt-musl-libc.patch | 33 - 0019-add-lxc-attach-add-gids-option.patch | 178 - 0020-add-sscanf-adapation-code-for-musl.patch | 31 - ...-parameter-in-lxc-attach-help-output.patch | 26 - ...022-47952-log-leaks-root-information.patch | 51 - 0023-fix-lxc-write-error-message.patch | 26 - ...emove-process-inheritable-capability.patch | 27 - 0025-fix-ops-hierarchies-cause-coredump.patch | 32 - 0026-meminfo-cri-1.25.patch | 55 - 0027-add-loongarch64-support-for-lxc.patch | 238 - 0028-use-ocihooks-env-after-getenv.patch | 51 - ...ixed-use-of-signed-and-unsigned-type.patch | 51 - 0030-remove-unused-meminfo-stats.patch | 48 - ...ost-return-codes-of-spawned-processe.patch | 39 - 0032-fix-load-bpf-failed.patch | 30 - 0033-fix-mount-device-path-incorrect.patch | 27 - 0034-add-secure-compile-macro.patch | 65 - apply-patches | 12 +- lxc-4.0.3.tar.gz | Bin 1368461 -> 0 bytes lxc-5.0.2.tar.gz | Bin 0 -> 973977 bytes lxc.spec | 570 +- 38 files changed, 7484 insertions(+), 17511 deletions(-) rename 0008-refactor-patch-code-of-json.patch => 0001-iSulad-add-json-files-and-adapt-to-meson.patch (70%) delete mode 100644 0001-refactor-patch-code-of-utils-commands-and-so-on.patch rename 0002-refactor-patch-code-of-isulad-for-conf-exec-attach.patch => 0002-iSulad-adapt-security-conf-attach-cgroup-and-start.patch (41%) delete mode 100644 0003-refactor-patch-code-of-isulad-for-selinux-attach.patch delete mode 100644 0004-refactor-patch-code-of-lxccontianer-and-so-on.patch delete mode 100644 0005-refactor-patch-code-of-attach-and-seccomp.patch delete mode 100644 0006-refactor-patch-about-namespace-log-terminal.patch delete mode 100644 0007-refactor-patches-on-terminal.c-start.c-and-so-on.patch delete mode 100644 0009-fix-HOME-env-of-container-unset-error.patch delete mode 100644 0010-check-yajl-only-when-have-isulad.patch delete mode 100644 0011-drop-security_context_t.patch delete mode 100644 0012-only-set-user-or-image-set-non-empty-HOME.patch delete mode 100644 0013-return-fail-if-no-args-or-no-rootfs-path-found.patch delete mode 100644 0014-fix-tools-using-option-give-error-message.patch delete mode 100644 0015-fix-do-mask-pathes-after-parent-mounted.patch delete mode 100644 0016-skip-kill-cgroup-processes-if-no-hierarchies.patch delete mode 100644 0017-lxc-Add-sw64-architecture.patch delete mode 100644 0018-add-macro-to-adapt-musl-libc.patch delete mode 100644 0019-add-lxc-attach-add-gids-option.patch delete mode 100644 0020-add-sscanf-adapation-code-for-musl.patch delete mode 100644 0021-change-the-suffi-parameter-in-lxc-attach-help-output.patch delete mode 100644 0022-fix-cve-CVE-2022-47952-log-leaks-root-information.patch delete mode 100644 0023-fix-lxc-write-error-message.patch delete mode 100644 0024-remove-process-inheritable-capability.patch delete mode 100644 0025-fix-ops-hierarchies-cause-coredump.patch delete mode 100644 0026-meminfo-cri-1.25.patch delete mode 100644 0027-add-loongarch64-support-for-lxc.patch delete mode 100644 0028-use-ocihooks-env-after-getenv.patch delete mode 100644 0029-fix-mixed-use-of-signed-and-unsigned-type.patch delete mode 100644 0030-remove-unused-meminfo-stats.patch delete mode 100644 0031-lxc-attach-Fix-lost-return-codes-of-spawned-processe.patch delete mode 100644 0032-fix-load-bpf-failed.patch delete mode 100644 0033-fix-mount-device-path-incorrect.patch delete mode 100644 0034-add-secure-compile-macro.patch delete mode 100644 lxc-4.0.3.tar.gz create mode 100644 lxc-5.0.2.tar.gz diff --git a/0008-refactor-patch-code-of-json.patch b/0001-iSulad-add-json-files-and-adapt-to-meson.patch similarity index 70% rename from 0008-refactor-patch-code-of-json.patch rename to 0001-iSulad-add-json-files-and-adapt-to-meson.patch index 217af9e..f93d498 100644 --- a/0008-refactor-patch-code-of-json.patch +++ b/0001-iSulad-add-json-files-and-adapt-to-meson.patch @@ -1,24 +1,44 @@ -From 4c68aefb92800112f48aa73a55f80b368b09c69f Mon Sep 17 00:00:00 2001 -From: zhangxiaoyu -Date: Wed, 20 Jul 2022 11:00:13 +0800 -Subject: [PATCH] refactor patch code of json +From 757bc66c44a58ca2d65eb4c8199ad55cba580d00 Mon Sep 17 00:00:00 2001 +From: haozi007 +Date: Fri, 14 Jul 2023 11:21:56 +0800 +Subject: [PATCH 1/2] [iSulad] add json files and adapt to meson -Signed-off-by: zhangxiaoyu +Signed-off-by: haozi007 --- - src/lxc/cgroups/isulad_cgfsng.c | 3223 ++++++++++++++++++++++++++++++ + meson.build | 30 +- + meson_options.txt | 8 + + src/lxc/af_unix.c | 50 + + src/lxc/af_unix.h | 5 + + src/lxc/cgroups/isulad_cgfsng.c | 3229 ++++++++++++++++++++++++++++++ + src/lxc/commands.c | 179 ++ + src/lxc/commands.h | 10 + + src/lxc/commands_utils.c | 57 + + src/lxc/commands_utils.h | 7 + + src/lxc/exec_commands.c | 477 +++++ + src/lxc/exec_commands.h | 77 + + src/lxc/isulad_utils.c | 535 +++++ + src/lxc/isulad_utils.h | 102 + src/lxc/json/defs.c | 205 ++ src/lxc/json/defs.h | 37 + src/lxc/json/json_common.c | 1153 +++++++++++ - src/lxc/json/json_common.h | 185 ++ + src/lxc/json/json_common.h | 194 ++ src/lxc/json/logger_json_file.c | 246 +++ src/lxc/json/logger_json_file.h | 45 + src/lxc/json/oci_runtime_hooks.c | 52 + src/lxc/json/oci_runtime_hooks.h | 15 + src/lxc/json/oci_runtime_spec.c | 195 ++ src/lxc/json/oci_runtime_spec.h | 37 + + src/lxc/json/read-file.c | 95 + src/lxc/json/read-file.h | 11 + - 12 files changed, 5404 insertions(+) + src/lxc/meson.build | 26 +- + src/lxc/path.c | 521 +++++ + src/lxc/path.h | 33 + + 28 files changed, 7629 insertions(+), 2 deletions(-) create mode 100644 src/lxc/cgroups/isulad_cgfsng.c + create mode 100644 src/lxc/exec_commands.c + create mode 100644 src/lxc/exec_commands.h + create mode 100644 src/lxc/isulad_utils.c + create mode 100644 src/lxc/isulad_utils.h create mode 100644 src/lxc/json/defs.c create mode 100644 src/lxc/json/defs.h create mode 100755 src/lxc/json/json_common.c @@ -29,14 +49,183 @@ Signed-off-by: zhangxiaoyu create mode 100644 src/lxc/json/oci_runtime_hooks.h create mode 100644 src/lxc/json/oci_runtime_spec.c create mode 100644 src/lxc/json/oci_runtime_spec.h + create mode 100644 src/lxc/json/read-file.c create mode 100644 src/lxc/json/read-file.h + create mode 100644 src/lxc/path.c + create mode 100644 src/lxc/path.h +diff --git a/meson.build b/meson.build +index 1b2d673..fda8045 100644 +--- a/meson.build ++++ b/meson.build +@@ -163,6 +163,8 @@ want_seccomp = get_option('seccomp') + want_thread_safety = get_option('thread-safety') + want_memfd_rexec = get_option('memfd-rexec') + want_sd_bus = get_option('sd-bus') ++want_isulad = get_option('isulad') ++want_securecomplie = get_option('securecomplie') + + srcconf.set_quoted('DEFAULT_CGROUP_PATTERN', cgrouppattern) + if coverity +@@ -228,6 +230,19 @@ possible_link_flags = [ + '-fstack-protector-strong', + ] + ++if want_isulad ++ possible_cc_flags += ['-D_FORTIFY_SOURCE=2'] ++ yajldep = dependency('yajl', version : '>=2') ++ srcconf.set('HAVE_ISULAD', yajldep.found()) ++ liblxc_dependencies += yajldep ++else ++ srcconf.set('HAVE_ISULAD', false) ++endif ++ ++if want_isulad or want_securecomplie ++ possible_link_flags += ['-Wl,-z,noexecstack'] ++endif ++ + # The gold linker fails with a bus error on sparc64 + if build_machine.cpu_family() != 'sparc64' + possible_link_flags += '-Wl,-fuse-ld=gold' +@@ -881,13 +896,24 @@ template_scripts = [] + test_programs = [] + + # Includes. ++if want_isulad + liblxc_includes = include_directories( + '.', + 'src', + 'src/include', + 'src/lxc', ++ 'src/lxc/json', + 'src/lxc/cgroups', + 'src/lxc/storage') ++else ++liblxc_includes = include_directories( ++ '.', ++ 'src', ++ 'src/include', ++ 'src/lxc', ++ 'src/lxc/cgroups', ++ 'src/lxc/storage') ++endif + + # Our static sub-project binaries don't (and in fact can't) link to our + # dependencies directly, but need access to the headers when compiling (most +@@ -942,7 +968,9 @@ subdir('doc/ja') + subdir('doc/ko') + subdir('doc/examples') + subdir('doc/rootfs') +-subdir('hooks') ++if not want_isulad ++ subdir('hooks') ++endif + if want_commands + subdir('src/lxc/cmd') + endif +diff --git a/meson_options.txt b/meson_options.txt +index 9803473..7146b17 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -120,3 +120,11 @@ option('memfd-rexec', type : 'boolean', value : 'true', + + option('distrosysconfdir', type : 'string', value: '', + description: 'relative path to sysconfdir for distro default configuration') ++ ++# was --{disable,enable}-isulad in autotools ++option('isulad', type: 'boolean', value: 'true', ++ description: 'enable adapt to iSulad') ++ ++# was --{disable,enable}-securecomplie in autotools ++option('securecomplie', type: 'boolean', value: 'true', ++ description: 'enable secure compile') +\ No newline at end of file +diff --git a/src/lxc/af_unix.c b/src/lxc/af_unix.c +index 6f05b70..6db1864 100644 +--- a/src/lxc/af_unix.c ++++ b/src/lxc/af_unix.c +@@ -516,7 +516,11 @@ int lxc_unix_connect_type(struct sockaddr_un *addr, int type) + ret = connect(fd, (struct sockaddr *)addr, + offsetof(struct sockaddr_un, sun_path) + len); + if (ret < 0) ++#ifdef HAVE_ISULAD ++ return syswarn("Failed to connect AF_UNIX socket"); ++#else + return syserror("Failed to connect AF_UNIX socket"); ++#endif + + return move_fd(fd); + } +@@ -545,3 +549,49 @@ int lxc_socket_set_timeout(int fd, int rcv_timeout, int snd_timeout) + + return 0; + } ++ ++#ifdef HAVE_ISULAD ++int lxc_named_unix_open(const char *path, int type, int flags) ++{ ++ __do_close int fd = -EBADF; ++ int ret; ++ ssize_t len; ++ struct sockaddr_un addr; ++ ++ fd = socket(PF_UNIX, type | SOCK_CLOEXEC, 0); ++ if (fd < 0) ++ return -1; ++ ++ if (!path) ++ return move_fd(fd); ++ ++ len = lxc_unix_sockaddr(&addr, path); ++ if (len < 0) ++ return -1; ++ ++ ret = bind(fd, (struct sockaddr *)&addr, len); ++ if (ret < 0) ++ return -1; ++ ++ if (chmod(path, 0600) < 0) ++ return -1; ++ ++ if (type == SOCK_STREAM) { ++ ret = listen(fd, 100); ++ if (ret < 0) ++ return -1; ++ } ++ ++ return move_fd(fd); ++} ++ ++int lxc_named_unix_connect(const char *path) ++{ ++ struct sockaddr_un addr; ++ ++ if (lxc_unix_sockaddr(&addr, path) < 0) ++ return -1; ++ ++ return lxc_unix_connect_type(&addr, SOCK_STREAM); ++} ++#endif +diff --git a/src/lxc/af_unix.h b/src/lxc/af_unix.h +index ba119cf..605afc2 100644 +--- a/src/lxc/af_unix.h ++++ b/src/lxc/af_unix.h +@@ -168,4 +168,9 @@ static inline void put_unix_fds(struct unix_fds *fds) + } + define_cleanup_function(struct unix_fds *, put_unix_fds); + ++#ifdef HAVE_ISULAD ++__hidden extern int lxc_named_unix_open(const char *path, int type, int flags); ++__hidden extern int lxc_named_unix_connect(const char *path); ++#endif ++ + #endif /* __LXC_AF_UNIX_H */ diff --git a/src/lxc/cgroups/isulad_cgfsng.c b/src/lxc/cgroups/isulad_cgfsng.c new file mode 100644 -index 0000000..8a9656a +index 0000000..dcaa229 --- /dev/null +++ b/src/lxc/cgroups/isulad_cgfsng.c -@@ -0,0 +1,3223 @@ +@@ -0,0 +1,3229 @@ +/****************************************************************************** + * Copyright (c) Huawei Technologies Co., Ltd. 2019. All rights reserved. + * Author: lifeng @@ -716,15 +905,14 @@ index 0000000..8a9656a + return false; + } + -+#ifdef HAVE_ISULAD + if (ops->no_controller) { -+ DEBUG("no controller found, isgnore isulad_cgfsng_payload_destroy"); ++ DEBUG("no controller found, ignore isulad_cgfsng_payload_destroy"); + return true; + } -+#endif + + if (!ops->hierarchies) { -+ return false; ++ DEBUG("no hierarchies found, ignore isulad_cgfsng_payload_destroy"); ++ return true; + } + + if (!handler) { @@ -978,8 +1166,15 @@ index 0000000..8a9656a + struct lxc_handler *handler) +{ + int i; ++ ++ if (!ops) ++ return ret_set_errno(false, ENOENT); ++ + char *container_cgroup = ops->container_cgroup; + ++ if (!ops->hierarchies) ++ return true; ++ +#ifdef HAVE_ISULAD + if (ops->no_controller) { + DEBUG("no controller found, isgnore isulad_cgfsng_payload_create"); @@ -2503,7 +2698,7 @@ index 0000000..8a9656a + goto retry; + } + lxc_write_error_message(ops->errfd, -+ "%s:%d: setting cgroup config for ready process caused \"failed to write %s to %s: %s\".", ++ "%s:%d: setting cgroup config for ready process caused failed to write %s to %s: %s", + __FILE__, __LINE__, value, fullpath, strerror(errno)); + } + free(fullpath); @@ -3260,2252 +3455,4536 @@ index 0000000..8a9656a + + return move_ptr(cgfsng_ops); +} -diff --git a/src/lxc/json/defs.c b/src/lxc/json/defs.c -new file mode 100644 -index 0000000..4bf569a ---- /dev/null -+++ b/src/lxc/json/defs.c -@@ -0,0 +1,205 @@ -+// Generated from defs.json. Do not edit! -+#ifndef _GNU_SOURCE -+#define _GNU_SOURCE +diff --git a/src/lxc/commands.c b/src/lxc/commands.c +index 07be1d5..2188b31 100644 +--- a/src/lxc/commands.c ++++ b/src/lxc/commands.c +@@ -90,6 +90,10 @@ static const char *lxc_cmd_str(lxc_cmd_t cmd) + [LXC_CMD_GET_CGROUP_FD] = "get_cgroup_fd", + [LXC_CMD_GET_LIMIT_CGROUP_FD] = "get_limit_cgroup_fd", + [LXC_CMD_GET_SYSTEMD_SCOPE] = "get_systemd_scope", ++#ifdef HAVE_ISULAD ++ [LXC_CMD_SET_TERMINAL_FIFOS] = "set_terminal_fifos", ++ [LXC_CMD_SET_TERMINAL_WINCH] = "set_terminal_winch", +#endif -+#include -+#include -+#include "defs.h" + }; + + if (cmd >= LXC_CMD_MAX) +@@ -223,6 +227,12 @@ static ssize_t lxc_cmd_rsp_recv(int sock, struct lxc_cmd_rr *cmd) + break; + } + ++#ifdef HAVE_ISULAD ++ /*isulad: add timeout 3s to avoid long block due to [lxc monitor] error*/ ++ if (lxc_socket_set_timeout(sock, 3, 3) != 0) { ++ return syserror_ret(-1, "Failed to set timeout"); ++ } ++#endif + /* Receive the first response including file descriptors if any. */ + bytes_recv = lxc_cmd_rsp_recv_fds(sock, fds, rsp, cur_cmdstr); + if (bytes_recv < 0) +@@ -1576,7 +1586,12 @@ int lxc_cmd_serve_state_clients(const char *name, const char *lxcpath, + + ret = lxc_cmd(name, &cmd, &stopped, lxcpath, NULL); + if (ret < 0) ++#ifdef HAVE_ISULAD ++ // for check connect failed, we just log warnning ++ return log_warn_errno(-1, errno, "Failed to serve state clients"); ++#else + return log_error_errno(-1, errno, "Failed to serve state clients"); ++#endif + + return 0; + } +@@ -1916,6 +1931,125 @@ static int lxc_cmd_rsp_send_enosys(int fd, int id) + return syserror_set(-ENOSYS, "Invalid command id %d", id); + } + ++#ifdef HAVE_ISULAD ++/* ++ * isulad: lxc_cmd_set_terminal_fifos: Set the fifos used for the container as terminal input/output ++ * ++ * @hashed_sock_name: hashed socket name ++ * ++ * Returns 0 when success, else when fail. ++ */ ++int lxc_cmd_set_terminal_fifos(const char *name, const char *lxcpath, const char *in_fifo, ++ const char *out_fifo, const char *err_fifo) ++{ ++ int ret = 0; ++ bool stopped = false; ++ int len = 0; ++ char *tmp = NULL; ++ const char *split = "&&&&", *none_fifo_name = "none"; ++ const char *cmd_in_fifo = in_fifo ? in_fifo : none_fifo_name; ++ const char *cmd_out_fifo = out_fifo ? out_fifo : none_fifo_name; ++ const char *cmd_err_fifo = err_fifo ? err_fifo : none_fifo_name; ++ ++ if (len + strlen(cmd_in_fifo) + strlen(split) + strlen(cmd_out_fifo) + ++ strlen(split) + strlen(cmd_err_fifo) == SIZE_MAX) ++ return -1; ++ len += strlen(cmd_in_fifo) + strlen(split) + strlen(cmd_out_fifo) + strlen(split) + strlen(cmd_err_fifo) + 1; ++ tmp = malloc(len); ++ if (tmp == NULL) ++ return -1; ++ ret = snprintf(tmp, len, "%s%s%s%s%s", cmd_in_fifo, split, cmd_out_fifo, split, cmd_err_fifo); ++ if (ret < 0 || ret >= len) { ++ ERROR("Failed to snprintf in fifo of command"); ++ free(tmp); ++ return -1; ++ } + -+defs_hook *make_defs_hook(yajl_val tree, struct parser_context *ctx, parser_error *err) { -+ defs_hook *ret = NULL; -+ *err = 0; -+ if (tree == NULL) -+ return ret; -+ ret = safe_malloc(sizeof(*ret)); -+ { -+ yajl_val val = get_val(tree, "path", yajl_t_string); -+ if (val != NULL) { -+ char *str = YAJL_GET_STRING(val); -+ ret->path = safe_strdup(str ? str : ""); -+ } -+ } -+ { -+ yajl_val tmp = get_val(tree, "args", yajl_t_array); -+ if (tmp != NULL && YAJL_GET_ARRAY(tmp) != NULL && YAJL_GET_ARRAY(tmp)->len > 0) { -+ size_t i; -+ ret->args_len = YAJL_GET_ARRAY(tmp)->len; -+ if (YAJL_GET_ARRAY(tmp)->len > SIZE_MAX / sizeof(*ret->args) - 1) { -+ free_defs_hook(ret); -+ return NULL; -+ } -+ ret->args = safe_malloc((YAJL_GET_ARRAY(tmp)->len + 1) * sizeof(*ret->args)); -+ for (i = 0; i < YAJL_GET_ARRAY(tmp)->len; i++) { -+ yajl_val val = YAJL_GET_ARRAY(tmp)->values[i]; -+ if (val != NULL) { -+ char *str = YAJL_GET_STRING(val); -+ ret->args[i] = safe_strdup(str ? str : ""); -+ } -+ } -+ } -+ } -+ { -+ yajl_val tmp = get_val(tree, "env", yajl_t_array); -+ if (tmp != NULL && YAJL_GET_ARRAY(tmp) != NULL && YAJL_GET_ARRAY(tmp)->len > 0) { -+ size_t i; -+ ret->env_len = YAJL_GET_ARRAY(tmp)->len; -+ if (YAJL_GET_ARRAY(tmp)->len > SIZE_MAX / sizeof(*ret->env) - 1) { -+ free_defs_hook(ret); -+ return NULL; -+ } -+ ret->env = safe_malloc((YAJL_GET_ARRAY(tmp)->len + 1) * sizeof(*ret->env)); -+ for (i = 0; i < YAJL_GET_ARRAY(tmp)->len; i++) { -+ yajl_val val = YAJL_GET_ARRAY(tmp)->values[i]; -+ if (val != NULL) { -+ char *str = YAJL_GET_STRING(val); -+ ret->env[i] = safe_strdup(str ? str : ""); -+ } -+ } -+ } -+ } -+ { -+ yajl_val val = get_val(tree, "timeout", yajl_t_number); -+ if (val != NULL) { -+ int invalid = common_safe_int(YAJL_GET_NUMBER(val), (int *)&ret->timeout); -+ if (invalid) { -+ if (asprintf(err, "Invalid value '%s' with type 'integer' for key 'timeout': %s", YAJL_GET_NUMBER(val), strerror(-invalid)) < 0) -+ *err = safe_strdup("error allocating memory"); -+ free_defs_hook(ret); -+ return NULL; -+ } -+ } -+ } -+ if (ret->path == NULL) { -+ if (asprintf(err, "Required field '%s' not present", "path") < 0) -+ *err = safe_strdup("error allocating memory"); -+ free_defs_hook(ret); -+ return NULL; -+ } ++ struct lxc_cmd_rr cmd = { ++ .req = { ++ .cmd = LXC_CMD_SET_TERMINAL_FIFOS, ++ .datalen = strlen(tmp)+1, ++ .data = tmp, ++ }, ++ }; + -+ if (tree->type == yajl_t_object && (ctx->options & PARSE_OPTIONS_STRICT)) { -+ int i; -+ for (i = 0; i < tree->u.object.len; i++) -+ if (strcmp(tree->u.object.keys[i], "path") && -+ strcmp(tree->u.object.keys[i], "args") && -+ strcmp(tree->u.object.keys[i], "env") && -+ strcmp(tree->u.object.keys[i], "timeout")) { -+ if (ctx->stderr > 0) -+ fprintf(ctx->stderr, "WARNING: unknown key found: %s\n", tree->u.object.keys[i]); -+ } -+ } -+ return ret; ++ ret = lxc_cmd(name, &cmd, &stopped, lxcpath, NULL); ++ if (ret < 0) { ++ ERROR("Failed to send command to container"); ++ free(tmp); ++ return -1; ++ } ++ ++ if (cmd.rsp.ret != 0) { ++ ERROR("Command response error:%d", cmd.rsp.ret); ++ free(tmp); ++ return -1; ++ } ++ ++ free(tmp); ++ return 0; +} + -+void free_defs_hook(defs_hook *ptr) { -+ if (ptr == NULL) -+ return; -+ free(ptr->path); -+ ptr->path = NULL; -+ if (ptr->args != NULL) { -+ size_t i; -+ for (i = 0; i < ptr->args_len; i++) { -+ if (ptr->args[i] != NULL) { -+ free(ptr->args[i]); -+ ptr->args[i] = NULL; -+ } -+ } -+ free(ptr->args); -+ ptr->args = NULL; -+ } -+ if (ptr->env != NULL) { -+ size_t i; -+ for (i = 0; i < ptr->env_len; i++) { -+ if (ptr->env[i] != NULL) { -+ free(ptr->env[i]); -+ ptr->env[i] = NULL; -+ } -+ } -+ free(ptr->env); -+ ptr->env = NULL; -+ } -+ free(ptr); ++static int lxc_cmd_set_terminal_fifos_callback(int fd, struct lxc_cmd_req *req, ++ struct lxc_handler *handler, struct lxc_epoll_descr *descr) ++{ ++ struct lxc_cmd_rsp rsp; ++ memset(&rsp, 0, sizeof(rsp)); ++ ++ rsp.ret = lxc_terminal_add_fifos(handler->conf, req->data);; ++ ++ return lxc_cmd_rsp_send_reap(fd, &rsp); +} + -+yajl_gen_status gen_defs_hook(yajl_gen g, defs_hook *ptr, struct parser_context *ctx, parser_error *err) { -+ yajl_gen_status stat = yajl_gen_status_ok; -+ *err = 0; -+ stat = reformat_start_map(g); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) ||(ptr != NULL && ptr->path != NULL)) { -+ char *str = ""; -+ stat = reformat_map_key(g, "path", strlen("path")); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ if (ptr != NULL && ptr->path != NULL) { -+ str = ptr->path; -+ } -+ stat = reformat_string(g, str, strlen(str)); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) || (ptr != NULL && ptr->args != NULL)) { -+ size_t len = 0, i; -+ stat = reformat_map_key(g, "args", strlen("args")); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ if (ptr != NULL && ptr->args != NULL) { -+ len = ptr->args_len; -+ } -+ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) -+ yajl_gen_config(g, yajl_gen_beautify, 0); -+ stat = reformat_start_array(g); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ for (i = 0; i < len; i++) { -+ stat = reformat_string(g, ptr->args[i], strlen(ptr->args[i])); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ stat = reformat_end_array(g); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) -+ yajl_gen_config(g, yajl_gen_beautify, 1); -+ } -+ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) || (ptr != NULL && ptr->env != NULL)) { -+ size_t len = 0, i; -+ stat = reformat_map_key(g, "env", strlen("env")); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ if (ptr != NULL && ptr->env != NULL) { -+ len = ptr->env_len; -+ } -+ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) -+ yajl_gen_config(g, yajl_gen_beautify, 0); -+ stat = reformat_start_array(g); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ for (i = 0; i < len; i++) { -+ stat = reformat_string(g, ptr->env[i], strlen(ptr->env[i])); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ stat = reformat_end_array(g); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) -+ yajl_gen_config(g, yajl_gen_beautify, 1); -+ } -+ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) ||(ptr != NULL && ptr->timeout)) { -+ long long int num = 0; -+ stat = reformat_map_key(g, "timeout", strlen("timeout")); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ if (ptr != NULL && ptr->timeout) { -+ num = (long long int)ptr->timeout; -+ } -+ stat = reformat_int(g, num); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ stat = reformat_end_map(g); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ return yajl_gen_status_ok; -+} -diff --git a/src/lxc/json/defs.h b/src/lxc/json/defs.h -new file mode 100644 -index 0000000..0bbd8ac ---- /dev/null -+++ b/src/lxc/json/defs.h -@@ -0,0 +1,37 @@ -+// Generated from defs.json. Do not edit! -+#ifndef DEFS_SCHEMA_H -+#define DEFS_SCHEMA_H -+ -+#include -+#include -+#include "json_common.h" -+ -+#ifdef __cplusplus -+extern "C" { -+#endif ++struct lxc_cmd_set_terminal_winch_request { ++ unsigned int height; ++ unsigned int width; ++}; + -+typedef struct { -+ char *path; ++int lxc_cmd_set_terminal_winch(const char *name, const char *lxcpath, unsigned int height, unsigned int width) ++{ ++ int ret = 0; ++ bool stopped = false; ++ struct lxc_cmd_set_terminal_winch_request data = { 0 }; + -+ char **args; -+ size_t args_len; ++ data.height = height; ++ data.width = width; + -+ char **env; -+ size_t env_len; ++ struct lxc_cmd_rr cmd = { ++ .req = { ++ .cmd = LXC_CMD_SET_TERMINAL_WINCH, ++ .datalen = sizeof(struct lxc_cmd_set_terminal_winch_request), ++ .data = &data, ++ }, ++ }; + -+ int timeout; ++ ret = lxc_cmd(name, &cmd, &stopped, lxcpath, NULL); ++ if (ret < 0) { ++ ERROR("Failed to send command to container"); ++ return -1; ++ } + ++ if (cmd.rsp.ret != 0) { ++ ERROR("Command response error:%d", cmd.rsp.ret); ++ return -1; ++ } ++ return 0; +} -+defs_hook; + -+void free_defs_hook(defs_hook *ptr); ++static int lxc_cmd_set_terminal_winch_callback(int fd, struct lxc_cmd_req *req, ++ struct lxc_handler *handler, struct lxc_epoll_descr *descr) ++{ ++ struct lxc_cmd_rsp rsp; ++ struct lxc_cmd_set_terminal_winch_request *data = (struct lxc_cmd_set_terminal_winch_request *)(req->data); ++ memset(&rsp, 0, sizeof(rsp)); + -+defs_hook *make_defs_hook(yajl_val tree, struct parser_context *ctx, parser_error *err); ++ rsp.ret = lxc_set_terminal_winsz(&handler->conf->console, data->height, data->width);; + -+yajl_gen_status gen_defs_hook(yajl_gen g, defs_hook *ptr, struct parser_context *ctx, parser_error *err); ++ return lxc_cmd_rsp_send_reap(fd, &rsp); + -+#ifdef __cplusplus +} +#endif + + static int lxc_cmd_process(int fd, struct lxc_cmd_req *req, + struct lxc_handler *handler, + struct lxc_async_descr *descr) +@@ -1951,6 +2085,10 @@ static int lxc_cmd_process(int fd, struct lxc_cmd_req *req, + [LXC_CMD_GET_CGROUP_FD] = lxc_cmd_get_cgroup_fd_callback, + [LXC_CMD_GET_LIMIT_CGROUP_FD] = lxc_cmd_get_limit_cgroup_fd_callback, + [LXC_CMD_GET_SYSTEMD_SCOPE] = lxc_cmd_get_systemd_scope_callback, ++#ifdef HAVE_ISULAD ++ [LXC_CMD_SET_TERMINAL_FIFOS] = lxc_cmd_set_terminal_fifos_callback, ++ [LXC_CMD_SET_TERMINAL_WINCH] = lxc_cmd_set_terminal_winch_callback, +#endif -diff --git a/src/lxc/json/json_common.c b/src/lxc/json/json_common.c -new file mode 100755 -index 0000000..ec20c59 ---- /dev/null -+++ b/src/lxc/json/json_common.c -@@ -0,0 +1,1153 @@ -+// Auto generated file. Do not edit! -+#define _GNU_SOURCE -+#include -+#include -+#include -+#include "json_common.h" + }; + + if (req->cmd >= LXC_CMD_MAX) +@@ -2104,6 +2242,46 @@ static int lxc_cmd_accept(int fd, uint32_t events, void *data, + return ret; + } + ++#ifdef HAVE_ISULAD ++// isulad required named unix socket to make safe connect, ++// so need to replace abstrace unix socket ++int lxc_server_init(const char *name, const char *lxcpath, const char *suffix) ++{ ++ __do_close int fd = -EBADF; ++ int ret; ++ char path[LXC_AUDS_ADDR_LEN] = {0}; ++ __do_free char *runtime_sock_dir = NULL; + -+#define MAX_NUM_STR_LEN 21 ++ runtime_sock_dir = generate_named_unix_sock_dir(name); ++ if (runtime_sock_dir == NULL) ++ return -1; + -+yajl_gen_status reformat_number(void *ctx, const char *str, size_t len) { -+ yajl_gen g = (yajl_gen) ctx; -+ return yajl_gen_number(g, str, len); -+} ++ if (mkdir_p(runtime_sock_dir, 0700) < 0) ++ return log_error_errno(-1, errno, "Failed to create container runtime unix sock directory %s", path); + -+yajl_gen_status reformat_uint(void *ctx, long long unsigned int num) { -+ char numstr[MAX_NUM_STR_LEN]; -+ int ret; ++ if (generate_named_unix_sock_path(name, suffix, path, sizeof(path)) != 0) ++ return -1; + -+ ret = snprintf(numstr, MAX_NUM_STR_LEN, "%llu", num); -+ if (ret < 0 || ret >= MAX_NUM_STR_LEN) { -+ return yajl_gen_in_error_state; -+ } -+ return reformat_number(ctx, (const char *)numstr, strlen(numstr)); -+} ++ fd = lxc_named_unix_open(path, SOCK_STREAM, 0); ++ if (fd < 0) { ++ if (errno == EADDRINUSE) { ++ WARN("Container \"%s\" appears to be already running", name); ++ (void)unlink(path); ++ ++ fd = lxc_named_unix_open(path, SOCK_STREAM, 0); ++ if (fd < 0) ++ return log_error_errno(-1, errno, "Failed to create command socket %s", path); ++ } else ++ return log_error_errno(-1, errno, "Failed to create command socket %s", path); ++ } + -+yajl_gen_status reformat_int(void *ctx, long long int num) { -+ char numstr[MAX_NUM_STR_LEN]; -+ int ret; ++ ret = fcntl(fd, F_SETFD, FD_CLOEXEC); ++ if (ret < 0) ++ return log_error_errno(-1, errno, "Failed to set FD_CLOEXEC on command socket file descriptor"); ++ ++ return log_trace(move_fd(fd), "Created unix socket \"%s\"", path); ++} ++#else + int lxc_server_init(const char *name, const char *lxcpath, const char *suffix) + { + __do_close int fd = -EBADF; +@@ -2128,6 +2306,7 @@ int lxc_server_init(const char *name, const char *lxcpath, const char *suffix) + + return log_trace(move_fd(fd), "Created abstract unix socket \"%s\"", &path[1]); + } ++#endif + + int lxc_cmd_mainloop_add(const char *name, struct lxc_async_descr *descr, + struct lxc_handler *handler) +diff --git a/src/lxc/commands.h b/src/lxc/commands.h +index 2a39748..d5d1a0e 100644 +--- a/src/lxc/commands.h ++++ b/src/lxc/commands.h +@@ -53,6 +53,10 @@ typedef enum { + LXC_CMD_GET_CGROUP_FD = 24, + LXC_CMD_GET_LIMIT_CGROUP_FD = 25, + LXC_CMD_GET_SYSTEMD_SCOPE = 26, ++#ifdef HAVE_ISULAD ++ LXC_CMD_SET_TERMINAL_FIFOS = 27, ++ LXC_CMD_SET_TERMINAL_WINCH = 28, ++#endif + LXC_CMD_MAX, + } lxc_cmd_t; + +@@ -179,4 +183,10 @@ __hidden extern int lxc_cmd_get_limit_cgroup_fd(const char *name, + struct cgroup_fd *ret_fd); + __hidden extern int lxc_cmd_get_devpts_fd(const char *name, const char *lxcpath); + ++#ifdef HAVE_ISULAD ++__hidden extern int lxc_cmd_set_terminal_fifos(const char *name, const char *lxcpath, ++ const char *in_fifo, const char *out_fifo, const char *err_fifo); ++__hidden extern int lxc_cmd_set_terminal_winch(const char *name, const char *lxcpath, unsigned int height, unsigned int width); ++#endif + -+ ret = snprintf(numstr, MAX_NUM_STR_LEN, "%lld", num); -+ if (ret < 0 || ret >= MAX_NUM_STR_LEN) { -+ return yajl_gen_in_error_state; -+ } -+ return reformat_number(ctx, (const char *)numstr, strlen(numstr)); -+} + #endif /* __commands_h */ +diff --git a/src/lxc/commands_utils.c b/src/lxc/commands_utils.c +index 3558ff7..33780dd 100644 +--- a/src/lxc/commands_utils.c ++++ b/src/lxc/commands_utils.c +@@ -143,12 +143,69 @@ int lxc_make_abstract_socket_name(char *path, size_t pathlen, + return 0; + } + ++#ifdef HAVE_ISULAD ++char *generate_named_unix_sock_dir(const char *name) ++{ ++ __do_free char *exec_sock_dir = NULL; ++ __do_free char *rundir = NULL; + -+yajl_gen_status reformat_double(void *ctx, double num) { -+ yajl_gen g = (yajl_gen) ctx; -+ return yajl_gen_double(g, num); -+} ++ rundir = get_rundir(); ++ if (!rundir) ++ rundir = strdup("/var/run"); + -+yajl_gen_status reformat_string(void *ctx, const char *str, size_t len) { -+ yajl_gen g = (yajl_gen) ctx; -+ return yajl_gen_string(g, (const unsigned char *)str, len); -+} ++ if (asprintf(&exec_sock_dir, "%s/lxc/%s", rundir, name) < 0) { ++ return log_error_errno(NULL, errno, "Failed to allocate memory"); ++ } + -+yajl_gen_status reformat_null(void *ctx) { -+ yajl_gen g = (yajl_gen) ctx; -+ return yajl_gen_null(g); ++ return move_ptr(exec_sock_dir); +} + -+yajl_gen_status reformat_bool(void *ctx, int boolean) { -+ yajl_gen g = (yajl_gen) ctx; -+ return yajl_gen_bool(g, boolean); -+} ++int generate_named_unix_sock_path(const char *container_name, const char *sock_name, ++ char *out_path, size_t len) ++{ ++#define MAX_SOCK_NAME_LENGTH 12 ++ int ret; ++ __do_free char *sock_dir = NULL; ++ __do_free char *short_sock_name = NULL; + -+yajl_gen_status reformat_map_key(void *ctx, const char *str, size_t len) { -+ yajl_gen g = (yajl_gen) ctx; -+ return yajl_gen_string(g, (const unsigned char *)str, len); -+} ++ if (container_name == NULL || sock_name == NULL) ++ return -1; + -+yajl_gen_status reformat_start_map(void *ctx) { -+ yajl_gen g = (yajl_gen) ctx; -+ return yajl_gen_map_open(g); -+} ++ sock_dir = generate_named_unix_sock_dir(container_name); ++ if (sock_dir == NULL) ++ return -1; + -+yajl_gen_status reformat_end_map(void *ctx) { -+ yajl_gen g = (yajl_gen) ctx; -+ return yajl_gen_map_close(g); -+} ++ short_sock_name = strdup(sock_name); ++ if (strlen(short_sock_name) > MAX_SOCK_NAME_LENGTH) ++ short_sock_name[MAX_SOCK_NAME_LENGTH] = '\0'; + -+yajl_gen_status reformat_start_array(void *ctx) { -+ yajl_gen g = (yajl_gen) ctx; -+ return yajl_gen_array_open(g); -+} ++ ret = snprintf(out_path, len, "%s/%s.sock", sock_dir, short_sock_name); ++ if (ret < 0 || (size_t)ret >= len) ++ return log_error_errno(-1, errno, "Failed to allocate memory"); + -+yajl_gen_status reformat_end_array(void *ctx) { -+ yajl_gen g = (yajl_gen) ctx; -+ return yajl_gen_array_close(g); ++ return 0; +} ++#endif + -+bool json_gen_init(yajl_gen *g, struct parser_context *ctx) { -+ *g = yajl_gen_alloc(NULL); -+ if (NULL == *g) { -+ return false; + int lxc_cmd_connect(const char *name, const char *lxcpath, + const char *hashed_sock_name, const char *suffix) + { + int ret, client_fd; + char path[LXC_AUDS_ADDR_LEN] = {0}; + ++#ifdef HAVE_ISULAD ++ if (generate_named_unix_sock_path(name, suffix, path, sizeof(path)) != 0) ++ return -1; + -+ } -+ yajl_gen_config(*g, yajl_gen_beautify, !(ctx->options & GEN_OPTIONS_SIMPLIFY)); -+ yajl_gen_config(*g, yajl_gen_validate_utf8, !(ctx->options & GEN_OPTIONS_NOT_VALIDATE_UTF8)); -+ return true; -+} ++ if (file_exists(path)) { ++ client_fd = lxc_named_unix_connect(path); ++ if (client_fd < 0) ++ return -1; + -+yajl_val get_val(yajl_val tree, const char *name, yajl_type type) { -+ const char *path[] = { name, NULL }; -+ return yajl_tree_get(tree, path, type); -+} ++ return client_fd; ++ } ++#endif + -+void *safe_malloc(size_t size) { -+ void *ret = NULL; -+ if (size == 0) { -+ abort(); -+ } -+ ret = calloc(1, size); -+ if (ret == NULL) { -+ abort(); -+ } -+ return ret; -+} + ret = lxc_make_abstract_socket_name(path, sizeof(path), name, lxcpath, + hashed_sock_name, suffix); + if (ret < 0) +diff --git a/src/lxc/commands_utils.h b/src/lxc/commands_utils.h +index 28ce490..2704ae2 100644 +--- a/src/lxc/commands_utils.h ++++ b/src/lxc/commands_utils.h +@@ -67,4 +67,11 @@ __hidden extern int lxc_cmd_connect(const char *name, const char *lxcpath, + __hidden extern void lxc_cmd_notify_state_listeners(const char *name, + const char *lxcpath, + lxc_state_t state); + -+int common_safe_double(const char *numstr, double *converted) { -+ char *err_str = NULL; -+ double d; ++#ifdef HAVE_ISULAD ++__hidden extern char *generate_named_unix_sock_dir(const char *name); ++__hidden extern int generate_named_unix_sock_path(const char *container_name, const char *sock_name, ++ char *out_path, size_t len); ++#endif /* HAVE ISULAD */ + -+ if (numstr == NULL) { -+ return -EINVAL; -+ } + #endif /* __LXC_COMMANDS_UTILS_H */ +diff --git a/src/lxc/exec_commands.c b/src/lxc/exec_commands.c +new file mode 100644 +index 0000000..bd81d66 +--- /dev/null ++++ b/src/lxc/exec_commands.c +@@ -0,0 +1,477 @@ ++/****************************************************************************** ++ * Copyright (c) Huawei Technologies Co., Ltd. 2019. All rights reserved. ++ * Author: lifeng ++ * Create: 2019-12-08 ++ * Description: provide container definition ++ * lxc: linux Container library ++ * This library 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. ++ * ++ * This library 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 this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ ******************************************************************************/ + -+ errno = 0; -+ d = strtod(numstr, &err_str); -+ if (errno > 0) { -+ return -errno; -+ } ++#ifndef _GNU_SOURCE ++#define _GNU_SOURCE 1 ++#endif ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include + -+ if (err_str == NULL || err_str == numstr || *err_str != '\0') { -+ return -EINVAL; -+ } ++#include "af_unix.h" ++#include "cgroup.h" ++#include "exec_commands.h" ++#include "commands_utils.h" ++#include "conf.h" ++#include "config.h" ++#include "confile.h" ++#include "log.h" ++#include "lxc.h" ++#include "lxclock.h" ++#include "mainloop.h" ++#include "monitor.h" ++#include "string_utils.h" ++#include "terminal.h" ++#include "utils.h" + -+ *converted = d; -+ return 0; -+} ++lxc_log_define(commands_exec, lxc); + -+int common_safe_uint8(const char *numstr, uint8_t *converted) { -+ char *err = NULL; -+ unsigned long int uli; ++static const char *lxc_exec_cmd_str(lxc_exec_cmd_t cmd) ++{ ++ static const char *const cmdname[LXC_EXEC_CMD_MAX] = { ++ [LXC_EXEC_CMD_SET_TERMINAL_WINCH] = "set_exec_terminal_winch", ++ }; + -+ if (numstr == NULL) { -+ return -EINVAL; -+ } ++ if (cmd >= LXC_EXEC_CMD_MAX) ++ return "Invalid request"; + -+ errno = 0; -+ uli = strtoul(numstr, &err, 0); -+ if (errno > 0) { -+ return -errno; -+ } ++ return cmdname[cmd]; ++} + -+ if (err == NULL || err == numstr || *err != '\0') { -+ return -EINVAL; -+ } ++static int lxc_exec_cmd_rsp_recv(int sock, struct lxc_exec_cmd_rr *cmd) ++{ ++ int ret, rspfd; ++ struct lxc_exec_cmd_rsp *rsp = &cmd->rsp; + -+ if (uli > UINT8_MAX) { -+ return -ERANGE; -+ } ++ /*isulad: add timeout 1s to avoid long block due to [lxc monitor] error*/ ++ if (lxc_socket_set_timeout(sock, 1, 1) != 0) { ++ return syserror_ret(-1, "Failed to set timeout"); ++ } + -+ *converted = (uint8_t)uli; -+ return 0; -+} ++ ret = lxc_cmd_rsp_recv_fds(sock, &rspfd, 1, rsp, sizeof(*rsp)); ++ if (ret < 0) { ++ SYSERROR("Failed to receive response for command \"%s\"", ++ lxc_exec_cmd_str(cmd->req.cmd)); + -+int common_safe_uint16(const char *numstr, uint16_t *converted) { -+ char *err = NULL; -+ unsigned long int uli; ++ if (errno == ECONNRESET || errno == EAGAIN || errno == EWOULDBLOCK) { ++ errno = ECONNRESET; /*isulad set errno ECONNRESET when timeout */ ++ return -1; ++ } + -+ if (numstr == NULL) { -+ return -EINVAL; -+ } ++ return -1; ++ } ++ TRACE("Command \"%s\" received response", lxc_exec_cmd_str(cmd->req.cmd)); + -+ errno = 0; -+ uli = strtoul(numstr, &err, 0); -+ if (errno > 0) { -+ return -errno; -+ } ++ if (rsp->datalen == 0) { ++ DEBUG("Response data length for command \"%s\" is 0", ++ lxc_exec_cmd_str(cmd->req.cmd)); ++ return ret; ++ } + -+ if (err == NULL || err == numstr || *err != '\0') { -+ return -EINVAL; -+ } ++ if (rsp->datalen > LXC_CMD_DATA_MAX) { ++ ERROR("Response data for command \"%s\" is too long: %d bytes > %d", ++ lxc_exec_cmd_str(cmd->req.cmd), rsp->datalen, LXC_CMD_DATA_MAX); ++ return -1; ++ } + -+ if (uli > UINT16_MAX) { -+ return -ERANGE; -+ } ++ rsp->data = malloc(rsp->datalen); ++ if (!rsp->data) { ++ errno = ENOMEM; ++ ERROR("Failed to allocate response buffer for command \"%s\"", ++ lxc_exec_cmd_str(cmd->req.cmd)); ++ return -1; ++ } + -+ *converted = (uint16_t)uli; -+ return 0; -+} ++ ret = lxc_recv_nointr(sock, rsp->data, rsp->datalen, 0); ++ if (ret != rsp->datalen) { ++ SYSERROR("Failed to receive response data for command \"%s\"", ++ lxc_exec_cmd_str(cmd->req.cmd)); ++ return -1; ++ } + -+int common_safe_uint32(const char *numstr, uint32_t *converted) { -+ char *err = NULL; -+ unsigned long long int ull; ++ return ret; ++} + -+ if (numstr == NULL) { -+ return -EINVAL; -+ } ++static int lxc_exec_cmd_rsp_send(int fd, struct lxc_exec_cmd_rsp *rsp) ++{ ++ ssize_t ret; + -+ errno = 0; -+ ull = strtoull(numstr, &err, 0); -+ if (errno > 0) { -+ return -errno; -+ } ++ errno = EMSGSIZE; ++ ret = lxc_send_nointr(fd, rsp, sizeof(*rsp), MSG_NOSIGNAL); ++ if (ret < 0 || (size_t)ret != sizeof(*rsp)) { ++ SYSERROR("Failed to send command response %zd", ret); ++ return -1; ++ } + -+ if (err == NULL || err == numstr || *err != '\0') { -+ return -EINVAL; -+ } ++ if (!rsp->data || rsp->datalen <= 0) ++ return 0; + -+ if (ull > UINT32_MAX) { -+ return -ERANGE; -+ } ++ errno = EMSGSIZE; ++ ret = lxc_send_nointr(fd, rsp->data, rsp->datalen, MSG_NOSIGNAL); ++ if (ret < 0 || ret != (ssize_t)rsp->datalen) { ++ SYSWARN("Failed to send command response data %zd", ret); ++ return -1; ++ } + -+ *converted = (uint32_t)ull; -+ return 0; ++ return 0; +} + -+int common_safe_uint64(const char *numstr, uint64_t *converted) { -+ char *err = NULL; -+ unsigned long long int ull; ++static int lxc_exec_cmd_send(const char *name, struct lxc_exec_cmd_rr *cmd, ++ const char *lxcpath, const char *hashed_sock_name, const char *suffix) ++{ ++ int client_fd, saved_errno; ++ ssize_t ret = -1; + -+ if (numstr == NULL) { -+ return -EINVAL; -+ } ++ client_fd = lxc_cmd_connect(name, lxcpath, hashed_sock_name, suffix); ++ if (client_fd < 0) ++ return -1; + -+ errno = 0; -+ ull = strtoull(numstr, &err, 0); -+ if (errno > 0) { -+ return -errno; -+ } ++ ret = lxc_abstract_unix_send_credential(client_fd, &cmd->req, ++ sizeof(cmd->req)); ++ if (ret < 0 || (size_t)ret != sizeof(cmd->req)) ++ goto on_error; + -+ if (err == NULL || err == numstr || *err != '\0') { -+ return -EINVAL; -+ } ++ if (cmd->req.datalen <= 0) ++ return client_fd; + -+ *converted = (uint64_t)ull; -+ return 0; -+} ++ errno = EMSGSIZE; ++ ret = lxc_send_nointr(client_fd, (void *)cmd->req.data, ++ cmd->req.datalen, MSG_NOSIGNAL); ++ if (ret < 0 || ret != (ssize_t)cmd->req.datalen) ++ goto on_error; + -+int common_safe_uint(const char *numstr, unsigned int *converted) { -+ char *err = NULL; -+ unsigned long long int ull; ++ return client_fd; + -+ if (numstr == NULL) { -+ return -EINVAL; -+ } ++on_error: ++ saved_errno = errno; ++ close(client_fd); ++ errno = saved_errno; + -+ errno = 0; -+ ull = strtoull(numstr, &err, 0); -+ if (errno > 0) { -+ return -errno; -+ } ++ return -1; ++} + -+ if (err == NULL || err == numstr || *err != '\0') { -+ return -EINVAL; -+ } ++static int lxc_exec_cmd(const char *name, struct lxc_exec_cmd_rr *cmd, const char *lxcpath, const char *hashed_sock_name, const char *suffix) ++{ ++ int client_fd = -1; ++ int saved_errno; ++ int ret = -1; + -+ if (ull > UINT_MAX) { -+ return -ERANGE; -+ } ++ client_fd = lxc_exec_cmd_send(name, cmd, lxcpath, hashed_sock_name, suffix); ++ if (client_fd < 0) { ++ SYSTRACE("Command \"%s\" failed to connect command socket", ++ lxc_exec_cmd_str(cmd->req.cmd)); ++ return -1; ++ } + -+ *converted = (unsigned int)ull; -+ return 0; -+} ++ ret = lxc_exec_cmd_rsp_recv(client_fd, cmd); + -+int common_safe_int8(const char *numstr, int8_t *converted) { -+ char *err = NULL; -+ long int li; ++ saved_errno = errno; ++ close(client_fd); ++ errno = saved_errno; ++ return ret; ++} + -+ if (numstr == NULL) { -+ return -EINVAL; -+ } ++int lxc_exec_cmd_set_terminal_winch(const char *name, const char *lxcpath, const char *suffix, unsigned int height, unsigned int width) ++{ ++ int ret = 0; ++ struct lxc_exec_cmd_set_terminal_winch_request data = { 0 }; + -+ errno = 0; -+ li = strtol(numstr, &err, 0); -+ if (errno > 0) { -+ return -errno; -+ } ++ data.height = height; ++ data.width = width; + -+ if (err == NULL || err == numstr || *err != '\0') { -+ return -EINVAL; -+ } ++ struct lxc_exec_cmd_rr cmd = { ++ .req = { ++ .cmd = LXC_EXEC_CMD_SET_TERMINAL_WINCH, ++ .datalen = sizeof(struct lxc_exec_cmd_set_terminal_winch_request), ++ .data = &data, ++ }, ++ }; + -+ if (li > INT8_MAX || li < INT8_MIN) { -+ return -ERANGE; -+ } ++ ret = lxc_exec_cmd(name, &cmd, lxcpath, NULL, suffix); ++ if (ret < 0) { ++ ERROR("Failed to send command to container"); ++ return -1; ++ } + -+ *converted = (int8_t)li; -+ return 0; ++ if (cmd.rsp.ret != 0) { ++ ERROR("Command response error:%d", cmd.rsp.ret); ++ return -1; ++ } ++ return 0; +} + -+int common_safe_int16(const char *numstr, int16_t *converted) { -+ char *err = NULL; -+ long int li; ++static int lxc_exec_cmd_set_terminal_winch_callback(int fd, struct lxc_exec_cmd_req *req, ++ struct lxc_exec_command_handler *handler) ++{ ++ struct lxc_exec_cmd_rsp rsp; ++ struct lxc_exec_cmd_set_terminal_winch_request *data = (struct lxc_exec_cmd_set_terminal_winch_request *)(req->data); ++ memset(&rsp, 0, sizeof(rsp)); + -+ if (numstr == NULL) { -+ return -EINVAL; -+ } ++ rsp.ret = lxc_set_terminal_winsz(handler->terminal, data->height, data->width);; + -+ errno = 0; -+ li = strtol(numstr, &err, 0); -+ if (errno > 0) { -+ return -errno; -+ } ++ return lxc_exec_cmd_rsp_send(fd, &rsp); + -+ if (err == NULL || err == numstr || *err != '\0') { -+ return -EINVAL; -+ } ++} + -+ if (li > INT16_MAX || li < INT16_MIN) { -+ return -ERANGE; -+ } ++static int lxc_exec_cmd_process(int fd, struct lxc_exec_cmd_req *req, ++ struct lxc_exec_command_handler *handler) ++{ ++ typedef int (*callback)(int, struct lxc_exec_cmd_req *, struct lxc_exec_command_handler *); + -+ *converted = (int16_t)li; -+ return 0; ++ callback cb[LXC_EXEC_CMD_MAX] = { ++ [LXC_EXEC_CMD_SET_TERMINAL_WINCH] = lxc_exec_cmd_set_terminal_winch_callback, ++ }; ++ ++ if (req->cmd >= LXC_EXEC_CMD_MAX) { ++ ERROR("Undefined command id %d", req->cmd); ++ return -1; ++ } ++ return cb[req->cmd](fd, req, handler); +} + -+int common_safe_int32(const char *numstr, int32_t *converted) { -+ char *err = NULL; -+ long long int lli; ++static void lxc_exec_cmd_fd_cleanup(int fd, struct lxc_epoll_descr *descr) ++{ ++ lxc_mainloop_del_handler(descr, fd); ++ close(fd); ++ return; ++} + -+ if (numstr == NULL) { -+ return -EINVAL; -+ } ++static int lxc_exec_cmd_handler(int fd, uint32_t events, void *data, ++ struct lxc_epoll_descr *descr) ++{ ++ int ret; ++ struct lxc_exec_cmd_req req; ++ void *reqdata = NULL; ++ struct lxc_exec_command_handler *handler = data; + -+ errno = 0; -+ lli = strtol(numstr, &err, 0); -+ if (errno > 0) { -+ return -errno; -+ } ++ ret = lxc_abstract_unix_rcv_credential(fd, &req, sizeof(req)); ++ if (ret < 0) { ++ SYSERROR("Failed to receive data on command socket for command " ++ "\"%s\"", lxc_exec_cmd_str(req.cmd)); + -+ if (err == NULL || err == numstr || *err != '\0') { -+ return -EINVAL; -+ } ++ if (errno == EACCES) { ++ /* We don't care for the peer, just send and close. */ ++ struct lxc_exec_cmd_rsp rsp = {.ret = ret}; + -+ if (lli > INT32_MAX || lli < INT32_MIN) { -+ return -ERANGE; -+ } ++ lxc_exec_cmd_rsp_send(fd, &rsp); ++ } + -+ *converted = (int32_t)lli; -+ return 0; -+} ++ goto out_close; ++ } + -+int common_safe_int64(const char *numstr, int64_t *converted) { -+ char *err = NULL; -+ long long int lli; ++ if (ret == 0) ++ goto out_close; + -+ if (numstr == NULL) { -+ return -EINVAL; -+ } ++ if (ret != sizeof(req)) { ++ WARN("Failed to receive full command request. Ignoring request " ++ "for \"%s\"", lxc_exec_cmd_str(req.cmd)); ++ ret = -1; ++ goto out_close; ++ } + -+ errno = 0; -+ lli = strtoll(numstr, &err, 0); -+ if (errno > 0) { -+ return -errno; -+ } ++ if (req.datalen > LXC_CMD_DATA_MAX) { ++ ERROR("Received command data length %d is too large for " ++ "command \"%s\"", req.datalen, lxc_exec_cmd_str(req.cmd)); ++ errno = EFBIG; ++ ret = -EFBIG; ++ goto out_close; ++ } + -+ if (err == NULL || err == numstr || *err != '\0') { -+ return -EINVAL; -+ } ++ if (req.datalen > 0) { ++ reqdata = alloca(req.datalen); ++ if (!reqdata) { ++ ERROR("Failed to allocate memory for \"%s\" command", ++ lxc_exec_cmd_str(req.cmd)); ++ errno = ENOMEM; ++ ret = -ENOMEM; ++ goto out_close; ++ } + -+ *converted = (int64_t)lli; -+ return 0; ++ ret = lxc_recv_nointr(fd, reqdata, req.datalen, 0); ++ if (ret != req.datalen) { ++ WARN("Failed to receive full command request. Ignoring " ++ "request for \"%s\"", lxc_exec_cmd_str(req.cmd)); ++ ret = LXC_MAINLOOP_ERROR; ++ goto out_close; ++ } ++ ++ req.data = reqdata; ++ } ++ ++ ret = lxc_exec_cmd_process(fd, &req, handler); ++ if (ret) { ++ /* This is not an error, but only a request to close fd. */ ++ ret = LXC_MAINLOOP_CONTINUE; ++ goto out_close; ++ } ++ ++out: ++ return ret; ++ ++out_close: ++ lxc_exec_cmd_fd_cleanup(fd, descr); ++ goto out; +} + -+int common_safe_int(const char *numstr, int *converted) { -+ char *err = NULL; -+ long long int lli; ++static int lxc_exec_cmd_accept(int fd, uint32_t events, void *data, ++ struct lxc_epoll_descr *descr) ++{ ++ int connection = -1; ++ int opt = 1, ret = -1; + -+ if (numstr == NULL) { -+ return -EINVAL; -+ } ++ connection = accept(fd, NULL, 0); ++ if (connection < 0) { ++ SYSERROR("Failed to accept connection to run command"); ++ return LXC_MAINLOOP_ERROR; ++ } + -+ errno = 0; -+ lli = strtol(numstr, &err, 0); -+ if (errno > 0) { -+ return -errno; -+ } ++ ret = fcntl(connection, F_SETFD, FD_CLOEXEC); ++ if (ret < 0) { ++ SYSERROR("Failed to set close-on-exec on incoming command connection"); ++ goto out_close; ++ } + -+ if (err == NULL || err == numstr || *err != '\0') { -+ return -EINVAL; -+ } ++ ret = setsockopt(connection, SOL_SOCKET, SO_PASSCRED, &opt, sizeof(opt)); ++ if (ret < 0) { ++ SYSERROR("Failed to enable necessary credentials on command socket"); ++ goto out_close; ++ } + -+ if (lli > INT_MAX || lli < INT_MIN) { -+ return -ERANGE; -+ } ++ ret = lxc_mainloop_add_handler(descr, connection, lxc_exec_cmd_handler, data); ++ if (ret) { ++ ERROR("Failed to add command handler"); ++ goto out_close; ++ } + -+ *converted = (int)lli; -+ return 0; -+} ++out: ++ return ret; + -+yajl_gen_status gen_json_map_int_int(void *ctx, json_map_int_int *map, struct parser_context *ptx, parser_error *err) { -+ yajl_gen_status stat = yajl_gen_status_ok; -+ yajl_gen g = (yajl_gen) ctx; -+ size_t len = 0, i = 0; -+ if (map != NULL) { -+ len = map->len; -+ } -+ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { -+ yajl_gen_config(g, yajl_gen_beautify, 0); -+ } -+ stat = reformat_start_map(g); -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); ++out_close: ++ close(connection); ++ goto out; ++} ++#ifdef HAVE_ISULAD ++int lxc_exec_unix_sock_delete(const char *name, const char *suffix) ++{ ++ char path[LXC_AUDS_ADDR_LEN] = {0}; + -+ } -+ for (i = 0; i < len; i++) { -+ char numstr[MAX_NUM_STR_LEN]; -+ int nret; -+ nret = snprintf(numstr, MAX_NUM_STR_LEN, "%lld", (long long int)map->keys[i]); -+ if (nret < 0 || nret >= MAX_NUM_STR_LEN) { -+ if (!*err && asprintf(err, "Error to print string") < 0) { -+ *(err) = safe_strdup("error allocating memory"); -+ } -+ return yajl_gen_in_error_state; -+ } -+ stat = reformat_string(g, numstr, strlen(numstr)); -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ stat = reformat_int(g, map->values[i]); -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ } ++ if (name == NULL || suffix == NULL) ++ return -1; + -+ stat = reformat_end_map(g); -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { -+ yajl_gen_config(g, yajl_gen_beautify, 1); -+ } -+ return yajl_gen_status_ok; -+} ++ if (generate_named_unix_sock_path(name, suffix, path, sizeof(path)) != 0) ++ return -1; + -+void free_json_map_int_int(json_map_int_int *map) { -+ if (map != NULL) { -+ size_t i; -+ for (i = 0; i < map->len; i++) { -+ // No need to free key for type int -+ // No need to free value for type int -+ } -+ free(map->keys); -+ map->keys = NULL; -+ free(map->values); -+ map->values = NULL; -+ free(map); -+ } ++ (void)unlink(path); ++ ++ return 0; +} -+json_map_int_int *make_json_map_int_int(yajl_val src, struct parser_context *ctx, parser_error *err) { -+ json_map_int_int *ret = NULL; -+ if (src != NULL && YAJL_GET_OBJECT(src) != NULL) { -+ size_t i; -+ size_t len = YAJL_GET_OBJECT(src)->len; -+ if (len > SIZE_MAX / sizeof(int) - 1) { -+ return NULL; -+ } -+ ret = safe_malloc(sizeof(*ret)); -+ ret->len = len; -+ ret->keys = safe_malloc((len + 1) * sizeof(int)); -+ ret->values = safe_malloc((len + 1) * sizeof(int)); -+ for (i = 0; i < len; i++) { -+ const char *srckey = YAJL_GET_OBJECT(src)->keys[i]; -+ yajl_val srcval = YAJL_GET_OBJECT(src)->values[i]; + -+ if (srckey != NULL) { -+ int invalid; -+ invalid = common_safe_int(srckey, &(ret->keys[i])); -+ if (invalid) { -+ if (*err == NULL && asprintf(err, "Invalid key '%s' with type 'int': %s", srckey, strerror(-invalid)) < 0) { -+ *(err) = safe_strdup("error allocating memory"); -+ } -+ free_json_map_int_int(ret); -+ return NULL; -+ } -+ } ++int lxc_exec_cmd_init(const char *name, const char *lxcpath, const char *suffix) ++{ ++ __do_close int fd = -EBADF; ++ int ret; ++ char path[LXC_AUDS_ADDR_LEN] = {0}; ++ __do_free char *exec_sock_dir = NULL; + -+ if (srcval != NULL) { -+ int invalid; -+ if (!YAJL_IS_NUMBER(srcval)) { -+ if (*err == NULL && asprintf(err, "Invalid value with type 'int' for key '%s'", srckey) < 0) { -+ *(err) = safe_strdup("error allocating memory"); -+ } -+ free_json_map_int_int(ret); -+ return NULL; -+ } -+ invalid = common_safe_int(YAJL_GET_NUMBER(srcval), &(ret->values[i])); -+ if (invalid) { -+ if (*err == NULL && asprintf(err, "Invalid value with type 'int' for key '%s': %s", srckey, strerror(-invalid)) < 0) { -+ *(err) = safe_strdup("error allocating memory"); -+ } -+ free_json_map_int_int(ret); -+ return NULL; -+ } -+ } -+ } -+ } -+ return ret; -+} -+int append_json_map_int_int(json_map_int_int *map, int key, int val) { -+ size_t len; -+ int *keys = NULL; -+ int *vals = NULL; ++ exec_sock_dir = generate_named_unix_sock_dir(name); ++ if (exec_sock_dir == NULL) ++ return -1; + -+ if (map == NULL) { -+ return -1; -+ } ++ if (mkdir_p(exec_sock_dir, 0600) < 0) ++ return log_error_errno(-1, errno, "Failed to create exec sock directory %s", path); + -+ if ((SIZE_MAX / sizeof(int) - 1) < map->len) { -+ return -1; -+ } ++ if (generate_named_unix_sock_path(name, suffix, path, sizeof(path)) != 0) ++ return -1; + -+ len = map->len + 1; -+ keys = safe_malloc(len * sizeof(int)); -+ vals = safe_malloc(len * sizeof(int)); ++ TRACE("Creating unix socket \"%s\"", path); + -+ if (map->len) { -+ (void)memcpy(keys, map->keys, map->len * sizeof(int)); -+ (void)memcpy(vals, map->values, map->len * sizeof(int)); -+ } -+ free(map->keys); -+ map->keys = keys; -+ free(map->values); -+ map->values = vals; -+ map->keys[map->len] = key; -+ map->values[map->len] = val; ++ fd = lxc_named_unix_open(path, SOCK_STREAM, 0); ++ if (fd < 0) { ++ if (errno == EADDRINUSE) { ++ WARN("Container \"%s\" exec unix sock is occupied", name); ++ (void)unlink(path); ++ fd = lxc_named_unix_open(path, SOCK_STREAM, 0); ++ if (fd < 0) ++ return log_error_errno(-1, errno, "Failed to create command socket %s", path); ++ } else { ++ return log_error_errno(-1, errno, "Failed to create command socket %s", path); ++ } ++ } + -+ map->len++; -+ return 0; ++ ret = fcntl(fd, F_SETFD, FD_CLOEXEC); ++ if (ret < 0) ++ return log_error_errno(-1, errno, "Failed to set FD_CLOEXEC on command socket file descriptor"); ++ ++ return log_trace(move_fd(fd), "Created unix socket \"%s\"", path); +} ++#else ++int lxc_exec_cmd_init(const char *name, const char *lxcpath, const char *suffix) ++{ ++ int fd, ret; ++ char path[LXC_AUDS_ADDR_LEN] = {0}; + -+yajl_gen_status gen_json_map_int_bool(void *ctx, json_map_int_bool *map, struct parser_context *ptx, parser_error *err) { -+ yajl_gen_status stat = yajl_gen_status_ok; -+ yajl_gen g = (yajl_gen) ctx; -+ size_t len = 0, i = 0; -+ if (map != NULL) { -+ len = map->len; -+ } -+ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { -+ yajl_gen_config(g, yajl_gen_beautify, 0); -+ } -+ stat = reformat_start_map(g); -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); ++ ret = lxc_make_abstract_socket_name(path, sizeof(path), name, lxcpath, NULL, suffix); ++ if (ret < 0) ++ return -1; ++ TRACE("Creating abstract unix socket \"%s\"", &path[1]); + -+ } -+ for (i = 0; i < len; i++) { -+ char numstr[MAX_NUM_STR_LEN]; -+ int nret; -+ nret = snprintf(numstr, MAX_NUM_STR_LEN, "%lld", (long long int)map->keys[i]); -+ if (nret < 0 || nret >= MAX_NUM_STR_LEN) { -+ if (!*err && asprintf(err, "Error to print string") < 0) { -+ *(err) = safe_strdup("error allocating memory"); -+ } -+ return yajl_gen_in_error_state; -+ } -+ stat = reformat_string(g, numstr, strlen(numstr)); -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ stat = reformat_bool(g, map->values[i]); -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ } ++ fd = lxc_abstract_unix_open(path, SOCK_STREAM, 0); ++ if (fd < 0) { ++ SYSERROR("Failed to create command socket %s", &path[1]); ++ if (errno == EADDRINUSE) ++ ERROR("Container \"%s\" appears to be already running", name); + -+ stat = reformat_end_map(g); -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { -+ yajl_gen_config(g, yajl_gen_beautify, 1); -+ } -+ return yajl_gen_status_ok; -+} ++ return -1; ++ } + -+void free_json_map_int_bool(json_map_int_bool *map) { -+ if (map != NULL) { -+ free(map->keys); -+ map->keys = NULL; -+ free(map->values); -+ map->values = NULL; -+ free(map); -+ } ++ ret = fcntl(fd, F_SETFD, FD_CLOEXEC); ++ if (ret < 0) { ++ SYSERROR("Failed to set FD_CLOEXEC on command socket file descriptor"); ++ close(fd); ++ return -1; ++ } ++ ++ return fd; +} -+json_map_int_bool *make_json_map_int_bool(yajl_val src, struct parser_context *ctx, parser_error *err) { -+ json_map_int_bool *ret = NULL; -+ if (src != NULL && YAJL_GET_OBJECT(src) != NULL) { -+ size_t i; -+ size_t len = YAJL_GET_OBJECT(src)->len; -+ if (len > SIZE_MAX / sizeof(int) - 1) { -+ return NULL; -+ } -+ ret = safe_malloc(sizeof(*ret)); -+ ret->len = len; -+ ret->keys = safe_malloc((len + 1) * sizeof(int)); -+ ret->values = safe_malloc((len + 1) * sizeof(bool)); -+ for (i = 0; i < len; i++) { -+ const char *srckey = YAJL_GET_OBJECT(src)->keys[i]; -+ yajl_val srcval = YAJL_GET_OBJECT(src)->values[i]; ++#endif + -+ if (srckey != NULL) { -+ int invalid; -+ invalid = common_safe_int(srckey, &(ret->keys[i])); -+ if (invalid) { -+ if (*err == NULL && asprintf(err, "Invalid key '%s' with type 'int': %s", srckey, strerror(-invalid)) < 0) { -+ *(err) = safe_strdup("error allocating memory"); -+ } -+ free_json_map_int_bool(ret); -+ return NULL; -+ } -+ } ++int lxc_exec_cmd_mainloop_add(struct lxc_epoll_descr *descr, struct lxc_exec_command_handler *handler) ++{ ++ int ret; ++ int fd = handler->maincmd_fd; + -+ if (srcval != NULL) { -+ if (YAJL_IS_TRUE(srcval)) { -+ ret->values[i] = true; -+ } else if (YAJL_IS_FALSE(srcval)) { -+ ret->values[i] = false; -+ } else { -+ if (*err == NULL && asprintf(err, "Invalid value with type 'bool' for key '%s'", srckey) < 0) { -+ *(err) = safe_strdup("error allocating memory"); -+ } -+ free_json_map_int_bool(ret); -+ return NULL; -+ } -+ } -+ } -+ } -+ return ret; -+} -+int append_json_map_int_bool(json_map_int_bool *map, int key, bool val) { -+ size_t len; -+ int *keys = NULL; -+ bool *vals = NULL; ++ ret = lxc_mainloop_add_handler(descr, fd, lxc_exec_cmd_accept, handler); ++ if (ret < 0) { ++ ERROR("Failed to add handler for command socket"); ++ close(fd); ++ } + -+ if (map == NULL) { ++ return ret; ++} +diff --git a/src/lxc/exec_commands.h b/src/lxc/exec_commands.h +new file mode 100644 +index 0000000..3ec2a22 +--- /dev/null ++++ b/src/lxc/exec_commands.h +@@ -0,0 +1,77 @@ ++/****************************************************************************** ++ * Copyright (c) Huawei Technologies Co., Ltd. 2019. All rights reserved. ++ * Author: lifeng ++ * Create: 2019-12-08 ++ * Description: provide container definition ++ * lxc: linux Container library ++ * This library 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. ++ * ++ * This library 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 this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ ******************************************************************************/ ++ ++#ifndef __LXC_EXEC_COMMANDS_H ++#define __LXC_EXEC_COMMANDS_H ++ ++#include ++#include ++#include ++ ++#include "lxccontainer.h" ++#include "macro.h" ++#include "state.h" ++#include "terminal.h" ++ ++struct lxc_exec_command_handler { ++ int maincmd_fd; ++ struct lxc_terminal *terminal; ++}; ++ ++typedef enum { ++ LXC_EXEC_CMD_SET_TERMINAL_WINCH, ++ LXC_EXEC_CMD_MAX, ++} lxc_exec_cmd_t; ++ ++struct lxc_exec_cmd_req { ++ lxc_exec_cmd_t cmd; ++ int datalen; ++ const void *data; ++}; ++ ++struct lxc_exec_cmd_rsp { ++ int ret; /* 0 on success, -errno on failure */ ++ int datalen; ++ void *data; ++}; ++ ++struct lxc_exec_cmd_rr { ++ struct lxc_exec_cmd_req req; ++ struct lxc_exec_cmd_rsp rsp; ++}; ++ ++struct lxc_exec_cmd_set_terminal_winch_request { ++ unsigned int height; ++ unsigned int width; ++}; ++ ++struct lxc_epoll_descr; ++struct lxc_handler; ++ ++extern int lxc_exec_cmd_init(const char *name, const char *lxcpath, const char *suffix); ++extern int lxc_exec_cmd_mainloop_add(struct lxc_epoll_descr *descr, struct lxc_exec_command_handler *handler); ++extern int lxc_exec_cmd_set_terminal_winch(const char *name, const char *lxcpath, const char *suffix, unsigned int height, unsigned int width); ++ ++#ifdef HAVE_ISULAD ++extern int lxc_exec_unix_sock_delete(const char *name, const char *suffix); ++#endif ++ ++#endif /* __exec_commands_h */ +diff --git a/src/lxc/isulad_utils.c b/src/lxc/isulad_utils.c +new file mode 100644 +index 0000000..ee39302 +--- /dev/null ++++ b/src/lxc/isulad_utils.c +@@ -0,0 +1,535 @@ ++/* SPDX-License-Identifier: LGPL-2.1+ */ ++/****************************************************************************** ++ * Copyright (c) Huawei Technologies Co., Ltd. 2020. Allrights reserved ++ * Description: isulad utils ++ * Author: lifeng ++ * Create: 2020-04-11 ++******************************************************************************/ ++ ++#ifndef _GNU_SOURCE ++#define _GNU_SOURCE 1 ++#endif ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "isulad_utils.h" ++#include "log.h" ++#include "path.h" ++#include "file_utils.h" ++ ++lxc_log_define(isulad_utils, lxc); ++ ++void *lxc_common_calloc_s(size_t size) ++{ ++ if (size == 0 || size > SIZE_MAX) { ++ return NULL; ++ } ++ ++ return calloc((size_t)1, size); ++} ++ ++int lxc_mem_realloc(void **newptr, size_t newsize, void *oldptr, size_t oldsize) ++{ ++ void *tmp = NULL; ++ ++ if (newsize == 0) { ++ goto err_out; ++ } ++ ++ tmp = lxc_common_calloc_s(newsize); ++ if (tmp == NULL) { ++ ERROR("Failed to malloc memory"); ++ goto err_out; ++ } ++ ++ if (oldptr != NULL) { ++ memcpy(tmp, oldptr, (newsize < oldsize) ? newsize : oldsize); ++ ++ memset(oldptr, 0, oldsize); ++ ++ free(oldptr); ++ } ++ ++ *newptr = tmp; ++ return 0; ++ ++err_out: ++ return -1; ++} ++ ++char *safe_strdup(const char *src) ++{ ++ char *dst = NULL; ++ ++ if (src == NULL) { ++ return NULL; ++ } ++ ++ dst = strdup(src); ++ if (dst == NULL) { ++ abort(); ++ } ++ ++ return dst; ++} ++ ++int lxc_open(const char *filename, int flags, mode_t mode) ++{ ++ char rpath[PATH_MAX] = {0x00}; ++ ++ if (cleanpath(filename, rpath, sizeof(rpath)) == NULL) { ++ return -1; ++ } ++ if (mode) { ++ return open(rpath, (int)((unsigned int)flags | O_CLOEXEC), mode); ++ } else { ++ return open(rpath, (int)((unsigned int)flags | O_CLOEXEC)); ++ } ++} ++ ++FILE *lxc_fopen(const char *filename, const char *mode) ++{ ++ char rpath[PATH_MAX] = {0x00}; ++ ++ if (cleanpath(filename, rpath, sizeof(rpath)) == NULL) { ++ return NULL; ++ } ++ ++ return fopen_cloexec(rpath, mode); ++} ++ ++/* isulad: write error message */ ++void lxc_write_error_message(int errfd, const char *format, ...) ++{ ++ int ret; ++ char errbuf[BUFSIZ + 1] = {0}; ++ ssize_t sret; ++ va_list argp; ++ ++ if (errfd <= 0) ++ return; ++ ++ va_start(argp, format); ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wformat-nonliteral" ++ ret = vsnprintf(errbuf, BUFSIZ, format, argp); ++#pragma GCC diagnostic pop ++ va_end(argp); ++ if (ret < 0 || ret >= BUFSIZ) ++ SYSERROR("Failed to call vsnprintf"); ++ sret = write(errfd, errbuf, strlen(errbuf)); ++ if (sret < 0) ++ SYSERROR("Write errbuf failed"); ++} ++ ++/* isulad: read file to buffer */ ++int lxc_file2str(const char *filename, char ret[], int cap) ++{ ++ int fd, num_read; ++ ++ if ((fd = lxc_open(filename, O_RDONLY | O_CLOEXEC, 0)) == -1) + return -1; ++ if ((num_read = read(fd, ret, cap - 1)) <= 0) ++ num_read = -1; ++ else ++ ret[num_read] = 0; ++ close(fd); ++ ++ return num_read; ++} ++ ++/* isuald: lxc_stat2proc() makes sure it can handle arbitrary executable file basenames ++ * for `cmd', i.e. those with embedded whitespace or embedded ')'s. ++ * Such names confuse %s (see scanf(3)), so the string is split and %39c ++ * is used instead. (except for embedded ')' "(%[^)]c)" would work. ++ */ ++static proc_t *lxc_stat2proc(const char *S) ++{ ++ int num; ++ proc_t *P = NULL; ++ char *tmp = NULL; ++ ++ if (!S) ++ return NULL; ++ ++ tmp = strrchr(S, ')'); /* split into "PID (cmd" and "" */ ++ if (!tmp) ++ return NULL; ++ *tmp = '\0'; /* replace trailing ')' with NUL */ ++ ++ P = malloc(sizeof(proc_t)); ++ if (P == NULL) ++ return NULL; ++ (void)memset(P, 0x00, sizeof(proc_t)); ++ ++ /* parse these two strings separately, skipping the leading "(". */ ++ /* https://www.openwall.com/lists/musl/2013/11/15/5: musl's sscanf("%15c",cmd) ++ requires exactly 15 characters; anything shorter is a matching failure. */ ++#ifdef __MUSL__ ++ num = sscanf(S, "%d (%15s", &P->pid, P->cmd); /* comm[16] in kernel */ ++#else ++ num = sscanf(S, "%d (%15c", &P->pid, P->cmd); /* comm[16] in kernel */ ++#endif ++ if (num != 2) { ++ ERROR("Call sscanf error: %s", errno ? strerror(errno) : ""); ++ free(P); ++ return NULL; + } ++ num = sscanf(tmp + 2, /* skip space after ')' too */ ++ "%c " ++ "%d %d %d %d %d " ++ "%lu %lu %lu %lu %lu " ++ "%Lu %Lu %Lu %Lu " /* utime stime cutime cstime */ ++ "%ld %ld %ld %ld " ++ "%Lu " /* start_time */ ++ "%lu " ++ "%ld " ++ "%lu %lu %lu %lu %lu %lu " ++ "%*s %*s %*s %*s " /* discard, no RT signals & Linux 2.1 used hex */ ++ "%lu %lu %lu " ++ "%d %d " ++ "%lu %lu", ++ &P->state, ++ &P->ppid, &P->pgrp, &P->session, &P->tty, &P->tpgid, ++ &P->flags, &P->min_flt, &P->cmin_flt, &P->maj_flt, &P->cmaj_flt, ++ &P->utime, &P->stime, &P->cutime, &P->cstime, ++ &P->priority, &P->nice, &P->timeout, &P->it_real_value, ++ &P->start_time, ++ &P->vsize, ++ &P->rss, ++ &P->rss_rlim, &P->start_code, &P->end_code, &P->start_stack, &P->kstk_esp, ++ &P->kstk_eip, ++ &P->wchan, &P->nswap, &P->cnswap, ++ &P->exit_signal, &P->processor, /* 2.2.1 ends with "exit_signal" */ ++ &P->rtprio, &P->sched /* both added to 2.5.18 */ ++ ); ++ if (num != 35) { ++ ERROR("Call sscanf error: %s", errno ? strerror(errno) : ""); ++ free(P); ++ return NULL; ++ } ++ if (P->tty == 0) ++ P->tty = -1; /* the old notty val, update elsewhere bef. moving to 0 */ ++ return P; ++} + -+ if ((SIZE_MAX / sizeof(int) - 1) < map->len || (SIZE_MAX / sizeof(bool) - 1) < map->len) { -+ return -1; ++/* isulad: get starttime of process pid */ ++unsigned long long lxc_get_process_startat(pid_t pid) ++{ ++ int sret = 0; ++ unsigned long long startat = 0; ++ proc_t *pid_info = NULL; ++ char filename[PATH_MAX] = {0}; ++ char sbuf[1024] = {0}; /* bufs for stat */ ++ ++ sret = snprintf(filename, sizeof(filename), "/proc/%d/stat", pid); ++ if (sret < 0 || sret >= sizeof(filename)) { ++ ERROR("Failed to sprintf filename"); ++ goto out; + } + -+ len = map->len + 1; -+ keys = safe_malloc(len * sizeof(int)); -+ vals = safe_malloc(len * sizeof(bool)); ++ if ((lxc_file2str(filename, sbuf, sizeof(sbuf))) == -1) { ++ SYSERROR("Failed to read pidfile %s", filename); ++ goto out; ++ } + -+ if (map->len) { -+ (void)memcpy(keys, map->keys, map->len * sizeof(int)); -+ (void)memcpy(vals, map->values, map->len * sizeof(bool)); ++ pid_info = lxc_stat2proc(sbuf); ++ if (!pid_info) { ++ ERROR("Failed to get proc stat info"); ++ goto out; + } -+ free(map->keys); -+ map->keys = keys; -+ free(map->values); -+ map->values = vals; -+ map->keys[map->len] = key; -+ map->values[map->len] = val; + -+ map->len++; -+ return 0; ++ startat = pid_info->start_time; ++out: ++ free(pid_info); ++ return startat; +} + -+yajl_gen_status gen_json_map_int_string(void *ctx, json_map_int_string *map, struct parser_context *ptx, parser_error *err) { -+ yajl_gen_status stat = yajl_gen_status_ok; -+ yajl_gen g = (yajl_gen) ctx; -+ size_t len = 0, i = 0; -+ if (map != NULL) { -+ len = map->len; -+ } -+ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { -+ yajl_gen_config(g, yajl_gen_beautify, 0); ++// isulad: set env home in container ++int lxc_setup_env_home(uid_t uid) ++{ ++#define __PASSWD_FILE__ "/etc/passwd" ++ char *homedir = "/"; // default home dir is / ++ FILE *stream = NULL; ++ struct passwd pw, *pwbufp = NULL; ++ char buf[BUFSIZ]; ++ const char *curr_home = NULL; ++ ++ curr_home = getenv("HOME"); ++ // if user set or image set, just use it. ++ if (curr_home != NULL && strcmp(curr_home, "") != 0) { ++ return 0; ++ } ++ ++ stream = fopen_cloexec(__PASSWD_FILE__, "r"); ++ if (stream == NULL) { ++ SYSWARN("Failed to open %s", __PASSWD_FILE__); ++ goto set_env; ++ } ++ ++#if IS_BIONIC ++ while (util_getpwent_r(stream, &pw, buf, sizeof(buf), &pwbufp) == 0 && pwbufp != NULL) { ++#else ++ while (fgetpwent_r(stream, &pw, buf, sizeof(buf), &pwbufp) == 0 && pwbufp != NULL) { ++#endif ++ if (pwbufp->pw_uid == uid) { ++ homedir = pwbufp->pw_dir; ++ goto set_env; ++ } ++ } ++ WARN("User invalid, can not find user '%u'", uid); ++ ++set_env: ++ if (stream) ++ fclose(stream); ++ ++ // if we didn't configure HOME, set it based on uid; ++ // override it if reach here. ++ if (setenv("HOME", homedir, 1) < 0) { ++ SYSERROR("Unable to set env 'HOME'"); ++ return -1; ++ } ++ ++ NOTICE("Setted env 'HOME' to %s", homedir); ++ return 0; ++} ++ ++bool lxc_process_alive(pid_t pid, unsigned long long start_time) ++{ ++ int sret = 0; ++ bool alive = true; ++ proc_t *pid_info = NULL; ++ char filename[PATH_MAX] = {0}; ++ char sbuf[1024] = {0}; /* bufs for stat */ ++ ++ sret = kill(pid, 0); ++ if (sret < 0 && errno == ESRCH) ++ return false; ++ ++ sret = snprintf(filename, sizeof(filename), "/proc/%d/stat", pid); ++ if (sret < 0 || sret >= sizeof(filename)) { ++ ERROR("Failed to sprintf filename"); ++ goto out; ++ } ++ ++ if ((lxc_file2str(filename, sbuf, sizeof(sbuf))) == -1) { ++ ERROR("Failed to read pidfile %s", filename); ++ alive = false; ++ goto out; ++ } ++ ++ pid_info = lxc_stat2proc(sbuf); ++ if (!pid_info) { ++ ERROR("Failed to get proc stat info"); ++ alive = false; ++ goto out; ++ } ++ ++ if (start_time != pid_info->start_time) ++ alive = false; ++out: ++ free(pid_info); ++ return alive; ++} ++ ++bool is_non_negative_num(const char *s) ++{ ++ if (!s || !strcmp(s, "")) ++ return false; ++ while(*s != '\0') { ++ if(!isdigit(*s)) ++ return false; ++ ++s; ++ } ++ return true; ++} ++ ++static int hold_int(const char delim, bool required, char **src, unsigned int *dst) ++{ ++ unsigned long long int res = 0; ++ char *err_str = NULL; ++ ++ // ensure *src not a empty string ++ if (**src == '\0') { ++ ERROR("Empty subject on given entrie is not allowed."); ++ return -1; + } -+ stat = reformat_start_map(g); -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); + ++ errno = 0; ++ // covert string to long long ++ res = strtoull(*src, &err_str, 0); ++ if (errno != 0 && errno != ERANGE) { ++ ERROR("Parse int from string failed."); ++ return -1; + } -+ for (i = 0; i < len; i++) { -+ char numstr[MAX_NUM_STR_LEN]; -+ int nret; -+ nret = snprintf(numstr, MAX_NUM_STR_LEN, "%lld", (long long int)map->keys[i]); -+ if (nret < 0 || nret >= MAX_NUM_STR_LEN) { -+ if (!*err && asprintf(err, "Error to print string") < 0) { -+ *(err) = safe_strdup("error allocating memory"); -+ } -+ return yajl_gen_in_error_state; -+ } -+ stat = reformat_string(g, numstr, strlen(numstr)); -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); ++ ++ // **src is not a digit ++ if (err_str == *src) { ++ if (!required) { ++ ERROR("Integer part is missing."); ++ return -1; + } -+ stat = reformat_string(g, map->values[i], strlen(map->values[i]));; -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); ++ // if required, just set 0 ++ *dst = 0; ++ } else { ++ if (sizeof(void *) > 4 && res > UINT_MAX) { // make sure 64-bit platform behave same as 32-bit ++ res = UINT_MAX; + } ++ res = res & UINT_MAX; ++ *dst = (uint32_t)res; + } + -+ stat = reformat_end_map(g); -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { -+ yajl_gen_config(g, yajl_gen_beautify, 1); ++ // normal case ++ if (*err_str == delim) { ++ err_str++; ++ } else if (*err_str != '\0') { ++ ERROR("Invalid digit string."); ++ return -1; + } -+ return yajl_gen_status_ok; ++ ++ *src = err_str; // update src to next valid context in line. ++ return 0; +} + -+void free_json_map_int_string(json_map_int_string *map) { -+ if (map != NULL) { -+ size_t i; -+ for (i = 0; i < map->len; i++) { -+ // No need to free key for type int -+ free(map->values[i]); -+ map->values[i] = NULL; ++static void hold_string(const char delim, char **src, char **dst) ++{ ++ for (*dst = *src; **src != delim; ++(*src)) { ++ if (**src == '\0') { ++ break; + } -+ free(map->keys); -+ map->keys = NULL; -+ free(map->values); -+ map->values = NULL; -+ free(map); ++ } ++ ++ if (**src == delim) { ++ **src = '\0'; ++ ++(*src); + } +} -+json_map_int_string *make_json_map_int_string(yajl_val src, struct parser_context *ctx, parser_error *err) { -+ json_map_int_string *ret = NULL; -+ if (src != NULL && YAJL_GET_OBJECT(src) != NULL) { -+ size_t i; -+ size_t len = YAJL_GET_OBJECT(src)->len; -+ if (len > SIZE_MAX / sizeof(char *) - 1) { -+ return NULL; -+ } -+ ret = safe_malloc(sizeof(*ret)); -+ ret->len = len; -+ ret->keys = safe_malloc((len + 1) * sizeof(int)); -+ ret->values = safe_malloc((len + 1) * sizeof(char *)); -+ for (i = 0; i < len; i++) { -+ const char *srckey = YAJL_GET_OBJECT(src)->keys[i]; -+ yajl_val srcval = YAJL_GET_OBJECT(src)->values[i]; + -+ if (srckey != NULL) { -+ int invalid; -+ invalid = common_safe_int(srckey, &(ret->keys[i])); -+ if (invalid) { -+ if (*err == NULL && asprintf(err, "Invalid key '%s' with type 'int': %s", srckey, strerror(-invalid)) < 0) { -+ *(err) = safe_strdup("error allocating memory"); -+ } -+ free_json_map_int_string(ret); -+ return NULL; -+ } -+ } ++static int parse_line_pw(const char delim, char *line, struct passwd *result) ++{ ++ int ret = 0; ++ bool required = false; ++ char *walker = NULL; + -+ if (srcval != NULL) { -+ if (!YAJL_IS_STRING(srcval)) { -+ if (*err == NULL && asprintf(err, "Invalid value with type 'string' for key '%s'", srckey) < 0) { -+ *(err) = safe_strdup("error allocating memory"); -+ } -+ free_json_map_int_string(ret); -+ return NULL; -+ } -+ char *str = YAJL_GET_STRING(srcval); -+ ret->values[i] = safe_strdup(str ? str : ""); -+ } -+ } ++ walker = strpbrk(line, "\n"); ++ if (walker != NULL) { ++ // clear newline char ++ *walker = '\0'; + } -+ return ret; -+} -+int append_json_map_int_string(json_map_int_string *map, int key, const char *val) { -+ size_t len; -+ int *keys = NULL; -+ char **vals = NULL; + -+ if (map == NULL) { -+ return -1; ++ hold_string(delim, &line, &result->pw_name); ++ ++ required = (result->pw_name[0] == '+' || result->pw_name[0] == '-') ? true : false; ++ ++ hold_string(delim, &line, &result->pw_passwd); ++ ++ ret = hold_int(delim, required, &line, &result->pw_uid); ++ if (ret != 0) { ++ // a legitimate line must have uid ++ ERROR("Parse uid error."); ++ return ret; + } + -+ if ((SIZE_MAX / sizeof(int) - 1) < map->len || (SIZE_MAX / sizeof(char *) - 1) < map->len) { -+ return -1; ++ ret = hold_int(delim, required, &line, &result->pw_gid); ++ if (ret != 0) { ++ // it's ok to not provide gid ++ ERROR("Parse gid error."); ++ return ret; + } + -+ len = map->len + 1; -+ keys = safe_malloc(len * sizeof(int)); -+ vals = safe_malloc(len * sizeof(char *)); ++ hold_string(delim, &line, &result->pw_gecos); + -+ if (map->len) { -+ (void)memcpy(keys, map->keys, map->len * sizeof(int)); -+ (void)memcpy(vals, map->values, map->len * sizeof(char *)); -+ } -+ free(map->keys); -+ map->keys = keys; -+ free(map->values); -+ map->values = vals; -+ map->keys[map->len] = key; -+ map->values[map->len] = safe_strdup(val ? val : ""); ++ hold_string(delim, &line, &result->pw_dir); + -+ map->len++; ++ result->pw_shell = line; + return 0; +} + -+yajl_gen_status gen_json_map_string_int(void *ctx, json_map_string_int *map, struct parser_context *ptx, parser_error *err) { -+ yajl_gen_status stat = yajl_gen_status_ok; -+ yajl_gen g = (yajl_gen) ctx; -+ size_t len = 0, i = 0; -+ if (map != NULL) { -+ len = map->len; ++char *util_left_trim_space(char *str) ++{ ++ char *begin = str; ++ char *tmp = str; ++ while (isspace(*begin)) { ++ begin++; + } -+ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { -+ yajl_gen_config(g, yajl_gen_beautify, 0); ++ while ((*tmp++ = *begin++)) { + } -+ stat = reformat_start_map(g); -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); ++ return str; ++} + -+ } -+ for (i = 0; i < len; i++) { -+ stat = reformat_string(g, map->keys[i], strlen(map->keys[i])); -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ stat = reformat_int(g, map->values[i]); -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } ++int util_getpwent_r(FILE *stream, struct passwd *resbuf, char *buffer, size_t buflen, struct passwd **result) ++{ ++ const char delim = ':'; ++ char *buff_end = NULL; ++ char *walker = NULL; ++ bool got = false; ++ int ret = 0; ++ ++ if (stream == NULL || resbuf == NULL || buffer == NULL || result == NULL) { ++ ERROR("Password obj, params is NULL."); ++ return -1; + } + -+ stat = reformat_end_map(g); -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { -+ yajl_gen_config(g, yajl_gen_beautify, 1); ++ if (buflen <= 1) { ++ ERROR("Inadequate buffer length was given."); ++ return -1; + } -+ return yajl_gen_status_ok; -+} + -+void free_json_map_string_int(json_map_string_int *map) { -+ if (map != NULL) { -+ size_t i; -+ for (i = 0; i < map->len; i++) { -+ free(map->keys[i]); -+ map->keys[i] = NULL; -+ // No need to free value for type int -+ } -+ free(map->keys); -+ map->keys = NULL; -+ free(map->values); -+ map->values = NULL; -+ free(map); -+ } -+} -+json_map_string_int *make_json_map_string_int(yajl_val src, struct parser_context *ctx, parser_error *err) { -+ json_map_string_int *ret = NULL; -+ if (src != NULL && YAJL_GET_OBJECT(src) != NULL) { -+ size_t i; -+ size_t len = YAJL_GET_OBJECT(src)->len; -+ if (len > SIZE_MAX / sizeof(char *) - 1) { -+ return NULL; -+ } -+ ret = safe_malloc(sizeof(*ret)); -+ ret->len = len; -+ ret->keys = safe_malloc((len + 1) * sizeof(char *)); -+ ret->values = safe_malloc((len + 1) * sizeof(int)); -+ for (i = 0; i < len; i++) { -+ const char *srckey = YAJL_GET_OBJECT(src)->keys[i]; -+ yajl_val srcval = YAJL_GET_OBJECT(src)->values[i]; -+ ret->keys[i] = safe_strdup(srckey ? srckey : ""); ++ buff_end = buffer + buflen - 1; ++ flockfile(stream); + -+ if (srcval != NULL) { -+ int invalid; -+ if (!YAJL_IS_NUMBER(srcval)) { -+ if (*err == NULL && asprintf(err, "Invalid value with type 'int' for key '%s'", srckey) < 0) { -+ *(err) = safe_strdup("error allocating memory"); -+ } -+ free_json_map_string_int(ret); -+ return NULL; -+ } -+ invalid = common_safe_int(YAJL_GET_NUMBER(srcval), &(ret->values[i])); -+ if (invalid) { -+ if (*err == NULL && asprintf(err, "Invalid value with type 'int' for key '%s': %s", srckey, strerror(-invalid)) < 0) { -+ *(err) = safe_strdup("error allocating memory"); -+ } -+ free_json_map_string_int(ret); -+ return NULL; -+ } ++ while (1) { ++ *buff_end = '\xff'; ++ walker = fgets_unlocked(buffer, buflen, stream); ++ // if get NULL string ++ if (walker == NULL) { ++ *result = NULL; ++ // reach end of file, return error ++ if (feof(stream)) { ++ ret = ENOENT; ++ goto out; + } ++ // overflow buffer ++ ret = ERANGE; ++ goto out; ++ } ++ // just overflow last char in buffer ++ if (*buff_end != '\xff') { ++ *result = NULL; ++ ret = ERANGE; ++ goto out; + } -+ } -+ return ret; -+} -+int append_json_map_string_int(json_map_string_int *map, const char *key, int val) { -+ size_t len; -+ char **keys = NULL; -+ int *vals = NULL; + -+ if (map == NULL) { -+ return -1; -+ } ++ (void)util_left_trim_space(buffer); ++ // skip comment line and empty line ++ if (walker[0] == '#' || walker[0] == '\0') { ++ continue; ++ } + -+ if ((SIZE_MAX / sizeof(char *) - 1) < map->len || (SIZE_MAX / sizeof(int) - 1) < map->len) { -+ return -1; ++ if (parse_line_pw(delim, walker, resbuf) == 0) { ++ got = true; ++ break; ++ } + } -+ -+ len = map->len + 1; -+ keys = safe_malloc(len * sizeof(char *)); -+ vals = safe_malloc(len * sizeof(int)); -+ -+ if (map->len) { -+ (void)memcpy(keys, map->keys, map->len * sizeof(char *)); -+ (void)memcpy(vals, map->values, map->len * sizeof(int)); ++ if (!got) { ++ *result = NULL; ++ ret = ERANGE; ++ goto out; + } -+ free(map->keys); -+ map->keys = keys; -+ free(map->values); -+ map->values = vals; -+ map->keys[map->len] = safe_strdup(key ? key : ""); -+ map->values[map->len] = val; + -+ map->len++; -+ return 0; ++ *result = resbuf; ++ ret = 0; ++out: ++ funlockfile(stream); ++ return ret; +} +diff --git a/src/lxc/isulad_utils.h b/src/lxc/isulad_utils.h +new file mode 100644 +index 0000000..7a5eb89 +--- /dev/null ++++ b/src/lxc/isulad_utils.h +@@ -0,0 +1,102 @@ ++/* SPDX-License-Identifier: LGPL-2.1+ */ ++/****************************************************************************** ++ * Copyright (c) Huawei Technologies Co., Ltd. 2020. Allrights reserved ++ * Description: isulad utils ++ * Author: lifeng ++ * Create: 2020-04-11 ++******************************************************************************/ ++#ifndef __iSULAD_UTILS_H ++#define __iSULAD_UTILS_H + -+yajl_gen_status gen_json_map_string_bool(void *ctx, json_map_string_bool *map, struct parser_context *ptx, parser_error *err) { -+ yajl_gen_status stat = yajl_gen_status_ok; -+ yajl_gen g = (yajl_gen) ctx; -+ size_t len = 0, i = 0; -+ if (map != NULL) { -+ len = map->len; -+ } -+ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { -+ yajl_gen_config(g, yajl_gen_beautify, 0); -+ } -+ stat = reformat_start_map(g); -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); ++#include ++#include ++#include ++ ++/* isulad: replace space with SPACE_MAGIC_STR */ ++#define SPACE_MAGIC_STR "[#)" ++ ++/* isulad: ++ ld cutime, cstime, priority, nice, timeout, it_real_value, rss, ++ c state, ++ d ppid, pgrp, session, tty, tpgid, ++ s signal, blocked, sigignore, sigcatch, ++ lu flags, min_flt, cmin_flt, maj_flt, cmaj_flt, utime, stime, ++ lu rss_rlim, start_code, end_code, start_stack, kstk_esp, kstk_eip, ++ lu start_time, vsize, wchan, nswap, cnswap, ++*/ ++ ++/* Basic data structure which holds all information we can get about a process. ++ * (unless otherwise specified, fields are read from /proc/#/stat) ++ * ++ * Most of it comes from task_struct in linux/sched.h ++ */ ++typedef struct proc_t { ++ // 1st 16 bytes ++ int pid; /* process id */ ++ int ppid; /* pid of parent process */ ++ ++ char state; /* single-char code for process state (S=sleeping) */ ++ ++ unsigned long long ++ utime, /* user-mode CPU time accumulated by process */ ++ stime, /* kernel-mode CPU time accumulated by process */ ++ // and so on... ++ cutime, /* cumulative utime of process and reaped children */ ++ cstime, /* cumulative stime of process and reaped children */ ++ start_time; /* start time of process -- seconds since 1-1-70 */ ++ ++ long ++ priority, /* kernel scheduling priority */ ++ timeout, /* ? */ ++ nice, /* standard unix nice level of process */ ++ rss, /* resident set size from /proc/#/stat (pages) */ ++ it_real_value; /* ? */ ++ unsigned long ++ rtprio, /* real-time priority */ ++ sched, /* scheduling class */ ++ vsize, /* number of pages of virtual memory ... */ ++ rss_rlim, /* resident set size limit? */ ++ flags, /* kernel flags for the process */ ++ min_flt, /* number of minor page faults since process start */ ++ maj_flt, /* number of major page faults since process start */ ++ cmin_flt, /* cumulative min_flt of process and child processes */ ++ cmaj_flt, /* cumulative maj_flt of process and child processes */ ++ nswap, /* ? */ ++ cnswap, /* cumulative nswap ? */ ++ start_code, /* address of beginning of code segment */ ++ end_code, /* address of end of code segment */ ++ start_stack, /* address of the bottom of stack for the process */ ++ kstk_esp, /* kernel stack pointer */ ++ kstk_eip, /* kernel instruction pointer */ ++ wchan; /* address of kernel wait channel proc is sleeping in */ ++ ++ char cmd[16]; /* basename of executable file in call to exec(2) */ ++ int ++ pgrp, /* process group id */ ++ session, /* session id */ ++ tty, /* full device number of controlling terminal */ ++ tpgid, /* terminal process group id */ ++ exit_signal, /* might not be SIGCHLD */ ++ processor; /* current (or most recent?) CPU */ ++} proc_t; ++ ++extern int lxc_mem_realloc(void **newptr, size_t newsize, void *oldptr, size_t oldsize); ++extern void *lxc_common_calloc_s(size_t size); ++extern char *safe_strdup(const char *src); ++ ++extern int lxc_open(const char *filename, int flags, mode_t mode); ++extern FILE *lxc_fopen(const char *filename, const char *mode); ++ ++extern void lxc_write_error_message(int errfd, const char *format, ...); ++extern int lxc_file2str(const char *filename, char ret[], int cap); ++extern int unsigned long long lxc_get_process_startat(pid_t pid); ++// set env home in container ++extern int lxc_setup_env_home(uid_t uid); ++ ++extern bool lxc_process_alive(pid_t pid, unsigned long long start_time); ++ ++extern bool is_non_negative_num(const char *s); ++ ++int util_getpwent_r(FILE *stream, struct passwd *resbuf, char *buffer, size_t buflen, struct passwd **result); + -+ } -+ for (i = 0; i < len; i++) { -+ stat = reformat_string(g, map->keys[i], strlen(map->keys[i])); -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); ++#endif +diff --git a/src/lxc/json/defs.c b/src/lxc/json/defs.c +new file mode 100644 +index 0000000..4bf569a +--- /dev/null ++++ b/src/lxc/json/defs.c +@@ -0,0 +1,205 @@ ++// Generated from defs.json. Do not edit! ++#ifndef _GNU_SOURCE ++#define _GNU_SOURCE ++#endif ++#include ++#include ++#include "defs.h" ++ ++defs_hook *make_defs_hook(yajl_val tree, struct parser_context *ctx, parser_error *err) { ++ defs_hook *ret = NULL; ++ *err = 0; ++ if (tree == NULL) ++ return ret; ++ ret = safe_malloc(sizeof(*ret)); ++ { ++ yajl_val val = get_val(tree, "path", yajl_t_string); ++ if (val != NULL) { ++ char *str = YAJL_GET_STRING(val); ++ ret->path = safe_strdup(str ? str : ""); + } -+ stat = reformat_bool(g, map->values[i]); -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ { ++ yajl_val tmp = get_val(tree, "args", yajl_t_array); ++ if (tmp != NULL && YAJL_GET_ARRAY(tmp) != NULL && YAJL_GET_ARRAY(tmp)->len > 0) { ++ size_t i; ++ ret->args_len = YAJL_GET_ARRAY(tmp)->len; ++ if (YAJL_GET_ARRAY(tmp)->len > SIZE_MAX / sizeof(*ret->args) - 1) { ++ free_defs_hook(ret); ++ return NULL; ++ } ++ ret->args = safe_malloc((YAJL_GET_ARRAY(tmp)->len + 1) * sizeof(*ret->args)); ++ for (i = 0; i < YAJL_GET_ARRAY(tmp)->len; i++) { ++ yajl_val val = YAJL_GET_ARRAY(tmp)->values[i]; ++ if (val != NULL) { ++ char *str = YAJL_GET_STRING(val); ++ ret->args[i] = safe_strdup(str ? str : ""); ++ } ++ } + } + } -+ -+ stat = reformat_end_map(g); -+ if (yajl_gen_status_ok != stat) { -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { -+ yajl_gen_config(g, yajl_gen_beautify, 1); -+ } -+ return yajl_gen_status_ok; -+} -+ -+void free_json_map_string_bool(json_map_string_bool *map) { -+ if (map != NULL) { -+ size_t i; -+ for (i = 0; i < map->len; i++) { -+ free(map->keys[i]); -+ map->keys[i] = NULL; -+ // No need to free value for type bool ++ { ++ yajl_val tmp = get_val(tree, "env", yajl_t_array); ++ if (tmp != NULL && YAJL_GET_ARRAY(tmp) != NULL && YAJL_GET_ARRAY(tmp)->len > 0) { ++ size_t i; ++ ret->env_len = YAJL_GET_ARRAY(tmp)->len; ++ if (YAJL_GET_ARRAY(tmp)->len > SIZE_MAX / sizeof(*ret->env) - 1) { ++ free_defs_hook(ret); ++ return NULL; ++ } ++ ret->env = safe_malloc((YAJL_GET_ARRAY(tmp)->len + 1) * sizeof(*ret->env)); ++ for (i = 0; i < YAJL_GET_ARRAY(tmp)->len; i++) { ++ yajl_val val = YAJL_GET_ARRAY(tmp)->values[i]; ++ if (val != NULL) { ++ char *str = YAJL_GET_STRING(val); ++ ret->env[i] = safe_strdup(str ? str : ""); ++ } ++ } + } -+ free(map->keys); -+ map->keys = NULL; -+ free(map->values); -+ map->values = NULL; -+ free(map); + } -+} -+json_map_string_bool *make_json_map_string_bool(yajl_val src, struct parser_context *ctx, parser_error *err) { -+ json_map_string_bool *ret = NULL; -+ if (src != NULL && YAJL_GET_OBJECT(src) != NULL) { -+ size_t i; -+ size_t len = YAJL_GET_OBJECT(src)->len; -+ if (len > SIZE_MAX / sizeof(char *) - 1) { -+ return NULL; ++ { ++ yajl_val val = get_val(tree, "timeout", yajl_t_number); ++ if (val != NULL) { ++ int invalid = common_safe_int(YAJL_GET_NUMBER(val), (int *)&ret->timeout); ++ if (invalid) { ++ if (asprintf(err, "Invalid value '%s' with type 'integer' for key 'timeout': %s", YAJL_GET_NUMBER(val), strerror(-invalid)) < 0) ++ *err = safe_strdup("error allocating memory"); ++ free_defs_hook(ret); ++ return NULL; ++ } + } -+ ret = safe_malloc(sizeof(*ret)); -+ ret->len = len; -+ ret->keys = safe_malloc((len + 1) * sizeof(char *)); -+ ret->values = safe_malloc((len + 1) * sizeof(bool)); -+ for (i = 0; i < len; i++) { -+ const char *srckey = YAJL_GET_OBJECT(src)->keys[i]; -+ yajl_val srcval = YAJL_GET_OBJECT(src)->values[i]; -+ ret->keys[i] = safe_strdup(srckey ? srckey : ""); ++ } ++ if (ret->path == NULL) { ++ if (asprintf(err, "Required field '%s' not present", "path") < 0) ++ *err = safe_strdup("error allocating memory"); ++ free_defs_hook(ret); ++ return NULL; ++ } + -+ if (srcval != NULL) { -+ if (YAJL_IS_TRUE(srcval)) { -+ ret->values[i] = true; -+ } else if (YAJL_IS_FALSE(srcval)) { -+ ret->values[i] = false; -+ } else { -+ if (*err == NULL && asprintf(err, "Invalid value with type 'bool' for key '%s'", srckey) < 0) { -+ *(err) = safe_strdup("error allocating memory"); -+ } -+ free_json_map_string_bool(ret); -+ return NULL; -+ } ++ if (tree->type == yajl_t_object && (ctx->options & PARSE_OPTIONS_STRICT)) { ++ int i; ++ for (i = 0; i < tree->u.object.len; i++) ++ if (strcmp(tree->u.object.keys[i], "path") && ++ strcmp(tree->u.object.keys[i], "args") && ++ strcmp(tree->u.object.keys[i], "env") && ++ strcmp(tree->u.object.keys[i], "timeout")) { ++ if (ctx->stderr > 0) ++ fprintf(ctx->stderr, "WARNING: unknown key found: %s\n", tree->u.object.keys[i]); + } + } -+ } + return ret; +} + -+int append_json_map_string_bool(json_map_string_bool *map, const char *key, bool val) { -+ size_t len; -+ char **keys = NULL; -+ bool *vals = NULL; -+ -+ if (map == NULL) { -+ return -1; -+ } -+ -+ if ((SIZE_MAX / sizeof(char *) - 1) < map->len || (SIZE_MAX / sizeof(bool) - 1) < map->len) { -+ return -1; ++void free_defs_hook(defs_hook *ptr) { ++ if (ptr == NULL) ++ return; ++ free(ptr->path); ++ ptr->path = NULL; ++ if (ptr->args != NULL) { ++ size_t i; ++ for (i = 0; i < ptr->args_len; i++) { ++ if (ptr->args[i] != NULL) { ++ free(ptr->args[i]); ++ ptr->args[i] = NULL; ++ } ++ } ++ free(ptr->args); ++ ptr->args = NULL; + } -+ -+ len = map->len + 1; -+ keys = safe_malloc(len * sizeof(char *)); -+ vals = safe_malloc(len * sizeof(bool)); -+ -+ if (map->len) { -+ (void)memcpy(keys, map->keys, map->len * sizeof(char *)); -+ (void)memcpy(vals, map->values, map->len * sizeof(bool)); ++ if (ptr->env != NULL) { ++ size_t i; ++ for (i = 0; i < ptr->env_len; i++) { ++ if (ptr->env[i] != NULL) { ++ free(ptr->env[i]); ++ ptr->env[i] = NULL; ++ } ++ } ++ free(ptr->env); ++ ptr->env = NULL; + } -+ free(map->keys); -+ map->keys = keys; -+ free(map->values); -+ map->values = vals; -+ map->keys[map->len] = safe_strdup(key ? key : ""); -+ map->values[map->len] = val; -+ -+ map->len++; -+ return 0; ++ free(ptr); +} + -+yajl_gen_status gen_json_map_string_string(void *ctx, json_map_string_string *map, struct parser_context *ptx, parser_error *err) { ++yajl_gen_status gen_defs_hook(yajl_gen g, defs_hook *ptr, struct parser_context *ctx, parser_error *err) { + yajl_gen_status stat = yajl_gen_status_ok; -+ yajl_gen g = (yajl_gen) ctx; -+ size_t len = 0, i = 0; -+ if (map != NULL) { -+ len = map->len; -+ } -+ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { -+ yajl_gen_config(g, yajl_gen_beautify, 0); -+ } ++ *err = 0; + stat = reformat_start_map(g); -+ if (yajl_gen_status_ok != stat) { ++ if (yajl_gen_status_ok != stat) + GEN_SET_ERROR_AND_RETURN(stat, err); -+ ++ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) ||(ptr != NULL && ptr->path != NULL)) { ++ char *str = ""; ++ stat = reformat_map_key(g, "path", strlen("path")); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ if (ptr != NULL && ptr->path != NULL) { ++ str = ptr->path; ++ } ++ stat = reformat_string(g, str, strlen(str)); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); + } -+ for (i = 0; i < len; i++) { -+ stat = reformat_string(g, map->keys[i], strlen(map->keys[i])); -+ if (yajl_gen_status_ok != stat) { ++ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) || (ptr != NULL && ptr->args != NULL)) { ++ size_t len = 0, i; ++ stat = reformat_map_key(g, "args", strlen("args")); ++ if (yajl_gen_status_ok != stat) + GEN_SET_ERROR_AND_RETURN(stat, err); ++ if (ptr != NULL && ptr->args != NULL) { ++ len = ptr->args_len; + } -+ stat = reformat_string(g, map->values[i], strlen(map->values[i]));; -+ if (yajl_gen_status_ok != stat) { ++ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) ++ yajl_gen_config(g, yajl_gen_beautify, 0); ++ stat = reformat_start_array(g); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ for (i = 0; i < len; i++) { ++ stat = reformat_string(g, ptr->args[i], strlen(ptr->args[i])); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ stat = reformat_end_array(g); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) ++ yajl_gen_config(g, yajl_gen_beautify, 1); ++ } ++ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) || (ptr != NULL && ptr->env != NULL)) { ++ size_t len = 0, i; ++ stat = reformat_map_key(g, "env", strlen("env")); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ if (ptr != NULL && ptr->env != NULL) { ++ len = ptr->env_len; ++ } ++ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) ++ yajl_gen_config(g, yajl_gen_beautify, 0); ++ stat = reformat_start_array(g); ++ if (yajl_gen_status_ok != stat) + GEN_SET_ERROR_AND_RETURN(stat, err); ++ for (i = 0; i < len; i++) { ++ stat = reformat_string(g, ptr->env[i], strlen(ptr->env[i])); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); + } ++ stat = reformat_end_array(g); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) ++ yajl_gen_config(g, yajl_gen_beautify, 1); ++ } ++ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) ||(ptr != NULL && ptr->timeout)) { ++ long long int num = 0; ++ stat = reformat_map_key(g, "timeout", strlen("timeout")); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ if (ptr != NULL && ptr->timeout) { ++ num = (long long int)ptr->timeout; ++ } ++ stat = reformat_int(g, num); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); + } -+ + stat = reformat_end_map(g); -+ if (yajl_gen_status_ok != stat) { ++ if (yajl_gen_status_ok != stat) + GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { -+ yajl_gen_config(g, yajl_gen_beautify, 1); -+ } + return yajl_gen_status_ok; +} +diff --git a/src/lxc/json/defs.h b/src/lxc/json/defs.h +new file mode 100644 +index 0000000..0bbd8ac +--- /dev/null ++++ b/src/lxc/json/defs.h +@@ -0,0 +1,37 @@ ++// Generated from defs.json. Do not edit! ++#ifndef DEFS_SCHEMA_H ++#define DEFS_SCHEMA_H + -+void free_json_map_string_string(json_map_string_string *map) { -+ if (map != NULL) { -+ size_t i; -+ for (i = 0; i < map->len; i++) { -+ free(map->keys[i]); -+ map->keys[i] = NULL; -+ free(map->values[i]); -+ map->values[i] = NULL; -+ } -+ free(map->keys); -+ map->keys = NULL; -+ free(map->values); -+ map->values = NULL; -+ free(map); -+ } -+} -+json_map_string_string *make_json_map_string_string(yajl_val src, struct parser_context *ctx, parser_error *err) { -+ json_map_string_string *ret = NULL; -+ if (src != NULL && YAJL_GET_OBJECT(src) != NULL) { -+ size_t i; -+ size_t len = YAJL_GET_OBJECT(src)->len; -+ if (len > SIZE_MAX / sizeof(char *) - 1) { -+ return NULL; -+ } -+ ret = safe_malloc(sizeof(*ret)); -+ ret->len = len; -+ ret->keys = safe_malloc((len + 1) * sizeof(char *)); -+ ret->values = safe_malloc((len + 1) * sizeof(char *)); -+ for (i = 0; i < len; i++) { -+ const char *srckey = YAJL_GET_OBJECT(src)->keys[i]; -+ yajl_val srcval = YAJL_GET_OBJECT(src)->values[i]; -+ ret->keys[i] = safe_strdup(srckey ? srckey : ""); ++#include ++#include ++#include "json_common.h" + -+ if (srcval != NULL) { -+ if (!YAJL_IS_STRING(srcval)) { -+ if (*err == NULL && asprintf(err, "Invalid value with type 'string' for key '%s'", srckey) < 0) { -+ *(err) = safe_strdup("error allocating memory"); -+ } -+ free_json_map_string_string(ret); -+ return NULL; -+ } -+ char *str = YAJL_GET_STRING(srcval); -+ ret->values[i] = safe_strdup(str ? str : ""); -+ } -+ } -+ } -+ return ret; -+} -+int append_json_map_string_string(json_map_string_string *map, const char *key, const char *val) { -+ size_t len, i; -+ char **keys = NULL; -+ char **vals = NULL; ++#ifdef __cplusplus ++extern "C" { ++#endif + -+ if (map == NULL) { -+ return -1; -+ } ++typedef struct { ++ char *path; + -+ for (i = 0; i < map->len; i++) { -+ if (strcmp(map->keys[i], key) == 0) { -+ free(map->values[i]); -+ map->values[i] = safe_strdup(val ? val : ""); -+ return 0; -+ } -+ } ++ char **args; ++ size_t args_len; + -+ if ((SIZE_MAX / sizeof(char *) - 1) < map->len) { -+ return -1; -+ } ++ char **env; ++ size_t env_len; + -+ len = map->len + 1; -+ keys = safe_malloc(len * sizeof(char *)); -+ vals = safe_malloc(len * sizeof(char *)); ++ int timeout; + -+ if (map->len) { -+ (void)memcpy(keys, map->keys, map->len * sizeof(char *)); -+ (void)memcpy(vals, map->values, map->len * sizeof(char *)); -+ } -+ free(map->keys); -+ map->keys = keys; -+ free(map->values); -+ map->values = vals; -+ map->keys[map->len] = safe_strdup(key ? key : ""); -+ map->values[map->len] = safe_strdup(val ? val : ""); ++} ++defs_hook; + -+ map->len++; -+ return 0; ++void free_defs_hook(defs_hook *ptr); ++ ++defs_hook *make_defs_hook(yajl_val tree, struct parser_context *ctx, parser_error *err); ++ ++yajl_gen_status gen_defs_hook(yajl_gen g, defs_hook *ptr, struct parser_context *ctx, parser_error *err); ++ ++#ifdef __cplusplus +} -diff --git a/src/lxc/json/json_common.h b/src/lxc/json/json_common.h ++#endif ++ ++#endif +diff --git a/src/lxc/json/json_common.c b/src/lxc/json/json_common.c new file mode 100755 -index 0000000..60aa5fd +index 0000000..ec20c59 --- /dev/null -+++ b/src/lxc/json/json_common.h -@@ -0,0 +1,185 @@ ++++ b/src/lxc/json/json_common.c +@@ -0,0 +1,1153 @@ +// Auto generated file. Do not edit! -+#ifndef _JSON_COMMON_H -+#define _JSON_COMMON_H -+ -+#include ++#define _GNU_SOURCE +#include -+#include -+#include -+#include -+#include -+#include -+#include "utils.h" ++#include ++#include ++#include "json_common.h" + -+#ifdef __cplusplus -+extern "C" { -+#endif ++#define MAX_NUM_STR_LEN 21 + -+# undef linux ++yajl_gen_status reformat_number(void *ctx, const char *str, size_t len) { ++ yajl_gen g = (yajl_gen) ctx; ++ return yajl_gen_number(g, str, len); ++} + -+//options to report error if there is unknown key found in json -+# define PARSE_OPTIONS_STRICT 0x01 -+//options to generate all key and value -+# define GEN_OPTIONS_ALLKEYVALUE 0x02 -+//options to generate simplify(no indent) json string -+# define GEN_OPTIONS_SIMPLIFY 0x04 -+//options not to validate utf8 data -+# define GEN_OPTIONS_NOT_VALIDATE_UTF8 0x08 ++yajl_gen_status reformat_uint(void *ctx, long long unsigned int num) { ++ char numstr[MAX_NUM_STR_LEN]; ++ int ret; + -+#define GEN_SET_ERROR_AND_RETURN(stat, err) { \ -+ if (*(err) == NULL) {\ -+ if (asprintf(err, "%s: %s: %d: error generating json, errcode: %d", __FILE__, __func__, __LINE__, stat) < 0) { \ -+ *(err) = safe_strdup("error allocating memory"); \ -+ } \ -+ }\ -+ return stat; \ ++ ret = snprintf(numstr, MAX_NUM_STR_LEN, "%llu", num); ++ if (ret < 0 || ret >= MAX_NUM_STR_LEN) { ++ return yajl_gen_in_error_state; + } ++ return reformat_number(ctx, (const char *)numstr, strlen(numstr)); ++} + -+typedef char *parser_error; -+ -+struct parser_context { -+ unsigned int options; -+ FILE *stderr; -+}; ++yajl_gen_status reformat_int(void *ctx, long long int num) { ++ char numstr[MAX_NUM_STR_LEN]; ++ int ret; + -+yajl_gen_status reformat_number(void *ctx, const char *str, size_t len); ++ ret = snprintf(numstr, MAX_NUM_STR_LEN, "%lld", num); ++ if (ret < 0 || ret >= MAX_NUM_STR_LEN) { ++ return yajl_gen_in_error_state; ++ } ++ return reformat_number(ctx, (const char *)numstr, strlen(numstr)); ++} + -+yajl_gen_status reformat_uint(void *ctx, long long unsigned int num); ++yajl_gen_status reformat_double(void *ctx, double num) { ++ yajl_gen g = (yajl_gen) ctx; ++ return yajl_gen_double(g, num); ++} + -+yajl_gen_status reformat_int(void *ctx, long long int num); ++yajl_gen_status reformat_string(void *ctx, const char *str, size_t len) { ++ yajl_gen g = (yajl_gen) ctx; ++ return yajl_gen_string(g, (const unsigned char *)str, len); ++} + -+yajl_gen_status reformat_double(void *ctx, double num); ++yajl_gen_status reformat_null(void *ctx) { ++ yajl_gen g = (yajl_gen) ctx; ++ return yajl_gen_null(g); ++} + -+yajl_gen_status reformat_string(void *ctx, const char *str, size_t len); ++yajl_gen_status reformat_bool(void *ctx, int boolean) { ++ yajl_gen g = (yajl_gen) ctx; ++ return yajl_gen_bool(g, boolean); ++} + -+yajl_gen_status reformat_null(void *ctx); ++yajl_gen_status reformat_map_key(void *ctx, const char *str, size_t len) { ++ yajl_gen g = (yajl_gen) ctx; ++ return yajl_gen_string(g, (const unsigned char *)str, len); ++} + -+yajl_gen_status reformat_bool(void *ctx, int boolean); ++yajl_gen_status reformat_start_map(void *ctx) { ++ yajl_gen g = (yajl_gen) ctx; ++ return yajl_gen_map_open(g); ++} + -+yajl_gen_status reformat_map_key(void *ctx, const char *str, size_t len); ++yajl_gen_status reformat_end_map(void *ctx) { ++ yajl_gen g = (yajl_gen) ctx; ++ return yajl_gen_map_close(g); ++} + -+yajl_gen_status reformat_start_map(void *ctx); ++yajl_gen_status reformat_start_array(void *ctx) { ++ yajl_gen g = (yajl_gen) ctx; ++ return yajl_gen_array_open(g); ++} + -+yajl_gen_status reformat_end_map(void *ctx); ++yajl_gen_status reformat_end_array(void *ctx) { ++ yajl_gen g = (yajl_gen) ctx; ++ return yajl_gen_array_close(g); ++} + -+yajl_gen_status reformat_start_array(void *ctx); ++bool json_gen_init(yajl_gen *g, struct parser_context *ctx) { ++ *g = yajl_gen_alloc(NULL); ++ if (NULL == *g) { ++ return false; + -+yajl_gen_status reformat_end_array(void *ctx); ++ } ++ yajl_gen_config(*g, yajl_gen_beautify, !(ctx->options & GEN_OPTIONS_SIMPLIFY)); ++ yajl_gen_config(*g, yajl_gen_validate_utf8, !(ctx->options & GEN_OPTIONS_NOT_VALIDATE_UTF8)); ++ return true; ++} + -+bool json_gen_init(yajl_gen *g, struct parser_context *ctx); ++yajl_val get_val(yajl_val tree, const char *name, yajl_type type) { ++ const char *path[] = { name, NULL }; ++ return yajl_tree_get(tree, path, type); ++} + -+yajl_val get_val(yajl_val tree, const char *name, yajl_type type); ++void *safe_malloc(size_t size) { ++ void *ret = NULL; ++ if (size == 0) { ++ abort(); ++ } ++ ret = calloc(1, size); ++ if (ret == NULL) { ++ abort(); ++ } ++ return ret; ++} + -+void *safe_malloc(size_t size); ++int common_safe_double(const char *numstr, double *converted) { ++ char *err_str = NULL; ++ double d; + -+int common_safe_double(const char *numstr, double *converted); ++ if (numstr == NULL) { ++ return -EINVAL; ++ } + -+int common_safe_uint8(const char *numstr, uint8_t *converted); ++ errno = 0; ++ d = strtod(numstr, &err_str); ++ if (errno > 0) { ++ return -errno; ++ } + -+int common_safe_uint16(const char *numstr, uint16_t *converted); ++ if (err_str == NULL || err_str == numstr || *err_str != '\0') { ++ return -EINVAL; ++ } + -+int common_safe_uint32(const char *numstr, uint32_t *converted); ++ *converted = d; ++ return 0; ++} + -+int common_safe_uint64(const char *numstr, uint64_t *converted); ++int common_safe_uint8(const char *numstr, uint8_t *converted) { ++ char *err = NULL; ++ unsigned long int uli; + -+int common_safe_uint(const char *numstr, unsigned int *converted); ++ if (numstr == NULL) { ++ return -EINVAL; ++ } + -+int common_safe_int8(const char *numstr, int8_t *converted); ++ errno = 0; ++ uli = strtoul(numstr, &err, 0); ++ if (errno > 0) { ++ return -errno; ++ } + -+int common_safe_int16(const char *numstr, int16_t *converted); ++ if (err == NULL || err == numstr || *err != '\0') { ++ return -EINVAL; ++ } + -+int common_safe_int32(const char *numstr, int32_t *converted); ++ if (uli > UINT8_MAX) { ++ return -ERANGE; ++ } + -+int common_safe_int64(const char *numstr, int64_t *converted); ++ *converted = (uint8_t)uli; ++ return 0; ++} + -+int common_safe_int(const char *numstr, int *converted); ++int common_safe_uint16(const char *numstr, uint16_t *converted) { ++ char *err = NULL; ++ unsigned long int uli; + -+typedef struct { -+ int *keys; -+ int *values; -+ size_t len; -+} json_map_int_int; ++ if (numstr == NULL) { ++ return -EINVAL; ++ } + -+void free_json_map_int_int(json_map_int_int *map); ++ errno = 0; ++ uli = strtoul(numstr, &err, 0); ++ if (errno > 0) { ++ return -errno; ++ } + -+json_map_int_int *make_json_map_int_int(yajl_val src, struct parser_context *ctx, parser_error *err); ++ if (err == NULL || err == numstr || *err != '\0') { ++ return -EINVAL; ++ } + -+yajl_gen_status gen_json_map_int_int(void *ctx, json_map_int_int *map, struct parser_context *ptx, parser_error *err); ++ if (uli > UINT16_MAX) { ++ return -ERANGE; ++ } + -+int append_json_map_int_int(json_map_int_int *map, int key, int val); ++ *converted = (uint16_t)uli; ++ return 0; ++} + -+typedef struct { -+ int *keys; -+ bool *values; -+ size_t len; -+} json_map_int_bool; ++int common_safe_uint32(const char *numstr, uint32_t *converted) { ++ char *err = NULL; ++ unsigned long long int ull; + -+void free_json_map_int_bool(json_map_int_bool *map); ++ if (numstr == NULL) { ++ return -EINVAL; ++ } + -+json_map_int_bool *make_json_map_int_bool(yajl_val src, struct parser_context *ctx, parser_error *err); ++ errno = 0; ++ ull = strtoull(numstr, &err, 0); ++ if (errno > 0) { ++ return -errno; ++ } + -+yajl_gen_status gen_json_map_int_bool(void *ctx, json_map_int_bool *map, struct parser_context *ptx, parser_error *err); ++ if (err == NULL || err == numstr || *err != '\0') { ++ return -EINVAL; ++ } + -+int append_json_map_int_bool(json_map_int_bool *map, int key, bool val); ++ if (ull > UINT32_MAX) { ++ return -ERANGE; ++ } + -+typedef struct { -+ int *keys; -+ char **values; -+ size_t len; -+} json_map_int_string; ++ *converted = (uint32_t)ull; ++ return 0; ++} + -+void free_json_map_int_string(json_map_int_string *map); ++int common_safe_uint64(const char *numstr, uint64_t *converted) { ++ char *err = NULL; ++ unsigned long long int ull; + -+json_map_int_string *make_json_map_int_string(yajl_val src, struct parser_context *ctx, parser_error *err); ++ if (numstr == NULL) { ++ return -EINVAL; ++ } + -+yajl_gen_status gen_json_map_int_string(void *ctx, json_map_int_string *map, struct parser_context *ptx, parser_error *err); ++ errno = 0; ++ ull = strtoull(numstr, &err, 0); ++ if (errno > 0) { ++ return -errno; ++ } + -+int append_json_map_int_string(json_map_int_string *map, int key, const char *val); ++ if (err == NULL || err == numstr || *err != '\0') { ++ return -EINVAL; ++ } + -+typedef struct { -+ char **keys; -+ int *values; -+ size_t len; -+} json_map_string_int; ++ *converted = (uint64_t)ull; ++ return 0; ++} + -+void free_json_map_string_int(json_map_string_int *map); ++int common_safe_uint(const char *numstr, unsigned int *converted) { ++ char *err = NULL; ++ unsigned long long int ull; + -+json_map_string_int *make_json_map_string_int(yajl_val src, struct parser_context *ctx, parser_error *err); ++ if (numstr == NULL) { ++ return -EINVAL; ++ } + -+yajl_gen_status gen_json_map_string_int(void *ctx, json_map_string_int *map, struct parser_context *ptx, parser_error *err); ++ errno = 0; ++ ull = strtoull(numstr, &err, 0); ++ if (errno > 0) { ++ return -errno; ++ } + -+int append_json_map_string_int(json_map_string_int *map, const char *key, int val); ++ if (err == NULL || err == numstr || *err != '\0') { ++ return -EINVAL; ++ } + -+typedef struct { -+ char **keys; -+ bool *values; -+ size_t len; -+} json_map_string_bool; ++ if (ull > UINT_MAX) { ++ return -ERANGE; ++ } + -+void free_json_map_string_bool(json_map_string_bool *map); ++ *converted = (unsigned int)ull; ++ return 0; ++} + -+json_map_string_bool *make_json_map_string_bool(yajl_val src, struct parser_context *ctx, parser_error *err); ++int common_safe_int8(const char *numstr, int8_t *converted) { ++ char *err = NULL; ++ long int li; + -+yajl_gen_status gen_json_map_string_bool(void *ctx, json_map_string_bool *map, struct parser_context *ptx, parser_error *err); ++ if (numstr == NULL) { ++ return -EINVAL; ++ } + -+int append_json_map_string_bool(json_map_string_bool *map, const char *key, bool val); ++ errno = 0; ++ li = strtol(numstr, &err, 0); ++ if (errno > 0) { ++ return -errno; ++ } + -+typedef struct { -+ char **keys; -+ char **values; -+ size_t len; -+} json_map_string_string; ++ if (err == NULL || err == numstr || *err != '\0') { ++ return -EINVAL; ++ } + -+void free_json_map_string_string(json_map_string_string *map); ++ if (li > INT8_MAX || li < INT8_MIN) { ++ return -ERANGE; ++ } + -+json_map_string_string *make_json_map_string_string(yajl_val src, struct parser_context *ctx, parser_error *err); ++ *converted = (int8_t)li; ++ return 0; ++} + -+yajl_gen_status gen_json_map_string_string(void *ctx, json_map_string_string *map, struct parser_context *ptx, parser_error *err); ++int common_safe_int16(const char *numstr, int16_t *converted) { ++ char *err = NULL; ++ long int li; + -+int append_json_map_string_string(json_map_string_string *map, const char *key, const char *val); ++ if (numstr == NULL) { ++ return -EINVAL; ++ } ++ ++ errno = 0; ++ li = strtol(numstr, &err, 0); ++ if (errno > 0) { ++ return -errno; ++ } ++ ++ if (err == NULL || err == numstr || *err != '\0') { ++ return -EINVAL; ++ } ++ ++ if (li > INT16_MAX || li < INT16_MIN) { ++ return -ERANGE; ++ } ++ ++ *converted = (int16_t)li; ++ return 0; ++} ++ ++int common_safe_int32(const char *numstr, int32_t *converted) { ++ char *err = NULL; ++ long long int lli; ++ ++ if (numstr == NULL) { ++ return -EINVAL; ++ } ++ ++ errno = 0; ++ lli = strtol(numstr, &err, 0); ++ if (errno > 0) { ++ return -errno; ++ } ++ ++ if (err == NULL || err == numstr || *err != '\0') { ++ return -EINVAL; ++ } ++ ++ if (lli > INT32_MAX || lli < INT32_MIN) { ++ return -ERANGE; ++ } ++ ++ *converted = (int32_t)lli; ++ return 0; ++} ++ ++int common_safe_int64(const char *numstr, int64_t *converted) { ++ char *err = NULL; ++ long long int lli; ++ ++ if (numstr == NULL) { ++ return -EINVAL; ++ } ++ ++ errno = 0; ++ lli = strtoll(numstr, &err, 0); ++ if (errno > 0) { ++ return -errno; ++ } ++ ++ if (err == NULL || err == numstr || *err != '\0') { ++ return -EINVAL; ++ } ++ ++ *converted = (int64_t)lli; ++ return 0; ++} ++ ++int common_safe_int(const char *numstr, int *converted) { ++ char *err = NULL; ++ long long int lli; ++ ++ if (numstr == NULL) { ++ return -EINVAL; ++ } ++ ++ errno = 0; ++ lli = strtol(numstr, &err, 0); ++ if (errno > 0) { ++ return -errno; ++ } ++ ++ if (err == NULL || err == numstr || *err != '\0') { ++ return -EINVAL; ++ } ++ ++ if (lli > INT_MAX || lli < INT_MIN) { ++ return -ERANGE; ++ } ++ ++ *converted = (int)lli; ++ return 0; ++} ++ ++yajl_gen_status gen_json_map_int_int(void *ctx, json_map_int_int *map, struct parser_context *ptx, parser_error *err) { ++ yajl_gen_status stat = yajl_gen_status_ok; ++ yajl_gen g = (yajl_gen) ctx; ++ size_t len = 0, i = 0; ++ if (map != NULL) { ++ len = map->len; ++ } ++ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { ++ yajl_gen_config(g, yajl_gen_beautify, 0); ++ } ++ stat = reformat_start_map(g); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ ++ } ++ for (i = 0; i < len; i++) { ++ char numstr[MAX_NUM_STR_LEN]; ++ int nret; ++ nret = snprintf(numstr, MAX_NUM_STR_LEN, "%lld", (long long int)map->keys[i]); ++ if (nret < 0 || nret >= MAX_NUM_STR_LEN) { ++ if (!*err && asprintf(err, "Error to print string") < 0) { ++ *(err) = safe_strdup("error allocating memory"); ++ } ++ return yajl_gen_in_error_state; ++ } ++ stat = reformat_string(g, numstr, strlen(numstr)); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ stat = reformat_int(g, map->values[i]); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ } ++ ++ stat = reformat_end_map(g); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { ++ yajl_gen_config(g, yajl_gen_beautify, 1); ++ } ++ return yajl_gen_status_ok; ++} ++ ++void free_json_map_int_int(json_map_int_int *map) { ++ if (map != NULL) { ++ size_t i; ++ for (i = 0; i < map->len; i++) { ++ // No need to free key for type int ++ // No need to free value for type int ++ } ++ free(map->keys); ++ map->keys = NULL; ++ free(map->values); ++ map->values = NULL; ++ free(map); ++ } ++} ++json_map_int_int *make_json_map_int_int(yajl_val src, struct parser_context *ctx, parser_error *err) { ++ json_map_int_int *ret = NULL; ++ if (src != NULL && YAJL_GET_OBJECT(src) != NULL) { ++ size_t i; ++ size_t len = YAJL_GET_OBJECT(src)->len; ++ if (len > SIZE_MAX / sizeof(int) - 1) { ++ return NULL; ++ } ++ ret = safe_malloc(sizeof(*ret)); ++ ret->len = len; ++ ret->keys = safe_malloc((len + 1) * sizeof(int)); ++ ret->values = safe_malloc((len + 1) * sizeof(int)); ++ for (i = 0; i < len; i++) { ++ const char *srckey = YAJL_GET_OBJECT(src)->keys[i]; ++ yajl_val srcval = YAJL_GET_OBJECT(src)->values[i]; ++ ++ if (srckey != NULL) { ++ int invalid; ++ invalid = common_safe_int(srckey, &(ret->keys[i])); ++ if (invalid) { ++ if (*err == NULL && asprintf(err, "Invalid key '%s' with type 'int': %s", srckey, strerror(-invalid)) < 0) { ++ *(err) = safe_strdup("error allocating memory"); ++ } ++ free_json_map_int_int(ret); ++ return NULL; ++ } ++ } ++ ++ if (srcval != NULL) { ++ int invalid; ++ if (!YAJL_IS_NUMBER(srcval)) { ++ if (*err == NULL && asprintf(err, "Invalid value with type 'int' for key '%s'", srckey) < 0) { ++ *(err) = safe_strdup("error allocating memory"); ++ } ++ free_json_map_int_int(ret); ++ return NULL; ++ } ++ invalid = common_safe_int(YAJL_GET_NUMBER(srcval), &(ret->values[i])); ++ if (invalid) { ++ if (*err == NULL && asprintf(err, "Invalid value with type 'int' for key '%s': %s", srckey, strerror(-invalid)) < 0) { ++ *(err) = safe_strdup("error allocating memory"); ++ } ++ free_json_map_int_int(ret); ++ return NULL; ++ } ++ } ++ } ++ } ++ return ret; ++} ++int append_json_map_int_int(json_map_int_int *map, int key, int val) { ++ size_t len; ++ int *keys = NULL; ++ int *vals = NULL; ++ ++ if (map == NULL) { ++ return -1; ++ } ++ ++ if ((SIZE_MAX / sizeof(int) - 1) < map->len) { ++ return -1; ++ } ++ ++ len = map->len + 1; ++ keys = safe_malloc(len * sizeof(int)); ++ vals = safe_malloc(len * sizeof(int)); ++ ++ if (map->len) { ++ (void)memcpy(keys, map->keys, map->len * sizeof(int)); ++ (void)memcpy(vals, map->values, map->len * sizeof(int)); ++ } ++ free(map->keys); ++ map->keys = keys; ++ free(map->values); ++ map->values = vals; ++ map->keys[map->len] = key; ++ map->values[map->len] = val; ++ ++ map->len++; ++ return 0; ++} ++ ++yajl_gen_status gen_json_map_int_bool(void *ctx, json_map_int_bool *map, struct parser_context *ptx, parser_error *err) { ++ yajl_gen_status stat = yajl_gen_status_ok; ++ yajl_gen g = (yajl_gen) ctx; ++ size_t len = 0, i = 0; ++ if (map != NULL) { ++ len = map->len; ++ } ++ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { ++ yajl_gen_config(g, yajl_gen_beautify, 0); ++ } ++ stat = reformat_start_map(g); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ ++ } ++ for (i = 0; i < len; i++) { ++ char numstr[MAX_NUM_STR_LEN]; ++ int nret; ++ nret = snprintf(numstr, MAX_NUM_STR_LEN, "%lld", (long long int)map->keys[i]); ++ if (nret < 0 || nret >= MAX_NUM_STR_LEN) { ++ if (!*err && asprintf(err, "Error to print string") < 0) { ++ *(err) = safe_strdup("error allocating memory"); ++ } ++ return yajl_gen_in_error_state; ++ } ++ stat = reformat_string(g, numstr, strlen(numstr)); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ stat = reformat_bool(g, map->values[i]); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ } ++ ++ stat = reformat_end_map(g); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { ++ yajl_gen_config(g, yajl_gen_beautify, 1); ++ } ++ return yajl_gen_status_ok; ++} ++ ++void free_json_map_int_bool(json_map_int_bool *map) { ++ if (map != NULL) { ++ free(map->keys); ++ map->keys = NULL; ++ free(map->values); ++ map->values = NULL; ++ free(map); ++ } ++} ++json_map_int_bool *make_json_map_int_bool(yajl_val src, struct parser_context *ctx, parser_error *err) { ++ json_map_int_bool *ret = NULL; ++ if (src != NULL && YAJL_GET_OBJECT(src) != NULL) { ++ size_t i; ++ size_t len = YAJL_GET_OBJECT(src)->len; ++ if (len > SIZE_MAX / sizeof(int) - 1) { ++ return NULL; ++ } ++ ret = safe_malloc(sizeof(*ret)); ++ ret->len = len; ++ ret->keys = safe_malloc((len + 1) * sizeof(int)); ++ ret->values = safe_malloc((len + 1) * sizeof(bool)); ++ for (i = 0; i < len; i++) { ++ const char *srckey = YAJL_GET_OBJECT(src)->keys[i]; ++ yajl_val srcval = YAJL_GET_OBJECT(src)->values[i]; ++ ++ if (srckey != NULL) { ++ int invalid; ++ invalid = common_safe_int(srckey, &(ret->keys[i])); ++ if (invalid) { ++ if (*err == NULL && asprintf(err, "Invalid key '%s' with type 'int': %s", srckey, strerror(-invalid)) < 0) { ++ *(err) = safe_strdup("error allocating memory"); ++ } ++ free_json_map_int_bool(ret); ++ return NULL; ++ } ++ } ++ ++ if (srcval != NULL) { ++ if (YAJL_IS_TRUE(srcval)) { ++ ret->values[i] = true; ++ } else if (YAJL_IS_FALSE(srcval)) { ++ ret->values[i] = false; ++ } else { ++ if (*err == NULL && asprintf(err, "Invalid value with type 'bool' for key '%s'", srckey) < 0) { ++ *(err) = safe_strdup("error allocating memory"); ++ } ++ free_json_map_int_bool(ret); ++ return NULL; ++ } ++ } ++ } ++ } ++ return ret; ++} ++int append_json_map_int_bool(json_map_int_bool *map, int key, bool val) { ++ size_t len; ++ int *keys = NULL; ++ bool *vals = NULL; ++ ++ if (map == NULL) { ++ return -1; ++ } ++ ++ if ((SIZE_MAX / sizeof(int) - 1) < map->len || (SIZE_MAX / sizeof(bool) - 1) < map->len) { ++ return -1; ++ } ++ ++ len = map->len + 1; ++ keys = safe_malloc(len * sizeof(int)); ++ vals = safe_malloc(len * sizeof(bool)); ++ ++ if (map->len) { ++ (void)memcpy(keys, map->keys, map->len * sizeof(int)); ++ (void)memcpy(vals, map->values, map->len * sizeof(bool)); ++ } ++ free(map->keys); ++ map->keys = keys; ++ free(map->values); ++ map->values = vals; ++ map->keys[map->len] = key; ++ map->values[map->len] = val; ++ ++ map->len++; ++ return 0; ++} ++ ++yajl_gen_status gen_json_map_int_string(void *ctx, json_map_int_string *map, struct parser_context *ptx, parser_error *err) { ++ yajl_gen_status stat = yajl_gen_status_ok; ++ yajl_gen g = (yajl_gen) ctx; ++ size_t len = 0, i = 0; ++ if (map != NULL) { ++ len = map->len; ++ } ++ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { ++ yajl_gen_config(g, yajl_gen_beautify, 0); ++ } ++ stat = reformat_start_map(g); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ ++ } ++ for (i = 0; i < len; i++) { ++ char numstr[MAX_NUM_STR_LEN]; ++ int nret; ++ nret = snprintf(numstr, MAX_NUM_STR_LEN, "%lld", (long long int)map->keys[i]); ++ if (nret < 0 || nret >= MAX_NUM_STR_LEN) { ++ if (!*err && asprintf(err, "Error to print string") < 0) { ++ *(err) = safe_strdup("error allocating memory"); ++ } ++ return yajl_gen_in_error_state; ++ } ++ stat = reformat_string(g, numstr, strlen(numstr)); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ stat = reformat_string(g, map->values[i], strlen(map->values[i]));; ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ } ++ ++ stat = reformat_end_map(g); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { ++ yajl_gen_config(g, yajl_gen_beautify, 1); ++ } ++ return yajl_gen_status_ok; ++} ++ ++void free_json_map_int_string(json_map_int_string *map) { ++ if (map != NULL) { ++ size_t i; ++ for (i = 0; i < map->len; i++) { ++ // No need to free key for type int ++ free(map->values[i]); ++ map->values[i] = NULL; ++ } ++ free(map->keys); ++ map->keys = NULL; ++ free(map->values); ++ map->values = NULL; ++ free(map); ++ } ++} ++json_map_int_string *make_json_map_int_string(yajl_val src, struct parser_context *ctx, parser_error *err) { ++ json_map_int_string *ret = NULL; ++ if (src != NULL && YAJL_GET_OBJECT(src) != NULL) { ++ size_t i; ++ size_t len = YAJL_GET_OBJECT(src)->len; ++ if (len > SIZE_MAX / sizeof(char *) - 1) { ++ return NULL; ++ } ++ ret = safe_malloc(sizeof(*ret)); ++ ret->len = len; ++ ret->keys = safe_malloc((len + 1) * sizeof(int)); ++ ret->values = safe_malloc((len + 1) * sizeof(char *)); ++ for (i = 0; i < len; i++) { ++ const char *srckey = YAJL_GET_OBJECT(src)->keys[i]; ++ yajl_val srcval = YAJL_GET_OBJECT(src)->values[i]; ++ ++ if (srckey != NULL) { ++ int invalid; ++ invalid = common_safe_int(srckey, &(ret->keys[i])); ++ if (invalid) { ++ if (*err == NULL && asprintf(err, "Invalid key '%s' with type 'int': %s", srckey, strerror(-invalid)) < 0) { ++ *(err) = safe_strdup("error allocating memory"); ++ } ++ free_json_map_int_string(ret); ++ return NULL; ++ } ++ } ++ ++ if (srcval != NULL) { ++ if (!YAJL_IS_STRING(srcval)) { ++ if (*err == NULL && asprintf(err, "Invalid value with type 'string' for key '%s'", srckey) < 0) { ++ *(err) = safe_strdup("error allocating memory"); ++ } ++ free_json_map_int_string(ret); ++ return NULL; ++ } ++ char *str = YAJL_GET_STRING(srcval); ++ ret->values[i] = safe_strdup(str ? str : ""); ++ } ++ } ++ } ++ return ret; ++} ++int append_json_map_int_string(json_map_int_string *map, int key, const char *val) { ++ size_t len; ++ int *keys = NULL; ++ char **vals = NULL; ++ ++ if (map == NULL) { ++ return -1; ++ } ++ ++ if ((SIZE_MAX / sizeof(int) - 1) < map->len || (SIZE_MAX / sizeof(char *) - 1) < map->len) { ++ return -1; ++ } ++ ++ len = map->len + 1; ++ keys = safe_malloc(len * sizeof(int)); ++ vals = safe_malloc(len * sizeof(char *)); ++ ++ if (map->len) { ++ (void)memcpy(keys, map->keys, map->len * sizeof(int)); ++ (void)memcpy(vals, map->values, map->len * sizeof(char *)); ++ } ++ free(map->keys); ++ map->keys = keys; ++ free(map->values); ++ map->values = vals; ++ map->keys[map->len] = key; ++ map->values[map->len] = safe_strdup(val ? val : ""); ++ ++ map->len++; ++ return 0; ++} ++ ++yajl_gen_status gen_json_map_string_int(void *ctx, json_map_string_int *map, struct parser_context *ptx, parser_error *err) { ++ yajl_gen_status stat = yajl_gen_status_ok; ++ yajl_gen g = (yajl_gen) ctx; ++ size_t len = 0, i = 0; ++ if (map != NULL) { ++ len = map->len; ++ } ++ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { ++ yajl_gen_config(g, yajl_gen_beautify, 0); ++ } ++ stat = reformat_start_map(g); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ ++ } ++ for (i = 0; i < len; i++) { ++ stat = reformat_string(g, map->keys[i], strlen(map->keys[i])); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ stat = reformat_int(g, map->values[i]); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ } ++ ++ stat = reformat_end_map(g); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { ++ yajl_gen_config(g, yajl_gen_beautify, 1); ++ } ++ return yajl_gen_status_ok; ++} ++ ++void free_json_map_string_int(json_map_string_int *map) { ++ if (map != NULL) { ++ size_t i; ++ for (i = 0; i < map->len; i++) { ++ free(map->keys[i]); ++ map->keys[i] = NULL; ++ // No need to free value for type int ++ } ++ free(map->keys); ++ map->keys = NULL; ++ free(map->values); ++ map->values = NULL; ++ free(map); ++ } ++} ++json_map_string_int *make_json_map_string_int(yajl_val src, struct parser_context *ctx, parser_error *err) { ++ json_map_string_int *ret = NULL; ++ if (src != NULL && YAJL_GET_OBJECT(src) != NULL) { ++ size_t i; ++ size_t len = YAJL_GET_OBJECT(src)->len; ++ if (len > SIZE_MAX / sizeof(char *) - 1) { ++ return NULL; ++ } ++ ret = safe_malloc(sizeof(*ret)); ++ ret->len = len; ++ ret->keys = safe_malloc((len + 1) * sizeof(char *)); ++ ret->values = safe_malloc((len + 1) * sizeof(int)); ++ for (i = 0; i < len; i++) { ++ const char *srckey = YAJL_GET_OBJECT(src)->keys[i]; ++ yajl_val srcval = YAJL_GET_OBJECT(src)->values[i]; ++ ret->keys[i] = safe_strdup(srckey ? srckey : ""); ++ ++ if (srcval != NULL) { ++ int invalid; ++ if (!YAJL_IS_NUMBER(srcval)) { ++ if (*err == NULL && asprintf(err, "Invalid value with type 'int' for key '%s'", srckey) < 0) { ++ *(err) = safe_strdup("error allocating memory"); ++ } ++ free_json_map_string_int(ret); ++ return NULL; ++ } ++ invalid = common_safe_int(YAJL_GET_NUMBER(srcval), &(ret->values[i])); ++ if (invalid) { ++ if (*err == NULL && asprintf(err, "Invalid value with type 'int' for key '%s': %s", srckey, strerror(-invalid)) < 0) { ++ *(err) = safe_strdup("error allocating memory"); ++ } ++ free_json_map_string_int(ret); ++ return NULL; ++ } ++ } ++ } ++ } ++ return ret; ++} ++int append_json_map_string_int(json_map_string_int *map, const char *key, int val) { ++ size_t len; ++ char **keys = NULL; ++ int *vals = NULL; ++ ++ if (map == NULL) { ++ return -1; ++ } ++ ++ if ((SIZE_MAX / sizeof(char *) - 1) < map->len || (SIZE_MAX / sizeof(int) - 1) < map->len) { ++ return -1; ++ } ++ ++ len = map->len + 1; ++ keys = safe_malloc(len * sizeof(char *)); ++ vals = safe_malloc(len * sizeof(int)); ++ ++ if (map->len) { ++ (void)memcpy(keys, map->keys, map->len * sizeof(char *)); ++ (void)memcpy(vals, map->values, map->len * sizeof(int)); ++ } ++ free(map->keys); ++ map->keys = keys; ++ free(map->values); ++ map->values = vals; ++ map->keys[map->len] = safe_strdup(key ? key : ""); ++ map->values[map->len] = val; ++ ++ map->len++; ++ return 0; ++} ++ ++yajl_gen_status gen_json_map_string_bool(void *ctx, json_map_string_bool *map, struct parser_context *ptx, parser_error *err) { ++ yajl_gen_status stat = yajl_gen_status_ok; ++ yajl_gen g = (yajl_gen) ctx; ++ size_t len = 0, i = 0; ++ if (map != NULL) { ++ len = map->len; ++ } ++ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { ++ yajl_gen_config(g, yajl_gen_beautify, 0); ++ } ++ stat = reformat_start_map(g); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ ++ } ++ for (i = 0; i < len; i++) { ++ stat = reformat_string(g, map->keys[i], strlen(map->keys[i])); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ stat = reformat_bool(g, map->values[i]); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ } ++ ++ stat = reformat_end_map(g); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { ++ yajl_gen_config(g, yajl_gen_beautify, 1); ++ } ++ return yajl_gen_status_ok; ++} ++ ++void free_json_map_string_bool(json_map_string_bool *map) { ++ if (map != NULL) { ++ size_t i; ++ for (i = 0; i < map->len; i++) { ++ free(map->keys[i]); ++ map->keys[i] = NULL; ++ // No need to free value for type bool ++ } ++ free(map->keys); ++ map->keys = NULL; ++ free(map->values); ++ map->values = NULL; ++ free(map); ++ } ++} ++json_map_string_bool *make_json_map_string_bool(yajl_val src, struct parser_context *ctx, parser_error *err) { ++ json_map_string_bool *ret = NULL; ++ if (src != NULL && YAJL_GET_OBJECT(src) != NULL) { ++ size_t i; ++ size_t len = YAJL_GET_OBJECT(src)->len; ++ if (len > SIZE_MAX / sizeof(char *) - 1) { ++ return NULL; ++ } ++ ret = safe_malloc(sizeof(*ret)); ++ ret->len = len; ++ ret->keys = safe_malloc((len + 1) * sizeof(char *)); ++ ret->values = safe_malloc((len + 1) * sizeof(bool)); ++ for (i = 0; i < len; i++) { ++ const char *srckey = YAJL_GET_OBJECT(src)->keys[i]; ++ yajl_val srcval = YAJL_GET_OBJECT(src)->values[i]; ++ ret->keys[i] = safe_strdup(srckey ? srckey : ""); ++ ++ if (srcval != NULL) { ++ if (YAJL_IS_TRUE(srcval)) { ++ ret->values[i] = true; ++ } else if (YAJL_IS_FALSE(srcval)) { ++ ret->values[i] = false; ++ } else { ++ if (*err == NULL && asprintf(err, "Invalid value with type 'bool' for key '%s'", srckey) < 0) { ++ *(err) = safe_strdup("error allocating memory"); ++ } ++ free_json_map_string_bool(ret); ++ return NULL; ++ } ++ } ++ } ++ } ++ return ret; ++} ++ ++int append_json_map_string_bool(json_map_string_bool *map, const char *key, bool val) { ++ size_t len; ++ char **keys = NULL; ++ bool *vals = NULL; ++ ++ if (map == NULL) { ++ return -1; ++ } ++ ++ if ((SIZE_MAX / sizeof(char *) - 1) < map->len || (SIZE_MAX / sizeof(bool) - 1) < map->len) { ++ return -1; ++ } ++ ++ len = map->len + 1; ++ keys = safe_malloc(len * sizeof(char *)); ++ vals = safe_malloc(len * sizeof(bool)); ++ ++ if (map->len) { ++ (void)memcpy(keys, map->keys, map->len * sizeof(char *)); ++ (void)memcpy(vals, map->values, map->len * sizeof(bool)); ++ } ++ free(map->keys); ++ map->keys = keys; ++ free(map->values); ++ map->values = vals; ++ map->keys[map->len] = safe_strdup(key ? key : ""); ++ map->values[map->len] = val; ++ ++ map->len++; ++ return 0; ++} ++ ++yajl_gen_status gen_json_map_string_string(void *ctx, json_map_string_string *map, struct parser_context *ptx, parser_error *err) { ++ yajl_gen_status stat = yajl_gen_status_ok; ++ yajl_gen g = (yajl_gen) ctx; ++ size_t len = 0, i = 0; ++ if (map != NULL) { ++ len = map->len; ++ } ++ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { ++ yajl_gen_config(g, yajl_gen_beautify, 0); ++ } ++ stat = reformat_start_map(g); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ ++ } ++ for (i = 0; i < len; i++) { ++ stat = reformat_string(g, map->keys[i], strlen(map->keys[i])); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ stat = reformat_string(g, map->values[i], strlen(map->values[i]));; ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ } ++ ++ stat = reformat_end_map(g); ++ if (yajl_gen_status_ok != stat) { ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ if (!len && !(ptx->options & GEN_OPTIONS_SIMPLIFY)) { ++ yajl_gen_config(g, yajl_gen_beautify, 1); ++ } ++ return yajl_gen_status_ok; ++} ++ ++void free_json_map_string_string(json_map_string_string *map) { ++ if (map != NULL) { ++ size_t i; ++ for (i = 0; i < map->len; i++) { ++ free(map->keys[i]); ++ map->keys[i] = NULL; ++ free(map->values[i]); ++ map->values[i] = NULL; ++ } ++ free(map->keys); ++ map->keys = NULL; ++ free(map->values); ++ map->values = NULL; ++ free(map); ++ } ++} ++json_map_string_string *make_json_map_string_string(yajl_val src, struct parser_context *ctx, parser_error *err) { ++ json_map_string_string *ret = NULL; ++ if (src != NULL && YAJL_GET_OBJECT(src) != NULL) { ++ size_t i; ++ size_t len = YAJL_GET_OBJECT(src)->len; ++ if (len > SIZE_MAX / sizeof(char *) - 1) { ++ return NULL; ++ } ++ ret = safe_malloc(sizeof(*ret)); ++ ret->len = len; ++ ret->keys = safe_malloc((len + 1) * sizeof(char *)); ++ ret->values = safe_malloc((len + 1) * sizeof(char *)); ++ for (i = 0; i < len; i++) { ++ const char *srckey = YAJL_GET_OBJECT(src)->keys[i]; ++ yajl_val srcval = YAJL_GET_OBJECT(src)->values[i]; ++ ret->keys[i] = safe_strdup(srckey ? srckey : ""); ++ ++ if (srcval != NULL) { ++ if (!YAJL_IS_STRING(srcval)) { ++ if (*err == NULL && asprintf(err, "Invalid value with type 'string' for key '%s'", srckey) < 0) { ++ *(err) = safe_strdup("error allocating memory"); ++ } ++ free_json_map_string_string(ret); ++ return NULL; ++ } ++ char *str = YAJL_GET_STRING(srcval); ++ ret->values[i] = safe_strdup(str ? str : ""); ++ } ++ } ++ } ++ return ret; ++} ++int append_json_map_string_string(json_map_string_string *map, const char *key, const char *val) { ++ size_t len, i; ++ char **keys = NULL; ++ char **vals = NULL; ++ ++ if (map == NULL) { ++ return -1; ++ } ++ ++ for (i = 0; i < map->len; i++) { ++ if (strcmp(map->keys[i], key) == 0) { ++ free(map->values[i]); ++ map->values[i] = safe_strdup(val ? val : ""); ++ return 0; ++ } ++ } ++ ++ if ((SIZE_MAX / sizeof(char *) - 1) < map->len) { ++ return -1; ++ } ++ ++ len = map->len + 1; ++ keys = safe_malloc(len * sizeof(char *)); ++ vals = safe_malloc(len * sizeof(char *)); ++ ++ if (map->len) { ++ (void)memcpy(keys, map->keys, map->len * sizeof(char *)); ++ (void)memcpy(vals, map->values, map->len * sizeof(char *)); ++ } ++ free(map->keys); ++ map->keys = keys; ++ free(map->values); ++ map->values = vals; ++ map->keys[map->len] = safe_strdup(key ? key : ""); ++ map->values[map->len] = safe_strdup(val ? val : ""); ++ ++ map->len++; ++ return 0; ++} +diff --git a/src/lxc/json/json_common.h b/src/lxc/json/json_common.h +new file mode 100755 +index 0000000..bcac13e +--- /dev/null ++++ b/src/lxc/json/json_common.h +@@ -0,0 +1,194 @@ ++// Auto generated file. Do not edit! ++#ifndef _JSON_COMMON_H ++#define _JSON_COMMON_H ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include "isulad_utils.h" ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++# undef linux ++ ++#ifdef __MUSL__ ++#undef stdin ++#undef stdout ++#undef stderr ++#define stdin stdin ++#define stdout stdout ++#define stderr stderr ++#endif ++ ++//options to report error if there is unknown key found in json ++# define PARSE_OPTIONS_STRICT 0x01 ++//options to generate all key and value ++# define GEN_OPTIONS_ALLKEYVALUE 0x02 ++//options to generate simplify(no indent) json string ++# define GEN_OPTIONS_SIMPLIFY 0x04 ++//options not to validate utf8 data ++# define GEN_OPTIONS_NOT_VALIDATE_UTF8 0x08 ++ ++#define GEN_SET_ERROR_AND_RETURN(stat, err) { \ ++ if (*(err) == NULL) {\ ++ if (asprintf(err, "%s: %s: %d: error generating json, errcode: %d", __FILE__, __func__, __LINE__, stat) < 0) { \ ++ *(err) = safe_strdup("error allocating memory"); \ ++ } \ ++ }\ ++ return stat; \ ++ } ++ ++typedef char *parser_error; ++ ++struct parser_context { ++ unsigned int options; ++ FILE *stderr; ++}; ++ ++yajl_gen_status reformat_number(void *ctx, const char *str, size_t len); ++ ++yajl_gen_status reformat_uint(void *ctx, long long unsigned int num); ++ ++yajl_gen_status reformat_int(void *ctx, long long int num); ++ ++yajl_gen_status reformat_double(void *ctx, double num); ++ ++yajl_gen_status reformat_string(void *ctx, const char *str, size_t len); ++ ++yajl_gen_status reformat_null(void *ctx); ++ ++yajl_gen_status reformat_bool(void *ctx, int boolean); ++ ++yajl_gen_status reformat_map_key(void *ctx, const char *str, size_t len); ++ ++yajl_gen_status reformat_start_map(void *ctx); ++ ++yajl_gen_status reformat_end_map(void *ctx); ++ ++yajl_gen_status reformat_start_array(void *ctx); ++ ++yajl_gen_status reformat_end_array(void *ctx); ++ ++bool json_gen_init(yajl_gen *g, struct parser_context *ctx); ++ ++yajl_val get_val(yajl_val tree, const char *name, yajl_type type); ++ ++void *safe_malloc(size_t size); ++ ++int common_safe_double(const char *numstr, double *converted); ++ ++int common_safe_uint8(const char *numstr, uint8_t *converted); ++ ++int common_safe_uint16(const char *numstr, uint16_t *converted); ++ ++int common_safe_uint32(const char *numstr, uint32_t *converted); ++ ++int common_safe_uint64(const char *numstr, uint64_t *converted); ++ ++int common_safe_uint(const char *numstr, unsigned int *converted); ++ ++int common_safe_int8(const char *numstr, int8_t *converted); ++ ++int common_safe_int16(const char *numstr, int16_t *converted); ++ ++int common_safe_int32(const char *numstr, int32_t *converted); ++ ++int common_safe_int64(const char *numstr, int64_t *converted); ++ ++int common_safe_int(const char *numstr, int *converted); ++ ++typedef struct { ++ int *keys; ++ int *values; ++ size_t len; ++} json_map_int_int; ++ ++void free_json_map_int_int(json_map_int_int *map); ++ ++json_map_int_int *make_json_map_int_int(yajl_val src, struct parser_context *ctx, parser_error *err); ++ ++yajl_gen_status gen_json_map_int_int(void *ctx, json_map_int_int *map, struct parser_context *ptx, parser_error *err); ++ ++int append_json_map_int_int(json_map_int_int *map, int key, int val); ++ ++typedef struct { ++ int *keys; ++ bool *values; ++ size_t len; ++} json_map_int_bool; ++ ++void free_json_map_int_bool(json_map_int_bool *map); ++ ++json_map_int_bool *make_json_map_int_bool(yajl_val src, struct parser_context *ctx, parser_error *err); ++ ++yajl_gen_status gen_json_map_int_bool(void *ctx, json_map_int_bool *map, struct parser_context *ptx, parser_error *err); ++ ++int append_json_map_int_bool(json_map_int_bool *map, int key, bool val); ++ ++typedef struct { ++ int *keys; ++ char **values; ++ size_t len; ++} json_map_int_string; ++ ++void free_json_map_int_string(json_map_int_string *map); ++ ++json_map_int_string *make_json_map_int_string(yajl_val src, struct parser_context *ctx, parser_error *err); ++ ++yajl_gen_status gen_json_map_int_string(void *ctx, json_map_int_string *map, struct parser_context *ptx, parser_error *err); ++ ++int append_json_map_int_string(json_map_int_string *map, int key, const char *val); ++ ++typedef struct { ++ char **keys; ++ int *values; ++ size_t len; ++} json_map_string_int; ++ ++void free_json_map_string_int(json_map_string_int *map); ++ ++json_map_string_int *make_json_map_string_int(yajl_val src, struct parser_context *ctx, parser_error *err); ++ ++yajl_gen_status gen_json_map_string_int(void *ctx, json_map_string_int *map, struct parser_context *ptx, parser_error *err); ++ ++int append_json_map_string_int(json_map_string_int *map, const char *key, int val); ++ ++typedef struct { ++ char **keys; ++ bool *values; ++ size_t len; ++} json_map_string_bool; ++ ++void free_json_map_string_bool(json_map_string_bool *map); ++ ++json_map_string_bool *make_json_map_string_bool(yajl_val src, struct parser_context *ctx, parser_error *err); ++ ++yajl_gen_status gen_json_map_string_bool(void *ctx, json_map_string_bool *map, struct parser_context *ptx, parser_error *err); ++ ++int append_json_map_string_bool(json_map_string_bool *map, const char *key, bool val); ++ ++typedef struct { ++ char **keys; ++ char **values; ++ size_t len; ++} json_map_string_string; ++ ++void free_json_map_string_string(json_map_string_string *map); ++ ++json_map_string_string *make_json_map_string_string(yajl_val src, struct parser_context *ctx, parser_error *err); ++ ++yajl_gen_status gen_json_map_string_string(void *ctx, json_map_string_string *map, struct parser_context *ptx, parser_error *err); ++ ++int append_json_map_string_string(json_map_string_string *map, const char *key, const char *val); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif +\ No newline at end of file +diff --git a/src/lxc/json/logger_json_file.c b/src/lxc/json/logger_json_file.c +new file mode 100644 +index 0000000..6abeef4 +--- /dev/null ++++ b/src/lxc/json/logger_json_file.c +@@ -0,0 +1,246 @@ ++// Generated from json-file.json. Do not edit! ++#ifndef _GNU_SOURCE ++#define _GNU_SOURCE ++#endif ++#include ++#include ++#include "logger_json_file.h" ++ ++logger_json_file *make_logger_json_file(yajl_val tree, struct parser_context *ctx, parser_error *err) { ++ logger_json_file *ret = NULL; ++ *err = 0; ++ if (tree == NULL) ++ return ret; ++ ret = safe_malloc(sizeof(*ret)); ++ { ++ yajl_val tmp = get_val(tree, "log", yajl_t_string); ++ if (tmp != NULL) { ++ char *str = YAJL_GET_STRING(tmp); ++ ret->log = (uint8_t *)safe_strdup(str ? str : ""); ++ ret->log_len = str != NULL ? strlen(str) : 0; ++ } ++ } ++ { ++ yajl_val val = get_val(tree, "stream", yajl_t_string); ++ if (val != NULL) { ++ char *str = YAJL_GET_STRING(val); ++ ret->stream = safe_strdup(str ? str : ""); ++ } ++ } ++ { ++ yajl_val val = get_val(tree, "time", yajl_t_string); ++ if (val != NULL) { ++ char *str = YAJL_GET_STRING(val); ++ ret->time = safe_strdup(str ? str : ""); ++ } ++ } ++ { ++ yajl_val tmp = get_val(tree, "attrs", yajl_t_string); ++ if (tmp != NULL) { ++ char *str = YAJL_GET_STRING(tmp); ++ ret->attrs = (uint8_t *)safe_strdup(str ? str : ""); ++ ret->attrs_len = str != NULL ? strlen(str) : 0; ++ } ++ } ++ ++ if (tree->type == yajl_t_object && (ctx->options & PARSE_OPTIONS_STRICT)) { ++ int i; ++ for (i = 0; i < tree->u.object.len; i++) ++ if (strcmp(tree->u.object.keys[i], "log") && ++ strcmp(tree->u.object.keys[i], "stream") && ++ strcmp(tree->u.object.keys[i], "time") && ++ strcmp(tree->u.object.keys[i], "attrs")) { ++ if (ctx->stderr > 0) ++ fprintf(ctx->stderr, "WARNING: unknown key found: %s\n", tree->u.object.keys[i]); ++ } ++ } ++ return ret; ++} ++ ++void free_logger_json_file(logger_json_file *ptr) { ++ if (ptr == NULL) ++ return; ++ free(ptr->log); ++ ptr->log = NULL; ++ free(ptr->stream); ++ ptr->stream = NULL; ++ free(ptr->time); ++ ptr->time = NULL; ++ free(ptr->attrs); ++ ptr->attrs = NULL; ++ free(ptr); ++} ++ ++yajl_gen_status gen_logger_json_file(yajl_gen g, logger_json_file *ptr, struct parser_context *ctx, parser_error *err) { ++ yajl_gen_status stat = yajl_gen_status_ok; ++ *err = 0; ++ stat = reformat_start_map(g); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) || (ptr != NULL && ptr->log != NULL && ptr->log_len)) { ++ const char *str = ""; ++ size_t len = 0; ++ stat = reformat_map_key(g, "log", strlen("log")); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ if (ptr != NULL && ptr->log != NULL) { ++ str = (const char *)ptr->log; ++ len = ptr->log_len; ++ } ++ stat = reformat_string(g, str, len); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) ||(ptr != NULL && ptr->stream != NULL)) { ++ char *str = ""; ++ stat = reformat_map_key(g, "stream", strlen("stream")); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ if (ptr != NULL && ptr->stream != NULL) { ++ str = ptr->stream; ++ } ++ stat = reformat_string(g, str, strlen(str)); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) ||(ptr != NULL && ptr->time != NULL)) { ++ char *str = ""; ++ stat = reformat_map_key(g, "time", strlen("time")); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ if (ptr != NULL && ptr->time != NULL) { ++ str = ptr->time; ++ } ++ stat = reformat_string(g, str, strlen(str)); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) || (ptr != NULL && ptr->attrs != NULL && ptr->attrs_len)) { ++ const char *str = ""; ++ size_t len = 0; ++ stat = reformat_map_key(g, "attrs", strlen("attrs")); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ if (ptr != NULL && ptr->attrs != NULL) { ++ str = (const char *)ptr->attrs; ++ len = ptr->attrs_len; ++ } ++ stat = reformat_string(g, str, len); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ stat = reformat_end_map(g); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ return yajl_gen_status_ok; ++} ++ ++ ++logger_json_file *logger_json_file_parse_file(const char *filename, struct parser_context *ctx, parser_error *err) { ++ logger_json_file *ptr = NULL; ++ size_t filesize; ++ char *content = NULL; ++ ++ if (filename == NULL || err == NULL) ++ return NULL; ++ ++ *err = NULL; ++ content = read_file(filename, &filesize); ++ if (content == NULL) { ++ if (asprintf(err, "cannot read the file: %s", filename) < 0) ++ *err = safe_strdup("error allocating memory"); ++ return NULL; ++ } ++ ptr = logger_json_file_parse_data(content, ctx, err); ++ free(content); ++ return ptr; ++} ++ ++logger_json_file *logger_json_file_parse_file_stream(FILE *stream, struct parser_context *ctx, parser_error *err) { ++ logger_json_file *ptr = NULL; ++ size_t filesize; ++ char *content = NULL ; ++ ++ if (stream == NULL || err == NULL) ++ return NULL; ++ ++ *err = NULL; ++ content = fread_file(stream, &filesize); ++ if (content == NULL) { ++ *err = safe_strdup("cannot read the file"); ++ return NULL; ++ } ++ ptr = logger_json_file_parse_data(content, ctx, err); ++ free(content); ++ return ptr; ++} ++ ++logger_json_file *logger_json_file_parse_data(const char *jsondata, struct parser_context *ctx, parser_error *err) { ++ logger_json_file *ptr = NULL; ++ yajl_val tree; ++ char errbuf[1024]; ++ struct parser_context tmp_ctx; ++ ++ if (jsondata == NULL || err == NULL) ++ return NULL; ++ ++ *err = NULL; ++ if (ctx == NULL) { ++ ctx = &tmp_ctx; ++ memset(&tmp_ctx, 0, sizeof(tmp_ctx)); ++ } ++ tree = yajl_tree_parse(jsondata, errbuf, sizeof(errbuf)); ++ if (tree == NULL) { ++ if (asprintf(err, "cannot parse the data: %s", errbuf) < 0) ++ *err = safe_strdup("error allocating memory"); ++ return NULL; ++ } ++ ptr = make_logger_json_file(tree, ctx, err); ++ yajl_tree_free(tree); ++ return ptr; ++} ++char *logger_json_file_generate_json(logger_json_file *ptr, struct parser_context *ctx, parser_error *err) { ++ yajl_gen g = NULL; ++ struct parser_context tmp_ctx; ++ const unsigned char *gen_buf = NULL; ++ char *json_buf = NULL; ++ size_t gen_len = 0; ++ ++ if (ptr == NULL || err == NULL) ++ return NULL; ++ ++ *err = NULL; ++ if (ctx == NULL) { ++ ctx = &tmp_ctx; ++ memset(&tmp_ctx, 0, sizeof(tmp_ctx)); ++ } ++ ++ if (!json_gen_init(&g, ctx)) { ++ *err = safe_strdup("Json_gen init failed"); ++ goto out; ++ } ++ if (yajl_gen_status_ok != gen_logger_json_file(g, ptr, ctx, err)) { ++ if (*err == NULL) ++ *err = safe_strdup("Failed to generate json"); ++ goto free_out; ++ } ++ yajl_gen_get_buf(g, &gen_buf, &gen_len); ++ if (gen_buf == NULL) { ++ *err = safe_strdup("Error to get generated json"); ++ goto free_out; ++ } ++ ++ if (gen_len == SIZE_MAX) { ++ *err = safe_strdup("Invalid buffer length"); ++ goto free_out; ++ } ++ json_buf = safe_malloc(gen_len + 1); ++ (void)memcpy(json_buf, gen_buf, gen_len); ++ json_buf[gen_len] = '\0'; ++ ++free_out: ++ yajl_gen_clear(g); ++ yajl_gen_free(g); ++out: ++ return json_buf; ++} +diff --git a/src/lxc/json/logger_json_file.h b/src/lxc/json/logger_json_file.h +new file mode 100644 +index 0000000..ad5af7b +--- /dev/null ++++ b/src/lxc/json/logger_json_file.h +@@ -0,0 +1,45 @@ ++// Generated from json-file.json. Do not edit! ++#ifndef LOGGER_JSON_FILE_SCHEMA_H ++#define LOGGER_JSON_FILE_SCHEMA_H ++ ++#include ++#include ++#include "json_common.h" ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++typedef struct { ++ uint8_t *log; ++ size_t log_len; ++ ++ char *stream; ++ ++ char *time; ++ ++ uint8_t *attrs; ++ size_t attrs_len; ++ ++} ++logger_json_file; ++ ++void free_logger_json_file(logger_json_file *ptr); ++ ++logger_json_file *make_logger_json_file(yajl_val tree, struct parser_context *ctx, parser_error *err); ++ ++yajl_gen_status gen_logger_json_file(yajl_gen g, logger_json_file *ptr, struct parser_context *ctx, parser_error *err); ++ ++logger_json_file *logger_json_file_parse_file(const char *filename, struct parser_context *ctx, parser_error *err); ++ ++logger_json_file *logger_json_file_parse_file_stream(FILE *stream, struct parser_context *ctx, parser_error *err); ++ ++logger_json_file *logger_json_file_parse_data(const char *jsondata, struct parser_context *ctx, parser_error *err); ++ ++char *logger_json_file_generate_json(logger_json_file *ptr, struct parser_context *ctx, parser_error *err); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif +diff --git a/src/lxc/json/oci_runtime_hooks.c b/src/lxc/json/oci_runtime_hooks.c +new file mode 100644 +index 0000000..41ddb67 +--- /dev/null ++++ b/src/lxc/json/oci_runtime_hooks.c +@@ -0,0 +1,52 @@ ++/****************************************************************************** ++ * Copyright (C), 1988-1999, Huawei Tech. Co., Ltd. ++ * FileName: oci_runtime_hooks.c ++ * Author: maoweiyong Version: 0.1 Date: 2018-11-07 ++ * Explanation: provide oci runtime hooks functions ++ ******************************************************************************/ ++#ifndef _GNU_SOURCE ++#define _GNU_SOURCE ++#endif ++#include ++#include "oci_runtime_hooks.h" ++ ++#include "log.h" ++#include "utils.h" ++ ++#define PARSE_ERR_BUFFER_SIZE 1024 ++ ++oci_runtime_spec_hooks *oci_runtime_spec_hooks_parse_file(const char *filename, ++ struct parser_context *ctx, parser_error *err) ++{ ++ yajl_val tree; ++ size_t filesize; ++ ++ if (!filename || !err) { ++ return NULL; ++ } ++ *err = NULL; ++ struct parser_context tmp_ctx; ++ if (!ctx) { ++ ctx = &tmp_ctx; ++ memset(&tmp_ctx, 0, sizeof(tmp_ctx)); ++ } ++ char *content = read_file(filename, &filesize); ++ char errbuf[PARSE_ERR_BUFFER_SIZE]; ++ if (content == NULL) { ++ if (asprintf(err, "cannot read the file: %s", filename) < 0) { ++ *err = safe_strdup("error allocating memory"); ++ } ++ return NULL; ++ } ++ tree = yajl_tree_parse(content, errbuf, sizeof(errbuf)); ++ free(content); ++ if (tree == NULL) { ++ if (asprintf(err, "cannot parse the file: %s", errbuf) < 0) { ++ *err = safe_strdup("error allocating memory"); ++ } ++ return NULL; ++ } ++ oci_runtime_spec_hooks *ptr = make_oci_runtime_spec_hooks(tree, ctx, err); ++ yajl_tree_free(tree); ++ return ptr; ++} +diff --git a/src/lxc/json/oci_runtime_hooks.h b/src/lxc/json/oci_runtime_hooks.h +new file mode 100644 +index 0000000..bf570c9 +--- /dev/null ++++ b/src/lxc/json/oci_runtime_hooks.h +@@ -0,0 +1,15 @@ ++/****************************************************************************** ++ * Copyright (C), 1988-1999, Huawei Tech. Co., Ltd. ++ * FileName: oci_runtime_hooks.h ++ * Author: tanyifeng Version: 0.1 Date: 2018-11-08 ++ * Explanation: provide container oci runtime hooks function definition ++ ******************************************************************************/ ++#ifndef _CONTAINER_HOOKS_H ++# define _CONTAINER_HOOKS_H ++ ++# include "oci_runtime_spec.h" ++ ++oci_runtime_spec_hooks *oci_runtime_spec_hooks_parse_file(const char *filename, ++ struct parser_context *ctx, parser_error *err); ++ ++#endif +diff --git a/src/lxc/json/oci_runtime_spec.c b/src/lxc/json/oci_runtime_spec.c +new file mode 100644 +index 0000000..fd342de +--- /dev/null ++++ b/src/lxc/json/oci_runtime_spec.c +@@ -0,0 +1,195 @@ ++// Generated from spec.json. Do not edit! ++#ifndef _GNU_SOURCE ++#define _GNU_SOURCE ++#endif ++#include ++#include ++#include "oci_runtime_spec.h" ++ ++oci_runtime_spec_hooks *make_oci_runtime_spec_hooks(yajl_val tree, struct parser_context *ctx, parser_error *err) { ++ oci_runtime_spec_hooks *ret = NULL; ++ *err = 0; ++ if (tree == NULL) ++ return ret; ++ ret = safe_malloc(sizeof(*ret)); ++ { ++ yajl_val tmp = get_val(tree, "prestart", yajl_t_array); ++ if (tmp != NULL && YAJL_GET_ARRAY(tmp) != NULL && YAJL_GET_ARRAY(tmp)->len > 0) { ++ size_t i; ++ ret->prestart_len = YAJL_GET_ARRAY(tmp)->len; ++ ret->prestart = safe_malloc((YAJL_GET_ARRAY(tmp)->len + 1) * sizeof(*ret->prestart)); ++ for (i = 0; i < YAJL_GET_ARRAY(tmp)->len; i++) { ++ yajl_val val = YAJL_GET_ARRAY(tmp)->values[i]; ++ ret->prestart[i] = make_defs_hook(val, ctx, err); ++ if (ret->prestart[i] == NULL) { ++ free_oci_runtime_spec_hooks(ret); ++ return NULL; ++ } ++ } ++ } ++ } ++ { ++ yajl_val tmp = get_val(tree, "poststart", yajl_t_array); ++ if (tmp != NULL && YAJL_GET_ARRAY(tmp) != NULL && YAJL_GET_ARRAY(tmp)->len > 0) { ++ size_t i; ++ ret->poststart_len = YAJL_GET_ARRAY(tmp)->len; ++ ret->poststart = safe_malloc((YAJL_GET_ARRAY(tmp)->len + 1) * sizeof(*ret->poststart)); ++ for (i = 0; i < YAJL_GET_ARRAY(tmp)->len; i++) { ++ yajl_val val = YAJL_GET_ARRAY(tmp)->values[i]; ++ ret->poststart[i] = make_defs_hook(val, ctx, err); ++ if (ret->poststart[i] == NULL) { ++ free_oci_runtime_spec_hooks(ret); ++ return NULL; ++ } ++ } ++ } ++ } ++ { ++ yajl_val tmp = get_val(tree, "poststop", yajl_t_array); ++ if (tmp != NULL && YAJL_GET_ARRAY(tmp) != NULL && YAJL_GET_ARRAY(tmp)->len > 0) { ++ size_t i; ++ ret->poststop_len = YAJL_GET_ARRAY(tmp)->len; ++ ret->poststop = safe_malloc((YAJL_GET_ARRAY(tmp)->len + 1) * sizeof(*ret->poststop)); ++ for (i = 0; i < YAJL_GET_ARRAY(tmp)->len; i++) { ++ yajl_val val = YAJL_GET_ARRAY(tmp)->values[i]; ++ ret->poststop[i] = make_defs_hook(val, ctx, err); ++ if (ret->poststop[i] == NULL) { ++ free_oci_runtime_spec_hooks(ret); ++ return NULL; ++ } ++ } ++ } ++ } ++ ++ if (tree->type == yajl_t_object && (ctx->options & PARSE_OPTIONS_STRICT)) { ++ int i; ++ for (i = 0; i < tree->u.object.len; i++) ++ if (strcmp(tree->u.object.keys[i], "prestart") && ++ strcmp(tree->u.object.keys[i], "poststart") && ++ strcmp(tree->u.object.keys[i], "poststop")) { ++ if (ctx->stderr > 0) ++ fprintf(ctx->stderr, "WARNING: unknown key found: %s\n", tree->u.object.keys[i]); ++ } ++ } ++ return ret; ++} ++ ++void free_oci_runtime_spec_hooks(oci_runtime_spec_hooks *ptr) { ++ if (ptr == NULL) ++ return; ++ if (ptr->prestart != NULL) { ++ size_t i; ++ for (i = 0; i < ptr->prestart_len; i++) ++ if (ptr->prestart[i] != NULL) { ++ free_defs_hook(ptr->prestart[i]); ++ ptr->prestart[i] = NULL; ++ } ++ free(ptr->prestart); ++ ptr->prestart = NULL; ++ } ++ if (ptr->poststart != NULL) { ++ size_t i; ++ for (i = 0; i < ptr->poststart_len; i++) ++ if (ptr->poststart[i] != NULL) { ++ free_defs_hook(ptr->poststart[i]); ++ ptr->poststart[i] = NULL; ++ } ++ free(ptr->poststart); ++ ptr->poststart = NULL; ++ } ++ if (ptr->poststop != NULL) { ++ size_t i; ++ for (i = 0; i < ptr->poststop_len; i++) ++ if (ptr->poststop[i] != NULL) { ++ free_defs_hook(ptr->poststop[i]); ++ ptr->poststop[i] = NULL; ++ } ++ free(ptr->poststop); ++ ptr->poststop = NULL; ++ } ++ free(ptr); ++} ++ ++yajl_gen_status gen_oci_runtime_spec_hooks(yajl_gen g, oci_runtime_spec_hooks *ptr, struct parser_context *ctx, parser_error *err) { ++ yajl_gen_status stat = yajl_gen_status_ok; ++ *err = 0; ++ stat = reformat_start_map(g); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) ||(ptr != NULL && ptr->prestart != NULL)) { ++ size_t len = 0, i; ++ stat = reformat_map_key(g, "prestart", strlen("prestart")); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ if (ptr != NULL && ptr->prestart != NULL) { ++ len = ptr->prestart_len; ++ } ++ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) ++ yajl_gen_config(g, yajl_gen_beautify, 0); ++ stat = reformat_start_array(g); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ for (i = 0; i < len; i++) { ++ stat = gen_defs_hook(g, ptr->prestart[i], ctx, err); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ stat = reformat_end_array(g); ++ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) ++ yajl_gen_config(g, yajl_gen_beautify, 1); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) ||(ptr != NULL && ptr->poststart != NULL)) { ++ size_t len = 0, i; ++ stat = reformat_map_key(g, "poststart", strlen("poststart")); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ if (ptr != NULL && ptr->poststart != NULL) { ++ len = ptr->poststart_len; ++ } ++ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) ++ yajl_gen_config(g, yajl_gen_beautify, 0); ++ stat = reformat_start_array(g); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ for (i = 0; i < len; i++) { ++ stat = gen_defs_hook(g, ptr->poststart[i], ctx, err); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ stat = reformat_end_array(g); ++ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) ++ yajl_gen_config(g, yajl_gen_beautify, 1); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) ||(ptr != NULL && ptr->poststop != NULL)) { ++ size_t len = 0, i; ++ stat = reformat_map_key(g, "poststop", strlen("poststop")); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ if (ptr != NULL && ptr->poststop != NULL) { ++ len = ptr->poststop_len; ++ } ++ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) ++ yajl_gen_config(g, yajl_gen_beautify, 0); ++ stat = reformat_start_array(g); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ for (i = 0; i < len; i++) { ++ stat = gen_defs_hook(g, ptr->poststop[i], ctx, err); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ stat = reformat_end_array(g); ++ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) ++ yajl_gen_config(g, yajl_gen_beautify, 1); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ } ++ stat = reformat_end_map(g); ++ if (yajl_gen_status_ok != stat) ++ GEN_SET_ERROR_AND_RETURN(stat, err); ++ return yajl_gen_status_ok; ++} +diff --git a/src/lxc/json/oci_runtime_spec.h b/src/lxc/json/oci_runtime_spec.h +new file mode 100644 +index 0000000..ef3f161 +--- /dev/null ++++ b/src/lxc/json/oci_runtime_spec.h +@@ -0,0 +1,37 @@ ++// Generated from spec.json. Do not edit! ++#ifndef OCI_RUNTIME_SPEC_SCHEMA_H ++#define OCI_RUNTIME_SPEC_SCHEMA_H ++ ++#include ++#include ++#include "json_common.h" ++#include "defs.h" ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++typedef struct { ++ defs_hook **prestart; ++ size_t prestart_len; ++ ++ defs_hook **poststart; ++ size_t poststart_len; ++ ++ defs_hook **poststop; ++ size_t poststop_len; ++ ++} ++oci_runtime_spec_hooks; ++ ++void free_oci_runtime_spec_hooks(oci_runtime_spec_hooks *ptr); ++ ++oci_runtime_spec_hooks *make_oci_runtime_spec_hooks(yajl_val tree, struct parser_context *ctx, parser_error *err); ++ ++yajl_gen_status gen_oci_runtime_spec_hooks(yajl_gen g, oci_runtime_spec_hooks *ptr, struct parser_context *ctx, parser_error *err); + +#ifdef __cplusplus +} +#endif + +#endif -\ No newline at end of file -diff --git a/src/lxc/json/logger_json_file.c b/src/lxc/json/logger_json_file.c +diff --git a/src/lxc/json/read-file.c b/src/lxc/json/read-file.c new file mode 100644 -index 0000000..6abeef4 +index 0000000..34ebeed --- /dev/null -+++ b/src/lxc/json/logger_json_file.c -@@ -0,0 +1,246 @@ -+// Generated from json-file.json. Do not edit! -+#ifndef _GNU_SOURCE -+#define _GNU_SOURCE -+#endif ++++ b/src/lxc/json/read-file.c +@@ -0,0 +1,95 @@ ++#include ++#include ++#include ++#include ++#include ++#include +#include -+#include -+#include "logger_json_file.h" ++#include + -+logger_json_file *make_logger_json_file(yajl_val tree, struct parser_context *ctx, parser_error *err) { -+ logger_json_file *ret = NULL; -+ *err = 0; -+ if (tree == NULL) -+ return ret; -+ ret = safe_malloc(sizeof(*ret)); -+ { -+ yajl_val tmp = get_val(tree, "log", yajl_t_string); -+ if (tmp != NULL) { -+ char *str = YAJL_GET_STRING(tmp); -+ ret->log = (uint8_t *)safe_strdup(str ? str : ""); -+ ret->log_len = str != NULL ? strlen(str) : 0; -+ } -+ } -+ { -+ yajl_val val = get_val(tree, "stream", yajl_t_string); -+ if (val != NULL) { -+ char *str = YAJL_GET_STRING(val); -+ ret->stream = safe_strdup(str ? str : ""); -+ } -+ } -+ { -+ yajl_val val = get_val(tree, "time", yajl_t_string); -+ if (val != NULL) { -+ char *str = YAJL_GET_STRING(val); -+ ret->time = safe_strdup(str ? str : ""); -+ } -+ } -+ { -+ yajl_val tmp = get_val(tree, "attrs", yajl_t_string); -+ if (tmp != NULL) { -+ char *str = YAJL_GET_STRING(tmp); -+ ret->attrs = (uint8_t *)safe_strdup(str ? str : ""); -+ ret->attrs_len = str != NULL ? strlen(str) : 0; ++#include ++#include "read-file.h" ++ ++#ifndef O_CLOEXEC ++#define O_CLOEXEC 02000000 ++#endif ++ ++char *fread_file(FILE *stream, size_t *length) ++{ ++ char *buf = NULL, *tmpbuf = NULL; ++ size_t off = 0; ++ ++ while (1) { ++ size_t ret, newsize; ++ ++ newsize = off + BUFSIZ + 1; ++ tmpbuf = (char *)calloc(1, newsize); ++ if (tmpbuf == NULL) { ++ goto out; + } -+ } + -+ if (tree->type == yajl_t_object && (ctx->options & PARSE_OPTIONS_STRICT)) { -+ int i; -+ for (i = 0; i < tree->u.object.len; i++) -+ if (strcmp(tree->u.object.keys[i], "log") && -+ strcmp(tree->u.object.keys[i], "stream") && -+ strcmp(tree->u.object.keys[i], "time") && -+ strcmp(tree->u.object.keys[i], "attrs")) { -+ if (ctx->stderr > 0) -+ fprintf(ctx->stderr, "WARNING: unknown key found: %s\n", tree->u.object.keys[i]); -+ } -+ } -+ return ret; -+} ++ if (buf) { ++ memcpy(tmpbuf, buf, off); + -+void free_logger_json_file(logger_json_file *ptr) { -+ if (ptr == NULL) -+ return; -+ free(ptr->log); -+ ptr->log = NULL; -+ free(ptr->stream); -+ ptr->stream = NULL; -+ free(ptr->time); -+ ptr->time = NULL; -+ free(ptr->attrs); -+ ptr->attrs = NULL; -+ free(ptr); -+} ++ memset(buf, 0, off); + -+yajl_gen_status gen_logger_json_file(yajl_gen g, logger_json_file *ptr, struct parser_context *ctx, parser_error *err) { -+ yajl_gen_status stat = yajl_gen_status_ok; -+ *err = 0; -+ stat = reformat_start_map(g); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) || (ptr != NULL && ptr->log != NULL && ptr->log_len)) { -+ const char *str = ""; -+ size_t len = 0; -+ stat = reformat_map_key(g, "log", strlen("log")); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ if (ptr != NULL && ptr->log != NULL) { -+ str = (const char *)ptr->log; -+ len = ptr->log_len; ++ free(buf); + } -+ stat = reformat_string(g, str, len); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) ||(ptr != NULL && ptr->stream != NULL)) { -+ char *str = ""; -+ stat = reformat_map_key(g, "stream", strlen("stream")); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ if (ptr != NULL && ptr->stream != NULL) { -+ str = ptr->stream; ++ ++ buf = tmpbuf; ++ ret = fread(buf + off, 1, BUFSIZ, stream); ++ if (!ret && ferror(stream)) { ++ tmpbuf = NULL; ++ goto out; + } -+ stat = reformat_string(g, str, strlen(str)); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) ||(ptr != NULL && ptr->time != NULL)) { -+ char *str = ""; -+ stat = reformat_map_key(g, "time", strlen("time")); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ if (ptr != NULL && ptr->time != NULL) { -+ str = ptr->time; ++ if (ret < BUFSIZ || feof(stream)) { ++ *length = off + ret + 1; ++ buf[*length - 1] = '\0'; ++ return buf; + } -+ stat = reformat_string(g, str, strlen(str)); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); ++ off += BUFSIZ; + } -+ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) || (ptr != NULL && ptr->attrs != NULL && ptr->attrs_len)) { -+ const char *str = ""; -+ size_t len = 0; -+ stat = reformat_map_key(g, "attrs", strlen("attrs")); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ if (ptr != NULL && ptr->attrs != NULL) { -+ str = (const char *)ptr->attrs; -+ len = ptr->attrs_len; -+ } -+ stat = reformat_string(g, str, len); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); ++out: ++ if (buf) { ++ free(buf); + } -+ stat = reformat_end_map(g); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ return yajl_gen_status_ok; -+} ++ if (tmpbuf) { ++ free(tmpbuf); ++ } ++ return NULL; + ++} + -+logger_json_file *logger_json_file_parse_file(const char *filename, struct parser_context *ctx, parser_error *err) { -+ logger_json_file *ptr = NULL; -+ size_t filesize; -+ char *content = NULL; ++char *read_file(const char *path, size_t *length) ++{ ++ char *buf = NULL; ++ char rpath[PATH_MAX + 1] = {0}; ++ int fd = -1; ++ int tmperrno; ++ FILE *fp = NULL; + -+ if (filename == NULL || err == NULL) ++ if (!path || !length) { + return NULL; ++ } + -+ *err = NULL; -+ content = read_file(filename, &filesize); -+ if (content == NULL) { -+ if (asprintf(err, "cannot read the file: %s", filename) < 0) -+ *err = safe_strdup("error allocating memory"); ++ if (strlen(path) > PATH_MAX || NULL == realpath(path, rpath)) { + return NULL; + } -+ ptr = logger_json_file_parse_data(content, ctx, err); -+ free(content); -+ return ptr; -+} -+ -+logger_json_file *logger_json_file_parse_file_stream(FILE *stream, struct parser_context *ctx, parser_error *err) { -+ logger_json_file *ptr = NULL; -+ size_t filesize; -+ char *content = NULL ; + -+ if (stream == NULL || err == NULL) ++ fd = open(rpath, O_RDONLY | O_CLOEXEC); ++ if (fd < 0) { + return NULL; ++ } + -+ *err = NULL; -+ content = fread_file(stream, &filesize); -+ if (content == NULL) { -+ *err = safe_strdup("cannot read the file"); ++ fp = fdopen(fd, "r"); ++ tmperrno = errno; ++ if (!fp) { ++ close(fd); ++ errno = tmperrno; + return NULL; + } -+ ptr = logger_json_file_parse_data(content, ctx, err); -+ free(content); -+ return ptr; ++ ++ buf = fread_file(fp, length); ++ fclose(fp); ++ return buf; +} +diff --git a/src/lxc/json/read-file.h b/src/lxc/json/read-file.h +new file mode 100644 +index 0000000..5d6e0eb +--- /dev/null ++++ b/src/lxc/json/read-file.h +@@ -0,0 +1,11 @@ ++#ifndef READ_FILE_H ++#define READ_FILE_H + -+logger_json_file *logger_json_file_parse_data(const char *jsondata, struct parser_context *ctx, parser_error *err) { -+ logger_json_file *ptr = NULL; -+ yajl_val tree; -+ char errbuf[1024]; -+ struct parser_context tmp_ctx; ++#include ++#include + -+ if (jsondata == NULL || err == NULL) -+ return NULL; ++extern char *fread_file(FILE *stream, size_t *length); + -+ *err = NULL; -+ if (ctx == NULL) { -+ ctx = &tmp_ctx; -+ memset(&tmp_ctx, 0, sizeof(tmp_ctx)); -+ } -+ tree = yajl_tree_parse(jsondata, errbuf, sizeof(errbuf)); -+ if (tree == NULL) { -+ if (asprintf(err, "cannot parse the data: %s", errbuf) < 0) -+ *err = safe_strdup("error allocating memory"); -+ return NULL; ++extern char *read_file(const char *path, size_t *length); ++ ++#endif +diff --git a/src/lxc/meson.build b/src/lxc/meson.build +index f33257c..3166401 100644 +--- a/src/lxc/meson.build ++++ b/src/lxc/meson.build +@@ -25,7 +25,6 @@ liblxcfs_version_file = configure_file( + ) + + liblxc_sources = files( +- 'cgroups/cgfsng.c', + 'cgroups/cgroup.c', + 'cgroups/cgroup.h', + 'cgroups/cgroup2_devices.c', +@@ -139,6 +138,31 @@ liblxc_sources = files( + 'uuid.c', + 'uuid.h') + ++if want_isulad ++ liblxc_sources += files( ++ 'cgroups/isulad_cgfsng.c', ++ 'exec_commands.c', ++ 'exec_commands.h', ++ 'isulad_utils.c', ++ 'isulad_utils.h', ++ 'path.c', ++ 'path.h', ++ 'json/defs.c', ++ 'json/defs.h', ++ 'json/json_common.c', ++ 'json/json_common.h', ++ 'json/logger_json_file.c', ++ 'json/logger_json_file.h', ++ 'json/oci_runtime_hooks.c', ++ 'json/oci_runtime_hooks.h', ++ 'json/oci_runtime_spec.c', ++ 'json/oci_runtime_spec.h', ++ 'json/read-file.c', ++ 'json/read-file.h') ++else ++ liblxc_sources += files('cgroups/cgfsng.c') ++endif ++ + if want_apparmor and libapparmor.found() + liblxc_sources += files('lsm/apparmor.c') + endif +diff --git a/src/lxc/path.c b/src/lxc/path.c +new file mode 100644 +index 0000000..3881058 +--- /dev/null ++++ b/src/lxc/path.c +@@ -0,0 +1,521 @@ ++/* SPDX-License-Identifier: LGPL-2.1+ */ ++/****************************************************************************** ++ * Copyright (c) Huawei Technologies Co., Ltd. 2020. Allrights reserved ++ * Description: isulad utils ++ * Author: lifeng ++ * Create: 2020-04-11 ++******************************************************************************/ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "path.h" ++#include "log.h" ++#include "isulad_utils.h" ++ ++lxc_log_define(lxc_path_ui, lxc); ++ ++#define ISSLASH(C) ((C) == '/') ++#define IS_ABSOLUTE_FILE_NAME(F) (ISSLASH ((F)[0])) ++ ++static bool do_clean_path_continue(const char *endpos, const char *stpos, const char *respath, char **dst) ++{ ++ if (endpos - stpos == 1 && stpos[0] == '.') { ++ return true; ++ } else if (endpos - stpos == 2 && stpos[0] == '.' && stpos[1] == '.') { ++ char *dest = *dst; ++ if (dest <= respath + 1) { ++ return true; ++ } ++ for (--dest; dest > respath && !ISSLASH(dest[-1]); --dest) { ++ *dst = dest; ++ return true; ++ } ++ *dst = dest; ++ return true; + } -+ ptr = make_logger_json_file(tree, ctx, err); -+ yajl_tree_free(tree); -+ return ptr; ++ return false; +} -+char *logger_json_file_generate_json(logger_json_file *ptr, struct parser_context *ctx, parser_error *err) { -+ yajl_gen g = NULL; -+ struct parser_context tmp_ctx; -+ const unsigned char *gen_buf = NULL; -+ char *json_buf = NULL; -+ size_t gen_len = 0; + -+ if (ptr == NULL || err == NULL) -+ return NULL; ++int do_clean_path(const char *respath, const char *limit_respath, ++ const char *stpos, char **dst) ++{ ++ char *dest = *dst; ++ const char *endpos = NULL; ++ ++ for (endpos = stpos; *stpos; stpos = endpos) { ++ while (ISSLASH(*stpos)) { ++ ++stpos; ++ } ++ ++ for (endpos = stpos; *endpos && !ISSLASH(*endpos); ++endpos) { ++ } ++ ++ if (endpos - stpos == 0) { ++ break; ++ } else if (do_clean_path_continue(endpos, stpos, respath, &dest)) { ++ continue; ++ } ++ ++ if (!ISSLASH(dest[-1])) { ++ *dest++ = '/'; ++ } ++ ++ if (dest + (endpos - stpos) >= limit_respath) { ++ ERROR("Path is too long"); ++ if (dest > respath + 1) { ++ dest--; ++ } ++ *dest = '\0'; ++ return -1; ++ } + -+ *err = NULL; -+ if (ctx == NULL) { -+ ctx = &tmp_ctx; -+ memset(&tmp_ctx, 0, sizeof(tmp_ctx)); ++ memcpy(dest, stpos, (size_t)(endpos - stpos)); ++ dest += endpos - stpos; ++ *dest = '\0'; + } ++ *dst = dest; ++ return 0; ++} + -+ if (!json_gen_init(&g, ctx)) { -+ *err = safe_strdup("Json_gen init failed"); -+ goto out; ++char *cleanpath(const char *path, char *realpath, size_t realpath_len) ++{ ++ char *respath = NULL; ++ char *dest = NULL; ++ const char *stpos = NULL; ++ const char *limit_respath = NULL; ++ ++ if (path == NULL || path[0] == '\0' || \ ++ realpath == NULL || (realpath_len < PATH_MAX)) { ++ return NULL; + } -+ if (yajl_gen_status_ok != gen_logger_json_file(g, ptr, ctx, err)) { -+ if (*err == NULL) -+ *err = safe_strdup("Failed to generate json"); -+ goto free_out; ++ ++ respath = realpath; ++ ++ memset(respath, 0, realpath_len); ++ limit_respath = respath + PATH_MAX; ++ ++ if (!IS_ABSOLUTE_FILE_NAME(path)) { ++ if (!getcwd(respath, PATH_MAX)) { ++ ERROR("Failed to getcwd"); ++ respath[0] = '\0'; ++ goto error; ++ } ++ dest = strchr(respath, '\0'); ++ if (dest == NULL) { ++ ERROR("Failed to get the end of respath"); ++ goto error; ++ } ++ if (strlen(path) > (PATH_MAX - strlen(respath) - 1)) { ++ ERROR("Path is too long"); ++ goto error; ++ } ++ strcat(respath, path); ++ stpos = path; ++ } else { ++ dest = respath; ++ *dest++ = '/'; ++ stpos = path; + } -+ yajl_gen_get_buf(g, &gen_buf, &gen_len); -+ if (gen_buf == NULL) { -+ *err = safe_strdup("Error to get generated json"); -+ goto free_out; ++ ++ if (do_clean_path(respath, limit_respath, stpos, &dest)) { ++ goto error; + } + -+ if (gen_len == SIZE_MAX) { -+ *err = safe_strdup("Invalid buffer length"); -+ goto free_out; ++ if (dest > respath + 1 && ISSLASH(dest[-1])) { ++ --dest; + } -+ json_buf = safe_malloc(gen_len + 1); -+ (void)memcpy(json_buf, gen_buf, gen_len); -+ json_buf[gen_len] = '\0'; ++ *dest = '\0'; + -+free_out: -+ yajl_gen_clear(g); -+ yajl_gen_free(g); -+out: -+ return json_buf; -+} -diff --git a/src/lxc/json/logger_json_file.h b/src/lxc/json/logger_json_file.h -new file mode 100644 -index 0000000..ad5af7b ---- /dev/null -+++ b/src/lxc/json/logger_json_file.h -@@ -0,0 +1,45 @@ -+// Generated from json-file.json. Do not edit! -+#ifndef LOGGER_JSON_FILE_SCHEMA_H -+#define LOGGER_JSON_FILE_SCHEMA_H ++ return respath; + -+#include -+#include -+#include "json_common.h" ++error: ++ return NULL; ++} + -+#ifdef __cplusplus -+extern "C" { -+#endif ++static int do_path_realloc(const char *start, const char *end, ++ char **rpath, char **dest, const char **rpath_limit) ++{ ++ long long dest_offset = *dest - *rpath; ++ char *new_rpath = NULL; ++ size_t new_size; ++ int nret = 0; ++ size_t gap = 0; + -+typedef struct { -+ uint8_t *log; -+ size_t log_len; ++ if (*dest + (end - start) < *rpath_limit) { ++ return 0; ++ } + -+ char *stream; ++ gap = (size_t)(end - start) + 1; ++ new_size = (size_t)(*rpath_limit - *rpath); ++ if (new_size > SIZE_MAX - gap) { ++ ERROR("Out of range!"); ++ return -1; ++ } + -+ char *time; ++ if (gap > PATH_MAX) { ++ new_size += gap; ++ } else { ++ new_size += PATH_MAX; ++ } ++ nret = lxc_mem_realloc((void **)&new_rpath, new_size, *rpath, PATH_MAX); ++ if (nret) { ++ ERROR("Failed to realloc memory for files limit variables"); ++ return -1; ++ } ++ *rpath = new_rpath; ++ *rpath_limit = *rpath + new_size; + -+ uint8_t *attrs; -+ size_t attrs_len; ++ *dest = *rpath + dest_offset; + ++ return 0; +} -+logger_json_file; -+ -+void free_logger_json_file(logger_json_file *ptr); + -+logger_json_file *make_logger_json_file(yajl_val tree, struct parser_context *ctx, parser_error *err); -+ -+yajl_gen_status gen_logger_json_file(yajl_gen g, logger_json_file *ptr, struct parser_context *ctx, parser_error *err); ++static int do_get_symlinks_copy_buf(const char *buf, const char *prefix, size_t prefix_len, ++ char **rpath, char **dest) ++{ ++ if (IS_ABSOLUTE_FILE_NAME(buf)) { ++ if (prefix_len) { ++ memcpy(*rpath, prefix, prefix_len); ++ } ++ *dest = *rpath + prefix_len; ++ *(*dest)++ = '/'; ++ } else { ++ if (*dest > *rpath + prefix_len + 1) { ++ for (--(*dest); *dest > *rpath && !ISSLASH((*dest)[-1]); --(*dest)) { ++ continue; ++ } ++ } ++ } ++ return 0; ++} + -+logger_json_file *logger_json_file_parse_file(const char *filename, struct parser_context *ctx, parser_error *err); ++static int do_get_symlinks(const char **fullpath, const char *prefix, size_t prefix_len, ++ char **rpath, char **dest, const char **end, ++ int *num_links, char **extra_buf) ++{ ++ char *buf = NULL; ++ size_t len; ++ ssize_t n; ++ int ret = -1; + -+logger_json_file *logger_json_file_parse_file_stream(FILE *stream, struct parser_context *ctx, parser_error *err); ++ if (++(*num_links) > MAXSYMLINKS) { ++ ERROR("Too many links in '%s'", *fullpath); ++ goto out; ++ } + -+logger_json_file *logger_json_file_parse_data(const char *jsondata, struct parser_context *ctx, parser_error *err); ++ buf = lxc_common_calloc_s(PATH_MAX); ++ if (buf == NULL) { ++ ERROR("Out of memory"); ++ goto out; ++ } + -+char *logger_json_file_generate_json(logger_json_file *ptr, struct parser_context *ctx, parser_error *err); ++ n = readlink(*rpath, buf, PATH_MAX - 1); ++ if (n < 0) { ++ goto out; ++ } ++ buf[n] = '\0'; + -+#ifdef __cplusplus -+} -+#endif ++ if (*extra_buf == NULL) { ++ *extra_buf = lxc_common_calloc_s(PATH_MAX); ++ if (*extra_buf == NULL) { ++ ERROR("Out of memory"); ++ goto out; ++ } ++ } + -+#endif -diff --git a/src/lxc/json/oci_runtime_hooks.c b/src/lxc/json/oci_runtime_hooks.c -new file mode 100644 -index 0000000..41ddb67 ---- /dev/null -+++ b/src/lxc/json/oci_runtime_hooks.c -@@ -0,0 +1,52 @@ -+/****************************************************************************** -+ * Copyright (C), 1988-1999, Huawei Tech. Co., Ltd. -+ * FileName: oci_runtime_hooks.c -+ * Author: maoweiyong Version: 0.1 Date: 2018-11-07 -+ * Explanation: provide oci runtime hooks functions -+ ******************************************************************************/ -+#ifndef _GNU_SOURCE -+#define _GNU_SOURCE -+#endif -+#include -+#include "oci_runtime_hooks.h" ++ len = strlen(*end); ++ if (len >= (size_t)(PATH_MAX - n)) { ++ ERROR("Path is too long"); ++ goto out; ++ } + -+#include "log.h" -+#include "utils.h" ++ memmove(&(*extra_buf)[n], *end, len + 1); ++ memcpy(*extra_buf, buf, (size_t)n); + -+#define PARSE_ERR_BUFFER_SIZE 1024 ++ *fullpath = *end = *extra_buf; + -+oci_runtime_spec_hooks *oci_runtime_spec_hooks_parse_file(const char *filename, -+ struct parser_context *ctx, parser_error *err) -+{ -+ yajl_val tree; -+ size_t filesize; ++ if (do_get_symlinks_copy_buf(buf, prefix, prefix_len, rpath, dest) != 0) { ++ goto out; ++ } + -+ if (!filename || !err) { -+ return NULL; -+ } -+ *err = NULL; -+ struct parser_context tmp_ctx; -+ if (!ctx) { -+ ctx = &tmp_ctx; -+ memset(&tmp_ctx, 0, sizeof(tmp_ctx)); -+ } -+ char *content = read_file(filename, &filesize); -+ char errbuf[PARSE_ERR_BUFFER_SIZE]; -+ if (content == NULL) { -+ if (asprintf(err, "cannot read the file: %s", filename) < 0) { -+ *err = safe_strdup("error allocating memory"); -+ } -+ return NULL; -+ } -+ tree = yajl_tree_parse(content, errbuf, sizeof(errbuf)); -+ free(content); -+ if (tree == NULL) { -+ if (asprintf(err, "cannot parse the file: %s", errbuf) < 0) { -+ *err = safe_strdup("error allocating memory"); -+ } -+ return NULL; -+ } -+ oci_runtime_spec_hooks *ptr = make_oci_runtime_spec_hooks(tree, ctx, err); -+ yajl_tree_free(tree); -+ return ptr; ++ ret = 0; ++out: ++ free(buf); ++ return ret; +} -diff --git a/src/lxc/json/oci_runtime_hooks.h b/src/lxc/json/oci_runtime_hooks.h -new file mode 100644 -index 0000000..bf570c9 ---- /dev/null -+++ b/src/lxc/json/oci_runtime_hooks.h -@@ -0,0 +1,15 @@ -+/****************************************************************************** -+ * Copyright (C), 1988-1999, Huawei Tech. Co., Ltd. -+ * FileName: oci_runtime_hooks.h -+ * Author: tanyifeng Version: 0.1 Date: 2018-11-08 -+ * Explanation: provide container oci runtime hooks function definition -+ ******************************************************************************/ -+#ifndef _CONTAINER_HOOKS_H -+# define _CONTAINER_HOOKS_H + -+# include "oci_runtime_spec.h" -+ -+oci_runtime_spec_hooks *oci_runtime_spec_hooks_parse_file(const char *filename, -+ struct parser_context *ctx, parser_error *err); ++static bool do_eval_symlinks_in_scope_is_symlink(const char *path) ++{ ++ struct stat st; + -+#endif -diff --git a/src/lxc/json/oci_runtime_spec.c b/src/lxc/json/oci_runtime_spec.c -new file mode 100644 -index 0000000..fd342de ---- /dev/null -+++ b/src/lxc/json/oci_runtime_spec.c -@@ -0,0 +1,195 @@ -+// Generated from spec.json. Do not edit! -+#ifndef _GNU_SOURCE -+#define _GNU_SOURCE -+#endif -+#include -+#include -+#include "oci_runtime_spec.h" ++ if (lstat(path, &st) < 0) { ++ return true; ++ } + -+oci_runtime_spec_hooks *make_oci_runtime_spec_hooks(yajl_val tree, struct parser_context *ctx, parser_error *err) { -+ oci_runtime_spec_hooks *ret = NULL; -+ *err = 0; -+ if (tree == NULL) -+ return ret; -+ ret = safe_malloc(sizeof(*ret)); -+ { -+ yajl_val tmp = get_val(tree, "prestart", yajl_t_array); -+ if (tmp != NULL && YAJL_GET_ARRAY(tmp) != NULL && YAJL_GET_ARRAY(tmp)->len > 0) { -+ size_t i; -+ ret->prestart_len = YAJL_GET_ARRAY(tmp)->len; -+ ret->prestart = safe_malloc((YAJL_GET_ARRAY(tmp)->len + 1) * sizeof(*ret->prestart)); -+ for (i = 0; i < YAJL_GET_ARRAY(tmp)->len; i++) { -+ yajl_val val = YAJL_GET_ARRAY(tmp)->values[i]; -+ ret->prestart[i] = make_defs_hook(val, ctx, err); -+ if (ret->prestart[i] == NULL) { -+ free_oci_runtime_spec_hooks(ret); -+ return NULL; -+ } -+ } -+ } -+ } -+ { -+ yajl_val tmp = get_val(tree, "poststart", yajl_t_array); -+ if (tmp != NULL && YAJL_GET_ARRAY(tmp) != NULL && YAJL_GET_ARRAY(tmp)->len > 0) { -+ size_t i; -+ ret->poststart_len = YAJL_GET_ARRAY(tmp)->len; -+ ret->poststart = safe_malloc((YAJL_GET_ARRAY(tmp)->len + 1) * sizeof(*ret->poststart)); -+ for (i = 0; i < YAJL_GET_ARRAY(tmp)->len; i++) { -+ yajl_val val = YAJL_GET_ARRAY(tmp)->values[i]; -+ ret->poststart[i] = make_defs_hook(val, ctx, err); -+ if (ret->poststart[i] == NULL) { -+ free_oci_runtime_spec_hooks(ret); -+ return NULL; -+ } -+ } -+ } -+ } -+ { -+ yajl_val tmp = get_val(tree, "poststop", yajl_t_array); -+ if (tmp != NULL && YAJL_GET_ARRAY(tmp) != NULL && YAJL_GET_ARRAY(tmp)->len > 0) { -+ size_t i; -+ ret->poststop_len = YAJL_GET_ARRAY(tmp)->len; -+ ret->poststop = safe_malloc((YAJL_GET_ARRAY(tmp)->len + 1) * sizeof(*ret->poststop)); -+ for (i = 0; i < YAJL_GET_ARRAY(tmp)->len; i++) { -+ yajl_val val = YAJL_GET_ARRAY(tmp)->values[i]; -+ ret->poststop[i] = make_defs_hook(val, ctx, err); -+ if (ret->poststop[i] == NULL) { -+ free_oci_runtime_spec_hooks(ret); -+ return NULL; -+ } -+ } -+ } -+ } ++ if (!S_ISLNK(st.st_mode)) { ++ return true; ++ } ++ return false; ++} + -+ if (tree->type == yajl_t_object && (ctx->options & PARSE_OPTIONS_STRICT)) { -+ int i; -+ for (i = 0; i < tree->u.object.len; i++) -+ if (strcmp(tree->u.object.keys[i], "prestart") && -+ strcmp(tree->u.object.keys[i], "poststart") && -+ strcmp(tree->u.object.keys[i], "poststop")) { -+ if (ctx->stderr > 0) -+ fprintf(ctx->stderr, "WARNING: unknown key found: %s\n", tree->u.object.keys[i]); -+ } -+ } -+ return ret; ++static void do_eval_symlinks_skip_slash(const char **start, const char **end) ++{ ++ while (ISSLASH(**start)) { ++ ++(*start); ++ } ++ ++ for (*end = *start; **end && !ISSLASH(**end); ++(*end)) { ++ } +} + -+void free_oci_runtime_spec_hooks(oci_runtime_spec_hooks *ptr) { -+ if (ptr == NULL) -+ return; -+ if (ptr->prestart != NULL) { -+ size_t i; -+ for (i = 0; i < ptr->prestart_len; i++) -+ if (ptr->prestart[i] != NULL) { -+ free_defs_hook(ptr->prestart[i]); -+ ptr->prestart[i] = NULL; -+ } -+ free(ptr->prestart); -+ ptr->prestart = NULL; -+ } -+ if (ptr->poststart != NULL) { -+ size_t i; -+ for (i = 0; i < ptr->poststart_len; i++) -+ if (ptr->poststart[i] != NULL) { -+ free_defs_hook(ptr->poststart[i]); -+ ptr->poststart[i] = NULL; -+ } -+ free(ptr->poststart); -+ ptr->poststart = NULL; -+ } -+ if (ptr->poststop != NULL) { -+ size_t i; -+ for (i = 0; i < ptr->poststop_len; i++) -+ if (ptr->poststop[i] != NULL) { -+ free_defs_hook(ptr->poststop[i]); -+ ptr->poststop[i] = NULL; -+ } -+ free(ptr->poststop); -+ ptr->poststop = NULL; -+ } -+ free(ptr); ++static inline void skip_dest_traling_slash(char **dest, char **rpath, size_t prefix_len) ++{ ++ if (*dest > *rpath + prefix_len + 1) { ++ for (--(*dest); *dest > *rpath && !ISSLASH((*dest)[-1]); --(*dest)) { ++ continue; ++ } ++ } +} + -+yajl_gen_status gen_oci_runtime_spec_hooks(yajl_gen g, oci_runtime_spec_hooks *ptr, struct parser_context *ctx, parser_error *err) { -+ yajl_gen_status stat = yajl_gen_status_ok; -+ *err = 0; -+ stat = reformat_start_map(g); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) ||(ptr != NULL && ptr->prestart != NULL)) { -+ size_t len = 0, i; -+ stat = reformat_map_key(g, "prestart", strlen("prestart")); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ if (ptr != NULL && ptr->prestart != NULL) { -+ len = ptr->prestart_len; -+ } -+ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) -+ yajl_gen_config(g, yajl_gen_beautify, 0); -+ stat = reformat_start_array(g); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ for (i = 0; i < len; i++) { -+ stat = gen_defs_hook(g, ptr->prestart[i], ctx, err); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ stat = reformat_end_array(g); -+ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) -+ yajl_gen_config(g, yajl_gen_beautify, 1); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) ||(ptr != NULL && ptr->poststart != NULL)) { -+ size_t len = 0, i; -+ stat = reformat_map_key(g, "poststart", strlen("poststart")); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ if (ptr != NULL && ptr->poststart != NULL) { -+ len = ptr->poststart_len; -+ } -+ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) -+ yajl_gen_config(g, yajl_gen_beautify, 0); -+ stat = reformat_start_array(g); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ for (i = 0; i < len; i++) { -+ stat = gen_defs_hook(g, ptr->poststart[i], ctx, err); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ stat = reformat_end_array(g); -+ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) -+ yajl_gen_config(g, yajl_gen_beautify, 1); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ if ((ctx->options & GEN_OPTIONS_ALLKEYVALUE) ||(ptr != NULL && ptr->poststop != NULL)) { -+ size_t len = 0, i; -+ stat = reformat_map_key(g, "poststop", strlen("poststop")); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ if (ptr != NULL && ptr->poststop != NULL) { -+ len = ptr->poststop_len; -+ } -+ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) -+ yajl_gen_config(g, yajl_gen_beautify, 0); -+ stat = reformat_start_array(g); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ for (i = 0; i < len; i++) { -+ stat = gen_defs_hook(g, ptr->poststop[i], ctx, err); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ stat = reformat_end_array(g); -+ if (!len && !(ctx->options & GEN_OPTIONS_SIMPLIFY)) -+ yajl_gen_config(g, yajl_gen_beautify, 1); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ } -+ stat = reformat_end_map(g); -+ if (yajl_gen_status_ok != stat) -+ GEN_SET_ERROR_AND_RETURN(stat, err); -+ return yajl_gen_status_ok; ++static inline bool is_current_char(const char c) ++{ ++ return c == '.'; +} -diff --git a/src/lxc/json/oci_runtime_spec.h b/src/lxc/json/oci_runtime_spec.h -new file mode 100644 -index 0000000..ef3f161 ---- /dev/null -+++ b/src/lxc/json/oci_runtime_spec.h -@@ -0,0 +1,37 @@ -+// Generated from spec.json. Do not edit! -+#ifndef OCI_RUNTIME_SPEC_SCHEMA_H -+#define OCI_RUNTIME_SPEC_SCHEMA_H + -+#include -+#include -+#include "json_common.h" -+#include "defs.h" ++static inline bool is_specify_current(const char *end, const char *start) ++{ ++ return (end - start == 1) && is_current_char(start[0]); ++} + -+#ifdef __cplusplus -+extern "C" { -+#endif ++static inline bool is_specify_parent(const char *end, const char *start) ++{ ++ return (end - start == 2) && is_current_char(start[0]) && is_current_char(start[1]); ++} + -+typedef struct { -+ defs_hook **prestart; -+ size_t prestart_len; ++static int do_eval_symlinks_in_scope(const char *fullpath, const char *prefix, ++ size_t prefix_len, ++ char **rpath, char **dest, const char *rpath_limit) ++{ ++ const char *start = NULL; ++ const char *end = NULL; ++ char *extra_buf = NULL; ++ int nret = 0; ++ int num_links = 0; ++ ++ start = fullpath + prefix_len; ++ for (end = start; *start; start = end) { ++ do_eval_symlinks_skip_slash(&start, &end); ++ if (end - start == 0) { ++ break; ++ } else if (is_specify_current(end, start)) { ++ ; ++ } else if (is_specify_parent(end, start)) { ++ skip_dest_traling_slash(dest, rpath, prefix_len); ++ } else { ++ if (!ISSLASH((*dest)[-1])) { ++ *(*dest)++ = '/'; ++ } + -+ defs_hook **poststart; -+ size_t poststart_len; ++ nret = do_path_realloc(start, end, rpath, dest, &rpath_limit); ++ if (nret != 0) { ++ nret = -1; ++ goto out; ++ } + -+ defs_hook **poststop; -+ size_t poststop_len; ++ memcpy(*dest, start, (size_t)(end - start)); ++ *dest += end - start; ++ **dest = '\0'; ++ ++ if (do_eval_symlinks_in_scope_is_symlink(*rpath)) { ++ continue; ++ } + ++ nret = do_get_symlinks(&fullpath, prefix, prefix_len, rpath, dest, &end, &num_links, &extra_buf); ++ if (nret != 0) { ++ nret = -1; ++ goto out; ++ } ++ } ++ } ++out: ++ free(extra_buf); ++ return nret; +} -+oci_runtime_spec_hooks; + -+void free_oci_runtime_spec_hooks(oci_runtime_spec_hooks *ptr); ++static char *eval_symlinks_in_scope(const char *fullpath, const char *rootpath) ++{ ++ char resroot[PATH_MAX] = {0}; ++ char *root = NULL; ++ char *rpath = NULL; ++ char *dest = NULL; ++ char *prefix = NULL; ++ const char *rpath_limit = NULL; ++ size_t prefix_len; ++ ++ if (fullpath == NULL || rootpath == NULL) { ++ return NULL; ++ } + -+oci_runtime_spec_hooks *make_oci_runtime_spec_hooks(yajl_val tree, struct parser_context *ctx, parser_error *err); ++ root = cleanpath(rootpath, resroot, sizeof(resroot)); ++ if (root == NULL) { ++ ERROR("Failed to get cleaned path"); ++ return NULL; ++ } + -+yajl_gen_status gen_oci_runtime_spec_hooks(yajl_gen g, oci_runtime_spec_hooks *ptr, struct parser_context *ctx, parser_error *err); ++ if (!strcmp(fullpath, root)) { ++ return safe_strdup(fullpath); ++ } + -+#ifdef __cplusplus ++ if (strstr(fullpath, root) == NULL) { ++ ERROR("Path '%s' is not in '%s'", fullpath, root); ++ return NULL; ++ } ++ ++ rpath = lxc_common_calloc_s(PATH_MAX); ++ if (rpath == NULL) { ++ ERROR("Out of memory"); ++ goto out; ++ } ++ rpath_limit = rpath + PATH_MAX; ++ ++ prefix = root; ++ prefix_len = (size_t)strlen(prefix); ++ if (!strcmp(prefix, "/")) { ++ prefix_len = 0; ++ } ++ ++ dest = rpath; ++ if (prefix_len) { ++ memcpy(rpath, prefix, prefix_len); ++ dest += prefix_len; ++ } ++ *dest++ = '/'; ++ ++ if (do_eval_symlinks_in_scope(fullpath, prefix, prefix_len, &rpath, &dest, ++ rpath_limit)) { ++ goto out; ++ } ++ ++ if (dest > rpath + prefix_len + 1 && ISSLASH(dest[-1])) { ++ --dest; ++ } ++ *dest = '\0'; ++ return rpath; ++ ++out: ++ free(rpath); ++ return NULL; +} -+#endif + -+#endif -diff --git a/src/lxc/json/read-file.h b/src/lxc/json/read-file.h ++// FollowSymlinkInScope is a wrapper around evalSymlinksInScope that returns an ++// absolute path. This function handles paths in a platform-agnostic manner. ++char *follow_symlink_in_scope(const char *fullpath, const char *rootpath) ++{ ++ char resfull[PATH_MAX] = {0}, *full = NULL; ++ char resroot[PATH_MAX] = {0}, *root = NULL; ++ ++ full = cleanpath(fullpath, resfull, PATH_MAX); ++ if (!full) { ++ ERROR("Failed to get cleaned path"); ++ return NULL; ++ } ++ ++ root = cleanpath(rootpath, resroot, PATH_MAX); ++ if (!root) { ++ ERROR("Failed to get cleaned path"); ++ return NULL; ++ } ++ ++ return eval_symlinks_in_scope(full, root); ++} ++ ++// Rel returns a relative path that is lexically equivalent to targpath when ++// joined to basepath with an intervening separator. That is, ++// Join(basepath, Rel(basepath, targpath)) is equivalent to targpath itself. ++// On success, the returned path will always be relative to basepath, ++// even if basepath and targpath share no elements. ++// An error is returned if targpath can't be made relative to basepath or if ++// knowing the current working directory would be necessary to compute it. ++// Rel calls Clean on the result. ++char *path_relative(const char *basepath, const char *targpath) ++{ ++ char resbase[PATH_MAX] = {0}, *base = NULL; ++ char restarg[PATH_MAX] = {0}, *targ = NULL; ++ size_t bl = 0, tl = 0, b0 = 0, bi = 0, t0 = 0, ti = 0; ++ ++ base = cleanpath(basepath, resbase, PATH_MAX); ++ if (!base) { ++ ERROR("Failed to get cleaned path"); ++ return NULL; ++ } ++ ++ targ = cleanpath(targpath, restarg, PATH_MAX); ++ if (!targ) { ++ ERROR("Failed to get cleaned path"); ++ return NULL; ++ } ++ ++ if (strcmp(base, targ) == 0) ++ return safe_strdup("."); ++ ++ bl = strlen(base); ++ tl = strlen(targ); ++ while(true) { ++ while(bi < bl && !ISSLASH(base[bi])) ++ bi++; ++ while(ti < tl && !ISSLASH(targ[ti])) ++ ti++; ++ //not the same string ++ if (((bi - b0) != (ti - t0)) || strncmp(base + b0, targ + t0, bi - b0)) ++ break; ++ if (bi < bl) ++ bi++; ++ if (ti < tl) ++ ti++; ++ b0 = bi; ++ t0 = ti; ++ } ++ ++ if (b0 != bl) { ++ // Base elements left. Must go up before going down. ++ size_t seps = 0, i; ++ size_t ncopyed = 0, seps_size; ++ char *buf = NULL; ++ ++ for (bi = b0; bi < bl; bi++) { ++ if (ISSLASH(base[bi])) ++ seps++; ++ } ++ //strlen(..) + strlen(/..) + '\0' ++ seps_size = 2 + seps * 3 + 1; ++ if (t0 != tl) ++ seps_size += 1 + tl - t0; ++ ++ buf = calloc(seps_size, 1); ++ if (!buf) { ++ ERROR("Out of memory"); ++ return NULL; ++ } ++ buf[ncopyed++] = '.'; ++ buf[ncopyed++] = '.'; ++ for (i = 0; i < seps; i++) { ++ buf[ncopyed++] = '/'; ++ buf[ncopyed++] = '.'; ++ buf[ncopyed++] = '.'; ++ } ++ if (t0 != tl) { ++ buf[ncopyed++] = '/'; ++ memcpy(buf + ncopyed, targ + t0, tl - t0 + 1); ++ } ++ return buf; ++ } ++ ++ return safe_strdup(targ + t0); ++} +diff --git a/src/lxc/path.h b/src/lxc/path.h new file mode 100644 -index 0000000..5d6e0eb +index 0000000..59bbc59 --- /dev/null -+++ b/src/lxc/json/read-file.h -@@ -0,0 +1,11 @@ -+#ifndef READ_FILE_H -+#define READ_FILE_H -+ -+#include -+#include ++++ b/src/lxc/path.h +@@ -0,0 +1,33 @@ ++/* SPDX-License-Identifier: LGPL-2.1+ */ ++/****************************************************************************** ++ * Copyright (c) Huawei Technologies Co., Ltd. 2020. Allrights reserved ++ * Description: isulad utils ++ * Author: lifeng ++ * Create: 2020-04-11 ++******************************************************************************/ ++#ifndef __ISULAD_PATH_H_ ++#define __ISULAD_PATH_H_ + -+extern char *fread_file(FILE *stream, size_t *length); ++#include + -+extern char *read_file(const char *path, size_t *length); ++/* ++ * cleanpath is similar to realpath of glibc, but not expands symbolic links, ++ * and not check the existence of components of the path. ++ */ ++char *cleanpath(const char *path, char *realpath, size_t realpath_len); ++ ++// FollowSymlinkInScope is a wrapper around evalSymlinksInScope that returns an ++// absolute path. This function handles paths in a platform-agnostic manner. ++char *follow_symlink_in_scope(const char *fullpath, const char *rootpath); ++ ++// Rel returns a relative path that is lexically equivalent to targpath when ++// joined to basepath with an intervening separator. That is, ++// Join(basepath, Rel(basepath, targpath)) is equivalent to targpath itself. ++// On success, the returned path will always be relative to basepath, ++// even if basepath and targpath share no elements. ++// An error is returned if targpath can't be made relative to basepath or if ++// knowing the current working directory would be necessary to compute it. ++// Rel calls Clean on the result. ++char *path_relative(const char *basepath, const char *targpath); + +#endif -- diff --git a/0001-refactor-patch-code-of-utils-commands-and-so-on.patch b/0001-refactor-patch-code-of-utils-commands-and-so-on.patch deleted file mode 100644 index e39be2e..0000000 --- a/0001-refactor-patch-code-of-utils-commands-and-so-on.patch +++ /dev/null @@ -1,2368 +0,0 @@ -From d6745a42729f4704a0d9913676bf6d8b03c21903 Mon Sep 17 00:00:00 2001 -From: zhangxiaoyu -Date: Fri, 15 Jul 2022 17:06:09 +0800 -Subject: [PATCH] refactor patch code of utils commands and so on - -Signed-off-by: zhangxiaoyu ---- - src/lxc/cgroups/isulad_cgroup2_devices.c | 575 +++++++++++++++++++++++ - src/lxc/commands.c | 185 +++++++- - src/lxc/commands.h | 10 + - src/lxc/conf.h | 95 ++++ - src/lxc/isulad_utils.c | 319 +++++++++++++ - src/lxc/isulad_utils.h | 99 ++++ - src/lxc/lsm/lsm.c | 20 + - src/lxc/lxc.h | 19 + - src/lxc/lxccontainer.h | 194 ++++++++ - src/lxc/network.c | 8 + - src/lxc/tools/lxc_ls.c | 8 + - src/lxc/tools/lxc_start.c | 109 ++++- - src/lxc/utils.c | 173 +++++++ - src/lxc/utils.h | 11 + - 14 files changed, 1822 insertions(+), 3 deletions(-) - create mode 100644 src/lxc/cgroups/isulad_cgroup2_devices.c - create mode 100644 src/lxc/isulad_utils.c - create mode 100644 src/lxc/isulad_utils.h - -diff --git a/src/lxc/cgroups/isulad_cgroup2_devices.c b/src/lxc/cgroups/isulad_cgroup2_devices.c -new file mode 100644 -index 0000000..05613c5 ---- /dev/null -+++ b/src/lxc/cgroups/isulad_cgroup2_devices.c -@@ -0,0 +1,575 @@ -+/* SPDX-License-Identifier: LGPL-2.1+ */ -+ -+/* Parts of this taken from systemd's implementation. */ -+ -+#ifndef _GNU_SOURCE -+#define _GNU_SOURCE 1 -+#endif -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "cgroup2_devices.h" -+#include "config.h" -+#include "log.h" -+#include "macro.h" -+#include "memory_utils.h" -+ -+#ifdef HAVE_STRUCT_BPF_CGROUP_DEV_CTX -+#include -+#include -+ -+#define BPF_LOG_BUF_SIZE (1 << 23) /* 8MB */ -+#ifndef BPF_LOG_LEVEL1 -+#define BPF_LOG_LEVEL1 1 -+#endif -+ -+#ifndef BPF_LOG_LEVEL2 -+#define BPF_LOG_LEVEL2 2 -+#endif -+ -+#ifndef BPF_LOG_LEVEL -+#define BPF_LOG_LEVEL (BPF_LOG_LEVEL1 | BPF_LOG_LEVEL2) -+#endif -+ -+lxc_log_define(cgroup2_devices, cgroup); -+ -+static int bpf_program_add_instructions(struct bpf_program *prog, -+ const struct bpf_insn *instructions, -+ size_t count) -+{ -+ -+ struct bpf_insn *new_insn; -+ -+ if (prog->kernel_fd >= 0) -+ return log_error_errno(-1, EBUSY, "Refusing to update bpf cgroup program that's already loaded"); -+ -+ new_insn = realloc(prog->instructions, sizeof(struct bpf_insn) * (count + prog->n_instructions)); -+ if (!new_insn) -+ return log_error_errno(-1, ENOMEM, "Failed to reallocate bpf cgroup program"); -+ -+ prog->instructions = new_insn; -+ memset(prog->instructions + prog->n_instructions, 0, -+ sizeof(struct bpf_insn) * count); -+ memcpy(prog->instructions + prog->n_instructions, instructions, -+ sizeof(struct bpf_insn) * count); -+ prog->n_instructions += count; -+ -+ return 0; -+} -+ -+void bpf_program_free(struct bpf_program *prog) -+{ -+ if (!prog) -+ return; -+ -+ (void)bpf_program_cgroup_detach(prog); -+ -+ if (prog->kernel_fd >= 0) -+ close(prog->kernel_fd); -+ free(prog->instructions); -+ free(prog->attached_path); -+ free(prog); -+} -+ -+/* Memory load, dst_reg = *(uint *) (src_reg + off16) */ -+#define BPF_LDX_MEM(SIZE, DST, SRC, OFF) \ -+ ((struct bpf_insn){.code = BPF_LDX | BPF_SIZE(SIZE) | BPF_MEM, \ -+ .dst_reg = DST, \ -+ .src_reg = SRC, \ -+ .off = OFF, \ -+ .imm = 0}) -+ -+/* ALU ops on immediates, bpf_add|sub|...: dst_reg += imm32 */ -+#define BPF_ALU32_IMM(OP, DST, IMM) \ -+ ((struct bpf_insn){.code = BPF_ALU | BPF_OP(OP) | BPF_K, \ -+ .dst_reg = DST, \ -+ .src_reg = 0, \ -+ .off = 0, \ -+ .imm = IMM}) -+ -+/* Short form of mov, dst_reg = src_reg */ -+#define BPF_MOV64_IMM(DST, IMM) \ -+ ((struct bpf_insn){.code = BPF_ALU64 | BPF_MOV | BPF_K, \ -+ .dst_reg = DST, \ -+ .src_reg = 0, \ -+ .off = 0, \ -+ .imm = IMM}) -+ -+#define BPF_MOV32_REG(DST, SRC) \ -+ ((struct bpf_insn){.code = BPF_ALU | BPF_MOV | BPF_X, \ -+ .dst_reg = DST, \ -+ .src_reg = SRC, \ -+ .off = 0, \ -+ .imm = 0}) -+ -+/* Conditional jumps against registers, if (dst_reg 'op' src_reg) goto pc + off16 */ -+#define BPF_JMP_REG(OP, DST, SRC, OFF) \ -+ ((struct bpf_insn){.code = BPF_JMP | BPF_OP(OP) | BPF_X, \ -+ .dst_reg = DST, \ -+ .src_reg = SRC, \ -+ .off = OFF, \ -+ .imm = 0}) -+ -+/* Conditional jumps against immediates, if (dst_reg 'op' imm32) goto pc + off16 */ -+#define BPF_JMP_IMM(OP, DST, IMM, OFF) \ -+ ((struct bpf_insn){.code = BPF_JMP | BPF_OP(OP) | BPF_K, \ -+ .dst_reg = DST, \ -+ .src_reg = 0, \ -+ .off = OFF, \ -+ .imm = IMM}) -+ -+/* Program exit */ -+#define BPF_EXIT_INSN() \ -+ ((struct bpf_insn){.code = BPF_JMP | BPF_EXIT, \ -+ .dst_reg = 0, \ -+ .src_reg = 0, \ -+ .off = 0, \ -+ .imm = 0}) -+ -+static int bpf_access_mask(const char *acc, __u32 *mask) -+{ -+ if (!acc) -+ return 0; -+ -+ for (; *acc; acc++) -+ switch (*acc) { -+ case 'r': -+ *mask |= BPF_DEVCG_ACC_READ; -+ break; -+ case 'w': -+ *mask |= BPF_DEVCG_ACC_WRITE; -+ break; -+ case 'm': -+ *mask |= BPF_DEVCG_ACC_MKNOD; -+ break; -+ default: -+ return -EINVAL; -+ } -+ -+ return 0; -+} -+ -+static int bpf_device_type(char type) -+{ -+ switch (type) { -+ case 'a': -+ return 0; -+ case 'b': -+ return BPF_DEVCG_DEV_BLOCK; -+ case 'c': -+ return BPF_DEVCG_DEV_CHAR; -+ } -+ -+ return -1; -+} -+ -+static inline bool bpf_device_all_access(__u32 access_mask) -+{ -+ return access_mask == (BPF_DEVCG_ACC_READ | BPF_DEVCG_ACC_WRITE | BPF_DEVCG_ACC_MKNOD); -+} -+ -+struct bpf_program *bpf_program_new(uint32_t prog_type) -+{ -+ __do_free struct bpf_program *prog = NULL; -+ -+ prog = zalloc(sizeof(struct bpf_program)); -+ if (!prog) -+ return ret_set_errno(NULL, ENOMEM); -+ -+ prog->prog_type = prog_type; -+ prog->kernel_fd = -EBADF; -+ /* -+ * By default a whitelist is used unless the user tells us otherwise. -+ */ -+ prog->device_list_type = LXC_BPF_DEVICE_CGROUP_WHITELIST; -+ -+ return move_ptr(prog); -+} -+ -+int bpf_program_init(struct bpf_program *prog) -+{ -+ if (!prog) -+ return ret_set_errno(-1, EINVAL); -+ -+ const struct bpf_insn pre_insn[] = { -+ /* load device type to r2 */ -+ BPF_LDX_MEM(BPF_W, BPF_REG_2, BPF_REG_1, offsetof(struct bpf_cgroup_dev_ctx, access_type)), -+ BPF_ALU32_IMM(BPF_AND, BPF_REG_2, 0xFFFF), -+ -+ /* load access type to r3 */ -+ BPF_LDX_MEM(BPF_W, BPF_REG_3, BPF_REG_1, offsetof(struct bpf_cgroup_dev_ctx, access_type)), -+ BPF_ALU32_IMM(BPF_RSH, BPF_REG_3, 16), -+ -+ /* load major number to r4 */ -+ BPF_LDX_MEM(BPF_W, BPF_REG_4, BPF_REG_1, offsetof(struct bpf_cgroup_dev_ctx, major)), -+ -+ /* load minor number to r5 */ -+ BPF_LDX_MEM(BPF_W, BPF_REG_5, BPF_REG_1, offsetof(struct bpf_cgroup_dev_ctx, minor)), -+ }; -+ -+ return bpf_program_add_instructions(prog, pre_insn, ARRAY_SIZE(pre_insn)); -+} -+ -+int bpf_program_append_device(struct bpf_program *prog, struct device_item *device) -+{ -+ int ret; -+ int jump_nr = 1; -+ __u32 access_mask = 0; -+ int device_type; -+ struct bpf_insn bpf_access_decision[2]; -+ bool add_exist = false; -+ -+ if (!prog || !device) -+ return ret_set_errno(-1, EINVAL); -+ -+ /* This is a global rule so no need to append anything. */ -+ if (device->global_rule > LXC_BPF_DEVICE_CGROUP_LOCAL_RULE) { -+ prog->device_list_type = device->global_rule; -+ return 0; -+ } -+ -+ ret = bpf_access_mask(device->access, &access_mask); -+ if (ret < 0) -+ return log_error_errno(ret, -ret, "Invalid access mask specified %s", device->access); -+ -+ if (!bpf_device_all_access(access_mask)) -+ jump_nr += 3; -+ -+ device_type = bpf_device_type(device->type); -+ if (device_type < 0) -+ return log_error_errno(-1, EINVAL, "Invalid bpf cgroup device type %c", device->type); -+ -+ if (device_type > 0) -+ jump_nr++; -+ -+ if (device->major >= 0) -+ jump_nr++; -+ -+ if (device->minor >= 0) -+ jump_nr++; -+ -+ if (device_type > 0) { -+ struct bpf_insn ins[] = { -+ BPF_JMP_IMM(BPF_JNE, BPF_REG_2, device_type, jump_nr--), -+ }; -+ -+ ret = bpf_program_add_instructions(prog, ins, ARRAY_SIZE(ins)); -+ if (ret) -+ return log_error_errno(-1, errno, "Failed to add instructions to bpf cgroup program"); -+ add_exist = true; -+ } -+ -+ if (!bpf_device_all_access(access_mask)) { -+ struct bpf_insn ins[] = { -+ BPF_MOV32_REG(BPF_REG_1, BPF_REG_3), -+ BPF_ALU32_IMM(BPF_AND, BPF_REG_1, access_mask), -+ BPF_JMP_REG(BPF_JNE, BPF_REG_1, BPF_REG_3, jump_nr-2), -+ }; -+ -+ jump_nr -= 3; -+ ret = bpf_program_add_instructions(prog, ins, ARRAY_SIZE(ins)); -+ if (ret) -+ return log_error_errno(-1, errno, "Failed to add instructions to bpf cgroup program"); -+ add_exist = true; -+ } -+ -+ if (device->major >= 0) { -+ struct bpf_insn ins[] = { -+ BPF_JMP_IMM(BPF_JNE, BPF_REG_4, device->major, jump_nr--), -+ }; -+ -+ ret = bpf_program_add_instructions(prog, ins, ARRAY_SIZE(ins)); -+ if (ret) -+ return log_error_errno(-1, errno, "Failed to add instructions to bpf cgroup program"); -+ add_exist = true; -+ } -+ -+ if (device->minor >= 0) { -+ struct bpf_insn ins[] = { -+ BPF_JMP_IMM(BPF_JNE, BPF_REG_5, device->minor, jump_nr--), -+ }; -+ -+ ret = bpf_program_add_instructions(prog, ins, ARRAY_SIZE(ins)); -+ if (ret) -+ return log_error_errno(-1, errno, "Failed to add instructions to bpf cgroup program"); -+ add_exist = true; -+ } -+ -+ if (add_exist) { -+ bpf_access_decision[0] = BPF_MOV64_IMM(BPF_REG_0, device->allow); -+ bpf_access_decision[1] = BPF_EXIT_INSN(); -+ ret = bpf_program_add_instructions(prog, bpf_access_decision, -+ ARRAY_SIZE(bpf_access_decision)); -+ if (ret) -+ return log_error_errno(-1, errno, "Failed to add instructions to bpf cgroup program"); -+ } -+ -+ return 0; -+} -+ -+int bpf_program_finalize(struct bpf_program *prog) -+{ -+ struct bpf_insn ins[] = { -+ BPF_MOV64_IMM(BPF_REG_0, prog->device_list_type), -+ BPF_EXIT_INSN(), -+ }; -+ -+ if (!prog) -+ return ret_set_errno(-1, EINVAL); -+ -+ TRACE("Implementing %s bpf device cgroup program", -+ prog->device_list_type == LXC_BPF_DEVICE_CGROUP_BLACKLIST -+ ? "blacklist" -+ : "whitelist"); -+ return bpf_program_add_instructions(prog, ins, ARRAY_SIZE(ins)); -+} -+ -+static int bpf_program_load_kernel(struct bpf_program *prog) -+{ -+ __do_free char *log_buf = NULL; -+ __u32 log_level = 0; -+ __u32 log_size = 0; -+ union bpf_attr attr; -+ struct rlimit limit = { -+ .rlim_cur = RLIM_INFINITY, -+ .rlim_max = RLIM_INFINITY, -+ }; -+ -+ if (prog->kernel_fd >= 0) { -+ return 0; -+ } -+ -+ if (lxc_log_get_level() <= LXC_LOG_LEVEL_DEBUG) { -+ log_buf = zalloc(BPF_LOG_BUF_SIZE); -+ if (!log_buf) { -+ WARN("Failed to allocate bpf log buffer"); -+ } else { -+ log_level = BPF_LOG_LEVEL; -+ log_size = BPF_LOG_BUF_SIZE; -+ } -+ } -+ -+ if (setrlimit(RLIMIT_MEMLOCK, &limit) < 0) -+ return log_error_errno(-1, errno, "Failed to set rlimit memlock to unlimited"); -+ -+ attr = (union bpf_attr){ -+ .prog_type = prog->prog_type, -+ .insns = PTR_TO_UINT64(prog->instructions), -+ .insn_cnt = prog->n_instructions, -+ .license = PTR_TO_UINT64("GPL"), -+ .log_buf = PTR_TO_UINT64(log_buf), -+ .log_level = log_level, -+ .log_size = log_size, -+ }; -+ -+ prog->kernel_fd = bpf(BPF_PROG_LOAD, &attr, sizeof(attr)); -+ if (prog->kernel_fd < 0) -+ return log_error_errno(-1, errno, "Failed to load bpf program: %s", log_buf); -+ -+ TRACE("Loaded bpf program: %s", log_buf ?: "(null)"); -+ return 0; -+} -+ -+int bpf_program_cgroup_attach(struct bpf_program *prog, int type, -+ const char *path, uint32_t flags) -+{ -+ __do_free char *copy = NULL; -+ __do_close int fd = -EBADF; -+ union bpf_attr attr; -+ int ret; -+ -+ if (!prog) -+ return ret_set_errno(-1, EINVAL); -+ -+ if (flags & ~(BPF_F_ALLOW_OVERRIDE | BPF_F_ALLOW_MULTI)) -+ return log_error_errno(-1, EINVAL, "Invalid flags for bpf program"); -+ -+ if (prog->attached_path) { -+ if (prog->attached_type != type) -+ return log_error_errno(-1, EBUSY, "Wrong type for bpf program"); -+ -+ if (prog->attached_flags != flags) -+ return log_error_errno(-1, EBUSY, "Wrong flags for bpf program"); -+ -+ if (flags != BPF_F_ALLOW_OVERRIDE) -+ return true; -+ } -+ -+ ret = bpf_program_load_kernel(prog); -+ if (ret < 0) -+ return log_error_errno(-1, ret, "Failed to load bpf program"); -+ -+ copy = strdup(path); -+ if (!copy) -+ return log_error_errno(-1, ENOMEM, "Failed to duplicate cgroup path %s", path); -+ -+ fd = open(path, O_DIRECTORY | O_RDONLY | O_CLOEXEC); -+ if (fd < 0) -+ return log_error_errno(-1, errno, "Failed to open cgroup path %s", path); -+ -+ attr = (union bpf_attr){ -+ .attach_type = type, -+ .target_fd = fd, -+ .attach_bpf_fd = prog->kernel_fd, -+ .attach_flags = flags, -+ }; -+ -+ ret = bpf(BPF_PROG_ATTACH, &attr, sizeof(attr)); -+ if (ret < 0) -+ return log_error_errno(-1, errno, "Failed to attach bpf program"); -+ -+ free_move_ptr(prog->attached_path, copy); -+ prog->attached_type = type; -+ prog->attached_flags = flags; -+ -+ TRACE("Loaded and attached bpf program to cgroup %s", prog->attached_path); -+ return 0; -+} -+ -+int bpf_program_cgroup_detach(struct bpf_program *prog) -+{ -+ int ret; -+ __do_close int fd = -EBADF; -+ -+ if (!prog) -+ return 0; -+ -+ if (!prog->attached_path) -+ return 0; -+ -+ fd = open(prog->attached_path, O_DIRECTORY | O_RDONLY | O_CLOEXEC); -+ if (fd < 0) { -+ if (errno != ENOENT) -+ return log_error_errno(-1, errno, "Failed to open attach cgroup %s", -+ prog->attached_path); -+ } else { -+ union bpf_attr attr; -+ -+ attr = (union bpf_attr){ -+ .attach_type = prog->attached_type, -+ .target_fd = fd, -+ .attach_bpf_fd = prog->kernel_fd, -+ }; -+ -+ ret = bpf(BPF_PROG_DETACH, &attr, sizeof(attr)); -+ if (ret < 0) -+ return log_error_errno(-1, errno, "Failed to detach bpf program from cgroup %s", -+ prog->attached_path); -+ } -+ -+ free(prog->attached_path); -+ prog->attached_path = NULL; -+ -+ return 0; -+} -+ -+void lxc_clear_cgroup2_devices(struct lxc_conf *conf) -+{ -+ if (conf->cgroup2_devices) { -+ (void)bpf_program_cgroup_detach(conf->cgroup2_devices); -+ (void)bpf_program_free(conf->cgroup2_devices); -+ } -+} -+ -+int bpf_list_add_device(struct lxc_conf *conf, struct device_item *device) -+{ -+ __do_free struct lxc_list *list_elem = NULL; -+ __do_free struct device_item *new_device = NULL; -+ struct lxc_list *it; -+ -+ lxc_list_for_each(it, &conf->devices) { -+ struct device_item *cur = it->elem; -+ -+ if (cur->global_rule > LXC_BPF_DEVICE_CGROUP_LOCAL_RULE && -+ device->global_rule > LXC_BPF_DEVICE_CGROUP_LOCAL_RULE) { -+ TRACE("Switched from %s to %s", -+ cur->global_rule == LXC_BPF_DEVICE_CGROUP_WHITELIST -+ ? "whitelist" -+ : "blacklist", -+ device->global_rule == LXC_BPF_DEVICE_CGROUP_WHITELIST -+ ? "whitelist" -+ : "blacklist"); -+ cur->global_rule = device->global_rule; -+ return 1; -+ } -+ -+ if (cur->type != device->type) -+ continue; -+ if (cur->major != device->major) -+ continue; -+ if (cur->minor != device->minor) -+ continue; -+ if (strcmp(cur->access, device->access)) -+ continue; -+ -+ /* -+ * The rule is switched from allow to deny or vica versa so -+ * don't bother allocating just flip the existing one. -+ */ -+ if (cur->allow != device->allow) { -+ cur->allow = device->allow; -+ return log_trace(0, "Switched existing rule of bpf device program: type %c, major %d, minor %d, access %s, allow %d, global_rule %d", -+ cur->type, cur->major, cur->minor, -+ cur->access, cur->allow, -+ cur->global_rule); -+ } -+ -+ return log_trace(1, "Reusing existing rule of bpf device program: type %c, major %d, minor %d, access %s, allow %d, global_rule %d", -+ cur->type, cur->major, cur->minor, cur->access, -+ cur->allow, cur->global_rule); -+ } -+ -+ list_elem = malloc(sizeof(*list_elem)); -+ if (!list_elem) -+ return log_error_errno(-1, ENOMEM, "Failed to allocate new device list"); -+ -+ new_device = memdup(device, sizeof(struct device_item)); -+ if (!new_device) -+ return log_error_errno(-1, ENOMEM, "Failed to allocate new device item"); -+ -+ lxc_list_add_elem(list_elem, move_ptr(new_device)); -+ lxc_list_add_tail(&conf->devices, move_ptr(list_elem)); -+ -+ return 0; -+} -+ -+bool bpf_devices_cgroup_supported(void) -+{ -+ const struct bpf_insn dummy[] = { -+ BPF_MOV64_IMM(BPF_REG_0, 1), -+ BPF_EXIT_INSN(), -+ }; -+ -+ __do_bpf_program_free struct bpf_program *prog = NULL; -+ int ret; -+ -+ if (geteuid() != 0) -+ return log_trace(false, -+ "The bpf device cgroup requires real root"); -+ -+ prog = bpf_program_new(BPF_PROG_TYPE_CGROUP_DEVICE); -+ if (prog < 0) -+ return log_trace(false, "Failed to allocate new bpf device cgroup program"); -+ -+ ret = bpf_program_init(prog); -+ if (ret) -+ return log_error_errno(false, ENOMEM, "Failed to initialize bpf program"); -+ -+ ret = bpf_program_add_instructions(prog, dummy, ARRAY_SIZE(dummy)); -+ if (ret < 0) -+ return log_trace(false, "Failed to add new instructions to bpf device cgroup program"); -+ -+ ret = bpf_program_load_kernel(prog); -+ if (ret < 0) -+ return log_trace(false, "Failed to load new bpf device cgroup program"); -+ -+ return log_trace(true, "The bpf device cgroup is supported"); -+} -+#endif -diff --git a/src/lxc/commands.c b/src/lxc/commands.c -index b6ae101..c2a5665 100644 ---- a/src/lxc/commands.c -+++ b/src/lxc/commands.c -@@ -86,6 +86,10 @@ static const char *lxc_cmd_str(lxc_cmd_t cmd) - [LXC_CMD_GET_INIT_PIDFD] = "get_init_pidfd", - [LXC_CMD_GET_LIMITING_CGROUP] = "get_limiting_cgroup", - [LXC_CMD_GET_LIMITING_CGROUP2_FD] = "get_limiting_cgroup2_fd", -+#ifdef HAVE_ISULAD -+ [LXC_CMD_SET_TERMINAL_FIFOS] = "set_terminal_fifos", -+ [LXC_CMD_SET_TERMINAL_WINCH] = "set_terminal_winch", -+#endif - }; - - if (cmd >= LXC_CMD_MAX) -@@ -117,7 +121,15 @@ static int lxc_cmd_rsp_recv(int sock, struct lxc_cmd_rr *cmd) - int ret; - struct lxc_cmd_rsp *rsp = &cmd->rsp; - -+#ifdef HAVE_ISULAD -+ /*isulad: add timeout 1s to avoid long block due to [lxc monitor] error*/ -+ ret = lxc_abstract_unix_recv_fds_timeout(sock, &fd_rsp, 1, rsp, sizeof(*rsp), 1000 * 1000); -+ if (ret < 0 && (errno == ECONNRESET || errno == EAGAIN || errno == EWOULDBLOCK)) { -+ errno = ECONNRESET; /*isulad set errno ECONNRESET when timeout */ -+ } -+#else - ret = lxc_abstract_unix_recv_fds(sock, &fd_rsp, 1, rsp, sizeof(*rsp)); -+#endif - if (ret < 0) - return log_warn_errno(-1, - errno, "Failed to receive response for command \"%s\"", -@@ -592,8 +604,9 @@ static int lxc_cmd_get_cgroup_callback_do(int fd, struct lxc_cmd_req *req, - reqdata = NULL; - } - -- get_fn = (limiting_cgroup ? cgroup_ops->get_cgroup -- : cgroup_ops->get_limiting_cgroup); -+ // bugfix in newer version -+ get_fn = (limiting_cgroup ? cgroup_ops->get_limiting_cgroup -+ : cgroup_ops->get_cgroup); - - path = get_fn(cgroup_ops, reqdata); - -@@ -1260,7 +1273,11 @@ int lxc_cmd_serve_state_clients(const char *name, const char *lxcpath, - - ret = lxc_cmd(name, &cmd, &stopped, lxcpath, NULL); - if (ret < 0) -+#ifdef HAVE_ISULAD -+ return log_warn_errno(-1, errno, "Failed to serve state clients"); -+#else - return log_error_errno(-1, errno, "Failed to serve state clients"); -+#endif - - return 0; - } -@@ -1475,6 +1492,123 @@ static int lxc_cmd_get_limiting_cgroup2_fd_callback(int fd, - return ret_errno(ENOSYS); - } - -+#ifdef HAVE_ISULAD -+/* -+ * isulad: lxc_cmd_set_terminal_fifos: Set the fifos used for the container as terminal input/output -+ * -+ * @hashed_sock_name: hashed socket name -+ * -+ * Returns 0 when success, else when fail. -+ */ -+int lxc_cmd_set_terminal_fifos(const char *name, const char *lxcpath, const char *in_fifo, -+ const char *out_fifo, const char *err_fifo) -+{ -+ int ret = 0, stopped = 0; -+ int len = 0; -+ char *tmp = NULL; -+ const char *split = "&&&&", *none_fifo_name = "none"; -+ const char *cmd_in_fifo = in_fifo ? in_fifo : none_fifo_name; -+ const char *cmd_out_fifo = out_fifo ? out_fifo : none_fifo_name; -+ const char *cmd_err_fifo = err_fifo ? err_fifo : none_fifo_name; -+ -+ if (len + strlen(cmd_in_fifo) + strlen(split) + strlen(cmd_out_fifo) + -+ strlen(split) + strlen(cmd_err_fifo) == SIZE_MAX) -+ return -1; -+ len += strlen(cmd_in_fifo) + strlen(split) + strlen(cmd_out_fifo) + strlen(split) + strlen(cmd_err_fifo) + 1; -+ tmp = malloc(len); -+ if (tmp == NULL) -+ return -1; -+ ret = snprintf(tmp, len, "%s%s%s%s%s", cmd_in_fifo, split, cmd_out_fifo, split, cmd_err_fifo); -+ if (ret < 0 || ret >= len) { -+ ERROR("Failed to snprintf in fifo of command"); -+ free(tmp); -+ return -1; -+ } -+ -+ struct lxc_cmd_rr cmd = { -+ .req = { -+ .cmd = LXC_CMD_SET_TERMINAL_FIFOS, -+ .datalen = strlen(tmp)+1, -+ .data = tmp, -+ }, -+ }; -+ -+ ret = lxc_cmd(name, &cmd, &stopped, lxcpath, NULL); -+ if (ret < 0) { -+ ERROR("Failed to send command to container"); -+ free(tmp); -+ return -1; -+ } -+ -+ if (cmd.rsp.ret != 0) { -+ ERROR("Command response error:%d", cmd.rsp.ret); -+ free(tmp); -+ return -1; -+ } -+ -+ free(tmp); -+ return 0; -+} -+ -+static int lxc_cmd_set_terminal_fifos_callback(int fd, struct lxc_cmd_req *req, -+ struct lxc_handler *handler, struct lxc_epoll_descr *descr) -+{ -+ struct lxc_cmd_rsp rsp; -+ memset(&rsp, 0, sizeof(rsp)); -+ -+ rsp.ret = lxc_terminal_add_fifos(handler->conf, req->data);; -+ -+ return lxc_cmd_rsp_send(fd, &rsp); -+} -+ -+struct lxc_cmd_set_terminal_winch_request { -+ unsigned int height; -+ unsigned int width; -+}; -+ -+int lxc_cmd_set_terminal_winch(const char *name, const char *lxcpath, unsigned int height, unsigned int width) -+{ -+ int ret = 0, stopped = 0; -+ struct lxc_cmd_set_terminal_winch_request data = { 0 }; -+ -+ data.height = height; -+ data.width = width; -+ -+ struct lxc_cmd_rr cmd = { -+ .req = { -+ .cmd = LXC_CMD_SET_TERMINAL_WINCH, -+ .datalen = sizeof(struct lxc_cmd_set_terminal_winch_request), -+ .data = &data, -+ }, -+ }; -+ -+ ret = lxc_cmd(name, &cmd, &stopped, lxcpath, NULL); -+ if (ret < 0) { -+ ERROR("Failed to send command to container"); -+ return -1; -+ } -+ -+ if (cmd.rsp.ret != 0) { -+ ERROR("Command response error:%d", cmd.rsp.ret); -+ return -1; -+ } -+ return 0; -+} -+ -+static int lxc_cmd_set_terminal_winch_callback(int fd, struct lxc_cmd_req *req, -+ struct lxc_handler *handler, struct lxc_epoll_descr *descr) -+{ -+ struct lxc_cmd_rsp rsp; -+ struct lxc_cmd_set_terminal_winch_request *data = (struct lxc_cmd_set_terminal_winch_request *)(req->data); -+ memset(&rsp, 0, sizeof(rsp)); -+ -+ rsp.ret = lxc_set_terminal_winsz(&handler->conf->console, data->height, data->width);; -+ -+ return lxc_cmd_rsp_send(fd, &rsp); -+ -+} -+#endif -+ - static int lxc_cmd_process(int fd, struct lxc_cmd_req *req, - struct lxc_handler *handler, - struct lxc_epoll_descr *descr) -@@ -1504,10 +1638,18 @@ static int lxc_cmd_process(int fd, struct lxc_cmd_req *req, - [LXC_CMD_GET_INIT_PIDFD] = lxc_cmd_get_init_pidfd_callback, - [LXC_CMD_GET_LIMITING_CGROUP] = lxc_cmd_get_limiting_cgroup_callback, - [LXC_CMD_GET_LIMITING_CGROUP2_FD] = lxc_cmd_get_limiting_cgroup2_fd_callback, -+#ifdef HAVE_ISULAD -+ [LXC_CMD_SET_TERMINAL_FIFOS] = lxc_cmd_set_terminal_fifos_callback, -+ [LXC_CMD_SET_TERMINAL_WINCH] = lxc_cmd_set_terminal_winch_callback, -+#endif - }; - - if (req->cmd >= LXC_CMD_MAX) -+#ifdef HAVE_ISULAD -+ return log_error_errno(-1, ENOENT, "Undefined command id %d", req->cmd); -+#else - return log_trace_errno(-1, EINVAL, "Invalid command id %d", req->cmd); -+#endif - - return cb[req->cmd](fd, req, handler, descr); - } -@@ -1646,6 +1788,44 @@ static int lxc_cmd_accept(int fd, uint32_t events, void *data, - return ret; - } - -+#ifdef HAVE_ISULAD -+int lxc_cmd_init(const char *name, const char *lxcpath, const char *suffix) -+{ -+ __do_close int fd = -EBADF; -+ int ret; -+ char path[LXC_AUDS_ADDR_LEN] = {0}; -+ __do_free char *runtime_sock_dir = NULL; -+ -+ runtime_sock_dir = generate_named_unix_sock_dir(name); -+ if (runtime_sock_dir == NULL) -+ return -1; -+ -+ if (mkdir_p(runtime_sock_dir, 0700) < 0) -+ return log_error_errno(-1, errno, "Failed to create container runtime unix sock directory %s", path); -+ -+ if (generate_named_unix_sock_path(name, suffix, path, sizeof(path)) != 0) -+ return -1; -+ -+ fd = lxc_named_unix_open(path, SOCK_STREAM, 0); -+ if (fd < 0) { -+ if (errno == EADDRINUSE) { -+ WARN("Container \"%s\" appears to be already running", name); -+ (void)unlink(path); -+ -+ fd = lxc_named_unix_open(path, SOCK_STREAM, 0); -+ if (fd < 0) -+ return log_error_errno(-1, errno, "Failed to create command socket %s", path); -+ } else -+ return log_error_errno(-1, errno, "Failed to create command socket %s", path); -+ } -+ -+ ret = fcntl(fd, F_SETFD, FD_CLOEXEC); -+ if (ret < 0) -+ return log_error_errno(-1, errno, "Failed to set FD_CLOEXEC on command socket file descriptor"); -+ -+ return log_trace(move_fd(fd), "Created unix socket \"%s\"", path); -+} -+#else - int lxc_cmd_init(const char *name, const char *lxcpath, const char *suffix) - { - __do_close int fd = -EBADF; -@@ -1670,6 +1850,7 @@ int lxc_cmd_init(const char *name, const char *lxcpath, const char *suffix) - - return log_trace(move_fd(fd), "Created abstract unix socket \"%s\"", &path[1]); - } -+#endif - - int lxc_cmd_mainloop_add(const char *name, struct lxc_epoll_descr *descr, - struct lxc_handler *handler) -diff --git a/src/lxc/commands.h b/src/lxc/commands.h -index 3624a14..f6371fd 100644 ---- a/src/lxc/commands.h -+++ b/src/lxc/commands.h -@@ -40,6 +40,10 @@ typedef enum { - LXC_CMD_GET_INIT_PIDFD, - LXC_CMD_GET_LIMITING_CGROUP, - LXC_CMD_GET_LIMITING_CGROUP2_FD, -+#ifdef HAVE_ISULAD -+ LXC_CMD_SET_TERMINAL_FIFOS, -+ LXC_CMD_SET_TERMINAL_WINCH, -+#endif - LXC_CMD_MAX, - } lxc_cmd_t; - -@@ -136,4 +140,10 @@ extern char *lxc_cmd_get_limiting_cgroup_path(const char *name, - const char *subsystem); - extern int lxc_cmd_get_limiting_cgroup2_fd(const char *name, const char *lxcpath); - -+#ifdef HAVE_ISULAD -+extern int lxc_cmd_set_terminal_fifos(const char *name, const char *lxcpath, -+ const char *in_fifo, const char *out_fifo, const char *err_fifo); -+extern int lxc_cmd_set_terminal_winch(const char *name, const char *lxcpath, unsigned int height, unsigned int width); -+#endif -+ - #endif /* __commands_h */ -diff --git a/src/lxc/conf.h b/src/lxc/conf.h -index b72afba..0478eb1 100644 ---- a/src/lxc/conf.h -+++ b/src/lxc/conf.h -@@ -23,6 +23,10 @@ - #include "start.h" - #include "terminal.h" - -+#ifdef HAVE_ISULAD -+#include "oci_runtime_hooks.h" -+#endif -+ - #if HAVE_SYS_RESOURCE_H - #include - #endif -@@ -146,6 +150,8 @@ struct lxc_tty_info { - * @mountflags : the portion of @options that are flags - * @data : the portion of @options that are not flags - * @managed : whether it is managed by LXC -+ * @maskedpaths: A list of paths to be msked over inside the container -+ * @ropaths : A list of paths to be remounted with readonly inside the container - */ - struct lxc_rootfs { - char *path; -@@ -155,6 +161,14 @@ struct lxc_rootfs { - unsigned long mountflags; - char *data; - bool managed; -+#ifdef HAVE_ISULAD -+ /* isulad: maskedpaths */ -+ struct lxc_list maskedpaths; -+ /* isulad: ropaths */ -+ struct lxc_list ropaths; -+ /* isulad: errfd */ -+ int errfd; -+#endif - }; - - /* -@@ -203,6 +217,11 @@ enum lxchooks { - LXCHOOK_CLONE, - LXCHOOK_DESTROY, - LXCHOOK_START_HOST, -+#ifdef HAVE_ISULAD -+ OCI_HOOK_PRESTART, -+ OCI_HOOK_POSTSTART, -+ OCI_HOOK_POSTSTOP, -+#endif - NUM_LXC_HOOKS - }; - -@@ -233,6 +252,27 @@ struct device_item { - int global_rule; - }; - -+#ifdef HAVE_ISULAD -+/* -+ * iSulad: Defines a structure to store the devices which will -+ * be attached in container -+ * @name : the target device name in container -+ * @type : the type of target device "c" or "b" -+ * @mode : file mode for the device -+ * @maj : major number for the device -+ * @min : minor number for the device -+ */ -+struct lxc_populate_devs { -+ char *name; -+ char *type; -+ mode_t file_mode; -+ int maj; -+ int min; -+ uid_t uid; -+ gid_t gid; -+}; -+#endif -+ - struct lxc_conf { - /* Pointer to the name of the container. Do not free! */ - const char *name; -@@ -401,6 +441,40 @@ struct lxc_conf { - /* Absolute path (in the container) to the shared mount point */ - char *path_cont; - } shmount; -+ -+#ifdef HAVE_ISULAD -+ /* support oci hook */ -+ oci_runtime_spec_hooks *ocihooks; -+ -+ /* init args used to repalce init_cmd */ -+ char **init_argv; -+ size_t init_argc; -+ -+ gid_t *init_groups; -+ size_t init_groups_len; -+ -+ /* populate devices */ -+ struct lxc_list populate_devs; -+ mode_t umask; // umask value -+ -+ char *container_info_file; -+ -+ /* exit fifo fd*/ -+ int exit_fd; -+ -+ /* record error messages */ -+ char *errmsg; -+ -+ /* pipdfd for get error message of child or grandchild process */ -+ int errpipe[2]; -+ -+ /* systemd value */ -+ char *systemd; -+ -+ /* Linux Security Modules SELinux context for device mount */ -+ char *lsm_se_mount_context; -+#endif -+ - }; - - extern int write_id_mapping(enum idtype idtype, pid_t pid, const char *buf, -@@ -439,7 +513,11 @@ extern int lxc_setup_rootfs_prepare_root(struct lxc_conf *conf, - const char *name, const char *lxcpath); - extern int lxc_setup(struct lxc_handler *handler); - extern int lxc_setup_parent(struct lxc_handler *handler); -+#ifdef HAVE_ISULAD -+extern int setup_resource_limits(struct lxc_list *limits, pid_t pid, int errfd); -+#else - extern int setup_resource_limits(struct lxc_list *limits, pid_t pid); -+#endif - extern int find_unmapped_nsid(const struct lxc_conf *conf, enum idtype idtype); - extern int mapped_hostid(unsigned id, const struct lxc_conf *conf, - enum idtype idtype); -@@ -447,8 +525,14 @@ extern int userns_exec_1(const struct lxc_conf *conf, int (*fn)(void *), - void *data, const char *fn_name); - extern int userns_exec_full(struct lxc_conf *conf, int (*fn)(void *), - void *data, const char *fn_name); -+#ifdef HAVE_ISULAD -+// isulad modify -+extern int parse_mntopts(const char *mntopts, unsigned long *mntflags, -+ unsigned long *pflags, char **mntdata); -+#else - extern int parse_mntopts(const char *mntopts, unsigned long *mntflags, - char **mntdata); -+#endif - extern int parse_propagationopts(const char *mntopts, unsigned long *pflags); - extern void tmp_proc_unmount(struct lxc_conf *lxc_conf); - extern void turn_into_dependent_mounts(void); -@@ -480,4 +564,15 @@ static inline int chown_mapped_root(const char *path, const struct lxc_conf *con - return userns_exec_mapped_root(path, -EBADF, conf); - } - -+#ifdef HAVE_ISULAD -+// isulad add -+int lxc_clear_init_args(struct lxc_conf *lxc_conf); -+int lxc_clear_init_groups(struct lxc_conf *lxc_conf); -+int lxc_clear_populate_devices(struct lxc_conf *c); -+int lxc_clear_rootfs_masked_paths(struct lxc_conf *c); -+int lxc_clear_rootfs_ro_paths(struct lxc_conf *c); -+int lxc_drop_caps(struct lxc_conf *conf); -+int run_oci_hooks(const char *name, const char *hookname, struct lxc_conf *conf, const char *lxcpath); -+void lxc_close_error_pipe(int *errpipe); -+#endif - #endif /* __LXC_CONF_H */ -diff --git a/src/lxc/isulad_utils.c b/src/lxc/isulad_utils.c -new file mode 100644 -index 0000000..15d9323 ---- /dev/null -+++ b/src/lxc/isulad_utils.c -@@ -0,0 +1,319 @@ -+/* SPDX-License-Identifier: LGPL-2.1+ */ -+/****************************************************************************** -+ * Copyright (c) Huawei Technologies Co., Ltd. 2020. Allrights reserved -+ * Description: isulad utils -+ * Author: lifeng -+ * Create: 2020-04-11 -+******************************************************************************/ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "isulad_utils.h" -+#include "log.h" -+#include "path.h" -+#include "file_utils.h" -+ -+lxc_log_define(isulad_utils, lxc); -+ -+void *lxc_common_calloc_s(size_t size) -+{ -+ if (size == 0 || size > SIZE_MAX) { -+ return NULL; -+ } -+ -+ return calloc((size_t)1, size); -+} -+ -+int lxc_mem_realloc(void **newptr, size_t newsize, void *oldptr, size_t oldsize) -+{ -+ void *tmp = NULL; -+ -+ if (newsize == 0) { -+ goto err_out; -+ } -+ -+ tmp = lxc_common_calloc_s(newsize); -+ if (tmp == NULL) { -+ ERROR("Failed to malloc memory"); -+ goto err_out; -+ } -+ -+ if (oldptr != NULL) { -+ memcpy(tmp, oldptr, (newsize < oldsize) ? newsize : oldsize); -+ -+ memset(oldptr, 0, oldsize); -+ -+ free(oldptr); -+ } -+ -+ *newptr = tmp; -+ return 0; -+ -+err_out: -+ return -1; -+} -+ -+char *safe_strdup(const char *src) -+{ -+ char *dst = NULL; -+ -+ if (src == NULL) { -+ return NULL; -+ } -+ -+ dst = strdup(src); -+ if (dst == NULL) { -+ abort(); -+ } -+ -+ return dst; -+} -+ -+int lxc_open(const char *filename, int flags, mode_t mode) -+{ -+ char rpath[PATH_MAX] = {0x00}; -+ -+ if (cleanpath(filename, rpath, sizeof(rpath)) == NULL) { -+ return -1; -+ } -+ if (mode) { -+ return open(rpath, (int)((unsigned int)flags | O_CLOEXEC), mode); -+ } else { -+ return open(rpath, (int)((unsigned int)flags | O_CLOEXEC)); -+ } -+} -+ -+FILE *lxc_fopen(const char *filename, const char *mode) -+{ -+ char rpath[PATH_MAX] = {0x00}; -+ -+ if (cleanpath(filename, rpath, sizeof(rpath)) == NULL) { -+ return NULL; -+ } -+ -+ return fopen_cloexec(rpath, mode); -+} -+ -+/* isulad: write error message */ -+void lxc_write_error_message(int errfd, const char *format, ...) -+{ -+ int ret; -+ char errbuf[BUFSIZ + 1] = {0}; -+ ssize_t sret; -+ va_list argp; -+ -+ if (errfd <= 0) -+ return; -+ -+ va_start(argp, format); -+#pragma GCC diagnostic push -+#pragma GCC diagnostic ignored "-Wformat-nonliteral" -+ ret = vsnprintf(errbuf, BUFSIZ, format, argp); -+#pragma GCC diagnostic pop -+ va_end(argp); -+ if (ret < 0 || ret >= BUFSIZ) -+ SYSERROR("Failed to call vsnprintf"); -+ sret = write(errfd, errbuf, strlen(errbuf)); -+ if (sret < 0) -+ SYSERROR("Write errbuf failed"); -+} -+ -+/* isulad: read file to buffer */ -+int lxc_file2str(const char *filename, char ret[], int cap) -+{ -+ int fd, num_read; -+ -+ if ((fd = lxc_open(filename, O_RDONLY | O_CLOEXEC, 0)) == -1) -+ return -1; -+ if ((num_read = read(fd, ret, cap - 1)) <= 0) -+ num_read = -1; -+ else -+ ret[num_read] = 0; -+ close(fd); -+ -+ return num_read; -+} -+ -+/* isuald: lxc_stat2proc() makes sure it can handle arbitrary executable file basenames -+ * for `cmd', i.e. those with embedded whitespace or embedded ')'s. -+ * Such names confuse %s (see scanf(3)), so the string is split and %39c -+ * is used instead. (except for embedded ')' "(%[^)]c)" would work. -+ */ -+static proc_t *lxc_stat2proc(const char *S) -+{ -+ int num; -+ proc_t *P = NULL; -+ char *tmp = NULL; -+ -+ if (!S) -+ return NULL; -+ -+ tmp = strrchr(S, ')'); /* split into "PID (cmd" and "" */ -+ if (!tmp) -+ return NULL; -+ *tmp = '\0'; /* replace trailing ')' with NUL */ -+ -+ P = malloc(sizeof(proc_t)); -+ if (P == NULL) -+ return NULL; -+ (void)memset(P, 0x00, sizeof(proc_t)); -+ -+ /* parse these two strings separately, skipping the leading "(". */ -+ num = sscanf(S, "%d (%15c", &P->pid, P->cmd); /* comm[16] in kernel */ -+ if (num != 2) { -+ ERROR("Call sscanf error: %s", errno ? strerror(errno) : ""); -+ free(P); -+ return NULL; -+ } -+ num = sscanf(tmp + 2, /* skip space after ')' too */ -+ "%c " -+ "%d %d %d %d %d " -+ "%lu %lu %lu %lu %lu " -+ "%Lu %Lu %Lu %Lu " /* utime stime cutime cstime */ -+ "%ld %ld %ld %ld " -+ "%Lu " /* start_time */ -+ "%lu " -+ "%ld " -+ "%lu %lu %lu %lu %lu %lu " -+ "%*s %*s %*s %*s " /* discard, no RT signals & Linux 2.1 used hex */ -+ "%lu %lu %lu " -+ "%d %d " -+ "%lu %lu", -+ &P->state, -+ &P->ppid, &P->pgrp, &P->session, &P->tty, &P->tpgid, -+ &P->flags, &P->min_flt, &P->cmin_flt, &P->maj_flt, &P->cmaj_flt, -+ &P->utime, &P->stime, &P->cutime, &P->cstime, -+ &P->priority, &P->nice, &P->timeout, &P->it_real_value, -+ &P->start_time, -+ &P->vsize, -+ &P->rss, -+ &P->rss_rlim, &P->start_code, &P->end_code, &P->start_stack, &P->kstk_esp, -+ &P->kstk_eip, -+ &P->wchan, &P->nswap, &P->cnswap, -+ &P->exit_signal, &P->processor, /* 2.2.1 ends with "exit_signal" */ -+ &P->rtprio, &P->sched /* both added to 2.5.18 */ -+ ); -+ if (num != 35) { -+ ERROR("Call sscanf error: %s", errno ? strerror(errno) : ""); -+ free(P); -+ return NULL; -+ } -+ if (P->tty == 0) -+ P->tty = -1; /* the old notty val, update elsewhere bef. moving to 0 */ -+ return P; -+} -+ -+/* isulad: get starttime of process pid */ -+unsigned long long lxc_get_process_startat(pid_t pid) -+{ -+ int sret = 0; -+ unsigned long long startat = 0; -+ proc_t *pid_info = NULL; -+ char filename[PATH_MAX] = {0}; -+ char sbuf[1024] = {0}; /* bufs for stat */ -+ -+ sret = snprintf(filename, sizeof(filename), "/proc/%d/stat", pid); -+ if (sret < 0 || sret >= sizeof(filename)) { -+ ERROR("Failed to sprintf filename"); -+ goto out; -+ } -+ -+ if ((lxc_file2str(filename, sbuf, sizeof(sbuf))) == -1) { -+ SYSERROR("Failed to read pidfile %s", filename); -+ goto out; -+ } -+ -+ pid_info = lxc_stat2proc(sbuf); -+ if (!pid_info) { -+ ERROR("Failed to get proc stat info"); -+ goto out; -+ } -+ -+ startat = pid_info->start_time; -+out: -+ free(pid_info); -+ return startat; -+} -+ -+// isulad: set env home in container -+int lxc_setup_env_home(uid_t uid) -+{ -+ char *homedir = "/"; // default home dir is / -+ struct passwd pw, *pwbufp = NULL; -+ char buf[BUFSIZ]; -+ int ret; -+ -+ ret = getpwuid_r(uid, &pw, buf, sizeof(buf), &pwbufp); -+ if ((ret == 0) && (pwbufp != NULL) && (pwbufp->pw_uid == uid)) { -+ homedir = pwbufp->pw_dir; -+ goto set_env; -+ } -+ -+ WARN("User invalid, can not find user '%u'", uid); -+ -+set_env: -+ // if we didn't configure HOME, set it based on uid -+ if (setenv("HOME", homedir, 0) < 0) { -+ SYSERROR("Unable to set env 'HOME'"); -+ return -1; -+ } -+ -+ NOTICE("Setted env 'HOME' to %s", homedir); -+ return 0; -+} -+ -+bool lxc_process_alive(pid_t pid, unsigned long long start_time) -+{ -+ int sret = 0; -+ bool alive = true; -+ proc_t *pid_info = NULL; -+ char filename[PATH_MAX] = {0}; -+ char sbuf[1024] = {0}; /* bufs for stat */ -+ -+ sret = kill(pid, 0); -+ if (sret < 0 && errno == ESRCH) -+ return false; -+ -+ sret = snprintf(filename, sizeof(filename), "/proc/%d/stat", pid); -+ if (sret < 0 || sret >= sizeof(filename)) { -+ ERROR("Failed to sprintf filename"); -+ goto out; -+ } -+ -+ if ((lxc_file2str(filename, sbuf, sizeof(sbuf))) == -1) { -+ ERROR("Failed to read pidfile %s", filename); -+ alive = false; -+ goto out; -+ } -+ -+ pid_info = lxc_stat2proc(sbuf); -+ if (!pid_info) { -+ ERROR("Failed to get proc stat info"); -+ alive = false; -+ goto out; -+ } -+ -+ if (start_time != pid_info->start_time) -+ alive = false; -+out: -+ free(pid_info); -+ return alive; -+} -+ -+bool is_non_negative_num(const char *s) -+{ -+ if (!s || !strcmp(s, "")) -+ return false; -+ while(*s != '\0') { -+ if(!isdigit(*s)) -+ return false; -+ ++s; -+ } -+ return true; -+} -diff --git a/src/lxc/isulad_utils.h b/src/lxc/isulad_utils.h -new file mode 100644 -index 0000000..345f511 ---- /dev/null -+++ b/src/lxc/isulad_utils.h -@@ -0,0 +1,99 @@ -+/* SPDX-License-Identifier: LGPL-2.1+ */ -+/****************************************************************************** -+ * Copyright (c) Huawei Technologies Co., Ltd. 2020. Allrights reserved -+ * Description: isulad utils -+ * Author: lifeng -+ * Create: 2020-04-11 -+******************************************************************************/ -+#ifndef __iSULAD_UTILS_H -+#define __iSULAD_UTILS_H -+ -+#include -+#include -+ -+/* isulad: replace space with SPACE_MAGIC_STR */ -+#define SPACE_MAGIC_STR "[#)" -+ -+/* isulad: -+ ld cutime, cstime, priority, nice, timeout, it_real_value, rss, -+ c state, -+ d ppid, pgrp, session, tty, tpgid, -+ s signal, blocked, sigignore, sigcatch, -+ lu flags, min_flt, cmin_flt, maj_flt, cmaj_flt, utime, stime, -+ lu rss_rlim, start_code, end_code, start_stack, kstk_esp, kstk_eip, -+ lu start_time, vsize, wchan, nswap, cnswap, -+*/ -+ -+/* Basic data structure which holds all information we can get about a process. -+ * (unless otherwise specified, fields are read from /proc/#/stat) -+ * -+ * Most of it comes from task_struct in linux/sched.h -+ */ -+typedef struct proc_t { -+ // 1st 16 bytes -+ int pid; /* process id */ -+ int ppid; /* pid of parent process */ -+ -+ char state; /* single-char code for process state (S=sleeping) */ -+ -+ unsigned long long -+ utime, /* user-mode CPU time accumulated by process */ -+ stime, /* kernel-mode CPU time accumulated by process */ -+ // and so on... -+ cutime, /* cumulative utime of process and reaped children */ -+ cstime, /* cumulative stime of process and reaped children */ -+ start_time; /* start time of process -- seconds since 1-1-70 */ -+ -+ long -+ priority, /* kernel scheduling priority */ -+ timeout, /* ? */ -+ nice, /* standard unix nice level of process */ -+ rss, /* resident set size from /proc/#/stat (pages) */ -+ it_real_value; /* ? */ -+ unsigned long -+ rtprio, /* real-time priority */ -+ sched, /* scheduling class */ -+ vsize, /* number of pages of virtual memory ... */ -+ rss_rlim, /* resident set size limit? */ -+ flags, /* kernel flags for the process */ -+ min_flt, /* number of minor page faults since process start */ -+ maj_flt, /* number of major page faults since process start */ -+ cmin_flt, /* cumulative min_flt of process and child processes */ -+ cmaj_flt, /* cumulative maj_flt of process and child processes */ -+ nswap, /* ? */ -+ cnswap, /* cumulative nswap ? */ -+ start_code, /* address of beginning of code segment */ -+ end_code, /* address of end of code segment */ -+ start_stack, /* address of the bottom of stack for the process */ -+ kstk_esp, /* kernel stack pointer */ -+ kstk_eip, /* kernel instruction pointer */ -+ wchan; /* address of kernel wait channel proc is sleeping in */ -+ -+ char cmd[16]; /* basename of executable file in call to exec(2) */ -+ int -+ pgrp, /* process group id */ -+ session, /* session id */ -+ tty, /* full device number of controlling terminal */ -+ tpgid, /* terminal process group id */ -+ exit_signal, /* might not be SIGCHLD */ -+ processor; /* current (or most recent?) CPU */ -+} proc_t; -+ -+extern int lxc_mem_realloc(void **newptr, size_t newsize, void *oldptr, size_t oldsize); -+extern void *lxc_common_calloc_s(size_t size); -+extern char *safe_strdup(const char *src); -+ -+extern int lxc_open(const char *filename, int flags, mode_t mode); -+extern FILE *lxc_fopen(const char *filename, const char *mode); -+ -+extern void lxc_write_error_message(int errfd, const char *format, ...); -+extern int lxc_file2str(const char *filename, char ret[], int cap); -+extern int unsigned long long lxc_get_process_startat(pid_t pid); -+// set env home in container -+extern int lxc_setup_env_home(uid_t uid); -+ -+extern bool lxc_process_alive(pid_t pid, unsigned long long start_time); -+ -+extern bool is_non_negative_num(const char *s); -+ -+#endif -diff --git a/src/lxc/lsm/lsm.c b/src/lxc/lsm/lsm.c -index 553e0c9..2f87dd6 100644 ---- a/src/lxc/lsm/lsm.c -+++ b/src/lxc/lsm/lsm.c -@@ -168,6 +168,26 @@ int lsm_process_label_set(const char *label, struct lxc_conf *conf, - return drv->process_label_set(label, conf, on_exec); - } - -+#ifdef HAVE_ISULAD -+int lsm_file_label_set(const char *path, const char *label) -+{ -+ if (!drv) { -+ ERROR("LSM driver not inited"); -+ return -1; -+ } -+ return drv->file_label_set(path, label); -+} -+ -+int lsm_relabel(const char *path, const char *label, bool share) -+{ -+ if (!drv) { -+ ERROR("LSM driver not inited"); -+ return -1; -+ } -+ return drv->relabel(path, label, share); -+} -+#endif -+ - int lsm_process_prepare(struct lxc_conf *conf, const char *lxcpath) - { - if (!drv) { -diff --git a/src/lxc/lxc.h b/src/lxc/lxc.h -index 630eff0..fb57083 100644 ---- a/src/lxc/lxc.h -+++ b/src/lxc/lxc.h -@@ -32,8 +32,14 @@ struct lxc_handler; - * @daemonize : whether or not the container is daemonized - * Returns 0 on success, < 0 otherwise - */ -+#ifdef HAVE_ISULAD -+extern int lxc_start(char *const argv[], struct lxc_handler *handler, -+ const char *lxcpath, bool daemonize, int *error_num, -+ unsigned int start_timeout); -+#else - extern int lxc_start(char *const argv[], struct lxc_handler *handler, - const char *lxcpath, bool daemonize, int *error_num); -+#endif - - /* - * Start the specified command inside an application container -@@ -44,9 +50,15 @@ extern int lxc_start(char *const argv[], struct lxc_handler *handler, - * @daemonize : whether or not the container is daemonized - * Returns 0 on success, < 0 otherwise - */ -+#ifdef HAVE_ISULAD -+extern int lxc_execute(const char *name, char *const argv[], int quiet, -+ struct lxc_handler *handler, const char *lxcpath, -+ bool daemonize, int *error_num, unsigned int start_timeout); -+#else - extern int lxc_execute(const char *name, char *const argv[], int quiet, - struct lxc_handler *handler, const char *lxcpath, - bool daemonize, int *error_num); -+#endif - - /* - * Close the fd associated with the monitoring -@@ -83,6 +95,13 @@ extern lxc_state_t lxc_state(const char *name, const char *lxcpath); - */ - extern struct lxc_container *lxc_container_new(const char *name, const char *configpath); - -+#ifdef HAVE_ISULAD -+/* -+ * Create a new container without loading config. -+ */ -+extern struct lxc_container *lxc_container_without_config_new(const char *name, const char *configpath); -+#endif -+ - /* - * Returns 1 on success, 0 on failure. - */ -diff --git a/src/lxc/lxccontainer.h b/src/lxc/lxccontainer.h -index b4ec1d6..3680ade 100644 ---- a/src/lxc/lxccontainer.h -+++ b/src/lxc/lxccontainer.h -@@ -26,6 +26,10 @@ extern "C" { - #define LXC_CREATE_MAXFLAGS (1 << 1) /*!< Number of \c LXC_CREATE* flags */ - #define LXC_MOUNT_API_V1 1 - -+#ifdef HAVE_ISULAD -+#define LXC_IMAGE_OCI_KEY "lxc.imagetype.oci" -+#endif -+ - struct bdev_specs; - - struct lxc_snapshot; -@@ -40,6 +44,41 @@ struct lxc_mount { - int version; - }; - -+#ifdef HAVE_ISULAD -+struct lxc_blkio_metrics { -+ uint64_t read; -+ uint64_t write; -+ uint64_t total; -+}; -+ -+struct lxc_container_metrics { -+ /* State of container */ -+ const char *state; -+ /* The process ID of the init container */ -+ pid_t init; -+ /* Current pids */ -+ uint64_t pids_current; -+ /* CPU usage */ -+ uint64_t cpu_use_nanos; -+ uint64_t cpu_use_user; -+ uint64_t cpu_use_sys; -+ /* BlkIO usage */ -+ struct lxc_blkio_metrics io_service_bytes; -+ struct lxc_blkio_metrics io_serviced; -+ /* Memory usage */ -+ uint64_t mem_used; -+ uint64_t mem_limit; -+ /* Kernel Memory usage */ -+ uint64_t kmem_used; -+ uint64_t kmem_limit; -+ /* Cache usage */ -+ uint64_t cache; -+ uint64_t cache_total; -+ /* total inactive file */ -+ uint64_t inactive_file_total; -+}; -+#endif -+ - /*! - * An LXC container. - * -@@ -107,6 +146,38 @@ struct lxc_container { - /*! Full path to configuration file */ - char *config_path; - -+#ifdef HAVE_ISULAD -+ /*! isulad: -+ * \private -+ * exit FIFO File to open used monitor the state of lxc monitor process. -+ */ -+ char *exit_fifo; -+ /*! Whether container wishes to create pty or pipes for console log */ -+ bool disable_pty; -+ -+ /*! Whether container wishes to keep stdin active */ -+ bool open_stdin; -+ -+ /*! -+ * \private -+ * isulad: support oci hook from json file -+ * full path of json file -+ * */ -+ char *ocihookfile; -+ -+ /*! isulad: -+ * \private -+ * start_timeout. -+ */ -+ unsigned int start_timeout; -+ -+ /*! isulad: -+ * \private -+ * image_type_oci -+ */ -+ bool image_type_oci; -+#endif -+ - /*! - * \brief Determine if \c /var/lib/lxc/$name/config exists. - * -@@ -865,6 +936,115 @@ struct lxc_container { - * \return pidfd of init process of the container. - */ - int (*init_pidfd)(struct lxc_container *c); -+ -+#ifdef HAVE_ISULAD -+ /*! isulad add -+ * \brief An API call to set the path of info file -+ * -+ * \param c Container. -+ * \param info_file Value of the path of info file. -+ * -+ * \return \c true on success, else \c false. -+ */ -+ bool (*set_container_info_file) (struct lxc_container *c, const char *info_file); -+ -+ /*! isulad add -+ * \brief An API call to change the path of the console default fifos -+ * -+ * \param c Container. -+ * \param path Value of the console path. -+ * -+ * \return \c true on success, else \c false. -+ */ -+ bool (*set_terminal_init_fifos)(struct lxc_container *c, const char *in, const char *out, const char *err); -+ -+ /*! isulad add -+ * \brief An API call to add the path of terminal fifos -+ * -+ * \param c Container. -+ * \param path Value of the console path.. -+ * -+ * \return \c true on success, else \c false. -+ */ -+ bool (*add_terminal_fifos)(struct lxc_container *c, const char *in, const char *out, const char *err); -+ -+ bool (*set_terminal_winch)(struct lxc_container *c, unsigned int height, unsigned int width); -+ -+ bool (*set_exec_terminal_winch)(struct lxc_container *c, const char *suffix, unsigned int height, unsigned int width); -+ -+ /*! -+ * \brief Change whether the container wants to create pty or pipes -+ * from the console log. -+ * -+ * \param c Container. -+ * \param state Value for the disable pty bit (0 or 1). -+ * -+ * \return \c true on success, else \c false. -+ */ -+ bool (*want_disable_pty)(struct lxc_container *c, bool state); -+ -+ /*! -+ * \brief Change whether the container wants to keep stdin active -+ * for parent process of container -+ * -+ * \param c Container. -+ * \param state Value for the open_stdin bit (0 or 1). -+ * -+ * \return \c true on success, else \c false. -+ */ -+ bool (*want_open_stdin)(struct lxc_container *c, bool state); -+ -+ /*! isulad add -+ * \brief An API call to clean resources of container -+ * -+ * \param c Container. -+ * \param pid Value of container process. -+ * -+ * \return \c true on success, else \c false. -+ */ -+ bool (*clean_container_resource) (struct lxc_container *c, pid_t pid); -+ -+ /*! isulad add -+ * \brief An API call to get container pids -+ * -+ * \param c Container. -+ * \param pids Value of container pids. -+ * \param pids_len Value of container pids len. -+ * \param pid Value of container pid. -+ * \return \c true on success, else \c false. -+ */ -+ bool (*get_container_pids)(struct lxc_container *c,pid_t **pids,size_t *pids_len); -+ -+ /*! isulad add -+ * \brief An API call to set start timeout -+ * -+ * \param c Container. -+ * \param start_timeout Value of start timeout. -+ * -+ * \return \c true on success, else \c false. -+ */ -+ bool (*set_start_timeout)(struct lxc_container *c, unsigned int start_timeout); -+ -+ /*! isulad add -+ * \brief An API call to set oci type -+ * -+ * \param c Container. -+ * \param image_type_oci image oci type. -+ * -+ * \return \c true on success, else \c false. -+ */ -+ bool (*set_oci_type)(struct lxc_container *c, bool image_type_oci); -+ -+ /*! isulad add -+ * \brief An API call to set start timeout -+ * -+ * \param c Container. -+ * \param start_timeout Value of start timeout. -+ * -+ * \return \c true on success, else \c false. -+ */ -+ bool (*get_container_metrics)(struct lxc_container *c, struct lxc_container_metrics *metrics); -+#endif - }; - - /*! -@@ -998,6 +1178,20 @@ struct lxc_console_log { - */ - struct lxc_container *lxc_container_new(const char *name, const char *configpath); - -+#ifdef HAVE_ISULAD -+/*! -+ * \brief Create a new container without loading config. -+ * -+ * \param name Name to use for container. -+ * \param configpath Full path to configuration file to use. -+ * -+ * \return Newly-allocated container, or \c NULL on error. -+ * -+ * \note This function can only used for listing container. -+ */ -+struct lxc_container *lxc_container_without_config_new(const char *name, const char *configpath); -+#endif -+ - /*! - * \brief Add a reference to the specified container. - * -diff --git a/src/lxc/network.c b/src/lxc/network.c -index bca0440..56efa4b 100644 ---- a/src/lxc/network.c -+++ b/src/lxc/network.c -@@ -3441,9 +3441,17 @@ static int lxc_network_setup_in_child_namespaces_common(struct lxc_netdev *netde - - /* set the network device up */ - if (netdev->flags & IFF_UP) { -+#ifdef HAVE_ISULAD -+ if (netdev->name[0] != '\0') { -+ err = lxc_netdev_up(netdev->name); -+ if (err) -+ return log_error_errno(-1, -err, "Failed to set network device \"%s\" up", netdev->name); -+ } -+#else - err = lxc_netdev_up(netdev->name); - if (err) - return log_error_errno(-1, -err, "Failed to set network device \"%s\" up", netdev->name); -+#endif - - /* the network is up, make the loopback up too */ - err = lxc_netdev_up("lo"); -diff --git a/src/lxc/tools/lxc_ls.c b/src/lxc/tools/lxc_ls.c -index 0abcd7a..7c0b69c 100644 ---- a/src/lxc/tools/lxc_ls.c -+++ b/src/lxc/tools/lxc_ls.c -@@ -106,7 +106,11 @@ struct wrapargs { - /* - * Takes struct wrapargs as argument. - */ -+#ifdef HAVE_ISULAD -+static int ls_get_wrapper(void *wrap, int msgfd); -+#else - static int ls_get_wrapper(void *wrap); -+#endif - - /* - * To calculate swap usage we should not simply check memory.usage_in_bytes and -@@ -1005,7 +1009,11 @@ static int my_parser(struct lxc_arguments *args, int c, char *arg) - return 0; - } - -+#ifdef HAVE_ISULAD -+static int ls_get_wrapper(void *wrap, int msgfd) -+#else - static int ls_get_wrapper(void *wrap) -+#endif - { - int ret = -1; - size_t len = 0; -diff --git a/src/lxc/tools/lxc_start.c b/src/lxc/tools/lxc_start.c -index 459b867..3ef5961 100644 ---- a/src/lxc/tools/lxc_start.c -+++ b/src/lxc/tools/lxc_start.c -@@ -28,6 +28,11 @@ - #include "confile.h" - #include "log.h" - -+#ifdef HAVE_ISULAD -+#include -+#include "isulad_utils.h" -+#endif -+ - lxc_log_define(lxc_start, lxc); - - static int my_parser(struct lxc_arguments *args, int c, char *arg); -@@ -48,6 +53,16 @@ static const struct option my_longopts[] = { - {"share-ipc", required_argument, 0, OPT_SHARE_IPC}, - {"share-uts", required_argument, 0, OPT_SHARE_UTS}, - {"share-pid", required_argument, 0, OPT_SHARE_PID}, -+#ifdef HAVE_ISULAD -+ {"in-fifo", required_argument, 0, OPT_INPUT_FIFO}, -+ {"out-fifo", required_argument, 0, OPT_OUTPUT_FIFO}, -+ {"err-fifo", required_argument, 0, OPT_STDERR_FIFO}, -+ {"container-pidfile", required_argument, 0, OPT_CONTAINER_INFO}, -+ {"exit-fifo", required_argument, 0, OPT_EXIT_FIFO}, -+ {"start-timeout", required_argument, 0, OPT_START_TIMEOUT}, -+ {"disable-pty", no_argument, 0, OPT_DISABLE_PTY}, -+ {"open-stdin", no_argument, 0, OPT_OPEN_STDIN}, -+#endif - LXC_COMMON_OPTIONS - }; - -@@ -70,7 +85,20 @@ Options :\n\ - Note: --daemon implies --close-all-fds\n\ - -s, --define KEY=VAL Assign VAL to configuration variable KEY\n\ - --share-[net|ipc|uts|pid]=NAME Share a namespace with another container or pid\n\ --", -+" -+#ifdef HAVE_ISULAD -+"\ -+ --in-fifo Stdin fifo path\n\ -+ --out-fifo Stdout fifo path\n\ -+ --err-fifo Stderr fifo path\n\ -+ --container-pidfile File path for container pid\n\ -+ --exit-fifo Fifo path to save exit code\n\ -+ --start-timeout Timeout for start container\n\ -+ --disable-pty Disable pty for attach\n\ -+ --open-stdin Open stdin for attach\n\ -+" -+#endif -+, - .options = my_longopts, - .parser = my_parser, - .checker = NULL, -@@ -118,6 +146,38 @@ static int my_parser(struct lxc_arguments *args, int c, char *arg) - case OPT_SHARE_PID: - args->share_ns[LXC_NS_PID] = arg; - break; -+ -+#ifdef HAVE_ISULAD -+ case OPT_CONTAINER_INFO: -+ args->container_info = arg; -+ break; -+ case OPT_INPUT_FIFO: -+ args->terminal_fifos[0] = arg; -+ break; -+ case OPT_OUTPUT_FIFO: -+ args->terminal_fifos[1] = arg; -+ break; -+ case OPT_STDERR_FIFO: -+ args->terminal_fifos[2] = arg; -+ break; -+ case OPT_EXIT_FIFO: -+ args->exit_monitor_fifo = arg; -+ break; -+ case OPT_DISABLE_PTY: -+ args->disable_pty = 1; -+ break; -+ case OPT_OPEN_STDIN: -+ args->open_stdin = 1; -+ break; -+ case OPT_START_TIMEOUT: -+ if(!is_non_negative_num(arg)) { -+ fprintf(stderr, "Error start timeout parameter:%s.\n", arg); -+ return -1; -+ } -+ args->start_timeout = (unsigned int)atoi(arg); -+ break; -+#endif -+ - } - return 0; - } -@@ -163,6 +223,9 @@ int main(int argc, char *argv[]) - "/sbin/init", - NULL, - }; -+#ifdef HAVE_ISULAD -+ char *container_info_file = NULL; -+#endif - - lxc_list_init(&defines); - -@@ -283,6 +346,42 @@ int main(int argc, char *argv[]) - goto out; - } - -+#ifdef HAVE_ISULAD -+ /* isulad: container info file used to store pid and ppid info of container*/ -+ if (my_args.container_info != NULL) { -+ if (ensure_path(&container_info_file, my_args.container_info) < 0) { -+ ERROR("Failed to ensure container's piddile '%s'", my_args.container_info); -+ goto out; -+ } -+ if (!c->set_container_info_file(c, container_info_file)) { -+ ERROR("Failed to set container's piddile '%s'", container_info_file); -+ goto out; -+ } -+ } -+ -+ if (my_args.terminal_fifos[0] || my_args.terminal_fifos[1] || my_args.terminal_fifos[2]) { -+ c->set_terminal_init_fifos(c, my_args.terminal_fifos[0], my_args.terminal_fifos[1], my_args.terminal_fifos[2]); -+ } -+ -+ /* isulad: fifo used to monitor state of monitor process */ -+ if (my_args.exit_monitor_fifo != NULL) { -+ c->exit_fifo = safe_strdup(my_args.exit_monitor_fifo); -+ } -+ -+ if (my_args.disable_pty) { -+ c->want_disable_pty(c, true); -+ } -+ -+ if (my_args.open_stdin) { -+ c->want_open_stdin(c, true); -+ } -+ -+ /* isulad: add start timeout */ -+ if(my_args.start_timeout) { -+ c->set_start_timeout(c, my_args.start_timeout); -+ } -+#endif -+ - if (my_args.console) - if (!c->set_config_item(c, "lxc.console.path", my_args.console)) - goto out; -@@ -305,6 +404,11 @@ int main(int argc, char *argv[]) - else - err = c->start(c, 0, args) ? EXIT_SUCCESS : EXIT_FAILURE; - if (err) { -+#ifdef HAVE_ISULAD -+ if (c->lxc_conf->errmsg) -+ fprintf(stderr, "%s:%s:%s:%d starting container process caused \"%s\"", c->name, -+ __FILE__, __func__, __LINE__, c->lxc_conf->errmsg); -+#endif - ERROR("The container failed to start"); - - if (my_args.daemonize) -@@ -320,5 +424,8 @@ int main(int argc, char *argv[]) - - out: - lxc_container_put(c); -+#ifdef HAVE_ISULAD -+ free(container_info_file); -+#endif - exit(err); - } -diff --git a/src/lxc/utils.c b/src/lxc/utils.c -index 88d0f85..ab351d8 100644 ---- a/src/lxc/utils.c -+++ b/src/lxc/utils.c -@@ -27,6 +27,9 @@ - #include - #include - #include -+#ifdef HAVE_ISULAD -+#include -+#endif - - #include "config.h" - #include "log.h" -@@ -71,6 +74,9 @@ static int _recursive_rmdir(const char *dirname, dev_t pdev, - int ret; - struct dirent *direntp; - char pathname[PATH_MAX]; -+#ifdef HAVE_ISULAD -+ int saved_errno = 0; -+#endif - - dir = opendir(dirname); - if (!dir) -@@ -133,6 +139,11 @@ static int _recursive_rmdir(const char *dirname, dev_t pdev, - } else { - ret = unlink(pathname); - if (ret < 0) { -+#ifdef HAVE_ISULAD -+ if (saved_errno == 0) { -+ saved_errno = errno; -+ } -+#endif - __do_close int fd = -EBADF; - - fd = open(pathname, O_RDONLY | O_CLOEXEC | O_NONBLOCK); -@@ -158,10 +169,18 @@ static int _recursive_rmdir(const char *dirname, dev_t pdev, - } - - if (rmdir(dirname) < 0 && !btrfs_try_remove_subvol(dirname) && !hadexclude) { -+#ifdef HAVE_ISULAD -+ if (saved_errno == 0) { -+ saved_errno = errno; -+ } -+#endif - SYSERROR("Failed to delete \"%s\"", dirname); - failed = 1; - } - -+#ifdef HAVE_ISULAD -+ errno = saved_errno; -+#endif - return failed ? -1 : 0; - } - -@@ -1008,7 +1027,11 @@ static int open_if_safe(int dirfd, const char *nextpath) - * - * Return an open fd for the path, or <0 on error. - */ -+#ifdef HAVE_ISULAD -+int open_without_symlink(const char *target, const char *prefix_skip) -+#else - static int open_without_symlink(const char *target, const char *prefix_skip) -+#endif - { - int curlen = 0, dirfd, fulllen, i; - char *dup; -@@ -1079,6 +1102,65 @@ out: - return dirfd; - } - -+#ifdef HAVE_ISULAD -+static int format_mount_label(const char *data, const char *mount_label, char **mnt_opts) -+{ -+ int ret = 0; -+ -+ if (mount_label != NULL) { -+ if (data != NULL) { -+ ret = asprintf(mnt_opts, "%s,context=\"%s\"", data, mount_label); -+ } else { -+ ret = asprintf(mnt_opts, "context=\"%s\"", mount_label); -+ } -+ -+ return ret < 0 ? -1 : 0; -+ } -+ -+ *mnt_opts = data != NULL ? strdup(data) : NULL; -+ return 0; -+} -+ -+static int receive_mount_options(const char *data, const char *mount_label, -+ const char *fstype, char **mnt_opts) -+{ -+ // SELinux kernels don't support labeling of /proc or /sys -+ if (fstype != NULL && (strcmp(fstype, "proc") == 0 || strcmp(fstype, "sysfs") == 0)) { -+ return format_mount_label(data, NULL, mnt_opts); -+ } -+ -+ return format_mount_label(data, mount_label, mnt_opts); -+} -+ -+static int relabel_bind_mount_source(const char *src, const char *fstype, const char *data, const char *mount_label) -+{ -+ __do_free_string_list char **parts = NULL; -+ ssize_t parts_len; -+ ssize_t i; -+ -+ if (data == NULL) { -+ return lsm_relabel(src, mount_label, false); -+ } -+ -+ parts = lxc_string_split(data, ','); -+ if (parts == NULL) { -+ return -1; -+ } -+ -+ parts_len = lxc_array_len((void **)parts); -+ for (i = 0; i < parts_len; i++) { -+ if (strcmp(parts[i], "z") == 0) { -+ return lsm_relabel(src, mount_label, true); -+ } else if (strcmp(parts[i], "Z") == 0) { -+ return lsm_relabel(src, mount_label, false); -+ } -+ } -+ -+ return lsm_relabel(src, mount_label, false); -+} -+ -+#endif -+ - /* - * Safely mount a path into a container, ensuring that the mount target - * is under the container's @rootfs. (If @rootfs is NULL, then the container -@@ -1087,14 +1169,22 @@ out: - * CAVEAT: This function must not be used for other purposes than container - * setup before executing the container's init - */ -+#ifdef HAVE_ISULAD -+int safe_mount(const char *src, const char *dest, const char *fstype, -+ unsigned long flags, const void *data, const char *rootfs, const char *mount_label) -+#else - int safe_mount(const char *src, const char *dest, const char *fstype, - unsigned long flags, const void *data, const char *rootfs) -+#endif - { - int destfd, ret, saved_errno; - /* Only needs enough for /proc/self/fd/. */ - char srcbuf[50], destbuf[50]; - int srcfd = -1; - const char *mntsrc = src; -+#ifdef HAVE_ISULAD -+ __do_free char *mnt_opts = NULL; -+#endif - - if (!rootfs) - rootfs = ""; -@@ -1137,8 +1227,23 @@ int safe_mount(const char *src, const char *dest, const char *fstype, - return -EINVAL; - } - -+#ifdef HAVE_ISULAD -+ if (receive_mount_options(data, mount_label, fstype, &mnt_opts) != 0) { -+ ERROR("Failed to receive mount options"); -+ return -EINVAL; -+ } -+ -+ ret = mount(mntsrc, destbuf, fstype, flags, mnt_opts); -+ saved_errno = errno; -+ if (ret < 0 && fstype != NULL && strcmp(fstype, "mqueue") == 0) { -+ INFO("older kernels don't support labeling of /dev/mqueue, retry without selinux context"); -+ ret = mount(mntsrc, destbuf, fstype, flags, data); -+ saved_errno = errno; -+ } -+#else - ret = mount(mntsrc, destbuf, fstype, flags, data); - saved_errno = errno; -+#endif - if (srcfd != -1) - close(srcfd); - -@@ -1149,6 +1254,19 @@ int safe_mount(const char *src, const char *dest, const char *fstype, - return ret; - } - -+#ifdef HAVE_ISULAD -+ if (fstype != NULL && strcmp(fstype, "mqueue") == 0 && lsm_file_label_set(dest, mount_label) != 0) { -+ ERROR("Failed to set file label on %s", dest); -+ return -EINVAL; -+ } -+ -+ if (fstype != NULL && strcmp(fstype, "bind") == 0 && -+ relabel_bind_mount_source(src, fstype, (const char *)data, mount_label) != 0) { -+ ERROR("Failed to reabel %s with %s", src, mount_label); -+ return -EINVAL; -+ } -+#endif -+ - return 0; - } - -@@ -1215,7 +1333,11 @@ domount: - if (!strcmp(rootfs, "")) - ret = mount("proc", path, "proc", 0, NULL); - else -+#ifdef HAVE_ISULAD -+ ret = safe_mount("proc", path, "proc", 0, NULL, rootfs, NULL); -+#else - ret = safe_mount("proc", path, "proc", 0, NULL, rootfs); -+#endif - if (ret < 0) - return -1; - -@@ -1425,6 +1547,11 @@ static int lxc_get_unused_loop_dev(char *name_loop) - { - int loop_nr, ret; - int fd_ctl = -1, fd_tmp = -1; -+#ifdef HAVE_ISULAD -+ // isulad: retry and try mknod -+ int max_retry = 200; -+ bool try_mknod = true; -+#endif - - fd_ctl = open("/dev/loop-control", O_RDWR | O_CLOEXEC); - if (fd_ctl < 0) { -@@ -1442,8 +1569,37 @@ static int lxc_get_unused_loop_dev(char *name_loop) - if (ret < 0 || ret >= LO_NAME_SIZE) - goto on_error; - -+#ifdef HAVE_ISULAD -+retry: -+#endif - fd_tmp = open(name_loop, O_RDWR | O_CLOEXEC); - if (fd_tmp < 0) { -+#ifdef HAVE_ISULAD -+ /* Success of LOOP_CTL_GET_FREE doesn't mean /dev/loop$i is ready, -+ * we try to make node by ourself to avoid wait. */ -+ if (try_mknod) { -+ /* Do not check result of mknod because LOOP_CTL_GET_FREE -+ * alse do mknod, so this mknod may fail as node already -+ * exist. If we can open the node without error, we can -+ * say that it's be created successfully. -+ * -+ * note: 7 is the major device number of loopback devices -+ * in kernel. -+ */ -+ mknod(name_loop, S_IFBLK | 0640, makedev(7, loop_nr)); -+ try_mknod = false; -+ goto retry; -+ } -+ /* we need to wait some time to make sure it's ready for open if -+ * it can't open even if we have already try to make node by ourself. */ -+ if (max_retry > 0) { -+ max_retry--; -+ usleep(5000); /* 5 millisecond */ -+ goto retry; -+ } -+ SYSERROR("Failed to open loop \"%s\"", name_loop); -+ goto on_error; -+#else - /* on Android loop devices are moved under /dev/block, give it a shot */ - ret = snprintf(name_loop, LO_NAME_SIZE, "/dev/block/loop%d", loop_nr); - if (ret < 0 || ret >= LO_NAME_SIZE) -@@ -1452,6 +1608,7 @@ static int lxc_get_unused_loop_dev(char *name_loop) - fd_tmp = open(name_loop, O_RDWR | O_CLOEXEC); - if (fd_tmp < 0) - SYSERROR("Failed to open loop \"%s\"", name_loop); -+#endif - } - - on_error: -@@ -1661,6 +1818,7 @@ uint64_t lxc_find_next_power2(uint64_t n) - return n; - } - -+#ifndef HAVE_ISULAD - static int process_dead(/* takes */ int status_fd) - { - __do_close int dupfd = -EBADF; -@@ -1698,15 +1856,19 @@ static int process_dead(/* takes */ int status_fd) - - return ret; - } -+#endif - - int lxc_set_death_signal(int signal, pid_t parent, int parent_status_fd) - { - int ret; -+#ifndef HAVE_ISULAD - pid_t ppid; -+#endif - - ret = prctl(PR_SET_PDEATHSIG, prctl_arg(signal), prctl_arg(0), - prctl_arg(0), prctl_arg(0)); - -+#ifndef HAVE_ISULAD - /* verify that we haven't been orphaned in the meantime */ - ppid = (pid_t)syscall(SYS_getppid); - if (ppid == 0) { /* parent outside our pidns */ -@@ -1718,6 +1880,7 @@ int lxc_set_death_signal(int signal, pid_t parent, int parent_status_fd) - } else if (ppid != parent) { - return raise(SIGKILL); - } -+#endif - - if (ret < 0) - return -1; -@@ -1755,8 +1918,18 @@ int lxc_rm_rf(const char *dirname) - struct dirent *direntp; - - dir = opendir(dirname); -+#ifdef HAVE_ISULAD -+ if (!dir) { -+ if (errno == ENOENT) { -+ WARN("Destroy path: \"%s\" do not exist", dirname); -+ return 0; -+ } -+ return log_error_errno(-1, errno, "Failed to open dir \"%s\"", dirname); -+ } -+#else - if (!dir) - return log_error_errno(-1, errno, "Failed to open dir \"%s\"", dirname); -+#endif - - while ((direntp = readdir(dir))) { - __do_free char *pathname = NULL; -diff --git a/src/lxc/utils.h b/src/lxc/utils.h -index cf2c042..917a086 100644 ---- a/src/lxc/utils.h -+++ b/src/lxc/utils.h -@@ -28,6 +28,10 @@ - #include "process_utils.h" - #include "string_utils.h" - -+#ifdef HAVE_ISULAD -+#include "isulad_utils.h" -+#endif -+ - /* returns 1 on success, 0 if there were any failures */ - extern int lxc_rmdir_onedev(const char *path, const char *exclude); - extern int get_u16(unsigned short *val, const char *arg, int base); -@@ -145,9 +149,16 @@ extern bool cgns_supported(void); - extern char *choose_init(const char *rootfs); - extern bool switch_to_ns(pid_t pid, const char *ns); - extern char *get_template_path(const char *t); -+#ifdef HAVE_ISULAD -+extern int open_without_symlink(const char *target, const char *prefix_skip); -+extern int safe_mount(const char *src, const char *dest, const char *fstype, -+ unsigned long flags, const void *data, -+ const char *rootfs, const char *mount_label); -+#else - extern int safe_mount(const char *src, const char *dest, const char *fstype, - unsigned long flags, const void *data, - const char *rootfs); -+#endif - extern int lxc_mount_proc_if_needed(const char *rootfs); - extern int open_devnull(void); - extern int set_stdfds(int fd); --- -2.25.1 - diff --git a/0002-refactor-patch-code-of-isulad-for-conf-exec-attach.patch b/0002-iSulad-adapt-security-conf-attach-cgroup-and-start.patch similarity index 41% rename from 0002-refactor-patch-code-of-isulad-for-conf-exec-attach.patch rename to 0002-iSulad-adapt-security-conf-attach-cgroup-and-start.patch index 00c07a5..6e2c7c2 100644 --- a/0002-refactor-patch-code-of-isulad-for-conf-exec-attach.patch +++ b/0002-iSulad-adapt-security-conf-attach-cgroup-and-start.patch @@ -1,1301 +1,1569 @@ -From 7166cf40250f00544e204a33da668b56ed4b13ca Mon Sep 17 00:00:00 2001 +From ef27d69db952dc64fc3c476a89c3e822c891e663 Mon Sep 17 00:00:00 2001 From: haozi007 -Date: Mon, 18 Jul 2022 11:30:33 +0800 -Subject: [PATCH] refactor patch code of isulad for conf/exec/attach +Date: Mon, 17 Jul 2023 20:40:48 +0800 +Subject: [PATCH 2/2] [iSulad] adapt security conf attach cgroup and start Signed-off-by: haozi007 --- - src/lxc/attach_options.h | 41 +- - src/lxc/conf.c | 1993 ++++++++++++++++++++++++++++++++++++- - src/lxc/criu.c | 8 +- - src/lxc/execute.c | 19 + - src/lxc/file_utils.c | 27 + - src/lxc/lsm/apparmor.c | 14 + - src/lxc/tools/arguments.h | 24 + - 7 files changed, 2122 insertions(+), 4 deletions(-) + src/lxc/attach.c | 503 ++++++++++- + src/lxc/attach.h | 6 + + src/lxc/attach_options.h | 25 + + src/lxc/cgroups/cgroup.c | 5 +- + src/lxc/cgroups/cgroup.h | 7 + + src/lxc/conf.c | 1703 +++++++++++++++++++++++++++++++++++- + src/lxc/conf.h | 82 ++ + src/lxc/isulad_utils.c | 25 + + src/lxc/isulad_utils.h | 26 +- + src/lxc/lsm/apparmor.c | 14 + + src/lxc/lsm/lsm.h | 4 + + src/lxc/lsm/nop.c | 14 + + src/lxc/lsm/selinux.c | 256 ++++++ + src/lxc/lxc.h | 7 + + src/lxc/lxclock.c | 27 + + src/lxc/lxclock.h | 4 + + src/lxc/mainloop.c | 16 + + src/lxc/mainloop.h | 4 + + src/lxc/mount_utils.c | 5 + + src/lxc/seccomp.c | 32 + + src/lxc/start.h | 11 + + src/lxc/tools/arguments.h | 28 + + src/lxc/tools/lxc_attach.c | 490 ++++++++++- + src/lxc/tools/lxc_start.c | 107 ++- + 24 files changed, 3376 insertions(+), 25 deletions(-) -diff --git a/src/lxc/attach_options.h b/src/lxc/attach_options.h -index 63e62d4..16b4e21 100644 ---- a/src/lxc/attach_options.h -+++ b/src/lxc/attach_options.h -@@ -49,7 +49,11 @@ enum { - * - * \return Function should return \c 0 on success, and any other value to denote failure. - */ -+#ifdef HAVE_ISULAD -+typedef int (*lxc_attach_exec_t)(void* payload, int msg_fd); -+#else - typedef int (*lxc_attach_exec_t)(void* payload); -+#endif - - /*! - * LXC attach options for \ref lxc_container \c attach(). -@@ -113,9 +117,18 @@ typedef struct lxc_attach_options_t { - - /*! File descriptor to log output. */ - int log_fd; -+ -+#ifdef HAVE_ISULAD -+ char *init_fifo[3]; /* isulad: default fifos for the start */ -+ int64_t timeout;/* isulad: Seconds for waiting on a container to attach/exec before it is killed*/ -+ const char *suffix; -+ bool disable_pty; -+ bool open_stdin; -+#endif - } lxc_attach_options_t; - - /*! Default attach options to use */ -+#ifndef HAVE_ISULAD - #define LXC_ATTACH_OPTIONS_DEFAULT \ - { \ - /* .attach_flags = */ LXC_ATTACH_DEFAULT, \ -@@ -132,7 +145,25 @@ typedef struct lxc_attach_options_t { - /* .stderr_fd = */ 2, \ - /* .log_fd = */ -EBADF, \ - } -- -+#else -+#define LXC_ATTACH_OPTIONS_DEFAULT \ -+ { \ -+ /* .attach_flags = */ LXC_ATTACH_DEFAULT, \ -+ /* .namespaces = */ -1, \ -+ /* .personality = */ -1, \ -+ /* .initial_cwd = */ NULL, \ -+ /* .uid = */ (uid_t)-1, \ -+ /* .gid = */ (gid_t)-1, \ -+ /* .env_policy = */ LXC_ATTACH_KEEP_ENV, \ -+ /* .extra_env_vars = */ NULL, \ -+ /* .extra_keep_env = */ NULL, \ -+ /* .stdin_fd = */ 0, \ -+ /* .stdout_fd = */ 1, \ -+ /* .stderr_fd = */ 2, \ -+ /* .log_fd = */ -EBADF, \ -+ /* .init_fifo = */ {NULL, NULL, NULL}, \ -+ } -+#endif - /*! - * Representation of a command to run in a container. - */ -@@ -148,7 +179,11 @@ typedef struct lxc_attach_command_t { - * - * \return \c -1 on error, exit code of lxc_attach_command_t program on success. - */ -+#ifdef HAVE_ISULAD -+extern int lxc_attach_run_command(void* payload, int msg_fd); -+#else - extern int lxc_attach_run_command(void* payload); -+#endif - - /*! - * \brief Run a shell command in the container. -@@ -157,7 +192,11 @@ extern int lxc_attach_run_command(void* payload); - * - * \return Exit code of shell. - */ -+#ifdef HAVE_ISULAD -+extern int lxc_attach_run_shell(void* payload, int msg_fd); -+#else - extern int lxc_attach_run_shell(void* payload); -+#endif - - #ifdef __cplusplus - } -diff --git a/src/lxc/conf.c b/src/lxc/conf.c -index 0078996..378cf9f 100644 ---- a/src/lxc/conf.c -+++ b/src/lxc/conf.c -@@ -33,6 +33,14 @@ - #include - #include +diff --git a/src/lxc/attach.c b/src/lxc/attach.c +index f086e96..1a89001 100644 +--- a/src/lxc/attach.c ++++ b/src/lxc/attach.c +@@ -47,6 +47,24 @@ + #include "terminal.h" + #include "utils.h" +#ifdef HAVE_ISULAD -+#include -+#include "sync.h" -+#include "path.h" -+#include "utils.h" -+#include "loop.h" -+#endif ++#include "exec_commands.h" + - #include "af_unix.h" - #include "caps.h" - #include "cgroup.h" -@@ -118,7 +126,14 @@ char *lxchook_names[NUM_LXC_HOOKS] = { - "post-stop", - "clone", - "destroy", -+#ifdef HAVE_ISULAD -+ "start-host", -+ "oci-prestart", -+ "oci-poststart", -+ "oci-poststop" -+#else - "start-host" -+#endif - }; - - struct mount_opt { -@@ -285,6 +300,22 @@ static struct limit_opt limit_opt[] = { - #endif - }; - -+#ifdef HAVE_ISULAD -+static int rootfs_parent_mount_private(char *rootfs); -+static int setup_rootfs_ropaths(struct lxc_list *ropaths); -+static int setup_rootfs_maskedpaths(struct lxc_list *maskedpaths); -+static int remount_proc_sys_mount_entries(struct lxc_list *mount_list, bool lsm_aa_allow_nesting); -+static int check_mount_destination(const char *rootfs, const char *dest, const char *src); -+static int mount_entry_with_loop_dev(const char *src, const char *dest, const char *fstype, -+ char *mnt_opts, const char *rootfs); -+static bool need_setup_proc(const struct lxc_conf *conf, struct lxc_list *mount); -+static bool need_setup_dev(const struct lxc_conf *conf, struct lxc_list *mount); -+static int setup_populate_devs(const struct lxc_rootfs *rootfs, struct lxc_list *devs, const char *mount_label); -+static int setup_rootfs_mountopts(const struct lxc_rootfs *rootfs); -+static int create_mtab_link(); ++typedef enum { ++ ATTACH_INIT, ++ ATTACH_TIMEOUT, ++ ATTACH_MAX, ++} attach_timeout_t; + -+#endif ++static volatile attach_timeout_t g_attach_timeout_state = ATTACH_INIT; + - static int run_buffer(char *buffer) - { - __do_free char *output = NULL; -@@ -637,8 +668,13 @@ static int lxc_mount_auto_mounts(struct lxc_conf *conf, int flags, struct lxc_ha - { LXC_AUTO_PROC_MASK, LXC_AUTO_PROC_MIXED, "%r/proc/sysrq-trigger", "%r/proc/sysrq-trigger", NULL, MS_BIND, NULL }, - { LXC_AUTO_PROC_MASK, LXC_AUTO_PROC_MIXED, NULL, "%r/proc/sysrq-trigger", NULL, MS_REMOUNT|MS_BIND|MS_RDONLY, NULL }, - { LXC_AUTO_PROC_MASK, LXC_AUTO_PROC_RW, "proc", "%r/proc", "proc", MS_NODEV|MS_NOEXEC|MS_NOSUID, NULL }, -+#ifdef HAVE_ISULAD -+ { LXC_AUTO_SYS_MASK, LXC_AUTO_SYS_RW, "sysfs", "%r/sys", "sysfs", MS_NODEV|MS_NOEXEC|MS_NOSUID, NULL }, -+ { LXC_AUTO_SYS_MASK, LXC_AUTO_SYS_RO, "sysfs", "%r/sys", "sysfs", MS_RDONLY|MS_NODEV|MS_NOEXEC|MS_NOSUID, NULL }, -+#else - { LXC_AUTO_SYS_MASK, LXC_AUTO_SYS_RW, "sysfs", "%r/sys", "sysfs", 0, NULL }, - { LXC_AUTO_SYS_MASK, LXC_AUTO_SYS_RO, "sysfs", "%r/sys", "sysfs", MS_RDONLY, NULL }, -+#endif - { LXC_AUTO_SYS_MASK, LXC_AUTO_SYS_MIXED, "sysfs", "%r/sys", "sysfs", MS_NODEV|MS_NOEXEC|MS_NOSUID, NULL }, - { LXC_AUTO_SYS_MASK, LXC_AUTO_SYS_MIXED, "%r/sys", "%r/sys", NULL, MS_BIND, NULL }, - { LXC_AUTO_SYS_MASK, LXC_AUTO_SYS_MIXED, NULL, "%r/sys", NULL, MS_REMOUNT|MS_BIND|MS_RDONLY, NULL }, -@@ -670,11 +706,24 @@ static int lxc_mount_auto_mounts(struct lxc_conf *conf, int flags, struct lxc_ha - if (!destination) - return -1; - -+#ifdef HAVE_ISULAD -+ if (mkdir_p(destination, 0755) < 0) { -+ SYSERROR("Failed to create mount target '%s'", destination); -+ return log_error(-1, "Failed to mkdir destination %s", destination); -+ } ++struct attach_timeout_conf { ++ int64_t timeout; ++ unsigned long long start_time; ++ pid_t pid; ++}; +#endif + - mflags = add_required_remount_flags(source, destination, - default_mounts[i].flags); -+#ifdef HAVE_ISULAD -+ r = safe_mount(source, destination, default_mounts[i].fstype, -+ mflags, default_mounts[i].options, -+ conf->rootfs.path ? conf->rootfs.mount : NULL, NULL); -+#else - r = safe_mount(source, destination, default_mounts[i].fstype, - mflags, default_mounts[i].options, - conf->rootfs.path ? conf->rootfs.mount : NULL); -+#endif - saved_errno = errno; - if (r < 0 && errno == ENOENT) { - INFO("Mount source or target for \"%s\" on \"%s\" does not exist. Skipping", source, destination); -@@ -1047,8 +1096,13 @@ on_error: - /* Just create a path for /dev under $lxcpath/$name and in rootfs If we hit an - * error, log it but don't fail yet. - */ -+#ifdef HAVE_ISULAD -+static int mount_autodev(const char *name, const struct lxc_rootfs *rootfs, -+ int autodevtmpfssize, const char *lxcpath, char *systemd, const char *mount_label) -+#else - static int mount_autodev(const char *name, const struct lxc_rootfs *rootfs, - int autodevtmpfssize, const char *lxcpath) -+#endif - { - __do_free char *path = NULL; - int ret; -@@ -1076,6 +1130,23 @@ static int mount_autodev(const char *name, const struct lxc_rootfs *rootfs, - goto reset_umask; - } + lxc_log_define(attach, lxc); + /* Define default options if no options are supplied by the user. */ +@@ -1115,6 +1133,9 @@ struct attach_payload { + struct attach_context *ctx; + lxc_attach_exec_t exec_function; + void *exec_payload; +#ifdef HAVE_ISULAD -+ if (systemd != NULL && !strcmp(systemd, "true")) { -+ ret = mount(path, path, "", MS_BIND, NULL); -+ if (ret < 0) { -+ SYSERROR("Failed to bind mount path \"%s\"", path); -+ goto reset_umask; -+ } -+ } else { -+ ret = safe_mount("none", path, "tmpfs", 0, mount_options, -+ rootfs->path ? rootfs->mount : NULL, mount_label); -+ if (ret < 0) { -+ SYSERROR("Failed to mount tmpfs on \"%s\"", path); -+ goto reset_umask; -+ } -+ TRACE("Mounted tmpfs on \"%s\"", path); -+ } -+#else - ret = safe_mount("none", path, "tmpfs", 0, mount_options, - rootfs->path ? rootfs->mount : NULL ); - if (ret < 0) { -@@ -1083,6 +1154,7 @@ static int mount_autodev(const char *name, const struct lxc_rootfs *rootfs, - goto reset_umask; - } - TRACE("Mounted tmpfs on \"%s\"", path); ++ struct lxc_terminal *terminal; +#endif - - ret = snprintf(path, clen, "%s/dev/pts", rootfs->path ? rootfs->mount : ""); - if (ret < 0 || (size_t)ret >= clen) { -@@ -1132,8 +1204,11 @@ enum { - LXC_DEVNODE_PARTIAL, - LXC_DEVNODE_OPEN, }; -- -+#ifdef HAVE_ISULAD -+static int lxc_fill_autodev(const struct lxc_rootfs *rootfs, const char *mount_label) -+#else - static int lxc_fill_autodev(const struct lxc_rootfs *rootfs) -+#endif - { - int i, ret; - char path[PATH_MAX]; -@@ -1209,9 +1284,13 @@ static int lxc_fill_autodev(const struct lxc_rootfs *rootfs) - ret = snprintf(hostpath, PATH_MAX, "/dev/%s", device->name); - if (ret < 0 || ret >= PATH_MAX) - return -1; -- -+#ifdef HAVE_ISULAD -+ ret = safe_mount(hostpath, path, 0, MS_BIND, NULL, -+ rootfs->path ? rootfs->mount : NULL, mount_label); -+#else - ret = safe_mount(hostpath, path, 0, MS_BIND, NULL, - rootfs->path ? rootfs->mount : NULL); -+#endif - if (ret < 0) - return log_error_errno(-1, errno, "Failed to bind mount host device node \"%s\" onto \"%s\"", - hostpath, path); -@@ -1227,12 +1306,29 @@ static int lxc_mount_rootfs(struct lxc_conf *conf) - { - int ret; - struct lxc_storage *bdev; -+#ifdef HAVE_ISULAD -+ struct lxc_rootfs *rootfs = &conf->rootfs; -+#else - const struct lxc_rootfs *rootfs = &conf->rootfs; -+#endif -+ -+#ifdef HAVE_ISULAD -+ unsigned long flags, mntflags, pflags; -+ char *mntdata = NULL; -+#endif - - if (!rootfs->path) { - ret = mount("", "/", NULL, MS_SLAVE | MS_REC, 0); - if (ret < 0) - return log_error_errno(-1, errno, "Failed to recursively turn root mount tree into dependent mount"); -+#ifdef HAVE_ISULAD -+ if (!access(rootfs->mount, F_OK)) { -+ rootfs->path = safe_strdup("/"); -+ if (mount("/", rootfs->mount, NULL, MS_BIND, 0)) { -+ return log_error_errno(-1, errno, "Failed to mount \"/\" to %s", rootfs->mount); -+ } -+ } -+#endif - return 0; + static void put_attach_payload(struct attach_payload *p) +@@ -1127,6 +1148,48 @@ static void put_attach_payload(struct attach_payload *p) } -@@ -1242,6 +1338,48 @@ static int lxc_mount_rootfs(struct lxc_conf *conf) - return log_error_errno(-1, errno, "Failed to access to \"%s\". Check it is present", - rootfs->mount); + } +#ifdef HAVE_ISULAD -+ // Support mount propagations of rootfs -+ // Get rootfs mnt propagation options, such as slave or shared -+ if (parse_mntopts(conf->rootfs.options, &mntflags, &pflags, &mntdata) < 0) { -+ free(mntdata); -+ return -1; ++static int isulad_set_attach_pipes(struct lxc_terminal *terminal) ++{ ++ int ret = 0; ++ if (terminal->pipes[0][1] >= 0) { ++ close(terminal->pipes[0][1]); ++ terminal->pipes[0][1] = -1; + } -+ free(mntdata); + -+ flags = MS_SLAVE | MS_REC; -+ if (pflags) -+ flags = pflags; ++ if (terminal->pipes[0][0] >= 0) { ++ ret = dup2(terminal->pipes[0][0], STDIN_FILENO); ++ if (ret < 0) ++ goto out; ++ } + -+ /* Mount propagation inside container can not greater than host. -+ * So we must change propagation of root according to flags, default is rslave. -+ * That means shared propagation inside container is disabled by default. -+ */ -+ ret = mount("", "/", NULL, flags, NULL); -+ if (ret < 0) { -+ return log_error_errno(-1, errno, "Failed to make / to propagation flags %lu.", flags); ++ if (terminal->pipes[1][0] >= 0) { ++ close(terminal->pipes[1][0]); ++ terminal->pipes[1][0] = -1; + } + -+ /* Make parent mount private to make sure following bind mount does -+ * not propagate in other namespaces. Also it will help with kernel -+ * check pass in pivot_root. (IS_SHARED(new_mnt->mnt_parent)) -+ */ -+ ret = rootfs_parent_mount_private(conf->rootfs.path); -+ if (ret != 0) { -+ return log_error(-1, "Failed to make parent of rootfs %s to private.", conf->rootfs.path); ++ if (terminal->pipes[1][1] >= 0) { ++ ret = dup2(terminal->pipes[1][1], STDOUT_FILENO); ++ if (ret < 0) ++ goto out; + } -+ ret = rootfs_parent_mount_private(conf->rootfs.mount); -+ if (ret != 0) { -+ return log_error(-1, "Failed to make parent of rootfs %s to private.", conf->rootfs.mount); ++ if (terminal->pipes[2][0] >= 0) { ++ close(terminal->pipes[2][0]); ++ terminal->pipes[2][0] = -1; + } + -+ ret = mount(conf->rootfs.mount, conf->rootfs.mount, "bind", MS_BIND | MS_REC, NULL); -+ if (ret < 0) { -+ SYSERROR("Failed to mount rootfs %s", conf->rootfs.mount); -+ return -1; ++ if (terminal->pipes[2][1] >= 0) { ++ ret = dup2(terminal->pipes[2][1], STDERR_FILENO); ++ if (ret < 0) ++ goto out; + } ++ ++ setsid(); ++out: ++ return ret; ++} +#endif + - bdev = storage_init(conf); - if (!bdev) - return log_error(-1, "Failed to mount rootfs \"%s\" onto \"%s\" with options \"%s\"", -@@ -1475,17 +1613,34 @@ static int lxc_setup_devpts(struct lxc_conf *conf) + __noreturn static void do_attach(struct attach_payload *ap) { - int ret; - char **opts; + lxc_attach_exec_t attach_function = move_ptr(ap->exec_function); +@@ -1135,6 +1198,31 @@ __noreturn static void do_attach(struct attach_payload *ap) + lxc_attach_options_t* options = ap->options; + struct attach_context *ctx = ap->ctx; + struct lxc_conf *conf = ctx->container->lxc_conf; +#ifdef HAVE_ISULAD -+ __do_free char *devpts_mntopts = NULL; -+#else - char devpts_mntopts[256]; ++ int msg_fd = -1; ++ sigset_t mask; ++ ++ /*isulad: record errpipe fd*/ ++ msg_fd = init_ctx->container->lxc_conf->errpipe[1]; ++ init_ctx->container->lxc_conf->errpipe[1] = -1; ++ /*isulad: set system umask */ ++ umask(init_ctx->container->lxc_conf->umask); ++ ++ /*isulad: restore default signal handlers and unblock all signals*/ ++ for (int i = 1; i < NSIG; i++) ++ signal(i, SIG_DFL); ++ ++ ret = sigfillset(&mask); ++ if (ret < 0) { ++ SYSERROR("Failed to fill signal mask"); ++ goto on_error;; ++ } ++ ret = sigprocmask(SIG_UNBLOCK, &mask, NULL); ++ if (ret < 0) { ++ SYSERROR("Failed to set signal mask"); ++ goto on_error; ++ } +#endif - char *mntopt_sets[5]; - char default_devpts_mntopts[256] = "gid=5,newinstance,ptmxmode=0666,mode=0620"; - if (conf->pty_max <= 0) - return log_debug(0, "No new devpts instance will be mounted since no pts devices are requested"); + /* + * We currently artificially restrict core scheduling to be a pid +@@ -1209,6 +1297,27 @@ __noreturn static void do_attach(struct attach_payload *ap) + TRACE("Dropped capabilities"); + } +#ifdef HAVE_ISULAD -+ if (conf->lsm_se_mount_context != NULL) { -+ if (asprintf(&devpts_mntopts, "%s,max=%zu,context=\"%s\"", -+ default_devpts_mntopts, conf->pty_max, conf->lsm_se_mount_context) < 0) { -+ return -1; ++ /* isulad: set workdir */ ++ if (options->initial_cwd || conf->init_cwd) { ++ char *init_cwd; ++ init_cwd = options->initial_cwd ? options->initial_cwd : conf->init_cwd; ++ /* try to create workdir if not exist */ ++ struct stat st; ++ if (stat(init_cwd, &st) < 0 && mkdir_p(init_cwd, 0750) < 0) { ++ SYSERROR("Try to create directory \"%s\" as workdir failed when attach", init_cwd); ++ lxc_write_error_message(msg_fd, "Try to create directory \"%s\" as workdir failed when attach: %s", ++ init_cwd, strerror(errno)); ++ goto on_error; + } -+ } else { -+ if (asprintf(&devpts_mntopts, "%s,max=%zu", default_devpts_mntopts, conf->pty_max) < 0) { -+ return -1; ++ if (chdir(init_cwd)) { ++ SYSERROR("Could not change directory to \"%s\" when attach", init_cwd); ++ lxc_write_error_message(msg_fd, "Could not change directory to \"%s\" when attach: %s", ++ init_cwd, strerror(errno)); ++ goto on_error; + } + } -+#else - ret = snprintf(devpts_mntopts, sizeof(devpts_mntopts), "%s,max=%zu", - default_devpts_mntopts, conf->pty_max); - if (ret < 0 || (size_t)ret >= sizeof(devpts_mntopts)) - return -1; +#endif + /* Always set the environment (specify (LXC_ATTACH_KEEP_ENV, NULL, NULL) + * if you want this to be a no-op). + */ +@@ -1248,6 +1357,7 @@ __noreturn static void do_attach(struct attach_payload *ap) + goto on_error; + } - (void)umount2("/dev/pts", MNT_DETACH); ++#ifndef HAVE_ISULAD + if ((options->attach_flags & LXC_ATTACH_SETGROUPS) && + options->groups.size > 0) { + if (!lxc_setgroups(options->groups.list, options->groups.size)) +@@ -1256,6 +1366,7 @@ __noreturn static void do_attach(struct attach_payload *ap) + if (!lxc_drop_groups() && errno != EPERM) + goto on_error; + } ++#endif -@@ -1580,9 +1735,14 @@ static inline bool wants_console(const struct lxc_terminal *terminal) - return !terminal->path || strcmp(terminal->path, "none"); - } + if (options->namespaces & CLONE_NEWUSER) + if (!lxc_switch_uid_gid(ctx->setup_ns_uid, ctx->setup_ns_gid)) +@@ -1274,6 +1385,13 @@ __noreturn static void do_attach(struct attach_payload *ap) + TRACE("Set %s LSM label to \"%s\"", ctx->lsm_ops->name, ctx->lsm_label); + } +#ifdef HAVE_ISULAD -+static int lxc_setup_dev_console(const struct lxc_rootfs *rootfs, -+ const struct lxc_terminal *console, const char *mount_label) -+#else - static int lxc_setup_dev_console(const struct lxc_rootfs *rootfs, - const struct lxc_terminal *console, - int pts_mnt_fd) ++ // isulad: set env home in container ++ if (lxc_setup_env_home(ctx->setup_ns_uid != LXC_INVALID_UID ? ctx->setup_ns_uid : 0) < 0) { ++ goto on_error; ++ } +#endif - { - int ret; - char path[PATH_MAX]; -@@ -1615,10 +1775,14 @@ static int lxc_setup_dev_console(const struct lxc_rootfs *rootfs, - if (ret < 0 && errno != EEXIST) - return log_error_errno(-errno, errno, "Failed to create console"); ++ + if (conf->no_new_privs || (options->attach_flags & LXC_ATTACH_NO_NEW_PRIVS)) { + ret = prctl(PR_SET_NO_NEW_PRIVS, prctl_arg(1), prctl_arg(0), + prctl_arg(0), prctl_arg(0)); +@@ -1327,7 +1445,21 @@ __noreturn static void do_attach(struct attach_payload *ap) + } + if (options->attach_flags & LXC_ATTACH_TERMINAL) { +#ifdef HAVE_ISULAD -+ if (console->pts > 0) { ++ /* isulad: dup2 pipe[0][0] to container stdin, pipe[1][1] to container stdout, pipe[2][1] to container stderr */ ++ if (ap->terminal->disable_pty) { ++ ret = isulad_set_attach_pipes(ap->terminal); ++ if (ret < 0) { ++ SYSERROR("Failed to prepare terminal file pipes"); ++ goto on_error; ++ } ++ } else { ++#else + ret = lxc_terminal_prepare_login(ap->terminal_pts_fd); +#endif - ret = fchmod(console->pts, S_IXUSR | S_IXGRP); - if (ret < 0) - return log_error_errno(-errno, errno, "Failed to set mode \"0%o\" to \"%s\"", S_IXUSR | S_IXGRP, console->name); - -+#ifndef HAVE_ISULAD - if (pts_mnt_fd >= 0) { - ret = move_mount(pts_mnt_fd, "", -EBADF, path, MOVE_MOUNT_F_EMPTY_PATH); - if (!ret) { -@@ -1633,17 +1797,35 @@ static int lxc_setup_dev_console(const struct lxc_rootfs *rootfs, - } ++#ifdef HAVE_ISULAD ++ } ++#endif + if (ret < 0) { + SYSERROR("Failed to prepare terminal file descriptor %d", ap->terminal_pts_fd); + goto on_error; +@@ -1343,6 +1475,20 @@ __noreturn static void do_attach(struct attach_payload *ap) + if (ctx->setup_ns_gid == ctx->target_ns_gid) + ctx->target_ns_gid = LXC_INVALID_GID; - ret = safe_mount(console->name, path, "none", MS_BIND, 0, rootfs_path); -+ - if (ret < 0) - return log_error_errno(-1, errno, "Failed to mount %d(%s) on \"%s\"", pts_mnt_fd, console->name, path); ++#ifdef HAVE_ISULAD ++ if (prctl(PR_SET_KEEPCAPS, 1) < 0) { ++ SYSERROR("Failed to keep permitted capabilities"); ++ goto on_error; ++ } ++ if ((options->attach_flags & LXC_ATTACH_SETGROUPS) && ++ options->groups.size > 0) { ++ if (!lxc_setgroups(options->groups.list, options->groups.size)) ++ goto on_error; ++ } else { ++ if (!lxc_drop_groups() && errno != EPERM) ++ goto on_error; ++ } ++#endif + /* + * Make sure that the processes STDIO is correctly owned by the user + * that we are switching to. +@@ -1367,6 +1513,18 @@ __noreturn static void do_attach(struct attach_payload *ap) + if (!lxc_switch_uid_gid(ctx->target_ns_uid, ctx->target_ns_gid)) + goto on_error; - finish: - DEBUG("Mounted pts device %d(%s) onto \"%s\"", pts_mnt_fd, console->name, path); -+#else -+ // add mount lable for console -+ ret = safe_mount(console->name, path, "bind", MS_BIND, 0, rootfs_path, mount_label); -+ -+ if (ret < 0) -+ return log_error_errno(-1, errno, "Failed to mount \"%s\" on \"%s\"", console->name, path); ++#ifdef HAVE_ISULAD ++ if (prctl(PR_SET_KEEPCAPS, 0) < 0) { ++ SYSERROR("Failed to clear permitted capabilities"); ++ goto on_error; ++ } + ++ if (lxc_drop_caps(conf) != 0) { ++ ERROR("Failed to drop caps."); ++ goto on_error; + } -+ DEBUG("Mounted pts device \"%s\" onto \"%s\"", console->name, path); +#endif + - return 0; + put_attach_payload(ap); + + /* We're done, so we can now do whatever the user intended us to do. */ +@@ -1378,13 +1536,37 @@ on_error: + _exit(EXIT_FAILURE); } +#ifdef HAVE_ISULAD -+static int lxc_setup_ttydir_console(const struct lxc_rootfs *rootfs, -+ const struct lxc_terminal *console, -+ char *ttydir, const char *mount_label) ++static int lxc_attach_terminal(const char *name, const char *lxcpath, struct lxc_conf *conf, ++ struct lxc_terminal *terminal, lxc_attach_options_t *options) +#else - static int lxc_setup_ttydir_console(const struct lxc_rootfs *rootfs, - const struct lxc_terminal *console, - char *ttydir, int pts_mnt_fd) + static int lxc_attach_terminal(const char *name, const char *lxcpath, struct lxc_conf *conf, + struct lxc_terminal *terminal) +#endif { int ret; - char path[PATH_MAX], lxcpath[PATH_MAX]; -@@ -1686,11 +1868,15 @@ static int lxc_setup_ttydir_console(const struct lxc_rootfs *rootfs, - if (ret < 0 && errno != EEXIST) - return log_error_errno(-errno, errno, "Failed to create console"); + + lxc_terminal_init(terminal); +#ifdef HAVE_ISULAD -+ if (console->pts > 0) { -+#endif - ret = fchmod(console->pts, S_IXUSR | S_IXGRP); - if (ret < 0) - return log_error_errno(-errno, errno, "Failed to set mode \"0%o\" to \"%s\"", S_IXUSR | S_IXGRP, console->name); - - /* bind mount console->name to '/dev//console' */ -+#ifndef HAVE_ISULAD - if (pts_mnt_fd >= 0) { - ret = move_mount(pts_mnt_fd, "", -EBADF, lxcpath, MOVE_MOUNT_F_EMPTY_PATH); - if (!ret) { -@@ -1707,11 +1893,23 @@ static int lxc_setup_ttydir_console(const struct lxc_rootfs *rootfs, - ret = safe_mount(console->name, lxcpath, "none", MS_BIND, 0, rootfs_path); - if (ret < 0) - return log_error_errno(-1, errno, "Failed to mount %d(%s) on \"%s\"", pts_mnt_fd, console->name, lxcpath); -+#else -+ ret = safe_mount(console->name, lxcpath, "none", MS_BIND, 0, rootfs_path, mount_label); -+ if (ret < 0) -+ return log_error_errno(-1, errno, "Failed to mount \"%s\" on \"%s\"", console->name, lxcpath); -+#endif - DEBUG("Mounted \"%s\" onto \"%s\"", console->name, lxcpath); -+#ifdef HAVE_ISULAD ++ /* isulad: if we pass fifo in option, use them as init fifos */ ++ if (options->init_fifo[0]) { ++ free(terminal->init_fifo[0]); ++ terminal->init_fifo[0] = safe_strdup(options->init_fifo[0]); + } ++ if (options->init_fifo[1]) { ++ free(terminal->init_fifo[1]); ++ terminal->init_fifo[1] = safe_strdup(options->init_fifo[1]); ++ } ++ if (options->init_fifo[2]) { ++ free(terminal->init_fifo[2]); ++ terminal->init_fifo[2] = safe_strdup(options->init_fifo[2]); ++ } ++ ++ terminal->disable_pty = options->disable_pty; ++ terminal->open_stdin = options->open_stdin; +#endif - -+#ifndef HAVE_ISULAD - finish: - /* bind mount '/dev//console' to '/dev/console' */ - ret = safe_mount(lxcpath, path, "none", MS_BIND, 0, rootfs_path); -+#else -+ ret = safe_mount(lxcpath, path, "none", MS_BIND, 0, rootfs_path, mount_label); -+#endif ++ + ret = lxc_terminal_create(name, lxcpath, conf, terminal); if (ret < 0) - return log_error_errno(-1, errno, "Failed to mount \"%s\" on \"%s\"", console->name, lxcpath); - DEBUG("Mounted \"%s\" onto \"%s\"", console->name, lxcpath); -@@ -1720,6 +1918,7 @@ finish: - return 0; - } - -+#ifndef HAVE_ISULAD - static int lxc_setup_console(const struct lxc_rootfs *rootfs, - const struct lxc_terminal *console, char *ttydir, - int pts_mnt_fd) -@@ -1730,7 +1929,18 @@ static int lxc_setup_console(const struct lxc_rootfs *rootfs, - - return lxc_setup_ttydir_console(rootfs, console, ttydir, pts_mnt_fd); + return syserror("Failed to create terminal"); +@@ -1430,9 +1612,128 @@ static inline void lxc_attach_terminal_close_log(struct lxc_terminal *terminal) + close_prot_errno_disarm(terminal->log_fd); } -+#else -+static int lxc_setup_console(const struct lxc_rootfs *rootfs, -+ const struct lxc_terminal *console, char *ttydir, const char *mount_label) -+{ -+ if (!ttydir) -+ return lxc_setup_dev_console(rootfs, console, mount_label); -+ return lxc_setup_ttydir_console(rootfs, console, ttydir, mount_label); -+} -+#endif -+ -+#ifndef HAVE_ISULAD - static int parse_mntopt(char *opt, unsigned long *flags, char **data, size_t size) - { - ssize_t ret; -@@ -1798,6 +2008,77 @@ int parse_mntopts(const char *mntopts, unsigned long *mntflags, char **mntdata) - - return 0; - } -+#else -+static void parse_mntopt(char *opt, unsigned long *mflags, unsigned long *pflags, char **data, size_t size) ++#ifdef HAVE_ISULAD ++/* isulad: attach timeout thread function */ ++static void* wait_attach_timeout(void *arg) +{ -+ struct mount_opt *mo; ++ struct attach_timeout_conf *conf = (struct attach_timeout_conf *)arg; + -+ /* If opt is found in mount_opt, set or clear flags. -+ * Otherwise append it to data. */ -+ -+ for (mo = &mount_opt[0]; mo->name != NULL; mo++) { -+ if (strncmp(opt, mo->name, strlen(mo->name)) == 0) { -+ if (mo->clear) -+ *mflags &= ~mo->flag; -+ else -+ *mflags |= mo->flag; -+ return; ++ if (!conf || conf->timeout < 1) ++ goto out; ++ sleep(conf->timeout); ++ if (lxc_process_alive(conf->pid, conf->start_time)) { ++ g_attach_timeout_state = ATTACH_TIMEOUT; ++ if (kill(conf->pid, SIGKILL) < 0) { ++ ERROR("Failed to send signal %d to pid %d", SIGKILL, conf->pid); + } + } + -+ /* If opt is found in propagation_opt, set or clear flags. */ -+ for (mo = &propagation_opt[0]; mo->name != NULL; mo++) { -+ if (strncmp(opt, mo->name, strlen(mo->name)) != 0) -+ continue; ++out: ++ free(conf); ++ return ((void *)0); ++} + -+ if (mo->clear) -+ *pflags &= ~mo->flag; -+ else -+ *pflags |= mo->flag; ++/* isulad: create attach timeout thread */ ++static int create_attach_timeout_thread(int64_t attach_timeout, pid_t pid) ++{ ++ int ret = 0; ++ pthread_t ptid; ++ pthread_attr_t attr; ++ struct attach_timeout_conf *timeout_conf = NULL; + -+ return; ++ timeout_conf = malloc(sizeof(struct attach_timeout_conf)); ++ if (timeout_conf == NULL) { ++ ERROR("Failed to malloc attach timeout conf"); ++ ret = -1; ++ goto out; + } + -+ if (strlen(*data)) -+ (void)strlcat(*data, ",", size); ++ memset(timeout_conf, 0, sizeof(struct attach_timeout_conf)); ++ timeout_conf->timeout = attach_timeout; ++ timeout_conf->pid = pid; ++ timeout_conf->start_time = lxc_get_process_startat(pid); ++ ++ pthread_attr_init(&attr); ++ pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); ++ ret = pthread_create(&ptid, &attr, wait_attach_timeout, timeout_conf); ++ pthread_attr_destroy(&attr); ++ if (ret != 0) { ++ ERROR("Create attach wait timeout thread failed"); ++ free(timeout_conf); ++ goto out; ++ } + -+ (void)strlcat(*data, opt, size); ++out: ++ return ret; +} + -+int parse_mntopts(const char *mntopts, unsigned long *mntflags, unsigned long *pflags, char **mntdata) ++static int attach_signal_handler(int fd, uint32_t events, void *data, ++ struct lxc_epoll_descr *descr) +{ -+ char *data, *p, *s; -+ size_t size; ++ int ret; ++ siginfo_t info; ++ struct signalfd_siginfo siginfo; ++ pid_t *pid = data; ++ ++ ret = lxc_read_nointr(fd, &siginfo, sizeof(siginfo)); ++ if (ret < 0) ++ return log_error(LXC_MAINLOOP_ERROR, "Failed to read signal info from signal file descriptor %d", fd); + -+ *mntdata = NULL; -+ *mntflags = 0L; -+ *pflags = 0L; ++ if (ret != sizeof(siginfo)) ++ return log_error(LXC_MAINLOOP_ERROR, "Unexpected size for struct signalfd_siginfo"); + -+ if (!mntopts) -+ return 0; ++ /* Check whether init is running. */ ++ info.si_pid = 0; ++ ret = waitid(P_PID, *pid, &info, WEXITED | WNOWAIT | WNOHANG); ++ if (ret == 0 && info.si_pid == *pid) { ++ return log_warn(LXC_MAINLOOP_CLOSE, "Container attach init process %d exited", *pid); ++ } + -+ s = safe_strdup(mntopts); ++ return LXC_MAINLOOP_CONTINUE; ++} + -+ size = strlen(s) + 1; -+ data = malloc(size); -+ if (!data) { -+ free(s); -+ return -1; ++static int isulad_setup_signal_fd(sigset_t *oldmask) ++{ ++ int ret; ++ sigset_t mask; ++ const int signals[] = {SIGBUS, SIGILL, SIGSEGV, SIGWINCH, SIGTERM}; ++ ++ /* Block everything except serious error signals. */ ++ ret = sigfillset(&mask); ++ if (ret < 0) ++ return -EBADF; ++ ++ for (int sig = 0; sig < (sizeof(signals) / sizeof(signals[0])); sig++) { ++ ret = sigdelset(&mask, signals[sig]); ++ if (ret < 0) ++ return -EBADF; + } -+ *data = 0; + -+ lxc_iterate_parts(p, s, ",") -+ parse_mntopt(p, mntflags, pflags, &data, size); ++ ret = pthread_sigmask(SIG_BLOCK, &mask, oldmask); ++ if (ret < 0) ++ return log_error_errno(-EBADF, errno, ++ "Failed to set signal mask"); + -+ if (*data) -+ *mntdata = data; -+ else -+ free(data); -+ free(s); ++ ret = signalfd(-1, &mask, SFD_CLOEXEC); ++ if (ret < 0) ++ return log_error_errno(-EBADF, ++ errno, "Failed to create signal file descriptor"); + -+ return 0; ++ TRACE("Created signal file descriptor %d", ret); ++ ++ return ret; +} +#endif - - static void parse_propagationopt(char *opt, unsigned long *flags) - { -@@ -1862,10 +2143,17 @@ static char *get_field(char *src, int nfields) - return p; - } - ++ +#ifdef HAVE_ISULAD -+static int mount_entry(const char *fsname, const char *target, -+ const char *fstype, unsigned long mountflags, -+ unsigned long pflags, const char *data, bool optional, -+ bool dev, bool relative, const char *rootfs, const char *mount_label) ++int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, ++ void *exec_payload, lxc_attach_options_t *options, ++ pid_t *attached_process, char **err_msg) +#else - static int mount_entry(const char *fsname, const char *target, - const char *fstype, unsigned long mountflags, - unsigned long pflags, const char *data, bool optional, - bool dev, bool relative, const char *rootfs) + int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, + void *exec_payload, lxc_attach_options_t *options, + pid_t *attached_process) +#endif { - int ret; - char srcbuf[PATH_MAX]; -@@ -1881,8 +2169,13 @@ static int mount_entry(const char *fsname, const char *target, - srcpath = srcbuf; + int ret_parent = -1; + struct lxc_async_descr descr = {}; +@@ -1443,6 +1744,17 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, + struct attach_context *ctx; + struct lxc_terminal terminal; + struct lxc_conf *conf; ++#ifdef HAVE_ISULAD ++ struct lxc_exec_command_handler exec_command; ++ const char *suffix = options->suffix; ++ ++ exec_command.maincmd_fd = -1; ++ exec_command.terminal = &terminal; ++ ++ int isulad_sigfd; ++ sigset_t isulad_oldmask; ++ struct lxc_epoll_descr isulad_descr = {0}; ++#endif + + if (!container) + return ret_errno(EINVAL); +@@ -1472,6 +1784,14 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, + + conf = ctx->container->lxc_conf; + ++#ifdef HAVE_ISULAD ++ // always switch uid and gid for attach ++ if (options->uid == -1) ++ options->uid = conf->init_uid; ++ if (options->gid == -1) ++ options->gid = conf->init_gid; ++#endif ++ + if (!fetch_seccomp(ctx->container, options)) + WARN("Failed to get seccomp policy"); + +@@ -1485,13 +1805,23 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, } + if (options->attach_flags & LXC_ATTACH_TERMINAL) { +#ifdef HAVE_ISULAD -+ ret = safe_mount(srcpath, target, fstype, mountflags & ~MS_REMOUNT, data, -+ rootfs, mount_label); ++ ret = lxc_attach_terminal(name, lxcpath, conf, &terminal, options); +#else - ret = safe_mount(srcpath, target, fstype, mountflags & ~MS_REMOUNT, data, - rootfs); + ret = lxc_attach_terminal(name, lxcpath, conf, &terminal); ++#endif + if (ret < 0) { + put_attach_context(ctx); + return syserror("Failed to setup new terminal"); + } + + terminal.log_fd = options->log_fd; ++#ifdef HAVE_ISULAD ++ if (suffix != NULL) { ++ exec_command.maincmd_fd = lxc_exec_cmd_init(name, lxcpath, suffix); ++ exec_command.terminal = &terminal; ++ } +#endif + } else { + lxc_terminal_init(&terminal); + } +@@ -1531,10 +1861,38 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, + */ + ret = socketpair(PF_LOCAL, SOCK_STREAM | SOCK_CLOEXEC, 0, ipc_sockets); if (ret < 0) { - if (optional) - return log_info_errno(0, errno, "Failed to mount \"%s\" on \"%s\" (optional)", -@@ -2010,8 +2303,15 @@ static int mount_entry_create_dir_file(const struct mntent *mntent, ++#ifdef HAVE_ISULAD ++ if (options->attach_flags & LXC_ATTACH_TERMINAL) { ++ lxc_terminal_delete(&terminal); ++ lxc_terminal_conf_free(&terminal); ++ if (exec_command.maincmd_fd != -1) { ++ close(exec_command.maincmd_fd); ++ } ++ lxc_exec_unix_sock_delete(name, suffix); ++ } ++#endif + put_attach_context(ctx); + return syserror("Could not set up required IPC mechanism for attaching"); + } - if (hasmntopt(mntent, "create=dir")) { - ret = mkdir_p(path, 0755); +#ifdef HAVE_ISULAD -+ if (ret < 0 && errno != EEXIST) { -+ lxc_write_error_message(rootfs->errfd, "%s:%d: mkdir %s: %s.", __FILE__, __LINE__, path, strerror(errno)); -+ return log_error_errno(-1, errno, "Failed to create directory \"%s\"", path); ++ /* isulad: pipdfd for get error message of child or grandchild process. */ ++ if (pipe2(conf->errpipe, O_CLOEXEC) != 0) { ++ SYSERROR("Failed to init errpipe"); ++ if (options->attach_flags & LXC_ATTACH_TERMINAL) { ++ lxc_terminal_delete(&terminal); ++ lxc_terminal_conf_free(&terminal); ++ if (exec_command.maincmd_fd != -1) { ++ close(exec_command.maincmd_fd); ++ } ++ lxc_exec_unix_sock_delete(name, suffix); + } -+#else - if (ret < 0 && errno != EEXIST) - return log_error_errno(-1, errno, "Failed to create directory \"%s\"", path); ++ close(ipc_sockets[0]); ++ close(ipc_sockets[1]); ++ put_attach_context(ctx); ++ return -1; ++ } ++#endif + /* Create transient process, two reasons: + * 1. We can't setns() in the child itself, since we want to make + * sure we are properly attached to the pidns. +@@ -1544,6 +1902,18 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, + */ + pid = fork(); + if (pid < 0) { ++#ifdef HAVE_ISULAD ++ if (options->attach_flags & LXC_ATTACH_TERMINAL) { ++ lxc_terminal_delete(&terminal); ++ lxc_terminal_conf_free(&terminal); ++ if (exec_command.maincmd_fd != -1) { ++ close(exec_command.maincmd_fd); ++ } ++ lxc_exec_unix_sock_delete(name, suffix); ++ } ++ close(ipc_sockets[0]); ++ close(ipc_sockets[1]); +#endif + put_attach_context(ctx); + return syserror("Failed to create first subprocess"); } +@@ -1551,6 +1921,11 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, + if (pid == 0) { + char *cwd, *new_cwd; - if (!hasmntopt(mntent, "create=file")) -@@ -2028,29 +2328,56 @@ static int mount_entry_create_dir_file(const struct mntent *mntent, - p2 = dirname(p1); ++#ifdef HAVE_ISULAD ++ /* isulad: close errpipe */ ++ close_prot_errno_disarm(conf->errpipe[0]); ++ conf->errpipe[0] = -1; ++#endif + /* close unneeded file descriptors */ + close_prot_errno_disarm(ipc_sockets[0]); - ret = mkdir_p(p2, 0755); +@@ -1558,6 +1933,11 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, + lxc_attach_terminal_close_ptx(&terminal); + lxc_attach_terminal_close_peer(&terminal); + lxc_attach_terminal_close_log(&terminal); +#ifdef HAVE_ISULAD -+ if (ret < 0 && errno != EEXIST) { -+ lxc_write_error_message(rootfs->errfd, "%s:%d: mkdir %s: %s.", __FILE__, __LINE__, path, strerror(errno)); -+ return log_error_errno(-1, errno, "Failed to create directory \"%s\"", path); -+ } -+#else - if (ret < 0 && errno != EEXIST) - return log_error_errno(-1, errno, "Failed to create directory \"%s\"", path); ++ if (exec_command.maincmd_fd != -1) { ++ close_prot_errno_disarm(exec_command.maincmd_fd); ++ } +#endif + } - ret = mknod(path, S_IFREG | 0000, 0); + /* Wait for the parent to have setup cgroups. */ +@@ -1622,9 +2002,15 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, + .terminal_pts_fd = terminal.pty, + .exec_function = exec_function, + .exec_payload = exec_payload, +#ifdef HAVE_ISULAD -+ if (ret < 0 && errno != EEXIST) { -+ lxc_write_error_message(rootfs->errfd, "%s:%d: open %s: %s.", __FILE__, __LINE__, path, strerror(errno)); -+ return -errno; -+ } ++ .terminal = &terminal, ++#endif + }; +- ++#ifdef HAVE_ISULAD ++ if (options->attach_flags & LXC_ATTACH_TERMINAL && terminal.tty_state) { +#else - if (ret < 0 && errno != EEXIST) - return -errno; + if (options->attach_flags & LXC_ATTACH_TERMINAL) { +#endif + ret = lxc_terminal_signal_sigmask_safe_blocked(&terminal); + if (ret < 0) { + SYSERROR("Failed to reset signal mask"); +@@ -1663,6 +2049,26 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, - return 0; - } + /* close unneeded file descriptors */ + close_prot_errno_disarm(ipc_sockets[1]); ++#ifdef HAVE_ISULAD ++ /* isulad: close errpipe */ ++ close_prot_errno_disarm(conf->errpipe[1]); ++ conf->errpipe[1] = -1; ++ /* isulad: close pipe after clone */ ++ if (terminal.pipes[0][0] >= 0) { ++ close_prot_errno_disarm(terminal.pipes[0][0]); ++ terminal.pipes[0][0] = -1; ++ } ++ ++ if (terminal.pipes[1][1] >= 0) { ++ close_prot_errno_disarm(terminal.pipes[1][1]); ++ terminal.pipes[1][1] = -1; ++ } ++ ++ if (terminal.pipes[2][1] >= 0) { ++ close_prot_errno_disarm(terminal.pipes[2][1]); ++ terminal.pipes[2][1] = -1; ++ } ++#endif + put_namespaces(ctx); + if (options->attach_flags & LXC_ATTACH_TERMINAL) + lxc_attach_terminal_close_pts(&terminal); +@@ -1714,9 +2120,28 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, + if (ret < 0) + goto on_error; - /* rootfs, lxc_name, and lxc_path can be NULL when the container is created - * without a rootfs. */ +#ifdef HAVE_ISULAD -+static inline int mount_entry_on_generic(struct mntent *mntent, -+ const char *path, -+ const struct lxc_rootfs *rootfs, -+ const char *lxc_name, -+ const char *lxc_path, -+ const char *mount_label) -+#else - static inline int mount_entry_on_generic(struct mntent *mntent, - const char *path, - const struct lxc_rootfs *rootfs, - const char *lxc_name, - const char *lxc_path) ++ ret = lxc_attach_terminal_mainloop_init(&terminal, &isulad_descr); ++ if (ret < 0) ++ goto on_error; ++ ++ if (suffix != NULL) { ++ (void)lxc_exec_cmd_mainloop_add(&descr, &exec_command); ++ } +#endif - { - __do_free char *mntdata = NULL; - unsigned long mntflags = 0, pflags = 0; - char *rootfs_path = NULL; - int ret; - bool dev, optional, relative; + TRACE("Initialized terminal mainloop"); + } + +#ifdef HAVE_ISULAD -+ const char *dest = path; -+ char *rpath = NULL; ++ /* The signal fd has to be created before forking otherwise if the child ++ * process exits before we setup the signal fd, the event will be lost ++ * and the command will be stuck. ++ */ ++ isulad_sigfd = isulad_setup_signal_fd(&isulad_oldmask); ++ if (isulad_sigfd < 0) ++ goto close_mainloop; +#endif ++ + /* Let the child process know to go ahead. */ + if (!sync_wake(ipc_sockets[0], ATTACH_SYNC_CGROUP)) + goto close_mainloop; +@@ -1783,6 +2208,34 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, - optional = hasmntopt(mntent, "optional") != NULL; - dev = hasmntopt(mntent, "dev") != NULL; -@@ -2059,9 +2386,41 @@ static inline int mount_entry_on_generic(struct mntent *mntent, - if (rootfs && rootfs->path) - rootfs_path = rootfs->mount; + *attached_process = attached_pid; -+#ifndef HAVE_ISULAD - ret = mount_entry_create_dir_file(mntent, path, rootfs, lxc_name, - lxc_path); -+#else -+ // isulad: ensure that the destination of the bind mount is resolved of symlinks at mount time because -+ // any previous mounts can invalidate the next mount's destination. -+ // this can happen when a user specifies mounts within other mounts to cause breakouts or other -+ // evil stuff to try to escape the container's rootfs. -+ if (rootfs_path) { -+ rpath = follow_symlink_in_scope(path, rootfs_path); -+ if (!rpath) { -+ ERROR("Failed to get real path of '%s' in scope '%s'.", path, rootfs_path); -+ lxc_write_error_message(rootfs->errfd, "%s:%d: failed to get real path of '%s' in scope '%s'.", -+ __FILE__, __LINE__, path, rootfs_path); -+ return -1; ++#ifdef HAVE_ISULAD ++ if (options->timeout > 0) { ++ ret = create_attach_timeout_thread(options->timeout, *attached_process); ++ if (ret) { ++ ERROR("Failed to create attach timeout thread for container."); ++ goto close_mainloop; + } -+ dest = rpath; ++ } ++ /* isulad: read error msg from pipe */ ++ ssize_t size_read; ++ char errbuf[BUFSIZ + 1] = {0}; ++ pid_t tmp_pid = *attached_process; ++ ++ size_read = read(conf->errpipe[0], errbuf, BUFSIZ); ++ if (size_read > 0) { ++ if (err_msg) ++ *err_msg = safe_strdup(errbuf); ++ goto close_mainloop; ++ } ++ if (options->attach_flags & LXC_ATTACH_TERMINAL) { ++ ret = lxc_mainloop_add_handler(&descr, isulad_sigfd, attach_signal_handler, &tmp_pid); ++ if (ret < 0) { ++ ERROR("Failed to add signal handler for %d to mainloop", tmp_pid); ++ goto close_mainloop; ++ } ++ } ++#endif + -+ ret = check_mount_destination(rootfs_path, dest, mntent->mnt_fsname); -+ if (ret) { -+ ERROR("Mount destination is invalid: '%s'", dest); -+ lxc_write_error_message(rootfs->errfd, "%s:%d: mount destination is invalid: '%s'.", -+ __FILE__, __LINE__, dest); -+ free(rpath); -+ return -1; + /* Now shut down communication with child, we're done. */ + shutdown(ipc_sockets[0], SHUT_RDWR); + close_prot_errno_disarm(ipc_sockets[0]); +@@ -1790,17 +2243,46 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, + ret_parent = 0; + to_cleanup_pid = -1; + ++#ifdef HAVE_ISULAD ++ // iSulad: close stdin pipe if we do not want open_stdin with container stdin ++ if (!terminal.open_stdin) { ++ if (terminal.pipes[0][1] > 0) { ++ close_prot_errno_disarm(terminal.pipes[0][1]); ++ terminal.pipes[0][1] = -1; + } + } -+ ret = mount_entry_create_dir_file(mntent, dest, rootfs, lxc_name, -+ lxc_path); +#endif + - if (ret < 0) { + if (options->attach_flags & LXC_ATTACH_TERMINAL) { +#ifdef HAVE_ISULAD -+ free(rpath); ++ ret = isulad_safe_mainloop(&descr, -1); ++#else + ret = lxc_mainloop(&descr, -1); +#endif - if (optional) - return 0; - -@@ -2069,6 +2428,29 @@ static inline int mount_entry_on_generic(struct mntent *mntent, + if (ret < 0) { + ret_parent = -1; + to_cleanup_pid = attached_pid; + } } - cull_mntent_opt(mntent); +#ifdef HAVE_ISULAD -+ ret = parse_mntopts(mntent->mnt_opts, &mntflags, &pflags, &mntdata); -+ if (ret < 0) { -+ free(rpath); -+ return -1; -+ } -+ -+ // support squashfs -+ if (strcmp(mntent->mnt_type, "squashfs") == 0) { -+ ret = mount_entry_with_loop_dev(mntent->mnt_fsname, dest, mntent->mnt_type, -+ mntent->mnt_opts, rootfs_path); -+ } else { -+ ret = mount_entry(mntent->mnt_fsname, dest, mntent->mnt_type, mntflags, -+ pflags, mntdata, optional, dev, relative, rootfs_path, mount_label); ++ // do lxc_mainloop to make sure we do not lose any output ++ (void)isulad_safe_mainloop(&isulad_descr, 100); ++ if (g_attach_timeout_state == ATTACH_TIMEOUT && err_msg != NULL && *err_msg == NULL) { ++ *err_msg = safe_strdup("Attach exceeded timeout"); + } ++#endif + -+ if (ret < 0) { -+ lxc_write_error_message(rootfs->errfd, "%s:%d: failed to mount %s as type %s.", -+ __FILE__, __LINE__, mntent->mnt_fsname, mntent->mnt_type); + close_mainloop: ++#ifdef HAVE_ISULAD ++ if (options->attach_flags & LXC_ATTACH_TERMINAL) { ++ lxc_mainloop_close(&isulad_descr); ++ lxc_mainloop_close(&descr); + } -+ -+ free(rpath); +#else - ret = parse_propagationopts(mntent->mnt_opts, &pflags); - if (ret < 0) - return -1; -@@ -2079,6 +2461,7 @@ static inline int mount_entry_on_generic(struct mntent *mntent, - - ret = mount_entry(mntent->mnt_fsname, path, mntent->mnt_type, mntflags, - pflags, mntdata, optional, dev, relative, rootfs_path); + if (options->attach_flags & LXC_ATTACH_TERMINAL) + lxc_mainloop_close(&descr); +#endif - return ret; - } -@@ -2098,13 +2481,25 @@ static inline int mount_entry_on_systemfs(struct mntent *mntent) - if (ret < 0 || ret >= sizeof(path)) - return -1; - + on_error: + if (ipc_sockets[0] >= 0) { +@@ -1814,13 +2296,23 @@ on_error: + if (options->attach_flags & LXC_ATTACH_TERMINAL) { + lxc_terminal_delete(&terminal); + lxc_terminal_conf_free(&terminal); +#ifdef HAVE_ISULAD -+ return mount_entry_on_generic(mntent, path, NULL, NULL, NULL, NULL); -+#else - return mount_entry_on_generic(mntent, path, NULL, NULL, NULL); ++ if (exec_command.maincmd_fd != -1) { ++ close_prot_errno_disarm(exec_command.maincmd_fd); ++ } ++ lxc_exec_unix_sock_delete(name, suffix); +#endif + } + + put_attach_context(ctx); + return ret_parent; } +#ifdef HAVE_ISULAD -+static int mount_entry_on_absolute_rootfs(struct mntent *mntent, -+ const struct lxc_rootfs *rootfs, -+ const char *lxc_name, -+ const char *lxc_path, -+ const char *mount_label) ++int lxc_attach_run_command(void *payload, int msg_fd) +#else - static int mount_entry_on_absolute_rootfs(struct mntent *mntent, - const struct lxc_rootfs *rootfs, - const char *lxc_name, - const char *lxc_path) + int lxc_attach_run_command(void *payload) +#endif { - int offset; - char *aux; -@@ -2140,13 +2535,25 @@ skipabs: - if (ret < 0 || ret >= PATH_MAX) - return -1; + int ret = -1; + lxc_attach_command_t *cmd = payload; +@@ -1838,10 +2330,19 @@ int lxc_attach_run_command(void *payload) + } + } +#ifdef HAVE_ISULAD -+ return mount_entry_on_generic(mntent, path, rootfs, lxc_name, lxc_path, mount_label); -+#else - return mount_entry_on_generic(mntent, path, rootfs, lxc_name, lxc_path); ++ /* isulad: write error messages */ ++ lxc_write_error_message(msg_fd, "exec: \"%s\": %s.", cmd->program, strerror(errno)); +#endif ++ + return syserror_ret(ret, "Failed to exec \"%s\"", cmd->program); } +#ifdef HAVE_ISULAD -+static int mount_entry_on_relative_rootfs(struct mntent *mntent, -+ const struct lxc_rootfs *rootfs, -+ const char *lxc_name, -+ const char *lxc_path, -+ const char *mount_label) ++int lxc_attach_run_shell(void* payload, int msg_fd) +#else - static int mount_entry_on_relative_rootfs(struct mntent *mntent, - const struct lxc_rootfs *rootfs, - const char *lxc_name, - const char *lxc_path) + int lxc_attach_run_shell(void* payload) +#endif { - int ret; - char path[PATH_MAX]; -@@ -2156,12 +2563,22 @@ static int mount_entry_on_relative_rootfs(struct mntent *mntent, - if (ret < 0 || (size_t)ret >= sizeof(path)) - return -1; + __do_free char *buf = NULL; + uid_t uid; +diff --git a/src/lxc/attach.h b/src/lxc/attach.h +index c85b84f..7ba0ff8 100644 +--- a/src/lxc/attach.h ++++ b/src/lxc/attach.h +@@ -16,9 +16,15 @@ + struct lxc_conf; + struct lxc_container; +#ifdef HAVE_ISULAD -+ return mount_entry_on_generic(mntent, path, rootfs, lxc_name, lxc_path, mount_label); ++__hidden extern int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, ++ void *exec_payload, lxc_attach_options_t *options, ++ pid_t *attached_process, char **err_msg); +#else - return mount_entry_on_generic(mntent, path, rootfs, lxc_name, lxc_path); + __hidden extern int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, + void *exec_payload, lxc_attach_options_t *options, + pid_t *attached_process); +#endif - } + __hidden extern int lxc_attach_remount_sys_proc(void); + +diff --git a/src/lxc/attach_options.h b/src/lxc/attach_options.h +index 8187eca..d09dfce 100644 +--- a/src/lxc/attach_options.h ++++ b/src/lxc/attach_options.h +@@ -75,7 +75,11 @@ enum { + * + * \return Function should return \c 0 on success, and any other value to denote failure. + */ +#ifdef HAVE_ISULAD -+static int mount_file_entries(const struct lxc_conf *conf, -+ const struct lxc_rootfs *rootfs, FILE *file, -+ const char *lxc_name, const char *lxc_path, const char *mount_label) ++typedef int (*lxc_attach_exec_t)(void* payload, int msg_fd); +#else - static int mount_file_entries(const struct lxc_conf *conf, - const struct lxc_rootfs *rootfs, FILE *file, - const char *lxc_name, const char *lxc_path) + typedef int (*lxc_attach_exec_t)(void* payload); +#endif - { - char buf[PATH_MAX]; - struct mntent mntent; -@@ -2169,6 +2586,42 @@ static int mount_file_entries(const struct lxc_conf *conf, - while (getmntent_r(file, &mntent, buf, sizeof(buf))) { - int ret; + typedef struct lxc_groups_t { + size_t size; +@@ -155,6 +159,16 @@ typedef struct lxc_attach_options_t { + * If unset all additional groups are dropped. + */ + lxc_groups_t groups; ++ +#ifdef HAVE_ISULAD -+ //isulad, system contaienr, skip "proc/sys/xxx" path -+ if (conf->systemd != NULL && strcmp(conf->systemd, "true") == 0) { -+ if (strstr(mntent.mnt_dir, "proc/sys") != NULL) { -+ continue; -+ } -+ } -+ -+ /* Note: Workaround for volume file path with space*/ -+ mntent.mnt_fsname = lxc_string_replace(SPACE_MAGIC_STR, " ", mntent.mnt_fsname); -+ if(!mntent.mnt_fsname) { -+ SYSERROR("memory allocation error"); -+ return -1; -+ } -+ mntent.mnt_dir = lxc_string_replace(SPACE_MAGIC_STR, " ", mntent.mnt_dir); -+ if(!mntent.mnt_dir) { -+ SYSERROR("memory allocation error"); -+ free(mntent.mnt_fsname); -+ return -1; -+ } -+ -+ if (!rootfs->path) -+ ret = mount_entry_on_systemfs(&mntent); -+ else if (mntent.mnt_dir[0] != '/') -+ ret = mount_entry_on_relative_rootfs(&mntent, rootfs, -+ lxc_name, lxc_path, mount_label); -+ else -+ ret = mount_entry_on_absolute_rootfs(&mntent, rootfs, -+ lxc_name, lxc_path, mount_label); -+ -+ free(mntent.mnt_fsname); -+ mntent.mnt_fsname = NULL; -+ free(mntent.mnt_dir); -+ mntent.mnt_dir = NULL; -+#else -+ - if (!rootfs->path) - ret = mount_entry_on_systemfs(&mntent); - else if (mntent.mnt_dir[0] != '/') -@@ -2177,6 +2630,8 @@ static int mount_file_entries(const struct lxc_conf *conf, - else - ret = mount_entry_on_absolute_rootfs(&mntent, rootfs, - lxc_name, lxc_path); ++ char *init_fifo[3]; /* isulad: default fifos for the start */ ++ int64_t timeout;/* isulad: Seconds for waiting on a container to attach/exec before it is killed*/ ++ const char *suffix; ++ bool disable_pty; ++ bool open_stdin; ++ gid_t *add_gids; /* attach user additional gids */ ++ size_t add_gids_len; // iSulad TODO: shoud replace by lxc_groups_t groups; +#endif -+ - if (ret < 0) - return -1; - } -@@ -2195,9 +2650,15 @@ static inline void __auto_endmntent__(FILE **f) - - #define __do_endmntent __attribute__((__cleanup__(__auto_endmntent__))) + } lxc_attach_options_t; + /*! Default attach options to use */ +@@ -175,6 +189,9 @@ typedef struct lxc_attach_options_t { + .log_fd = -EBADF, \ + .lsm_label = NULL, \ + .groups = {}, \ +#ifdef HAVE_ISULAD -+static int setup_mount(const struct lxc_conf *conf, -+ const struct lxc_rootfs *rootfs, const char *fstab, -+ const char *lxc_name, const char *lxc_path, const char *mount_label) -+#else - static int setup_mount(const struct lxc_conf *conf, - const struct lxc_rootfs *rootfs, const char *fstab, - const char *lxc_name, const char *lxc_path) ++ /* .init_fifo = */ {NULL, NULL, NULL}, \ +#endif - { - __do_endmntent FILE *f = NULL; - int ret; -@@ -2209,7 +2670,11 @@ static int setup_mount(const struct lxc_conf *conf, - if (!f) - return log_error_errno(-1, errno, "Failed to open \"%s\"", fstab); + } + /*! +@@ -192,7 +209,11 @@ typedef struct lxc_attach_command_t { + * + * \return \c -1 on error, exit code of lxc_attach_command_t program on success. + */ +#ifdef HAVE_ISULAD -+ ret = mount_file_entries(conf, rootfs, f, lxc_name, lxc_path, mount_label); ++extern int lxc_attach_run_command(void* payload, int msg_fd); +#else - ret = mount_file_entries(conf, rootfs, f, lxc_name, lxc_path); + extern int lxc_attach_run_command(void* payload); +#endif - if (ret < 0) - ERROR("Failed to set up mount entries"); - -@@ -2285,10 +2750,17 @@ FILE *make_anonymous_mount_file(struct lxc_list *mount, - return f; - } + /*! + * \brief Run a shell command in the container. +@@ -201,7 +222,11 @@ extern int lxc_attach_run_command(void* payload); + * + * \return Exit code of shell. + */ +#ifdef HAVE_ISULAD -+static int setup_mount_entries(const struct lxc_conf *conf, -+ const struct lxc_rootfs *rootfs, -+ struct lxc_list *mount, const char *lxc_name, -+ const char *lxc_path, const char *mount_label) ++extern int lxc_attach_run_shell(void* payload, int msg_fd); +#else - static int setup_mount_entries(const struct lxc_conf *conf, - const struct lxc_rootfs *rootfs, - struct lxc_list *mount, const char *lxc_name, - const char *lxc_path) + extern int lxc_attach_run_shell(void* payload); +#endif - { - __do_fclose FILE *f = NULL; - -@@ -2296,7 +2768,11 @@ static int setup_mount_entries(const struct lxc_conf *conf, - if (!f) - return -1; + #ifdef __cplusplus + } +diff --git a/src/lxc/cgroups/cgroup.c b/src/lxc/cgroups/cgroup.c +index 5e2a7d0..5de88e3 100644 +--- a/src/lxc/cgroups/cgroup.c ++++ b/src/lxc/cgroups/cgroup.c +@@ -32,8 +32,11 @@ struct cgroup_ops *cgroup_init(struct lxc_conf *conf) + cgroup_ops = cgroup_ops_init(conf); + if (!cgroup_ops) + return log_error_errno(NULL, errno, "Failed to initialize cgroup driver"); +- +#ifdef HAVE_ISULAD -+ return mount_file_entries(conf, rootfs, f, lxc_name, lxc_path, mount_label); ++ if (cgroup_ops->data_init(cgroup_ops, conf)) { +#else - return mount_file_entries(conf, rootfs, f, lxc_name, lxc_path); + if (cgroup_ops->data_init(cgroup_ops)) { +#endif - } - - static int parse_cap(const char *cap) -@@ -2395,6 +2871,16 @@ static int dropcaps_except(struct lxc_list *caps) - lxc_list_for_each (iterator, caps) { - keep_entry = iterator->elem; + cgroup_exit(cgroup_ops); + return log_error_errno(NULL, errno, "Failed to initialize cgroup data"); + } +diff --git a/src/lxc/cgroups/cgroup.h b/src/lxc/cgroups/cgroup.h +index 108e5d8..ebfd3a1 100644 +--- a/src/lxc/cgroups/cgroup.h ++++ b/src/lxc/cgroups/cgroup.h +@@ -245,8 +245,15 @@ struct cgroup_ops { + */ + cgroup_layout_t cgroup_layout; +#ifdef HAVE_ISULAD -+ /* Do not keep any cap*/ -+ if (strcmp(keep_entry, "ISULAD_KEEP_NONE") == 0) { -+ DEBUG("Do not keep any capability"); -+ for(i = 0; i < numcaps; i++) { -+ caplist[i] = 0; -+ } -+ break; -+ } ++ int (*data_init)(struct cgroup_ops *ops, struct lxc_conf *conf); ++ bool (*payload_destroy)(struct cgroup_ops *ops, struct lxc_handler *handler); ++ // different with get_cgroup(), which return relative path ++ const char *(*get_cgroup_full_path)(struct cgroup_ops *ops, const char *controller); ++#else + int (*data_init)(struct cgroup_ops *ops); + void (*payload_destroy)(struct cgroup_ops *ops, struct lxc_handler *handler); +#endif - capid = parse_cap(keep_entry); - if (capid == -2) - continue; -@@ -2443,7 +2929,11 @@ static int parse_resource(const char *res) - return resid; - } + void (*monitor_destroy)(struct cgroup_ops *ops, struct lxc_handler *handler); + bool (*monitor_create)(struct cgroup_ops *ops, struct lxc_handler *handler); + bool (*monitor_enter)(struct cgroup_ops *ops, struct lxc_handler *handler); +diff --git a/src/lxc/conf.c b/src/lxc/conf.c +index 9158713..23783db 100644 +--- a/src/lxc/conf.c ++++ b/src/lxc/conf.c +@@ -103,6 +103,12 @@ + #include "strchrnul.h" + #endif +#ifdef HAVE_ISULAD -+int setup_resource_limits(struct lxc_list *limits, pid_t pid, int errfd) -+#else - int setup_resource_limits(struct lxc_list *limits, pid_t pid) ++#include ++#include "path.h" ++#include "loop.h" +#endif - { - int resid; - struct lxc_list *it; -@@ -2457,8 +2947,17 @@ int setup_resource_limits(struct lxc_list *limits, pid_t pid) - return log_error(-1, "Unknown resource %s", lim->resource); ++ + lxc_log_define(conf, lxc); - #if HAVE_PRLIMIT || HAVE_PRLIMIT64 + /* +@@ -122,6 +128,11 @@ char *lxchook_names[NUM_LXC_HOOKS] = { + "clone", + "destroy", + "start-host" +#ifdef HAVE_ISULAD -+ if (prlimit(pid, resid, &lim->limit, NULL) != 0) { -+ lxc_write_error_message(errfd, "%s:%d: Failed to set limit %s %lu %lu: %s.", -+ __FILE__, __LINE__, lim->resource, -+ lim->limit.rlim_cur, lim->limit.rlim_max, strerror(errno)); -+ return log_error_errno(-1, errno, "Failed to set limit %s", lim->resource); -+ } -+#else - if (prlimit(pid, resid, &lim->limit, NULL) != 0) - return log_error_errno(-1, errno, "Failed to set limit %s", lim->resource); ++ , "oci-prestart", ++ "oci-poststart", ++ "oci-poststop" +#endif + }; - TRACE("Setup \"%s\" limit", lim->resource); - #else -@@ -2601,6 +3100,27 @@ struct lxc_conf *lxc_conf_init(void) - memset(&new->ns_share, 0, sizeof(char *) * LXC_NS_MAX); - seccomp_conf_init(new); + struct mount_opt { +@@ -284,6 +295,21 @@ static struct limit_opt limit_opt[] = { + #endif + }; +#ifdef HAVE_ISULAD -+ lxc_list_init(&new->populate_devs); -+ lxc_list_init(&new->rootfs.maskedpaths); -+ lxc_list_init(&new->rootfs.ropaths); -+ new->exit_fd = -1; -+ new->umask = 0027; /*default umask 0027*/ -+ new->console.init_fifo[0] = NULL; -+ new->console.init_fifo[1] = NULL; -+ new->console.init_fifo[2] = NULL; -+ new->console.pipes[0][0] = -1; -+ new->console.pipes[0][1] = -1; -+ new->console.pipes[1][0] = -1; -+ new->console.pipes[1][1] = -1; -+ new->console.pipes[2][0] = -1; -+ new->console.pipes[2][1] = -1; -+ lxc_list_init(&new->console.fifos); -+ new->errmsg = NULL; -+ new->errpipe[0] = -1; -+ new->errpipe[1] = -1; ++static int rootfs_parent_mount_private(char *rootfs); ++static int setup_rootfs_ropaths(struct lxc_list *ropaths); ++static int setup_rootfs_maskedpaths(struct lxc_list *maskedpaths); ++static int remount_proc_sys_mount_entries(struct lxc_list *mount_list, bool lsm_aa_allow_nesting); ++static int check_mount_destination(const char *rootfs, const char *dest, const char *src); ++static int mount_entry_with_loop_dev(const char *src, const char *dest, const char *fstype, ++ char *mnt_opts, const char *rootfs); ++static bool need_setup_proc(const struct lxc_conf *conf, struct lxc_list *mount); ++static bool need_setup_dev(const struct lxc_conf *conf, struct lxc_list *mount); ++static int setup_populate_devs(const struct lxc_rootfs *rootfs, struct lxc_list *devs, const char *mount_label); ++static int setup_rootfs_mountopts(const struct lxc_rootfs *rootfs); ++static int create_mtab_link(); +#endif + - return new; - } - -@@ -3001,7 +3521,11 @@ again: - null_endofword(target); - ret = mount(NULL, target, NULL, MS_SLAVE, NULL); - if (ret < 0) { + static int run_buffer(char *buffer) + { + __do_free char *output = NULL; +@@ -707,8 +733,13 @@ static int lxc_mount_auto_mounts(struct lxc_handler *handler, int flags) + { LXC_AUTO_PROC_MASK, LXC_AUTO_PROC_MIXED, "%r/proc/sysrq-trigger", "%r/proc/sysrq-trigger", NULL, MS_BIND, NULL, false }, + { LXC_AUTO_PROC_MASK, LXC_AUTO_PROC_MIXED, NULL, "%r/proc/sysrq-trigger", NULL, MS_REMOUNT|MS_BIND|MS_RDONLY, NULL, false }, + { LXC_AUTO_PROC_MASK, LXC_AUTO_PROC_RW, "proc", "%r/proc", "proc", MS_NODEV|MS_NOEXEC|MS_NOSUID, NULL, false }, +#ifdef HAVE_ISULAD -+ SYSERROR("Failed to recursively turn old root mount tree: %s into dependent mount. Continuing...", target); ++ { LXC_AUTO_SYS_MASK, LXC_AUTO_SYS_RW, "sysfs", "%r/sys", "sysfs", MS_NODEV|MS_NOEXEC|MS_NOSUID, NULL, false }, ++ { LXC_AUTO_SYS_MASK, LXC_AUTO_SYS_RO, "sysfs", "%r/sys", "sysfs", MS_RDONLY|MS_NODEV|MS_NOEXEC|MS_NOSUID, NULL, false }, +#else - SYSERROR("Failed to recursively turn old root mount tree into dependent mount. Continuing..."); + { LXC_AUTO_SYS_MASK, LXC_AUTO_SYS_RW, "sysfs", "%r/sys", "sysfs", 0, NULL, false }, + { LXC_AUTO_SYS_MASK, LXC_AUTO_SYS_RO, "sysfs", "%r/sys", "sysfs", MS_RDONLY, NULL, false }, +#endif - continue; - } - TRACE("Recursively turned old root mount tree into dependent mount"); -@@ -3046,7 +3570,11 @@ static int lxc_execute_bind_init(struct lxc_handler *handler) - return log_error_errno(-1, errno, "Failed to create dummy \"%s\" file as bind mount target", destpath); - } + /* /proc/sys is used as a temporary staging directory for the read-write sysfs mount and unmounted after binding net */ + { LXC_AUTO_SYS_MASK, LXC_AUTO_SYS_MIXED, "sysfs", "%r/proc/sys", "sysfs", MS_NOSUID|MS_NODEV|MS_NOEXEC, NULL, false }, + { LXC_AUTO_SYS_MASK, LXC_AUTO_SYS_MIXED, "sysfs", "%r/sys", "sysfs", MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC, NULL, false }, +@@ -801,11 +832,25 @@ static int lxc_mount_auto_mounts(struct lxc_handler *handler, int flags) + if (!destination) + return syserror_set(-ENOMEM, "Failed to create target path"); +#ifdef HAVE_ISULAD -+ ret = safe_mount(path, destpath, "none", MS_BIND, NULL, conf->rootfs.mount, conf->lsm_se_mount_context); ++ if (mkdir_p(destination, 0755) < 0) { ++ SYSERROR("Failed to create mount target '%s'", destination); ++ return log_error(-1, "Failed to mkdir destination %s", destination); ++ } ++ ++ // add selinux label for safe mount ++ ret = safe_mount(source, destination, ++ default_mounts[i].fstype, ++ mflags, ++ default_mounts[i].options, ++ rootfs->path ? rootfs->mount : NULL, NULL); +#else - ret = safe_mount(path, destpath, "none", MS_BIND, NULL, conf->rootfs.mount); + ret = safe_mount(source, destination, + default_mounts[i].fstype, + mflags, + default_mounts[i].options, + rootfs->path ? rootfs->mount : NULL); +#endif - if (ret < 0) - return log_error_errno(-1, errno, "Failed to bind mount lxc.init.static into container"); - -@@ -3082,7 +3610,13 @@ int lxc_setup_rootfs_prepare_root(struct lxc_conf *conf, const char *name, - return log_trace(0, "Bind mounted container / onto itself"); + if (ret < 0) { + if (errno != ENOENT) + return syserror("Failed to mount \"%s\" on \"%s\" with flags %lu", source, destination, mflags); +@@ -1210,7 +1255,9 @@ static int lxc_send_ttys_to_parent(struct lxc_handler *handler) + static int mount_autodev(const char *name, const struct lxc_rootfs *rootfs, + int autodevtmpfssize, const char *lxcpath) + { ++#ifndef HAVE_ISULAD + __do_close int fd_fs = -EBADF; ++#endif + const char *path = rootfs->path ? rootfs->mount : NULL; + size_t tmpfs_size = (autodevtmpfssize != 0) ? autodevtmpfssize : 500000; + int ret; +@@ -1227,6 +1274,10 @@ static int mount_autodev(const char *name, const struct lxc_rootfs *rootfs, + goto reset_umask; } -+#ifndef HAVE_ISULAD - turn_into_dependent_mounts(); ++#ifdef HAVE_ISULAD ++ if (systemd != NULL && !strcmp(systemd, "true")) { ++ ret = mount(path, path, "", MS_BIND, NULL); +#else -+ if (!conf->rootfs.options) { -+ turn_into_dependent_mounts(); -+ } + if (can_use_mount_api()) { + fd_fs = fs_prepare("tmpfs", -EBADF, "", 0, 0); + if (fd_fs < 0) +@@ -1245,6 +1296,7 @@ static int mount_autodev(const char *name, const struct lxc_rootfs *rootfs, + ret = fs_attach(fd_fs, rootfs->dfd_mnt, "dev", + PROTECT_OPATH_DIRECTORY, + PROTECT_LOOKUP_BENEATH_XDEV, 0); +#endif + } else { + __do_free char *fallback_path = NULL; - ret = run_lxc_hooks(name, "pre-mount", conf, NULL); - if (ret < 0) -@@ -3182,15 +3716,29 @@ static int lxc_setup_boot_id(void) +@@ -1253,9 +1305,17 @@ static int mount_autodev(const char *name, const struct lxc_rootfs *rootfs, - int lxc_setup(struct lxc_handler *handler) - { -+#ifndef HAVE_ISULAD - __do_close int pts_mnt_fd = -EBADF; -+#endif - int ret; - const char *lxcpath = handler->lxcpath, *name = handler->name; - struct lxc_conf *lxc_conf = handler->conf; - char *keyring_context = NULL; + if (path) { + fallback_path = must_make_path(path, "/dev", NULL); +#ifdef HAVE_ISULAD -+ bool setup_dev = true; -+ bool setup_proc = true; ++ ret = safe_mount("none", fallback_path, "tmpfs", 0, mount_options, path, rootfs->lsm_se_mount_context); ++#else + ret = safe_mount("none", fallback_path, "tmpfs", 0, mount_options, path); +#endif - - ret = lxc_setup_rootfs_prepare_root(lxc_conf, name, lxcpath); - if (ret < 0) + } else { +#ifdef HAVE_ISULAD -+ { -+ lxc_write_error_message(lxc_conf->errpipe[1], "%s:%d: failed to setup rootfs %s.", -+ __FILE__, __LINE__, lxc_conf->rootfs.path); -+ return log_error(-1, "Failed to setup rootfs"); -+ } ++ ret = safe_mount("none", "dev", "tmpfs", 0, mount_options, NULL, rootfs->lsm_se_mount_context); +#else - return log_error(-1, "Failed to setup rootfs"); + ret = safe_mount("none", "dev", "tmpfs", 0, mount_options, NULL); +#endif - - if (handler->nsfd[LXC_NS_UTS] == -EBADF) { - ret = setup_utsname(lxc_conf->utsname); -@@ -3221,6 +3769,7 @@ int lxc_setup(struct lxc_handler *handler) - return log_error(-1, "Failed to send network device names and ifindices to parent"); + } } + if (ret < 0) { +@@ -1392,7 +1452,11 @@ static int lxc_fill_autodev(struct lxc_rootfs *rootfs) + if (ret < 0) + return log_error(-1, "Failed to create device path for %s", device->name); -+#ifndef HAVE_ISULAD - if (wants_console(&lxc_conf->console)) { - pts_mnt_fd = open_tree(-EBADF, lxc_conf->console.name, - OPEN_TREE_CLONE | OPEN_TREE_CLOEXEC | AT_EMPTY_PATH); -@@ -3231,9 +3780,15 @@ int lxc_setup(struct lxc_handler *handler) - TRACE("Created detached mount for container's console \"%s\"", - lxc_conf->console.name); - } ++#ifdef HAVE_ISULAD ++ ret = safe_mount(rootfs->buf, path, 0, MS_BIND, NULL, get_rootfs_mnt(rootfs), rootfs->lsm_se_mount_context); ++#else + ret = safe_mount(rootfs->buf, path, 0, MS_BIND, NULL, get_rootfs_mnt(rootfs)); +#endif + if (ret < 0) + return log_error_errno(-1, errno, "Failed to bind mount host device node \"%s\" to \"%s\"", rootfs->buf, path); - if (lxc_conf->autodev > 0) { +@@ -1410,12 +1474,23 @@ static int lxc_fill_autodev(struct lxc_rootfs *rootfs) + static int lxc_mount_rootfs(struct lxc_rootfs *rootfs) + { + int ret; +#ifdef HAVE_ISULAD -+ ret = mount_autodev(name, &lxc_conf->rootfs, lxc_conf->autodevtmpfssize, lxcpath, -+ lxc_conf->systemd, lxc_conf->lsm_se_mount_context); -+#else - ret = mount_autodev(name, &lxc_conf->rootfs, lxc_conf->autodevtmpfssize, lxcpath); ++ unsigned long flags; +#endif + + if (!rootfs->path) { + ret = mount("", "/", NULL, MS_SLAVE | MS_REC, 0); if (ret < 0) - return log_error(-1, "Failed to mount \"/dev\""); - } -@@ -3245,15 +3800,38 @@ int lxc_setup(struct lxc_handler *handler) - if (ret < 0) - return log_error(-1, "Failed to setup first automatic mounts"); + return log_error_errno(-1, errno, "Failed to recursively turn root mount tree into dependent mount"); +#ifdef HAVE_ISULAD -+ /* Now mount only cgroups, if wanted. Before, /sys could not have been -+ * mounted. It is guaranteed to be mounted now either through -+ * automatically or via fstab entries. -+ */ -+ ret = lxc_mount_auto_mounts(lxc_conf, lxc_conf->auto_mounts & LXC_AUTO_CGROUP_MASK, handler); -+ if (ret < 0) -+ return log_error(-1, "Failed to setup remaining automatic mounts"); ++ if (!access(rootfs->mount, F_OK)) { ++ rootfs->path = safe_strdup("/"); ++ if (mount("/", rootfs->mount, NULL, MS_BIND, 0)) { ++ return log_error_errno(-1, errno, "Failed to mount \"/\" to %s", rootfs->mount); ++ } ++ } ++#endif + rootfs->dfd_mnt = open_at(-EBADF, "/", PROTECT_OPATH_DIRECTORY, PROTECT_LOOKUP_ABSOLUTE, 0); + if (rootfs->dfd_mnt < 0) + return -errno; +@@ -1428,6 +1503,42 @@ static int lxc_mount_rootfs(struct lxc_rootfs *rootfs) + return log_error_errno(-1, errno, "Failed to access to \"%s\". Check it is present", + rootfs->mount); + ++#ifdef HAVE_ISULAD ++ // Support mount propagations of rootfs ++ // Get rootfs mnt propagation options, such as slave or shared ++ flags = MS_SLAVE | MS_REC; ++ if (rootfs->mnt_opts.prop_flags) ++ flags = rootfs->mnt_opts.prop_flags; ++ ++ /* Mount propagation inside container can not greater than host. ++ * So we must change propagation of root according to flags, default is rslave. ++ * That means shared propagation inside container is disabled by default. ++ */ ++ ret = mount("", "/", NULL, flags, NULL); ++ if (ret < 0) { ++ return log_error_errno(-1, errno, "Failed to make / to propagation flags %lu.", flags); ++ } ++ ++ /* Make parent mount private to make sure following bind mount does ++ * not propagate in other namespaces. Also it will help with kernel ++ * check pass in pivot_root. (IS_SHARED(new_mnt->mnt_parent)) ++ */ ++ ret = rootfs_parent_mount_private(rootfs->path); ++ if (ret != 0) { ++ return log_error(-1, "Failed to make parent of rootfs %s to private.", rootfs->path); ++ } ++ ret = rootfs_parent_mount_private(rootfs->mount); ++ if (ret != 0) { ++ return log_error(-1, "Failed to make parent of rootfs %s to private.", rootfs->mount); ++ } ++ ++ ret = mount(rootfs->mount, rootfs->mount, "bind", MS_BIND | MS_REC, NULL); ++ if (ret < 0) { ++ SYSERROR("Failed to mount rootfs %s", rootfs->mount); ++ return -1; ++ } +#endif + + ret = rootfs->storage->ops->mount(rootfs->storage); + if (ret < 0) + return log_error(-1, "Failed to mount rootfs \"%s\" onto \"%s\" with options \"%s\"", +@@ -1780,7 +1891,11 @@ static int lxc_setup_devpts_child(struct lxc_handler *handler) + DEBUG("Attached detached devpts mount %d to %d/pts", devpts_fd, rootfs->dfd_dev); + } else { + char **opts; +#ifdef HAVE_ISULAD -+ ret = setup_mount(lxc_conf, &lxc_conf->rootfs, lxc_conf->fstab, name, lxcpath, lxc_conf->lsm_se_mount_context); ++ __do_free char *devpts_mntopts = NULL; +#else - ret = setup_mount(lxc_conf, &lxc_conf->rootfs, lxc_conf->fstab, name, lxcpath); + char devpts_mntopts[256]; +#endif - if (ret < 0) - return log_error(-1, "Failed to setup mounts"); + char *mntopt_sets[5]; + char default_devpts_mntopts[256] = "gid=5,newinstance,ptmxmode=0666,mode=0620"; - if (!lxc_list_empty(&lxc_conf->mount_list)) { +@@ -1788,9 +1903,18 @@ static int lxc_setup_devpts_child(struct lxc_handler *handler) + * Fallback codepath in case the new mount API can't be used to + * create detached mounts. + */ +- +#ifdef HAVE_ISULAD -+ ret = setup_mount_entries(lxc_conf, &lxc_conf->rootfs, -+ &lxc_conf->mount_list, name, lxcpath, lxc_conf->lsm_se_mount_context); ++ if (rootfs->lsm_se_mount_context != NULL) { ++ ret = strnprintf(devpts_mntopts, sizeof(devpts_mntopts), "%s,max=%zu,context=\"%s\"", ++ default_devpts_mntopts, pty_max, rootfs->lsm_se_mount_context); ++ } else { +#else - ret = setup_mount_entries(lxc_conf, &lxc_conf->rootfs, - &lxc_conf->mount_list, name, lxcpath); + ret = strnprintf(devpts_mntopts, sizeof(devpts_mntopts), "%s,max=%zu", + default_devpts_mntopts, pty_max); +#endif - if (ret < 0) - return log_error(-1, "Failed to setup mount entries"); +#ifdef HAVE_ISULAD -+ setup_dev = need_setup_dev(lxc_conf, &lxc_conf->mount_list); -+ setup_proc = need_setup_proc(lxc_conf, &lxc_conf->mount_list); ++ } +#endif - } + if (ret < 0) + return -1; - if (lxc_conf->is_execute) { -@@ -3278,6 +3856,7 @@ int lxc_setup(struct lxc_handler *handler) - } - } +@@ -1951,6 +2075,15 @@ static int bind_mount_console(int fd_devpts, struct lxc_rootfs *rootfs, + struct lxc_terminal *console, int fd_to) + { + __do_close int fd_pty = -EBADF; ++#ifdef HAVE_ISULAD ++ __do_free char *mnt_opts = NULL; ++ ++ if (rootfs->lsm_se_mount_context != NULL) { ++ if (asprintf(mnt_opts, "context=\"%s\"", rootfs->lsm_se_mount_context) < 0) { ++ return syserror("Out of memory"); ++ } ++ } ++#endif -+#ifndef HAVE_ISULAD - /* Now mount only cgroups, if wanted. Before, /sys could not have been - * mounted. It is guaranteed to be mounted now either through - * automatically or via fstab entries. -@@ -3285,6 +3864,7 @@ int lxc_setup(struct lxc_handler *handler) - ret = lxc_mount_auto_mounts(lxc_conf, lxc_conf->auto_mounts & LXC_AUTO_CGROUP_MASK, handler); - if (ret < 0) - return log_error(-1, "Failed to setup remaining automatic mounts"); + if (is_empty_string(console->name)) + return ret_errno(EINVAL); +@@ -1981,7 +2114,11 @@ static int bind_mount_console(int fd_devpts, struct lxc_rootfs *rootfs, + if (can_use_mount_api()) + return fd_bind_mount(fd_pty, "", 0, 0, fd_to, "", 0, 0, 0, 0, 0, false); + ++#ifdef HAVE_ISULAD ++ return mount_fd(fd_pty, fd_to, "none", MS_BIND, mnt_opts); ++#else + return mount_fd(fd_pty, fd_to, "none", MS_BIND, 0); ++#endif + } + + static int lxc_setup_dev_console(int fd_devpts, struct lxc_rootfs *rootfs, +@@ -2040,6 +2177,15 @@ static int lxc_setup_ttydir_console(int fd_devpts, struct lxc_rootfs *rootfs, + __do_close int fd_ttydir = -EBADF, fd_dev_console = -EBADF, + fd_reg_console = -EBADF, fd_reg_ttydir_console = -EBADF; + int ret; ++#ifdef HAVE_ISULAD ++ __do_free char *mnt_opts = NULL; ++ ++ if (rootfs->lsm_se_mount_context != NULL) { ++ if (asprintf(mnt_opts, "context=\"%s\"", rootfs->lsm_se_mount_context) < 0) { ++ return syserror("Out of memory"); ++ } ++ } +#endif - ret = run_lxc_hooks(name, "mount", lxc_conf, NULL); + /* create dev/ */ + ret = mkdirat(rootfs->dfd_dev, ttydir, 0755); +@@ -2124,7 +2270,11 @@ static int lxc_setup_ttydir_console(int fd_devpts, struct lxc_rootfs *rootfs, + 0, + false); + else ++#ifdef HAVE_ISULAD ++ ret = mount_fd(fd_dev_console, fd_reg_console, "none", MS_BIND, mnt_opts); ++#else + ret = mount_fd(fd_dev_console, fd_reg_console, "none", MS_BIND, 0); ++#endif if (ret < 0) -@@ -3295,21 +3875,45 @@ int lxc_setup(struct lxc_handler *handler) - if (ret < 0) - return log_error(-1, "Failed to run autodev hooks"); + return syserror("Failed to mount \"%d\" on \"%d\"", + fd_dev_console, fd_reg_console); +@@ -2410,10 +2560,17 @@ static char *get_field(char *src, int nfields) + return p; + } +#ifdef HAVE_ISULAD -+ ret = lxc_fill_autodev(&lxc_conf->rootfs, lxc_conf->lsm_se_mount_context); ++static int mount_entry(const char *fsname, const char *target, ++ const char *fstype, unsigned long mountflags, ++ unsigned long pflags, const char *data, bool optional, ++ bool dev, bool relative, const char *rootfs, const char *mount_label) +#else - ret = lxc_fill_autodev(&lxc_conf->rootfs); + static int mount_entry(const char *fsname, const char *target, + const char *fstype, unsigned long mountflags, + unsigned long pflags, const char *data, bool optional, + bool dev, bool relative, const char *rootfs) +#endif - if (ret < 0) - return log_error(-1, "Failed to populate \"/dev\""); + { + int ret; + char srcbuf[PATH_MAX]; +@@ -2428,9 +2585,13 @@ static int mount_entry(const char *fsname, const char *target, + return log_error_errno(-1, errno, "source path is too long"); + srcpath = srcbuf; } +- ++#ifdef HAVE_ISULAD ++ ret = safe_mount(srcpath, target, fstype, mountflags & ~MS_REMOUNT, data, ++ rootfs, mount_label); ++#else + ret = safe_mount(srcpath, target, fstype, mountflags & ~MS_REMOUNT, data, + rootfs); ++#endif + if (ret < 0) { + if (optional) + return log_info_errno(0, errno, "Failed to mount \"%s\" on \"%s\" (optional)", +@@ -2639,6 +2800,10 @@ static inline int mount_entry_on_generic(struct mntent *mntent, + int ret; + bool dev, optional, relative; + struct lxc_mount_options opts = {}; ++#ifdef HAVE_ISULAD ++ const char *dest = path; ++ __do_free char *rpath = NULL; ++#endif + + optional = hasmntopt(mntent, "optional") != NULL; + dev = hasmntopt(mntent, "dev") != NULL; +@@ -2647,8 +2812,31 @@ static inline int mount_entry_on_generic(struct mntent *mntent, + if (rootfs && rootfs->path) + rootfs_path = rootfs->mount; +#ifdef HAVE_ISULAD -+ /* isulad: setup devices which will be populated in the container. */ -+ if (!lxc_list_empty(&lxc_conf->populate_devs) && setup_dev) { -+ if (setup_populate_devs(&lxc_conf->rootfs, &lxc_conf->populate_devs, lxc_conf->lsm_se_mount_context) != 0) { -+ return log_error(-1, "Failed to setup devices in the container"); ++ // isulad: ensure that the destination of the bind mount is resolved of symlinks at mount time because ++ // any previous mounts can invalidate the next mount's destination. ++ // this can happen when a user specifies mounts within other mounts to cause breakouts or other ++ // evil stuff to try to escape the container's rootfs. ++ if (rootfs_path) { ++ rpath = follow_symlink_in_scope(path, rootfs_path); ++ if (!rpath) { ++ ERROR("Failed to get real path of '%s' in scope '%s'.", path, rootfs_path); ++ return -1; ++ } ++ dest = rpath; ++ ++ ret = check_mount_destination(rootfs_path, dest, mntent->mnt_fsname); ++ if (ret) { ++ ERROR("Mount destination is invalid: '%s'", dest); ++ return -1; + } + } ++ ret = mount_entry_create_dir_file(mntent, dest, rootfs, lxc_name, ++ lxc_path); ++#else + ret = mount_entry_create_dir_file(mntent, path, rootfs, lxc_name, + lxc_path); ++#endif + if (ret < 0) { + if (optional) + return 0; +@@ -2673,7 +2861,24 @@ static inline int mount_entry_on_generic(struct mntent *mntent, + ret = parse_mount_attrs(&opts, mntent->mnt_opts); + if (ret < 0) + return -1; +- ++#ifdef HAVE_ISULAD ++ // support squashfs ++ if (strcmp(mntent->mnt_type, "squashfs") == 0) { ++ ret = mount_entry_with_loop_dev(mntent->mnt_fsname, dest, mntent->mnt_type, ++ mntent->mnt_opts, rootfs_path); ++ } else { ++ ret = mount_entry(mntent->mnt_fsname, ++ dest, ++ mntent->mnt_type, ++ opts.mnt_flags, ++ opts.prop_flags, ++ opts.data, ++ optional, ++ dev, ++ relative, ++ rootfs_path, rootfs != NULL ? rootfs->lsm_se_mount_context : NULL); ++ } ++#else + ret = mount_entry(mntent->mnt_fsname, + path, + mntent->mnt_type, +@@ -2684,6 +2889,7 @@ static inline int mount_entry_on_generic(struct mntent *mntent, + dev, + relative, + rootfs_path); +#endif + + return ret; + } +@@ -2771,6 +2977,27 @@ static int mount_file_entries(struct lxc_rootfs *rootfs, FILE *file, + while (getmntent_r(file, &mntent, buf, sizeof(buf))) { + int ret; + ++#ifdef HAVE_ISULAD ++ //isulad, system contaienr, skip "proc/sys/xxx" path ++ if (conf->systemd != NULL && strcmp(conf->systemd, "true") == 0) { ++ if (strstr(mntent.mnt_dir, "proc/sys") != NULL) { ++ continue; ++ } ++ } + - /* Make sure any start hooks are in the container */ - if (!verify_start_hooks(lxc_conf)) - return log_error(-1, "Failed to verify start hooks"); ++ /* Note: Workaround for volume file path with space*/ ++ mntent.mnt_fsname = lxc_string_replace(SPACE_MAGIC_STR, " ", mntent.mnt_fsname); ++ if(!mntent.mnt_fsname) { ++ SYSERROR("memory allocation error"); ++ return -1; ++ } ++ mntent.mnt_dir = lxc_string_replace(SPACE_MAGIC_STR, " ", mntent.mnt_dir); ++ if(!mntent.mnt_dir) { ++ SYSERROR("memory allocation error"); ++ free(mntent.mnt_fsname); ++ return -1; ++ } ++#endif + if (!rootfs->path) + ret = mount_entry_on_systemfs(rootfs, &mntent); + else if (mntent.mnt_dir[0] != '/') +@@ -2779,6 +3006,12 @@ static int mount_file_entries(struct lxc_rootfs *rootfs, FILE *file, + else + ret = mount_entry_on_absolute_rootfs(&mntent, rootfs, + lxc_name, lxc_path); ++#ifdef HAVE_ISULAD ++ free(mntent.mnt_fsname); ++ mntent.mnt_fsname = NULL; ++ free(mntent.mnt_dir); ++ mntent.mnt_dir = NULL; ++#endif + if (ret < 0) + return -1; + } +@@ -3255,6 +3488,17 @@ static int capabilities_allow(struct lxc_conf *conf) + if (cap->cap > last_cap) + continue; -+#ifndef HAVE_ISULAD - ret = lxc_create_tmp_proc_mount(lxc_conf); - if (ret < 0) - return log_error(-1, "Failed to \"/proc\" LSMs"); ++#ifdef HAVE_ISULAD ++ /* Do not keep any cap*/ ++ if (strcmp(cap->cap_name, "ISULAD_KEEP_NONE") == 0) { ++ DEBUG("Do not keep any capability"); ++ __u32 i; ++ for(i = 0; i < nr_u32; i++) { ++ keep_bits[i] = 0; ++ } ++ break; ++ } ++#endif + set_bit(cap->cap, keep_bits); + DEBUG("Keeping %s (%d) capability", cap->cap_name, cap->cap); + } +@@ -3473,6 +3717,27 @@ struct lxc_conf *lxc_conf_init(void) + + INIT_LIST_HEAD(&new->netdevs); + ++#ifdef HAVE_ISULAD ++ lxc_list_init(&new->populate_devs); ++ lxc_list_init(&new->rootfs.maskedpaths); ++ lxc_list_init(&new->rootfs.ropaths); ++ new->exit_fd = -1; ++ new->umask = 0027; /*default umask 0027*/ ++ new->console.init_fifo[0] = NULL; ++ new->console.init_fifo[1] = NULL; ++ new->console.init_fifo[2] = NULL; ++ new->console.pipes[0][0] = -1; ++ new->console.pipes[0][1] = -1; ++ new->console.pipes[1][0] = -1; ++ new->console.pipes[1][1] = -1; ++ new->console.pipes[2][0] = -1; ++ new->console.pipes[2][1] = -1; ++ lxc_list_init(&new->console.fifos); ++ new->errmsg = NULL; ++ new->errpipe[0] = -1; ++ new->errpipe[1] = -1; ++#endif ++ + return new; + } - ret = lxc_setup_console(&lxc_conf->rootfs, &lxc_conf->console, - lxc_conf->ttys.dir, pts_mnt_fd); +@@ -3945,7 +4210,11 @@ static void turn_into_dependent_mounts(const struct lxc_rootfs *rootfs) + null_endofword(target); + ret = mount(NULL, target, NULL, MS_SLAVE, NULL); + if (ret < 0) { ++#ifdef HAVE_ISULAD ++ SYSERROR("Failed to recursively turn old root mount tree: %s into dependent mount. Continuing...", target); +#else -+ if (setup_proc) { -+ ret = lxc_create_tmp_proc_mount(lxc_conf); -+ if (ret < 0) -+ return log_error(-1, "Failed to \"/proc\" LSMs"); + SYSERROR("Failed to recursively turn old root mount tree into dependent mount. Continuing..."); ++#endif + continue; + } + } +@@ -3964,6 +4233,10 @@ int lxc_setup_rootfs_prepare_root(struct lxc_conf *conf, const char *name, + if (conf->rootfs.dfd_host < 0) + return log_error_errno(-errno, errno, "Failed to open \"/\""); + ++#ifdef HAVE_ISULAD ++ // iSulad: will remount all mounts when we setted propagation flags ++ if (conf->rootfs.mnt_opts.prop_flags == 0) ++#endif + turn_into_dependent_mounts(&conf->rootfs); + + if (conf->rootfs_setup) { +@@ -4358,10 +4631,22 @@ int lxc_setup(struct lxc_handler *handler) + int ret; + const char *lxcpath = handler->lxcpath, *name = handler->name; + struct lxc_conf *lxc_conf = handler->conf; ++#ifdef HAVE_ISULAD ++ bool setup_dev = true; ++ bool setup_proc = true; ++#endif + + ret = lxc_rootfs_prepare_child(handler); + if (ret < 0) ++#ifdef HAVE_ISULAD ++ { ++ lxc_write_error_message(lxc_conf->errpipe[1], "%s:%d: failed to setup rootfs %s.", ++ __FILE__, __LINE__, lxc_conf->rootfs.path); ++ return syserror("Failed to prepare rootfs"); + } ++#else + return syserror("Failed to prepare rootfs"); ++#endif + + ret = lxc_setup_rootfs_prepare_root(lxc_conf, name, lxcpath); + if (ret < 0) +@@ -4402,6 +4687,16 @@ int lxc_setup(struct lxc_handler *handler) + if (ret < 0) + return log_error(-1, "Failed to setup first automatic mounts"); + ++#ifdef HAVE_ISULAD ++ /* Now mount only cgroups, if wanted. Before, /sys could not have been ++ * mounted. It is guaranteed to be mounted now either through ++ * automatically or via fstab entries. ++ */ ++ ret = lxc_mount_auto_mounts(handler, lxc_conf->auto_mounts & LXC_AUTO_CGROUP_MASK); ++ if (ret < 0) ++ return log_error(-1, "Failed to setup remaining automatic mounts"); ++#endif + -+ ret = lxc_setup_console(&lxc_conf->rootfs, &lxc_conf->console, -+ lxc_conf->ttys.dir, lxc_conf->lsm_se_mount_context); + ret = setup_mount_fstab(&lxc_conf->rootfs, lxc_conf->fstab, name, lxcpath); + if (ret < 0) + return log_error(-1, "Failed to setup mounts"); +@@ -4410,6 +4705,10 @@ int lxc_setup(struct lxc_handler *handler) + ret = setup_mount_entries(lxc_conf, &lxc_conf->rootfs, name, lxcpath); + if (ret < 0) + return log_error(-1, "Failed to setup mount entries"); ++#ifdef HAVE_ISULAD ++ setup_dev = need_setup_dev(lxc_conf, &lxc_conf->mount_entries); ++ setup_proc = need_setup_proc(lxc_conf, &lxc_conf->mount_entries); +#endif + } + + if (!lxc_sync_wake_parent(handler, START_SYNC_IDMAPPED_MOUNTS)) +@@ -4424,6 +4723,7 @@ int lxc_setup(struct lxc_handler *handler) + if (lxc_conf->rootfs.dfd_dev < 0 && errno != ENOENT) + return log_error_errno(-errno, errno, "Failed to open \"/dev\""); + ++#ifndef HAVE_ISULAD + /* Now mount only cgroups, if wanted. Before, /sys could not have been + * mounted. It is guaranteed to be mounted now either through + * automatically or via fstab entries. +@@ -4431,6 +4731,7 @@ int lxc_setup(struct lxc_handler *handler) + ret = lxc_mount_auto_mounts(handler, lxc_conf->auto_mounts & LXC_AUTO_CGROUP_MASK); if (ret < 0) - return log_error(-1, "Failed to setup console"); + return log_error(-1, "Failed to setup remaining automatic mounts"); ++#endif -@@ -3317,6 +3921,12 @@ int lxc_setup(struct lxc_handler *handler) + ret = run_lxc_hooks(name, "mount", lxc_conf, NULL); if (ret < 0) - return log_error(-1, "Failed to setup \"/dev\" symlinks"); +@@ -4453,13 +4754,28 @@ int lxc_setup(struct lxc_handler *handler) + if (!verify_start_hooks(lxc_conf)) + return log_error(-1, "Failed to verify start hooks"); +#ifdef HAVE_ISULAD -+ /* Ask father to run oci prestart hooks and wait for him to finish. */ -+ if (lxc_sync_barrier_parent(handler, LXC_SYNC_OCI_PRESTART_HOOK)) { -+ return log_error(-1, "Failed to sync parent to start host hook"); -+ } ++ if (setup_proc) +#endif - ret = lxc_setup_rootfs_switch_root(&lxc_conf->rootfs); + ret = lxc_create_tmp_proc_mount(lxc_conf); if (ret < 0) - return log_error(-1, "Failed to pivot root into rootfs"); -@@ -3325,14 +3935,31 @@ int lxc_setup(struct lxc_handler *handler) - if (lxc_conf->autodev > 0) - (void)lxc_setup_boot_id(); + return log_error(-1, "Failed to mount transient procfs instance for LSMs"); +#ifdef HAVE_ISULAD + if (setup_rootfs_mountopts(&lxc_conf->rootfs)) { + return log_error(-1, "failed to set rootfs for '%s'", name); + } + if (lxc_conf->rootfs.path != NULL && setup_dev) { -+ ret = lxc_setup_devpts(lxc_conf); ++ ret = lxc_setup_devpts_child(handler); + if (ret < 0) { + return log_error(-1, "Failed to setup new devpts instance for '%s'", name); + } + } +#else - ret = lxc_setup_devpts(lxc_conf); + ret = lxc_setup_devpts_child(handler); if (ret < 0) - return log_error(-1, "Failed to setup new devpts instance"); + return log_error(-1, "Failed to prepare new devpts instance"); +#endif - ret = lxc_create_ttys(handler); + ret = lxc_finish_devpts_child(handler); if (ret < 0) - return -1; +@@ -4478,6 +4794,12 @@ int lxc_setup(struct lxc_handler *handler) + if (ret < 0) + return log_error(-1, "Failed to setup \"/dev\" symlinks"); +#ifdef HAVE_ISULAD -+ /*isulad: set system umask */ -+ umask(lxc_conf->umask); -+#endif ++ /* Ask father to run oci prestart hooks and wait for him to finish. */ ++ if (lxc_sync_barrier_parent(handler, LXC_SYNC_OCI_PRESTART_HOOK)) { ++ return log_error(-1, "Failed to sync parent to start host hook"); ++ } ++#endif + ret = lxc_setup_rootfs_switch_root(&lxc_conf->rootfs); + if (ret < 0) + return log_error(-1, "Failed to pivot root into rootfs"); +@@ -4491,6 +4813,11 @@ int lxc_setup(struct lxc_handler *handler) + if (lxc_conf->autodev > 0) + (void)lxc_setup_boot_id(); + ++#ifdef HAVE_ISULAD ++ /*isulad: set system umask */ ++ umask(lxc_conf->umask); ++#endif + ret = setup_personality(lxc_conf->personality); if (ret < 0) - return log_error(-1, "Failed to set personality"); -@@ -3347,6 +3974,37 @@ int lxc_setup(struct lxc_handler *handler) - return log_error(-1, "Failed to setup sysctl parameters"); - } + return syserror("Failed to set personality"); +@@ -4503,6 +4830,37 @@ int lxc_setup(struct lxc_handler *handler) + if (ret < 0) + return log_error(-1, "Failed to setup sysctl parameters"); +#ifdef HAVE_ISULAD -+ // isulad: setup rootfs masked paths -+ if (!lxc_list_empty(&lxc_conf->rootfs.maskedpaths)) { -+ if (setup_rootfs_maskedpaths(&lxc_conf->rootfs.maskedpaths)) { -+ return log_error(-1, "failed to setup maskedpaths"); -+ } -+ } -+ + // isulad: setup rootfs ro paths + if (!lxc_list_empty(&lxc_conf->rootfs.ropaths)) { + if (setup_rootfs_ropaths(&lxc_conf->rootfs.ropaths)) { + return log_error(-1, "failed to setup readonlypaths"); + } + } ++ ++ // isulad: setup rootfs masked paths ++ if (!lxc_list_empty(&lxc_conf->rootfs.maskedpaths)) { ++ if (setup_rootfs_maskedpaths(&lxc_conf->rootfs.maskedpaths)) { ++ return log_error(-1, "failed to setup maskedpaths"); ++ } ++ } + + //isulad: system container, remount /proc/sys/xxx by mount_list + if (lxc_conf->systemd != NULL && strcmp(lxc_conf->systemd, "true") == 0) { @@ -1313,13 +1581,14 @@ index 0078996..378cf9f 100644 + } +#endif + - if (!lxc_list_empty(&lxc_conf->keepcaps)) { - if (!lxc_list_empty(&lxc_conf->caps)) - return log_error(-1, "Container requests lxc.cap.drop and lxc.cap.keep: either use lxc.cap.drop or lxc.cap.keep, not both"); -@@ -3753,6 +4411,25 @@ void lxc_conf_free(struct lxc_conf *conf) - free(conf->cgroup_meta.controllers); + ret = setup_capabilities(lxc_conf); + if (ret < 0) + return log_error(-1, "Failed to setup capabilities"); +@@ -4876,6 +5234,27 @@ void lxc_conf_free(struct lxc_conf *conf) + free(conf->cgroup_meta.systemd_scope); free(conf->shmount.path_host); free(conf->shmount.path_cont); ++ +#ifdef HAVE_ISULAD + free(conf->container_info_file); + if (conf->exit_fd != -1) { @@ -1339,12 +1608,13 @@ index 0078996..378cf9f 100644 + free(conf->lsm_se_mount_context); + free(conf->lsm_se_keyring_context); +#endif ++ free(conf); } -@@ -4775,3 +5452,1315 @@ struct lxc_list *sort_cgroup_settings(struct lxc_list *cgroup_settings) +@@ -5798,3 +6177,1321 @@ int lxc_set_environment(const struct lxc_conf *conf) - return result; + return 0; } + +#ifdef HAVE_ISULAD @@ -1422,7 +1692,8 @@ index 0078996..378cf9f 100644 + if (caplist[i]) { + cap_data[CAP_TO_INDEX(i)].effective = cap_data[CAP_TO_INDEX(i)].effective | (i > 31 ? __DEF_CAP_TO_MASK(i % 32) : __DEF_CAP_TO_MASK(i)); + cap_data[CAP_TO_INDEX(i)].permitted = cap_data[CAP_TO_INDEX(i)].permitted | (i > 31 ? __DEF_CAP_TO_MASK(i % 32) : __DEF_CAP_TO_MASK(i)); -+ cap_data[CAP_TO_INDEX(i)].inheritable = cap_data[CAP_TO_INDEX(i)].inheritable | (i > 31 ? __DEF_CAP_TO_MASK(i % 32) : __DEF_CAP_TO_MASK(i)); ++ // fix CVE-2022-24769 ++ // inheritable capability should be empty + } + } + @@ -1957,7 +2228,8 @@ index 0078996..378cf9f 100644 + + // Unprivileged containers cannot create devices, so + // try to bind mount the device from the host -+ ret = snprintf(hostpath, MAXPATHLEN, "/dev/%s", dev_elem->name); ++ // dev_elem name is the device path ++ ret = snprintf(hostpath, MAXPATHLEN, "%s", dev_elem->name); + if (ret < 0 || ret >= MAXPATHLEN) { + ret = -1; + goto reset_umask; @@ -1996,16 +2268,19 @@ index 0078996..378cf9f 100644 +static int setup_rootfs_mountopts(const struct lxc_rootfs *rootfs) +{ + unsigned long mflags, mntflags, pflags; -+ char *mntdata = NULL; ++ __do_free char *mntdata = NULL; + + if(!rootfs || !rootfs->options) + return 0; + -+ if (parse_mntopts(rootfs->options, &mntflags, &pflags, &mntdata) < 0) { -+ free(mntdata); ++ if (parse_mntopts_legacy(rootfs->options, &mntflags, &mntdata) < 0) { + return -1; + } -+ free(mntdata); ++ ++ ret = parse_propagationopts(rootfs->options, &pflags); ++ if (ret < 0) { ++ return -EINVAL; ++ } + + if (mntflags & MS_RDONLY) { + mflags = add_required_remount_flags("/", NULL, MS_BIND | MS_REC | mntflags | pflags | MS_REMOUNT); @@ -2117,7 +2392,8 @@ index 0078996..378cf9f 100644 +{ + char **result = NULL; + size_t result_len = env_len; -+ size_t i, j; ++ size_t i = 0; ++ size_t j, k; + char *tmpenv = NULL; + char *lxc_envs[] = {"LD_LIBRARY_PATH", "PATH", "LXC_CGNS_AWARE", "LXC_PID", "LXC_ROOTFS_MOUNT", + "LXC_CONFIG_FILE", "LXC_CGROUP_PATH", "LXC_ROOTFS_PATH", "LXC_NAME" @@ -2132,11 +2408,6 @@ index 0078996..378cf9f 100644 + return NULL; + memset(result, 0, sizeof(char *) * result_len); + -+ for(i = 0; i < env_len; i++) { -+ if (oldenvs[i]) -+ result[i] = safe_strdup(oldenvs[i]); -+ } -+ + for(j = 0; j < (sizeof(lxc_envs) / sizeof(char *)); j++) { + size_t env_buf_len = 0; + tmpenv = getenv(lxc_envs[j]); @@ -2160,6 +2431,11 @@ index 0078996..378cf9f 100644 + } + } + ++ for(k = 0; k < env_len; k++) { ++ if (oldenvs[k] && i < (result_len - 1)) ++ result[i++] = safe_strdup(oldenvs[k]); ++ } ++ + *merge_env_len = i; + return result; +} @@ -2305,552 +2581,1905 @@ index 0078996..378cf9f 100644 + + alive = lxc_process_alive(conf->pid, conf->startat); + -+ if (alive) { -+ ERROR("%s:%d: running %s hook caused \"hook ran past specified timeout of %.1fs\"", -+ __FILE__, __LINE__, lxchook_names[conf->which], -+ (double)conf->timeout); ++ if (alive) { ++ ERROR("%s:%d: running %s hook caused \"hook ran past specified timeout of %.1fs\"", ++ __FILE__, __LINE__, lxchook_names[conf->which], ++ (double)conf->timeout); ++ ++ lxc_write_error_message(conf->errfd, "%s:%d: running %s hook caused \"hook ran past specified timeout of %.1fs\".", ++ __FILE__, __LINE__, lxchook_names[conf->which], ++ (double)conf->timeout); ++ ++ if (kill(conf->pid, SIGKILL) && errno != ESRCH) { ++ ERROR("Send kill signal failed"); ++ goto out; ++ } ++ } ++ ++out: ++ free(conf); ++ return ((void *)0); ++} ++ ++static int run_ocihook_buffer(struct oci_hook_conf *oconf, const char *inmsg) ++{ ++ struct lxc_popen_FILE *f; ++ char output[LXC_LOG_BUFFER_SIZE] = {0}; ++ int ret; ++ pthread_t ptid; ++ int err; ++ struct wait_conf *conf = NULL; ++ pthread_attr_t attr; ++ char *buffer = oconf->ocihook->path; ++ char *err_args_msg = NULL; ++ char *err_envs_msg = NULL; ++ char **hookenvs = NULL; ++ size_t hookenvs_len = 0; ++ ++ hookenvs = merge_ocihook_env(oconf->ocihook->env, oconf->ocihook->env_len, &hookenvs_len); ++ if (!hookenvs) { ++ ERROR("Out of memory."); ++ return -1; ++ } ++ ++ f = lxc_popen_ocihook(buffer, oconf->ocihook->args, oconf->ocihook->args_len, hookenvs, hookenvs_len, inmsg); ++ lxc_free_array((void **)hookenvs, free); ++ if (!f) { ++ SYSERROR("Failed to popen() %s.", buffer); ++ return -1; ++ } ++ ++ conf = malloc(sizeof(struct wait_conf)); ++ if (conf == NULL) { ++ SYSERROR("Failed to malloc."); ++ goto on_error; ++ } ++ ++ memset(conf, 0x00, sizeof(struct wait_conf)); ++ ++ conf->pid = f->child_pid; ++ conf->startat = lxc_get_process_startat(conf->pid); ++ ++ INFO("hook_conf timeout %d", oconf->ocihook->timeout); ++ if(oconf->ocihook->timeout > 0) ++ conf->timeout = oconf->ocihook->timeout; ++ else { ++ conf->timeout = 30; ++ INFO("Set hook timeout 30s"); ++ } ++ conf->errfd = oconf->errfd; ++ conf->which = oconf->which; ++ ++ pthread_attr_init(&attr); ++ pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); ++ err = pthread_create(&ptid, &attr, wait_ocihook_timeout, conf); ++ pthread_attr_destroy(&attr); ++ if (err != 0) { ++ ERROR("Create wait timeout thread failed"); ++ free(conf); ++ goto on_error; ++ } ++ ++ ret = lxc_wait_for_pid_status(f->child_pid); ++ ++ lxc_read_nointr(f->pipe, output, sizeof(output) - 1); ++ close(f->pipe); ++ free(f); ++ ++ if (ret == -1) { ++ SYSERROR("Script exited with error."); ++ goto print_hook; ++ } else if (WIFEXITED(ret) && WEXITSTATUS(ret) != 0) { ++ ERROR("Script exited with status %d. output: %s", WEXITSTATUS(ret), output); ++ lxc_write_error_message(oconf->errfd, "%s:%d: running %s hook caused \"error running hook: exit status %d, output: %s\".", ++ __FILE__, __LINE__, ++ (oconf->which >= NUM_LXC_HOOKS) ? "invalid type" : lxchook_names[oconf->which], ++ WEXITSTATUS(ret), output); ++ ++ goto print_hook; ++ } else if (WIFSIGNALED(ret)) { ++ ERROR("Script terminated by signal %d.", WTERMSIG(ret)); ++ lxc_write_error_message(oconf->errfd, "%s:%d: running %s hook caused \"error running hook: Script terminated by signal %d\".", ++ __FILE__, __LINE__, ++ (oconf->which >= NUM_LXC_HOOKS) ? "invalid type" : lxchook_names[oconf->which], ++ WTERMSIG(ret)); ++ ++ goto print_hook; ++ } ++ ++ return 0; ++ ++on_error: ++ if (f) { ++ if (f->pipe >= 0) ++ close(f->pipe); ++ free(f); ++ } ++ ++print_hook: ++ if (oconf->ocihook->args) ++ err_args_msg = lxc_string_join(" ", (const char **)oconf->ocihook->args, false); ++ if (oconf->ocihook->env) ++ err_envs_msg = lxc_string_join(" ", (const char **)oconf->ocihook->env, false); ++ ERROR("Hook script command: \"%s\", args: \"%s\", envs: \"%s\", timeout: %d.", ++ buffer, err_args_msg ? err_args_msg : "", ++ err_envs_msg ? err_envs_msg : "", oconf->ocihook->timeout); ++ ++ free(err_args_msg); ++ free(err_envs_msg); ++ return -1; ++} ++ ++static int run_ocihook_script_argv(const char *name, const char *section, ++ struct oci_hook_conf *oconf, ++ const char *lxcpath, const char *rootfs) ++{ ++ int ret; ++ const char *script = oconf->ocihook->path; ++ char *inmsg = NULL; ++ ++ INFO("Executing script \"%s\" for container \"%s\", config section \"%s\".", ++ script, name, section); ++ ++ inmsg = generate_json_str(name, lxcpath, rootfs); ++ if (!inmsg) { ++ return -1; ++ } ++ ++ ret = run_ocihook_buffer(oconf, inmsg); ++ free(inmsg); ++ inmsg = NULL; ++ return ret; ++} ++ ++static char *get_root_path(const char *path, const char *backend) ++{ ++ char *ret = NULL; ++ char *tmp = NULL; ++ ++ if (!path) { ++ ret = safe_strdup("/"); ++ return ret; ++ } ++ if (!backend) { ++ goto default_out; ++ } ++ ++ if (strcmp(backend, "aufs") == 0 || ++ strcmp(backend, "overlayfs") == 0 || ++ strcmp(backend, "loop") == 0) { ++ tmp = strrchr(path, ':'); ++ if (tmp == NULL) { ++ ERROR("Invalid root path format"); ++ return NULL; ++ } ++ tmp++; ++ ret = safe_strdup(tmp); ++ return ret; ++ } ++ ++default_out: ++ ret = safe_strdup(path); ++ return ret; ++} ++ ++static int do_run_oci_hooks(const char *name, const char *lxcpath, struct lxc_conf *lc, int which, int errfd) ++{ ++ struct oci_hook_conf work_conf = {0}; ++ size_t i; ++ int ret = 0; ++ int nret = 0; ++ char *rootpath = NULL; ++ ++ if (!lc) { ++ return -1; ++ } ++ if (!lc->ocihooks) { ++ return 0; ++ } ++ ++ rootpath = get_root_path(lc->rootfs.path ? lc->rootfs.mount : NULL, lc->rootfs.bdev_type); ++ if (!rootpath) { ++ ERROR("Get container %s rootpath failed.", name); ++ return -1; ++ } ++ ++ work_conf.errfd = errfd; ++ work_conf.which = which; ++ switch (which) { ++ case OCI_HOOK_PRESTART: ++ for (i = 0; i < lc->ocihooks->prestart_len; i++) { ++ work_conf.ocihook = lc->ocihooks->prestart[i]; ++ ret = run_ocihook_script_argv(name, "lxc", &work_conf, lxcpath, rootpath); ++ if (ret != 0) ++ break; ++ } ++ break; ++ case OCI_HOOK_POSTSTART: ++ for (i = 0; i < lc->ocihooks->poststart_len; i++) { ++ work_conf.ocihook = lc->ocihooks->poststart[i]; ++ nret = run_ocihook_script_argv(name, "lxc", &work_conf, lxcpath, rootpath); ++ if (nret != 0) ++ WARN("running poststart hook %zu failed, ContainerId: %s", i, name); ++ } ++ break; ++ case OCI_HOOK_POSTSTOP: ++ for (i = 0; i < lc->ocihooks->poststop_len; i++) { ++ work_conf.ocihook = lc->ocihooks->poststop[i]; ++ nret = run_ocihook_script_argv(name, "lxc", &work_conf, lxcpath, rootpath); ++ if (nret != 0) ++ WARN("running poststart hook %zu failed, ContainerId: %s", i, name); ++ } ++ break; ++ default: ++ ret = -1; ++ } ++ if (rootpath) ++ free(rootpath); ++ return ret; ++} ++ ++int run_oci_hooks(const char *name, const char *hookname, struct lxc_conf *conf, const char *lxcpath) ++{ ++ int which = -1; ++ ++ if (strcmp(hookname, "oci-prestart") == 0) { ++ which = OCI_HOOK_PRESTART; ++ if (!lxcpath) { ++ ERROR("oci hook require lxcpath"); ++ return -1; ++ } ++ return do_run_oci_hooks(name, lxcpath, conf, which, conf->errpipe[1]); ++ } else if (strcmp(hookname, "oci-poststart") == 0) { ++ which = OCI_HOOK_POSTSTART; ++ if (!lxcpath) { ++ ERROR("oci hook require lxcpath"); ++ return -1; ++ } ++ return do_run_oci_hooks(name, lxcpath, conf, which, conf->errpipe[1]); ++ } else if (strcmp(hookname, "oci-poststop") == 0) { ++ which = OCI_HOOK_POSTSTOP; ++ if (!lxcpath) { ++ ERROR("oci hook require lxcpath"); ++ return -1; ++ } ++ return do_run_oci_hooks(name, lxcpath, conf, which, conf->errpipe[1]); ++ } else ++ return -1; ++ ++ return 0; ++} ++ ++/*isulad clear init args*/ ++int lxc_clear_init_args(struct lxc_conf *lxc_conf) ++{ ++ int i; ++ ++ for (i = 0; i < lxc_conf->init_argc; i++) { ++ free(lxc_conf->init_argv[i]); ++ lxc_conf->init_argv[i] = NULL; ++ } ++ free(lxc_conf->init_argv); ++ lxc_conf->init_argv = NULL; ++ lxc_conf->init_argc = 0; ++ ++ return 0; ++} ++ ++/*isulad clear init groups*/ ++int lxc_clear_init_groups(struct lxc_conf *lxc_conf) ++{ ++ free(lxc_conf->init_groups); ++ lxc_conf->init_groups = NULL; ++ lxc_conf->init_groups_len = 0; ++ ++ return 0; ++} ++ ++/*isulad: clear populate devices*/ ++int lxc_clear_populate_devices(struct lxc_conf *c) ++{ ++ struct lxc_list *it = NULL; ++ struct lxc_list *next = NULL; ++ ++ lxc_list_for_each_safe(it, &c->populate_devs, next) { ++ struct lxc_populate_devs *dev_elem = it->elem; ++ lxc_list_del(it); ++ free(dev_elem->name); ++ free(dev_elem->type); ++ free(dev_elem); ++ free(it); ++ } ++ return 0; ++} ++ ++/*isulad: clear rootfs masked paths*/ ++int lxc_clear_rootfs_masked_paths(struct lxc_conf *c) ++{ ++ struct lxc_list *it = NULL; ++ struct lxc_list *next = NULL; ++ ++ lxc_list_for_each_safe(it, &c->rootfs.maskedpaths, next) { ++ lxc_list_del(it); ++ free(it->elem); ++ free(it); ++ } ++ return 0; ++} ++ ++/*isulad: clear rootfs ro paths*/ ++int lxc_clear_rootfs_ro_paths(struct lxc_conf *c) ++{ ++ struct lxc_list *it = NULL; ++ struct lxc_list *next = NULL; ++ ++ lxc_list_for_each_safe(it, &c->rootfs.ropaths, next) { ++ lxc_list_del(it); ++ free(it->elem); ++ free(it); ++ } ++ return 0; ++} ++ ++/*isulad: close error pipe */ ++void lxc_close_error_pipe(int *errpipe) ++{ ++ if (errpipe[0] >= 0) { ++ close(errpipe[0]); ++ errpipe[0] = -1; ++ } ++ if (errpipe[1] >= 0) { ++ close(errpipe[1]); ++ errpipe[1] = -1; ++ } ++} ++#endif +diff --git a/src/lxc/conf.h b/src/lxc/conf.h +index 82cb66a..683b8ba 100644 +--- a/src/lxc/conf.h ++++ b/src/lxc/conf.h +@@ -31,6 +31,10 @@ + #include "syscall_wrappers.h" + #include "terminal.h" + ++#ifdef HAVE_ISULAD ++#include "oci_runtime_hooks.h" ++#endif ++ + #if HAVE_SYS_RESOURCE_H + #include + #endif +@@ -255,6 +259,15 @@ struct lxc_rootfs { + bool managed; + struct lxc_mount_options mnt_opts; + struct lxc_storage *storage; ++#ifdef HAVE_ISULAD ++ /* isulad: maskedpaths */ ++ struct lxc_list maskedpaths; ++ /* isulad: ropaths */ ++ struct lxc_list ropaths; ++ ++ /* Linux Security Modules SELinux context for device mount */ ++ char *lsm_se_mount_context; ++#endif + }; + + /* +@@ -345,6 +358,11 @@ enum lxchooks { + LXCHOOK_CLONE, + LXCHOOK_DESTROY, + LXCHOOK_START_HOST, ++#ifdef HAVE_ISULAD ++ OCI_HOOK_PRESTART, ++ OCI_HOOK_POSTSTART, ++ OCI_HOOK_POSTSTOP, ++#endif + NUM_LXC_HOOKS + }; + +@@ -407,6 +425,27 @@ struct string_entry { + struct list_head head; + }; + ++#ifdef HAVE_ISULAD ++/* ++ * iSulad: Defines a structure to store the devices which will ++ * be attached in container ++ * @name : the target device name in container ++ * @type : the type of target device "c" or "b" ++ * @mode : file mode for the device ++ * @maj : major number for the device ++ * @min : minor number for the device ++ */ ++struct lxc_populate_devs { ++ char *name; ++ char *type; ++ mode_t file_mode; ++ int maj; ++ int min; ++ uid_t uid; ++ gid_t gid; ++}; ++#endif ++ + struct lxc_conf { + /* Pointer to the name of the container. Do not free! */ + const char *name; +@@ -574,6 +613,37 @@ struct lxc_conf { + + struct timens_offsets timens; + ++ ++#ifdef HAVE_ISULAD ++ /* support oci hook */ ++ oci_runtime_spec_hooks *ocihooks; ++ ++ /* init args used to repalce init_cmd */ ++ char **init_argv; ++ size_t init_argc; ++ ++ gid_t *init_groups; ++ size_t init_groups_len; ++ ++ /* populate devices */ ++ struct lxc_list populate_devs; ++ mode_t umask; // umask value ++ ++ char *container_info_file; ++ ++ /* exit fifo fd*/ ++ int exit_fd; ++ ++ /* record error messages */ ++ char *errmsg; ++ ++ /* pipdfd for get error message of child or grandchild process */ ++ int errpipe[2]; ++ ++ /* systemd value */ ++ char *systemd; ++#endif ++ + bool sched_core; + __u64 sched_core_cookie; + }; +@@ -721,4 +791,16 @@ static inline int lxc_personality(personality_t persona) + __hidden extern int lxc_set_environment(const struct lxc_conf *conf); + __hidden extern int parse_cap(const char *cap_name, __u32 *cap); + ++#ifdef HAVE_ISULAD ++// isulad add ++__hidden int lxc_clear_init_args(struct lxc_conf *lxc_conf); ++__hidden int lxc_clear_init_groups(struct lxc_conf *lxc_conf); ++__hidden int lxc_clear_populate_devices(struct lxc_conf *c); ++__hidden int lxc_clear_rootfs_masked_paths(struct lxc_conf *c); ++__hidden int lxc_clear_rootfs_ro_paths(struct lxc_conf *c); ++__hidden int lxc_drop_caps(struct lxc_conf *conf); ++__hidden int run_oci_hooks(const char *name, const char *hookname, struct lxc_conf *conf, const char *lxcpath); ++__hidden void lxc_close_error_pipe(int *errpipe); ++#endif ++ + #endif /* __LXC_CONF_H */ +diff --git a/src/lxc/isulad_utils.c b/src/lxc/isulad_utils.c +index ee39302..889d912 100644 +--- a/src/lxc/isulad_utils.c ++++ b/src/lxc/isulad_utils.c +@@ -533,3 +533,28 @@ out: + funlockfile(stream); + return ret; + } ++ ++ssize_t lxc_write_nointr_for_fifo(int fd, const char *buf, size_t count) ++{ ++ ssize_t nret = 0; ++ ssize_t nwritten; ++ ++ if (buf == NULL) { ++ return -1; ++ } ++ ++ for (nwritten = 0; nwritten < count;) { ++ nret = write(fd, buf + nwritten, count - nwritten); ++ if (nret < 0) { ++ if (errno == EINTR || errno == EAGAIN) { ++ continue; ++ } else { ++ return nret; ++ } ++ } else { ++ nwritten += nret; ++ } ++ } ++ ++ return nwritten; ++} +diff --git a/src/lxc/isulad_utils.h b/src/lxc/isulad_utils.h +index 7a5eb89..93174ae 100644 +--- a/src/lxc/isulad_utils.h ++++ b/src/lxc/isulad_utils.h +@@ -80,23 +80,25 @@ typedef struct proc_t { + processor; /* current (or most recent?) CPU */ + } proc_t; + +-extern int lxc_mem_realloc(void **newptr, size_t newsize, void *oldptr, size_t oldsize); +-extern void *lxc_common_calloc_s(size_t size); +-extern char *safe_strdup(const char *src); ++__hidden extern int lxc_mem_realloc(void **newptr, size_t newsize, void *oldptr, size_t oldsize); ++__hidden extern void *lxc_common_calloc_s(size_t size); ++__hidden extern char *safe_strdup(const char *src); + +-extern int lxc_open(const char *filename, int flags, mode_t mode); +-extern FILE *lxc_fopen(const char *filename, const char *mode); ++__hidden extern int lxc_open(const char *filename, int flags, mode_t mode); ++__hidden extern FILE *lxc_fopen(const char *filename, const char *mode); + +-extern void lxc_write_error_message(int errfd, const char *format, ...); +-extern int lxc_file2str(const char *filename, char ret[], int cap); +-extern int unsigned long long lxc_get_process_startat(pid_t pid); ++__hidden extern void lxc_write_error_message(int errfd, const char *format, ...); ++__hidden extern int lxc_file2str(const char *filename, char ret[], int cap); ++__hidden extern int unsigned long long lxc_get_process_startat(pid_t pid); + // set env home in container +-extern int lxc_setup_env_home(uid_t uid); ++__hidden extern int lxc_setup_env_home(uid_t uid); + +-extern bool lxc_process_alive(pid_t pid, unsigned long long start_time); ++__hidden extern bool lxc_process_alive(pid_t pid, unsigned long long start_time); + +-extern bool is_non_negative_num(const char *s); ++__hidden extern bool is_non_negative_num(const char *s); + +-int util_getpwent_r(FILE *stream, struct passwd *resbuf, char *buffer, size_t buflen, struct passwd **result); ++__hidden int util_getpwent_r(FILE *stream, struct passwd *resbuf, char *buffer, size_t buflen, struct passwd **result); ++ ++__hidden extern ssize_t lxc_write_nointr_for_fifo(int fd, const char *buf, size_t count); + + #endif +diff --git a/src/lxc/lsm/apparmor.c b/src/lxc/lsm/apparmor.c +index 23af021..7ff5ba1 100644 +--- a/src/lxc/lsm/apparmor.c ++++ b/src/lxc/lsm/apparmor.c +@@ -1232,6 +1232,16 @@ static int apparmor_process_label_set(struct lsm_ops *ops, const char *inlabel, + return log_info(0, "Changed AppArmor profile to %s", label); + } + ++#ifdef HAVE_ISULAD ++static int apparmor_file_label_set(const char *path, const char *label) { ++ return 0; ++} ++ ++static int apparmor_relabel(const char *path, const char *label, bool shared) { ++ return 0; ++} ++#endif ++ + static struct lsm_ops apparmor_ops = { + .name = "AppArmor", + .aa_admin = -1, +@@ -1250,6 +1260,10 @@ static struct lsm_ops apparmor_ops = { + .process_label_set = apparmor_process_label_set, + .process_label_get_at = apparmor_process_label_get_at, + .process_label_set_at = apparmor_process_label_set_at, ++#ifdef HAVE_ISULAD ++ .file_label_set = apparmor_file_label_set, ++ .relabel = apparmor_relabel, ++#endif + }; + + struct lsm_ops *lsm_apparmor_ops_init(void) +diff --git a/src/lxc/lsm/lsm.h b/src/lxc/lsm/lsm.h +index a26abb8..93e1a99 100644 +--- a/src/lxc/lsm/lsm.h ++++ b/src/lxc/lsm/lsm.h +@@ -34,6 +34,10 @@ struct lsm_ops { + int (*process_label_fd_get)(struct lsm_ops *ops, pid_t pid, bool on_exec); + char *(*process_label_get_at)(struct lsm_ops *ops, int fd_pid); + int (*process_label_set_at)(struct lsm_ops *ops, int label_fd, const char *label, bool on_exec); ++#ifdef HAVE_ISULAD ++ int (*file_label_set)(const char *path, const char *label); ++ int (*relabel)(const char *path, const char *label, bool share); ++#endif + }; + + __hidden extern struct lsm_ops *lsm_init_static(void); +diff --git a/src/lxc/lsm/nop.c b/src/lxc/lsm/nop.c +index 56b97aa..d3f4081 100644 +--- a/src/lxc/lsm/nop.c ++++ b/src/lxc/lsm/nop.c +@@ -51,6 +51,16 @@ static int nop_process_label_set_at(struct lsm_ops *ops, int label_fd, const cha + return 0; + } + ++#ifdef HAVE_ISULAD ++static int nop_file_label_set(const char *path, const char *label) { ++ return 0; ++} ++ ++static int nop_relabel(const char *path, const char *label, bool shared) { ++ return 0; ++} ++#endif ++ + static struct lsm_ops nop_ops = { + .name = "nop", + .aa_admin = -1, +@@ -69,6 +79,10 @@ static struct lsm_ops nop_ops = { + .process_label_set = nop_process_label_set, + .process_label_get_at = nop_process_label_get_at, + .process_label_set_at = nop_process_label_set_at, ++#ifdef HAVE_ISULAD ++ .file_label_set = nop_file_label_set, ++ .relabel = nop_relabel, ++#endif + }; + + struct lsm_ops *lsm_nop_ops_init(void) +diff --git a/src/lxc/lsm/selinux.c b/src/lxc/lsm/selinux.c +index 9c131ee..5190110 100644 +--- a/src/lxc/lsm/selinux.c ++++ b/src/lxc/lsm/selinux.c +@@ -9,6 +9,9 @@ + #include + #include + #include ++#ifdef HAVE_ISULAD ++#include ++#endif + + #include "conf.h" + #include "file_utils.h" +@@ -165,6 +168,255 @@ static int selinux_enabled(struct lsm_ops *ops) + return is_selinux_enabled(); + } + ++#ifdef HAVE_ISULAD ++/* ++ * selinux_file_label_set: Set SELinux context of a file ++ * ++ * @path : a file ++ * @label : label string ++ * ++ * Returns 0 on success, < 0 on failure ++ */ ++static int selinux_file_label_set(const char *path, const char *label) ++{ ++ if (path == NULL || label == NULL || strcmp(label, "unconfined_t") == 0) { ++ return 0; ++ } ++ ++ if (!is_selinux_enabled()) { ++ return 0; ++ } ++ ++ if (lsetfilecon(path, label) != 0) { ++ SYSERROR("Failed to setSELinux context to \"%s\": %s", label, path); ++ return -1; ++ } ++ ++ INFO("Changed SELinux context to \"%s\": %s", label, path); ++ return 0; ++} ++ ++/* ++ * is_exclude_relabel_path: Determine whether it is a excluded path to label ++ * ++ * @path : a file or directory ++ * ++ * Returns 0 on success, < 0 on failure ++ */ ++static bool is_exclude_relabel_path(const char *path) ++{ ++ const char *exclude_path[] = { "/", "/usr", "/etc", "/tmp", "/home", "/run", "/var", "/root" }; ++ size_t i; ++ ++ for (i = 0; i < sizeof(exclude_path) / sizeof(char *); i++) { ++ if (strcmp(path, exclude_path[i]) == 0) { ++ return true; ++ } ++ } ++ ++ return false; ++} ++ ++/* ++ * bad_prefix: Prevent users from relabing system files ++ * ++ * @path : a file or directory ++ * ++ * Returns 0 on success, < 0 on failure ++ */ ++static int bad_prefix(const char *fpath) ++{ ++ const char *bad_prefixes = "/usr"; ++ ++ if (fpath == NULL) { ++ ERROR("Empty file path"); ++ return -1; ++ } ++ ++ if (strncmp(fpath, bad_prefixes, strlen(bad_prefixes)) == 0) { ++ ERROR("relabeling content in %s is not allowed", bad_prefixes); ++ return -1; ++ } ++ ++ return 0; ++} ++ ++/* ++ * recurse_set_file_label: Recursively label files or folders ++ * ++ * @path : a file or directory ++ * @label : label string ++ * ++ * Returns 0 on success, < 0 on failure ++ */ ++static int recurse_set_file_label(const char *basePath, const char *label) ++{ ++ int ret = 0; ++ __do_closedir DIR *dir = NULL; ++ struct dirent *ptr = NULL; ++ char base[PATH_MAX] = { 0 }; ++ ++ if ((dir = opendir(basePath)) == NULL) { ++ ERROR("Failed to Open dir: %s", basePath); ++ return -1; ++ } ++ ++ ret = lsetfilecon(basePath, label); ++ if (ret != 0) { ++ ERROR("Failed to set file label"); ++ return ret; ++ } ++ ++ while ((ptr = readdir(dir)) != NULL) { ++ if (strcmp(ptr->d_name, ".") == 0 || strcmp(ptr->d_name, "..") == 0) { ++ continue; ++ } else { ++ int nret = snprintf(base, sizeof(base), "%s/%s", basePath, ptr->d_name); ++ if (nret < 0 || nret >= sizeof(base)) { ++ ERROR("Failed to get path"); ++ return -1; ++ } ++ if (ptr->d_type == DT_DIR) { ++ ret = recurse_set_file_label(base, label); ++ if (ret != 0) { ++ ERROR("Failed to set dir label"); ++ return ret; ++ } ++ } else { ++ ret = lsetfilecon(base, label); ++ if (ret != 0) { ++ ERROR("Failed to set file label"); ++ return ret; ++ } ++ } ++ } ++ } ++ ++ return 0; ++} ++ ++/* ++ * selinux_chcon: Chcon changes the `fpath` file object to the SELinux label `label`. ++ * If `fpath` is a directory and `recurse`` is true, Chcon will walk the ++ * directory tree setting the label. ++ * ++ * @fpath : a file or directory ++ * @label : label string ++ * @recurse : whether to recurse ++ * ++ * Returns 0 on success, < 0 on failure ++ */ ++static int selinux_chcon(const char *fpath, const char *label, bool recurse) ++{ ++ struct stat s_buf; ++ ++ if (fpath == NULL || label == NULL) { ++ ERROR("Invalid parameters!"); ++ return -1; ++ } ++ ++ if (bad_prefix(fpath) != 0) { ++ return -1; ++ } ++ if (stat(fpath, &s_buf) != 0) { ++ return -1; ++ } ++ if (recurse && S_ISDIR(s_buf.st_mode)) { ++ return recurse_set_file_label(fpath, label); ++ } ++ ++ if (lsetfilecon(fpath, label) != 0) { ++ ERROR("Failed to set file label"); ++ return -1; ++ } ++ ++ return 0; ++} ++ ++/* ++ * convert_context_to_share_mode: set sensitivity to s0 and remove categories ++ * user:role:type:sensitivity[:categories] => user:role:type:s0 ++ * ++ * @label : label string ++ * ++ * Returns label with share mode on success, NULL on failure ++ */ ++static char *convert_context_to_share_mode(const char *label) { ++ __do_free char *converted_label = strdup(label); ++ char *s = converted_label; ++ const char *shared_level = "s0"; ++ int cnt = 0; ++ ++ // selinux label format: user:role:type:sensitivity[:categories] ++ // locates the ":" position in front of the sensitivity ++ while (cnt++ < 3 && (s = strchr(s, ':')) != NULL) { ++ s++; ++ } ++ ++ // make sure sensitivity can set s0 value ++ if (s == NULL || strlen(s) < strlen(shared_level)) { ++ ERROR("Invalid selinux file context: %s", label); ++ return NULL; ++ } ++ ++ if (strcmp(s, shared_level) == 0) { ++ return move_ptr(converted_label); ++ } ++ ++ *s = '\0'; ++ strcat(converted_label, shared_level); ++ ++ return move_ptr(converted_label); ++} ++ ++/* ++ * selinux_relabel: Relabel changes the label of path to the filelabel string. ++ * It changes the MCS label to s0 if shared is true. ++ * This will allow all containers to share the content. ++ * ++ * @path : a file or directory ++ * @label : label string ++ * @shared : whether to use share mode ++ * ++ * Returns 0 on success, < 0 on failure ++ */ ++static int selinux_relabel(const char *path, const char *label, bool shared) ++{ ++ __do_free char *tmp_file_label = NULL; ++ ++ if (path == NULL || label == NULL) { ++ return 0; ++ } ++ ++ if (!is_selinux_enabled()) { ++ return 0; ++ } ++ ++ if (is_exclude_relabel_path(path)) { ++ ERROR("SELinux relabeling of %s is not allowed", path); ++ return -1; ++ } ++ ++ if (shared) { ++ tmp_file_label = convert_context_to_share_mode(label); ++ if (tmp_file_label == NULL) { ++ ERROR("Failed to convert context to share mode: %s", label); ++ return -1; ++ } ++ } else { ++ tmp_file_label = strdup(label); ++ } ++ ++ ++ if (selinux_chcon(path, tmp_file_label, true) != 0) { ++ ERROR("Failed to modify %s's selinux context: %s", path, tmp_file_label); ++ return -1; ++ } ++ ++ return 0; ++} ++#endif ++ + static struct lsm_ops selinux_ops = { + .name = "SELinux", + .aa_admin = -1, +@@ -183,6 +435,10 @@ static struct lsm_ops selinux_ops = { + .process_label_set = selinux_process_label_set, + .process_label_get_at = selinux_process_label_get_at, + .process_label_set_at = selinux_process_label_set_at, ++#ifdef HAVE_ISULAD ++ .file_label_set = selinux_file_label_set, ++ .relabel = selinux_relabel, ++#endif + }; + + struct lsm_ops *lsm_selinux_ops_init(void) +diff --git a/src/lxc/lxc.h b/src/lxc/lxc.h +index e58fb21..879e899 100644 +--- a/src/lxc/lxc.h ++++ b/src/lxc/lxc.h +@@ -88,6 +88,13 @@ __hidden extern lxc_state_t lxc_state(const char *name, const char *lxcpath); + */ + extern struct lxc_container *lxc_container_new(const char *name, const char *configpath); + ++#ifdef HAVE_ISULAD ++/* ++ * Create a new container without loading config. ++ */ ++extern struct lxc_container *lxc_container_without_config_new(const char *name, const char *configpath); ++#endif ++ + /* + * Returns 1 on success, 0 on failure. + */ +diff --git a/src/lxc/lxclock.c b/src/lxc/lxclock.c +index acddc13..2c15daf 100644 +--- a/src/lxc/lxclock.c ++++ b/src/lxc/lxclock.c +@@ -310,3 +310,30 @@ void container_disk_unlock(struct lxc_container *c) + lxcunlock(c->slock); + lxcunlock(c->privlock); + } ++ ++#ifdef HAVE_ISULAD ++static int lxc_removelock(struct lxc_lock *l) ++{ ++ int ret = 0; ++ ++ if (l->type == LXC_LOCK_FLOCK) { ++ ret = unlink(l->u.f.fname); ++ if (ret && errno != ENOENT) { ++ SYSERROR("Error unlink %s", l->u.f.fname); ++ return ret; ++ } ++ } ++ ++ return ret; ++} ++ ++int container_disk_removelock(struct lxc_container *c) ++{ ++ int ret; ++ ++ ret = lxc_removelock(c->slock); ++ if (ret) ++ return ret; ++ return lxc_removelock(c->privlock); ++} ++#endif +\ No newline at end of file +diff --git a/src/lxc/lxclock.h b/src/lxc/lxclock.h +index a20d356..987c3e5 100644 +--- a/src/lxc/lxclock.h ++++ b/src/lxc/lxclock.h +@@ -158,4 +158,8 @@ __hidden extern int container_disk_lock(struct lxc_container *c); + */ + __hidden extern void container_disk_unlock(struct lxc_container *c); + ++#ifdef HAVE_ISULAD ++__hidden int container_disk_removelock(struct lxc_container *c); ++#endif ++ + #endif +diff --git a/src/lxc/mainloop.c b/src/lxc/mainloop.c +index a98e21a..765240e 100644 +--- a/src/lxc/mainloop.c ++++ b/src/lxc/mainloop.c +@@ -532,3 +532,19 @@ void lxc_mainloop_close(struct lxc_async_descr *descr) + + INIT_LIST_HEAD(&descr->handlers); + } ++ ++#ifdef HAVE_ISULAD ++int isulad_safe_mainloop(struct lxc_epoll_descr *descr, int timeout_ms) ++{ ++ int ret; ++ ++ ret = lxc_mainloop(descr, timeout_ms); ++ ++ // There are stdout and stderr channels, and two epolls should be performed to prevent ++ // one of the channels from exiting first, causing the other channel to not receive data, ++ // resulting in data loss ++ (void)lxc_mainloop(descr, 100); ++ ++ return ret; ++} ++#endif +diff --git a/src/lxc/mainloop.h b/src/lxc/mainloop.h +index 7d644b7..e8ce082 100644 +--- a/src/lxc/mainloop.h ++++ b/src/lxc/mainloop.h +@@ -65,4 +65,8 @@ __hidden extern void lxc_mainloop_close(struct lxc_async_descr *descr); + + define_cleanup_function(struct lxc_async_descr *, lxc_mainloop_close); + ++#ifdef HAVE_ISULAD ++__hidden extern int isulad_safe_mainloop(struct lxc_epoll_descr *descr, int timeout_ms); ++#endif ++ + #endif +diff --git a/src/lxc/mount_utils.c b/src/lxc/mount_utils.c +index fe8da82..be154af 100644 +--- a/src/lxc/mount_utils.c ++++ b/src/lxc/mount_utils.c +@@ -539,6 +539,11 @@ bool can_use_mount_api(void) + { + static int supported = -1; + ++#ifdef HAVE_ISULAD ++ // isulad just use save_mount() ++ return supported == 1; ++#endif ++ + if (supported == -1) { + __do_close int fd = -EBADF; + +diff --git a/src/lxc/seccomp.c b/src/lxc/seccomp.c +index 5a725f6..f0fa297 100644 +--- a/src/lxc/seccomp.c ++++ b/src/lxc/seccomp.c +@@ -352,8 +352,13 @@ static int get_hostarch(void) + return lxc_seccomp_arch_unknown; + } + ++#ifdef HAVE_ISULAD ++static scmp_filter_ctx get_new_ctx(enum lxc_hostarch_t n_arch, uint32_t default_policy_action, ++ uint32_t *architectures) ++#else + static scmp_filter_ctx get_new_ctx(enum lxc_hostarch_t n_arch, uint32_t default_policy_action, + bool *needs_merge) ++#endif + { + int ret; + uint32_t arch; +@@ -477,9 +482,17 @@ static scmp_filter_ctx get_new_ctx(enum lxc_hostarch_t n_arch, uint32_t default_ + } + TRACE("Removed native arch from main seccomp context"); + ++#ifdef HAVE_ISULAD ++ *architectures = arch; ++#else + *needs_merge = true; ++#endif + } else { ++#ifdef HAVE_ISULAD ++ *architectures = SCMP_ARCH_NATIVE; ++#else + *needs_merge = false; ++#endif + TRACE("Arch %d already present in main seccomp context", (int)n_arch); + } + +@@ -517,8 +530,13 @@ static enum lxc_seccomp_rule_status_t do_resolve_add_rule(uint32_t arch, char *l + SCMP_A1(SCMP_CMP_MASKED_EQ, MNT_FORCE, MNT_FORCE)); + if (ret < 0) { + errno = -ret; ++#ifdef HAVE_ISULAD ++ SYSWARN("Failed loading rule to reject force umount"); ++ return lxc_seccomp_rule_added; ++#else + SYSERROR("Failed loading rule to reject force umount"); + return lxc_seccomp_rule_err; ++#endif + } + + INFO("Set seccomp rule to reject force umounts"); +@@ -544,11 +562,19 @@ static enum lxc_seccomp_rule_status_t do_resolve_add_rule(uint32_t arch, char *l + + memset(&arg_cmp, 0, sizeof(arg_cmp)); + for (size_t i = 0; i < rule->args_num; i++) { ++#ifdef HAVE_ISULAD ++ DEBUG("arg_cmp[%zu]: SCMP_CMP(%u, %llu, %llu, %llu)", i, ++ rule->args_value[i].index, ++ (long long unsigned int)rule->args_value[i].op, ++ (long long unsigned int)rule->args_value[i].mask, ++ (long long unsigned int)rule->args_value[i].value); ++#else + INFO("arg_cmp[%zu]: SCMP_CMP(%u, %llu, %llu, %llu)", i, + rule->args_value[i].index, + (long long unsigned int)rule->args_value[i].op, + (long long unsigned int)rule->args_value[i].mask, + (long long unsigned int)rule->args_value[i].value); ++#endif + + if (SCMP_CMP_MASKED_EQ == rule->args_value[i].op) + arg_cmp[i] = SCMP_CMP(rule->args_value[i].index, +@@ -569,9 +595,15 @@ static enum lxc_seccomp_rule_status_t do_resolve_add_rule(uint32_t arch, char *l + rule->args_num, arg_cmp); + if (ret < 0) { + errno = -ret; ++#ifdef HAVE_ISULAD ++ SYSDEBUG("Failed to add rule for syscall[%d:%s] action[%d:%s] arch[%u]", ++ nr, line, rule->action, get_action_name(rule->action), arch); ++ return lxc_seccomp_rule_added; ++#else + SYSERROR("Failed to add rule for syscall[%d:%s] action[%d:%s] arch[%u]", + nr, line, rule->action, get_action_name(rule->action), arch); + return lxc_seccomp_rule_err; ++#endif + } + + return lxc_seccomp_rule_added; +diff --git a/src/lxc/start.h b/src/lxc/start.h +index cd36bc5..bbd1a83 100644 +--- a/src/lxc/start.h ++++ b/src/lxc/start.h +@@ -123,6 +123,17 @@ struct lxc_handler { + + struct cgroup_ops *cgroup_ops; + ++#ifdef HAVE_ISULAD ++ int exit_code;/* isulad: record the exit code of container */ ++ /* Indicates whether should we using pipes or pty dup to std{in,out,err} for console log. */ ++ bool disable_pty; ++ /* Indicates whether should we keep stdin active. */ ++ bool open_stdin; ++ bool image_type_oci; ++ // isulad need timeout in __lxc_start ++ unsigned int start_timeout; ++#endif ++ + /* Internal fds that always need to stay open. */ + int keep_fds[3]; + +diff --git a/src/lxc/tools/arguments.h b/src/lxc/tools/arguments.h +index 92510ec..d5c9169 100644 +--- a/src/lxc/tools/arguments.h ++++ b/src/lxc/tools/arguments.h +@@ -126,6 +126,20 @@ struct lxc_arguments { + const char *want_hostname; + bool setuid; + ++#ifdef HAVE_ISULAD ++ char *workdir; ++ const char *container_info; /* isulad: file used to store pid and ppid info of container */ ++ char *terminal_fifos[3]; /* isulad add, fifos used to redirct stdin/out/err */ ++ const char *exit_monitor_fifo; /* isulad: fifo used to monitor state of monitor process */ ++ const char *suffix; /* isulad add, suffix used for connect with parent of execed process*/ ++ int disable_pty; ++ int open_stdin; ++ unsigned int start_timeout; /* isulad: Seconds for waiting on a container to start before it is killed*/ ++ int64_t attach_timeout; /* for lxc-attach */ ++ gid_t *add_gids; ++ size_t add_gids_len; ++#endif ++ + /* remaining arguments */ + char *const *argv; + int argc; +@@ -156,6 +170,20 @@ struct lxc_arguments { + #define OPT_SHARE_UTS OPT_USAGE - 5 + #define OPT_SHARE_PID OPT_USAGE - 6 + ++#ifdef HAVE_ISULAD ++#define OPT_INPUT_FIFO OPT_USAGE - 7 ++#define OPT_OUTPUT_FIFO OPT_USAGE - 8 ++#define OPT_STDERR_FIFO OPT_USAGE - 9 ++#define OPT_CONTAINER_INFO OPT_USAGE - 10 ++#define OPT_EXIT_FIFO OPT_USAGE - 11 ++#define OPT_START_TIMEOUT OPT_USAGE - 12 ++#define OPT_DISABLE_PTY OPT_USAGE - 13 ++#define OPT_OPEN_STDIN OPT_USAGE - 14 ++#define OPT_ATTACH_TIMEOUT OPT_USAGE - 15 ++#define OPT_ATTACH_SUFFIX OPT_USAGE - 16 ++#define OPT_ADDITIONAL_GIDS OPT_USAGE - 17 ++#endif ++ + __hidden extern int lxc_arguments_parse(struct lxc_arguments *args, int argc, char *const argv[]); + + __hidden extern int lxc_arguments_str_to_int(struct lxc_arguments *args, const char *str); +diff --git a/src/lxc/tools/lxc_attach.c b/src/lxc/tools/lxc_attach.c +index 8c519f1..1283bcf 100644 +--- a/src/lxc/tools/lxc_attach.c ++++ b/src/lxc/tools/lxc_attach.c +@@ -73,9 +73,22 @@ static const struct option my_longopts[] = { + {"set-var", required_argument, 0, 'v'}, + {"pty-log", required_argument, 0, 'L'}, + {"rcfile", required_argument, 0, 'f'}, ++ {"context", required_argument, 0, 'c'}, ++#ifndef HAVE_ISULAD + {"uid", required_argument, 0, 'u'}, + {"gid", required_argument, 0, 'g'}, +- {"context", required_argument, 0, 'c'}, ++#else ++ {"workdir", required_argument, 0, 'w'}, ++ {"user", required_argument, 0, 'u'}, ++ {"add-gids", required_argument, 0, OPT_ADDITIONAL_GIDS}, ++ {"in-fifo", required_argument, 0, OPT_INPUT_FIFO}, /* isulad add terminal fifos*/ ++ {"out-fifo", required_argument, 0, OPT_OUTPUT_FIFO}, ++ {"err-fifo", required_argument, 0, OPT_STDERR_FIFO}, ++ {"suffix", required_argument, 0, OPT_ATTACH_SUFFIX}, ++ {"timeout", required_argument, 0, OPT_ATTACH_TIMEOUT}, ++ {"disable-pty", no_argument, 0, OPT_DISABLE_PTY}, ++ {"open-stdin", no_argument, 0, OPT_OPEN_STDIN}, ++#endif + LXC_COMMON_OPTIONS + }; + +@@ -126,11 +139,29 @@ Options :\n\ + multiple times.\n\ + -f, --rcfile=FILE\n\ + Load configuration file FILE\n\ +- -u, --uid=UID Execute COMMAND with UID inside the container\n\ +- -g, --gid=GID Execute COMMAND with GID inside the container\n\ + -c, --context=context\n\ + SELinux Context to transition into\n\ +-", ++" ++#ifndef HAVE_ISULAD ++"\ ++ -u, --uid=UID Execute COMMAND with UID inside the container\n\ ++ -g, --gid=GID Execute COMMAND with GID inside the container\n\ ++" ++#else ++"\ ++ -w, --workdir Working directory inside the container.\n\ ++ -u, --user User ID (format: UID[:GID])\n\ ++ --add-gids Additional gids (format: GID[,GID])\n\ ++ --in-fifo Stdin fifo path\n\ ++ --out-fifo Stdout fifo path\n\ ++ --err-fifo Stderr fifo path\n\ ++ --suffix ID for mutli-attach on one container\n\ ++ --timeout Timeout in seconds (default: 0)\n\ ++ --disable-pty Disable pty for attach\n\ ++ --open-stdin Open stdin for attach\n\ ++" ++#endif ++, + .options = my_longopts, + .parser = my_parser, + .checker = NULL, +@@ -140,6 +171,123 @@ Options :\n\ + .gid = LXC_INVALID_GID, + }; + ++#ifdef HAVE_ISULAD ++static int parse_user_id(const char *username, char **uid, char **gid, char **tmp_dup) ++{ ++ char *tmp = NULL; ++ char *pdot = NULL; ++ ++ if (uid == NULL || gid == NULL || tmp_dup == NULL) { ++ return -1; ++ } ++ ++ if (username != NULL) { ++ tmp = strdup(username); ++ if (tmp == NULL) { ++ ERROR("Failed to duplicate user name"); ++ return -1; ++ } + -+ lxc_write_error_message(conf->errfd, "%s:%d: running %s hook caused \"hook ran past specified timeout of %.1fs\".", -+ __FILE__, __LINE__, lxchook_names[conf->which], -+ (double)conf->timeout); ++ // for free tmp in caller ++ *tmp_dup = tmp; ++ pdot = strstr(tmp, ":"); ++ if (pdot != NULL) { ++ *pdot = '\0'; ++ if (pdot != tmp) { ++ // uid found ++ *uid = tmp; ++ } + -+ if (kill(conf->pid, SIGKILL) && errno != ESRCH) { -+ ERROR("Send kill signal failed"); -+ goto out; ++ if (*(pdot + 1) != '\0') { ++ // gid found ++ *gid = pdot + 1; ++ } ++ } else { ++ // No : found ++ if (*tmp != '\0') { ++ *uid = tmp; ++ } + } + } + -+out: -+ free(conf); -+ return ((void *)0); ++ return 0; +} + -+static int run_ocihook_buffer(struct oci_hook_conf *oconf, const char *inmsg) ++static int get_attach_uid_gid(const char *username, uid_t *user_id, gid_t *group_id) +{ -+ struct lxc_popen_FILE *f; -+ char output[LXC_LOG_BUFFER_SIZE] = {0}; -+ int ret; -+ pthread_t ptid; -+ int err; -+ struct wait_conf *conf = NULL; -+ pthread_attr_t attr; -+ char *buffer = oconf->ocihook->path; -+ char *err_args_msg = NULL; -+ char *err_envs_msg = NULL; -+ char **hookenvs = NULL; -+ size_t hookenvs_len = 0; ++ char *tmp = NULL; ++ char *uid = NULL; ++ char *gid = NULL; + -+ hookenvs = merge_ocihook_env(oconf->ocihook->env, oconf->ocihook->env_len, &hookenvs_len); -+ if (!hookenvs) { -+ ERROR("Out of memory."); ++ // parse uid and gid by username ++ if (parse_user_id(username, &uid, &gid, &tmp) != 0) { + return -1; + } + -+ f = lxc_popen_ocihook(buffer, oconf->ocihook->args, oconf->ocihook->args_len, hookenvs, hookenvs_len, inmsg); -+ lxc_free_array((void **)hookenvs, free); -+ if (!f) { -+ SYSERROR("Failed to popen() %s.", buffer); -+ return -1; ++ if (uid != NULL) { ++ *user_id = (unsigned int)atoll(uid); + } -+ -+ conf = malloc(sizeof(struct wait_conf)); -+ if (conf == NULL) { -+ SYSERROR("Failed to malloc."); -+ goto on_error; ++ if (gid != NULL) { ++ *group_id = (unsigned int)atoll(gid); + } + -+ memset(conf, 0x00, sizeof(struct wait_conf)); -+ -+ conf->pid = f->child_pid; -+ conf->startat = lxc_get_process_startat(conf->pid); ++ free(tmp); ++ return 0; ++} + -+ INFO("hook_conf timeout %d", oconf->ocihook->timeout); -+ if(oconf->ocihook->timeout > 0) -+ conf->timeout = oconf->ocihook->timeout; -+ else { -+ conf->timeout = 30; -+ INFO("Set hook timeout 30s"); ++static int get_attach_add_gids(const char *add_gids, gid_t **gids, size_t *gids_len) ++{ ++ long long int readvalue; ++ size_t i, len; ++ const size_t max_gids = 100; ++ gid_t *g = NULL; ++ __do_free_string_list char **gids_str = NULL; ++ ++ if (add_gids == NULL || strlen(add_gids) == 0) { ++ ERROR("None additional gids"); ++ return -1; + } -+ conf->errfd = oconf->errfd; -+ conf->which = oconf->which; + -+ pthread_attr_init(&attr); -+ pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); -+ err = pthread_create(&ptid, &attr, wait_ocihook_timeout, conf); -+ pthread_attr_destroy(&attr); -+ if (err != 0) { -+ ERROR("Create wait timeout thread failed"); -+ free(conf); -+ goto on_error; ++ gids_str = lxc_string_split(add_gids, ','); ++ if (gids_str == NULL) { ++ ERROR("Failed to split additional gids"); ++ return -1; + } + -+ ret = lxc_wait_for_pid_status(f->child_pid); -+ -+ lxc_read_nointr(f->pipe, output, sizeof(output) - 1); -+ close(f->pipe); -+ free(f); -+ -+ if (ret == -1) { -+ SYSERROR("Script exited with error."); -+ goto print_hook; -+ } else if (WIFEXITED(ret) && WEXITSTATUS(ret) != 0) { -+ ERROR("Script exited with status %d. output: %s", WEXITSTATUS(ret), output); -+ lxc_write_error_message(oconf->errfd, "%s:%d: running %s hook caused \"error running hook: exit status %d, output: %s\".", -+ __FILE__, __LINE__, -+ (oconf->which >= NUM_LXC_HOOKS) ? "invalid type" : lxchook_names[oconf->which], -+ WEXITSTATUS(ret), output); -+ -+ goto print_hook; -+ } else if (WIFSIGNALED(ret)) { -+ ERROR("Script terminated by signal %d.", WTERMSIG(ret)); -+ lxc_write_error_message(oconf->errfd, "%s:%d: running %s hook caused \"error running hook: Script terminated by signal %d\".", -+ __FILE__, __LINE__, -+ (oconf->which >= NUM_LXC_HOOKS) ? "invalid type" : lxchook_names[oconf->which], -+ WTERMSIG(ret)); -+ -+ goto print_hook; ++ len = lxc_array_len((void **)gids_str); ++ if (len > max_gids) { ++ ERROR("Too many gids"); ++ return -1; + } + -+ return 0; ++ g = calloc(len, sizeof(gid_t)); ++ if (g == NULL) { ++ ERROR("Out of memory"); ++ return -1; ++ } + -+on_error: -+ if (f) { -+ if (f->pipe >= 0) -+ close(f->pipe); -+ free(f); ++ for (i = 0; i < len; i++) { ++ if (lxc_safe_long_long(gids_str[i], &readvalue) != 0) { ++ SYSERROR("Invalid gid value %s", gids_str[i]); ++ goto err_out; ++ } ++ if (readvalue < 0) { ++ ERROR("Invalid gid value: %lld", readvalue); ++ goto err_out; ++ } ++ g[i] = (unsigned int)readvalue; + } + -+print_hook: -+ if (oconf->ocihook->args) -+ err_args_msg = lxc_string_join(" ", (const char **)oconf->ocihook->args, false); -+ if (oconf->ocihook->env) -+ err_envs_msg = lxc_string_join(" ", (const char **)oconf->ocihook->env, false); -+ ERROR("Hook script command: \"%s\", args: \"%s\", envs: \"%s\", timeout: %d.", -+ buffer, err_args_msg ? err_args_msg : "", -+ err_envs_msg ? err_envs_msg : "", oconf->ocihook->timeout); ++ *gids = g; ++ *gids_len = len; ++ return 0; + -+ free(err_args_msg); -+ free(err_envs_msg); ++err_out: ++ free(g); + return -1; +} ++#endif + -+static int run_ocihook_script_argv(const char *name, const char *section, -+ struct oci_hook_conf *oconf, -+ const char *lxcpath, const char *rootfs) -+{ -+ int ret; -+ const char *script = oconf->ocihook->path; -+ char *inmsg = NULL; + static int my_parser(struct lxc_arguments *args, int c, char *arg) + { + int ret; +@@ -197,6 +345,10 @@ static int my_parser(struct lxc_arguments *args, int c, char *arg) + case 'f': + args->rcfile = arg; + break; ++ case 'c': ++ selinux_context = arg; ++ break; ++#ifndef HAVE_ISULAD + case 'u': + if (lxc_safe_uint(arg, &args->uid) < 0) + return -1; +@@ -205,9 +357,48 @@ static int my_parser(struct lxc_arguments *args, int c, char *arg) + if (lxc_safe_uint(arg, &args->gid) < 0) + return -1; + break; +- case 'c': +- selinux_context = arg; +- break; ++#else ++ case 'u': ++ if (get_attach_uid_gid(arg, &args->uid, &args->gid) != 0) { ++ ERROR("Failed to get attach user U/GID"); ++ return -1; ++ } ++ break; ++ case 'w': ++ args->workdir=arg; ++ break; ++ case OPT_INPUT_FIFO: ++ args->terminal_fifos[0] = arg; ++ break; ++ case OPT_OUTPUT_FIFO: ++ args->terminal_fifos[1] = arg; ++ break; ++ case OPT_STDERR_FIFO: ++ args->terminal_fifos[2] = arg; ++ break; ++ case OPT_ATTACH_SUFFIX: ++ args->suffix = arg; ++ break; ++ case OPT_ATTACH_TIMEOUT: ++ if(!is_non_negative_num(arg)) { ++ ERROR("Error attach timeout parameter:%s.\n", arg); ++ return -1; ++ } ++ args->attach_timeout = (unsigned int)atoll(arg); ++ break; ++ case OPT_DISABLE_PTY: ++ args->disable_pty = 1; ++ break; ++ case OPT_OPEN_STDIN: ++ args->open_stdin = 1; ++ break; ++ case OPT_ADDITIONAL_GIDS: ++ if (get_attach_add_gids(arg, &args->add_gids, &args->add_gids_len) != 0) { ++ ERROR("Failed to get attach additional gids"); ++ return -1; ++ } ++ break; ++#endif + } + + return 0; +@@ -271,6 +462,290 @@ static int lxc_attach_create_log_file(const char *log_file) + return fd; + } + ++#ifdef HAVE_ISULAD ++// isulad: send '128 + signal' if container is killed by signal. ++#define EXIT_SIGNAL_OFFSET 128 + -+ INFO("Executing script \"%s\" for container \"%s\", config section \"%s\".", -+ script, name, section); ++/*isulad: attach with terminal*/ ++static int do_attach_foreground(struct lxc_container *c, lxc_attach_command_t *command, ++ lxc_attach_options_t *attach_options, ++ char **errmsg) ++{ ++ int ret = 0; ++ pid_t pid; ++ int wexit = -1; ++ int signal; + -+ inmsg = generate_json_str(name, lxcpath, rootfs); -+ if (!inmsg) { -+ return -1; ++ if (command->program) ++ ret = c->attach(c, lxc_attach_run_command, command, attach_options, &pid); ++ else ++ ret = c->attach(c, lxc_attach_run_shell, NULL, attach_options, &pid); ++ if (ret < 0) { ++ *errmsg = safe_strdup("Internal error, failed to call attach"); ++ goto out; + } + -+ ret = run_ocihook_buffer(oconf, inmsg); -+ free(inmsg); -+ inmsg = NULL; -+ return ret; -+} ++ ret = lxc_wait_for_pid_status(pid); ++ if (ret < 0) { ++ free(*errmsg); ++ *errmsg = safe_strdup("Internal error, failed to wait attached process"); ++ goto out; ++ } + -+static char *get_root_path(const char *path, const char *backend) -+{ -+ char *ret = NULL; -+ char *tmp = NULL; ++ if (WIFEXITED(ret)) ++ wexit = WEXITSTATUS(ret); ++ else ++ wexit = -1; + -+ if (!path) { -+ ret = safe_strdup("/"); -+ return ret; -+ } -+ if (!backend) { -+ goto default_out; ++ if (WIFSIGNALED(ret)) { ++ signal = WTERMSIG(ret); ++ wexit = EXIT_SIGNAL_OFFSET + signal; + } + -+ if (strcmp(backend, "aufs") == 0 || -+ strcmp(backend, "overlayfs") == 0 || -+ strcmp(backend, "loop") == 0) { -+ tmp = strrchr(path, ':'); -+ if (tmp == NULL) { -+ ERROR("Invalid root path format"); -+ return NULL; -+ } -+ tmp++; -+ ret = safe_strdup(tmp); -+ return ret; -+ } ++ WARN("Execd pid %d exit with %d", pid, wexit); + -+default_out: -+ ret = safe_strdup(path); -+ return ret; ++out: ++ if (c->lxc_conf->errmsg) { ++ free(*errmsg); ++ *errmsg = safe_strdup(c->lxc_conf->errmsg); ++ } ++ return wexit; +} + -+static int do_run_oci_hooks(const char *name, const char *lxcpath, struct lxc_conf *lc, int which, int errfd) ++static void close_msg_pipe(int *errpipe) +{ -+ struct oci_hook_conf work_conf = {0}; -+ size_t i; -+ int ret = 0; -+ int nret = 0; -+ char *rootpath = NULL; -+ -+ if (!lc) { -+ return -1; -+ } -+ if (!lc->ocihooks) { -+ return 0; ++ if (errpipe[0] >= 0) { ++ close(errpipe[0]); ++ errpipe[0] = -1; + } -+ -+ rootpath = get_root_path(lc->rootfs.path ? lc->rootfs.mount : NULL, lc->rootfs.bdev_type); -+ if (!rootpath) { -+ ERROR("Get container %s rootpath failed.", name); -+ return -1; ++ if (errpipe[1] >= 0) { ++ close(errpipe[1]); ++ errpipe[1] = -1; + } ++} + -+ work_conf.errfd = errfd; -+ work_conf.which = which; -+ switch (which) { -+ case OCI_HOOK_PRESTART: -+ for (i = 0; i < lc->ocihooks->prestart_len; i++) { -+ work_conf.ocihook = lc->ocihooks->prestart[i]; -+ ret = run_ocihook_script_argv(name, "lxc", &work_conf, lxcpath, rootpath); -+ if (ret != 0) -+ break; -+ } -+ break; -+ case OCI_HOOK_POSTSTART: -+ for (i = 0; i < lc->ocihooks->poststart_len; i++) { -+ work_conf.ocihook = lc->ocihooks->poststart[i]; -+ nret = run_ocihook_script_argv(name, "lxc", &work_conf, lxcpath, rootpath); -+ if (nret != 0) -+ WARN("running poststart hook %zu failed, ContainerId: %s", i, name); -+ } -+ break; -+ case OCI_HOOK_POSTSTOP: -+ for (i = 0; i < lc->ocihooks->poststop_len; i++) { -+ work_conf.ocihook = lc->ocihooks->poststop[i]; -+ nret = run_ocihook_script_argv(name, "lxc", &work_conf, lxcpath, rootpath); -+ if (nret != 0) -+ WARN("running poststart hook %zu failed, ContainerId: %s", i, name); ++/*isulad: attach without terminal in background */ ++static int do_attach_background(struct lxc_container *c, lxc_attach_command_t *command, ++ lxc_attach_options_t *attach_options, ++ char **errmsg) ++{ ++ int ret = 0; ++ int msgpipe[2]; ++ pid_t pid = 0; ++ ssize_t size_read; ++ char msgbuf[BUFSIZ + 1] = {0}; ++ ++ //pipdfd for get error message of child or grandchild process. ++ if (pipe2(msgpipe, O_CLOEXEC) != 0) { ++ SYSERROR("Failed to init msgpipe"); ++ return -1; ++ } ++ ++ pid = fork(); ++ if (pid < 0) { ++ close_msg_pipe(msgpipe); ++ return -1; ++ } ++ ++ if (pid != 0) { ++ close(msgpipe[1]); ++ msgpipe[1] = -1; ++ size_read = read(msgpipe[0], msgbuf, BUFSIZ); ++ if (size_read > 0) { ++ *errmsg = safe_strdup(msgbuf); ++ ret = -1; + } -+ break; -+ default: ++ ++ close(msgpipe[0]); ++ msgpipe[0] = -1; ++ ++ return ret; ++ } ++ ++ /* second fork to be reparented by init */ ++ pid = fork(); ++ if (pid < 0) { ++ SYSERROR("Error doing dual-fork"); ++ close_msg_pipe(msgpipe); ++ exit(1); ++ } ++ if (pid != 0) { ++ close_msg_pipe(msgpipe); ++ exit(0); ++ } ++ ++ close(msgpipe[0]); ++ msgpipe[0] = -1; ++ ++ if (null_stdfds() < 0) { ++ ERROR("failed to close fds"); ++ exit(1); ++ } ++ setsid(); ++ ++ if (command->program) ++ ret = c->attach(c, lxc_attach_run_command, command, attach_options, &pid); ++ else ++ ret = c->attach(c, lxc_attach_run_shell, NULL, attach_options, &pid); ++ if (ret < 0) { ++ if (c->lxc_conf->errmsg) ++ lxc_write_error_message(msgpipe[1], "%s", c->lxc_conf->errmsg); ++ else ++ lxc_write_error_message(msgpipe[1], "Failed to attach container"); ++ close(msgpipe[1]); ++ msgpipe[1] = -1; + ret = -1; ++ goto out; + } -+ if (rootpath) -+ free(rootpath); -+ return ret; ++ ++ close(msgpipe[1]); ++ msgpipe[1] = -1; ++ ++ ret = wait_for_pid(pid); ++out: ++ lxc_container_put(c); ++ if (ret) ++ exit(EXIT_FAILURE); ++ else ++ exit(0); +} + -+int run_oci_hooks(const char *name, const char *hookname, struct lxc_conf *conf, const char *lxcpath) ++int main(int argc, char *argv[]) +{ -+ int which = -1; -+ -+ if (strcmp(hookname, "oci-prestart") == 0) { -+ which = OCI_HOOK_PRESTART; -+ if (!lxcpath) { -+ ERROR("oci hook require lxcpath"); -+ return -1; ++ int wexit = 0; ++ struct lxc_log log; ++ char *errmsg = NULL; ++ lxc_attach_options_t attach_options = LXC_ATTACH_OPTIONS_DEFAULT; ++ lxc_attach_command_t command = (lxc_attach_command_t){.program = NULL}; ++ ++ if (lxc_caps_init()) ++ exit(EXIT_FAILURE); ++ ++ if (lxc_arguments_parse(&my_args, argc, argv)) ++ exit(EXIT_FAILURE); ++ ++ log.name = my_args.name; ++ log.file = my_args.log_file; ++ log.level = my_args.log_priority; ++ log.prefix = my_args.progname; ++ log.quiet = my_args.quiet; ++ log.lxcpath = my_args.lxcpath[0]; ++ ++ if (lxc_log_init(&log)) ++ exit(EXIT_FAILURE); ++ ++ if (geteuid()) ++ if (access(my_args.lxcpath[0], O_RDONLY) < 0) { ++ ERROR("You lack access to %s", my_args.lxcpath[0]); ++ exit(EXIT_FAILURE); + } -+ return do_run_oci_hooks(name, lxcpath, conf, which, conf->errpipe[1]); -+ } else if (strcmp(hookname, "oci-poststart") == 0) { -+ which = OCI_HOOK_POSTSTART; -+ if (!lxcpath) { -+ ERROR("oci hook require lxcpath"); -+ return -1; ++ ++ struct lxc_container *c = lxc_container_new(my_args.name, my_args.lxcpath[0]); ++ if (!c) ++ exit(EXIT_FAILURE); ++ ++ if (my_args.rcfile) { ++ c->clear_config(c); ++ if (!c->load_config(c, my_args.rcfile)) { ++ ERROR("Failed to load rcfile"); ++ lxc_container_put(c); ++ exit(EXIT_FAILURE); + } -+ return do_run_oci_hooks(name, lxcpath, conf, which, conf->errpipe[1]); -+ } else if (strcmp(hookname, "oci-poststop") == 0) { -+ which = OCI_HOOK_POSTSTOP; -+ if (!lxcpath) { -+ ERROR("oci hook require lxcpath"); -+ return -1; ++ ++ c->configfile = strdup(my_args.rcfile); ++ if (!c->configfile) { ++ ERROR("Out of memory setting new config filename"); ++ lxc_container_put(c); ++ exit(EXIT_FAILURE); + } -+ return do_run_oci_hooks(name, lxcpath, conf, which, conf->errpipe[1]); -+ } else -+ return -1; ++ } + -+ return 0; -+} ++ if (!c->may_control(c)) { ++ ERROR("Insufficent privileges to control %s", c->name); ++ lxc_container_put(c); ++ exit(EXIT_FAILURE); ++ } + -+/*isulad clear init args*/ -+int lxc_clear_init_args(struct lxc_conf *lxc_conf) -+{ -+ int i; ++ if (remount_sys_proc) ++ attach_options.attach_flags |= LXC_ATTACH_REMOUNT_PROC_SYS; + -+ for (i = 0; i < lxc_conf->init_argc; i++) { -+ free(lxc_conf->init_argv[i]); -+ lxc_conf->init_argv[i] = NULL; ++ if (elevated_privileges) ++ attach_options.attach_flags &= ~(elevated_privileges); ++ ++ if (my_args.terminal_fifos[0] || my_args.terminal_fifos[1] || my_args.terminal_fifos[2]) { ++ attach_options.init_fifo[0] = my_args.terminal_fifos[0]; ++ attach_options.init_fifo[1] = my_args.terminal_fifos[1]; ++ attach_options.init_fifo[2] = my_args.terminal_fifos[2]; ++ attach_options.attach_flags |= LXC_ATTACH_TERMINAL; ++ } else if (stdfd_is_pty()) { ++ attach_options.attach_flags |= LXC_ATTACH_TERMINAL; + } -+ free(lxc_conf->init_argv); -+ lxc_conf->init_argv = NULL; -+ lxc_conf->init_argc = 0; + -+ return 0; -+} ++ attach_options.namespaces = namespace_flags; ++ attach_options.personality = new_personality; ++ attach_options.env_policy = env_policy; ++ attach_options.extra_env_vars = extra_env; ++ attach_options.extra_keep_env = extra_keep; ++ attach_options.timeout = my_args.attach_timeout; + -+/*isulad clear init groups*/ -+int lxc_clear_init_groups(struct lxc_conf *lxc_conf) -+{ -+ free(lxc_conf->init_groups); -+ lxc_conf->init_groups = NULL; -+ lxc_conf->init_groups_len = 0; ++ if (my_args.argc > 0) { ++ command.program = my_args.argv[0]; ++ command.argv = (char**)my_args.argv; ++ } + -+ return 0; -+} ++ if (my_args.console_log) { ++ attach_options.log_fd = lxc_attach_create_log_file(my_args.console_log); ++ if (attach_options.log_fd < 0) { ++ ERROR("Failed to create log file for %s", c->name); ++ lxc_container_put(c); ++ exit(EXIT_FAILURE); ++ } ++ } + -+/*isulad: clear populate devices*/ -+int lxc_clear_populate_devices(struct lxc_conf *c) -+{ -+ struct lxc_list *it = NULL; -+ struct lxc_list *next = NULL; ++ if (my_args.uid != LXC_INVALID_UID) ++ attach_options.uid = my_args.uid; + -+ lxc_list_for_each_safe(it, &c->populate_devs, next) { -+ struct lxc_populate_devs *dev_elem = it->elem; -+ lxc_list_del(it); -+ free(dev_elem->name); -+ free(dev_elem->type); -+ free(dev_elem); -+ free(it); -+ } -+ return 0; -+} ++ if (my_args.gid != LXC_INVALID_GID) ++ attach_options.gid = my_args.gid; + -+/*isulad: clear rootfs masked paths*/ -+int lxc_clear_rootfs_masked_paths(struct lxc_conf *c) -+{ -+ struct lxc_list *it = NULL; -+ struct lxc_list *next = NULL; ++ attach_options.suffix = my_args.suffix; + -+ lxc_list_for_each_safe(it, &c->rootfs.maskedpaths, next) { -+ lxc_list_del(it); -+ free(it->elem); -+ free(it); ++ if (my_args.disable_pty) { ++ attach_options.disable_pty = true; + } -+ return 0; -+} + -+/*isulad: clear rootfs ro paths*/ -+int lxc_clear_rootfs_ro_paths(struct lxc_conf *c) -+{ -+ struct lxc_list *it = NULL; -+ struct lxc_list *next = NULL; ++ if (my_args.open_stdin) { ++ attach_options.open_stdin = true; ++ } + -+ lxc_list_for_each_safe(it, &c->rootfs.ropaths, next) { -+ lxc_list_del(it); -+ free(it->elem); -+ free(it); ++ if (my_args.workdir) { ++ attach_options.initial_cwd = my_args.workdir; + } -+ return 0; -+} + -+/*isulad: close error pipe */ -+void lxc_close_error_pipe(int *errpipe) -+{ -+ if (errpipe[0] >= 0) { -+ close(errpipe[0]); -+ errpipe[0] = -1; ++ if (my_args.add_gids) { ++ attach_options.add_gids = my_args.add_gids; ++ attach_options.add_gids_len = my_args.add_gids_len; + } -+ if (errpipe[1] >= 0) { -+ close(errpipe[1]); -+ errpipe[1] = -1; ++ ++ /* isulad: add do attach background */ ++ if (attach_options.attach_flags & LXC_ATTACH_TERMINAL) ++ wexit = do_attach_foreground(c, &command, &attach_options, &errmsg); ++ else ++ wexit = do_attach_background(c, &command, &attach_options, &errmsg); ++ ++ if (errmsg) { ++ fprintf(stderr, "%s:%s:%s:%d starting container process caused \"%s\"", c->name, ++ __FILE__, __func__, __LINE__, errmsg); ++ free(errmsg); + } -+} -+#endif -diff --git a/src/lxc/criu.c b/src/lxc/criu.c -index 19f2a17..58d2351 100644 ---- a/src/lxc/criu.c -+++ b/src/lxc/criu.c -@@ -310,7 +310,6 @@ static void exec_criu(struct cgroup_ops *cgroup_ops, struct lxc_conf *conf, - } - } else { - const char *p; -- - p = cgroup_ops->get_limiting_cgroup(cgroup_ops, controllers[0]); - if (!p) { - ERROR("failed to get cgroup path for %s", controllers[0]); -@@ -371,8 +370,15 @@ static void exec_criu(struct cgroup_ops *cgroup_ops, struct lxc_conf *conf, - char *mntdata = NULL; - char arg[2 * PATH_MAX + 2]; - -+#ifdef HAVE_ISULAD -+ unsigned long pflags; + -+ if (parse_mntopts(mntent.mnt_opts, &flags, &pflags, &mntdata) < 0) -+ goto err; ++ lxc_container_put(c); ++ if (wexit >= 0) ++ exit(wexit); ++ ++ exit(EXIT_FAILURE); ++} +#else - if (parse_mntopts(mntent.mnt_opts, &flags, &mntdata) < 0) - goto err; -+#endif - - free(mntdata); - -diff --git a/src/lxc/execute.c b/src/lxc/execute.c -index 7175ef2..1431b81 100644 ---- a/src/lxc/execute.c -+++ b/src/lxc/execute.c -@@ -19,7 +19,11 @@ + int main(int argc, char *argv[]) + { + int ret = -1; +@@ -408,3 +883,4 @@ out: - lxc_log_define(execute, start); + exit(EXIT_FAILURE); + } ++#endif +\ No newline at end of file +diff --git a/src/lxc/tools/lxc_start.c b/src/lxc/tools/lxc_start.c +index 6d2c0ae..d30d8b8 100644 +--- a/src/lxc/tools/lxc_start.c ++++ b/src/lxc/tools/lxc_start.c +@@ -26,6 +26,11 @@ + #include "confile.h" + #include "log.h" +#ifdef HAVE_ISULAD -+static int execute_start(struct lxc_handler *handler, void* data, int fd) -+#else - static int execute_start(struct lxc_handler *handler, void* data) ++#include ++#include "isulad_utils.h" +#endif - { - int argc_add, j; - char **argv; -@@ -71,6 +75,9 @@ static int execute_start(struct lxc_handler *handler, void* data) - execvp(argv[0], argv); - SYSERROR("Failed to exec %s", argv[0]); ++ + lxc_log_define(lxc_start, lxc); + static int my_parser(struct lxc_arguments *args, int c, char *arg); +@@ -46,6 +51,16 @@ static const struct option my_longopts[] = { + {"share-ipc", required_argument, 0, OPT_SHARE_IPC}, + {"share-uts", required_argument, 0, OPT_SHARE_UTS}, + {"share-pid", required_argument, 0, OPT_SHARE_PID}, +#ifdef HAVE_ISULAD -+ lxc_write_error_message(fd, "Failed to exec: \"%s\": %s.", argv[0], strerror(errno)); ++ {"in-fifo", required_argument, 0, OPT_INPUT_FIFO}, ++ {"out-fifo", required_argument, 0, OPT_OUTPUT_FIFO}, ++ {"err-fifo", required_argument, 0, OPT_STDERR_FIFO}, ++ {"container-pidfile", required_argument, 0, OPT_CONTAINER_INFO}, ++ {"exit-fifo", required_argument, 0, OPT_EXIT_FIFO}, ++ {"start-timeout", required_argument, 0, OPT_START_TIMEOUT}, ++ {"disable-pty", no_argument, 0, OPT_DISABLE_PTY}, ++ {"open-stdin", no_argument, 0, OPT_OPEN_STDIN}, +#endif - free(argv); - out1: - return 1; -@@ -88,14 +95,26 @@ static struct lxc_operations execute_start_ops = { - .post_start = execute_post_start + LXC_COMMON_OPTIONS }; +@@ -68,7 +83,20 @@ Options :\n\ + Note: --daemon implies --close-all-fds\n\ + -s, --define KEY=VAL Assign VAL to configuration variable KEY\n\ + --share-[net|ipc|uts|pid]=NAME Share a namespace with another container or pid\n\ +-", ++" +#ifdef HAVE_ISULAD -+int lxc_execute(const char *name, char *const argv[], int quiet, -+ struct lxc_handler *handler, const char *lxcpath, -+ bool daemonize, int *error_num, unsigned int start_timeout) -+#else - int lxc_execute(const char *name, char *const argv[], int quiet, - struct lxc_handler *handler, const char *lxcpath, - bool daemonize, int *error_num) ++"\ ++ --in-fifo Stdin fifo path\n\ ++ --out-fifo Stdout fifo path\n\ ++ --err-fifo Stderr fifo path\n\ ++ --container-pidfile File path for container pid\n\ ++ --exit-fifo Fifo path to save exit code\n\ ++ --start-timeout Timeout for start container\n\ ++ --disable-pty Disable pty for attach\n\ ++ --open-stdin Open stdin for attach\n\ ++" +#endif - { -+ - struct execute_args args = {.argv = argv, .quiet = quiet}; - - TRACE("Doing lxc_execute"); - handler->conf->is_execute = true; ++, + .options = my_longopts, + .parser = my_parser, + .checker = NULL, +@@ -116,6 +144,36 @@ static int my_parser(struct lxc_arguments *args, int c, char *arg) + case OPT_SHARE_PID: + args->share_ns[LXC_NS_PID] = arg; + break; +#ifdef HAVE_ISULAD -+ return __lxc_start(handler, &execute_start_ops, &args, lxcpath, -+ daemonize, error_num, start_timeout); -+#else - return __lxc_start(handler, &execute_start_ops, &args, lxcpath, - daemonize, error_num); ++ case OPT_CONTAINER_INFO: ++ args->container_info = arg; ++ break; ++ case OPT_INPUT_FIFO: ++ args->terminal_fifos[0] = arg; ++ break; ++ case OPT_OUTPUT_FIFO: ++ args->terminal_fifos[1] = arg; ++ break; ++ case OPT_STDERR_FIFO: ++ args->terminal_fifos[2] = arg; ++ break; ++ case OPT_EXIT_FIFO: ++ args->exit_monitor_fifo = arg; ++ break; ++ case OPT_DISABLE_PTY: ++ args->disable_pty = 1; ++ break; ++ case OPT_OPEN_STDIN: ++ args->open_stdin = 1; ++ break; ++ case OPT_START_TIMEOUT: ++ if(!is_non_negative_num(arg)) { ++ fprintf(stderr, "Error start timeout parameter:%s.\n", arg); ++ return -1; ++ } ++ args->start_timeout = (unsigned int)atoi(arg); ++ break; +#endif + } + return 0; } -diff --git a/src/lxc/file_utils.c b/src/lxc/file_utils.c -index 1689cba..681207b 100644 ---- a/src/lxc/file_utils.c -+++ b/src/lxc/file_utils.c -@@ -122,6 +122,33 @@ int lxc_read_from_file(const char *filename, void *buf, size_t count) - return ret; - } +@@ -161,6 +219,9 @@ int main(int argc, char *argv[]) + "/sbin/init", + NULL, + }; ++#ifdef HAVE_ISULAD ++ char *container_info_file = NULL; ++#endif + + lxc_list_init(&defines); + +@@ -281,6 +342,42 @@ int main(int argc, char *argv[]) + goto out; + } +#ifdef HAVE_ISULAD -+ssize_t lxc_write_nointr_for_fifo(int fd, const char *buf, size_t count) -+{ -+ ssize_t nret = 0; -+ ssize_t nwritten; ++ /* isulad: container info file used to store pid and ppid info of container*/ ++ if (my_args.container_info != NULL) { ++ if (ensure_path(&container_info_file, my_args.container_info) < 0) { ++ ERROR("Failed to ensure container's piddile '%s'", my_args.container_info); ++ goto out; ++ } ++ if (!c->set_container_info_file(c, container_info_file)) { ++ ERROR("Failed to set container's piddile '%s'", container_info_file); ++ goto out; ++ } ++ } + -+ if (buf == NULL) { -+ return -1; -+ } ++ if (my_args.terminal_fifos[0] || my_args.terminal_fifos[1] || my_args.terminal_fifos[2]) { ++ c->set_terminal_init_fifos(c, my_args.terminal_fifos[0], my_args.terminal_fifos[1], my_args.terminal_fifos[2]); ++ } + -+ for (nwritten = 0; nwritten < count;) { -+ nret = write(fd, buf + nwritten, count - nwritten); -+ if (nret < 0) { -+ if (errno == EINTR || errno == EAGAIN) { -+ continue; -+ } else { -+ return nret; -+ } -+ } else { -+ nwritten += nret; -+ } -+ } ++ /* isulad: fifo used to monitor state of monitor process */ ++ if (my_args.exit_monitor_fifo != NULL) { ++ c->exit_fifo = safe_strdup(my_args.exit_monitor_fifo); ++ } + -+ return nwritten; -+} -+#endif ++ if (my_args.disable_pty) { ++ c->want_disable_pty(c, true); ++ } + - ssize_t lxc_write_nointr(int fd, const void *buf, size_t count) - { - ssize_t ret; -diff --git a/src/lxc/lsm/apparmor.c b/src/lxc/lsm/apparmor.c -index 02f824f..96c6728 100644 ---- a/src/lxc/lsm/apparmor.c -+++ b/src/lxc/lsm/apparmor.c -@@ -1186,6 +1186,16 @@ static int apparmor_process_label_set(const char *inlabel, struct lxc_conf *conf - return 0; - } - -+#ifdef HAVE_ISULAD -+static int apparmor_file_label_set(const char *path, const char *label) { -+ return 0; -+} ++ if (my_args.open_stdin) { ++ c->want_open_stdin(c, true); ++ } + -+static int apparmor_relabel(const char *path, const char *label, bool shared) { -+ return 0; -+} ++ /* isulad: add start timeout */ ++ if(my_args.start_timeout) { ++ c->set_start_timeout(c, my_args.start_timeout); ++ } +#endif + - static struct lsm_drv apparmor_drv = { - .name = "AppArmor", - .enabled = apparmor_enabled, -@@ -1193,6 +1203,10 @@ static struct lsm_drv apparmor_drv = { - .process_label_set = apparmor_process_label_set, - .prepare = apparmor_prepare, - .cleanup = apparmor_cleanup, -+#ifdef HAVE_ISULAD -+ .file_label_set = apparmor_file_label_set, -+ .relabel = apparmor_relabel, -+#endif - }; - - struct lsm_drv *lsm_apparmor_drv_init(void) -diff --git a/src/lxc/tools/arguments.h b/src/lxc/tools/arguments.h -index cb0ba74..c16d99f 100644 ---- a/src/lxc/tools/arguments.h -+++ b/src/lxc/tools/arguments.h -@@ -40,6 +40,17 @@ struct lxc_arguments { - - /* for lxc-start */ - const char *share_ns[32]; /* size must be greater than LXC_NS_MAX */ + if (my_args.console) + if (!c->set_config_item(c, "lxc.console.path", my_args.console)) + goto out; +@@ -303,6 +400,11 @@ int main(int argc, char *argv[]) + else + err = c->start(c, 0, args) ? EXIT_SUCCESS : EXIT_FAILURE; + if (err) { +#ifdef HAVE_ISULAD -+ char *workdir; -+ const char *container_info; /* isulad: file used to store pid and ppid info of container */ -+ char *terminal_fifos[3]; /* isulad add, fifos used to redirct stdin/out/err */ -+ const char *exit_monitor_fifo; /* isulad: fifo used to monitor state of monitor process */ -+ const char *suffix; /* isulad add, suffix used for connect with parent of execed process*/ -+ int disable_pty; -+ int open_stdin; -+ unsigned int start_timeout; /* isulad: Seconds for waiting on a container to start before it is killed*/ -+ int64_t attach_timeout; /* for lxc-attach */ ++ if (c->lxc_conf->errmsg) ++ fprintf(stderr, "%s:%s:%s:%d starting container process caused \"%s\"", c->name, ++ __FILE__, __func__, __LINE__, c->lxc_conf->errmsg); +#endif + ERROR("The container failed to start"); - /* for lxc-console */ - unsigned int ttynum; -@@ -152,6 +163,19 @@ struct lxc_arguments { - #define OPT_SHARE_UTS OPT_USAGE - 5 - #define OPT_SHARE_PID OPT_USAGE - 6 + if (my_args.daemonize) +@@ -318,5 +420,8 @@ int main(int argc, char *argv[]) + out: + lxc_container_put(c); +#ifdef HAVE_ISULAD -+#define OPT_INPUT_FIFO OPT_USAGE - 7 -+#define OPT_OUTPUT_FIFO OPT_USAGE - 8 -+#define OPT_STDERR_FIFO OPT_USAGE - 9 -+#define OPT_CONTAINER_INFO OPT_USAGE - 10 -+#define OPT_EXIT_FIFO OPT_USAGE - 11 -+#define OPT_START_TIMEOUT OPT_USAGE - 12 -+#define OPT_DISABLE_PTY OPT_USAGE - 13 -+#define OPT_OPEN_STDIN OPT_USAGE - 14 -+#define OPT_ATTACH_TIMEOUT OPT_USAGE - 15 -+#define OPT_ATTACH_SUFFIX OPT_USAGE - 16 ++ free(container_info_file); +#endif -+ - extern int lxc_arguments_parse(struct lxc_arguments *args, int argc, - char *const argv[]); - + exit(err); + } -- 2.25.1 diff --git a/0003-refactor-patch-code-of-isulad-for-selinux-attach.patch b/0003-refactor-patch-code-of-isulad-for-selinux-attach.patch deleted file mode 100644 index c7e81d3..0000000 --- a/0003-refactor-patch-code-of-isulad-for-selinux-attach.patch +++ /dev/null @@ -1,1243 +0,0 @@ -From 44dd71a4d76eb464b81890ea3cfa2ac9c6c3d990 Mon Sep 17 00:00:00 2001 -From: haozi007 -Date: Tue, 19 Jul 2022 14:40:59 +0800 -Subject: [PATCH] refactor patch code of isulad for selinux/attach - -Signed-off-by: haozi007 ---- - src/lxc/exec_commands.c | 471 +++++++++++++++++++++++++++++++++++++ - src/lxc/lsm/selinux.c | 258 ++++++++++++++++++++ - src/lxc/tools/lxc_attach.c | 413 +++++++++++++++++++++++++++++++- - 3 files changed, 1141 insertions(+), 1 deletion(-) - create mode 100644 src/lxc/exec_commands.c - -diff --git a/src/lxc/exec_commands.c b/src/lxc/exec_commands.c -new file mode 100644 -index 0000000..50246fa ---- /dev/null -+++ b/src/lxc/exec_commands.c -@@ -0,0 +1,471 @@ -+/****************************************************************************** -+ * Copyright (c) Huawei Technologies Co., Ltd. 2019. All rights reserved. -+ * Author: lifeng -+ * Create: 2019-12-08 -+ * Description: provide container definition -+ * lxc: linux Container library -+ * This library 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. -+ * -+ * This library 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 this library; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ ******************************************************************************/ -+ -+#ifndef _GNU_SOURCE -+#define _GNU_SOURCE 1 -+#endif -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "af_unix.h" -+#include "cgroup.h" -+#include "exec_commands.h" -+#include "commands_utils.h" -+#include "conf.h" -+#include "config.h" -+#include "confile.h" -+#include "log.h" -+#include "lxc.h" -+#include "lxclock.h" -+#include "mainloop.h" -+#include "monitor.h" -+#include "terminal.h" -+#include "utils.h" -+ -+lxc_log_define(commands_exec, lxc); -+ -+static const char *lxc_exec_cmd_str(lxc_exec_cmd_t cmd) -+{ -+ static const char *const cmdname[LXC_EXEC_CMD_MAX] = { -+ [LXC_EXEC_CMD_SET_TERMINAL_WINCH] = "set_exec_terminal_winch", -+ }; -+ -+ if (cmd >= LXC_EXEC_CMD_MAX) -+ return "Invalid request"; -+ -+ return cmdname[cmd]; -+} -+ -+static int lxc_exec_cmd_rsp_recv(int sock, struct lxc_exec_cmd_rr *cmd) -+{ -+ int ret, rspfd; -+ struct lxc_exec_cmd_rsp *rsp = &cmd->rsp; -+ -+ ret = lxc_abstract_unix_recv_fds_timeout(sock, &rspfd, 1, rsp, sizeof(*rsp), 1000 * 1000); -+ if (ret < 0) { -+ SYSERROR("Failed to receive response for command \"%s\"", -+ lxc_exec_cmd_str(cmd->req.cmd)); -+ -+ if (errno == ECONNRESET || errno == EAGAIN || errno == EWOULDBLOCK) { -+ errno = ECONNRESET; /*isulad set errno ECONNRESET when timeout */ -+ return -1; -+ } -+ -+ return -1; -+ } -+ TRACE("Command \"%s\" received response", lxc_exec_cmd_str(cmd->req.cmd)); -+ -+ if (rsp->datalen == 0) { -+ DEBUG("Response data length for command \"%s\" is 0", -+ lxc_exec_cmd_str(cmd->req.cmd)); -+ return ret; -+ } -+ -+ if (rsp->datalen > LXC_CMD_DATA_MAX) { -+ ERROR("Response data for command \"%s\" is too long: %d bytes > %d", -+ lxc_exec_cmd_str(cmd->req.cmd), rsp->datalen, LXC_CMD_DATA_MAX); -+ return -1; -+ } -+ -+ rsp->data = malloc(rsp->datalen); -+ if (!rsp->data) { -+ errno = ENOMEM; -+ ERROR("Failed to allocate response buffer for command \"%s\"", -+ lxc_exec_cmd_str(cmd->req.cmd)); -+ return -1; -+ } -+ -+ ret = lxc_recv_nointr(sock, rsp->data, rsp->datalen, 0); -+ if (ret != rsp->datalen) { -+ SYSERROR("Failed to receive response data for command \"%s\"", -+ lxc_exec_cmd_str(cmd->req.cmd)); -+ return -1; -+ } -+ -+ return ret; -+} -+ -+static int lxc_exec_cmd_rsp_send(int fd, struct lxc_exec_cmd_rsp *rsp) -+{ -+ ssize_t ret; -+ -+ errno = EMSGSIZE; -+ ret = lxc_send_nointr(fd, rsp, sizeof(*rsp), MSG_NOSIGNAL); -+ if (ret < 0 || (size_t)ret != sizeof(*rsp)) { -+ SYSERROR("Failed to send command response %zd", ret); -+ return -1; -+ } -+ -+ if (!rsp->data || rsp->datalen <= 0) -+ return 0; -+ -+ errno = EMSGSIZE; -+ ret = lxc_send_nointr(fd, rsp->data, rsp->datalen, MSG_NOSIGNAL); -+ if (ret < 0 || ret != (ssize_t)rsp->datalen) { -+ SYSWARN("Failed to send command response data %zd", ret); -+ return -1; -+ } -+ -+ return 0; -+} -+ -+static int lxc_exec_cmd_send(const char *name, struct lxc_exec_cmd_rr *cmd, -+ const char *lxcpath, const char *hashed_sock_name, const char *suffix) -+{ -+ int client_fd, saved_errno; -+ ssize_t ret = -1; -+ -+ client_fd = lxc_cmd_connect(name, lxcpath, hashed_sock_name, suffix); -+ if (client_fd < 0) -+ return -1; -+ -+ ret = lxc_abstract_unix_send_credential(client_fd, &cmd->req, -+ sizeof(cmd->req)); -+ if (ret < 0 || (size_t)ret != sizeof(cmd->req)) -+ goto on_error; -+ -+ if (cmd->req.datalen <= 0) -+ return client_fd; -+ -+ errno = EMSGSIZE; -+ ret = lxc_send_nointr(client_fd, (void *)cmd->req.data, -+ cmd->req.datalen, MSG_NOSIGNAL); -+ if (ret < 0 || ret != (ssize_t)cmd->req.datalen) -+ goto on_error; -+ -+ return client_fd; -+ -+on_error: -+ saved_errno = errno; -+ close(client_fd); -+ errno = saved_errno; -+ -+ return -1; -+} -+ -+static int lxc_exec_cmd(const char *name, struct lxc_exec_cmd_rr *cmd, const char *lxcpath, const char *hashed_sock_name, const char *suffix) -+{ -+ int client_fd = -1; -+ int saved_errno; -+ int ret = -1; -+ -+ client_fd = lxc_exec_cmd_send(name, cmd, lxcpath, hashed_sock_name, suffix); -+ if (client_fd < 0) { -+ SYSTRACE("Command \"%s\" failed to connect command socket", -+ lxc_exec_cmd_str(cmd->req.cmd)); -+ return -1; -+ } -+ -+ ret = lxc_exec_cmd_rsp_recv(client_fd, cmd); -+ -+ saved_errno = errno; -+ close(client_fd); -+ errno = saved_errno; -+ return ret; -+} -+ -+int lxc_exec_cmd_set_terminal_winch(const char *name, const char *lxcpath, const char *suffix, unsigned int height, unsigned int width) -+{ -+ int ret = 0; -+ struct lxc_exec_cmd_set_terminal_winch_request data = { 0 }; -+ -+ data.height = height; -+ data.width = width; -+ -+ struct lxc_exec_cmd_rr cmd = { -+ .req = { -+ .cmd = LXC_EXEC_CMD_SET_TERMINAL_WINCH, -+ .datalen = sizeof(struct lxc_exec_cmd_set_terminal_winch_request), -+ .data = &data, -+ }, -+ }; -+ -+ ret = lxc_exec_cmd(name, &cmd, lxcpath, NULL, suffix); -+ if (ret < 0) { -+ ERROR("Failed to send command to container"); -+ return -1; -+ } -+ -+ if (cmd.rsp.ret != 0) { -+ ERROR("Command response error:%d", cmd.rsp.ret); -+ return -1; -+ } -+ return 0; -+} -+ -+static int lxc_exec_cmd_set_terminal_winch_callback(int fd, struct lxc_exec_cmd_req *req, -+ struct lxc_exec_command_handler *handler) -+{ -+ struct lxc_exec_cmd_rsp rsp; -+ struct lxc_exec_cmd_set_terminal_winch_request *data = (struct lxc_exec_cmd_set_terminal_winch_request *)(req->data); -+ memset(&rsp, 0, sizeof(rsp)); -+ -+ rsp.ret = lxc_set_terminal_winsz(handler->terminal, data->height, data->width);; -+ -+ return lxc_exec_cmd_rsp_send(fd, &rsp); -+ -+} -+ -+static int lxc_exec_cmd_process(int fd, struct lxc_exec_cmd_req *req, -+ struct lxc_exec_command_handler *handler) -+{ -+ typedef int (*callback)(int, struct lxc_exec_cmd_req *, struct lxc_exec_command_handler *); -+ -+ callback cb[LXC_EXEC_CMD_MAX] = { -+ [LXC_EXEC_CMD_SET_TERMINAL_WINCH] = lxc_exec_cmd_set_terminal_winch_callback, -+ }; -+ -+ if (req->cmd >= LXC_EXEC_CMD_MAX) { -+ ERROR("Undefined command id %d", req->cmd); -+ return -1; -+ } -+ return cb[req->cmd](fd, req, handler); -+} -+ -+static void lxc_exec_cmd_fd_cleanup(int fd, struct lxc_epoll_descr *descr) -+{ -+ lxc_mainloop_del_handler(descr, fd); -+ close(fd); -+ return; -+} -+ -+static int lxc_exec_cmd_handler(int fd, uint32_t events, void *data, -+ struct lxc_epoll_descr *descr) -+{ -+ int ret; -+ struct lxc_exec_cmd_req req; -+ void *reqdata = NULL; -+ struct lxc_exec_command_handler *handler = data; -+ -+ ret = lxc_abstract_unix_rcv_credential(fd, &req, sizeof(req)); -+ if (ret < 0) { -+ SYSERROR("Failed to receive data on command socket for command " -+ "\"%s\"", lxc_exec_cmd_str(req.cmd)); -+ -+ if (errno == EACCES) { -+ /* We don't care for the peer, just send and close. */ -+ struct lxc_exec_cmd_rsp rsp = {.ret = ret}; -+ -+ lxc_exec_cmd_rsp_send(fd, &rsp); -+ } -+ -+ goto out_close; -+ } -+ -+ if (ret == 0) -+ goto out_close; -+ -+ if (ret != sizeof(req)) { -+ WARN("Failed to receive full command request. Ignoring request " -+ "for \"%s\"", lxc_exec_cmd_str(req.cmd)); -+ ret = -1; -+ goto out_close; -+ } -+ -+ if (req.datalen > LXC_CMD_DATA_MAX) { -+ ERROR("Received command data length %d is too large for " -+ "command \"%s\"", req.datalen, lxc_exec_cmd_str(req.cmd)); -+ errno = EFBIG; -+ ret = -EFBIG; -+ goto out_close; -+ } -+ -+ if (req.datalen > 0) { -+ reqdata = alloca(req.datalen); -+ if (!reqdata) { -+ ERROR("Failed to allocate memory for \"%s\" command", -+ lxc_exec_cmd_str(req.cmd)); -+ errno = ENOMEM; -+ ret = -ENOMEM; -+ goto out_close; -+ } -+ -+ ret = lxc_recv_nointr(fd, reqdata, req.datalen, 0); -+ if (ret != req.datalen) { -+ WARN("Failed to receive full command request. Ignoring " -+ "request for \"%s\"", lxc_exec_cmd_str(req.cmd)); -+ ret = LXC_MAINLOOP_ERROR; -+ goto out_close; -+ } -+ -+ req.data = reqdata; -+ } -+ -+ ret = lxc_exec_cmd_process(fd, &req, handler); -+ if (ret) { -+ /* This is not an error, but only a request to close fd. */ -+ ret = LXC_MAINLOOP_CONTINUE; -+ goto out_close; -+ } -+ -+out: -+ return ret; -+ -+out_close: -+ lxc_exec_cmd_fd_cleanup(fd, descr); -+ goto out; -+} -+ -+static int lxc_exec_cmd_accept(int fd, uint32_t events, void *data, -+ struct lxc_epoll_descr *descr) -+{ -+ int connection = -1; -+ int opt = 1, ret = -1; -+ -+ connection = accept(fd, NULL, 0); -+ if (connection < 0) { -+ SYSERROR("Failed to accept connection to run command"); -+ return LXC_MAINLOOP_ERROR; -+ } -+ -+ ret = fcntl(connection, F_SETFD, FD_CLOEXEC); -+ if (ret < 0) { -+ SYSERROR("Failed to set close-on-exec on incoming command connection"); -+ goto out_close; -+ } -+ -+ ret = setsockopt(connection, SOL_SOCKET, SO_PASSCRED, &opt, sizeof(opt)); -+ if (ret < 0) { -+ SYSERROR("Failed to enable necessary credentials on command socket"); -+ goto out_close; -+ } -+ -+ ret = lxc_mainloop_add_handler(descr, connection, lxc_exec_cmd_handler, data); -+ if (ret) { -+ ERROR("Failed to add command handler"); -+ goto out_close; -+ } -+ -+out: -+ return ret; -+ -+out_close: -+ close(connection); -+ goto out; -+} -+#ifdef HAVE_ISULAD -+int lxc_exec_unix_sock_delete(const char *name, const char *suffix) -+{ -+ char path[LXC_AUDS_ADDR_LEN] = {0}; -+ -+ if (name == NULL || suffix == NULL) -+ return -1; -+ -+ if (generate_named_unix_sock_path(name, suffix, path, sizeof(path)) != 0) -+ return -1; -+ -+ (void)unlink(path); -+ -+ return 0; -+} -+ -+int lxc_exec_cmd_init(const char *name, const char *lxcpath, const char *suffix) -+{ -+ __do_close int fd = -EBADF; -+ int ret; -+ char path[LXC_AUDS_ADDR_LEN] = {0}; -+ __do_free char *exec_sock_dir = NULL; -+ -+ exec_sock_dir = generate_named_unix_sock_dir(name); -+ if (exec_sock_dir == NULL) -+ return -1; -+ -+ if (mkdir_p(exec_sock_dir, 0600) < 0) -+ return log_error_errno(-1, errno, "Failed to create exec sock directory %s", path); -+ -+ if (generate_named_unix_sock_path(name, suffix, path, sizeof(path)) != 0) -+ return -1; -+ -+ TRACE("Creating unix socket \"%s\"", path); -+ -+ fd = lxc_named_unix_open(path, SOCK_STREAM, 0); -+ if (fd < 0) { -+ if (errno == EADDRINUSE) { -+ WARN("Container \"%s\" exec unix sock is occupied", name); -+ (void)unlink(path); -+ fd = lxc_named_unix_open(path, SOCK_STREAM, 0); -+ if (fd < 0) -+ return log_error_errno(-1, errno, "Failed to create command socket %s", path); -+ } else { -+ return log_error_errno(-1, errno, "Failed to create command socket %s", path); -+ } -+ } -+ -+ ret = fcntl(fd, F_SETFD, FD_CLOEXEC); -+ if (ret < 0) -+ return log_error_errno(-1, errno, "Failed to set FD_CLOEXEC on command socket file descriptor"); -+ -+ return log_trace(move_fd(fd), "Created unix socket \"%s\"", path); -+} -+#else -+int lxc_exec_cmd_init(const char *name, const char *lxcpath, const char *suffix) -+{ -+ int fd, ret; -+ char path[LXC_AUDS_ADDR_LEN] = {0}; -+ -+ ret = lxc_make_abstract_socket_name(path, sizeof(path), name, lxcpath, NULL, suffix); -+ if (ret < 0) -+ return -1; -+ TRACE("Creating abstract unix socket \"%s\"", &path[1]); -+ -+ fd = lxc_abstract_unix_open(path, SOCK_STREAM, 0); -+ if (fd < 0) { -+ SYSERROR("Failed to create command socket %s", &path[1]); -+ if (errno == EADDRINUSE) -+ ERROR("Container \"%s\" appears to be already running", name); -+ -+ return -1; -+ } -+ -+ ret = fcntl(fd, F_SETFD, FD_CLOEXEC); -+ if (ret < 0) { -+ SYSERROR("Failed to set FD_CLOEXEC on command socket file descriptor"); -+ close(fd); -+ return -1; -+ } -+ -+ return fd; -+} -+#endif -+ -+int lxc_exec_cmd_mainloop_add(struct lxc_epoll_descr *descr, struct lxc_exec_command_handler *handler) -+{ -+ int ret; -+ int fd = handler->maincmd_fd; -+ -+ ret = lxc_mainloop_add_handler(descr, fd, lxc_exec_cmd_accept, handler); -+ if (ret < 0) { -+ ERROR("Failed to add handler for command socket"); -+ close(fd); -+ } -+ -+ return ret; -+} -diff --git a/src/lxc/lsm/selinux.c b/src/lxc/lsm/selinux.c -index dba0ab5..bd4f449 100644 ---- a/src/lxc/lsm/selinux.c -+++ b/src/lxc/lsm/selinux.c -@@ -16,6 +16,10 @@ - #include "log.h" - #include "lsm.h" - -+#ifdef HAVE_ISULAD -+#include -+#endif -+ - #define DEFAULT_LABEL "unconfined_t" - - lxc_log_define(selinux, lsm); -@@ -85,6 +89,256 @@ static int selinux_process_label_set(const char *inlabel, struct lxc_conf *conf, - return 0; - } - -+#ifdef HAVE_ISULAD -+/* -+ * selinux_file_label_set: Set SELinux context of a file -+ * -+ * @path : a file -+ * @label : label string -+ * -+ * Returns 0 on success, < 0 on failure -+ */ -+static int selinux_file_label_set(const char *path, const char *label) -+{ -+ if (path == NULL || label == NULL || strcmp(label, "unconfined_t") == 0) { -+ return 0; -+ } -+ -+ if (!is_selinux_enabled()) { -+ return 0; -+ } -+ -+ if (lsetfilecon(path, label) != 0) { -+ SYSERROR("Failed to setSELinux context to \"%s\": %s", label, path); -+ return -1; -+ } -+ -+ INFO("Changed SELinux context to \"%s\": %s", label, path); -+ return 0; -+} -+ -+/* -+ * is_exclude_relabel_path: Determine whether it is a excluded path to label -+ * -+ * @path : a file or directory -+ * -+ * Returns 0 on success, < 0 on failure -+ */ -+static bool is_exclude_relabel_path(const char *path) -+{ -+ const char *exclude_path[] = { "/", "/usr", "/etc", "/tmp", "/home", "/run", "/var", "/root" }; -+ size_t i; -+ -+ for (i = 0; i < sizeof(exclude_path) / sizeof(char *); i++) { -+ if (strcmp(path, exclude_path[i]) == 0) { -+ return true; -+ } -+ } -+ -+ return false; -+} -+ -+/* -+ * bad_prefix: Prevent users from relabing system files -+ * -+ * @path : a file or directory -+ * -+ * Returns 0 on success, < 0 on failure -+ */ -+static int bad_prefix(const char *fpath) -+{ -+ const char *bad_prefixes = "/usr"; -+ -+ if (fpath == NULL) { -+ ERROR("Empty file path"); -+ return -1; -+ } -+ -+ if (strncmp(fpath, bad_prefixes, strlen(bad_prefixes)) == 0) { -+ ERROR("relabeling content in %s is not allowed", bad_prefixes); -+ return -1; -+ } -+ -+ return 0; -+} -+ -+/* -+ * recurse_set_file_label: Recursively label files or folders -+ * -+ * @path : a file or directory -+ * @label : label string -+ * -+ * Returns 0 on success, < 0 on failure -+ */ -+static int recurse_set_file_label(const char *basePath, const char *label) -+{ -+ int ret = 0; -+ __do_closedir DIR *dir = NULL; -+ struct dirent *ptr = NULL; -+ char base[PATH_MAX] = { 0 }; -+ -+ if ((dir = opendir(basePath)) == NULL) { -+ ERROR("Failed to Open dir: %s", basePath); -+ return -1; -+ } -+ -+ ret = lsetfilecon(basePath, label); -+ if (ret != 0) { -+ ERROR("Failed to set file label"); -+ return ret; -+ } -+ -+ while ((ptr = readdir(dir)) != NULL) { -+ if (strcmp(ptr->d_name, ".") == 0 || strcmp(ptr->d_name, "..") == 0) { -+ continue; -+ } else { -+ int nret = snprintf(base, sizeof(base), "%s/%s", basePath, ptr->d_name); -+ if (nret < 0 || nret >= sizeof(base)) { -+ ERROR("Failed to get path"); -+ return -1; -+ } -+ if (ptr->d_type == DT_DIR) { -+ ret = recurse_set_file_label(base, label); -+ if (ret != 0) { -+ ERROR("Failed to set dir label"); -+ return ret; -+ } -+ } else { -+ ret = lsetfilecon(base, label); -+ if (ret != 0) { -+ ERROR("Failed to set file label"); -+ return ret; -+ } -+ } -+ } -+ } -+ -+ return 0; -+} -+ -+/* -+ * selinux_chcon: Chcon changes the `fpath` file object to the SELinux label `label`. -+ * If `fpath` is a directory and `recurse`` is true, Chcon will walk the -+ * directory tree setting the label. -+ * -+ * @fpath : a file or directory -+ * @label : label string -+ * @recurse : whether to recurse -+ * -+ * Returns 0 on success, < 0 on failure -+ */ -+static int selinux_chcon(const char *fpath, const char *label, bool recurse) -+{ -+ struct stat s_buf; -+ -+ if (fpath == NULL || label == NULL) { -+ ERROR("Invalid parameters!"); -+ return -1; -+ } -+ -+ if (bad_prefix(fpath) != 0) { -+ return -1; -+ } -+ if (stat(fpath, &s_buf) != 0) { -+ return -1; -+ } -+ if (recurse && S_ISDIR(s_buf.st_mode)) { -+ return recurse_set_file_label(fpath, label); -+ } -+ -+ if (lsetfilecon(fpath, label) != 0) { -+ ERROR("Failed to set file label"); -+ return -1; -+ } -+ -+ return 0; -+} -+ -+/* -+ * convert_context_to_share_mode: set sensitivity to s0 and remove categories -+ * user:role:type:sensitivity[:categories] => user:role:type:s0 -+ * -+ * @label : label string -+ * -+ * Returns label with share mode on success, NULL on failure -+ */ -+static char *convert_context_to_share_mode(const char *label) { -+ __do_free char *converted_label = strdup(label); -+ char *s = converted_label; -+ const char *shared_level = "s0"; -+ int cnt = 0; -+ -+ // selinux label format: user:role:type:sensitivity[:categories] -+ // locates the ":" position in front of the sensitivity -+ while (cnt++ < 3 && (s = strchr(s, ':')) != NULL) { -+ s++; -+ } -+ -+ // make sure sensitivity can set s0 value -+ if (s == NULL || strlen(s) < strlen(shared_level)) { -+ ERROR("Invalid selinux file context: %s", label); -+ return NULL; -+ } -+ -+ if (strcmp(s, shared_level) == 0) { -+ return move_ptr(converted_label); -+ } -+ -+ *s = '\0'; -+ strcat(converted_label, shared_level); -+ -+ return move_ptr(converted_label); -+} -+ -+/* -+ * selinux_relabel: Relabel changes the label of path to the filelabel string. -+ * It changes the MCS label to s0 if shared is true. -+ * This will allow all containers to share the content. -+ * -+ * @path : a file or directory -+ * @label : label string -+ * @shared : whether to use share mode -+ * -+ * Returns 0 on success, < 0 on failure -+ */ -+static int selinux_relabel(const char *path, const char *label, bool shared) -+{ -+ __do_free char *tmp_file_label = NULL; -+ -+ if (path == NULL || label == NULL) { -+ return 0; -+ } -+ -+ if (!is_selinux_enabled()) { -+ return 0; -+ } -+ -+ if (is_exclude_relabel_path(path)) { -+ ERROR("SELinux relabeling of %s is not allowed", path); -+ return -1; -+ } -+ -+ if (shared) { -+ tmp_file_label = convert_context_to_share_mode(label); -+ if (tmp_file_label == NULL) { -+ ERROR("Failed to convert context to share mode: %s", label); -+ return -1; -+ } -+ } else { -+ tmp_file_label = strdup(label); -+ } -+ -+ -+ if (selinux_chcon(path, tmp_file_label, true) != 0) { -+ ERROR("Failed to modify %s's selinux context: %s", path, tmp_file_label); -+ return -1; -+ } -+ -+ return 0; -+} -+ -+#endif -+ - /* - * selinux_keyring_label_set: Set SELinux context that will be assigned to the keyring - * -@@ -103,6 +357,10 @@ static struct lsm_drv selinux_drv = { - .process_label_get = selinux_process_label_get, - .process_label_set = selinux_process_label_set, - .keyring_label_set = selinux_keyring_label_set, -+#ifdef HAVE_ISULAD -+ .file_label_set = selinux_file_label_set, -+ .relabel = selinux_relabel, -+#endif - }; - - struct lsm_drv *lsm_selinux_drv_init(void) -diff --git a/src/lxc/tools/lxc_attach.c b/src/lxc/tools/lxc_attach.c -index a8f493a..1a5a241 100644 ---- a/src/lxc/tools/lxc_attach.c -+++ b/src/lxc/tools/lxc_attach.c -@@ -72,8 +72,20 @@ static const struct option my_longopts[] = { - {"set-var", required_argument, 0, 'v'}, - {"pty-log", required_argument, 0, 'L'}, - {"rcfile", required_argument, 0, 'f'}, -+#ifndef HAVE_ISULAD - {"uid", required_argument, 0, 'u'}, - {"gid", required_argument, 0, 'g'}, -+#else -+ {"workdir", required_argument, 0, 'w'}, -+ {"user", required_argument, 0, 'u'}, -+ {"in-fifo", required_argument, 0, OPT_INPUT_FIFO}, /* isulad add terminal fifos*/ -+ {"out-fifo", required_argument, 0, OPT_OUTPUT_FIFO}, -+ {"err-fifo", required_argument, 0, OPT_STDERR_FIFO}, -+ {"suffix", required_argument, 0, OPT_ATTACH_SUFFIX}, -+ {"timeout", required_argument, 0, OPT_ATTACH_TIMEOUT}, -+ {"disable-pty", no_argument, 0, OPT_DISABLE_PTY}, -+ {"open-stdin", no_argument, 0, OPT_OPEN_STDIN}, -+#endif - LXC_COMMON_OPTIONS - }; - -@@ -124,9 +136,26 @@ Options :\n\ - multiple times.\n\ - -f, --rcfile=FILE\n\ - Load configuration file FILE\n\ -+" -+#ifndef HAVE_ISULAD -+"\ - -u, --uid=UID Execute COMMAND with UID inside the container\n\ - -g, --gid=GID Execute COMMAND with GID inside the container\n\ --", -+" -+#else -+"\ -+ -w, --workdir Working directory inside the container.\n\ -+ -u, --user User ID (format: UID[:GID])\n\ -+ --in-fifo Stdin fifo path\n\ -+ --out-fifo Stdout fifo path\n\ -+ --err-fifo Stderr fifo path\n\ -+ --suffi ID for mutli-attach on one container\n\ -+ --timeout Timeout in seconds (default: 0)\n\ -+ --disable-pty Disable pty for attach\n\ -+ --open-stdin Open stdin for attach\n\ -+" -+#endif -+, - .options = my_longopts, - .parser = my_parser, - .checker = NULL, -@@ -136,6 +165,71 @@ Options :\n\ - .gid = LXC_INVALID_GID, - }; - -+#ifdef HAVE_ISULAD -+static int parse_user_id(const char *username, char **uid, char **gid, char **tmp_dup) -+{ -+ char *tmp = NULL; -+ char *pdot = NULL; -+ -+ if (uid == NULL || gid == NULL || tmp_dup == NULL) { -+ return -1; -+ } -+ -+ if (username != NULL) { -+ tmp = strdup(username); -+ if (tmp == NULL) { -+ ERROR("Failed to duplicate user name"); -+ return -1; -+ } -+ -+ // for free tmp in caller -+ *tmp_dup = tmp; -+ pdot = strstr(tmp, ":"); -+ if (pdot != NULL) { -+ *pdot = '\0'; -+ if (pdot != tmp) { -+ // uid found -+ *uid = tmp; -+ } -+ -+ if (*(pdot + 1) != '\0') { -+ // gid found -+ *gid = pdot + 1; -+ } -+ } else { -+ // No : found -+ if (*tmp != '\0') { -+ *uid = tmp; -+ } -+ } -+ } -+ -+ return 0; -+} -+ -+static int get_attach_uid_gid(const char *username, uid_t *user_id, gid_t *group_id) -+{ -+ char *tmp = NULL; -+ char *uid = NULL; -+ char *gid = NULL; -+ -+ // parse uid and gid by username -+ if (parse_user_id(username, &uid, &gid, &tmp) != 0) { -+ return -1; -+ } -+ -+ if (uid != NULL) { -+ *user_id = (unsigned int)atoll(uid); -+ } -+ if (gid != NULL) { -+ *group_id = (unsigned int)atoll(gid); -+ } -+ -+ free(tmp); -+ return 0; -+} -+#endif -+ - static int my_parser(struct lxc_arguments *args, int c, char *arg) - { - int ret; -@@ -193,6 +287,7 @@ static int my_parser(struct lxc_arguments *args, int c, char *arg) - case 'f': - args->rcfile = arg; - break; -+#ifndef HAVE_ISULAD - case 'u': - if (lxc_safe_uint(arg, &args->uid) < 0) - return -1; -@@ -201,6 +296,42 @@ static int my_parser(struct lxc_arguments *args, int c, char *arg) - if (lxc_safe_uint(arg, &args->gid) < 0) - return -1; - break; -+#else -+ case 'u': -+ if (get_attach_uid_gid(arg, &args->uid, &args->gid) != 0) { -+ ERROR("Failed to get attach user U/GID"); -+ return -1; -+ } -+ break; -+ case 'w': -+ args->workdir=arg; -+ break; -+ case OPT_INPUT_FIFO: -+ args->terminal_fifos[0] = arg; -+ break; -+ case OPT_OUTPUT_FIFO: -+ args->terminal_fifos[1] = arg; -+ break; -+ case OPT_STDERR_FIFO: -+ args->terminal_fifos[2] = arg; -+ break; -+ case OPT_ATTACH_SUFFIX: -+ args->suffix = arg; -+ break; -+ case OPT_ATTACH_TIMEOUT: -+ if(!is_non_negative_num(arg)) { -+ ERROR("Error attach timeout parameter:%s.\n", arg); -+ return -1; -+ } -+ args->attach_timeout = (unsigned int)atoll(arg); -+ break; -+ case OPT_DISABLE_PTY: -+ args->disable_pty = 1; -+ break; -+ case OPT_OPEN_STDIN: -+ args->open_stdin = 1; -+ break; -+#endif - } - - return 0; -@@ -264,6 +395,285 @@ static int lxc_attach_create_log_file(const char *log_file) - return fd; - } - -+#ifdef HAVE_ISULAD -+// isulad: send '128 + signal' if container is killed by signal. -+#define EXIT_SIGNAL_OFFSET 128 -+ -+/*isulad: attach with terminal*/ -+static int do_attach_foreground(struct lxc_container *c, lxc_attach_command_t *command, -+ lxc_attach_options_t *attach_options, -+ char **errmsg) -+{ -+ int ret = 0; -+ pid_t pid; -+ int wexit = -1; -+ int signal; -+ -+ if (command->program) -+ ret = c->attach(c, lxc_attach_run_command, command, attach_options, &pid); -+ else -+ ret = c->attach(c, lxc_attach_run_shell, NULL, attach_options, &pid); -+ if (ret < 0) { -+ *errmsg = safe_strdup("Internal error, failed to call attach"); -+ goto out; -+ } -+ -+ ret = lxc_wait_for_pid_status(pid); -+ if (ret < 0) { -+ free(*errmsg); -+ *errmsg = safe_strdup("Internal error, failed to wait attached process"); -+ goto out; -+ } -+ -+ if (WIFEXITED(ret)) -+ wexit = WEXITSTATUS(ret); -+ else -+ wexit = -1; -+ -+ if (WIFSIGNALED(ret)) { -+ signal = WTERMSIG(ret); -+ wexit = EXIT_SIGNAL_OFFSET + signal; -+ } -+ -+ WARN("Execd pid %d exit with %d", pid, wexit); -+ -+out: -+ if (c->lxc_conf->errmsg) { -+ free(*errmsg); -+ *errmsg = safe_strdup(c->lxc_conf->errmsg); -+ } -+ return wexit; -+} -+ -+static void close_msg_pipe(int *errpipe) -+{ -+ if (errpipe[0] >= 0) { -+ close(errpipe[0]); -+ errpipe[0] = -1; -+ } -+ if (errpipe[1] >= 0) { -+ close(errpipe[1]); -+ errpipe[1] = -1; -+ } -+} -+ -+/*isulad: attach without terminal in background */ -+static int do_attach_background(struct lxc_container *c, lxc_attach_command_t *command, -+ lxc_attach_options_t *attach_options, -+ char **errmsg) -+{ -+ int ret = 0; -+ int msgpipe[2]; -+ pid_t pid = 0; -+ ssize_t size_read; -+ char msgbuf[BUFSIZ + 1] = {0}; -+ -+ //pipdfd for get error message of child or grandchild process. -+ if (pipe2(msgpipe, O_CLOEXEC) != 0) { -+ SYSERROR("Failed to init msgpipe"); -+ return -1; -+ } -+ -+ pid = fork(); -+ if (pid < 0) { -+ close_msg_pipe(msgpipe); -+ return -1; -+ } -+ -+ if (pid != 0) { -+ close(msgpipe[1]); -+ msgpipe[1] = -1; -+ size_read = read(msgpipe[0], msgbuf, BUFSIZ); -+ if (size_read > 0) { -+ *errmsg = safe_strdup(msgbuf); -+ ret = -1; -+ } -+ -+ close(msgpipe[0]); -+ msgpipe[0] = -1; -+ -+ return ret; -+ } -+ -+ /* second fork to be reparented by init */ -+ pid = fork(); -+ if (pid < 0) { -+ SYSERROR("Error doing dual-fork"); -+ close_msg_pipe(msgpipe); -+ exit(1); -+ } -+ if (pid != 0) { -+ close_msg_pipe(msgpipe); -+ exit(0); -+ } -+ -+ close(msgpipe[0]); -+ msgpipe[0] = -1; -+ -+ if (null_stdfds() < 0) { -+ ERROR("failed to close fds"); -+ exit(1); -+ } -+ setsid(); -+ -+ if (command->program) -+ ret = c->attach(c, lxc_attach_run_command, command, attach_options, &pid); -+ else -+ ret = c->attach(c, lxc_attach_run_shell, NULL, attach_options, &pid); -+ if (ret < 0) { -+ if (c->lxc_conf->errmsg) -+ lxc_write_error_message(msgpipe[1], "%s", c->lxc_conf->errmsg); -+ else -+ lxc_write_error_message(msgpipe[1], "Failed to attach container"); -+ close(msgpipe[1]); -+ msgpipe[1] = -1; -+ ret = -1; -+ goto out; -+ } -+ -+ close(msgpipe[1]); -+ msgpipe[1] = -1; -+ -+ ret = wait_for_pid(pid); -+out: -+ lxc_container_put(c); -+ if (ret) -+ exit(EXIT_FAILURE); -+ else -+ exit(0); -+} -+ -+int main(int argc, char *argv[]) -+{ -+ int wexit = 0; -+ struct lxc_log log; -+ char *errmsg = NULL; -+ lxc_attach_options_t attach_options = LXC_ATTACH_OPTIONS_DEFAULT; -+ lxc_attach_command_t command = (lxc_attach_command_t){.program = NULL}; -+ -+ if (lxc_caps_init()) -+ exit(EXIT_FAILURE); -+ -+ if (lxc_arguments_parse(&my_args, argc, argv)) -+ exit(EXIT_FAILURE); -+ -+ log.name = my_args.name; -+ log.file = my_args.log_file; -+ log.level = my_args.log_priority; -+ log.prefix = my_args.progname; -+ log.quiet = my_args.quiet; -+ log.lxcpath = my_args.lxcpath[0]; -+ -+ if (lxc_log_init(&log)) -+ exit(EXIT_FAILURE); -+ -+ if (geteuid()) -+ if (access(my_args.lxcpath[0], O_RDONLY) < 0) { -+ ERROR("You lack access to %s", my_args.lxcpath[0]); -+ exit(EXIT_FAILURE); -+ } -+ -+ struct lxc_container *c = lxc_container_new(my_args.name, my_args.lxcpath[0]); -+ if (!c) -+ exit(EXIT_FAILURE); -+ -+ if (my_args.rcfile) { -+ c->clear_config(c); -+ if (!c->load_config(c, my_args.rcfile)) { -+ ERROR("Failed to load rcfile"); -+ lxc_container_put(c); -+ exit(EXIT_FAILURE); -+ } -+ -+ c->configfile = strdup(my_args.rcfile); -+ if (!c->configfile) { -+ ERROR("Out of memory setting new config filename"); -+ lxc_container_put(c); -+ exit(EXIT_FAILURE); -+ } -+ } -+ -+ if (!c->may_control(c)) { -+ ERROR("Insufficent privileges to control %s", c->name); -+ lxc_container_put(c); -+ exit(EXIT_FAILURE); -+ } -+ -+ if (remount_sys_proc) -+ attach_options.attach_flags |= LXC_ATTACH_REMOUNT_PROC_SYS; -+ -+ if (elevated_privileges) -+ attach_options.attach_flags &= ~(elevated_privileges); -+ -+ if (my_args.terminal_fifos[0] || my_args.terminal_fifos[1] || my_args.terminal_fifos[2]) { -+ attach_options.init_fifo[0] = my_args.terminal_fifos[0]; -+ attach_options.init_fifo[1] = my_args.terminal_fifos[1]; -+ attach_options.init_fifo[2] = my_args.terminal_fifos[2]; -+ attach_options.attach_flags |= LXC_ATTACH_TERMINAL; -+ } else if (stdfd_is_pty()) { -+ attach_options.attach_flags |= LXC_ATTACH_TERMINAL; -+ } -+ -+ attach_options.namespaces = namespace_flags; -+ attach_options.personality = new_personality; -+ attach_options.env_policy = env_policy; -+ attach_options.extra_env_vars = extra_env; -+ attach_options.extra_keep_env = extra_keep; -+ attach_options.timeout = my_args.attach_timeout; -+ -+ if (my_args.argc > 0) { -+ command.program = my_args.argv[0]; -+ command.argv = (char**)my_args.argv; -+ } -+ -+ if (my_args.console_log) { -+ attach_options.log_fd = lxc_attach_create_log_file(my_args.console_log); -+ if (attach_options.log_fd < 0) { -+ ERROR("Failed to create log file for %s", c->name); -+ lxc_container_put(c); -+ exit(EXIT_FAILURE); -+ } -+ } -+ -+ if (my_args.uid != LXC_INVALID_UID) -+ attach_options.uid = my_args.uid; -+ -+ if (my_args.gid != LXC_INVALID_GID) -+ attach_options.gid = my_args.gid; -+ -+ attach_options.suffix = my_args.suffix; -+ -+ if (my_args.disable_pty) { -+ attach_options.disable_pty = true; -+ } -+ -+ if (my_args.open_stdin) { -+ attach_options.open_stdin = true; -+ } -+ -+ if (my_args.workdir) { -+ attach_options.initial_cwd = my_args.workdir; -+ } -+ -+ /* isulad: add do attach background */ -+ if (attach_options.attach_flags & LXC_ATTACH_TERMINAL) -+ wexit = do_attach_foreground(c, &command, &attach_options, &errmsg); -+ else -+ wexit = do_attach_background(c, &command, &attach_options, &errmsg); -+ -+ if (errmsg) { -+ fprintf(stderr, "%s:%s:%s:%d starting container process caused \"%s\"", c->name, -+ __FILE__, __func__, __LINE__, errmsg); -+ free(errmsg); -+ } -+ -+ lxc_container_put(c); -+ if (wexit >= 0) -+ exit(wexit); -+ -+ exit(EXIT_FAILURE); -+} -+#else - int main(int argc, char *argv[]) - { - int ret = -1; -@@ -377,3 +787,4 @@ out: - - exit(EXIT_FAILURE); - } -+#endif --- -2.25.1 - diff --git a/0004-refactor-patch-code-of-lxccontianer-and-so-on.patch b/0004-refactor-patch-code-of-lxccontianer-and-so-on.patch deleted file mode 100644 index 3afaced..0000000 --- a/0004-refactor-patch-code-of-lxccontianer-and-so-on.patch +++ /dev/null @@ -1,2947 +0,0 @@ -From 281d09f2dcd4dfd105b41d8da558d4a126ca190b Mon Sep 17 00:00:00 2001 -From: WangFengTu -Date: Mon, 18 Jul 2022 14:14:14 +0800 -Subject: [PATCH] refactor patch code of lxccontianer and so on - -Signed-off-by: WangFengTu ---- - src/lxc/af_unix.h | 6 + - src/lxc/cgroups/cgroup.h | 13 + - src/lxc/confile.c | 639 +++++++++++++++++++++++++++ - src/lxc/lxccontainer.c | 898 +++++++++++++++++++++++++++++++++++++- - src/lxc/lxclock.c | 31 ++ - src/lxc/mainloop.c | 16 + - src/lxc/path.c | 655 +++++++++++++++++++++++++++ - src/lxc/storage/dir.c | 34 ++ - src/lxc/storage/loop.c | 48 +- - src/lxc/storage/storage.c | 31 +- - 10 files changed, 2367 insertions(+), 4 deletions(-) - create mode 100644 src/lxc/path.c - -diff --git a/src/lxc/af_unix.h b/src/lxc/af_unix.h -index 5a1482c..be26ff0 100644 ---- a/src/lxc/af_unix.h -+++ b/src/lxc/af_unix.h -@@ -41,4 +41,10 @@ extern int lxc_unix_connect(struct sockaddr_un *addr); - extern int lxc_unix_connect_type(struct sockaddr_un *addr, int type); - extern int lxc_socket_set_timeout(int fd, int rcv_timeout, int snd_timeout); - -+#ifdef HAVE_ISULAD -+extern int lxc_abstract_unix_recv_fds_timeout(int fd, int *recvfds, int num_recvfds, -+ void *data, size_t size, unsigned int timeout); -+extern int lxc_named_unix_open(const char *path, int type, int flags); -+extern int lxc_named_unix_connect(const char *path); -+#endif - #endif /* __LXC_AF_UNIX_H */ -diff --git a/src/lxc/cgroups/cgroup.h b/src/lxc/cgroups/cgroup.h -index c5bf794..4791112 100644 ---- a/src/lxc/cgroups/cgroup.h -+++ b/src/lxc/cgroups/cgroup.h -@@ -109,6 +109,11 @@ struct cgroup_ops { - char *container_cgroup; - char *monitor_cgroup; - -+#ifdef HAVE_ISULAD -+ int errfd; -+ bool no_controller; -+#endif -+ - /* @hierarchies - * - A NULL-terminated array of struct hierarchy, one per legacy - * hierarchy. No duplicates. First sufficient, writeable mounted -@@ -146,14 +151,22 @@ struct cgroup_ops { - */ - cgroup_layout_t cgroup_layout; - -+#ifdef HAVE_ISULAD -+ int (*data_init)(struct cgroup_ops *ops, struct lxc_conf *conf); -+ bool (*payload_destroy)(struct cgroup_ops *ops, struct lxc_handler *handler); -+#else - int (*data_init)(struct cgroup_ops *ops); - void (*payload_destroy)(struct cgroup_ops *ops, struct lxc_handler *handler); -+#endif - void (*monitor_destroy)(struct cgroup_ops *ops, struct lxc_handler *handler); - bool (*monitor_create)(struct cgroup_ops *ops, struct lxc_handler *handler); - bool (*monitor_enter)(struct cgroup_ops *ops, struct lxc_handler *handler); - bool (*payload_create)(struct cgroup_ops *ops, struct lxc_handler *handler); - bool (*payload_enter)(struct cgroup_ops *ops, struct lxc_handler *handler); - const char *(*get_cgroup)(struct cgroup_ops *ops, const char *controller); -+#ifdef HAVE_ISULAD -+ const char *(*get_cgroup_full_path)(struct cgroup_ops *ops, const char *controller); -+#endif - bool (*escape)(const struct cgroup_ops *ops, struct lxc_conf *conf); - int (*num_hierarchies)(struct cgroup_ops *ops); - bool (*get_hierarchies)(struct cgroup_ops *ops, int n, char ***out); -diff --git a/src/lxc/confile.c b/src/lxc/confile.c -index 4c27e7d..22d7255 100644 ---- a/src/lxc/confile.c -+++ b/src/lxc/confile.c -@@ -147,6 +147,19 @@ lxc_config_define(tty_dir); - lxc_config_define(uts_name); - lxc_config_define(sysctl); - lxc_config_define(proc); -+#ifdef HAVE_ISULAD -+lxc_config_define(init_args); -+lxc_config_define(init_groups); -+lxc_config_define(populate_device); -+lxc_config_define(umask); -+lxc_config_define(rootfs_masked_paths); -+lxc_config_define(rootfs_ro_paths); -+lxc_config_define(systemd); -+lxc_config_define(console_log_driver); -+lxc_config_define(console_syslog_tag); -+lxc_config_define(console_syslog_facility); -+lxc_config_define(selinux_mount_context); -+#endif - - /* - * Important Note: -@@ -259,6 +272,19 @@ static struct lxc_config_t config_jump_table[] = { - { "lxc.uts.name", set_config_uts_name, get_config_uts_name, clr_config_uts_name, }, - { "lxc.sysctl", set_config_sysctl, get_config_sysctl, clr_config_sysctl, }, - { "lxc.proc", set_config_proc, get_config_proc, clr_config_proc, }, -+#ifdef HAVE_ISULAD -+ { "lxc.isulad.init.args", set_config_init_args, get_config_init_args, clr_config_init_args, }, -+ { "lxc.isulad.init.groups", set_config_init_groups, get_config_init_groups, clr_config_init_groups, }, -+ { "lxc.isulad.populate.device", set_config_populate_device, get_config_populate_device, clr_config_populate_device, }, -+ { "lxc.isulad.umask", set_config_umask, get_config_umask, clr_config_umask, }, -+ { "lxc.isulad.rootfs.maskedpaths", set_config_rootfs_masked_paths, get_config_rootfs_masked_paths, clr_config_rootfs_masked_paths, }, -+ { "lxc.isulad.rootfs.ropaths", set_config_rootfs_ro_paths, get_config_rootfs_ro_paths, clr_config_rootfs_ro_paths, }, -+ { "lxc.isulad.systemd", set_config_systemd, get_config_systemd, clr_config_systemd, }, -+ { "lxc.console.logdriver", set_config_console_log_driver, get_config_console_log_driver, clr_config_console_log_driver, }, -+ { "lxc.console.syslog_tag", set_config_console_syslog_tag, get_config_console_syslog_tag, clr_config_console_syslog_tag, }, -+ { "lxc.console.syslog_facility", set_config_console_syslog_facility, get_config_console_syslog_facility, clr_config_console_syslog_facility, }, -+ { "lxc.selinux.mount_context", set_config_selinux_mount_context, get_config_selinux_mount_context, clr_config_selinux_mount_context, }, -+#endif - }; - - static const size_t config_jump_table_size = sizeof(config_jump_table) / sizeof(struct lxc_config_t); -@@ -1348,6 +1374,10 @@ static int set_config_environment(const char *key, const char *value, - { - struct lxc_list *list_item = NULL; - -+#ifdef HAVE_ISULAD -+ char *replaced = NULL; -+#endif -+ - if (lxc_config_value_empty(value)) - return lxc_clear_environment(lxc_conf); - -@@ -1368,7 +1398,16 @@ static int set_config_environment(const char *key, const char *value, - env_var[1] = env_val; - list_item->elem = lxc_string_join("=", env_var, false); - } else { -+#ifdef HAVE_ISULAD -+ /* isulad: recover space replaced by SPACE_MAGIC_STR */ -+ replaced = lxc_string_replace(SPACE_MAGIC_STR, " ", value); -+ if(!replaced) -+ goto on_error; -+ -+ list_item->elem = replaced; -+#else - list_item->elem = strdup(value); -+#endif - } - - if (!list_item->elem) -@@ -2291,11 +2330,14 @@ static int set_config_console_rotate(const char *key, const char *value, - if (lxc_safe_uint(value, &lxc_conf->console.log_rotate) < 0) - return -1; - -+#ifndef HAVE_ISULAD -+ /* isulad: support rotate muti-files */ - if (lxc_conf->console.log_rotate > 1) { - ERROR("The \"lxc.console.rotate\" config key can only be set " - "to 0 or 1"); - return -1; - } -+#endif - - return 0; - } -@@ -2581,6 +2623,11 @@ static int set_config_rootfs_options(const char *key, const char *value, - int ret; - struct lxc_rootfs *rootfs = &lxc_conf->rootfs; - -+#ifdef HAVE_ISULAD -+ ret = parse_mntopts(value, &mflags, &pflags, &mdata); -+ if (ret < 0) -+ return -EINVAL; -+#else - ret = parse_mntopts(value, &mflags, &mdata); - if (ret < 0) - return -EINVAL; -@@ -2590,6 +2637,7 @@ static int set_config_rootfs_options(const char *key, const char *value, - free(mdata); - return -EINVAL; - } -+#endif - - ret = set_config_string_item(&opts, value); - if (ret < 0) { -@@ -2722,6 +2770,54 @@ struct parse_line_conf { - bool from_include; - }; - -+#ifdef HAVE_ISULAD -+// escape_string_decode compress some escape characters -+static char *escape_string_decode(const char *src) -+{ -+ size_t src_end = 0; -+ size_t dst_end = 0; -+ size_t len = 0; -+ char *dst = NULL; -+ -+ if (src == NULL) { -+ return NULL; -+ } -+ -+ len = strlen(src); -+ if (len == 0) { -+ return NULL; -+ } -+ -+ dst = calloc(1, len + 1); -+ if (dst == NULL) { -+ ERROR("Out of memory"); -+ return NULL; -+ } -+ -+ while(src_end < len) { -+ if (src[src_end] == '\\') { -+ switch (src[++src_end]) -+ { -+ case 'r': dst[dst_end] = '\r'; break; -+ case 'n': dst[dst_end] = '\n'; break; -+ case 'f': dst[dst_end] = '\f'; break; -+ case 'b': dst[dst_end] = '\b'; break; -+ case 't': dst[dst_end] = '\t'; break; -+ case '\\': dst[dst_end] = '\\'; break; -+ // default do not decode -+ default: dst[dst_end++] = '\\'; dst[dst_end] = src[src_end]; break; -+ } -+ } else { -+ dst[dst_end] = src[src_end]; -+ } -+ dst_end++; -+ src_end++; -+ } -+ -+ return dst; -+} -+#endif -+ - static int parse_line(char *buffer, void *data) - { - char *dot, *key, *line, *linep, *value; -@@ -2730,6 +2826,9 @@ static int parse_line(char *buffer, void *data) - int ret = 0; - char *dup = buffer; - struct parse_line_conf *plc = data; -+#ifdef HAVE_ISULAD -+ char *value_decode = NULL; -+#endif - - /* If there are newlines in the config file we should keep them. */ - empty_line = lxc_is_line_empty(dup); -@@ -2796,10 +2895,21 @@ static int parse_line(char *buffer, void *data) - goto on_error; - } - -+#ifdef HAVE_ISULAD -+ value_decode = escape_string_decode(value); -+ if (value_decode == NULL) { -+ ERROR("Value %s decode failed", value); -+ } -+ ret = config->set(key, value_decode ? value_decode: value, plc->conf, NULL); -+#else - ret = config->set(key, value, plc->conf, NULL); -+#endif - - on_error: - free(linep); -+#ifdef HAVE_ISULAD -+ free(value_decode); -+#endif - - return ret; - } -@@ -2912,6 +3022,12 @@ bool lxc_config_define_load(struct lxc_list *defines, struct lxc_container *c) - - lxc_list_for_each(it, defines) { - struct new_config_item *new_item = it->elem; -+#ifdef HAVE_ISULAD -+ if (strcmp(new_item->key, LXC_IMAGE_OCI_KEY) == 0) { -+ c->set_oci_type(c, true); -+ continue; -+ } -+#endif - bret = c->set_config_item(c, new_item->key, new_item->val); - if (!bret) - break; -@@ -6098,3 +6214,526 @@ int lxc_list_net(struct lxc_conf *c, const char *key, char *retv, int inlen) - - return fulllen; - } -+ -+#ifdef HAVE_ISULAD -+/* isulad: set config for init args */ -+static int set_config_init_args(const char *key, const char *value, -+ struct lxc_conf *lxc_conf, void *data) -+{ -+ int ret = 0; -+ char **tmp = NULL; -+ char *new_value = NULL; -+ -+ ret = set_config_string_item(&new_value, value); -+ if (ret || !new_value) -+ return ret; -+ -+ tmp = (char **)realloc(lxc_conf->init_argv, (lxc_conf->init_argc + 1) * sizeof(char *)); -+ if (!tmp) { -+ ERROR("Out of memory"); -+ free(new_value); -+ return -1; -+ } -+ -+ lxc_conf->init_argv = tmp; -+ -+ lxc_conf->init_argv[lxc_conf->init_argc] = new_value; -+ lxc_conf->init_argc++; -+ -+ return 0; -+} -+ -+/* isulad: get config init args */ -+static int get_config_init_args(const char *key, char *retv, int inlen, -+ struct lxc_conf *c, void *data) -+{ -+ int i, len, fulllen = 0; -+ -+ if (!retv) -+ inlen = 0; -+ else -+ memset(retv, 0, inlen); -+ -+ for (i = 0; i < c->init_argc; i++) { -+ strprint(retv, inlen, "%s", c->init_argv[i]); -+ } -+ -+ return fulllen; -+} -+ -+/* isulad: clr config init args*/ -+static inline int clr_config_init_args(const char *key, struct lxc_conf *c, -+ void *data) -+{ -+ return lxc_clear_init_args(c); -+} -+ -+/* isulad: set config for init groups */ -+static int set_config_init_groups(const char *key, const char *value, -+ struct lxc_conf *lxc_conf, void *data) -+{ -+ char *groups = NULL; -+ char *token = NULL; -+ int ret = -1; -+ -+ if (lxc_config_value_empty(value)) -+ return lxc_clear_init_groups(lxc_conf); -+ -+ groups = strdup(value); -+ if (!groups) -+ return -1; -+ -+ /* In case several capability keep is specified in a single line -+ * split these caps in a single element for the list. -+ */ -+ lxc_iterate_parts(token, groups, " \t") { -+ gid_t *tmp = NULL; -+ if (lxc_mem_realloc((void **)&tmp, (lxc_conf->init_groups_len + 1) * sizeof(gid_t), lxc_conf->init_groups, -+ (lxc_conf->init_groups_len) * sizeof(gid_t)) != 0) { -+ ERROR("Out of memory"); -+ goto on_error; -+ } -+ lxc_conf->init_groups = tmp; -+ tmp[lxc_conf->init_groups_len] = atoll(token); -+ lxc_conf->init_groups_len++; -+ } -+ -+ ret = 0; -+ -+on_error: -+ free(groups); -+ -+ return ret; -+} -+ -+/* isulad: get config init groups */ -+static int get_config_init_groups(const char *key, char *retv, int inlen, -+ struct lxc_conf *c, void *data) -+{ -+ int i, len, fulllen = 0; -+ -+ if (!retv) -+ inlen = 0; -+ else -+ memset(retv, 0, inlen); -+ -+ for (i = 0; i < c->init_groups_len; i++) { -+ strprint(retv, inlen, "%u\n", c->init_groups[i]); -+ } -+ -+ return fulllen; -+} -+ -+/* isulad: clr config init args*/ -+static inline int clr_config_init_groups(const char *key, struct lxc_conf *c, -+ void *data) -+{ -+ return lxc_clear_init_groups(c); -+} -+ -+/* isulad: set config for populate device */ -+static int set_config_populate_device(const char *key, const char *value, -+ struct lxc_conf *lxc_conf, void *data) -+{ -+ int ret = 0, major = 0, minor = 0; -+ uid_t uid = (uid_t)-1; -+ gid_t gid = (gid_t)-1; -+ char name[4096] = {0}; /* MAX dev path name */ -+ char type[3] = {0}; -+ char *replace_value = NULL; -+ mode_t filemode = 0; -+ struct lxc_list *iter = NULL; -+ struct lxc_list *dev_list = NULL; -+ struct lxc_populate_devs *dev_elem = NULL; -+ -+ if (lxc_config_value_empty(value)) -+ return lxc_clear_populate_devices(lxc_conf); -+ -+ /* lxc.populate.device = PATH_IN_CONTAINER:DEVICETYPE:MAJOR:MINOR:MODE:UID:GID -+ * For e.g. lxc.populate.device = /dev/sda:b:8:0:0666:0:0 -+ */ -+ ret = sscanf(value, "%4095[^:]:%2[^:]:%i:%i:%i:%u:%u", name, type, &major, &minor, &filemode, &uid, &gid); -+ if (ret != 7) -+ return -1; -+ -+ /* find existing list element */ -+ lxc_list_for_each(iter, &lxc_conf->populate_devs) { -+ dev_elem = iter->elem; -+ -+ if (strcmp(name, dev_elem->name) != 0) -+ continue; -+ -+ replace_value = safe_strdup(type); -+ -+ free(dev_elem->type); -+ dev_elem->type = replace_value; -+ dev_elem->file_mode = filemode; -+ dev_elem->maj = major; -+ dev_elem->min = minor; -+ dev_elem->uid = (uid_t)uid; -+ dev_elem->gid = (gid_t)gid; -+ return 0; -+ } -+ -+ /* allocate list element */ -+ dev_list = malloc(sizeof(*dev_list)); -+ if (dev_list == NULL) -+ goto on_error; -+ -+ lxc_list_init(dev_list); -+ -+ dev_elem = malloc(sizeof(*dev_elem)); -+ if (dev_elem == NULL) -+ goto on_error; -+ memset(dev_elem, 0, sizeof(*dev_elem)); -+ -+ dev_elem->name = safe_strdup(name); -+ -+ dev_elem->type = safe_strdup(type); -+ -+ dev_elem->file_mode = filemode; -+ dev_elem->maj = major; -+ dev_elem->min = minor; -+ dev_elem->uid = (uid_t)uid; -+ dev_elem->gid = (gid_t)gid; -+ -+ lxc_list_add_elem(dev_list, dev_elem); -+ -+ lxc_list_add_tail(&lxc_conf->populate_devs, dev_list); -+ -+ return 0; -+ -+on_error: -+ free(dev_list); -+ if (dev_elem) { -+ free(dev_elem->name); -+ free(dev_elem->type); -+ free(dev_elem); -+ } -+ return -1; -+} -+ -+/* isulad: get config populate device -+ * If you ask for 'lxc.populate.device', then all populate device -+ * entries will be printed, in 'lxc.populate.device = path_in_container:type:major:minor:mode:uid:gid' format. -+ * For e.g. lxc.populate.device = /dev/sda:b:8:0:0666:0:0 -+ */ -+static int get_config_populate_device(const char *key, char *retv, int inlen, -+ struct lxc_conf *c, void *data) -+{ -+ int len; -+ struct lxc_list *it = NULL; -+ int fulllen = 0; -+ -+ if (!retv) -+ inlen = 0; -+ else -+ memset(retv, 0, inlen); -+ -+ lxc_list_for_each(it, &c->populate_devs) { -+ struct lxc_populate_devs *elem = it->elem; -+ strprint(retv, inlen, "lxc.populate.device = %s:%s:%d:%d:%o:%u:%u\n", -+ elem->name, elem->type, elem->maj, -+ elem->min, elem->file_mode, elem->uid, elem->gid); -+ } -+ -+ return fulllen; -+} -+ -+/* isulad: clr config populate devices*/ -+static inline int clr_config_populate_device(const char *key, struct lxc_conf *c, -+ void *data) -+{ -+ return lxc_clear_populate_devices(c); -+} -+ -+/* isulad: set config for umask */ -+static int set_config_umask(const char *key, const char *value, -+ struct lxc_conf *lxc_conf, void *data) -+{ -+ if (lxc_config_value_empty(value)) { -+ ERROR("Empty umask"); -+ return -1; -+ } -+ -+ if (strcmp(value, "normal") == 0) { -+ lxc_conf->umask = 0022; -+ return 0; -+ } else if (strcmp(value, "secure") == 0) { -+ lxc_conf->umask = 0027; -+ return 0; -+ } else { -+ ERROR("Invalid native umask: %s", value); -+ return -1; -+ } -+} -+ -+/* isulad add: get umask value*/ -+static int get_config_umask(const char *key, char *retv, int inlen, -+ struct lxc_conf *c, void *data) -+{ -+ return lxc_get_conf_size_t(c, retv, inlen, c->umask); -+} -+ -+/* isulad add: clear umask value */ -+static inline int clr_config_umask(const char *key, struct lxc_conf *c, -+ void *data) -+{ -+ c->umask = 0027; -+ return 0; -+} -+ -+/* isulad: set config for rootfs masked paths */ -+static int set_config_rootfs_masked_paths(const char *key, const char *value, -+ struct lxc_conf *lxc_conf, void *data) -+{ -+ struct lxc_list *list_item = NULL; -+ -+ if (lxc_config_value_empty(value)) -+ return lxc_clear_rootfs_masked_paths(lxc_conf); -+ -+ list_item = malloc(sizeof(*list_item)); -+ if (list_item == NULL) -+ goto on_error; -+ -+ list_item->elem = safe_strdup(value); -+ -+ lxc_list_add_tail(&lxc_conf->rootfs.maskedpaths, list_item); -+ -+ return 0; -+ -+on_error: -+ free(list_item); -+ -+ return -1; -+} -+ -+// isulad: get config rootfs masked paths -+static int get_config_rootfs_masked_paths(const char *key, char *retv, int inlen, -+ struct lxc_conf *c, void *data) -+{ -+ int len, fulllen = 0; -+ struct lxc_list *it = NULL; -+ -+ if (!retv) -+ inlen = 0; -+ else -+ memset(retv, 0, inlen); -+ -+ lxc_list_for_each(it, &c->rootfs.maskedpaths) { -+ strprint(retv, inlen, "%s\n", (char *)it->elem); -+ } -+ -+ return fulllen; -+} -+ -+/* isulad: set config for rootfs ro paths */ -+static int set_config_rootfs_ro_paths(const char *key, const char *value, -+ struct lxc_conf *lxc_conf, void *data) -+{ -+ struct lxc_list *list_item = NULL; -+ -+ if (lxc_config_value_empty(value)) -+ return lxc_clear_rootfs_ro_paths(lxc_conf); -+ -+ list_item = malloc(sizeof(*list_item)); -+ if (list_item == NULL) -+ goto on_error; -+ -+ list_item->elem = safe_strdup(value); -+ -+ lxc_list_add_tail(&lxc_conf->rootfs.ropaths, list_item); -+ -+ return 0; -+ -+on_error: -+ free(list_item); -+ -+ return -1; -+} -+ -+// isulad: get config rootfs ro paths -+static int get_config_rootfs_ro_paths(const char *key, char *retv, int inlen, -+ struct lxc_conf *c, void *data) -+{ -+ int len, fulllen = 0; -+ struct lxc_list *it = NULL; -+ -+ if (!retv) -+ inlen = 0; -+ else -+ memset(retv, 0, inlen); -+ -+ lxc_list_for_each(it, &c->rootfs.ropaths) { -+ strprint(retv, inlen, "%s\n", (char *)it->elem); -+ } -+ -+ return fulllen; -+} -+ -+/* isulad: clr config rootfs masked paths */ -+static inline int clr_config_rootfs_masked_paths(const char *key, struct lxc_conf *c, -+ void *data) -+{ -+ return lxc_clear_rootfs_masked_paths(c); -+} -+ -+/* isulad: clr config rootfs ro paths */ -+static inline int clr_config_rootfs_ro_paths(const char *key, struct lxc_conf *c, -+ void *data) -+{ -+ return lxc_clear_rootfs_ro_paths(c); -+} -+ -+/* isulad: set config for systemd */ -+static int set_config_systemd(const char *key, const char *value, -+ struct lxc_conf *lxc_conf, void *data) -+{ -+ if (lxc_config_value_empty(value)) { -+ ERROR("Empty umask"); -+ return -1; -+ } -+ lxc_conf->systemd = strdup(value); -+ return 0; -+} -+ -+/* isulad add: get systemd value*/ -+static int get_config_systemd(const char *key, char *retv, int inlen, -+ struct lxc_conf *c, void *data) -+{ -+ return lxc_get_conf_str(retv, inlen, c->systemd); -+} -+ -+/* isulad add: clear systemd value */ -+static inline int clr_config_systemd(const char *key, struct lxc_conf *c, -+ void *data) -+{ -+ free(c->systemd); -+ c->systemd = NULL; -+ return 0; -+} -+ -+static int set_config_console_log_driver(const char *key, const char *value, -+ struct lxc_conf *lxc_conf, void *data) -+{ -+ return set_config_string_item(&lxc_conf->console.log_driver, value); -+} -+ -+static int set_config_console_syslog_tag(const char *key, const char *value, -+ struct lxc_conf *lxc_conf, void *data) -+{ -+ if (value == NULL) { -+ return -1; -+ } -+ return set_config_string_item(&lxc_conf->console.log_syslog_tag, value); -+} -+ -+static int parse_facility(const char *facility) -+{ -+#define FACILITIES_LEN 20 -+ const char *facility_keys[FACILITIES_LEN] = { -+ "kern", "user", "mail", "daemon", "auth", -+ "syslog", "lpr", "news", "uucp", "cron", "authpriv", "ftp", -+ "local0", "local1", "local2", "local3", "local4", "local5", "local6", "local7" -+ }; -+ const int facilities[FACILITIES_LEN] = { -+ LOG_KERN, LOG_USER, LOG_MAIL, LOG_DAEMON, LOG_AUTH, LOG_SYSLOG, -+ LOG_LPR, LOG_NEWS, LOG_UUCP, LOG_CRON, LOG_AUTHPRIV, LOG_FTP, -+ LOG_LOCAL0, LOG_LOCAL1, LOG_LOCAL2, LOG_LOCAL3, LOG_LOCAL4, -+ LOG_LOCAL5, LOG_LOCAL6, LOG_LOCAL7 -+ }; -+ int i = 0; -+ -+ if (facility == NULL) { -+ return -1; -+ } -+ -+ for (; i < FACILITIES_LEN; i++) { -+ if (strcmp(facility, facility_keys[i]) == 0) { -+ return facilities[i]; -+ } -+ } -+ -+ return -1; -+} -+ -+static int set_config_console_syslog_facility(const char *key, const char *value, -+ struct lxc_conf *lxc_conf, void *data) -+{ -+ int facility; -+ -+ facility = parse_facility(value); -+ if (facility < 0) { -+ NOTICE("Invalid facility: %s", value); -+ facility = LOG_DAEMON; -+ } -+ -+ lxc_conf->console.log_syslog_facility = facility; -+ return 0; -+} -+ -+static int set_config_selinux_mount_context(const char *key, const char *value, -+ struct lxc_conf *lxc_conf, void *data) -+{ -+ if (value != NULL && strcmp(value, "unconfined_t") == 0) { -+ return set_config_string_item(&lxc_conf->lsm_se_mount_context, NULL); -+ } -+ -+ return set_config_string_item(&lxc_conf->lsm_se_mount_context, value); -+} -+ -+static int get_config_console_log_driver(const char *key, char *retv, int inlen, -+ struct lxc_conf *c, void *data) -+{ -+ return lxc_get_conf_str(retv, inlen, c->console.log_driver); -+} -+ -+static int get_config_console_syslog_tag(const char *key, char *retv, int inlen, -+ struct lxc_conf *c, void *data) -+{ -+ return lxc_get_conf_str(retv, inlen, c->console.log_syslog_tag); -+} -+ -+static int get_config_console_syslog_facility(const char *key, char *retv, int inlen, -+ struct lxc_conf *c, void *data) -+{ -+ return lxc_get_conf_int(c, retv, inlen, c->console.log_syslog_facility); -+} -+ -+static int get_config_selinux_mount_context(const char *key, char *retv, int inlen, -+ struct lxc_conf *c, void *data) -+{ -+ return lxc_get_conf_str(retv, inlen, c->lsm_se_mount_context); -+} -+ -+static inline int clr_config_console_log_driver(const char *key, -+ struct lxc_conf *c, void *data) -+{ -+ free(c->console.log_driver); -+ c->console.log_driver = NULL; -+ return 0; -+} -+ -+static inline int clr_config_console_syslog_tag(const char *key, -+ struct lxc_conf *c, void *data) -+{ -+ free(c->console.log_syslog_tag); -+ c->console.log_syslog_tag= NULL; -+ return 0; -+} -+ -+static inline int clr_config_console_syslog_facility(const char *key, -+ struct lxc_conf *c, void *data) -+{ -+ c->console.log_syslog_facility = LOG_DAEMON; -+ return 0; -+} -+ -+static inline int clr_config_selinux_mount_context(const char *key, -+ struct lxc_conf *c, void *data) -+{ -+ free(c->lsm_se_mount_context); -+ c->lsm_se_mount_context = NULL; -+ return 0; -+} -+#endif -diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c -index aac6214..3f75184 100644 ---- a/src/lxc/lxccontainer.c -+++ b/src/lxc/lxccontainer.c -@@ -62,6 +62,10 @@ - #include "utils.h" - #include "version.h" - -+#ifdef HAVE_ISULAD -+#include "exec_commands.h" -+#endif -+ - #if HAVE_OPENSSL - #include - #endif -@@ -83,6 +87,11 @@ - - lxc_log_define(lxccontainer, lxc); - -+#ifdef HAVE_ISULAD -+typedef bool (*func_is_io_stat_read)(const char *value); -+typedef bool (*func_is_io_stat_write)(const char *value); -+#endif -+ - static bool do_lxcapi_destroy(struct lxc_container *c); - static const char *lxcapi_get_config_path(struct lxc_container *c); - #define do_lxcapi_get_config_path(c) lxcapi_get_config_path(c) -@@ -281,6 +290,13 @@ static void lxc_container_free(struct lxc_container *c) - free(c->config_path); - c->config_path = NULL; - -+#ifdef HAVE_ISULAD -+ free(c->exit_fifo); -+ c->exit_fifo = NULL; -+ free(c->ocihookfile); -+ c->ocihookfile = NULL; -+#endif -+ - free(c); - } - -@@ -519,6 +535,7 @@ static bool do_lxcapi_freeze(struct lxc_container *c) - return true; - } - -+ - WRAP_API(bool, lxcapi_freeze) - - static bool do_lxcapi_unfreeze(struct lxc_container *c) -@@ -623,6 +640,66 @@ static bool load_config_locked(struct lxc_container *c, const char *fname) - return true; - } - -+#ifdef HAVE_ISULAD -+static bool load_ocihooks_locked(struct lxc_container *c) -+{ -+ parser_error err = NULL; -+ oci_runtime_spec_hooks *hooks = NULL; -+ -+ if (!c->lxc_conf) -+ c->lxc_conf = lxc_conf_init(); -+ -+ if (!c->lxc_conf) -+ return false; -+ -+ hooks = oci_runtime_spec_hooks_parse_file(c->ocihookfile, NULL, &err); -+ if (!hooks) { -+ fprintf(stderr, "parse oci hooks config failed: %s\n", err); -+ free(err); -+ return true; -+ } -+ c->lxc_conf->ocihooks = hooks; -+ -+ if (err) -+ free(err); -+ return true; -+} -+ -+/* -+ * isulad: set oci hook file path -+ * */ -+static bool set_oci_hook_config_filename(struct lxc_container *c) -+{ -+#define OCI_HOOK_JSON_FILE_NAME "ocihooks.json" -+ char *newpath = NULL; -+ int len, ret; -+ -+ if (!c->config_path) -+ return false; -+ -+ /* $lxc_path + "/" + c->name + "/" + "config" + '\0' */ -+ if (strlen(c->config_path) + strlen(c->name) > SIZE_MAX - strlen(OCI_HOOK_JSON_FILE_NAME) - 3) -+ return false; -+ len = strlen(c->config_path) + strlen(c->name) + strlen(OCI_HOOK_JSON_FILE_NAME) + 3; -+ -+ newpath = malloc(len); -+ if (newpath == NULL) -+ return false; -+ -+ ret = snprintf(newpath, len, "%s/%s/%s", c->config_path, c->name, OCI_HOOK_JSON_FILE_NAME); -+ if (ret < 0 || ret >= len) { -+ fprintf(stderr, "Error printing out config file name\n"); -+ free(newpath); -+ return false; -+ } -+ -+ free(c->ocihookfile); -+ c->ocihookfile = newpath; -+ -+ return true; -+} -+#endif -+ - static bool do_lxcapi_load_config(struct lxc_container *c, const char *alt_file) - { - int lret; -@@ -656,6 +733,11 @@ static bool do_lxcapi_load_config(struct lxc_container *c, const char *alt_file) - - ret = load_config_locked(c, fname); - -+#ifdef HAVE_ISULAD -+ if (ret && file_exists(c->ocihookfile)) -+ ret = load_ocihooks_locked(c); -+#endif -+ - if (need_disklock) - container_disk_unlock(c); - else -@@ -855,6 +937,33 @@ static bool wait_on_daemonized_start(struct lxc_handler *handler, int pid) - return true; - } - -+#ifdef HAVE_ISULAD -+/* isulad: use init argv as init cmd */ -+static char **use_init_args(char **init_argv, size_t init_args) -+{ -+ size_t i; -+ int nargs = 0; -+ char **argv; -+ -+ if (!init_argv) -+ return NULL; -+ -+ do { -+ argv = malloc(sizeof(char *)); -+ } while (!argv); -+ -+ argv[0] = NULL; -+ for (i = 0; i < init_args; i++) -+ push_arg(&argv, init_argv[i], &nargs); -+ -+ if (nargs == 0) { -+ free(argv); -+ return NULL; -+ } -+ return argv; -+} -+#endif -+ - static bool do_lxcapi_start(struct lxc_container *c, int useinit, char * const argv[]) - { - int ret; -@@ -865,6 +974,11 @@ static bool do_lxcapi_start(struct lxc_container *c, int useinit, char * const a - NULL, - }; - char **init_cmd = NULL; -+#ifdef HAVE_ISULAD -+ int keepfds[] = {-1, -1, -1, -1, -1}; -+ ssize_t size_read; -+ char errbuf[BUFSIZ + 1] = {0}; -+#endif - - /* container does exist */ - if (!c) -@@ -911,6 +1025,16 @@ static bool do_lxcapi_start(struct lxc_container *c, int useinit, char * const a - argv = init_cmd = split_init_cmd(conf->init_cmd); - } - -+#ifdef HAVE_ISULAD -+ if (!argv) { -+ argv = init_cmd = use_init_args(conf->init_argv, conf->init_argc); -+ } -+ -+ if (c->image_type_oci) { -+ handler->image_type_oci = true; -+ } -+#endif -+ - /* ... otherwise use default_args. */ - if (!argv) { - if (useinit) { -@@ -930,10 +1054,23 @@ static bool do_lxcapi_start(struct lxc_container *c, int useinit, char * const a - char title[2048]; - pid_t pid_first, pid_second; - -+#ifdef HAVE_ISULAD -+ //isulad: pipdfd for get error message of child or grandchild process. -+ if (pipe2(conf->errpipe, O_CLOEXEC) != 0) { -+ SYSERROR("Failed to init errpipe"); -+ free_init_cmd(init_cmd); -+ lxc_put_handler(handler); -+ return false; -+ } -+#endif -+ - pid_first = fork(); - if (pid_first < 0) { - free_init_cmd(init_cmd); - lxc_put_handler(handler); -+#ifdef HAVE_ISULAD -+ lxc_close_error_pipe(conf->errpipe); -+#endif - return false; - } - -@@ -943,11 +1080,25 @@ static bool do_lxcapi_start(struct lxc_container *c, int useinit, char * const a - * the PID file, child will do the free and unlink. - */ - c->pidfile = NULL; -+#ifdef HAVE_ISULAD -+ close(conf->errpipe[1]); -+ conf->errpipe[1] = -1; -+#endif - - /* Wait for container to tell us whether it started - * successfully. - */ - started = wait_on_daemonized_start(handler, pid_first); -+#ifdef HAVE_ISULAD -+ if (!started) { -+ size_read = read(conf->errpipe[0], errbuf, BUFSIZ); -+ if (size_read > 0) { -+ conf->errmsg = safe_strdup(errbuf); -+ } -+ } -+ close(conf->errpipe[0]); -+ conf->errpipe[0] = -1; -+#endif - - free_init_cmd(init_cmd); - lxc_put_handler(handler); -@@ -983,6 +1134,9 @@ static bool do_lxcapi_start(struct lxc_container *c, int useinit, char * const a - if (pid_second != 0) { - free_init_cmd(init_cmd); - lxc_put_handler(handler); -+#ifdef HAVE_ISULAD -+ lxc_close_error_pipe(conf->errpipe); -+#endif - _exit(EXIT_SUCCESS); - } - -@@ -995,7 +1149,18 @@ static bool do_lxcapi_start(struct lxc_container *c, int useinit, char * const a - _exit(EXIT_FAILURE); - } - -+#ifdef HAVE_ISULAD -+ keepfds[0] = handler->conf->maincmd_fd; -+ keepfds[1] = handler->state_socket_pair[0]; -+ keepfds[2] = handler->state_socket_pair[1]; -+ keepfds[4] = conf->errpipe[1]; -+ close(conf->errpipe[0]); -+ conf->errpipe[0] = -1; -+ ret = lxc_check_inherited(conf, true, keepfds, -+ sizeof(keepfds) / sizeof(keepfds[0])); -+#else - ret = inherit_fds(handler, true); -+#endif - if (ret < 0) - _exit(EXIT_FAILURE); - -@@ -1028,6 +1193,9 @@ static bool do_lxcapi_start(struct lxc_container *c, int useinit, char * const a - if (w < 0 || (size_t)w >= sizeof(pidstr)) { - free_init_cmd(init_cmd); - lxc_put_handler(handler); -+#ifdef HAVE_ISULAD -+ lxc_close_error_pipe(conf->errpipe); -+#endif - - SYSERROR("Failed to write monitor pid to \"%s\"", c->pidfile); - -@@ -1041,6 +1209,9 @@ static bool do_lxcapi_start(struct lxc_container *c, int useinit, char * const a - if (ret < 0) { - free_init_cmd(init_cmd); - lxc_put_handler(handler); -+#ifdef HAVE_ISULAD -+ lxc_close_error_pipe(conf->errpipe); -+#endif - - SYSERROR("Failed to write monitor pid to \"%s\"", c->pidfile); - -@@ -1051,6 +1222,19 @@ static bool do_lxcapi_start(struct lxc_container *c, int useinit, char * const a - } - } - -+#ifdef HAVE_ISULAD -+ /* isulad: open exit fifo */ -+ if (c->exit_fifo) { -+ conf->exit_fd = lxc_open(c->exit_fifo, O_WRONLY | O_NONBLOCK | O_CLOEXEC, 0); -+ if (conf->exit_fd < 0) { -+ ERROR("Failed to open exit fifo %s: %s.", c->exit_fifo, strerror(errno)); -+ lxc_put_handler(handler); -+ ret = 1; -+ goto on_error; -+ } -+ } -+#endif -+ - conf->reboot = REBOOT_NONE; - - /* Unshare the mount namespace if requested */ -@@ -1082,19 +1266,53 @@ reboot: - } - } - -+#ifdef HAVE_ISULAD -+ keepfds[0] = handler->conf->maincmd_fd; -+ keepfds[1] = handler->state_socket_pair[0]; -+ keepfds[2] = handler->state_socket_pair[1]; -+ -+ /* keep exit fifo fd */ -+ if (conf->exit_fd >= 0) { -+ keepfds[3] = conf->exit_fd; -+ } -+ /* isulad: keep errpipe fd */ -+ if (c->daemonize) -+ keepfds[4] = conf->errpipe[1]; -+ -+ ret = lxc_check_inherited(conf, c->daemonize, keepfds, -+ sizeof(keepfds) / sizeof(keepfds[0])); -+ if (ret < 0) { -+ lxc_put_handler(handler); -+ ret = 1; -+ goto on_error; -+ } -+#else - ret = inherit_fds(handler, c->daemonize); - if (ret < 0) { - lxc_put_handler(handler); - ret = 1; - goto on_error; - } -+#endif - -+#ifndef HAVE_ISULAD - if (useinit) - ret = lxc_execute(c->name, argv, 1, handler, c->config_path, - c->daemonize, &c->error_num); - else - ret = lxc_start(argv, handler, c->config_path, c->daemonize, - &c->error_num); -+#else -+ if (useinit) { -+ ret = lxc_execute(c->name, argv, 1, handler, c->config_path, -+ c->daemonize, &c->error_num, c->start_timeout); -+ } else { -+ handler->disable_pty = c->disable_pty; -+ handler->open_stdin = c->open_stdin; -+ ret = lxc_start(argv, handler, c->config_path, c->daemonize, -+ &c->error_num, c->start_timeout); -+ } -+#endif - - if (conf->reboot == REBOOT_REQ) { - INFO("Container requested reboot"); -@@ -1185,6 +1403,9 @@ WRAP_API(bool, lxcapi_stop) - - static int do_create_container_dir(const char *path, struct lxc_conf *conf) - { -+#ifdef HAVE_ISULAD -+ __do_free char *p = NULL; -+#endif - int lasterr; - int ret = -1; - -@@ -1200,8 +1421,16 @@ static int do_create_container_dir(const char *path, struct lxc_conf *conf) - ret = 0; - } - -+#ifdef HAVE_ISULAD -+ p = must_copy_string(path); -+#endif -+ - if (!lxc_list_empty(&conf->id_map)) { -+#ifdef HAVE_ISULAD -+ ret = chown_mapped_root(p, conf); -+#else - ret = chown_mapped_root(path, conf); -+#endif - if (ret < 0) - ret = -1; - } -@@ -2048,7 +2277,12 @@ WRAP_API_1(bool, lxcapi_reboot2, int) - static bool do_lxcapi_shutdown(struct lxc_container *c, int timeout) - { - __do_close int pidfd = -EBADF, state_client_fd = -EBADF; -+#ifdef HAVE_ISULAD -+ // isulad: keep default signal the same as docker -+ int haltsignal = SIGTERM; -+#else - int haltsignal = SIGPWR; -+#endif - pid_t pid = -1; - lxc_state_t states[MAX_STATE] = {0}; - int killret, ret; -@@ -2067,9 +2301,10 @@ static bool do_lxcapi_shutdown(struct lxc_container *c, int timeout) - /* Detect whether we should send SIGRTMIN + 3 (e.g. systemd). */ - if (c->lxc_conf && c->lxc_conf->haltsignal) - haltsignal = c->lxc_conf->haltsignal; -+#ifndef HAVE_ISULAD - else if (task_blocks_signal(pid, (SIGRTMIN + 3))) - haltsignal = (SIGRTMIN + 3); -- -+#endif - - /* - * Add a new state client before sending the shutdown signal so -@@ -2938,6 +3173,21 @@ static int lxc_unlink_exec_wrapper(void *data) - return unlink(arg); - } - -+#ifdef HAVE_ISULAD -+static void container_sock_dir_delete(const char *name) -+{ -+ __do_free char *sock_dir = NULL; -+ -+ sock_dir = generate_named_unix_sock_dir(name); -+ if (sock_dir == NULL) { -+ ERROR("Failed to generate exec unix sock dir"); -+ return; -+ } -+ -+ (void)lxc_rmdir_onedev(sock_dir, NULL); -+} -+#endif -+ - static bool container_destroy(struct lxc_container *c, - struct lxc_storage *storage) - { -@@ -2948,8 +3198,19 @@ static bool container_destroy(struct lxc_container *c, - bool bret = false; - int ret = 0; - -+#ifdef HAVE_ISULAD -+ if (!c) -+ return false; -+ // isulad: if container is not defined, we need to remove disk lock file -+ // which is created in lxc_container_new. -+ if (!do_lxcapi_is_defined(c)) { -+ container_disk_removelock(c); -+ return false; -+ } -+#else - if (!c || !do_lxcapi_is_defined(c)) - return false; -+#endif - - conf = c->lxc_conf; - if (container_disk_lock(c)) -@@ -3069,8 +3330,20 @@ static bool container_destroy(struct lxc_container *c, - if (ret < 0) { - ERROR("Failed to destroy directory \"%s\" for \"%s\"", path, - c->name); -+#ifdef HAVE_ISULAD -+ char msg[BUFSIZ] = { 0 }; -+ ret = snprintf(msg, BUFSIZ, "Failed to destroy directory \"%s\": %s", path, errno ? strerror(errno) : "error"); -+ if (ret < 0 || ret >= BUFSIZ) { -+ ERROR("Sprintf failed"); -+ goto out; -+ } -+ c->error_string = safe_strdup(msg); -+#endif - goto out; - } -+#ifdef HAVE_ISULAD -+ container_sock_dir_delete(c->name); -+#endif - INFO("Destroyed directory \"%s\" for \"%s\"", path, c->name); - - on_success: -@@ -3081,6 +3354,11 @@ out: - free(path); - - container_disk_unlock(c); -+#ifdef HAVE_ISULAD -+ if (bret && container_disk_removelock(c)) { -+ bret = false; -+ } -+#endif - return bret; - } - -@@ -4030,8 +4308,13 @@ static int lxcapi_attach(struct lxc_container *c, - - current_config = c->lxc_conf; - -+#ifdef HAVE_ISULAD -+ ret = lxc_attach(c, exec_function, exec_payload, options, -+ attached_process, &c->lxc_conf->errmsg); -+#else - ret = lxc_attach(c, exec_function, exec_payload, options, - attached_process); -+#endif - current_config = NULL; - return ret; - } -@@ -4051,7 +4334,11 @@ static int do_lxcapi_attach_run_wait(struct lxc_container *c, - command.program = (char *)program; - command.argv = (char **)argv; - -+#ifdef HAVE_ISULAD -+ ret = lxc_attach(c, lxc_attach_run_command, &command, options, &pid, NULL); -+#else - ret = lxc_attach(c, lxc_attach_run_command, &command, options, &pid); -+#endif - if (ret < 0) - return ret; - -@@ -5230,7 +5517,561 @@ static int do_lxcapi_seccomp_notify_fd(struct lxc_container *c) - - WRAP_API(int, lxcapi_seccomp_notify_fd) - -+#ifdef HAVE_ISULAD -+/* isulad add set console fifos*/ -+static bool do_lxcapi_set_terminal_default_fifos(struct lxc_container *c, const char *in, const char *out, const char *err) -+{ -+ struct lxc_conf *conf = NULL; -+ -+ if (!c || !c->lxc_conf) -+ return false; -+ if (container_mem_lock(c)) { -+ ERROR("Error getting mem lock"); -+ return false; -+ } -+ -+ conf = c->lxc_conf; -+ if (in) { -+ if (conf->console.init_fifo[0]) -+ free(conf->console.init_fifo[0]); -+ conf->console.init_fifo[0] = safe_strdup(in); -+ } -+ if (out) { -+ if (conf->console.init_fifo[1]) -+ free(conf->console.init_fifo[1]); -+ conf->console.init_fifo[1] = safe_strdup(out); -+ } -+ if (err) { -+ if (conf->console.init_fifo[2]) -+ free(conf->console.init_fifo[2]); -+ conf->console.init_fifo[2] = safe_strdup(err); -+ } -+ -+ container_mem_unlock(c); -+ return true; -+} -+ -+WRAP_API_3(bool, lxcapi_set_terminal_default_fifos, const char *, const char *, const char *) -+ -+/* isulad add set info file path */ -+static bool do_lxcapi_set_container_info_file(struct lxc_container *c, const char *info_file) -+{ -+ struct lxc_conf *conf = NULL; -+ -+ if (!c || !c->lxc_conf || !info_file) -+ return false; -+ if (container_mem_lock(c)) { -+ ERROR("Error getting mem lock"); -+ return false; -+ } -+ -+ conf = c->lxc_conf; -+ if (conf->container_info_file) -+ free(conf->container_info_file); -+ conf->container_info_file = safe_strdup(info_file); -+ -+ container_mem_unlock(c); -+ return true; -+} -+ -+WRAP_API_1(bool, lxcapi_set_container_info_file, const char *) -+ -+static bool do_lxcapi_want_disable_pty(struct lxc_container *c, bool state) -+{ -+ if (!c || !c->lxc_conf) -+ return false; -+ -+ if (container_mem_lock(c)) -+ return false; -+ -+ c->disable_pty = state; -+ -+ container_mem_unlock(c); -+ -+ return true; -+} -+ -+WRAP_API_1(bool, lxcapi_want_disable_pty, bool) -+ -+static bool do_lxcapi_want_open_stdin(struct lxc_container *c, bool state) -+{ -+ if (!c || !c->lxc_conf) -+ return false; -+ -+ if (container_mem_lock(c)) -+ return false; -+ -+ c->open_stdin = state; -+ -+ container_mem_unlock(c); -+ -+ return true; -+} -+ -+WRAP_API_1(bool, lxcapi_want_open_stdin, bool) -+ -+/* isulad add clean resources */ -+static bool do_lxcapi_add_terminal_fifo(struct lxc_container *c, const char *in_fifo, const char *out_fifo, const char *err_fifo) -+{ -+ bool ret = true; -+ -+ if (!c || !c->lxc_conf) -+ return false; -+ if (container_mem_lock(c)) { -+ ERROR("Error getting mem lock"); -+ return false; -+ } -+ -+ if (lxc_cmd_set_terminal_fifos(c->name, c->config_path, in_fifo, out_fifo, err_fifo)) { -+ ERROR("Error set console fifos"); -+ ret = false; -+ } -+ -+ container_mem_unlock(c); -+ return ret; -+} -+ -+WRAP_API_3(bool, lxcapi_add_terminal_fifo, const char *, const char *, const char *) -+ -+static bool do_lxcapi_set_terminal_winch(struct lxc_container *c, unsigned int height, unsigned int width) -+{ -+ bool ret = true; -+ -+ if (!c || !c->lxc_conf) -+ return false; -+ if (container_mem_lock(c)) { -+ ERROR("Error getting mem lock"); -+ return false; -+ } -+ -+ if (lxc_cmd_set_terminal_winch(c->name, c->config_path, height, width)) { -+ ERROR("Error set terminal winch"); -+ ret = false; -+ } -+ -+ container_mem_unlock(c); -+ return ret; -+} -+ -+WRAP_API_2(bool, lxcapi_set_terminal_winch, unsigned int, unsigned int) -+ -+static bool do_lxcapi_set_exec_terminal_winch(struct lxc_container *c, const char *suffix, unsigned int height, unsigned int width) -+{ -+ bool ret = true; -+ -+ if (!c || !c->lxc_conf) -+ return false; -+ if (container_mem_lock(c)) { -+ ERROR("Error getting mem lock"); -+ return false; -+ } -+ -+ if (lxc_exec_cmd_set_terminal_winch(c->name, c->config_path, suffix, height, width)) { -+ ERROR("Error set terminal winch"); -+ ret = false; -+ } -+ -+ container_mem_unlock(c); -+ return ret; -+} -+ -+WRAP_API_3(bool, lxcapi_set_exec_terminal_winch, const char *, unsigned int, unsigned int) -+ -+/* isulad add clean resources */ -+static bool do_lxcapi_clean_container_resource(struct lxc_container *c, pid_t pid) -+{ -+ int ret; -+ -+ if (!c) -+ return false; -+ -+ ret = do_lxcapi_clean_resource(c->name, c->config_path, c->lxc_conf, pid); -+ if (ret) -+ ERROR("Failed to clean container %s resource", c->name); -+ return ret == 0; -+ -+} -+ -+WRAP_API_1(bool, lxcapi_clean_container_resource, pid_t) -+ -+/* isulad get coantainer pids */ -+static bool do_lxcapi_get_container_pids(struct lxc_container *c, pid_t **pids,size_t *pids_len) -+{ -+ int ret; -+ -+ if (!c) -+ return false; -+ -+ ret = do_lxcapi_get_pids(c->name, c->config_path, c->lxc_conf, pids,pids_len); -+ if (ret) -+ ERROR("Failed to get container %s pids", c->name); -+ return ret == 0; -+ -+} -+ -+WRAP_API_2(bool, lxcapi_get_container_pids, pid_t **,size_t *) -+ -+/* isulad add start timeout */ -+static bool do_lxcapi_set_start_timeout(struct lxc_container *c, unsigned int start_timeout) -+{ -+ if (!c || !c->lxc_conf) -+ return false; -+ if (container_mem_lock(c)) { -+ ERROR("Error getting mem lock"); -+ return false; -+ } -+ c->start_timeout = start_timeout; -+ container_mem_unlock(c); -+ return true; -+} -+ -+WRAP_API_1(bool, lxcapi_set_start_timeout, unsigned int) -+ -+/* isulad add set image type */ -+static bool do_lxcapi_set_oci_type(struct lxc_container *c, bool image_type_oci) -+{ -+ if (!c || !c->lxc_conf) -+ return false; -+ if (container_mem_lock(c)) { -+ ERROR("Error getting mem lock"); -+ return false; -+ } -+ c->image_type_oci = image_type_oci; -+ container_mem_unlock(c); -+ return true; -+} -+ -+WRAP_API_1(bool, lxcapi_set_oci_type, bool) -+ -+static uint64_t metrics_get_ull(struct lxc_container *c, struct cgroup_ops *cgroup_ops, const char *item) -+{ -+ char buf[81] = {0}; -+ int len = 0; -+ uint64_t val = 0; -+ -+ len = cgroup_ops->get(cgroup_ops, item, buf, sizeof(buf) - 1, c->name, c->config_path); -+ if (len <= 0) { -+ DEBUG("unable to read cgroup item %s", item); -+ return 0; -+ } -+ -+ val = strtoull(buf, NULL, 0); -+ return val; -+} -+ -+static uint64_t metrics_get_ull_with_max(struct lxc_container *c, struct cgroup_ops *cgroup_ops, const char *item) -+{ -+ char buf[81] = {0}; -+ int len = 0; -+ uint64_t val = 0; -+ -+ len = cgroup_ops->get(cgroup_ops, item, buf, sizeof(buf) - 1, c->name, c->config_path); -+ if (len <= 0) { -+ DEBUG("unable to read cgroup item %s", item); -+ return 0; -+ } -+ -+ if (strcmp(buf, "max") == 0) { -+ return ULONG_MAX; -+ } -+ -+ val = strtoull(buf, NULL, 0); -+ return val; -+} -+ -+static inline bool is_blk_metrics_read(const char *value) -+{ -+ return strcmp(value, "Read") == 0; -+} -+ -+static inline bool is_blk_metrics_write(const char *value) -+{ -+ return strcmp(value, "Write") == 0; -+} -+ -+static inline bool is_blk_metrics_total(const char *value) -+{ -+ return strcmp(value, "Total") == 0; -+} -+ -+static void metrics_get_blk_stats(struct lxc_container *c, struct cgroup_ops *cgroup_ops, const char *item, struct lxc_blkio_metrics *stats) -+{ -+ char *buf = NULL; -+ int i = 0; -+ int len = 0; -+ int ret = 0; -+ char **lines = NULL; -+ char **cols = NULL; -+ -+ len = cgroup_ops->get(cgroup_ops, item, NULL, 0, c->name, c->config_path); -+ if (len <= 0) { -+ DEBUG("unable to read cgroup item %s", item); -+ return; -+ } -+ -+ buf = malloc(len + 1); -+ (void)memset(buf, 0, len + 1); -+ ret = cgroup_ops->get(cgroup_ops, item, buf, len, c->name, c->config_path); -+ if (ret <= 0) { -+ DEBUG("unable to read cgroup item %s", item); -+ goto out; -+ } -+ -+ lines = lxc_string_split_and_trim(buf, '\n'); -+ if (lines == NULL) { -+ goto out; -+ } -+ -+ (void)memset(stats, 0, sizeof(struct lxc_blkio_metrics)); -+ -+ for (i = 0; lines[i]; i++) { -+ cols = lxc_string_split_and_trim(lines[i], ' '); -+ if (cols == NULL) { -+ goto err_out; -+ } -+ if (lxc_array_len((void **)cols) == 3) { -+ if (is_blk_metrics_read(cols[1])) { -+ stats->read += strtoull(cols[2], NULL, 0); -+ } else if (is_blk_metrics_write(cols[1])) { -+ stats->write += strtoull(cols[2], NULL, 0); -+ } -+ } -+ if (lxc_array_len((void **)cols) == 2 && is_blk_metrics_total(cols[0])) { -+ stats->total = strtoull(cols[1], NULL, 0); -+ } -+ -+ lxc_free_array((void **)cols, free); -+ } -+err_out: -+ lxc_free_array((void **)lines, free); -+out: -+ free(buf); -+ return; -+} -+ -+static void metrics_get_io_stats_v2(struct lxc_container *c, struct cgroup_ops *cgroup_ops, const char *item, struct lxc_blkio_metrics *stats, func_is_io_stat_read is_io_stat_read, func_is_io_stat_write is_io_stat_write) -+{ -+ char *buf = NULL; -+ int i = 0; -+ int j = 0; -+ int len = 0; -+ int ret = 0; -+ char **lines = NULL; -+ char **cols = NULL; -+ char **kv = NULL; -+ -+ len = cgroup_ops->get(cgroup_ops, item, NULL, 0, c->name, c->config_path); -+ if (len <= 0) { -+ DEBUG("unable to read cgroup item %s", item); -+ return; -+ } -+ -+ buf = malloc(len + 1); -+ (void)memset(buf, 0, len + 1); -+ ret = cgroup_ops->get(cgroup_ops, item, buf, len, c->name, c->config_path); -+ if (ret <= 0) { -+ DEBUG("unable to read cgroup item %s", item); -+ goto out; -+ } -+ -+ lines = lxc_string_split_and_trim(buf, '\n'); -+ if (lines == NULL) { -+ goto out; -+ } -+ -+ (void)memset(stats, 0, sizeof(struct lxc_blkio_metrics)); -+ // line example: -+ // 259:0 rbytes=0 wbytes=12288 rios=0 wios=4 dbytes=0 dios=0 -+ for (i = 0; lines[i]; i++) { -+ cols = lxc_string_split_and_trim(lines[i], ' '); -+ if (cols == NULL || lxc_array_len((void **)cols) < 2) { -+ goto err_out; -+ } -+ len = lxc_array_len((void **)cols); -+ for (j = 1; j < len; j++) { -+ kv = lxc_string_split(cols[j], '='); -+ if (kv == NULL || lxc_array_len((void **)kv) != 2) { -+ lxc_free_array((void **)kv, free); -+ continue; -+ } -+ if (is_io_stat_read(kv[0])) { -+ stats->read += strtoull(kv[1], NULL, 0); -+ } else if (is_io_stat_write(kv[0])) { -+ stats->write += strtoull(kv[1], NULL, 0); -+ } -+ lxc_free_array((void **)kv, free); -+ } -+ lxc_free_array((void **)cols, free); -+ } -+ -+ stats->total = stats->read + stats->write; -+ -+err_out: -+ lxc_free_array((void **)lines, free); -+out: -+ free(buf); -+ return; -+} -+ -+static uint64_t metrics_match_get_ull(struct lxc_container *c, struct cgroup_ops *cgroup_ops, const char *item, const char *match, int column) -+{ -+#define BUFSIZE 4096 -+ char buf[BUFSIZE] = {0}; -+ int i = 0; -+ int j = 0; -+ int len = 0; -+ uint64_t val = 0; -+ char **lines = NULL; -+ char **cols = NULL; -+ size_t matchlen = 0; -+ -+ len = cgroup_ops->get(cgroup_ops, item, buf, sizeof(buf) - 1, c->name, c->config_path); -+ if (len <= 0) { -+ DEBUG("unable to read cgroup item %s", item); -+ goto err_out; -+ } -+ -+ lines = lxc_string_split_and_trim(buf, '\n'); -+ if (lines == NULL) { -+ goto err_out; -+ } -+ -+ matchlen = strlen(match); -+ for (i = 0; lines[i]; i++) { -+ if (strncmp(lines[i], match, matchlen) != 0) { -+ continue; -+ } -+ -+ cols = lxc_string_split_and_trim(lines[i], ' '); -+ if (cols == NULL) { -+ goto err1; -+ } -+ for (j = 0; cols[j]; j++) { -+ if (j == column) { -+ val = strtoull(cols[j], NULL, 0); -+ break; -+ } -+ } -+ lxc_free_array((void **)cols, free); -+ break; -+ } -+err1: -+ lxc_free_array((void **)lines, free); -+err_out: -+ return val; -+} -+ -+static bool is_io_stat_rbytes(const char *value) -+{ -+ return strcmp(value, "rbytes") == 0; -+} -+ -+static bool is_io_stat_wbytes(const char *value) -+{ -+ return strcmp(value, "wbytes") == 0; -+} -+ -+static bool is_io_stat_rios(const char *value) -+{ -+ return strcmp(value, "rios") == 0; -+} -+ -+static bool is_io_stat_wios(const char *value) -+{ -+ return strcmp(value, "wios") == 0; -+} -+ -+static bool unified_metrics_get(struct lxc_container *c, struct cgroup_ops *cgroup_ops, struct lxc_container_metrics *metrics) -+{ -+ // cpu -+ metrics->cpu_use_nanos = metrics_match_get_ull(c, cgroup_ops, "cpu.stat", "usage_usec", 1) * 1000; -+ metrics->cpu_use_user = metrics_match_get_ull(c, cgroup_ops, "cpu.stat", "user_usec", 1) * 1000; -+ metrics->cpu_use_sys = metrics_match_get_ull(c, cgroup_ops, "cpu.stat", "system_usec", 1) * 1000; -+ -+ // io -+ metrics_get_io_stats_v2(c, cgroup_ops, "io.stat", &metrics->io_service_bytes, is_io_stat_rbytes, is_io_stat_wbytes); -+ metrics_get_io_stats_v2(c, cgroup_ops, "io.stat", &metrics->io_serviced, is_io_stat_rios, is_io_stat_wios); -+ -+ // memory -+ metrics->mem_used = metrics_get_ull(c, cgroup_ops, "memory.current"); -+ metrics->mem_limit = metrics_get_ull_with_max(c, cgroup_ops, "memory.max"); -+ metrics->inactive_file_total = metrics_match_get_ull(c, cgroup_ops, "memory.stat", "inactive_file", 1); -+ metrics->cache = metrics_match_get_ull(c, cgroup_ops, "memory.stat", "file", 1); -+ metrics->cache_total = metrics->cache; -+ -+ // cgroup v2 does not support kernel memory -+ metrics->kmem_used = 0; -+ metrics->kmem_limit = 0; -+ -+ // pids -+ metrics->pids_current = metrics_get_ull(c, cgroup_ops, "pids.current"); -+ -+ return true; -+} -+ -+/* isulad add get container metrics */ -+static bool do_lxcapi_get_container_metrics(struct lxc_container *c, struct lxc_container_metrics *metrics) -+{ -+ call_cleaner(cgroup_exit) struct cgroup_ops *cgroup_ops = NULL; -+ const char *state = NULL; -+ if (c == NULL || c->lxc_conf == NULL || metrics == NULL) { -+ return false; -+ } -+ -+ state = c->state(c); -+ metrics->state = state; -+ -+ if (!is_stopped(c)) { -+ metrics->init = c->init_pid(c); -+ } else { -+ metrics->init = -1; -+ } -+ -+ cgroup_ops = cgroup_init(c->lxc_conf); -+ if (cgroup_ops == NULL) { -+ return false; -+ } -+ -+ if (cgroup_ops->cgroup_layout == CGROUP_LAYOUT_UNIFIED) { -+ return unified_metrics_get(c, cgroup_ops, metrics); -+ } -+ -+ metrics->cpu_use_nanos = metrics_get_ull(c, cgroup_ops, "cpuacct.usage"); -+ metrics->pids_current = metrics_get_ull(c, cgroup_ops, "pids.current"); -+ -+ metrics->cpu_use_user = metrics_match_get_ull(c, cgroup_ops, "cpuacct.stat", "user", 1); -+ metrics->cpu_use_sys = metrics_match_get_ull(c, cgroup_ops, "cpuacct.stat", "system", 1); -+ -+ // Try to read CFQ stats available on all CFQ enabled kernels first -+ metrics_get_blk_stats(c, cgroup_ops, "blkio.io_serviced_recursive", &metrics->io_serviced); -+ if (metrics->io_serviced.read == 0 && metrics->io_serviced.write == 0 && metrics->io_serviced.total == 0) { -+ metrics_get_blk_stats(c, cgroup_ops, "blkio.throttle.io_service_bytes", &metrics->io_service_bytes); -+ metrics_get_blk_stats(c, cgroup_ops, "blkio.throttle.io_serviced", &metrics->io_serviced); -+ } else { -+ metrics_get_blk_stats(c, cgroup_ops, "blkio.io_service_bytes_recursive", &metrics->io_service_bytes); -+ } -+ -+ metrics->mem_used = metrics_get_ull(c, cgroup_ops, "memory.usage_in_bytes"); -+ metrics->mem_limit = metrics_get_ull(c, cgroup_ops, "memory.limit_in_bytes"); -+ metrics->kmem_used = metrics_get_ull(c, cgroup_ops, "memory.kmem.usage_in_bytes"); -+ metrics->kmem_limit = metrics_get_ull(c, cgroup_ops, "memory.kmem.limit_in_bytes"); -+ -+ metrics->cache = metrics_match_get_ull(c, cgroup_ops, "memory.stat", "cache", 1); -+ metrics->cache_total = metrics_match_get_ull(c, cgroup_ops, "memory.stat", "total_cache", 1); -+ metrics->inactive_file_total = metrics_match_get_ull(c, cgroup_ops, "memory.stat", "total_inactive_file", 1); -+ -+ return true; -+} -+ -+WRAP_API_1(bool, lxcapi_get_container_metrics, struct lxc_container_metrics *) -+ -+#endif -+ -+#ifdef HAVE_ISULAD -+static struct lxc_container *do_lxc_container_new(const char *name, const char *configpath, bool load_config) -+#else - struct lxc_container *lxc_container_new(const char *name, const char *configpath) -+#endif - { - struct lxc_container *c; - size_t len; -@@ -5283,10 +6124,24 @@ struct lxc_container *lxc_container_new(const char *name, const char *configpath - goto err; - } - -+#ifdef HAVE_ISULAD -+ if (!set_oci_hook_config_filename(c)) { -+ fprintf(stderr, "Error allocating oci hooks file pathname\n"); -+ goto err; -+ } -+ -+ if (load_config && file_exists(c->configfile)) { -+ if (!lxcapi_load_config(c, NULL)) { -+ fprintf(stderr, "Failed to load config for %s\n", name); -+ goto err; -+ } -+ } -+#else - if (file_exists(c->configfile) && !lxcapi_load_config(c, NULL)) { - fprintf(stderr, "Failed to load config for %s\n", name); - goto err; - } -+#endif - - rc = ongoing_create(c); - switch (rc) { -@@ -5310,6 +6165,9 @@ struct lxc_container *lxc_container_new(const char *name, const char *configpath - - c->daemonize = true; - c->pidfile = NULL; -+#ifdef HAVE_ISULAD -+ c->image_type_oci = false; -+#endif - - /* Assign the member functions. */ - c->is_defined = lxcapi_is_defined; -@@ -5371,7 +6229,20 @@ struct lxc_container *lxc_container_new(const char *name, const char *configpath - c->mount = lxcapi_mount; - c->umount = lxcapi_umount; - c->seccomp_notify_fd = lxcapi_seccomp_notify_fd; -- -+#ifdef HAVE_ISULAD -+ c->set_container_info_file = lxcapi_set_container_info_file; -+ c->set_terminal_init_fifos = lxcapi_set_terminal_default_fifos; -+ c->add_terminal_fifos = lxcapi_add_terminal_fifo; -+ c->set_terminal_winch = lxcapi_set_terminal_winch; -+ c->set_exec_terminal_winch = lxcapi_set_exec_terminal_winch; -+ c->want_disable_pty = lxcapi_want_disable_pty; -+ c->want_open_stdin = lxcapi_want_open_stdin; -+ c->clean_container_resource = lxcapi_clean_container_resource; -+ c->get_container_pids = lxcapi_get_container_pids; -+ c->set_start_timeout = lxcapi_set_start_timeout; -+ c->set_oci_type = lxcapi_set_oci_type; -+ c->get_container_metrics = lxcapi_get_container_metrics; -+#endif - return c; - - err: -@@ -5379,6 +6250,19 @@ err: - return NULL; - } - -+#ifdef HAVE_ISULAD -+// isulad: new container without load config to save time -+struct lxc_container *lxc_container_without_config_new(const char *name, const char *configpath) -+{ -+ return do_lxc_container_new(name, configpath, false); -+} -+ -+struct lxc_container *lxc_container_new(const char *name, const char *configpath) -+{ -+ return do_lxc_container_new(name, configpath, true); -+} -+#endif -+ - int lxc_get_wait_states(const char **states) - { - int i; -@@ -5557,11 +6441,21 @@ int list_active_containers(const char *lxcpath, char ***nret, - continue; - } - -+#ifdef HAVE_ISULAD -+ if (ct_name && ct_name_cnt) { -+ if (array_contains(&ct_name, p, ct_name_cnt)) { -+ if (is_hashed) -+ free(p); -+ continue; -+ } -+ } -+#else - if (array_contains(&ct_name, p, ct_name_cnt)) { - if (is_hashed) - free(p); - continue; - } -+#endif - - if (!add_to_array(&ct_name, p, ct_name_cnt)) { - if (is_hashed) -diff --git a/src/lxc/lxclock.c b/src/lxc/lxclock.c -index 318e5bf..ce6f889 100644 ---- a/src/lxc/lxclock.c -+++ b/src/lxc/lxclock.c -@@ -179,6 +179,10 @@ struct lxc_lock *lxc_newlock(const char *lxcpath, const char *name) - l->u.f.fd = -1; - - on_error: -+#ifdef HAVE_ISULAD -+ if (l == NULL) -+ fprintf(stderr, "Failed to create lock for %s, path %s\n", name, lxcpath); -+#endif - return l; - } - -@@ -370,3 +374,30 @@ void container_disk_unlock(struct lxc_container *c) - lxcunlock(c->slock); - lxcunlock(c->privlock); - } -+ -+#ifdef HAVE_ISULAD -+static int lxc_removelock(struct lxc_lock *l) -+{ -+ int ret = 0; -+ -+ if (l->type == LXC_LOCK_FLOCK) { -+ ret = unlink(l->u.f.fname); -+ if (ret && errno != ENOENT) { -+ SYSERROR("Error unlink %s", l->u.f.fname); -+ return ret; -+ } -+ } -+ -+ return ret; -+} -+ -+int container_disk_removelock(struct lxc_container *c) -+{ -+ int ret; -+ -+ ret = lxc_removelock(c->slock); -+ if (ret) -+ return ret; -+ return lxc_removelock(c->privlock); -+} -+#endif -diff --git a/src/lxc/mainloop.c b/src/lxc/mainloop.c -index d5ae2a6..c47f31b 100644 ---- a/src/lxc/mainloop.c -+++ b/src/lxc/mainloop.c -@@ -150,3 +150,19 @@ void lxc_mainloop_close(struct lxc_epoll_descr *descr) - - close_prot_errno_disarm(descr->epfd); - } -+ -+#ifdef HAVE_ISULAD -+int isulad_safe_mainloop(struct lxc_epoll_descr *descr, int timeout_ms) -+{ -+ int ret; -+ -+ ret = lxc_mainloop(descr, timeout_ms); -+ -+ // There are stdout and stderr channels, and two epolls should be performed to prevent -+ // one of the channels from exiting first, causing the other channel to not receive data, -+ // resulting in data loss -+ (void)lxc_mainloop(descr, 100); -+ -+ return ret; -+} -+#endif -diff --git a/src/lxc/path.c b/src/lxc/path.c -new file mode 100644 -index 0000000..46256cb ---- /dev/null -+++ b/src/lxc/path.c -@@ -0,0 +1,655 @@ -+/* SPDX-License-Identifier: LGPL-2.1+ */ -+/****************************************************************************** -+ * Copyright (c) Huawei Technologies Co., Ltd. 2020. Allrights reserved -+ * Description: isulad utils -+ * Author: lifeng -+ * Create: 2020-04-11 -+******************************************************************************/ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "path.h" -+#include "log.h" -+#include "isulad_utils.h" -+ -+lxc_log_define(lxc_path_ui, lxc); -+ -+#define ISSLASH(C) ((C) == '/') -+#define IS_ABSOLUTE_FILE_NAME(F) (ISSLASH ((F)[0])) -+#define IS_RELATIVE_FILE_NAME(F) (! IS_ABSOLUTE_FILE_NAME (F)) -+ -+bool specify_current_dir(const char *path) -+{ -+ char *basec = NULL, *bname = NULL; -+ bool res = false; -+ -+ basec = safe_strdup(path); -+ -+ bname = basename(basec); -+ if (bname == NULL) { -+ free(basec); -+ ERROR("Out of memory"); -+ return false; -+ } -+ res = !strcmp(bname, "."); -+ free(basec); -+ return res; -+} -+ -+bool has_traling_path_separator(const char *path) -+{ -+ return path && strlen(path) && (path[strlen(path) - 1] == '/'); -+} -+ -+// PreserveTrailingDotOrSeparator returns the given cleaned path -+// and appends a trailing `/.` or `/` if its corresponding original -+// path ends with a trailing `/.` or `/`. If the cleaned -+// path already ends in a `.` path segment, then another is not added. If the -+// clean path already ends in a path separator, then another is not added. -+char *preserve_trailing_dot_or_separator(const char *cleanedpath, -+ const char *originalpath) -+{ -+ char *respath = NULL; -+ size_t len; -+ -+ if (strlen(cleanedpath) > (SIZE_MAX - 3)) { -+ return NULL; -+ } -+ -+ len = strlen(cleanedpath) + 3; -+ respath = malloc(len); -+ if (respath == NULL) { -+ ERROR("Out of memory"); -+ return NULL; -+ } -+ memset(respath, 0x00, len); -+ strcat(respath, cleanedpath); -+ -+ if (!specify_current_dir(cleanedpath) && specify_current_dir(originalpath)) { -+ if (!has_traling_path_separator(respath)) -+ strcat(respath, "/"); -+ strcat(respath, "."); -+ } -+ -+ if (!has_traling_path_separator(respath) && -+ has_traling_path_separator(originalpath)) -+ strcat(respath, "/"); -+ -+ return respath; -+} -+ -+ -+// Split splits path immediately following the final Separator, -+// separating it into a directory and file name component. -+// If there is no Separator in path, Split returns an empty dir -+// and file set to path. -+// The returned values have the property that path = dir+file. -+bool filepath_split(const char *path, char **dir, char **base) -+{ -+ ssize_t i; -+ size_t len; -+ -+ len = strlen(path); -+ if (len >= PATH_MAX) { -+ ERROR("Invalid path"); -+ return false; -+ } -+ i = len - 1; -+ while (i >= 0 && path[i] != '/') -+ i--; -+ -+ *dir = malloc(i + 2); -+ if (*dir == NULL) { -+ ERROR("Out of memory"); -+ return false; -+ } -+ memcpy(*dir, path, i + 1); -+ *(*dir + i + 1) = '\0'; -+ -+ *base = safe_strdup(path + i + 1); -+ -+ return true; -+} -+ -+ -+static bool do_clean_path_continue(const char *endpos, const char *stpos, const char *respath, char **dst) -+{ -+ if (endpos - stpos == 1 && stpos[0] == '.') { -+ return true; -+ } else if (endpos - stpos == 2 && stpos[0] == '.' && stpos[1] == '.') { -+ char *dest = *dst; -+ if (dest <= respath + 1) { -+ return true; -+ } -+ for (--dest; dest > respath && !ISSLASH(dest[-1]); --dest) { -+ *dst = dest; -+ return true; -+ } -+ *dst = dest; -+ return true; -+ } -+ return false; -+} -+ -+int do_clean_path(const char *respath, const char *limit_respath, -+ const char *stpos, char **dst) -+{ -+ char *dest = *dst; -+ const char *endpos = NULL; -+ -+ for (endpos = stpos; *stpos; stpos = endpos) { -+ while (ISSLASH(*stpos)) { -+ ++stpos; -+ } -+ -+ for (endpos = stpos; *endpos && !ISSLASH(*endpos); ++endpos) { -+ } -+ -+ if (endpos - stpos == 0) { -+ break; -+ } else if (do_clean_path_continue(endpos, stpos, respath, &dest)) { -+ continue; -+ } -+ -+ if (!ISSLASH(dest[-1])) { -+ *dest++ = '/'; -+ } -+ -+ if (dest + (endpos - stpos) >= limit_respath) { -+ ERROR("Path is too long"); -+ if (dest > respath + 1) { -+ dest--; -+ } -+ *dest = '\0'; -+ return -1; -+ } -+ -+ memcpy(dest, stpos, (size_t)(endpos - stpos)); -+ dest += endpos - stpos; -+ *dest = '\0'; -+ } -+ *dst = dest; -+ return 0; -+} -+ -+char *cleanpath(const char *path, char *realpath, size_t realpath_len) -+{ -+ char *respath = NULL; -+ char *dest = NULL; -+ const char *stpos = NULL; -+ const char *limit_respath = NULL; -+ -+ if (path == NULL || path[0] == '\0' || \ -+ realpath == NULL || (realpath_len < PATH_MAX)) { -+ return NULL; -+ } -+ -+ respath = realpath; -+ -+ memset(respath, 0, realpath_len); -+ limit_respath = respath + PATH_MAX; -+ -+ if (!IS_ABSOLUTE_FILE_NAME(path)) { -+ if (!getcwd(respath, PATH_MAX)) { -+ ERROR("Failed to getcwd"); -+ respath[0] = '\0'; -+ goto error; -+ } -+ dest = strchr(respath, '\0'); -+ if (dest == NULL) { -+ ERROR("Failed to get the end of respath"); -+ goto error; -+ } -+ if (strlen(path) > (PATH_MAX - strlen(respath) - 1)) { -+ ERROR("Path is too long"); -+ goto error; -+ } -+ strcat(respath, path); -+ stpos = path; -+ } else { -+ dest = respath; -+ *dest++ = '/'; -+ stpos = path; -+ } -+ -+ if (do_clean_path(respath, limit_respath, stpos, &dest)) { -+ goto error; -+ } -+ -+ if (dest > respath + 1 && ISSLASH(dest[-1])) { -+ --dest; -+ } -+ *dest = '\0'; -+ -+ return respath; -+ -+error: -+ return NULL; -+} -+ -+static int do_path_realloc(const char *start, const char *end, -+ char **rpath, char **dest, const char **rpath_limit) -+{ -+ long long dest_offset = *dest - *rpath; -+ char *new_rpath = NULL; -+ size_t new_size; -+ int nret = 0; -+ size_t gap = 0; -+ -+ if (*dest + (end - start) < *rpath_limit) { -+ return 0; -+ } -+ -+ gap = (size_t)(end - start) + 1; -+ new_size = (size_t)(*rpath_limit - *rpath); -+ if (new_size > SIZE_MAX - gap) { -+ ERROR("Out of range!"); -+ return -1; -+ } -+ -+ if (gap > PATH_MAX) { -+ new_size += gap; -+ } else { -+ new_size += PATH_MAX; -+ } -+ nret = lxc_mem_realloc((void **)&new_rpath, new_size, *rpath, PATH_MAX); -+ if (nret) { -+ ERROR("Failed to realloc memory for files limit variables"); -+ return -1; -+ } -+ *rpath = new_rpath; -+ *rpath_limit = *rpath + new_size; -+ -+ *dest = *rpath + dest_offset; -+ -+ return 0; -+} -+ -+static int do_get_symlinks_copy_buf(const char *buf, const char *prefix, size_t prefix_len, -+ char **rpath, char **dest) -+{ -+ if (IS_ABSOLUTE_FILE_NAME(buf)) { -+ if (prefix_len) { -+ memcpy(*rpath, prefix, prefix_len); -+ } -+ *dest = *rpath + prefix_len; -+ *(*dest)++ = '/'; -+ } else { -+ if (*dest > *rpath + prefix_len + 1) { -+ for (--(*dest); *dest > *rpath && !ISSLASH((*dest)[-1]); --(*dest)) { -+ continue; -+ } -+ } -+ } -+ return 0; -+} -+ -+static int do_get_symlinks(const char **fullpath, const char *prefix, size_t prefix_len, -+ char **rpath, char **dest, const char **end, -+ int *num_links, char **extra_buf) -+{ -+ char *buf = NULL; -+ size_t len; -+ ssize_t n; -+ int ret = -1; -+ -+ if (++(*num_links) > MAXSYMLINKS) { -+ ERROR("Too many links in '%s'", *fullpath); -+ goto out; -+ } -+ -+ buf = lxc_common_calloc_s(PATH_MAX); -+ if (buf == NULL) { -+ ERROR("Out of memory"); -+ goto out; -+ } -+ -+ n = readlink(*rpath, buf, PATH_MAX - 1); -+ if (n < 0) { -+ goto out; -+ } -+ buf[n] = '\0'; -+ -+ if (*extra_buf == NULL) { -+ *extra_buf = lxc_common_calloc_s(PATH_MAX); -+ if (*extra_buf == NULL) { -+ ERROR("Out of memory"); -+ goto out; -+ } -+ } -+ -+ len = strlen(*end); -+ if (len >= PATH_MAX - n) { -+ ERROR("Path is too long"); -+ goto out; -+ } -+ -+ memmove(&(*extra_buf)[n], *end, len + 1); -+ memcpy(*extra_buf, buf, (size_t)n); -+ -+ *fullpath = *end = *extra_buf; -+ -+ if (do_get_symlinks_copy_buf(buf, prefix, prefix_len, rpath, dest) != 0) { -+ goto out; -+ } -+ -+ ret = 0; -+out: -+ free(buf); -+ return ret; -+} -+ -+static bool do_eval_symlinks_in_scope_is_symlink(const char *path) -+{ -+ struct stat st; -+ -+ if (lstat(path, &st) < 0) { -+ return true; -+ } -+ -+ if (!S_ISLNK(st.st_mode)) { -+ return true; -+ } -+ return false; -+} -+ -+static void do_eval_symlinks_skip_slash(const char **start, const char **end) -+{ -+ while (ISSLASH(**start)) { -+ ++(*start); -+ } -+ -+ for (*end = *start; **end && !ISSLASH(**end); ++(*end)) { -+ } -+} -+ -+static inline void skip_dest_traling_slash(char **dest, char **rpath, size_t prefix_len) -+{ -+ if (*dest > *rpath + prefix_len + 1) { -+ for (--(*dest); *dest > *rpath && !ISSLASH((*dest)[-1]); --(*dest)) { -+ continue; -+ } -+ } -+} -+ -+static inline bool is_current_char(const char c) -+{ -+ return c == '.'; -+} -+ -+static inline bool is_specify_current(const char *end, const char *start) -+{ -+ return (end - start == 1) && is_current_char(start[0]); -+} -+ -+static inline bool is_specify_parent(const char *end, const char *start) -+{ -+ return (end - start == 2) && is_current_char(start[0]) && is_current_char(start[1]); -+} -+ -+static int do_eval_symlinks_in_scope(const char *fullpath, const char *prefix, -+ size_t prefix_len, -+ char **rpath, char **dest, const char *rpath_limit) -+{ -+ const char *start = NULL; -+ const char *end = NULL; -+ char *extra_buf = NULL; -+ int nret = 0; -+ int num_links = 0; -+ -+ start = fullpath + prefix_len; -+ for (end = start; *start; start = end) { -+ do_eval_symlinks_skip_slash(&start, &end); -+ if (end - start == 0) { -+ break; -+ } else if (is_specify_current(end, start)) { -+ ; -+ } else if (is_specify_parent(end, start)) { -+ skip_dest_traling_slash(dest, rpath, prefix_len); -+ } else { -+ if (!ISSLASH((*dest)[-1])) { -+ *(*dest)++ = '/'; -+ } -+ -+ nret = do_path_realloc(start, end, rpath, dest, &rpath_limit); -+ if (nret != 0) { -+ nret = -1; -+ goto out; -+ } -+ -+ memcpy(*dest, start, (size_t)(end - start)); -+ *dest += end - start; -+ **dest = '\0'; -+ -+ if (do_eval_symlinks_in_scope_is_symlink(*rpath)) { -+ continue; -+ } -+ -+ nret = do_get_symlinks(&fullpath, prefix, prefix_len, rpath, dest, &end, &num_links, &extra_buf); -+ if (nret != 0) { -+ nret = -1; -+ goto out; -+ } -+ } -+ } -+out: -+ free(extra_buf); -+ return nret; -+} -+static char *eval_symlinks_in_scope(const char *fullpath, const char *rootpath) -+{ -+ char resroot[PATH_MAX] = {0}; -+ char *root = NULL; -+ char *rpath = NULL; -+ char *dest = NULL; -+ char *prefix = NULL; -+ const char *rpath_limit = NULL; -+ size_t prefix_len; -+ -+ if (fullpath == NULL || rootpath == NULL) { -+ return NULL; -+ } -+ -+ root = cleanpath(rootpath, resroot, sizeof(resroot)); -+ if (root == NULL) { -+ ERROR("Failed to get cleaned path"); -+ return NULL; -+ } -+ -+ if (!strcmp(fullpath, root)) { -+ return safe_strdup(fullpath); -+ } -+ -+ if (strstr(fullpath, root) == NULL) { -+ ERROR("Path '%s' is not in '%s'", fullpath, root); -+ return NULL; -+ } -+ -+ rpath = lxc_common_calloc_s(PATH_MAX); -+ if (rpath == NULL) { -+ ERROR("Out of memory"); -+ goto out; -+ } -+ rpath_limit = rpath + PATH_MAX; -+ -+ prefix = root; -+ prefix_len = (size_t)strlen(prefix); -+ if (!strcmp(prefix, "/")) { -+ prefix_len = 0; -+ } -+ -+ dest = rpath; -+ if (prefix_len) { -+ memcpy(rpath, prefix, prefix_len); -+ dest += prefix_len; -+ } -+ *dest++ = '/'; -+ -+ if (do_eval_symlinks_in_scope(fullpath, prefix, prefix_len, &rpath, &dest, -+ rpath_limit)) { -+ goto out; -+ } -+ -+ if (dest > rpath + prefix_len + 1 && ISSLASH(dest[-1])) { -+ --dest; -+ } -+ *dest = '\0'; -+ return rpath; -+ -+out: -+ free(rpath); -+ return NULL; -+} -+ -+// FollowSymlinkInScope is a wrapper around evalSymlinksInScope that returns an -+// absolute path. This function handles paths in a platform-agnostic manner. -+char *follow_symlink_in_scope(const char *fullpath, const char *rootpath) -+{ -+ char resfull[PATH_MAX] = {0}, *full = NULL; -+ char resroot[PATH_MAX] = {0}, *root = NULL; -+ -+ full = cleanpath(fullpath, resfull, PATH_MAX); -+ if (!full) { -+ ERROR("Failed to get cleaned path"); -+ return NULL; -+ } -+ -+ root = cleanpath(rootpath, resroot, PATH_MAX); -+ if (!root) { -+ ERROR("Failed to get cleaned path"); -+ return NULL; -+ } -+ -+ return eval_symlinks_in_scope(full, root); -+} -+ -+// GetResourcePath evaluates `path` in the scope of the container's rootpath, with proper path -+// sanitisation. Symlinks are all scoped to the rootpath of the container, as -+// though the container's rootpath was `/`. -+// -+// The BaseFS of a container is the host-facing path which is bind-mounted as -+// `/` inside the container. This method is essentially used to access a -+// particular path inside the container as though you were a process in that -+// container. -+int get_resource_path(const char *rootpath, const char *path, -+ char **scopepath) -+{ -+ char resolved[PATH_MAX] = {0}, *cleanedpath = NULL; -+ char *fullpath = NULL; -+ size_t len; -+ -+ if (!rootpath || !path || !scopepath) -+ return -1; -+ -+ *scopepath = NULL; -+ -+ cleanedpath = cleanpath(path, resolved, PATH_MAX); -+ if (!cleanedpath) { -+ ERROR("Failed to get cleaned path"); -+ return -1; -+ } -+ -+ len = strlen(rootpath) + strlen(cleanedpath) + 1; -+ fullpath = malloc(len); -+ if (!fullpath) { -+ ERROR("Out of memory"); -+ return -1; -+ } -+ snprintf(fullpath, len, "%s%s", rootpath, cleanedpath); -+ -+ *scopepath = follow_symlink_in_scope(fullpath, rootpath); -+ -+ free(fullpath); -+ return 0; -+} -+ -+// Rel returns a relative path that is lexically equivalent to targpath when -+// joined to basepath with an intervening separator. That is, -+// Join(basepath, Rel(basepath, targpath)) is equivalent to targpath itself. -+// On success, the returned path will always be relative to basepath, -+// even if basepath and targpath share no elements. -+// An error is returned if targpath can't be made relative to basepath or if -+// knowing the current working directory would be necessary to compute it. -+// Rel calls Clean on the result. -+char *path_relative(const char *basepath, const char *targpath) -+{ -+ char resbase[PATH_MAX] = {0}, *base = NULL; -+ char restarg[PATH_MAX] = {0}, *targ = NULL; -+ size_t bl = 0, tl = 0, b0 = 0, bi = 0, t0 = 0, ti = 0; -+ -+ base = cleanpath(basepath, resbase, PATH_MAX); -+ if (!base) { -+ ERROR("Failed to get cleaned path"); -+ return NULL; -+ } -+ -+ targ = cleanpath(targpath, restarg, PATH_MAX); -+ if (!targ) { -+ ERROR("Failed to get cleaned path"); -+ return NULL; -+ } -+ -+ if (strcmp(base, targ) == 0) -+ return safe_strdup("."); -+ -+ bl = strlen(base); -+ tl = strlen(targ); -+ while(true) { -+ while(bi < bl && !ISSLASH(base[bi])) -+ bi++; -+ while(ti < tl && !ISSLASH(targ[ti])) -+ ti++; -+ //not the same string -+ if (((bi - b0) != (ti - t0)) || strncmp(base + b0, targ + t0, bi - b0)) -+ break; -+ if (bi < bl) -+ bi++; -+ if (ti < tl) -+ ti++; -+ b0 = bi; -+ t0 = ti; -+ } -+ -+ if (b0 != bl) { -+ // Base elements left. Must go up before going down. -+ int seps = 0, i; -+ size_t ncopyed = 0, seps_size; -+ char *buf = NULL; -+ -+ for (bi = b0; bi < bl; bi++) { -+ if (ISSLASH(base[bi])) -+ seps++; -+ } -+ //strlen(..) + strlen(/..) + '\0' -+ seps_size = 2 + seps * 3 + 1; -+ if (t0 != tl) -+ seps_size += 1 + tl - t0; -+ -+ buf = calloc(seps_size, 1); -+ if (!buf) { -+ ERROR("Out of memory"); -+ return NULL; -+ } -+ buf[ncopyed++] = '.'; -+ buf[ncopyed++] = '.'; -+ for (i = 0; i < seps; i++) { -+ buf[ncopyed++] = '/'; -+ buf[ncopyed++] = '.'; -+ buf[ncopyed++] = '.'; -+ } -+ if (t0 != tl) { -+ buf[ncopyed++] = '/'; -+ memcpy(buf + ncopyed, targ + t0, tl - t0 + 1); -+ } -+ return buf; -+ } -+ -+ return safe_strdup(targ + t0); -+} -\ No newline at end of file -diff --git a/src/lxc/storage/dir.c b/src/lxc/storage/dir.c -index 18a10a4..dc642a4 100644 ---- a/src/lxc/storage/dir.c -+++ b/src/lxc/storage/dir.c -@@ -94,6 +94,9 @@ int dir_create(struct lxc_storage *bdev, const char *dest, const char *n, - - int dir_destroy(struct lxc_storage *orig) - { -+#ifdef HAVE_ISULAD -+ // isulad: do not destroy rootfs for directory, it should be managed by caller -+#else - int ret; - const char *src; - -@@ -102,6 +105,7 @@ int dir_destroy(struct lxc_storage *orig) - ret = lxc_rmdir_onedev(src, NULL); - if (ret < 0) - return log_error_errno(ret, errno, "Failed to delete \"%s\"", src); -+#endif - - return 0; - } -@@ -124,6 +128,35 @@ bool dir_detect(const char *path) - return false; - } - -+#ifdef HAVE_ISULAD -+int dir_mount(struct lxc_storage *bdev) -+{ -+ __do_free char *mntdata = NULL; -+ unsigned long mntflags = 0, pflags = 0; -+ int ret; -+ const char *src; -+ -+ if (strcmp(bdev->type, "dir")) -+ return -22; -+ -+ if (!bdev->src || !bdev->dest) -+ return -22; -+ -+ ret = parse_mntopts(bdev->mntopts, &mntflags, &pflags, &mntdata); -+ if (ret < 0) -+ return log_error_errno(ret, errno, "Failed to parse mount options \"%s\"", bdev->mntopts); -+ -+ src = lxc_storage_get_path(bdev->src, bdev->type); -+ -+ ret = mount(src, bdev->dest, "bind", MS_BIND | MS_REC | (mntflags & ~MS_RDONLY) | pflags, mntdata); -+ if (ret < 0) { -+ return log_error_errno(-errno, errno, "Failed to mount \"%s\" on \"%s\"", src, bdev->dest); -+ } -+ TRACE("Mounted \"%s\" on \"%s\"", src, bdev->dest); -+ -+ return 0; -+} -+#else - int dir_mount(struct lxc_storage *bdev) - { - __do_free char *mntdata = NULL; -@@ -166,6 +199,7 @@ int dir_mount(struct lxc_storage *bdev) - src ? src : "(none)", bdev->dest ? bdev->dest : "(none)", mntdata, mflags, pflags); - return 0; - } -+#endif - - int dir_umount(struct lxc_storage *bdev) - { -diff --git a/src/lxc/storage/loop.c b/src/lxc/storage/loop.c -index eebc1b6..3a97c1d 100644 ---- a/src/lxc/storage/loop.c -+++ b/src/lxc/storage/loop.c -@@ -21,6 +21,9 @@ - #include "memory_utils.h" - #include "storage.h" - #include "storage_utils.h" -+#ifdef HAVE_ISULAD -+#include "lxclock.h" -+#endif - #include "utils.h" - - lxc_log_define(loop, lxc); -@@ -216,7 +219,13 @@ bool loop_detect(const char *path) - - int loop_mount(struct lxc_storage *bdev) - { -+#ifdef HAVE_ISULAD -+ int ret = 0; -+ int loopfd, lret; -+ struct lxc_lock *l = NULL; -+#else - int ret, loopfd; -+#endif - char loname[PATH_MAX]; - const char *src; - -@@ -226,13 +235,35 @@ int loop_mount(struct lxc_storage *bdev) - if (!bdev->src || !bdev->dest) - return -22; - -+#ifdef HAVE_ISULAD -+ /* isulad: do lock before mount, so we can avoid use loop which is used by -+ * other starting contianers */ -+ l = lxc_newlock("mount_lock", "mount_lock"); -+ if (!l) { -+ SYSERROR("create file lock error when mount fs"); -+ return -1; -+ } -+ -+ lret = lxclock(l, 0); -+ if (lret) { -+ SYSERROR("try to lock failed when mount fs"); -+ ret = -1; -+ goto out; -+ } -+#endif -+ - /* skip prefix */ - src = lxc_storage_get_path(bdev->src, bdev->type); - - loopfd = lxc_prepare_loop_dev(src, loname, LO_FLAGS_AUTOCLEAR); - if (loopfd < 0) { - ERROR("Failed to prepare loop device for loop file \"%s\"", src); -+#ifdef HAVE_ISULAD -+ ret = -1; -+ goto out; -+#else - return -1; -+#endif - } - DEBUG("Prepared loop device \"%s\"", loname); - -@@ -241,14 +272,29 @@ int loop_mount(struct lxc_storage *bdev) - ERROR("Failed to mount rootfs \"%s\" on \"%s\" via loop device \"%s\"", - bdev->src, bdev->dest, loname); - close(loopfd); -+#ifdef HAVE_ISULAD -+ ret = -1; -+ goto out; -+#else - return -1; -+#endif - } - - bdev->lofd = loopfd; - DEBUG("Mounted rootfs \"%s\" on \"%s\" via loop device \"%s\"", - bdev->src, bdev->dest, loname); -- -+#ifdef HAVE_ISULAD -+out: -+ lret = lxcunlock(l); -+ if (lret) { -+ SYSERROR("try to unlock failed when mount fs"); -+ ret = -1; -+ } -+ lxc_putlock(l); -+ return ret; -+#else - return 0; -+#endif - } - - int loop_umount(struct lxc_storage *bdev) -diff --git a/src/lxc/storage/storage.c b/src/lxc/storage/storage.c -index 3f1b713..371513d 100644 ---- a/src/lxc/storage/storage.c -+++ b/src/lxc/storage/storage.c -@@ -41,6 +41,9 @@ - #include "storage_utils.h" - #include "utils.h" - #include "zfs.h" -+#ifdef HAVE_ISULAD -+#include "block.h" -+#endif - - #ifndef HAVE_STRLCPY - #include "include/strlcpy.h" -@@ -94,6 +97,22 @@ static const struct lxc_storage_ops loop_ops = { - .can_backup = true, - }; - -+#ifdef HAVE_ISULAD -+/* block */ -+static const struct lxc_storage_ops blk_ops = { -+ .detect = &blk_detect, -+ .mount = &blk_mount, -+ .umount = &blk_umount, -+ .clone_paths = NULL, -+ .destroy = &blk_destroy, -+ .create = NULL, -+ .copy = NULL, -+ .snapshot = NULL, -+ .can_snapshot = false, -+ .can_backup = true, -+}; -+#endif -+ - /* lvm */ - static const struct lxc_storage_ops lvm_ops = { - .detect = &lvm_detect, -@@ -179,6 +198,10 @@ static const struct lxc_storage_type bdevs[] = { - { .name = "overlayfs", .ops = &ovl_ops, }, - { .name = "loop", .ops = &loop_ops, }, - { .name = "nbd", .ops = &nbd_ops, }, -+#ifdef HAVE_ISULAD -+ //isulad: block device -+ { .name = "blk", .ops = &blk_ops, } -+#endif - }; - - static const size_t numbdevs = sizeof(bdevs) / sizeof(struct lxc_storage_type); -@@ -570,9 +593,15 @@ bool storage_destroy(struct lxc_conf *conf) - int destroy_rv = 0; - - r = storage_init(conf); -+#ifdef HAVE_ISULAD -+ if (r == NULL) { -+ WARN("%s 's storage init failed, the storage may be deleted already", conf->name); -+ return true; -+ } -+#else - if (!r) - return ret; -- -+#endif - destroy_rv = r->ops->destroy(r); - if (destroy_rv == 0) - ret = true; --- -2.25.1 - diff --git a/0005-refactor-patch-code-of-attach-and-seccomp.patch b/0005-refactor-patch-code-of-attach-and-seccomp.patch deleted file mode 100644 index 46c3e2b..0000000 --- a/0005-refactor-patch-code-of-attach-and-seccomp.patch +++ /dev/null @@ -1,1517 +0,0 @@ -From ad33756d6190df4f1aad9b6468b0b59086e916b5 Mon Sep 17 00:00:00 2001 -From: zhangxiaoyu -Date: Tue, 19 Jul 2022 15:23:34 +0800 -Subject: [PATCH] refactor patch code of attach and seccomp - -Signed-off-by: zhangxiaoyu ---- - src/lxc/attach.c | 517 +++++++++++++++++++++++++++++++++++++++ - src/lxc/lsm/nop.c | 14 ++ - src/lxc/seccomp.c | 555 ++++++++++++++++++++++++++++++++++++++++++ - src/lxc/storage/zfs.c | 9 + - 4 files changed, 1095 insertions(+) - -diff --git a/src/lxc/attach.c b/src/lxc/attach.c -index 38e16f2..8a2c52a 100644 ---- a/src/lxc/attach.c -+++ b/src/lxc/attach.c -@@ -49,6 +49,25 @@ - #include - #endif - -+#ifdef HAVE_ISULAD -+#include "exec_commands.h" -+ -+typedef enum { -+ ATTACH_INIT, -+ ATTACH_TIMEOUT, -+ ATTACH_MAX, -+} attach_timeout_t; -+ -+static volatile attach_timeout_t g_attach_timeout_state = ATTACH_INIT; -+ -+struct attach_timeout_conf { -+ int64_t timeout; -+ unsigned long long start_time; -+ pid_t pid; -+}; -+ -+#endif -+ - lxc_log_define(attach, lxc); - - /* Define default options if no options are supplied by the user. */ -@@ -630,6 +649,9 @@ struct attach_clone_payload { - struct lxc_proc_context_info *init_ctx; - lxc_attach_exec_t exec_function; - void *exec_payload; -+#ifdef HAVE_ISULAD -+ struct lxc_terminal *terminal; -+#endif - }; - - static void lxc_put_attach_clone_payload(struct attach_clone_payload *p) -@@ -642,6 +664,48 @@ static void lxc_put_attach_clone_payload(struct attach_clone_payload *p) - } - } - -+#ifdef HAVE_ISULAD -+static int isulad_set_attach_pipes(struct lxc_terminal *terminal) -+{ -+ int ret = 0; -+ if (terminal->pipes[0][1] >= 0) { -+ close(terminal->pipes[0][1]); -+ terminal->pipes[0][1] = -1; -+ } -+ -+ if (terminal->pipes[0][0] >= 0) { -+ ret = dup2(terminal->pipes[0][0], STDIN_FILENO); -+ if (ret < 0) -+ goto out; -+ } -+ -+ if (terminal->pipes[1][0] >= 0) { -+ close(terminal->pipes[1][0]); -+ terminal->pipes[1][0] = -1; -+ } -+ -+ if (terminal->pipes[1][1] >= 0) { -+ ret = dup2(terminal->pipes[1][1], STDOUT_FILENO); -+ if (ret < 0) -+ goto out; -+ } -+ if (terminal->pipes[2][0] >= 0) { -+ close(terminal->pipes[2][0]); -+ terminal->pipes[2][0] = -1; -+ } -+ -+ if (terminal->pipes[2][1] >= 0) { -+ ret = dup2(terminal->pipes[2][1], STDERR_FILENO); -+ if (ret < 0) -+ goto out; -+ } -+ -+ setsid(); -+out: -+ return ret; -+} -+#endif -+ - static int attach_child_main(struct attach_clone_payload *payload) - { - int lsm_fd, ret; -@@ -654,6 +718,31 @@ static int attach_child_main(struct attach_clone_payload *payload) - bool needs_lsm = (options->namespaces & CLONE_NEWNS) && - (options->attach_flags & LXC_ATTACH_LSM) && - init_ctx->lsm_label; -+#ifdef HAVE_ISULAD -+ int msg_fd = -1; -+ sigset_t mask; -+ -+ /*isulad: record errpipe fd*/ -+ msg_fd = init_ctx->container->lxc_conf->errpipe[1]; -+ init_ctx->container->lxc_conf->errpipe[1] = -1; -+ /*isulad: set system umask */ -+ umask(init_ctx->container->lxc_conf->umask); -+ -+ /*isulad: restore default signal handlers and unblock all signals*/ -+ for (int i = 1; i < NSIG; i++) -+ signal(i, SIG_DFL); -+ -+ ret = sigfillset(&mask); -+ if (ret < 0) { -+ SYSERROR("Failed to fill signal mask"); -+ goto on_error;; -+ } -+ ret = sigprocmask(SIG_UNBLOCK, &mask, NULL); -+ if (ret < 0) { -+ SYSERROR("Failed to set signal mask"); -+ goto on_error; -+ } -+#endif - - /* A description of the purpose of this functionality is provided in the - * lxc-attach(1) manual page. We have to remount here and not in the -@@ -695,6 +784,28 @@ static int attach_child_main(struct attach_clone_payload *payload) - TRACE("Dropped capabilities"); - } - -+#ifdef HAVE_ISULAD -+ /* isulad: set workdir */ -+ if (options->initial_cwd || init_ctx->container->lxc_conf->init_cwd) { -+ char *init_cwd; -+ init_cwd = options->initial_cwd ? options->initial_cwd : init_ctx->container->lxc_conf->init_cwd; -+ /* try to create workdir if not exist */ -+ struct stat st; -+ if (stat(init_cwd, &st) < 0 && mkdir_p(init_cwd, 0750) < 0) { -+ SYSERROR("Try to create directory \"%s\" as workdir failed when attach", init_cwd); -+ lxc_write_error_message(msg_fd, "Try to create directory \"%s\" as workdir failed when attach: %s", -+ init_cwd, strerror(errno)); -+ goto on_error; -+ } -+ if (chdir(init_cwd)) { -+ SYSERROR("Could not change directory to \"%s\" when attach", init_cwd); -+ lxc_write_error_message(msg_fd, "Could not change directory to \"%s\" when attach: %s", -+ init_cwd, strerror(errno)); -+ goto on_error; -+ } -+ } -+#endif -+ - /* Always set the environment (specify (LXC_ATTACH_KEEP_ENV, NULL, NULL) - * if you want this to be a no-op). - */ -@@ -736,8 +847,10 @@ static int attach_child_main(struct attach_clone_payload *payload) - goto on_error; - } - -+#ifndef HAVE_ISULAD - if (!lxc_setgroups(0, NULL) && errno != EPERM) - goto on_error; -+#endif - - if (options->namespaces & CLONE_NEWUSER) { - /* Check whether nsuid 0 has a mapping. */ -@@ -770,6 +883,13 @@ static int attach_child_main(struct attach_clone_payload *payload) - else - new_gid = ns_root_gid; - -+#ifdef HAVE_ISULAD -+ // isulad: set env home in container -+ if (lxc_setup_env_home(new_uid) < 0) { -+ goto on_error; -+ } -+#endif -+ - if ((init_ctx->container && init_ctx->container->lxc_conf && - init_ctx->container->lxc_conf->no_new_privs) || - (options->attach_flags & LXC_ATTACH_NO_NEW_PRIVS)) { -@@ -810,10 +930,12 @@ static int attach_child_main(struct attach_clone_payload *payload) - goto on_error; - } - -+#ifndef HAVE_ISULAD - close(payload->ipc_socket); - payload->ipc_socket = -EBADF; - lxc_proc_put_context_info(init_ctx); - payload->init_ctx = NULL; -+#endif - - /* The following is done after the communication socket is shut down. - * That way, all errors that might (though unlikely) occur up until this -@@ -856,6 +978,24 @@ static int attach_child_main(struct attach_clone_payload *payload) - } - - if (options->attach_flags & LXC_ATTACH_TERMINAL) { -+#ifdef HAVE_ISULAD -+ /* isulad: dup2 pipe[0][0] to container stdin, pipe[1][1] to container stdout, pipe[2][1] to container stderr */ -+ if (payload->terminal->disable_pty) { -+ ret = isulad_set_attach_pipes(payload->terminal); -+ if (ret < 0) { -+ SYSERROR("Failed to prepare terminal file pipes"); -+ goto on_error; -+ } -+ } -+ -+ if(!payload->terminal->disable_pty && payload->terminal_pts_fd >= 0) { -+ ret = lxc_terminal_prepare_login(payload->terminal_pts_fd); -+ if (ret < 0) { -+ SYSERROR("Failed to prepare terminal file descriptor %d", payload->terminal_pts_fd); -+ goto on_error; -+ } -+ } -+#else - ret = lxc_terminal_prepare_login(payload->terminal_pts_fd); - if (ret < 0) { - SYSERROR("Failed to prepare terminal file descriptor %d", payload->terminal_pts_fd); -@@ -863,6 +1003,7 @@ static int attach_child_main(struct attach_clone_payload *payload) - } - - TRACE("Prepared terminal file descriptor %d", payload->terminal_pts_fd); -+#endif - } - - /* Avoid unnecessary syscalls. */ -@@ -872,6 +1013,17 @@ static int attach_child_main(struct attach_clone_payload *payload) - if (new_gid == ns_root_gid) - new_gid = LXC_INVALID_GID; - -+#ifdef HAVE_ISULAD -+ if (prctl(PR_SET_KEEPCAPS, 1) < 0) { -+ SYSERROR("Failed to keep permitted capabilities"); -+ goto on_error; -+ } -+ -+ if (!lxc_setgroups(init_ctx->container->lxc_conf->init_groups_len, -+ init_ctx->container->lxc_conf->init_groups)) -+ goto on_error; -+#endif -+ - /* Make sure that the processes STDIO is correctly owned by the user that we are switching to */ - ret = fix_stdio_permissions(new_uid); - if (ret) -@@ -880,21 +1032,63 @@ static int attach_child_main(struct attach_clone_payload *payload) - if (!lxc_switch_uid_gid(new_uid, new_gid)) - goto on_error; - -+#ifdef HAVE_ISULAD -+ if (prctl(PR_SET_KEEPCAPS, 0) < 0) { -+ SYSERROR("Failed to clear permitted capabilities"); -+ goto on_error; -+ } -+ -+ if (lxc_drop_caps(init_ctx->container->lxc_conf) != 0) { -+ ERROR("Failed to drop caps."); -+ goto on_error; -+ } -+ -+ close(payload->ipc_socket); -+ payload->ipc_socket = -EBADF; -+ lxc_proc_put_context_info(init_ctx); -+ payload->init_ctx = NULL; -+ _exit(payload->exec_function(payload->exec_payload, msg_fd)); -+#else - /* We're done, so we can now do whatever the user intended us to do. */ - _exit(payload->exec_function(payload->exec_payload)); -+#endif - - on_error: - lxc_put_attach_clone_payload(payload); - _exit(EXIT_FAILURE); - } - -+#ifdef HAVE_ISULAD -+static int lxc_attach_terminal(struct lxc_conf *conf, -+ struct lxc_terminal *terminal, lxc_attach_options_t *options) -+#else - static int lxc_attach_terminal(struct lxc_conf *conf, - struct lxc_terminal *terminal) -+#endif - { - int ret; - - lxc_terminal_init(terminal); - -+#ifdef HAVE_ISULAD -+ /* isulad: if we pass fifo in option, use them as init fifos */ -+ if (options->init_fifo[0]) { -+ free(terminal->init_fifo[0]); -+ terminal->init_fifo[0] = safe_strdup(options->init_fifo[0]); -+ } -+ if (options->init_fifo[1]) { -+ free(terminal->init_fifo[1]); -+ terminal->init_fifo[1] = safe_strdup(options->init_fifo[1]); -+ } -+ if (options->init_fifo[2]) { -+ free(terminal->init_fifo[2]); -+ terminal->init_fifo[2] = safe_strdup(options->init_fifo[2]); -+ } -+ -+ terminal->disable_pty = options->disable_pty; -+ terminal->open_stdin = options->open_stdin; -+#endif -+ - ret = lxc_terminal_create(terminal); - if (ret < 0) - return log_error(-1, "Failed to create terminal"); -@@ -952,9 +1146,126 @@ static inline void lxc_attach_terminal_close_log(struct lxc_terminal *terminal) - close_prot_errno_disarm(terminal->log_fd); - } - -+#ifdef HAVE_ISULAD -+/* isulad: attach timeout thread function */ -+static void* wait_attach_timeout(void *arg) -+{ -+ struct attach_timeout_conf *conf = (struct attach_timeout_conf *)arg; -+ -+ if (!conf || conf->timeout < 1) -+ goto out; -+ sleep(conf->timeout); -+ if (lxc_process_alive(conf->pid, conf->start_time)) { -+ g_attach_timeout_state = ATTACH_TIMEOUT; -+ if (kill(conf->pid, SIGKILL) < 0) { -+ ERROR("Failed to send signal %d to pid %d", SIGKILL, conf->pid); -+ } -+ } -+ -+out: -+ free(conf); -+ return ((void *)0); -+} -+ -+/* isulad: create attach timeout thread */ -+static int create_attach_timeout_thread(int64_t attach_timeout, pid_t pid) -+{ -+ int ret = 0; -+ pthread_t ptid; -+ pthread_attr_t attr; -+ struct attach_timeout_conf *timeout_conf = NULL; -+ -+ timeout_conf = malloc(sizeof(struct attach_timeout_conf)); -+ if (timeout_conf == NULL) { -+ ERROR("Failed to malloc attach timeout conf"); -+ ret = -1; -+ goto out; -+ } -+ -+ memset(timeout_conf, 0, sizeof(struct attach_timeout_conf)); -+ timeout_conf->timeout = attach_timeout; -+ timeout_conf->pid = pid; -+ timeout_conf->start_time = lxc_get_process_startat(pid); -+ -+ pthread_attr_init(&attr); -+ pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); -+ ret = pthread_create(&ptid, &attr, wait_attach_timeout, timeout_conf); -+ pthread_attr_destroy(&attr); -+ if (ret != 0) { -+ ERROR("Create attach wait timeout thread failed"); -+ free(timeout_conf); -+ goto out; -+ } -+ -+out: -+ return ret; -+} -+ -+static int attach_signal_handler(int fd, uint32_t events, void *data, -+ struct lxc_epoll_descr *descr) -+{ -+ int ret; -+ siginfo_t info; -+ struct signalfd_siginfo siginfo; -+ pid_t *pid = data; -+ -+ ret = lxc_read_nointr(fd, &siginfo, sizeof(siginfo)); -+ if (ret < 0) -+ return log_error(LXC_MAINLOOP_ERROR, "Failed to read signal info from signal file descriptor %d", fd); -+ -+ if (ret != sizeof(siginfo)) -+ return log_error(LXC_MAINLOOP_ERROR, "Unexpected size for struct signalfd_siginfo"); -+ -+ /* Check whether init is running. */ -+ info.si_pid = 0; -+ ret = waitid(P_PID, *pid, &info, WEXITED | WNOWAIT | WNOHANG); -+ if (ret == 0 && info.si_pid == *pid) { -+ return log_warn(LXC_MAINLOOP_CLOSE, "Container attach init process %d exited", *pid); -+ } -+ -+ return LXC_MAINLOOP_CONTINUE; -+} -+ -+static int isulad_setup_signal_fd(sigset_t *oldmask) -+{ -+ int ret; -+ sigset_t mask; -+ const int signals[] = {SIGBUS, SIGILL, SIGSEGV, SIGWINCH, SIGTERM}; -+ -+ /* Block everything except serious error signals. */ -+ ret = sigfillset(&mask); -+ if (ret < 0) -+ return -EBADF; -+ -+ for (int sig = 0; sig < (sizeof(signals) / sizeof(signals[0])); sig++) { -+ ret = sigdelset(&mask, signals[sig]); -+ if (ret < 0) -+ return -EBADF; -+ } -+ -+ ret = pthread_sigmask(SIG_BLOCK, &mask, oldmask); -+ if (ret < 0) -+ return log_error_errno(-EBADF, errno, -+ "Failed to set signal mask"); -+ -+ ret = signalfd(-1, &mask, SFD_CLOEXEC); -+ if (ret < 0) -+ return log_error_errno(-EBADF, -+ errno, "Failed to create signal file descriptor"); -+ -+ TRACE("Created signal file descriptor %d", ret); -+ -+ return ret; -+} -+ -+int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, -+ void *exec_payload, lxc_attach_options_t *options, -+ pid_t *attached_process, char **err_msg) -+#else - int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, - void *exec_payload, lxc_attach_options_t *options, - pid_t *attached_process) -+#endif - { - int i, ret, status; - int ipc_sockets[2]; -@@ -966,6 +1277,13 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, - struct lxc_conf *conf; - char *name, *lxcpath; - struct attach_clone_payload payload = {0}; -+#ifdef HAVE_ISULAD -+ struct lxc_exec_command_handler exec_command; -+ const char *suffix = options->suffix; -+ -+ exec_command.maincmd_fd = -1; -+ exec_command.terminal = &terminal; -+#endif - - ret = access("/proc/self/ns", X_OK); - if (ret) -@@ -1017,6 +1335,14 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, - if (!conf) - return log_error_errno(-EINVAL, EINVAL, "Missing container confifg"); - -+#ifdef HAVE_ISULAD -+ // always switch uid and gid for attach -+ if (options->uid == -1) -+ options->uid = init_ctx->container->lxc_conf->init_uid; -+ if (options->gid == -1) -+ options->gid = init_ctx->container->lxc_conf->init_gid; -+#endif -+ - if (!fetch_seccomp(init_ctx->container, options)) - WARN("Failed to get seccomp policy"); - -@@ -1090,7 +1416,11 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, - } - - if (options->attach_flags & LXC_ATTACH_TERMINAL) { -+#ifdef HAVE_ISULAD -+ ret = lxc_attach_terminal(conf, &terminal, options); -+#else - ret = lxc_attach_terminal(conf, &terminal); -+#endif - if (ret < 0) { - ERROR("Failed to setup new terminal"); - free(cwd); -@@ -1099,6 +1429,12 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, - } - - terminal.log_fd = options->log_fd; -+#ifdef HAVE_ISULAD -+ if (suffix != NULL) { -+ exec_command.maincmd_fd = lxc_exec_cmd_init(name, lxcpath, suffix); -+ exec_command.terminal = &terminal; -+ } -+#endif - } else { - lxc_terminal_init(&terminal); - } -@@ -1139,10 +1475,40 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, - ret = socketpair(PF_LOCAL, SOCK_STREAM | SOCK_CLOEXEC, 0, ipc_sockets); - if (ret < 0) { - SYSERROR("Could not set up required IPC mechanism for attaching"); -+#ifdef HAVE_ISULAD -+ if (options->attach_flags & LXC_ATTACH_TERMINAL) { -+ lxc_terminal_delete(&terminal); -+ lxc_terminal_conf_free(&terminal); -+ if (exec_command.maincmd_fd != -1) { -+ close(exec_command.maincmd_fd); -+ } -+ lxc_exec_unix_sock_delete(name, suffix); -+ } -+#endif -+ free(cwd); -+ lxc_proc_put_context_info(init_ctx); -+ return -1; -+ } -+ -+#ifdef HAVE_ISULAD -+ /* isulad: pipdfd for get error message of child or grandchild process. */ -+ if (pipe2(conf->errpipe, O_CLOEXEC) != 0) { -+ SYSERROR("Failed to init errpipe"); -+ if (options->attach_flags & LXC_ATTACH_TERMINAL) { -+ lxc_terminal_delete(&terminal); -+ lxc_terminal_conf_free(&terminal); -+ if (exec_command.maincmd_fd != -1) { -+ close(exec_command.maincmd_fd); -+ } -+ lxc_exec_unix_sock_delete(name, suffix); -+ } -+ close(ipc_sockets[0]); -+ close(ipc_sockets[1]); - free(cwd); - lxc_proc_put_context_info(init_ctx); - return -1; - } -+#endif - - /* Create intermediate subprocess, two reasons: - * 1. We can't setns() in the child itself, since we want to make -@@ -1154,6 +1520,18 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, - pid = fork(); - if (pid < 0) { - SYSERROR("Failed to create first subprocess"); -+#ifdef HAVE_ISULAD -+ if (options->attach_flags & LXC_ATTACH_TERMINAL) { -+ lxc_terminal_delete(&terminal); -+ lxc_terminal_conf_free(&terminal); -+ if (exec_command.maincmd_fd != -1) { -+ close(exec_command.maincmd_fd); -+ } -+ lxc_exec_unix_sock_delete(name, suffix); -+ } -+ close(ipc_sockets[0]); -+ close(ipc_sockets[1]); -+#endif - free(cwd); - lxc_proc_put_context_info(init_ctx); - return -1; -@@ -1163,10 +1541,35 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, - int ret_parent = -1; - pid_t to_cleanup_pid = pid; - struct lxc_epoll_descr descr = {0}; -+#ifdef HAVE_ISULAD -+ int isulad_sigfd; -+ sigset_t isulad_oldmask; -+ struct lxc_epoll_descr isulad_descr = {0}; -+#endif - - /* close unneeded file descriptors */ - close(ipc_sockets[1]); - free(cwd); -+#ifdef HAVE_ISULAD -+ /* isulad: close errpipe */ -+ close(conf->errpipe[1]); -+ conf->errpipe[1] = -1; -+ /* isulad: close pipe after clone */ -+ if (terminal.pipes[0][0] >= 0) { -+ close(terminal.pipes[0][0]); -+ terminal.pipes[0][0] = -1; -+ } -+ -+ if (terminal.pipes[1][1] >= 0) { -+ close(terminal.pipes[1][1]); -+ terminal.pipes[1][1] = -1; -+ } -+ -+ if (terminal.pipes[2][1] >= 0) { -+ close(terminal.pipes[2][1]); -+ terminal.pipes[2][1] = -1; -+ } -+#endif - lxc_proc_close_ns_fd(init_ctx); - if (options->attach_flags & LXC_ATTACH_TERMINAL) - lxc_attach_terminal_close_pts(&terminal); -@@ -1200,7 +1603,11 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, - - /* Setup resource limits */ - if (!lxc_list_empty(&conf->limits)) { -+#ifdef HAVE_ISULAD -+ ret = setup_resource_limits(&conf->limits, pid, -1); -+#else - ret = setup_resource_limits(&conf->limits, pid); -+#endif - if (ret < 0) - goto on_error; - } -@@ -1210,9 +1617,28 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, - if (ret < 0) - goto on_error; - -+#ifdef HAVE_ISULAD -+ ret = lxc_attach_terminal_mainloop_init(&terminal, &isulad_descr); -+ if (ret < 0) -+ goto on_error; -+ -+ if (suffix != NULL) { -+ (void)lxc_exec_cmd_mainloop_add(&descr, &exec_command); -+ } -+#endif - TRACE("Initialized terminal mainloop"); - } - -+#ifdef HAVE_ISULAD -+ /* The signal fd has to be created before forking otherwise if the child -+ * process exits before we setup the signal fd, the event will be lost -+ * and the command will be stuck. -+ */ -+ isulad_sigfd = isulad_setup_signal_fd(&isulad_oldmask); -+ if (isulad_sigfd < 0) -+ goto close_mainloop; -+#endif -+ - /* Let the child process know to go ahead. */ - status = 0; - ret = lxc_write_nointr(ipc_sockets[0], &status, sizeof(status)); -@@ -1290,6 +1716,34 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, - - *attached_process = attached_pid; - -+#ifdef HAVE_ISULAD -+ if (options->timeout > 0) { -+ ret = create_attach_timeout_thread(options->timeout, *attached_process); -+ if (ret) { -+ ERROR("Failed to create attach timeout thread for container."); -+ goto close_mainloop; -+ } -+ } -+ /* isulad: read error msg from pipe */ -+ ssize_t size_read; -+ char errbuf[BUFSIZ + 1] = {0}; -+ pid_t tmp_pid = *attached_process; -+ -+ size_read = read(conf->errpipe[0], errbuf, BUFSIZ); -+ if (size_read > 0) { -+ if (err_msg) -+ *err_msg = safe_strdup(errbuf); -+ goto close_mainloop; -+ } -+ if (options->attach_flags & LXC_ATTACH_TERMINAL) { -+ ret = lxc_mainloop_add_handler(&descr, isulad_sigfd, attach_signal_handler, &tmp_pid); -+ if (ret < 0) { -+ ERROR("Failed to add signal handler for %d to mainloop", tmp_pid); -+ goto close_mainloop; -+ } -+ } -+#endif -+ - /* Now shut down communication with child, we're done. */ - shutdown(ipc_sockets[0], SHUT_RDWR); - close(ipc_sockets[0]); -@@ -1298,17 +1752,44 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, - ret_parent = 0; - to_cleanup_pid = -1; - -+#ifdef HAVE_ISULAD -+ // iSulad: close stdin pipe if we do not want open_stdin with container stdin -+ if (!terminal.open_stdin) { -+ if (terminal.pipes[0][1] > 0) { -+ close(terminal.pipes[0][1]); -+ terminal.pipes[0][1] = -1; -+ } -+ } -+#endif - if (options->attach_flags & LXC_ATTACH_TERMINAL) { -+#ifdef HAVE_ISULAD -+ ret = isulad_safe_mainloop(&descr, -1); -+#else - ret = lxc_mainloop(&descr, -1); -+#endif - if (ret < 0) { - ret_parent = -1; - to_cleanup_pid = attached_pid; - } - } - -+#ifdef HAVE_ISULAD -+ // do lxc_mainloop to make sure we do not lose any output -+ (void)isulad_safe_mainloop(&isulad_descr, 100); -+ if (g_attach_timeout_state == ATTACH_TIMEOUT && err_msg != NULL && *err_msg == NULL) { -+ *err_msg = safe_strdup("Attach exceeded timeout"); -+ } -+#endif - close_mainloop: -+#ifdef HAVE_ISULAD -+ if (options->attach_flags & LXC_ATTACH_TERMINAL) { -+ lxc_mainloop_close(&isulad_descr); -+ lxc_mainloop_close(&descr); -+ } -+#else - if (options->attach_flags & LXC_ATTACH_TERMINAL) - lxc_mainloop_close(&descr); -+#endif - - on_error: - if (ipc_sockets[0] >= 0) { -@@ -1322,6 +1803,12 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, - if (options->attach_flags & LXC_ATTACH_TERMINAL) { - lxc_terminal_delete(&terminal); - lxc_terminal_conf_free(&terminal); -+#ifdef HAVE_ISULAD -+ if (exec_command.maincmd_fd != -1) { -+ close(exec_command.maincmd_fd); -+ } -+ lxc_exec_unix_sock_delete(name, suffix); -+#endif - } - - lxc_proc_put_context_info(init_ctx); -@@ -1331,10 +1818,21 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, - /* close unneeded file descriptors */ - close_prot_errno_disarm(ipc_sockets[0]); - -+#ifdef HAVE_ISULAD -+ /* isulad: close errpipe */ -+ close(conf->errpipe[0]); -+ conf->errpipe[0] = -1; -+#endif -+ - if (options->attach_flags & LXC_ATTACH_TERMINAL) { - lxc_attach_terminal_close_ptmx(&terminal); - lxc_attach_terminal_close_peer(&terminal); - lxc_attach_terminal_close_log(&terminal); -+#ifdef HAVE_ISULAD -+ if (exec_command.maincmd_fd != -1) { -+ close(exec_command.maincmd_fd); -+ } -+#endif - } - - /* Wait for the parent to have setup cgroups. */ -@@ -1380,6 +1878,9 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, - payload.terminal_pts_fd = terminal.pts; - payload.exec_function = exec_function; - payload.exec_payload = exec_payload; -+#ifdef HAVE_ISULAD -+ payload.terminal = &terminal; -+#endif - - pid = lxc_raw_clone(CLONE_PARENT, NULL); - if (pid < 0) { -@@ -1390,7 +1891,11 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, - } - - if (pid == 0) { -+#ifdef HAVE_ISULAD -+ if (options->attach_flags & LXC_ATTACH_TERMINAL && terminal.tty_state) { -+#else - if (options->attach_flags & LXC_ATTACH_TERMINAL) { -+#endif - ret = pthread_sigmask(SIG_SETMASK, - &terminal.tty_state->oldmask, NULL); - if (ret < 0) { -@@ -1430,7 +1935,11 @@ int lxc_attach(struct lxc_container *container, lxc_attach_exec_t exec_function, - _exit(EXIT_SUCCESS); - } - -+#ifdef HAVE_ISULAD -+int lxc_attach_run_command(void *payload, int msg_fd) -+#else - int lxc_attach_run_command(void *payload) -+#endif - { - int ret = -1; - lxc_attach_command_t *cmd = payload; -@@ -1446,11 +1955,19 @@ int lxc_attach_run_command(void *payload) - break; - } - } -+#ifdef HAVE_ISULAD -+ /* isulad: write error messages */ -+ lxc_write_error_message(msg_fd, "exec: \"%s\": %s.", cmd->program, strerror(errno)); -+#endif - - return log_error_errno(ret, errno, "Failed to exec \"%s\"", cmd->program); - } - -+#ifdef HAVE_ISULAD -+int lxc_attach_run_shell(void* payload, int msg_fd) -+#else - int lxc_attach_run_shell(void* payload) -+#endif - { - __do_free char *buf = NULL; - uid_t uid; -diff --git a/src/lxc/lsm/nop.c b/src/lxc/lsm/nop.c -index 5b345b9..188945d 100644 ---- a/src/lxc/lsm/nop.c -+++ b/src/lxc/lsm/nop.c -@@ -24,11 +24,25 @@ static int nop_enabled(void) - return 0; - } - -+#ifdef HAVE_ISULAD -+static int nop_file_label_set(const char *path, const char *label) { -+ return 0; -+} -+ -+static int nop_relabel(const char *path, const char *label, bool shared) { -+ return 0; -+} -+#endif -+ - static struct lsm_drv nop_drv = { - .name = "nop", - .enabled = nop_enabled, - .process_label_get = nop_process_label_get, - .process_label_set = nop_process_label_set, -+#ifdef HAVE_ISULAD -+ .file_label_set = nop_file_label_set, -+ .relabel = nop_relabel, -+#endif - }; - - struct lsm_drv *lsm_nop_drv_init(void) -diff --git a/src/lxc/seccomp.c b/src/lxc/seccomp.c -index 7820db8..a6e6d42 100644 ---- a/src/lxc/seccomp.c -+++ b/src/lxc/seccomp.c -@@ -351,8 +351,13 @@ int get_hostarch(void) - return lxc_seccomp_arch_unknown; - } - -+#ifdef HAVE_ISULAD -+scmp_filter_ctx get_new_ctx(enum lxc_hostarch_t n_arch, -+ uint32_t default_policy_action, uint32_t *architectures) -+#else - scmp_filter_ctx get_new_ctx(enum lxc_hostarch_t n_arch, - uint32_t default_policy_action, bool *needs_merge) -+#endif - { - int ret; - uint32_t arch; -@@ -476,9 +481,17 @@ scmp_filter_ctx get_new_ctx(enum lxc_hostarch_t n_arch, - } - TRACE("Removed native arch from main seccomp context"); - -+#ifdef HAVE_ISULAD -+ *architectures = arch; -+#else - *needs_merge = true; -+#endif - } else { -+#ifdef HAVE_ISULAD -+ *architectures = SCMP_ARCH_NATIVE; -+#else - *needs_merge = false; -+#endif - TRACE("Arch %d already present in main seccomp context", (int)n_arch); - } - -@@ -510,7 +523,11 @@ bool do_resolve_add_rule(uint32_t arch, char *line, scmp_filter_ctx ctx, - if (ret < 0) { - errno = -ret; - SYSERROR("Failed loading rule to reject force umount"); -+#ifdef HAVE_ISULAD -+ return true; -+#else - return false; -+#endif - } - - INFO("Set seccomp rule to reject force umounts"); -@@ -519,24 +536,42 @@ bool do_resolve_add_rule(uint32_t arch, char *line, scmp_filter_ctx ctx, - - nr = seccomp_syscall_resolve_name(line); - if (nr == __NR_SCMP_ERROR) { -+#ifdef HAVE_ISULAD -+ DEBUG("Failed to resolve syscall \"%s\"", line); -+ DEBUG("This syscall will NOT be handled by seccomp"); -+#else - WARN("Failed to resolve syscall \"%s\"", line); - WARN("This syscall will NOT be handled by seccomp"); -+#endif - return true; - } - - if (nr < 0) { -+#ifdef HAVE_ISULAD -+ DEBUG("Got negative return value %d for syscall \"%s\"", nr, line); -+ DEBUG("This syscall will NOT be handled by seccomp"); -+#else - WARN("Got negative return value %d for syscall \"%s\"", nr, line); - WARN("This syscall will NOT be handled by seccomp"); -+#endif - return true; - } - - memset(&arg_cmp, 0, sizeof(arg_cmp)); - for (i = 0; i < rule->args_num; i++) { -+#ifdef HAVE_ISULAD -+ DEBUG("arg_cmp[%d]: SCMP_CMP(%u, %llu, %llu, %llu)", i, -+ rule->args_value[i].index, -+ (long long unsigned int)rule->args_value[i].op, -+ (long long unsigned int)rule->args_value[i].mask, -+ (long long unsigned int)rule->args_value[i].value); -+#else - INFO("arg_cmp[%d]: SCMP_CMP(%u, %llu, %llu, %llu)", i, - rule->args_value[i].index, - (long long unsigned int)rule->args_value[i].op, - (long long unsigned int)rule->args_value[i].mask, - (long long unsigned int)rule->args_value[i].value); -+#endif - - if (SCMP_CMP_MASKED_EQ == rule->args_value[i].op) - arg_cmp[i] = SCMP_CMP(rule->args_value[i].index, -@@ -553,14 +588,43 @@ bool do_resolve_add_rule(uint32_t arch, char *line, scmp_filter_ctx ctx, - rule->args_num, arg_cmp); - if (ret < 0) { - errno = -ret; -+#ifdef HAVE_ISULAD -+ DEBUG("Failed loading rule for %s (nr %d action %d (%s))", -+ line, nr, rule->action, get_action_name(rule->action)); -+ return true; -+#else - SYSERROR("Failed loading rule for %s (nr %d action %d (%s))", - line, nr, rule->action, get_action_name(rule->action)); - return false; -+#endif - } - - return true; - } - -+#ifdef HAVE_ISULAD -+#define SCMP_ARCH_INDEX_MAX 3 -+ -+struct scmp_ctx_info { -+ uint32_t architectures[SCMP_ARCH_INDEX_MAX]; -+ enum lxc_hostarch_t lxc_arch[SCMP_ARCH_INDEX_MAX]; -+ scmp_filter_ctx contexts[SCMP_ARCH_INDEX_MAX]; -+ bool needs_merge[SCMP_ARCH_INDEX_MAX]; -+}; -+ -+static int get_arch_index(enum lxc_hostarch_t arch, struct scmp_ctx_info *ctx) -+{ -+ int i; -+ -+ for (i = 0; i < SCMP_ARCH_INDEX_MAX; i++) { -+ if (ctx->lxc_arch[i] == arch) -+ return i; -+ } -+ -+ return -1; -+} -+#endif -+ - /* - * v2 consists of - * [x86] -@@ -575,6 +639,494 @@ bool do_resolve_add_rule(uint32_t arch, char *line, scmp_filter_ctx ctx, - * write - * close - */ -+#ifdef HAVE_ISULAD -+static int parse_config_v2(FILE *f, char *line, size_t *line_bufsz, struct lxc_conf *conf) -+{ -+ int ret; -+ char *p; -+ enum lxc_hostarch_t cur_rule_arch, native_arch; -+ bool blacklist = false; -+ uint32_t default_policy_action = -1, default_rule_action = -1; -+ struct seccomp_v2_rule rule; -+ struct scmp_ctx_info ctx; -+ -+ if (strncmp(line, "blacklist", 9) == 0) -+ blacklist = true; -+ else if (strncmp(line, "whitelist", 9) != 0) { -+ ERROR("Bad seccomp policy style \"%s\"", line); -+ return -1; -+ } -+ -+ p = strchr(line, ' '); -+ if (p) { -+ default_policy_action = get_v2_default_action(p + 1); -+ if (default_policy_action == -2) -+ return -1; -+ } -+ -+ /* for blacklist, allow any syscall which has no rule */ -+ if (blacklist) { -+ if (default_policy_action == -1) -+ default_policy_action = SCMP_ACT_ALLOW; -+ -+ if (default_rule_action == -1) -+ default_rule_action = SCMP_ACT_KILL; -+ } else { -+ if (default_policy_action == -1) -+ default_policy_action = SCMP_ACT_KILL; -+ -+ if (default_rule_action == -1) -+ default_rule_action = SCMP_ACT_ALLOW; -+ } -+ -+ memset(&ctx, 0, sizeof(ctx)); -+ ctx.architectures[0] = SCMP_ARCH_NATIVE; -+ ctx.architectures[1] = SCMP_ARCH_NATIVE; -+ ctx.architectures[2] = SCMP_ARCH_NATIVE; -+ native_arch = get_hostarch(); -+ cur_rule_arch = native_arch; -+ if (native_arch == lxc_seccomp_arch_amd64) { -+ cur_rule_arch = lxc_seccomp_arch_all; -+ -+ ctx.lxc_arch[0] = lxc_seccomp_arch_i386; -+ ctx.contexts[0] = get_new_ctx(lxc_seccomp_arch_i386, -+ default_policy_action, &ctx.architectures[0]); -+ if (!ctx.contexts[0]) -+ goto bad; -+ -+ ctx.lxc_arch[1] = lxc_seccomp_arch_x32; -+ ctx.contexts[1] = get_new_ctx(lxc_seccomp_arch_x32, -+ default_policy_action, &ctx.architectures[1]); -+ if (!ctx.contexts[1]) -+ goto bad; -+ -+ ctx.lxc_arch[2] = lxc_seccomp_arch_amd64; -+ ctx.contexts[2] = get_new_ctx(lxc_seccomp_arch_amd64, -+ default_policy_action, &ctx.architectures[2]); -+ if (!ctx.contexts[2]) -+ goto bad; -+#ifdef SCMP_ARCH_PPC -+ } else if (native_arch == lxc_seccomp_arch_ppc64) { -+ cur_rule_arch = lxc_seccomp_arch_all; -+ -+ ctx.lxc_arch[0] = lxc_seccomp_arch_ppc; -+ ctx.contexts[0] = get_new_ctx(lxc_seccomp_arch_ppc, -+ default_policy_action, &ctx.architectures[0]); -+ if (!ctx.contexts[0]) -+ goto bad; -+ -+ ctx.lxc_arch[1] = lxc_seccomp_arch_ppc64; -+ ctx.contexts[1] = get_new_ctx(lxc_seccomp_arch_ppc64, -+ default_policy_action, &ctx.architectures[1]); -+ if (!ctx.contexts[1]) -+ goto bad; -+#endif -+#ifdef SCMP_ARCH_ARM -+ } else if (native_arch == lxc_seccomp_arch_arm64) { -+ cur_rule_arch = lxc_seccomp_arch_all; -+ -+ ctx.lxc_arch[0] = lxc_seccomp_arch_arm; -+ ctx.contexts[0] = get_new_ctx(lxc_seccomp_arch_arm, -+ default_policy_action, &ctx.architectures[0]); -+ if (!ctx.contexts[0]) -+ goto bad; -+ -+#ifdef SCMP_ARCH_AARCH64 -+ ctx.lxc_arch[1] = lxc_seccomp_arch_arm64; -+ ctx.contexts[1] = get_new_ctx(lxc_seccomp_arch_arm64, -+ default_policy_action, &ctx.architectures[1]); -+ if (!ctx.contexts[1]) -+ goto bad; -+#endif -+#endif -+#ifdef SCMP_ARCH_MIPS -+ } else if (native_arch == lxc_seccomp_arch_mips64) { -+ cur_rule_arch = lxc_seccomp_arch_all; -+ -+ ctx.lxc_arch[0] = lxc_seccomp_arch_mips; -+ ctx.contexts[0] = get_new_ctx(lxc_seccomp_arch_mips, -+ default_policy_action, &ctx.architectures[0]); -+ if (!ctx.contexts[0]) -+ goto bad; -+ -+ ctx.lxc_arch[1] = lxc_seccomp_arch_mips64n32; -+ ctx.contexts[1] = get_new_ctx(lxc_seccomp_arch_mips64n32, -+ default_policy_action, &ctx.architectures[1]); -+ if (!ctx.contexts[1]) -+ goto bad; -+ -+ ctx.lxc_arch[2] = lxc_seccomp_arch_mips64; -+ ctx.contexts[2] = get_new_ctx(lxc_seccomp_arch_mips64, -+ default_policy_action, &ctx.architectures[2]); -+ if (!ctx.contexts[2]) -+ goto bad; -+ } else if (native_arch == lxc_seccomp_arch_mipsel64) { -+ cur_rule_arch = lxc_seccomp_arch_all; -+ ctx.lxc_arch[0] = lxc_seccomp_arch_mipsel; -+ ctx.contexts[0] = get_new_ctx(lxc_seccomp_arch_mipsel, -+ default_policy_action, &ctx.architectures[0]); -+ if (!ctx.contexts[0]) -+ goto bad; -+ -+ ctx.lxc_arch[1] = lxc_seccomp_arch_mipsel64n32; -+ ctx.contexts[1] = get_new_ctx(lxc_seccomp_arch_mipsel64n32, -+ default_policy_action, &ctx.architectures[1]); -+ if (!ctx.contexts[1]) -+ goto bad; -+ -+ ctx.lxc_arch[2] = lxc_seccomp_arch_mipsel64; -+ ctx.contexts[2] = get_new_ctx(lxc_seccomp_arch_mipsel64, -+ default_policy_action, &ctx.architectures[2]); -+ if (!ctx.contexts[2]) -+ goto bad; -+#endif -+ } -+ -+ if (default_policy_action != SCMP_ACT_KILL) { -+ ret = seccomp_reset(conf->seccomp.seccomp_ctx, default_policy_action); -+ if (ret != 0) { -+ ERROR("Error re-initializing Seccomp"); -+ return -1; -+ } -+ -+ ret = seccomp_attr_set(conf->seccomp.seccomp_ctx, SCMP_FLTATR_CTL_NNP, 0); -+ if (ret < 0) { -+ errno = -ret; -+ SYSERROR("Failed to turn off no-new-privs"); -+ return -1; -+ } -+ -+#ifdef SCMP_FLTATR_ATL_TSKIP -+ ret = seccomp_attr_set(conf->seccomp.seccomp_ctx, SCMP_FLTATR_ATL_TSKIP, 1); -+ if (ret < 0) { -+ errno = -ret; -+ SYSWARN("Failed to turn on seccomp nop-skip, continuing"); -+ } -+#endif -+ } -+ -+ while (getline(&line, line_bufsz, f) != -1) { -+ if (line[0] == '#') -+ continue; -+ -+ if (line[0] == '\0') -+ continue; -+ -+ remove_trailing_newlines(line); -+ -+ DEBUG("Processing \"%s\"", line); -+ -+ if (line[0] == '[') { -+ /* Read the architecture for next set of rules. */ -+ if (strcmp(line, "[x86]") == 0 || -+ strcmp(line, "[X86]") == 0) { -+ if (native_arch != lxc_seccomp_arch_i386 && -+ native_arch != lxc_seccomp_arch_amd64) { -+ cur_rule_arch = lxc_seccomp_arch_unknown; -+ continue; -+ } -+ -+ cur_rule_arch = lxc_seccomp_arch_i386; -+ } else if (strcmp(line, "[x32]") == 0 || -+ strcmp(line, "[X32]") == 0) { -+ if (native_arch != lxc_seccomp_arch_amd64) { -+ cur_rule_arch = lxc_seccomp_arch_unknown; -+ continue; -+ } -+ -+ cur_rule_arch = lxc_seccomp_arch_x32; -+ } else if (strcmp(line, "[X86_64]") == 0 || -+ strcmp(line, "[x86_64]") == 0) { -+ if (native_arch != lxc_seccomp_arch_amd64) { -+ cur_rule_arch = lxc_seccomp_arch_unknown; -+ continue; -+ } -+ -+ cur_rule_arch = lxc_seccomp_arch_amd64; -+ } else if (strcmp(line, "[all]") == 0 || -+ strcmp(line, "[ALL]") == 0) { -+ cur_rule_arch = lxc_seccomp_arch_all; -+ } -+#ifdef SCMP_ARCH_ARM -+ else if (strcmp(line, "[arm]") == 0 || -+ strcmp(line, "[ARM]") == 0) { -+ if (native_arch != lxc_seccomp_arch_arm && -+ native_arch != lxc_seccomp_arch_arm64) { -+ cur_rule_arch = lxc_seccomp_arch_unknown; -+ continue; -+ } -+ -+ cur_rule_arch = lxc_seccomp_arch_arm; -+ } -+#endif -+#ifdef SCMP_ARCH_AARCH64 -+ else if (strcmp(line, "[arm64]") == 0 || -+ strcmp(line, "[ARM64]") == 0) { -+ if (native_arch != lxc_seccomp_arch_arm64) { -+ cur_rule_arch = lxc_seccomp_arch_unknown; -+ continue; -+ } -+ -+ cur_rule_arch = lxc_seccomp_arch_arm64; -+ } -+#endif -+#ifdef SCMP_ARCH_PPC64LE -+ else if (strcmp(line, "[ppc64le]") == 0 || -+ strcmp(line, "[PPC64LE]") == 0) { -+ if (native_arch != lxc_seccomp_arch_ppc64le) { -+ cur_rule_arch = lxc_seccomp_arch_unknown; -+ continue; -+ } -+ -+ cur_rule_arch = lxc_seccomp_arch_ppc64le; -+ } -+#endif -+#ifdef SCMP_ARCH_PPC64 -+ else if (strcmp(line, "[ppc64]") == 0 || -+ strcmp(line, "[PPC64]") == 0) { -+ if (native_arch != lxc_seccomp_arch_ppc64) { -+ cur_rule_arch = lxc_seccomp_arch_unknown; -+ continue; -+ } -+ -+ cur_rule_arch = lxc_seccomp_arch_ppc64; -+ } -+#endif -+#ifdef SCMP_ARCH_PPC -+ else if (strcmp(line, "[ppc]") == 0 || -+ strcmp(line, "[PPC]") == 0) { -+ if (native_arch != lxc_seccomp_arch_ppc && -+ native_arch != lxc_seccomp_arch_ppc64) { -+ cur_rule_arch = lxc_seccomp_arch_unknown; -+ continue; -+ } -+ -+ cur_rule_arch = lxc_seccomp_arch_ppc; -+ } -+#endif -+#ifdef SCMP_ARCH_MIPS -+ else if (strcmp(line, "[mips64]") == 0 || -+ strcmp(line, "[MIPS64]") == 0) { -+ if (native_arch != lxc_seccomp_arch_mips64) { -+ cur_rule_arch = lxc_seccomp_arch_unknown; -+ continue; -+ } -+ -+ cur_rule_arch = lxc_seccomp_arch_mips64; -+ } else if (strcmp(line, "[mips64n32]") == 0 || -+ strcmp(line, "[MIPS64N32]") == 0) { -+ if (native_arch != lxc_seccomp_arch_mips64) { -+ cur_rule_arch = lxc_seccomp_arch_unknown; -+ continue; -+ } -+ -+ cur_rule_arch = lxc_seccomp_arch_mips64n32; -+ } else if (strcmp(line, "[mips]") == 0 || -+ strcmp(line, "[MIPS]") == 0) { -+ if (native_arch != lxc_seccomp_arch_mips && -+ native_arch != lxc_seccomp_arch_mips64) { -+ cur_rule_arch = lxc_seccomp_arch_unknown; -+ continue; -+ } -+ -+ cur_rule_arch = lxc_seccomp_arch_mips; -+ } else if (strcmp(line, "[mipsel64]") == 0 || -+ strcmp(line, "[MIPSEL64]") == 0) { -+ if (native_arch != lxc_seccomp_arch_mipsel64) { -+ cur_rule_arch = lxc_seccomp_arch_unknown; -+ continue; -+ } -+ -+ cur_rule_arch = lxc_seccomp_arch_mipsel64; -+ } else if (strcmp(line, "[mipsel64n32]") == 0 || -+ strcmp(line, "[MIPSEL64N32]") == 0) { -+ if (native_arch != lxc_seccomp_arch_mipsel64) { -+ cur_rule_arch = lxc_seccomp_arch_unknown; -+ continue; -+ } -+ -+ cur_rule_arch = lxc_seccomp_arch_mipsel64n32; -+ } else if (strcmp(line, "[mipsel]") == 0 || -+ strcmp(line, "[MIPSEL]") == 0) { -+ if (native_arch != lxc_seccomp_arch_mipsel && -+ native_arch != lxc_seccomp_arch_mipsel64) { -+ cur_rule_arch = lxc_seccomp_arch_unknown; -+ continue; -+ } -+ -+ cur_rule_arch = lxc_seccomp_arch_mipsel; -+ } -+#endif -+#ifdef SCMP_ARCH_S390X -+ else if (strcmp(line, "[s390x]") == 0 || -+ strcmp(line, "[S390X]") == 0) { -+ if (native_arch != lxc_seccomp_arch_s390x) { -+ cur_rule_arch = lxc_seccomp_arch_unknown; -+ continue; -+ } -+ -+ cur_rule_arch = lxc_seccomp_arch_s390x; -+ } -+#endif -+ else { -+ goto bad_arch; -+ } -+ -+ continue; -+ } -+ -+ /* irrelevant arch - i.e. arm on i386 */ -+ if (cur_rule_arch == lxc_seccomp_arch_unknown) -+ continue; -+ -+ memset(&rule, 0, sizeof(rule)); -+ /* read optional action which follows the syscall */ -+ ret = parse_v2_rules(line, default_rule_action, &rule); -+ if (ret != 0) { -+ ERROR("Failed to interpret seccomp rule"); -+ goto bad_rule; -+ } -+ -+ if (cur_rule_arch == native_arch) { -+ /* add for native arch */ -+ if (!do_resolve_add_rule(SCMP_ARCH_NATIVE, line, -+ conf->seccomp.seccomp_ctx, &rule)) -+ goto bad_rule; -+ -+ DEBUG("Added native rule for arch %d for %s action %d(%s)", -+ SCMP_ARCH_NATIVE, line, rule.action, -+ get_action_name(rule.action)); -+ } else if (cur_rule_arch != lxc_seccomp_arch_all) { -+ /* add for compat specified arch */ -+ int arch_index = get_arch_index(cur_rule_arch, &ctx); -+ if (arch_index < 0) -+ goto bad_arch; -+ -+ if (!do_resolve_add_rule(ctx.architectures[arch_index], line, -+ ctx.contexts[arch_index], &rule)) -+ goto bad_rule; -+ -+ DEBUG("Added compat rule for arch %d for %s action %d(%s)", -+ ctx.architectures[arch_index], line, rule.action, -+ get_action_name(rule.action)); -+ ctx.needs_merge[arch_index] = true; -+ } else { -+ /* add for all compat archs */ -+ if (!do_resolve_add_rule(SCMP_ARCH_NATIVE, line, -+ conf->seccomp.seccomp_ctx, &rule)) -+ goto bad_rule; -+ -+ DEBUG("Added native rule for arch %d for %s action %d(%s)", -+ SCMP_ARCH_NATIVE, line, rule.action, -+ get_action_name(rule.action)); -+ -+ if (ctx.architectures[0] != SCMP_ARCH_NATIVE) { -+ if (!do_resolve_add_rule(ctx.architectures[0], line, -+ ctx.contexts[0], &rule)) -+ goto bad_rule; -+ -+ DEBUG("Added compat rule for arch %d for %s action %d(%s)", -+ ctx.architectures[0], line, rule.action, -+ get_action_name(rule.action)); -+ ctx.needs_merge[0] = true; -+ } -+ -+ if (ctx.architectures[1] != SCMP_ARCH_NATIVE) { -+ if (!do_resolve_add_rule(ctx.architectures[1], line, -+ ctx.contexts[1], &rule)) -+ goto bad_rule; -+ -+ DEBUG("Added compat rule for arch %d for %s action %d(%s)", -+ ctx.architectures[1], line, rule.action, -+ get_action_name(rule.action)); -+ ctx.needs_merge[1] = true; -+ } -+ -+ if (ctx.architectures[2] != SCMP_ARCH_NATIVE) { -+ if (!do_resolve_add_rule(ctx.architectures[2], line, -+ ctx.contexts[2], &rule)) -+ goto bad_rule; -+ -+ DEBUG("Added native rule for arch %d for %s action %d(%s)", -+ ctx.architectures[2], line, rule.action, -+ get_action_name(rule.action)); -+ ctx.needs_merge[2] = true; -+ } -+ } -+ -+ } -+ -+ INFO("Merging compat seccomp contexts into main context"); -+ if (ctx.contexts[0]) { -+ if (ctx.needs_merge[0]) { -+ ret = seccomp_merge(conf->seccomp.seccomp_ctx, ctx.contexts[0]); -+ if (ret < 0) { -+ ERROR("%s - Failed to merge first compat seccomp " -+ "context into main context", strerror(-ret)); -+ goto bad; -+ } -+ -+ TRACE("Merged first compat seccomp context into main context"); -+ } else { -+ seccomp_release(ctx.contexts[0]); -+ ctx.contexts[0] = NULL; -+ } -+ } -+ -+ if (ctx.contexts[1]) { -+ if (ctx.needs_merge[1]) { -+ ret = seccomp_merge(conf->seccomp.seccomp_ctx, ctx.contexts[1]); -+ if (ret < 0) { -+ ERROR("%s - Failed to merge second compat seccomp " -+ "context into main context", strerror(-ret)); -+ goto bad; -+ } -+ -+ TRACE("Merged second compat seccomp context into main context"); -+ } else { -+ seccomp_release(ctx.contexts[1]); -+ ctx.contexts[1] = NULL; -+ } -+ } -+ -+ if (ctx.contexts[2]) { -+ if (ctx.needs_merge[2]) { -+ ret = seccomp_merge(conf->seccomp.seccomp_ctx, ctx.contexts[2]); -+ if (ret < 0) { -+ ERROR("%s - Failed to merge third compat seccomp " -+ "context into main context", strerror(-ret)); -+ goto bad; -+ } -+ -+ TRACE("Merged third compat seccomp context into main context"); -+ } else { -+ seccomp_release(ctx.contexts[2]); -+ ctx.contexts[2] = NULL; -+ } -+ } -+ -+ free(line); -+ return 0; -+ -+bad_arch: -+ ERROR("Unsupported architecture \"%s\"", line); -+ -+bad_rule: -+bad: -+ if (ctx.contexts[0]) -+ seccomp_release(ctx.contexts[0]); -+ -+ if (ctx.contexts[1]) -+ seccomp_release(ctx.contexts[1]); -+ -+ if (ctx.contexts[2]) -+ seccomp_release(ctx.contexts[2]); -+ -+ free(line); -+ -+ return -1; -+} -+#else - static int parse_config_v2(FILE *f, char *line, size_t *line_bufsz, struct lxc_conf *conf) - { - int ret; -@@ -1067,6 +1619,7 @@ bad: - - return -1; - } -+#endif - #else /* HAVE_DECL_SECCOMP_SYSCALL_RESOLVE_NAME_ARCH */ - static int parse_config_v2(FILE *f, char *line, struct lxc_conf *conf) - { -@@ -1288,6 +1841,7 @@ void lxc_seccomp_free(struct lxc_seccomp *seccomp) - seccomp_notify_free(seccomp->notifier.req_buf, seccomp->notifier.rsp_buf); - seccomp->notifier.req_buf = NULL; - seccomp->notifier.rsp_buf = NULL; -+ free_disarm(seccomp->notifier.cookie); - #endif - } - -@@ -1498,6 +2052,7 @@ void seccomp_conf_init(struct lxc_conf *conf) - sizeof(conf->seccomp.notifier.proxy_addr)); - conf->seccomp.notifier.req_buf = NULL; - conf->seccomp.notifier.rsp_buf = NULL; -+ conf->seccomp.notifier.cookie = NULL; - #endif - } - -diff --git a/src/lxc/storage/zfs.c b/src/lxc/storage/zfs.c -index ee9e32d..903937a 100644 ---- a/src/lxc/storage/zfs.c -+++ b/src/lxc/storage/zfs.c -@@ -167,13 +167,22 @@ int zfs_mount(struct lxc_storage *bdev) - const char *src; - char cmd_output[PATH_MAX] = {0}; - -+#ifdef HAVE_ISULAD -+ unsigned long pflags = 0; -+#endif -+ - if (strcmp(bdev->type, "zfs")) - return -22; - - if (!bdev->src || !bdev->dest) - return -22; - -+#ifdef HAVE_ISULAD -+ ret = parse_mntopts(bdev->mntopts, &mntflags, &pflags, &mntdata); -+#else - ret = parse_mntopts(bdev->mntopts, &mntflags, &mntdata); -+#endif -+ - if (ret < 0) { - ERROR("Failed to parse mount options"); - return -22; --- -2.25.1 - diff --git a/0006-refactor-patch-about-namespace-log-terminal.patch b/0006-refactor-patch-about-namespace-log-terminal.patch deleted file mode 100644 index d3db741..0000000 --- a/0006-refactor-patch-about-namespace-log-terminal.patch +++ /dev/null @@ -1,1164 +0,0 @@ -From 2b4dbd3fc30be08459b8ab34f84935e37ceb34ec Mon Sep 17 00:00:00 2001 -From: "Neil.wrz" -Date: Tue, 19 Jul 2022 04:02:57 -0700 -Subject: [PATCH] refactor patch about namespace log terminal - -Signed-off-by: Neil.wrz ---- - configure.ac | 30 ++++++++++- - src/lxc/Makefile.am | 44 ++++++++++++++- - src/lxc/af_unix.c | 89 ++++++++++++++++++++++++++++++ - src/lxc/commands_utils.c | 57 ++++++++++++++++++++ - src/lxc/exec_commands.h | 77 ++++++++++++++++++++++++++ - src/lxc/file_utils.h | 4 ++ - src/lxc/json/read-file.c | 95 +++++++++++++++++++++++++++++++++ - src/lxc/log.c | 56 +++++++++++++++++++ - src/lxc/path.h | 65 ++++++++++++++++++++++ - src/lxc/start.h | 30 +++++++++++ - src/lxc/storage/block.c | 86 +++++++++++++++++++++++++++++ - src/lxc/storage/block.h | 41 ++++++++++++++ - src/lxc/storage/storage_utils.c | 60 +++++++++++++++++++++ - src/lxc/terminal.h | 35 ++++++++++++ - 14 files changed, 766 insertions(+), 3 deletions(-) - create mode 100644 src/lxc/exec_commands.h - create mode 100644 src/lxc/json/read-file.c - create mode 100644 src/lxc/path.h - create mode 100644 src/lxc/storage/block.c - create mode 100644 src/lxc/storage/block.h - -diff --git a/configure.ac b/configure.ac -index 059d57d..ce8854e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -43,6 +43,7 @@ AM_INIT_AUTOMAKE([-Wall -Werror -Wno-portability subdir-objects]) - AC_CANONICAL_HOST - AM_PROG_CC_C_O - AC_USE_SYSTEM_EXTENSIONS -+CFLAGS=`echo "${CFLAGS#\-g}"` - - # Test if we have a new enough compiler. - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -@@ -119,6 +120,9 @@ AM_CONDITIONAL([DISTRO_UBUNTU], [test "x$with_distro" = "xubuntu"]) - - AC_CONFIG_LINKS([config/etc/default.conf:config/etc/${distroconf}]) - -+# Check yajl -+PKG_CHECK_MODULES([YAJL], [yajl >= 2],[],[AC_MSG_ERROR([You must install yajl >= 2])]) -+ - # Check for init system type - AC_MSG_CHECKING([for init system type]) - AC_ARG_WITH([init-script], -@@ -187,6 +191,11 @@ AC_ARG_ENABLE([werror], - [AS_HELP_STRING([--disable-werror], [do not treat warnings as errors])], - [enable_werror=$enableval], [enable_werror=yes]) - -+AC_ARG_ENABLE([debug], -+ [AC_HELP_STRING([--enable-debug], -+ [set -g into cflags [default=no]])], -+ [], [enable_debug=no]) -+ - # Allow disabling rpath - AC_ARG_ENABLE([rpath], - [AS_HELP_STRING([--enable-rpath], [set rpath in executables [default=no]])], -@@ -756,6 +765,7 @@ AX_CHECK_COMPILE_FLAG([-Wnested-externs], [CFLAGS="$CFLAGS -Wnested-externs"],,[ - AX_CHECK_COMPILE_FLAG([-fasynchronous-unwind-tables], [CFLAGS="$CFLAGS -fasynchronous-unwind-tables"],,[-Werror]) - AX_CHECK_COMPILE_FLAG([-pipe], [CFLAGS="$CFLAGS -pipe"],,[-Werror]) - AX_CHECK_COMPILE_FLAG([-fexceptions], [CFLAGS="$CFLAGS -fexceptions"],,[-Werror]) -+AX_CHECK_COMPILE_FLAG([-g], [CFLAGS="$CFLAGS -g"],,[-Werror]) - AX_CHECK_COMPILE_FLAG([-Warray-bounds], [CFLAGS="$CFLAGS -Warray-bounds"],,[-Werror]) - AX_CHECK_COMPILE_FLAG([-Wrestrict], [CFLAGS="$CFLAGS -Wrestrict"],,[-Werror]) - AX_CHECK_COMPILE_FLAG([-Wreturn-local-addr], [CFLAGS="$CFLAGS -Wreturn-local-addr"],,[-Werror]) -@@ -763,12 +773,18 @@ AX_CHECK_COMPILE_FLAG([-Wstringop-overflow], [CFLAGS="$CFLAGS -Wstringop-overflo - - AX_CHECK_LINK_FLAG([-z relro], [LDFLAGS="$LDFLAGS -z relro"],,[]) - AX_CHECK_LINK_FLAG([-z now], [LDFLAGS="$LDFLAGS -z now"],,[]) -+AX_CHECK_LINK_FLAG([-z noexecstack], [LDFLAGS="$LDFLAGS -z noexecstack"],,[]) - --CFLAGS="$CFLAGS -Wvla -std=gnu11 -fms-extensions" -+CFLAGS="$CFLAGS -Wvla -std=gnu11 -D_FORTIFY_SOURCE=2 -Wall -fPIC -fPIE" -+LDFLAGS="$LDFLAGS -pie" - if test "x$enable_werror" = "xyes"; then - CFLAGS="$CFLAGS -Werror" - fi - -+if test "x$enable_debug" = "xyes"; then -+ CFLAGS="$CFLAGS -g" -+fi -+ - AC_ARG_ENABLE([thread-safety], - [AS_HELP_STRING([--enable-thread-safety], [enforce thread-safety otherwise fail the build [default=yes]])], - [enable_thread_safety=$enableval], [enable_thread_safety=yes]) -@@ -815,6 +831,18 @@ else - AC_MSG_RESULT([no]) - fi - -+AC_MSG_CHECKING([Whether adapt to iSulad]) -+AC_ARG_ENABLE([isulad], -+ [AC_HELP_STRING([--enable-isulad], [enable adapt to iSulad [default=yes]])], -+ [adapt_isulad=$enableval], [adapt_isulad=yes]) -+AM_CONDITIONAL([HAVE_ISULAD], [test "x$adapt_isulad" = "xyes"]) -+if test "x$adapt_isulad" = "xyes"; then -+ AC_DEFINE([HAVE_ISULAD], 1, [adapt to iSulad]) -+ AC_MSG_RESULT([yes]) -+else -+ AC_MSG_RESULT([no]) -+fi -+ - # Files requiring some variable expansion - AC_CONFIG_FILES([ - Makefile -diff --git a/src/lxc/Makefile.am b/src/lxc/Makefile.am -index d1e2364..b9a8750 100644 ---- a/src/lxc/Makefile.am -+++ b/src/lxc/Makefile.am -@@ -52,6 +52,16 @@ noinst_HEADERS = api_extensions.h \ - utils.h \ - uuid.h - -+if HAVE_ISULAD -+noinst_HEADERS += isulad_utils.h path.h \ -+ json/json_common.h json/defs.h \ -+ json/oci_runtime_hooks.h \ -+ json/logger_json_file.h \ -+ json/oci_runtime_spec.h \ -+ json/read-file.h \ -+ exec_commands.h -+endif -+ - if IS_BIONIC - noinst_HEADERS += ../include/fexecve.h \ - ../include/lxcmntent.h \ -@@ -97,7 +107,6 @@ liblxc_la_SOURCES = af_unix.c af_unix.h \ - api_extensions.h \ - attach.c attach.h \ - caps.c caps.h \ -- cgroups/cgfsng.c \ - cgroups/cgroup.c cgroups/cgroup.h \ - cgroups/cgroup2_devices.c cgroups/cgroup2_devices.h \ - cgroups/cgroup_utils.c cgroups/cgroup_utils.h \ -@@ -154,6 +163,22 @@ liblxc_la_SOURCES = af_unix.c af_unix.h \ - version.h \ - $(LSM_SOURCES) - -+if HAVE_ISULAD -+liblxc_la_SOURCES += isulad_utils.c isulad_utils.h \ -+ storage/block.c storage/block.h \ -+ path.c path.h \ -+ json/json_common.c json/json_common.h \ -+ json/defs.h json/defs.c \ -+ json/oci_runtime_hooks.c json/oci_runtime_hooks.h \ -+ json/logger_json_file.c json/logger_json_file.h \ -+ json/oci_runtime_spec.c json/oci_runtime_spec.h \ -+ json/read-file.c json/read-file.h \ -+ cgroups/isulad_cgfsng.c \ -+ exec_commands.c exec_commands.h -+else -+liblxc_la_SOURCES += cgroups/cgfsng.c -+endif -+ - if IS_BIONIC - liblxc_la_SOURCES += ../include/fexecve.c ../include/fexecve.h \ - ../include/lxcmntent.c ../include/lxcmntent.h \ -@@ -212,6 +237,10 @@ AM_CFLAGS = -DLXCROOTFSMOUNT=\"$(LXCROOTFSMOUNT)\" \ - -I $(top_srcdir)/src/lxc/storage \ - -I $(top_srcdir)/src/lxc/cgroups - -+if HAVE_ISULAD -+AM_CFLAGS += -I $(top_srcdir)/src/lxc/json -+AM_CFLAGS += -DHAVE_ISULAD -+endif - if ENABLE_APPARMOR - AM_CFLAGS += -DHAVE_APPARMOR - endif -@@ -249,6 +278,10 @@ liblxc_la_CFLAGS += -fsanitize=address \ - -fno-omit-frame-pointer - endif - -+if HAVE_ISULAD -+liblxc_la_CFLAGS += -D_FORTIFY_SOURCE=2 -Wall -+endif -+ - if ENABLE_UBSAN - liblxc_la_CFLAGS += -fsanitize=undefined - endif -@@ -258,6 +291,12 @@ liblxc_la_LDFLAGS = -pthread \ - -Wl,-soname,liblxc.so.$(firstword $(subst ., ,@LXC_ABI@)) \ - -version-info @LXC_ABI_MAJOR@ - -+if HAVE_ISULAD -+liblxc_la_LDFLAGS += @YAJL_LIBS@ -Wl,-z,relro \ -+ -Wl,-z,now \ -+ -Wl,-z,noexecstack -+endif -+ - liblxc_la_LIBADD = $(CAP_LIBS) \ - $(OPENSSL_LIBS) \ - $(SELINUX_LIBS) \ -@@ -321,7 +360,8 @@ LDADD = liblxc.la \ - @OPENSSL_LIBS@ \ - @SECCOMP_LIBS@ \ - @SELINUX_LIBS@ \ -- @DLOG_LIBS@ -+ @DLOG_LIBS@ \ -+ @YAJL_LIBS@ - - if ENABLE_TOOLS - lxc_attach_SOURCES = tools/lxc_attach.c \ -diff --git a/src/lxc/af_unix.c b/src/lxc/af_unix.c -index 5cf5491..cb4233e 100644 ---- a/src/lxc/af_unix.c -+++ b/src/lxc/af_unix.c -@@ -167,8 +167,13 @@ int lxc_unix_send_fds(int fd, int *sendfds, int num_sendfds, void *data, - return lxc_abstract_unix_send_fds(fd, sendfds, num_sendfds, data, size); - } - -+#ifdef HAVE_ISULAD -+static int lxc_abstract_unix_recv_fds_iov(int fd, int *recvfds, int num_recvfds, -+ struct iovec *iov, size_t iovlen, unsigned int timeout) -+#else - static int lxc_abstract_unix_recv_fds_iov(int fd, int *recvfds, int num_recvfds, - struct iovec *iov, size_t iovlen) -+#endif - { - __do_free char *cmsgbuf = NULL; - int ret; -@@ -188,6 +193,22 @@ static int lxc_abstract_unix_recv_fds_iov(int fd, int *recvfds, int num_recvfds, - msg.msg_iov = iov; - msg.msg_iovlen = iovlen; - -+#ifdef HAVE_ISULAD -+ struct timeval out; -+ if (timeout > 0) { -+ memset(&out, 0, sizeof(out)); -+ out.tv_sec = timeout / 1000000; -+ out.tv_usec = timeout % 1000000; -+ ret = setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, -+ (const void *)&out, sizeof(out)); -+ if (ret < 0) { -+ ERROR("Failed to set %u timeout on containter " -+ "state socket", timeout); -+ return ret; -+ } -+ } -+#endif -+ - do { - ret = recvmsg(fd, &msg, MSG_CMSG_CLOEXEC); - } while (ret < 0 && errno == EINTR); -@@ -220,8 +241,25 @@ int lxc_abstract_unix_recv_fds(int fd, int *recvfds, int num_recvfds, - .iov_base = data ? data : buf, - .iov_len = data ? size : sizeof(buf), - }; -+#ifdef HAVE_ISULAD -+ return lxc_abstract_unix_recv_fds_iov(fd, recvfds, num_recvfds, &iov, 1, 0); -+#else - return lxc_abstract_unix_recv_fds_iov(fd, recvfds, num_recvfds, &iov, 1); -+#endif -+} -+ -+#ifdef HAVE_ISULAD -+int lxc_abstract_unix_recv_fds_timeout(int fd, int *recvfds, int num_recvfds, -+ void *data, size_t size, unsigned int timeout) -+{ -+ char buf[1] = {0}; -+ struct iovec iov = { -+ .iov_base = data ? data : buf, -+ .iov_len = data ? size : sizeof(buf), -+ }; -+ return lxc_abstract_unix_recv_fds_iov(fd, recvfds, num_recvfds, &iov, 1, timeout); - } -+#endif - - int lxc_abstract_unix_send_credential(int fd, void *data, size_t size) - { -@@ -343,12 +381,63 @@ int lxc_unix_connect_type(struct sockaddr_un *addr, int type) - ret = connect(fd, (struct sockaddr *)addr, - offsetof(struct sockaddr_un, sun_path) + len); - if (ret < 0) -+#ifdef HAVE_ISULAD -+ return log_error_errno(-1, errno, -+ "Failed to connect new AF_UNIX socket"); -+#else - return log_error_errno(-1, errno, - "Failed to bind new AF_UNIX socket"); -+#endif - - return move_fd(fd); - } - -+#ifdef HAVE_ISULAD -+int lxc_named_unix_open(const char *path, int type, int flags) -+{ -+ __do_close int fd = -EBADF; -+ int ret; -+ ssize_t len; -+ struct sockaddr_un addr; -+ -+ fd = socket(PF_UNIX, type | SOCK_CLOEXEC, 0); -+ if (fd < 0) -+ return -1; -+ -+ if (!path) -+ return move_fd(fd); -+ -+ len = lxc_unix_sockaddr(&addr, path); -+ if (len < 0) -+ return -1; -+ -+ ret = bind(fd, (struct sockaddr *)&addr, len); -+ if (ret < 0) -+ return -1; -+ -+ if (chmod(path, 0600) < 0) -+ return -1; -+ -+ if (type == SOCK_STREAM) { -+ ret = listen(fd, 100); -+ if (ret < 0) -+ return -1; -+ } -+ -+ return move_fd(fd); -+} -+ -+int lxc_named_unix_connect(const char *path) -+{ -+ struct sockaddr_un addr; -+ -+ if (lxc_unix_sockaddr(&addr, path) < 0) -+ return -1; -+ -+ return lxc_unix_connect_type(&addr, SOCK_STREAM); -+} -+#endif -+ - int lxc_unix_connect(struct sockaddr_un *addr, int type) - { - return lxc_unix_connect_type(addr, SOCK_STREAM); -diff --git a/src/lxc/commands_utils.c b/src/lxc/commands_utils.c -index 2af722c..9de9a84 100644 ---- a/src/lxc/commands_utils.c -+++ b/src/lxc/commands_utils.c -@@ -140,12 +140,69 @@ int lxc_make_abstract_socket_name(char *path, size_t pathlen, - return 0; - } - -+#ifdef HAVE_ISULAD -+char *generate_named_unix_sock_dir(const char *name) -+{ -+ __do_free char *exec_sock_dir = NULL; -+ __do_free char *rundir = NULL; -+ -+ rundir = get_rundir(); -+ if (!rundir) -+ rundir = strdup("/var/run"); -+ -+ if (asprintf(&exec_sock_dir, "%s/lxc/%s", rundir, name) < 0) { -+ return log_error_errno(NULL, errno, "Failed to allocate memory"); -+ } -+ -+ return move_ptr(exec_sock_dir); -+} -+ -+int generate_named_unix_sock_path(const char *container_name, const char *sock_name, -+ char *out_path, size_t len) -+{ -+#define MAX_SOCK_NAME_LENGTH 12 -+ int ret; -+ __do_free char *sock_dir = NULL; -+ __do_free char *short_sock_name = NULL; -+ -+ if (container_name == NULL || sock_name == NULL) -+ return -1; -+ -+ sock_dir = generate_named_unix_sock_dir(container_name); -+ if (sock_dir == NULL) -+ return -1; -+ -+ short_sock_name = strdup(sock_name); -+ if (strlen(short_sock_name) > MAX_SOCK_NAME_LENGTH) -+ short_sock_name[MAX_SOCK_NAME_LENGTH] = '\0'; -+ -+ ret = snprintf(out_path, len, "%s/%s.sock", sock_dir, short_sock_name); -+ if (ret < 0 || (size_t)ret >= len) -+ return log_error_errno(-1, errno, "Failed to allocate memory"); -+ -+ return 0; -+} -+#endif -+ - int lxc_cmd_connect(const char *name, const char *lxcpath, - const char *hashed_sock_name, const char *suffix) - { - int ret, client_fd; - char path[LXC_AUDS_ADDR_LEN] = {0}; - -+#ifdef HAVE_ISULAD -+ if (generate_named_unix_sock_path(name, suffix, path, sizeof(path)) != 0) -+ return -1; -+ -+ if (file_exists(path)) { -+ client_fd = lxc_named_unix_connect(path); -+ if (client_fd < 0) -+ return -1; -+ -+ return client_fd; -+ } -+#endif -+ - ret = lxc_make_abstract_socket_name(path, sizeof(path), name, lxcpath, - hashed_sock_name, suffix); - if (ret < 0) -diff --git a/src/lxc/exec_commands.h b/src/lxc/exec_commands.h -new file mode 100644 -index 0000000..3ec2a22 ---- /dev/null -+++ b/src/lxc/exec_commands.h -@@ -0,0 +1,77 @@ -+/****************************************************************************** -+ * Copyright (c) Huawei Technologies Co., Ltd. 2019. All rights reserved. -+ * Author: lifeng -+ * Create: 2019-12-08 -+ * Description: provide container definition -+ * lxc: linux Container library -+ * This library 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. -+ * -+ * This library 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 this library; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ ******************************************************************************/ -+ -+#ifndef __LXC_EXEC_COMMANDS_H -+#define __LXC_EXEC_COMMANDS_H -+ -+#include -+#include -+#include -+ -+#include "lxccontainer.h" -+#include "macro.h" -+#include "state.h" -+#include "terminal.h" -+ -+struct lxc_exec_command_handler { -+ int maincmd_fd; -+ struct lxc_terminal *terminal; -+}; -+ -+typedef enum { -+ LXC_EXEC_CMD_SET_TERMINAL_WINCH, -+ LXC_EXEC_CMD_MAX, -+} lxc_exec_cmd_t; -+ -+struct lxc_exec_cmd_req { -+ lxc_exec_cmd_t cmd; -+ int datalen; -+ const void *data; -+}; -+ -+struct lxc_exec_cmd_rsp { -+ int ret; /* 0 on success, -errno on failure */ -+ int datalen; -+ void *data; -+}; -+ -+struct lxc_exec_cmd_rr { -+ struct lxc_exec_cmd_req req; -+ struct lxc_exec_cmd_rsp rsp; -+}; -+ -+struct lxc_exec_cmd_set_terminal_winch_request { -+ unsigned int height; -+ unsigned int width; -+}; -+ -+struct lxc_epoll_descr; -+struct lxc_handler; -+ -+extern int lxc_exec_cmd_init(const char *name, const char *lxcpath, const char *suffix); -+extern int lxc_exec_cmd_mainloop_add(struct lxc_epoll_descr *descr, struct lxc_exec_command_handler *handler); -+extern int lxc_exec_cmd_set_terminal_winch(const char *name, const char *lxcpath, const char *suffix, unsigned int height, unsigned int width); -+ -+#ifdef HAVE_ISULAD -+extern int lxc_exec_unix_sock_delete(const char *name, const char *suffix); -+#endif -+ -+#endif /* __exec_commands_h */ -diff --git a/src/lxc/file_utils.h b/src/lxc/file_utils.h -index f9c8abe..37cd79e 100644 ---- a/src/lxc/file_utils.h -+++ b/src/lxc/file_utils.h -@@ -83,4 +83,8 @@ extern FILE *fdopen_cached(int fd, const char *mode, void **caller_freed_buffer) - extern FILE *fopen_cached(const char *path, const char *mode, - void **caller_freed_buffer); - -+#ifdef HAVE_ISULAD -+extern ssize_t lxc_write_nointr_for_fifo(int fd, const char *buf, size_t count); -+#endif -+ - #endif /* __LXC_FILE_UTILS_H */ -diff --git a/src/lxc/json/read-file.c b/src/lxc/json/read-file.c -new file mode 100644 -index 0000000..34ebeed ---- /dev/null -+++ b/src/lxc/json/read-file.c -@@ -0,0 +1,95 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include "read-file.h" -+ -+#ifndef O_CLOEXEC -+#define O_CLOEXEC 02000000 -+#endif -+ -+char *fread_file(FILE *stream, size_t *length) -+{ -+ char *buf = NULL, *tmpbuf = NULL; -+ size_t off = 0; -+ -+ while (1) { -+ size_t ret, newsize; -+ -+ newsize = off + BUFSIZ + 1; -+ tmpbuf = (char *)calloc(1, newsize); -+ if (tmpbuf == NULL) { -+ goto out; -+ } -+ -+ if (buf) { -+ memcpy(tmpbuf, buf, off); -+ -+ memset(buf, 0, off); -+ -+ free(buf); -+ } -+ -+ buf = tmpbuf; -+ ret = fread(buf + off, 1, BUFSIZ, stream); -+ if (!ret && ferror(stream)) { -+ tmpbuf = NULL; -+ goto out; -+ } -+ if (ret < BUFSIZ || feof(stream)) { -+ *length = off + ret + 1; -+ buf[*length - 1] = '\0'; -+ return buf; -+ } -+ off += BUFSIZ; -+ } -+out: -+ if (buf) { -+ free(buf); -+ } -+ if (tmpbuf) { -+ free(tmpbuf); -+ } -+ return NULL; -+ -+} -+ -+char *read_file(const char *path, size_t *length) -+{ -+ char *buf = NULL; -+ char rpath[PATH_MAX + 1] = {0}; -+ int fd = -1; -+ int tmperrno; -+ FILE *fp = NULL; -+ -+ if (!path || !length) { -+ return NULL; -+ } -+ -+ if (strlen(path) > PATH_MAX || NULL == realpath(path, rpath)) { -+ return NULL; -+ } -+ -+ fd = open(rpath, O_RDONLY | O_CLOEXEC); -+ if (fd < 0) { -+ return NULL; -+ } -+ -+ fp = fdopen(fd, "r"); -+ tmperrno = errno; -+ if (!fp) { -+ close(fd); -+ errno = tmperrno; -+ return NULL; -+ } -+ -+ buf = fread_file(fp, length); -+ fclose(fp); -+ return buf; -+} -diff --git a/src/lxc/log.c b/src/lxc/log.c -index 59644aa..e643f26 100644 ---- a/src/lxc/log.c -+++ b/src/lxc/log.c -@@ -55,6 +55,38 @@ static char *log_vmname = NULL; - - lxc_log_define(log, lxc); - -+#ifdef HAVE_ISULAD -+static inline const char *isulad_get_fifo_path(const char *file) -+{ -+#define ISULAD_FIFO_PREFIX "fifo:" -+ -+ if (strncmp(file, ISULAD_FIFO_PREFIX, strlen(ISULAD_FIFO_PREFIX)) == 0) { -+ return (file + strlen(ISULAD_FIFO_PREFIX)); -+ } -+ return NULL; -+} -+ -+static int isulad_open_fifo(const char *file_path) -+{ -+#define LOG_FIFO_SIZE (1024 * 1024) -+ int fd; -+ -+ fd = lxc_unpriv(open(file_path, O_RDWR | O_NONBLOCK | O_CLOEXEC)); -+ if (fd == -1) { -+ fprintf(stderr, "Open fifo %s failed: %s\n", file_path, strerror(errno)); -+ return -1; -+ } -+ -+ if (fcntl(fd, F_SETPIPE_SZ, LOG_FIFO_SIZE) == -1) { -+ printf("Set fifo buffer size failed: %s", strerror(errno)); -+ close(fd); -+ return -1; -+ } -+ -+ return fd; -+} -+#endif -+ - static int lxc_log_priority_to_syslog(int priority) - { - switch (priority) { -@@ -321,6 +353,12 @@ static int log_append_logfile(const struct lxc_log_appender *appender, - #endif - - log_container_name = lxc_log_get_container_name(); -+#ifdef HAVE_ISULAD -+ /* use isulad log format */ -+ if (log_container_name != NULL && strlen(log_container_name) > 15) { -+ log_container_name = log_container_name + (strlen(log_container_name) - 15); -+ } -+#endif - - if (fd_to_use < 0) - fd_to_use = lxc_log_fd; -@@ -333,9 +371,13 @@ static int log_append_logfile(const struct lxc_log_appender *appender, - return ret; - - n = snprintf(buffer, sizeof(buffer), -+#ifdef HAVE_ISULAD -+ "%15s %s %-8s %s - %s:%s:%d -", -+#else - "%s%s%s %s %-8s %s - %s:%s:%d - ", - log_prefix, - log_container_name ? " " : "", -+#endif - log_container_name ? log_container_name : "", - date_time, - lxc_log_priority_to_string(event->priority), -@@ -589,6 +631,13 @@ static int __lxc_log_set_file(const char *fname, int create_dirs) - return ret_errno(EINVAL); - } - -+#ifdef HAVE_ISULAD -+ fname = isulad_get_fifo_path(fname); -+ if (fname == NULL) { -+ return ret_errno(EINVAL); -+ } -+#endif -+ - #if USE_CONFIGPATH_LOGS - /* We don't build_dir for the default if the default is i.e. - * /var/lib/lxc/$container/$container.log. -@@ -598,7 +647,11 @@ static int __lxc_log_set_file(const char *fname, int create_dirs) - if (build_dir(fname)) - return log_error_errno(-errno, errno, "Failed to create dir for log file \"%s\"", fname); - -+#ifdef HAVE_ISULAD -+ lxc_log_fd = isulad_open_fifo(fname); -+#else - lxc_log_fd = log_open(fname); -+#endif - if (lxc_log_fd < 0) - return lxc_log_fd; - -@@ -694,6 +747,9 @@ int lxc_log_init(struct lxc_log *log) - - if (lxc_log_fd >= 0) { - lxc_log_category_lxc.appender = &log_appender_logfile; -+#ifdef HAVE_ISULAD -+ if (!lxc_quiet_specified && !log->quiet) -+#endif - lxc_log_category_lxc.appender->next = &log_appender_stderr; - } - -diff --git a/src/lxc/path.h b/src/lxc/path.h -new file mode 100644 -index 0000000..2c60fb9 ---- /dev/null -+++ b/src/lxc/path.h -@@ -0,0 +1,65 @@ -+/* SPDX-License-Identifier: LGPL-2.1+ */ -+/****************************************************************************** -+ * Copyright (c) Huawei Technologies Co., Ltd. 2020. Allrights reserved -+ * Description: isulad utils -+ * Author: lifeng -+ * Create: 2020-04-11 -+******************************************************************************/ -+#ifndef __ISULAD_PATH_H_ -+#define __ISULAD_PATH_H_ -+ -+#include -+ -+bool specify_current_dir(const char *path); -+ -+bool has_traling_path_separator(const char *path); -+ -+// PreserveTrailingDotOrSeparator returns the given cleaned path -+// and appends a trailing `/.` or `/` if its corresponding original -+// path ends with a trailing `/.` or `/`. If the cleaned -+// path already ends in a `.` path segment, then another is not added. If the -+// clean path already ends in a path separator, then another is not added. -+char *preserve_trailing_dot_or_separator(const char *cleanedpath, -+ const char *originalpath); -+ -+ -+// Split splits path immediately following the final Separator, -+// separating it into a directory and file name component. -+// If there is no Separator in path, Split returns an empty dir -+// and file set to path. -+// The returned values have the property that path = dir+file. -+bool filepath_split(const char *path, char **dir, char **base); -+ -+/* -+ * cleanpath is similar to realpath of glibc, but not expands symbolic links, -+ * and not check the existence of components of the path. -+ */ -+char *cleanpath(const char *path, char *realpath, size_t realpath_len); -+ -+ -+// FollowSymlinkInScope is a wrapper around evalSymlinksInScope that returns an -+// absolute path. This function handles paths in a platform-agnostic manner. -+char *follow_symlink_in_scope(const char *fullpath, const char *rootpath); -+ -+// GetResourcePath evaluates `path` in the scope of the container's rootpath, with proper path -+// sanitisation. Symlinks are all scoped to the rootpath of the container, as -+// though the container's rootpath was `/`. -+// -+// The BaseFS of a container is the host-facing path which is bind-mounted as -+// `/` inside the container. This method is essentially used to access a -+// particular path inside the container as though you were a process in that -+// container. -+int get_resource_path(const char *rootpath, const char *path, -+ char **scopepath); -+ -+// Rel returns a relative path that is lexically equivalent to targpath when -+// joined to basepath with an intervening separator. That is, -+// Join(basepath, Rel(basepath, targpath)) is equivalent to targpath itself. -+// On success, the returned path will always be relative to basepath, -+// even if basepath and targpath share no elements. -+// An error is returned if targpath can't be made relative to basepath or if -+// knowing the current working directory would be necessary to compute it. -+// Rel calls Clean on the result. -+char *path_relative(const char *basepath, const char *targpath); -+ -+#endif -diff --git a/src/lxc/start.h b/src/lxc/start.h -index ece4aac..c7a0a55 100644 ---- a/src/lxc/start.h -+++ b/src/lxc/start.h -@@ -124,8 +124,17 @@ struct lxc_handler { - - struct cgroup_ops *cgroup_ops; - -+#ifdef HAVE_ISULAD -+ int exit_code;/* isulad: record the exit code of container */ -+ /* Indicates whether should we using pipes or pty dup to std{in,out,err} for console log. */ -+ bool disable_pty; -+ /* Indicates whether should we keep stdin active. */ -+ bool open_stdin; -+ bool image_type_oci; -+#else - /* Internal fds that always need to stay open. */ - int keep_fds[3]; -+#endif - }; - - struct execute_args { -@@ -136,7 +145,11 @@ struct execute_args { - }; - - struct lxc_operations { -+#ifdef HAVE_ISULAD -+ int (*start)(struct lxc_handler *, void *, int); -+#else - int (*start)(struct lxc_handler *, void *); -+#endif - int (*post_start)(struct lxc_handler *, void *); - }; - -@@ -164,14 +177,31 @@ extern void lxc_end(struct lxc_handler *handler); - */ - extern int lxc_check_inherited(struct lxc_conf *conf, bool closeall, - int *fds_to_ignore, size_t len_fds); -+#ifndef HAVE_ISULAD - static inline int inherit_fds(struct lxc_handler *handler, bool closeall) - { - return lxc_check_inherited(handler->conf, closeall, handler->keep_fds, - ARRAY_SIZE(handler->keep_fds)); - } -+#endif -+ -+#ifdef HAVE_ISULAD -+extern int __lxc_start(struct lxc_handler *handler, -+ struct lxc_operations* ops, void *data, const char *lxcpath, -+ bool daemonize, int *error_num, unsigned int start_timeout); -+#else - extern int __lxc_start(struct lxc_handler *, struct lxc_operations *, void *, - const char *, bool, int *); - -+#endif - extern int resolve_clone_flags(struct lxc_handler *handler); - -+#ifdef HAVE_ISULAD -+/*isulad: do_lxcapi_clean_resource */ -+extern int do_lxcapi_clean_resource(char *name, char *lxcpath, struct lxc_conf *conf, pid_t pid); -+ -+/*isulad: do_lxcapi_get_pids */ -+extern int do_lxcapi_get_pids(char *name, char *lxcpath, struct lxc_conf *conf, pid_t **pids,size_t *pids_len); -+#endif -+ - #endif -diff --git a/src/lxc/storage/block.c b/src/lxc/storage/block.c -new file mode 100644 -index 0000000..eb75e70 ---- /dev/null -+++ b/src/lxc/storage/block.c -@@ -0,0 +1,86 @@ -+/* -+ * lxc: linux Container library -+ * -+ * (C) Copyright IBM Corp. 2007, 2008 -+ * -+ * Authors: -+ * Daniel Lezcano -+ * -+ * This library 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. -+ * -+ * This library 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 this library; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ */ -+ -+#ifndef _GNU_SOURCE -+#define _GNU_SOURCE 1 -+#endif -+#include -+#include -+ -+#include "config.h" -+#include "log.h" -+#include "storage.h" -+#include "storage_utils.h" -+#include "utils.h" -+ -+lxc_log_define(blk, lxc); -+ -+int blk_destroy(struct lxc_storage *orig) -+{ -+ return 0; -+} -+ -+bool blk_detect(const char *path) -+{ -+ struct stat statbuf; -+ int ret; -+ -+ if (!strncmp(path, "blk:", 4)) -+ return true; -+ -+ ret = stat(path, &statbuf); -+ if (ret == -1 && errno == EPERM) { -+ SYSERROR("blk_detect: failed to look at \"%s\"", path); -+ return false; -+ } -+ -+ if (ret == 0 && S_ISBLK(statbuf.st_mode)) -+ return true; -+ -+ return false; -+} -+ -+int blk_mount(struct lxc_storage *bdev) -+{ -+ const char *src; -+ if (strcmp(bdev->type, "blk")) -+ return -22; -+ -+ if (!bdev->src || !bdev->dest) -+ return -22; -+ -+ src = lxc_storage_get_path(bdev->src, bdev->type); -+ -+ return mount_unknown_fs(src, bdev->dest, bdev->mntopts); -+} -+ -+int blk_umount(struct lxc_storage *bdev) -+{ -+ if (strcmp(bdev->type, "blk")) -+ return -22; -+ -+ if (!bdev->src || !bdev->dest) -+ return -22; -+ -+ return umount(bdev->dest); -+} -diff --git a/src/lxc/storage/block.h b/src/lxc/storage/block.h -new file mode 100644 -index 0000000..2fa7565 ---- /dev/null -+++ b/src/lxc/storage/block.h -@@ -0,0 +1,41 @@ -+/* -+ * lxc: linux Container library -+ * -+ * (C) Copyright IBM Corp. 2007, 2008 -+ * -+ * Authors: -+ * Daniel Lezcano -+ * -+ * This library 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. -+ * -+ * This library 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 this library; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ */ -+ -+#ifndef __LXC_BLK_H -+#define __LXC_BLK_H -+ -+#include -+#include -+ -+struct lxc_storage; -+ -+struct bdev_specs; -+ -+struct lxc_conf; -+ -+extern int blk_destroy(struct lxc_storage *orig); -+extern bool blk_detect(const char *path); -+extern int blk_mount(struct lxc_storage *bdev); -+extern int blk_umount(struct lxc_storage *bdev); -+ -+#endif /* __LXC_BLK_H */ -diff --git a/src/lxc/storage/storage_utils.c b/src/lxc/storage/storage_utils.c -index f96bd52..696c6e5 100644 ---- a/src/lxc/storage/storage_utils.c -+++ b/src/lxc/storage/storage_utils.c -@@ -256,10 +256,17 @@ int is_blktype(struct lxc_storage *b) - return 0; - } - -+#ifdef HAVE_ISULAD -+static char **mount_errors = NULL; -+#endif -+ - int mount_unknown_fs(const char *rootfs, const char *target, - const char *options) - { - size_t i; -+#ifdef HAVE_ISULAD -+ char *errs = NULL; -+#endif - int ret; - struct cbarg { - const char *rootfs; -@@ -288,14 +295,41 @@ int mount_unknown_fs(const char *rootfs, const char *target, - ret = lxc_file_for_each_line(fsfile[i], find_fstype_cb, &cbarg); - if (ret < 0) { - ERROR("Failed to parse \"%s\"", fsfile[i]); -+#ifdef HAVE_ISULAD -+ lxc_free_array((void**)mount_errors, free); -+ mount_errors = NULL; -+#endif - return -1; - } - -+#ifdef HAVE_ISULAD -+ if (ret) { -+ lxc_free_array((void**)mount_errors, free); -+ mount_errors = NULL; -+ return 0; -+ } -+#else - if (ret) - return 0; -+#endif -+ } -+ -+#ifdef HAVE_ISULAD -+ if (mount_errors != NULL) { -+ errs = lxc_string_join("\n", (const char **)mount_errors, false); -+ if (errs == NULL) { -+ ERROR("failed to join mount errors"); -+ } - } - -+ ERROR("Failed to determine FSType for \"%s\": %s", rootfs, errs ? errs : "unknown reason"); -+ -+ free(errs); -+ lxc_free_array((void**)mount_errors, free); -+ mount_errors = NULL; -+#else - ERROR("Failed to determine FSType for \"%s\"", rootfs); -+#endif - - return -1; - } -@@ -316,6 +350,11 @@ int find_fstype_cb(char *buffer, void *data) - char *mntdata = NULL; - char *fstype; - -+#ifdef HAVE_ISULAD -+ char mount_err[BUFSIZ] = {0}; -+ int ret; -+ unsigned long pflags = 0; -+#endif - /* we don't try 'nodev' entries */ - if (strstr(buffer, "nodev")) - return 0; -@@ -327,14 +366,35 @@ int find_fstype_cb(char *buffer, void *data) - DEBUG("Trying to mount \"%s\"->\"%s\" with FSType \"%s\"", cbarg->rootfs, - cbarg->target, fstype); - -+#ifdef HAVE_ISULAD -+ if (parse_mntopts(cbarg->options, &mntflags, &pflags, &mntdata) < 0) { -+#else - if (parse_mntopts(cbarg->options, &mntflags, &mntdata) < 0) { -+#endif - free(mntdata); - return 0; - } - -+#ifdef HAVE_ISULAD -+ if (mount(cbarg->rootfs, cbarg->target, fstype, (mntflags & ~MS_RDONLY), mntdata)) { -+#else - if (mount(cbarg->rootfs, cbarg->target, fstype, mntflags, mntdata)) { -+#endif - SYSDEBUG("Failed to mount"); - free(mntdata); -+#ifdef HAVE_ISULAD -+ // isulad: recored error -+ ret = snprintf(mount_err, BUFSIZ, "\t\tmount %s onto %s with FSType %s failed: %s", -+ cbarg->rootfs, cbarg->target, fstype, strerror(errno)); -+ if (ret < 0 || (size_t)ret >= BUFSIZ) { -+ ERROR("failed to format output mount error"); -+ return 0; -+ } -+ -+ if (lxc_append_string(&mount_errors, mount_err) < 0) { -+ ERROR("failed to append mount error"); -+ } -+#endif - return 0; - } - -diff --git a/src/lxc/terminal.h b/src/lxc/terminal.h -index 4d21f33..c835e9a 100644 ---- a/src/lxc/terminal.h -+++ b/src/lxc/terminal.h -@@ -79,6 +79,16 @@ struct lxc_terminal { - - /* whether the log file will be rotated */ - unsigned int log_rotate; -+#ifdef HAVE_ISULAD -+ /* driver of log, support file and syslog */ -+ char *log_driver; -+ -+ /* syslog tag for every log */ -+ char *log_syslog_tag; -+ -+ /* syslog facility */ -+ int log_syslog_facility; -+#endif - }; - - struct /* lxc_terminal_ringbuf */ { -@@ -88,7 +98,27 @@ struct lxc_terminal { - /* the in-memory ringbuffer */ - struct lxc_ringbuf ringbuf; - }; -+#ifdef HAVE_ISULAD -+ char *init_fifo[3]; /* isulad: default fifos for the start */ -+ struct lxc_list fifos; /* isulad: fifos used to forward teminal */ -+ bool disable_pty; -+ bool open_stdin; -+ int pipes[3][2]; /* isulad: pipes for dup to container fds of stdin,stdout,stderr on daemonize mode*/ -+#endif -+}; -+ -+#ifdef HAVE_ISULAD -+/* isulad: fifo struct */ -+struct lxc_fifos_fd { -+ char *in_fifo; -+ char *out_fifo; -+ char *err_fifo; -+ int in_fd; -+ int out_fd; -+ int err_fd; -+ struct lxc_list node; - }; -+#endif - - /** - * lxc_terminal_allocate: allocate the console or a tty -@@ -254,4 +284,9 @@ extern void lxc_terminal_init(struct lxc_terminal *terminal); - extern int lxc_terminal_map_ids(struct lxc_conf *c, - struct lxc_terminal *terminal); - -+#ifdef HAVE_ISULAD -+int lxc_terminal_add_fifos(struct lxc_conf *conf, const char *fifonames); -+int lxc_set_terminal_winsz(struct lxc_terminal *terminal, unsigned int height, unsigned int width); -+#endif -+ - #endif /* __LXC_TERMINAL_H */ --- -2.25.1 - diff --git a/0007-refactor-patches-on-terminal.c-start.c-and-so-on.patch b/0007-refactor-patches-on-terminal.c-start.c-and-so-on.patch deleted file mode 100644 index 84f7048..0000000 --- a/0007-refactor-patches-on-terminal.c-start.c-and-so-on.patch +++ /dev/null @@ -1,2726 +0,0 @@ -From 06b071d6bc7683023d3131d4e428210005333c8c Mon Sep 17 00:00:00 2001 -From: chengzrz -Date: Wed, 20 Jul 2022 15:03:45 +0800 -Subject: [PATCH] refactor patches on terminal.c, start.c and so on - -Signed-off-by: chengzrz ---- - hooks/Makefile.am | 3 + - src/lxc/attach.h | 6 + - src/lxc/cgroups/cgroup.c | 4 + - src/lxc/commands_utils.h | 6 + - src/lxc/initutils.c | 4 + - src/lxc/lsm/lsm.h | 8 + - src/lxc/lxclock.h | 4 + - src/lxc/mainloop.h | 4 + - src/lxc/start.c | 958 ++++++++++++++++++++++++++++++++++++ - src/lxc/storage/btrfs.c | 11 + - src/lxc/storage/overlay.c | 8 + - src/lxc/sync.h | 4 + - src/lxc/terminal.c | 990 ++++++++++++++++++++++++++++++++++++++ - src/tests/Makefile.am | 4 + - src/tests/attach.c | 11 + - 15 files changed, 2025 insertions(+) - -diff --git a/hooks/Makefile.am b/hooks/Makefile.am -index 5ae73d7..ddfd4bc 100644 ---- a/hooks/Makefile.am -+++ b/hooks/Makefile.am -@@ -10,6 +10,8 @@ hooks_SCRIPTS = \ - squid-deb-proxy-client \ - nvidia - -+ -+if !HAVE_ISULAD - binhooks_PROGRAMS = \ - unmount-namespace - -@@ -20,5 +22,6 @@ if IS_BIONIC - unmount_namespace_SOURCES += \ - ../src/include/lxcmntent.c ../src/include/lxcmntent.h - endif -+endif - - EXTRA_DIST=$(hooks_SCRIPTS) -diff --git a/src/lxc/attach.h b/src/lxc/attach.h -index ef5a6c1..8316344 100644 ---- a/src/lxc/attach.h -+++ b/src/lxc/attach.h -@@ -20,9 +20,15 @@ struct lxc_proc_context_info { - int ns_fd[LXC_NS_MAX]; - }; - -+#ifdef HAVE_ISULAD -+extern int lxc_attach(struct lxc_container *container, -+ lxc_attach_exec_t exec_function, void *exec_payload, -+ lxc_attach_options_t *options, pid_t *attached_process, char **err_msg); -+#else - extern int lxc_attach(struct lxc_container *container, - lxc_attach_exec_t exec_function, void *exec_payload, - lxc_attach_options_t *options, pid_t *attached_process); -+#endif - - extern int lxc_attach_remount_sys_proc(void); - -diff --git a/src/lxc/cgroups/cgroup.c b/src/lxc/cgroups/cgroup.c -index 7c94fd8..5aa2c3c 100644 ---- a/src/lxc/cgroups/cgroup.c -+++ b/src/lxc/cgroups/cgroup.c -@@ -31,7 +31,11 @@ struct cgroup_ops *cgroup_init(struct lxc_conf *conf) - if (!cgroup_ops) - return log_error_errno(NULL, errno, "Failed to initialize cgroup driver"); - -+#ifdef HAVE_ISULAD -+ if (cgroup_ops->data_init(cgroup_ops, conf)) { -+#else - if (cgroup_ops->data_init(cgroup_ops)) { -+#endif - cgroup_exit(cgroup_ops); - return log_error_errno(NULL, errno, - "Failed to initialize cgroup data"); -diff --git a/src/lxc/commands_utils.h b/src/lxc/commands_utils.h -index 3ef7920..c836ead 100644 ---- a/src/lxc/commands_utils.h -+++ b/src/lxc/commands_utils.h -@@ -65,4 +65,10 @@ extern int lxc_add_state_client(int state_client_fd, - extern int lxc_cmd_connect(const char *name, const char *lxcpath, - const char *hashed_sock_name, const char *suffix); - -+#ifdef HAVE_ISULAD -+extern char *generate_named_unix_sock_dir(const char *name); -+extern int generate_named_unix_sock_path(const char *container_name, -+ const char *sock_name, char *out_path, size_t len); -+#endif -+ - #endif /* __LXC_COMMANDS_UTILS_H */ -diff --git a/src/lxc/initutils.c b/src/lxc/initutils.c -index 5549c2e..76f0048 100644 ---- a/src/lxc/initutils.c -+++ b/src/lxc/initutils.c -@@ -54,11 +54,15 @@ const char *lxc_global_config_value(const char *option_name) - { NULL, NULL }, - }; - -+#ifdef HAVE_ISULAD -+ static const char *values[sizeof(options) / sizeof(options[0])] = {0}; -+#else - /* placed in the thread local storage pool for non-bionic targets */ - #ifdef HAVE_TLS - static thread_local const char *values[sizeof(options) / sizeof(options[0])] = {0}; - #else - static const char *values[sizeof(options) / sizeof(options[0])] = {0}; -+#endif - #endif - - /* user_config_path is freed as soon as it is used */ -diff --git a/src/lxc/lsm/lsm.h b/src/lxc/lsm/lsm.h -index ee578bb..4872f55 100644 ---- a/src/lxc/lsm/lsm.h -+++ b/src/lxc/lsm/lsm.h -@@ -17,6 +17,10 @@ struct lsm_drv { - char *(*process_label_get)(pid_t pid); - int (*process_label_set)(const char *label, struct lxc_conf *conf, - bool on_exec); -+#ifdef HAVE_ISULAD -+ int (*file_label_set)(const char *path, const char *label); -+ int (*relabel)(const char *path, const char *label, bool share); -+#endif - int (*keyring_label_set)(char* label); - int (*prepare)(struct lxc_conf *conf, const char *lxcpath); - void (*cleanup)(struct lxc_conf *conf, const char *lxcpath); -@@ -32,6 +36,10 @@ extern int lsm_process_label_set(const char *label, struct lxc_conf *conf, - extern int lsm_process_label_fd_get(pid_t pid, bool on_exec); - extern int lsm_process_label_set_at(int label_fd, const char *label, - bool on_exec); -+#ifdef HAVE_ISULAD -+extern int lsm_file_label_set(const char *path, const char *label); -+extern int lsm_relabel(const char *path, const char *label, bool share); -+#endif - extern void lsm_process_cleanup(struct lxc_conf *conf, const char *lxcpath); - extern int lsm_keyring_label_set(char *label); - -diff --git a/src/lxc/lxclock.h b/src/lxc/lxclock.h -index 9f9bc3b..6a71d7c 100644 ---- a/src/lxc/lxclock.h -+++ b/src/lxc/lxclock.h -@@ -154,4 +154,8 @@ extern int container_disk_lock(struct lxc_container *c); - */ - extern void container_disk_unlock(struct lxc_container *c); - -+#ifdef HAVE_ISULAD -+int container_disk_removelock(struct lxc_container *c); -+#endif -+ - #endif -diff --git a/src/lxc/mainloop.h b/src/lxc/mainloop.h -index e6ab9a6..aa41a93 100644 ---- a/src/lxc/mainloop.h -+++ b/src/lxc/mainloop.h -@@ -38,4 +38,8 @@ extern void lxc_mainloop_close(struct lxc_epoll_descr *descr); - - define_cleanup_function(struct lxc_epoll_descr *, lxc_mainloop_close); - -+#ifdef HAVE_ISULAD -+extern int isulad_safe_mainloop(struct lxc_epoll_descr *descr, int timeout_ms); -+#endif -+ - #endif -diff --git a/src/lxc/start.c b/src/lxc/start.c -index fd969c4..f82df34 100644 ---- a/src/lxc/start.c -+++ b/src/lxc/start.c -@@ -304,7 +304,11 @@ static int setup_signal_fd(sigset_t *oldmask) - { - int ret; - sigset_t mask; -+#ifdef HAVE_ISULAD -+ const int signals[] = {SIGBUS, SIGILL, SIGSEGV, SIGWINCH, SIGTERM}; -+#else - const int signals[] = {SIGBUS, SIGILL, SIGSEGV, SIGWINCH}; -+#endif - - /* Block everything except serious error signals. */ - ret = sigfillset(&mask); -@@ -590,13 +594,27 @@ int lxc_poll(const char *name, struct lxc_handler *handler) - - TRACE("Mainloop is ready"); - -+#ifdef HAVE_ISULAD -+ // iSulad: close stdin pipe if we do not want open_stdin with container stdin -+ if (!handler->conf->console.open_stdin) { -+ if (handler->conf->console.pipes[0][1] > 0) { -+ close(handler->conf->console.pipes[0][1]); -+ handler->conf->console.pipes[0][1] = -1; -+ } -+ } -+#endif -+ - ret = lxc_mainloop(&descr, -1); - close_prot_errno_disarm(descr.epfd); - if (ret < 0 || !handler->init_died) - goto out_mainloop_console; - - if (has_console) -+#ifdef HAVE_ISULAD -+ ret = isulad_safe_mainloop(&descr_console, 100); -+#else - ret = lxc_mainloop(&descr_console, 0); -+#endif - - out_mainloop_console: - if (has_console) { -@@ -637,7 +655,9 @@ struct lxc_handler *lxc_init_handler(struct lxc_handler *old, - const char *name, struct lxc_conf *conf, - const char *lxcpath, bool daemonize) - { -+#ifndef HAVE_ISULAD - int nr_keep_fds = 0; -+#endif - int ret; - struct lxc_handler *handler; - -@@ -671,6 +691,12 @@ struct lxc_handler *lxc_init_handler(struct lxc_handler *old, - handler->nsfd[i] = -EBADF; - - handler->name = name; -+ -+#ifdef HAVE_ISULAD -+ handler->exit_code = -1; /* isulad: record exit code of container */ -+ handler->image_type_oci = false; -+#endif -+ - if (daemonize) - handler->transient_pid = lxc_raw_getpid(); - else -@@ -691,8 +717,10 @@ struct lxc_handler *lxc_init_handler(struct lxc_handler *old, - TRACE("Created anonymous pair {%d,%d} of unix sockets", - handler->state_socket_pair[0], - handler->state_socket_pair[1]); -+#ifndef HAVE_ISULAD - handler->keep_fds[nr_keep_fds++] = handler->state_socket_pair[0]; - handler->keep_fds[nr_keep_fds++] = handler->state_socket_pair[1]; -+#endif - } - - if (handler->conf->reboot == REBOOT_NONE) { -@@ -701,7 +729,9 @@ struct lxc_handler *lxc_init_handler(struct lxc_handler *old, - ERROR("Failed to set up command socket"); - goto on_error; - } -+#ifndef HAVE_ISULAD - handler->keep_fds[nr_keep_fds++] = handler->conf->maincmd_fd; -+#endif - } - - TRACE("Unix domain socket %d for command server is ready", -@@ -721,6 +751,10 @@ int lxc_init(const char *name, struct lxc_handler *handler) - int ret; - const char *loglevel; - struct lxc_conf *conf = handler->conf; -+#ifdef HAVE_ISULAD -+ conf->console.disable_pty = handler->disable_pty; -+ conf->console.open_stdin = handler->open_stdin; -+#endif - - handler->monitor_pid = lxc_raw_getpid(); - status_fd = open("/proc/self/status", O_RDONLY | O_CLOEXEC); -@@ -810,6 +844,9 @@ int lxc_init(const char *name, struct lxc_handler *handler) - ret = lxc_terminal_setup(conf); - if (ret < 0) { - ERROR("Failed to create console"); -+#ifdef HAVE_ISULAD -+ lxc_write_error_message(conf->errpipe[1], "Failed to create console for container \"%s\".", name); -+#endif - goto out_restore_sigmask; - } - TRACE("Created console"); -@@ -853,6 +890,185 @@ out_restore_sigmask: - return -1; - } - -+#ifdef HAVE_ISULAD -+/* isulad: start timeout thread */ -+typedef enum { -+ START_INIT, -+ START_TIMEOUT, -+ START_MAX, -+} start_timeout_t; -+ -+static start_timeout_t global_timeout_state = START_INIT; -+static sem_t global_timeout_sem; -+ -+struct start_timeout_conf { -+ unsigned int timeout; -+ int errfd; -+}; -+ -+void trim_line(char *s) -+{ -+ size_t len; -+ -+ len = strlen(s); -+ while ((len > 1) && (s[len - 1] == '\n')) -+ s[--len] = '\0'; -+} -+ -+static int _read_procs_file(const char *path, pid_t **pids, size_t *len) -+{ -+ FILE *f; -+ char *line = NULL; -+ size_t sz = 0; -+ pid_t *tmp_pids = NULL; -+ -+ f = fopen_cloexec(path, "r"); -+ if (!f) -+ return -1; -+ -+ while (getline(&line, &sz, f) != -1) { -+ pid_t pid; -+ trim_line(line); -+ pid = (pid_t)atoll(line); -+ if (lxc_mem_realloc((void **)&tmp_pids, sizeof(pid_t) * (*len + 1), *pids, sizeof(pid_t) * (*len)) != 0) { -+ free(*pids); -+ *pids = NULL; -+ ERROR("out of memory"); -+ free(line); -+ fclose(f); -+ return -1; -+ } -+ *pids = tmp_pids; -+ -+ (*pids)[*len] = pid; -+ (*len)++; -+ } -+ -+ free(line); -+ fclose(f); -+ return 0; -+} -+ -+static int _recursive_read_cgroup_procs(const char *dirpath, pid_t **pids, size_t *len) -+{ -+ struct dirent *direntp = NULL; -+ DIR *dir = NULL; -+ int ret, failed = 0; -+ char pathname[PATH_MAX]; -+ -+ dir = opendir(dirpath); -+ if (dir == NULL) { -+ WARN("Failed to open \"%s\"", dirpath); -+ return 0; -+ } -+ -+ while ((direntp = readdir(dir))) { -+ struct stat mystat; -+ int rc; -+ -+ if (!strcmp(direntp->d_name, ".") || -+ !strcmp(direntp->d_name, "..")) -+ continue; -+ -+ rc = snprintf(pathname, PATH_MAX, "%s/%s", dirpath, direntp->d_name); -+ if (rc < 0 || rc >= PATH_MAX) { -+ failed = 1; -+ continue; -+ } -+ -+ if (strcmp(direntp->d_name, "cgroup.procs") == 0) { -+ if (_read_procs_file(pathname, pids, len)) { -+ failed = 1; -+ -+ } -+ continue; -+ } -+ -+ ret = lstat(pathname, &mystat); -+ if (ret) { -+ failed = 1; -+ continue; -+ } -+ -+ if (S_ISDIR(mystat.st_mode)) { -+ if (_recursive_read_cgroup_procs(pathname, pids, len) < 0) -+ failed = 1; -+ } -+ } -+ -+ ret = closedir(dir); -+ if (ret) { -+ WARN("Failed to close directory \"%s\"", dirpath); -+ failed = 1; -+ } -+ -+ return failed ? -1 : 0; -+} -+ -+int get_all_pids(struct cgroup_ops *cg_ops, pid_t **pids, size_t *len) -+{ -+ const char *devices_path = NULL; -+ -+ devices_path = cg_ops->get_cgroup_full_path(cg_ops, "devices"); -+ if (!file_exists(devices_path)) { -+ return 0; -+ } -+ -+ return _recursive_read_cgroup_procs(devices_path, pids, len); -+} -+ -+static int set_cgroup_freezer(struct cgroup_ops *cg_ops, const char *value) -+{ -+ char *fullpath; -+ int ret; -+ -+ fullpath = must_make_path(cg_ops->get_cgroup_full_path(cg_ops, "freezer"), "freezer.state", NULL); -+ ret = lxc_write_to_file(fullpath, value, strlen(value), false, 0666); -+ free(fullpath); -+ return ret; -+} -+ -+/* isulad: kill all process in container cgroup path */ -+static void signal_all_processes(struct lxc_handler *handler) -+{ -+ int ret; -+ struct cgroup_ops *cg_ops = handler->cgroup_ops; -+ pid_t *pids = NULL; -+ size_t len = 0, i; -+ -+ ret = set_cgroup_freezer(cg_ops, "FROZEN"); -+ if (ret < 0 && errno != ENOENT) { -+ WARN("cgroup_set frozen failed"); -+ } -+ -+ ret = get_all_pids(cg_ops, &pids, &len); -+ if (ret < 0) { -+ WARN("failed to get all pids"); -+ } -+ -+ for (i = 0; i < len; i++) { -+ ret = kill(pids[i], SIGKILL); -+ if (ret < 0 && errno != ESRCH) { -+ WARN("Can not kill process (pid=%d) with SIGKILL for container %s", pids[i], handler->name); -+ } -+ } -+ -+ ret = set_cgroup_freezer(cg_ops, "THAWED"); -+ if (ret < 0 && errno != ENOENT) { -+ WARN("cgroup_set thawed failed"); -+ } -+ -+ for (i = 0; i < len; i++) { -+ ret = lxc_wait_for_pid_status(pids[i]); -+ if (ret < 0 && errno != ECHILD) { -+ WARN("Failed to wait pid %d for container %s: %s", pids[i], handler->name, strerror(errno)); -+ } -+ } -+ -+ free(pids); -+} -+#endif -+ - void lxc_end(struct lxc_handler *handler) - { - int ret; -@@ -926,6 +1142,33 @@ void lxc_end(struct lxc_handler *handler) - - lsm_process_cleanup(handler->conf, handler->lxcpath); - -+#ifdef HAVE_ISULAD -+ // close maincmd fd before destroy cgroup for isulad -+ if (handler->conf->reboot == REBOOT_NONE) { -+ /* For all new state clients simply close the command socket. -+ * This will inform all state clients that the container is -+ * STOPPED and also prevents a race between a open()/close() on -+ * the command socket causing a new process to get ECONNREFUSED -+ * because we haven't yet closed the command socket. -+ */ -+ close_prot_errno_disarm(handler->conf->maincmd_fd); -+ TRACE("Closed command socket"); -+ } -+ int retry_count = 0; -+ int max_retry = 10; -+retry: -+ if (cgroup_ops != NULL && !cgroup_ops->payload_destroy(cgroup_ops, handler)) { -+ TRACE("Trying to kill all subprocess"); -+ signal_all_processes(handler); -+ TRACE("Finished kill all subprocess"); -+ if (retry_count < max_retry) { -+ usleep(100 * 1000); /* 100 millisecond */ -+ retry_count++; -+ goto retry; -+ } -+ SYSERROR("Failed to destroy cgroup path for container: \"%s\"", handler->name); -+ } -+#else - if (cgroup_ops) { - cgroup_ops->payload_destroy(cgroup_ops, handler); - cgroup_ops->monitor_destroy(cgroup_ops, handler); -@@ -940,12 +1183,25 @@ void lxc_end(struct lxc_handler *handler) - */ - close_prot_errno_disarm(handler->conf->maincmd_fd); - TRACE("Closed command socket"); -+ } -+#endif - -+ if (handler->conf->reboot == REBOOT_NONE) { - /* This function will try to connect to the legacy lxc-monitord - * state server and only exists for backwards compatibility. - */ - lxc_monitor_send_state(name, STOPPED, handler->lxcpath); - -+#ifdef HAVE_ISULAD -+ /* isuald: write exit code to exit fifo */ -+ if (handler->conf->exit_fd >= 0) { -+ ret = write(handler->conf->exit_fd, &handler->exit_code, sizeof(int)); -+ if (ret != sizeof(int)) { -+ SYSERROR("Failed to write to exit code to exit fifo."); -+ } -+ } -+#endif -+ - /* The command socket is closed so no one can acces the command - * socket anymore so there's no need to lock it. - */ -@@ -1042,6 +1298,25 @@ static int do_start(void *data) - - lxc_sync_fini_parent(handler); - -+#ifdef HAVE_ISULAD -+ sigset_t mask; -+ -+ /*isulad: restore default signal handlers and unblock all signals*/ -+ for (int i = 1; i < NSIG; i++) -+ signal(i, SIG_DFL); -+ -+ ret = sigfillset(&mask); -+ if (ret < 0) { -+ SYSERROR("Failed to fill signal mask"); -+ goto out_warn_father; -+ } -+ ret = sigprocmask(SIG_UNBLOCK, &mask, NULL); -+ if (ret < 0) { -+ SYSERROR("Failed to set signal mask"); -+ goto out_warn_father; -+ } -+#endif -+ - if (lxc_abstract_unix_recv_fds(data_sock1, &status_fd, 1, NULL, 0) < 0) { - ERROR("Failed to receive status file descriptor to child process"); - goto out_warn_father; -@@ -1155,7 +1430,11 @@ static int do_start(void *data) - * means that migration won't work, but at least we won't spew output - * where it isn't wanted. - */ -+#ifdef HAVE_ISULAD -+ if (!handler->disable_pty && handler->daemonize && !handler->conf->autodev) { -+#else - if (handler->daemonize && !handler->conf->autodev) { -+#endif - char path[PATH_MAX]; - - ret = snprintf(path, sizeof(path), "%s/dev/null", -@@ -1221,6 +1500,9 @@ static int do_start(void *data) - /* Setup the container, ip, names, utsname, ... */ - ret = lxc_setup(handler); - if (ret < 0) { -+#ifdef HAVE_ISULAD -+ lxc_write_error_message(handler->conf->errpipe[1], "Failed to setup lxc, please check the config file."); -+#endif - ERROR("Failed to setup container \"%s\"", handler->name); - goto out_warn_father; - } -@@ -1243,12 +1525,70 @@ static int do_start(void *data) - DEBUG("Set PR_SET_NO_NEW_PRIVS to block execve() gainable privileges"); - } - -+#ifdef HAVE_ISULAD -+ /* isulad: dup2 pipe[0][0] to container stdin, pipe[1][1] to container stdout, pipe[2][1] to container stderr */ -+ if (handler->disable_pty) { -+ if (handler->conf->console.pipes[0][1] >= 0) { -+ close(handler->conf->console.pipes[0][1]); -+ handler->conf->console.pipes[0][1] = -1; -+ } -+ -+ if (handler->conf->console.pipes[0][0] >= 0) { -+ ret = dup2(handler->conf->console.pipes[0][0], STDIN_FILENO); -+ if (ret < 0) -+ goto out_warn_father; -+ } -+ -+ if (handler->conf->console.pipes[1][0] >= 0) { -+ close(handler->conf->console.pipes[1][0]); -+ handler->conf->console.pipes[1][0] = -1; -+ } -+ -+ if (handler->conf->console.pipes[1][1] >= 0) { -+ ret = dup2(handler->conf->console.pipes[1][1], STDOUT_FILENO); -+ if (ret < 0) -+ goto out_warn_father; -+ } -+ if (handler->conf->console.pipes[2][0] >= 0) { -+ close(handler->conf->console.pipes[2][0]); -+ handler->conf->console.pipes[2][0] = -1; -+ } -+ -+ if (handler->conf->console.pipes[2][1] >= 0) { -+ ret = dup2(handler->conf->console.pipes[2][1], STDERR_FILENO); -+ if (ret < 0) -+ goto out_warn_father; -+ } -+ } -+#endif -+ - /* Some init's such as busybox will set sane tty settings on stdin, - * stdout, stderr which it thinks is the console. We already set them - * the way we wanted on the real terminal, and we want init to do its - * setup on its console ie. the pty allocated in lxc_terminal_setup() so - * make sure that that pty is stdin,stdout,stderr. - */ -+#ifdef HAVE_ISULAD -+ setsid(); -+ if (!handler->disable_pty && handler->conf->console.pts >= 0) { -+ /* isulad:make the given terminal as controlling terminal to avoid warning -+ * sh: cannot set terminal process group (-1): Inappropriate ioctl for device -+ * sh: no job control in this shell */ -+ if (ioctl(handler->conf->console.pts, TIOCSCTTY, NULL) < 0) { -+ ERROR("Faild to make the given terminal the controlling terminal of the calling process"); -+ goto out_warn_father; -+ } -+ if (handler->daemonize || !handler->conf->is_execute) -+ ret = set_stdfds(handler->conf->console.pts); -+ else -+ ret = lxc_terminal_set_stdfds(handler->conf->console.pts); -+ if (ret < 0) { -+ ERROR("Failed to redirect std{in,out,err} to pty file " -+ "descriptor %d", handler->conf->console.pts); -+ goto out_warn_father; -+ } -+ } -+#else - if (handler->conf->console.pts >= 0) { - if (handler->daemonize || !handler->conf->is_execute) - ret = set_stdfds(handler->conf->console.pts); -@@ -1260,6 +1600,7 @@ static int do_start(void *data) - goto out_warn_father; - } - } -+#endif - - /* If we mounted a temporary proc, then unmount it now. */ - tmp_proc_unmount(handler->conf); -@@ -1283,6 +1624,21 @@ static int do_start(void *data) - - close_prot_errno_disarm(handler->sigfd); - -+#ifdef HAVE_ISULAD -+ if (!handler->disable_pty && handler->conf->console.pts < 0 && handler->daemonize) { -+ if (devnull_fd < 0) { -+ devnull_fd = open_devnull(); -+ if (devnull_fd < 0) -+ goto out_warn_father; -+ } -+ -+ ret = set_stdfds(devnull_fd); -+ if (ret < 0) { -+ ERROR("Failed to redirect std{in,out,err} to \"/dev/null\""); -+ goto out_warn_father; -+ } -+ } -+#else - if (handler->conf->console.pts < 0 && handler->daemonize) { - if (devnull_fd < 0) { - devnull_fd = open_devnull(); -@@ -1296,12 +1652,25 @@ static int do_start(void *data) - goto out_warn_father; - } - } -+#endif - - close_prot_errno_disarm(devnull_fd); - -+#ifndef HAVE_ISULAD - setsid(); - -+#endif - if (handler->conf->init_cwd) { -+#ifdef HAVE_ISULAD -+ /* try to craete workdir if not exist */ -+ struct stat st; -+ if (stat(handler->conf->init_cwd, &st) < 0 && mkdir_p(handler->conf->init_cwd, 0755) < 0) { -+ SYSERROR("Try to create directory \"%s\" as workdir failed", handler->conf->init_cwd); -+ lxc_write_error_message(handler->conf->errpipe[1], "%s:%d: Failed to create workdir: %s.", -+ __FILE__, __LINE__, strerror(errno)); -+ goto out_warn_father; -+ } -+#endif - ret = chdir(handler->conf->init_cwd); - if (ret < 0) { - SYSERROR("Could not change directory to \"%s\"", -@@ -1345,6 +1714,13 @@ static int do_start(void *data) - } - } - -+#ifdef HAVE_ISULAD -+ if (prctl(PR_SET_KEEPCAPS, 1) < 0) { -+ SYSERROR("Failed to keep permitted capabilities"); -+ goto out_warn_father; -+ } -+#endif -+ - /* The container has been setup. We can now switch to an unprivileged - * uid/gid. - */ -@@ -1358,6 +1734,13 @@ static int do_start(void *data) - if (new_gid == nsgid) - new_gid = LXC_INVALID_GID; - -+#ifdef HAVE_ISULAD -+ // isulad: set env home in container -+ if (lxc_setup_env_home(new_uid) < 0) { -+ goto out_warn_father; -+ } -+#endif -+ - /* Make sure that the processes STDIO is correctly owned by the user that we are switching to */ - ret = fix_stdio_permissions(new_uid); - if (ret) -@@ -1371,8 +1754,16 @@ static int do_start(void *data) - #if HAVE_LIBCAP - if (lxc_proc_cap_is_set(CAP_SETGID, CAP_EFFECTIVE)) - #endif -+#ifdef HAVE_ISULAD -+ /* isulad: set groups for init process, and before we set uid and gid */ -+ if (!lxc_setgroups(handler->conf->init_groups_len, handler->conf->init_groups)) { -+ ERROR("Can not set groups"); -+ goto out_warn_father; -+ } -+#else - if (!lxc_setgroups(0, NULL)) - goto out_warn_father; -+#endif - - if (!lxc_switch_uid_gid(new_uid, new_gid)) - goto out_warn_father; -@@ -1383,6 +1774,19 @@ static int do_start(void *data) - goto out_warn_father; - } - -+#ifdef HAVE_ISULAD -+ /* isulad: drop the cap of current process */ -+ if (prctl(PR_SET_KEEPCAPS, 0) < 0) { -+ SYSERROR("Failed to clear permitted capabilities"); -+ goto out_warn_father; -+ } -+ -+ if (lxc_drop_caps(handler->conf)) { -+ SYSERROR("Failed to drop caps"); -+ goto out_warn_father; -+ } -+#endif -+ - if (handler->conf->monitor_signal_pdeath != SIGKILL) { - ret = lxc_set_death_signal(handler->conf->monitor_signal_pdeath, - handler->monitor_pid, status_fd); -@@ -1397,7 +1801,12 @@ static int do_start(void *data) - * After this call, we are in error because this ops should not return - * as it execs. - */ -+#ifdef HAVE_ISULAD -+ close_prot_errno_disarm(status_fd); -+ handler->ops->start(handler, handler->data, handler->daemonize ? handler->conf->errpipe[1] : -1); -+#else - handler->ops->start(handler, handler->data); -+#endif - - out_warn_father: - /* -@@ -1529,6 +1938,94 @@ static inline int do_share_ns(void *arg) - return 0; - } - -+#ifdef HAVE_ISULAD -+static int lxc_write_container_info(char *filename, pid_t pid, pid_t p_pid, -+ unsigned long long start_at, unsigned long long p_start_at) -+{ -+ FILE *pid_fp = NULL; -+ int ret = 0; -+ -+ pid_fp = lxc_fopen(filename, "w"); -+ if (pid_fp == NULL) { -+ SYSERROR("Failed to create pidfile '%s'",filename); -+ ret = -1; -+ goto out; -+ } -+ -+ if (fprintf(pid_fp, "%d %llu %d %llu\n", pid, start_at, p_pid, p_start_at) < 0) { -+ SYSERROR("Failed to write '%s'", filename); -+ ret = -1; -+ goto out; -+ } -+out: -+ if (pid_fp) -+ fclose(pid_fp); -+ pid_fp = NULL; -+ return ret; -+} -+ -+static int lxc_check_container_info(char *filename, pid_t pid, pid_t p_pid, -+ unsigned long long start_at, unsigned long long p_start_at) -+{ -+ int ret = 0; -+ int num; -+ char sbuf[1024] = {0}; /* bufs for stat */ -+ int saved_pid; /* process id */ -+ int saved_ppid; /* pid of parent process */ -+ unsigned long long saved_start_time; /* start time of process -- seconds since 1-1-70 */ -+ unsigned long long saved_pstart_time; /* start time of parent process -- seconds since 1-1-70 */ -+ -+ if ((lxc_file2str(filename, sbuf, sizeof(sbuf))) == -1) { -+ SYSERROR("Failed to read pidfile %s", filename); -+ ret = -1; -+ goto out; -+ } -+ -+ num = sscanf(sbuf, "%d %Lu %d %Lu", &saved_pid, &saved_start_time, &saved_ppid, &saved_pstart_time); -+ if (num != 4) { -+ SYSERROR("Call sscanf error"); -+ ret = -1; -+ goto out; -+ } -+ -+ if (pid != saved_pid || p_pid != saved_ppid -+ || start_at != saved_start_time || p_start_at != saved_pstart_time) { -+ ERROR("Check container info failed"); -+ ret = -1; -+ goto out; -+ } -+ -+out: -+ return ret; -+} -+ -+/* isuald: save pid/ppid info */ -+static int lxc_save_container_info(char *filename, pid_t pid) -+{ -+ int ret = 0; -+ pid_t p_pid = 0; -+ unsigned long long start_at = 0; -+ unsigned long long p_start_at = 0; -+ -+ start_at = lxc_get_process_startat(pid); -+ p_pid = getpid(); -+ p_start_at = lxc_get_process_startat(p_pid); -+ -+ ret = lxc_write_container_info(filename, pid, p_pid, start_at, p_start_at); -+ if (ret != 0) { -+ goto out; -+ } -+ -+ ret = lxc_check_container_info(filename, pid, p_pid, start_at, p_start_at); -+ if (ret != 0) { -+ goto out; -+ } -+ -+out: -+ return ret; -+} -+#endif -+ - /* lxc_spawn() performs crucial setup tasks and clone()s the new process which - * exec()s the requested container binary. - * Note that lxc_spawn() runs in the parent namespaces. Any operations performed -@@ -1595,7 +2092,11 @@ static int lxc_spawn(struct lxc_handler *handler) - * it readonly. - * If the container is unprivileged then skip rootfs pinning. - */ -+#ifdef HAVE_ISULAD -+ if (!wants_to_map_ids && !handler->image_type_oci) { -+#else - if (!wants_to_map_ids) { -+#endif - handler->pinfd = pin_rootfs(conf->rootfs.path); - if (handler->pinfd == -EBADF) - INFO("Failed to pin the rootfs for container \"%s\"", handler->name); -@@ -1640,6 +2141,32 @@ static int lxc_spawn(struct lxc_handler *handler) - } - TRACE("Cloned child process %d", handler->pid); - -+#ifdef HAVE_ISULAD -+ /* isulad: close pipe after clone */ -+ if (handler->conf->console.pipes[0][0] >= 0) { -+ close(handler->conf->console.pipes[0][0]); -+ handler->conf->console.pipes[0][0] = -1; -+ } -+ -+ if (handler->conf->console.pipes[1][1] >= 0) { -+ close(handler->conf->console.pipes[1][1]); -+ handler->conf->console.pipes[1][1] = -1; -+ } -+ -+ if (handler->conf->console.pipes[2][1] >= 0) { -+ close(handler->conf->console.pipes[2][1]); -+ handler->conf->console.pipes[2][1] = -1; -+ } -+ -+ /* isulad: save pid/ppid info into file*/ -+ if (handler->conf->container_info_file) { -+ if (lxc_save_container_info(handler->conf->container_info_file, handler->pid)) { -+ ERROR("Failed to save cloned container pid"); -+ goto out_delete_net; -+ } -+ } -+#endif -+ - /* Verify that we can actually make use of pidfds. */ - if (!lxc_can_use_pidfd(handler->pidfd)) - close_prot_errno_disarm(handler->pidfd); -@@ -1652,6 +2179,13 @@ static int lxc_spawn(struct lxc_handler *handler) - if (ret < 0) - SYSERROR("Failed to set environment variable: LXC_PID=%s", pidstr); - -+#ifdef HAVE_ISULAD -+ if (handler->cgroup_ops->container_cgroup) { -+ if (setenv("LXC_CGROUP_PATH", handler->cgroup_ops->container_cgroup, 1)) -+ SYSERROR("Failed to set environment variable: LXC_CGROUP_PATH=%s.", handler->cgroup_ops->container_cgroup); -+ } -+#endif -+ - for (i = 0; i < LXC_NS_MAX; i++) - if (handler->ns_on_clone_flags & ns_info[i].clone_flag) - INFO("Cloned %s", ns_info[i].flag_name); -@@ -1765,7 +2299,11 @@ static int lxc_spawn(struct lxc_handler *handler) - goto out_delete_net; - - if (!lxc_list_empty(&conf->limits)) { -+#ifdef HAVE_ISULAD -+ ret = setup_resource_limits(&conf->limits, handler->pid, conf->errpipe[1]); -+#else - ret = setup_resource_limits(&conf->limits, handler->pid); -+#endif - if (ret < 0) { - ERROR("Failed to setup resource limits"); - goto out_delete_net; -@@ -1816,6 +2354,26 @@ static int lxc_spawn(struct lxc_handler *handler) - ERROR("Failed to run lxc.hook.start-host"); - goto out_delete_net; - } -+#ifdef HAVE_ISULAD -+ /* isulad: Run oci prestart hook at here */ -+ ret = run_oci_hooks(name, "oci-prestart", conf, lxcpath); -+ if (ret < 0) { -+ ERROR("Failed to run oci prestart hooks"); -+ goto out_delete_net; -+ } -+ -+ if (START_TIMEOUT == global_timeout_state) { -+ lxc_write_error_message(conf->errpipe[1], "Starting the container \"%s\" timeout.", name); -+ ERROR("Starting the container \"%s\" timeout.", name); -+ goto out_delete_net; -+ } -+ -+ /* Tell the child to continue its initialization. We'll get -+ * LXC_SYNC_POST_OCI_PRESTART_HOOK when it is ready for us to run oci prestart hooks. -+ */ -+ if (lxc_sync_barrier_child(handler, LXC_SYNC_POST_OCI_PRESTART_HOOK)) -+ goto out_delete_net; -+#endif - - /* Tell the child to complete its initialization and wait for it to exec - * or return an error. (The child will never return -@@ -1859,6 +2417,22 @@ static int lxc_spawn(struct lxc_handler *handler) - if (ret < 0) - goto out_abort; - -+#ifdef HAVE_ISULAD -+ /* isulad: Run oci prestart hook at here */ -+ ret = run_oci_hooks(name, "oci-poststart", conf, lxcpath); -+ if (ret < 0) { -+ ERROR("Failed to run oci poststart hooks"); -+ goto out_abort; -+ } -+ -+ if (START_TIMEOUT == global_timeout_state) { -+ lxc_write_error_message(conf->errpipe[1], "Starting the container \"%s\" timeout.", name); -+ ERROR("Starting the container \"%s\" timeout.", name); -+ goto out_abort; -+ } -+ -+#endif -+ - ret = lxc_set_state(name, handler, RUNNING); - if (ret < 0) { - ERROR("Failed to set state to \"%s\"", lxc_state2str(RUNNING)); -@@ -1883,9 +2457,83 @@ out_sync_fini: - return -1; - } - -+#ifdef HAVE_ISULAD -+/* isulad: start timeout thread function */ -+static void* wait_start_timeout(void *arg) -+{ -+ struct start_timeout_conf *conf = (struct start_timeout_conf *)arg; -+ -+ sem_post(&global_timeout_sem); -+ -+ if (!conf || conf->timeout < 1) -+ goto out; -+ -+ sleep(conf->timeout); -+ -+ global_timeout_state = START_TIMEOUT; -+ -+out: -+ free(conf); -+ return ((void *)0); -+} -+ -+/* isulad: create start timeout thread */ -+static int create_start_timeout_thread(struct lxc_conf *conf, unsigned int start_timeout) -+{ -+ int ret = 0; -+ pthread_t ptid; -+ pthread_attr_t attr; -+ struct start_timeout_conf *timeout_conf = NULL; -+ -+ if (sem_init(&global_timeout_sem, 0, 0)) { -+ ERROR("Failed to init start timeout semaphore");/*lint !e613*/ -+ ret = -1; -+ return ret; -+ } -+ -+ timeout_conf = malloc(sizeof(struct start_timeout_conf)); -+ if (timeout_conf == NULL) { -+ ERROR("Failed to malloc start timeout conf"); -+ ret = -1; -+ goto out; -+ } -+ -+ memset(timeout_conf, 0, sizeof(struct start_timeout_conf)); -+ timeout_conf->errfd = conf->errpipe[1]; -+ timeout_conf->timeout = start_timeout; -+ -+ pthread_attr_init(&attr); -+ pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); -+ ret = pthread_create(&ptid, &attr, wait_start_timeout, timeout_conf); -+ pthread_attr_destroy(&attr); -+ if (ret != 0) { -+ ERROR("Create start wait timeout thread failed"); -+ free(timeout_conf); -+ goto out; -+ } -+ -+ sem_wait(&global_timeout_sem); -+out: -+ sem_destroy(&global_timeout_sem); -+ return ret; -+} -+ -+// isulad: send '128 + signal' if container is killed by signal. -+#define EXIT_SIGNAL_OFFSET 128 -+#endif -+ -+ -+#ifdef HAVE_ISULAD -+int __lxc_start(struct lxc_handler *handler, struct lxc_operations *ops, -+ void *data, const char *lxcpath, bool daemonize, int *error_num, -+ unsigned int start_timeout) -+{ -+ int exit_code; -+#else - int __lxc_start(struct lxc_handler *handler, struct lxc_operations *ops, - void *data, const char *lxcpath, bool daemonize, int *error_num) - { -+#endif - int ret, status; - const char *name = handler->name; - struct lxc_conf *conf = handler->conf; -@@ -1901,6 +2549,16 @@ int __lxc_start(struct lxc_handler *handler, struct lxc_operations *ops, - handler->daemonize = daemonize; - cgroup_ops = handler->cgroup_ops; - -+#ifdef HAVE_ISULAD -+ /* isulad: add start timeout limit */ -+ if (start_timeout > 0) { -+ ret = create_start_timeout_thread(conf, start_timeout); -+ if (ret) { -+ ERROR("Failed to create start timeout thread for container \"%s\".", name); -+ goto out_abort; -+ } -+ } -+#endif - if (!attach_block_device(handler->conf)) { - ERROR("Failed to attach block device"); - ret = -1; -@@ -1959,11 +2617,13 @@ int __lxc_start(struct lxc_handler *handler, struct lxc_operations *ops, - goto out_delete_network; - } - -+#ifndef HAVE_ISULAD - if (!handler->init_died && handler->pid > 0) { - ERROR("Child process is not killed"); - ret = -1; - goto out_delete_network; - } -+#endif - - status = lxc_wait_for_pid_status(handler->pid); - if (status < 0) -@@ -1973,6 +2633,21 @@ int __lxc_start(struct lxc_handler *handler, struct lxc_operations *ops, - * reboot. This should mean it was an lxc-execute which simply exited. - * In any case, treat it as a 'halt'. - */ -+#ifdef HAVE_ISULAD -+ // isulad: recored log for container init exit -+ if (WIFSIGNALED(status)) { -+ int signal = WTERMSIG(status); -+ signal = WTERMSIG(status); -+ exit_code = EXIT_SIGNAL_OFFSET + signal; -+ ERROR("Container \"%s\" init exited with signal %d", name, signal); -+ } else if (WIFEXITED(status)) { -+ exit_code = WEXITSTATUS(status); -+ ERROR("Container \"%s\" init exited with status %d", name, exit_code); -+ } else { -+ exit_code = -1; -+ ERROR("Container \"%s\" init exited with unknown status", name); -+ } -+#else - if (WIFSIGNALED(status)) { - switch(WTERMSIG(status)) { - case SIGINT: /* halt */ -@@ -1990,6 +2665,7 @@ int __lxc_start(struct lxc_handler *handler, struct lxc_operations *ops, - break; - } - } -+#endif - - ret = lxc_restore_phys_nics_to_netns(handler); - if (ret < 0) -@@ -1997,11 +2673,20 @@ int __lxc_start(struct lxc_handler *handler, struct lxc_operations *ops, - - close_prot_errno_disarm(handler->pinfd); - -+#ifdef HAVE_ISULAD -+ lxc_monitor_send_exit_code(name, exit_code, handler->lxcpath); -+#else - lxc_monitor_send_exit_code(name, status, handler->lxcpath); -+#endif -+ - lxc_error_set_and_log(handler->pid, status); - if (error_num) - *error_num = handler->exit_status; - -+#ifdef HAVE_ISULAD -+ handler->exit_code = exit_code; /* record exit code */ -+#endif -+ - /* These are not the droids you are looking for. */ - __private_goto1: - lxc_delete_network(handler); -@@ -2032,7 +2717,11 @@ struct start_args { - char *const *argv; - }; - -+#ifdef HAVE_ISULAD -+static int start(struct lxc_handler *handler, void* data, int fd) -+#else - static int start(struct lxc_handler *handler, void* data) -+#endif - { - struct start_args *arg = data; - -@@ -2040,6 +2729,9 @@ static int start(struct lxc_handler *handler, void* data) - - execvp(arg->argv[0], arg->argv); - SYSERROR("Failed to exec \"%s\"", arg->argv[0]); -+#ifdef HAVE_ISULAD -+ lxc_write_error_message(fd, "exec: \"%s\": %s.", arg->argv[0], strerror(errno)); -+#endif - return 0; - } - -@@ -2057,14 +2749,22 @@ static struct lxc_operations start_ops = { - }; - - int lxc_start(char *const argv[], struct lxc_handler *handler, -+#ifdef HAVE_ISULAD -+ const char *lxcpath, bool daemonize, int *error_num, unsigned int start_timeout) -+#else - const char *lxcpath, bool daemonize, int *error_num) -+#endif - { - struct start_args start_arg = { - .argv = argv, - }; - - TRACE("Doing lxc_start"); -+#ifdef HAVE_ISULAD -+ return __lxc_start(handler, &start_ops, &start_arg, lxcpath, daemonize, error_num, start_timeout); -+#else - return __lxc_start(handler, &start_ops, &start_arg, lxcpath, daemonize, error_num); -+#endif - } - - static void lxc_destroy_container_on_signal(struct lxc_handler *handler, -@@ -2136,3 +2836,261 @@ static bool do_destroy_container(struct lxc_handler *handler) - - return storage_destroy(handler->conf); - } -+ -+#ifdef HAVE_ISULAD -+/*isulad: set env for clean resources */ -+static int clean_resource_set_env(struct lxc_handler *handler) -+{ -+ const char *name = handler->name; -+ struct lxc_conf *conf = handler->conf; -+ char bufstr[PATH_MAX + 1]; -+ int i = 0; -+ int j = 0; -+ int len = 2; //set "LXC_PID" and "LXC_CGNS_AWARE" -+ -+ if (conf == NULL || conf->ocihooks == NULL || conf->ocihooks->poststop_len == 0) { -+ return 0; -+ } -+ -+ if (name) { -+ len++; -+ } -+ if (conf->rcfile) { -+ len++; -+ } -+ if (conf->rootfs.mount) { -+ len++; -+ } -+ if (conf->rootfs.path) { -+ len++; -+ } -+ if (conf->console.path) { -+ len++; -+ } -+ if (conf->console.log_path) { -+ len++; -+ } -+ if (handler->cgroup_ops->container_cgroup) { -+ len++; -+ } -+ -+ for (; i < conf->ocihooks->poststop_len; i++) { -+ size_t cap = conf->ocihooks->poststop[i]->env_len; -+ size_t newcap = cap + len + 1; -+ if (lxc_grow_array((void ***)&(conf->ocihooks->poststop[i]->env), &cap, newcap, 1) != 0) { -+ return -1; -+ } -+ j = conf->ocihooks->poststop[i]->env_len; -+ /* Start of environment variable setup for hooks. */ -+ if (name) { -+ snprintf(bufstr, PATH_MAX + 1, "LXC_NAME=%s", name); -+ conf->ocihooks->poststop[i]->env[j++] = safe_strdup(bufstr); -+ } -+ if (conf->rcfile) { -+ snprintf(bufstr, PATH_MAX + 1, "LXC_CONFIG_FILE=%s", conf->rcfile); -+ conf->ocihooks->poststop[i]->env[j++] = safe_strdup(bufstr); -+ } -+ if (conf->rootfs.mount) { -+ snprintf(bufstr, PATH_MAX + 1, "LXC_ROOTFS_MOUNT=%s", conf->rootfs.mount); -+ conf->ocihooks->poststop[i]->env[j++] = safe_strdup(bufstr); -+ } -+ if (conf->rootfs.path) { -+ snprintf(bufstr, PATH_MAX + 1, "LXC_ROOTFS_PATH=%s", conf->rootfs.path); -+ conf->ocihooks->poststop[i]->env[j++] = safe_strdup(bufstr); -+ } -+ if (conf->console.path) { -+ snprintf(bufstr, PATH_MAX + 1, "LXC_CONSOLE=%s", conf->console.path); -+ conf->ocihooks->poststop[i]->env[j++] = safe_strdup(bufstr); -+ } -+ if (conf->console.log_path) { -+ snprintf(bufstr, PATH_MAX + 1, "LXC_CONSOLE_LOGPATH=%s", conf->console.log_path); -+ conf->ocihooks->poststop[i]->env[j++] = safe_strdup(bufstr); -+ } -+ conf->ocihooks->poststop[i]->env[j++] = safe_strdup("LXC_CGNS_AWARE=1"); -+ -+ snprintf(bufstr, PATH_MAX + 1, "LXC_PID=%d", handler->pid); -+ conf->ocihooks->poststop[i]->env[j++] = safe_strdup(bufstr); -+ if (handler->cgroup_ops->container_cgroup) { -+ snprintf(bufstr, PATH_MAX + 1, "LXC_CGROUP_PATH=%s", handler->cgroup_ops->container_cgroup); -+ conf->ocihooks->poststop[i]->env[j++] = safe_strdup(bufstr); -+ } -+ conf->ocihooks->poststop[i]->env_len = j; -+ /* End of environment variable setup for hooks. */ -+ } -+ return 0; -+} -+ -+/*isulad: init handler for clean */ -+static struct lxc_handler *lxc_init_clean_handler(char *name, char *lxcpath, struct lxc_conf *conf, pid_t pid) -+{ -+ int i; -+ struct lxc_handler *handler; -+ -+ handler = malloc(sizeof(*handler)); -+ if (handler == NULL) -+ return NULL; -+ -+ memset(handler, 0, sizeof(*handler)); -+ -+ /* Note that am_guest_unpriv() checks the effective uid. We -+ * probably don't care if we are real root only if we are running -+ * as root so this should be fine. -+ */ -+ handler->am_root = !am_guest_unpriv(); -+ handler->data_sock[0] = handler->data_sock[1] = -1; -+ handler->conf = conf; -+ handler->lxcpath = lxcpath; -+ handler->pinfd = -1; -+ handler->sigfd = -EBADF; -+ handler->pidfd = -EBADF; -+ handler->init_died = false; -+ handler->monitor_status_fd = -EBADF; -+ handler->pid = pid; -+ handler->state_socket_pair[0] = handler->state_socket_pair[1] = -1; -+ if (handler->conf->reboot == REBOOT_NONE) -+ lxc_list_init(&handler->conf->state_clients); -+ -+ for (i = 0; i < LXC_NS_MAX; i++) -+ handler->nsfd[i] = -1; -+ -+ handler->name = name; -+ handler->exit_code = -1; /* isulad: record exit code of container */ -+ -+ handler->cgroup_ops = cgroup_init(conf); -+ if (!handler->cgroup_ops) { -+ ERROR("Failed to initialize cgroup driver"); -+ goto on_error; -+ } -+ -+ INFO("Container \"%s\" 's clean handler is initialized.", name); -+ -+ return handler; -+ -+on_error: -+ lxc_put_handler(handler); -+ -+ return NULL; -+} -+ -+/*isulad: init handler for clean */ -+static struct lxc_handler *lxc_init_pids_handler(char *name, char *lxcpath, struct lxc_conf *conf) -+{ -+ int i; -+ struct lxc_handler *handler; -+ -+ handler = malloc(sizeof(*handler)); -+ if (handler == NULL) -+ return NULL; -+ -+ memset(handler, 0, sizeof(*handler)); -+ -+ /* Note that am_guest_unpriv() checks the effective uid. We -+ * probably don't care if we are real root only if we are running -+ * as root so this should be fine. -+ */ -+ handler->am_root = !am_guest_unpriv(); -+ handler->data_sock[0] = handler->data_sock[1] = -1; -+ handler->conf = conf; -+ handler->lxcpath = lxcpath; -+ handler->pinfd = -1; -+ handler->sigfd = -EBADF; -+ handler->init_died = false; -+ handler->state_socket_pair[0] = handler->state_socket_pair[1] = -1; -+ handler->monitor_status_fd = -EBADF; -+ handler->pidfd = -EBADF; -+ if (handler->conf->reboot == REBOOT_NONE) -+ lxc_list_init(&handler->conf->state_clients); -+ -+ for (i = 0; i < LXC_NS_MAX; i++) -+ handler->nsfd[i] = -1; -+ -+ handler->name = name; -+ handler->exit_code = -1; /* isulad: record exit code of container */ -+ -+ handler->cgroup_ops = cgroup_init(conf); -+ if (!handler->cgroup_ops) { -+ ERROR("Failed to initialize cgroup driver"); -+ goto on_error; -+ } -+ -+ INFO("Container \"%s\" 's clean handler is initialized.", name); -+ -+ return handler; -+ -+on_error: -+ lxc_put_handler(handler); -+ -+ return NULL; -+} -+ -+/*isulad: do_lxcapi_clean_resource */ -+int do_lxcapi_clean_resource(char *name, char *lxcpath, struct lxc_conf *conf, pid_t pid) -+{ -+ int ret = 0; -+ struct lxc_handler *handler = NULL; -+ int retry_count = 0; -+ int max_retry = 10; -+ -+ handler = lxc_init_clean_handler(name, lxcpath, conf, pid); -+ if (!handler) { -+ ERROR("Failed to init container %s clean handler", name); -+ ret = -1; -+ goto out; -+ } -+ -+ if (clean_resource_set_env(handler) != 0) { -+ ERROR("Failed to set env for poststop hooks"); -+ ret = -1; -+ goto out; -+ } -+ -+ if (run_oci_hooks(handler->name, "oci-poststop", handler->conf, handler->lxcpath)) { -+ ERROR("Failed to run lxc.hook.post-stop for container \"%s\".", handler->name); -+ ret = -1; -+ } -+ -+retry: -+ if (!handler->cgroup_ops->payload_destroy(handler->cgroup_ops, handler)) { -+ TRACE("Trying to kill all subprocess"); -+ signal_all_processes(handler); -+ TRACE("Finished kill all subprocess"); -+ if (retry_count < max_retry) { -+ usleep(100 * 1000); /* 100 millisecond */ -+ retry_count++; -+ goto retry; -+ } -+ SYSERROR("Failed to destroy cgroup path for container: \"%s\"", handler->name); -+ ret = -1; -+ } -+ -+out: -+ lxc_put_handler(handler); -+ return ret; -+} -+ -+/*isulad: do_lxcapi_get_pids */ -+int do_lxcapi_get_pids(char *name, char *lxcpath, struct lxc_conf *conf, pid_t **pids,size_t *pids_len) -+{ -+ int ret = 0; -+ struct lxc_handler *handler = NULL; -+ struct cgroup_ops *cg_ops = NULL; -+ -+ handler = lxc_init_pids_handler(name, lxcpath, conf); -+ if (!handler) { -+ ERROR("Failed to init container %s clean handler", name); -+ ret = -1; -+ goto out; -+ } -+ -+ cg_ops = handler->cgroup_ops; -+ ret = get_all_pids(cg_ops, pids, pids_len); -+ if (ret < 0) { -+ WARN("failed to get all pids"); -+ } -+ -+out: -+ lxc_put_handler(handler); -+ return ret; -+} -+ -+#endif -diff --git a/src/lxc/storage/btrfs.c b/src/lxc/storage/btrfs.c -index 92a4a6d..069a9dd 100644 ---- a/src/lxc/storage/btrfs.c -+++ b/src/lxc/storage/btrfs.c -@@ -197,16 +197,27 @@ int btrfs_mount(struct lxc_storage *bdev) - const char *src; - int ret; - -+#ifdef HAVE_ISULAD -+ unsigned long pflags = 0; -+#endif -+ - if (strcmp(bdev->type, "btrfs")) - return -22; - - if (!bdev->src || !bdev->dest) - return -22; - -+#ifdef HAVE_ISULAD -+ if (parse_mntopts(bdev->mntopts, &mntflags, &pflags, &mntdata) < 0) { -+ free(mntdata); -+ return -22; -+ } -+#else - if (parse_mntopts(bdev->mntopts, &mntflags, &mntdata) < 0) { - free(mntdata); - return -22; - } -+#endif - - src = lxc_storage_get_path(bdev->src, "btrfs"); - -diff --git a/src/lxc/storage/overlay.c b/src/lxc/storage/overlay.c -index 770785c..75a81de 100644 ---- a/src/lxc/storage/overlay.c -+++ b/src/lxc/storage/overlay.c -@@ -349,6 +349,9 @@ int ovl_mount(struct lxc_storage *bdev) - char *work, *lastslash; - size_t len, len2; - int ret, ret2; -+#ifdef HAVE_ISULAD -+ unsigned long pflags = 0; -+#endif - - if (strcmp(bdev->type, "overlay") && strcmp(bdev->type, "overlayfs")) - return -22; -@@ -414,7 +417,12 @@ int ovl_mount(struct lxc_storage *bdev) - work = must_make_path(upper, LXC_OVERLAY_WORK_DIR, NULL); - upper[lastslash - upper] = '/'; - -+#ifdef HAVE_ISULAD -+ ret = parse_mntopts(bdev->mntopts, &mntflags, &pflags, &mntdata); -+#else - ret = parse_mntopts(bdev->mntopts, &mntflags, &mntdata); -+#endif -+ - if (ret < 0) { - ERROR("Failed to parse mount options"); - free(mntdata); -diff --git a/src/lxc/sync.h b/src/lxc/sync.h -index ff7a1eb..56c1dfc 100644 ---- a/src/lxc/sync.h -+++ b/src/lxc/sync.h -@@ -11,6 +11,10 @@ enum { - LXC_SYNC_POST_CONFIGURE, - LXC_SYNC_CGROUP, - LXC_SYNC_CGROUP_UNSHARE, -+#ifdef HAVE_ISULAD -+ LXC_SYNC_OCI_PRESTART_HOOK, -+ LXC_SYNC_POST_OCI_PRESTART_HOOK, -+#endif - LXC_SYNC_CGROUP_LIMITS, - LXC_SYNC_READY_START, - LXC_SYNC_RESTART, -diff --git a/src/lxc/terminal.c b/src/lxc/terminal.c -index e58db5c..0539eca 100644 ---- a/src/lxc/terminal.c -+++ b/src/lxc/terminal.c -@@ -28,6 +28,10 @@ - #include "syscall_wrappers.h" - #include "terminal.h" - #include "utils.h" -+#ifdef HAVE_ISULAD -+#include "logger_json_file.h" -+#include "include/strlcpy.h" -+#endif - - #if HAVE_PTY_H - #include -@@ -183,6 +187,69 @@ static int lxc_terminal_truncate_log_file(struct lxc_terminal *terminal) - return lxc_unpriv(ftruncate(terminal->log_fd, 0)); - } - -+#ifdef HAVE_ISULAD -+ -+int lxc_set_terminal_winsz(struct lxc_terminal *terminal, unsigned int height, unsigned int width) -+{ -+ int ret = 0; -+ struct winsize wsz; -+ -+ if (terminal->ptmx < 0) { -+ return 0; -+ } -+ -+ ret = ioctl(terminal->ptmx, TIOCGWINSZ, &wsz); -+ if (ret < 0) { -+ WARN("Failed to get window size"); -+ return -1; -+ } -+ wsz.ws_col = width; -+ wsz.ws_row = height; -+ -+ ret = ioctl(terminal->ptmx, TIOCSWINSZ, &wsz); -+ if (ret < 0) -+ WARN("Failed to set window size"); -+ else -+ DEBUG("Set window size to %d columns and %d rows", wsz.ws_col, -+ wsz.ws_row); -+ return ret; -+} -+ -+/* -+ * isulad: support mult-logfiles -+ * */ -+static int lxc_terminal_rename_old_log_file(struct lxc_terminal *terminal) -+{ -+ int ret; -+ unsigned int i; -+ char tmp[PATH_MAX] = {0}; -+ char *rename_fname = NULL; -+ -+ for (i = terminal->log_rotate - 1; i > 1; i--) { -+ ret = snprintf(tmp, PATH_MAX, "%s.%u", terminal->log_path, i); -+ if (ret < 0 || ret >= PATH_MAX) { -+ free(rename_fname); -+ return -EFBIG; -+ } -+ free(rename_fname); -+ rename_fname = safe_strdup(tmp); -+ ret = snprintf(tmp, PATH_MAX, "%s.%u", terminal->log_path, (i - 1)); -+ if (ret < 0 || ret >= PATH_MAX) { -+ free(rename_fname); -+ return -EFBIG; -+ } -+ ret = lxc_unpriv(rename(tmp, rename_fname)); -+ if (ret < 0 && errno != ENOENT) { -+ free(rename_fname); -+ return ret; -+ } -+ } -+ -+ free(rename_fname); -+ return 0; -+} -+#endif -+ - static int lxc_terminal_rotate_log_file(struct lxc_terminal *terminal) - { - __do_free char *tmp = NULL; -@@ -196,6 +263,15 @@ static int lxc_terminal_rotate_log_file(struct lxc_terminal *terminal) - if (terminal->log_fd < 0) - return -EBADF; - -+#ifdef HAVE_ISULAD -+ /* isuald: rotate old log file first */ -+ ret = lxc_terminal_rename_old_log_file(terminal); -+ if(ret != 0) { -+ ERROR("Rename old log file failed"); -+ return ret; -+ } -+#endif -+ - len = strlen(terminal->log_path) + sizeof(".1"); - tmp = must_realloc(NULL, len); - -@@ -212,6 +288,7 @@ static int lxc_terminal_rotate_log_file(struct lxc_terminal *terminal) - return lxc_terminal_create_log_file(terminal); - } - -+#ifndef HAVE_ISULAD - static int lxc_terminal_write_log_file(struct lxc_terminal *terminal, char *buf, - int bytes_read) - { -@@ -317,7 +394,465 @@ static int lxc_terminal_write_log_file(struct lxc_terminal *terminal, char *buf, - bytes_read -= ret; - return bytes_read; - } -+#endif -+ -+#ifdef HAVE_ISULAD -+/* get time buffer */ -+static bool get_time_buffer(struct timespec *timestamp, char *timebuffer, -+ size_t maxsize) -+{ -+ struct tm tm_utc = { 0 }; -+ int32_t nanos = 0; -+ time_t seconds; -+ size_t len = 0; -+ int ret = 0; -+ -+ if (!timebuffer || !maxsize) { -+ return false; -+ } -+ -+ seconds = (time_t)timestamp->tv_sec; -+ gmtime_r(&seconds, &tm_utc); -+ strftime(timebuffer, maxsize, "%Y-%m-%dT%H:%M:%S", &tm_utc); -+ -+ nanos = (int32_t)timestamp->tv_nsec; -+ len = strlen(timebuffer); -+ ret = snprintf(timebuffer + len, (maxsize - len), ".%09dZ", nanos); -+ if (ret < 0 || ret >= (maxsize - len)) { -+ return false; -+ } -+ -+ return true; -+} -+ -+/* get now time buffer */ -+static bool get_now_time_buffer(char *timebuffer, size_t maxsize) -+{ -+ int err = 0; -+ struct timespec ts; -+ -+ err = clock_gettime(CLOCK_REALTIME, &ts); -+ if (err != 0) { -+ ERROR("failed to get time"); -+ return false; -+ } -+ -+ return get_time_buffer(&ts, timebuffer, maxsize); -+} -+ -+static int isulad_lxc_terminal_rotate_write_data(struct lxc_terminal *terminal, const char *buf, -+ int bytes_read) -+{ -+ int ret; -+ struct stat st; -+ int64_t space_left = -1; -+ -+ if (terminal->log_fd < 0) -+ return 0; -+ -+ /* A log size <= 0 means that there's no limit on the size of the log -+ * file at which point we simply ignore whether the log is supposed to -+ * be rotated or not. -+ */ -+ if (terminal->log_size <= 0) -+ return lxc_write_nointr(terminal->log_fd, buf, bytes_read); -+ -+ /* Get current size of the log file. */ -+ ret = fstat(terminal->log_fd, &st); -+ if (ret < 0) { -+ SYSERROR("Failed to stat the terminal log file descriptor"); -+ return -1; -+ } -+ -+ /* handle non-regular files */ -+ if ((st.st_mode & S_IFMT) != S_IFREG) { -+ /* This isn't a regular file. so rotating the file seems a -+ * dangerous thing to do, size limits are also very -+ * questionable. Let's not risk anything and tell the user that -+ * he's requesting us to do weird stuff. -+ */ -+ if (terminal->log_rotate > 0 || terminal->log_size > 0) -+ return -EINVAL; -+ -+ /* I mean, sure log wherever you want to. */ -+ return lxc_write_nointr(terminal->log_fd, buf, bytes_read); -+ } -+ -+ space_left = terminal->log_size - st.st_size; -+ -+ /* User doesn't want to rotate the log file and there's no more space -+ * left so simply truncate it. -+ */ -+ if (space_left <= 0 && terminal->log_rotate <= 0) { -+ ret = lxc_terminal_truncate_log_file(terminal); -+ if (ret < 0) -+ return ret; -+ -+ if (bytes_read <= terminal->log_size) -+ return lxc_write_nointr(terminal->log_fd, buf, bytes_read); -+ -+ /* Write as much as we can into the buffer and loose the rest. */ -+ return lxc_write_nointr(terminal->log_fd, buf, terminal->log_size); -+ } -+ -+ /* There's enough space left. */ -+ if (bytes_read <= space_left) -+ return lxc_write_nointr(terminal->log_fd, buf, bytes_read); -+ -+ /* There'd be more to write but we aren't instructed to rotate the log -+ * file so simply return. There's no error on our side here. -+ */ -+ if (terminal->log_rotate > 0) -+ ret = lxc_terminal_rotate_log_file(terminal); -+ else -+ ret = lxc_terminal_truncate_log_file(terminal); -+ if (ret < 0) -+ return ret; -+ -+ if (terminal->log_size < bytes_read) { -+ /* Well, this is unfortunate because it means that there is more -+ * to write than the user has granted us space. There are -+ * multiple ways to handle this but let's use the simplest one: -+ * write as much as we can, tell the user that there was more -+ * stuff to write and move on. -+ * Note that this scenario shouldn't actually happen with the -+ * standard pty-based terminal that LXC allocates since it will -+ * be switched into raw mode. In raw mode only 1 byte at a time -+ * should be read and written. -+ */ -+ WARN("Size of terminal log file is smaller than the bytes to write"); -+ ret = lxc_write_nointr(terminal->log_fd, buf, terminal->log_size); -+ if (ret < 0) -+ return -1; -+ bytes_read -= ret; -+ return bytes_read; -+ } -+ -+ /* Yay, we made it. */ -+ ret = lxc_write_nointr(terminal->log_fd, buf, bytes_read); -+ if (ret < 0) -+ return -1; -+ bytes_read -= ret; -+ return bytes_read; -+} -+ -+static ssize_t isulad_logger_json_write(struct lxc_terminal *terminal, const char *type, const char *buf, -+ int bytes_read) -+{ -+ logger_json_file *msg = NULL; -+ ssize_t ret = -1; -+ size_t len; -+ char *json = NULL; -+ char timebuffer[64] = { 0 }; -+ parser_error err = NULL; -+ struct parser_context ctx = { GEN_OPTIONS_SIMPLIFY | GEN_OPTIONS_NOT_VALIDATE_UTF8, stderr }; -+ -+ if (bytes_read < 0 || bytes_read >= INT_MAX) { -+ return -1; -+ } -+ msg = calloc(sizeof(logger_json_file), 1); -+ if (msg == NULL) { -+ return -errno; -+ } -+ msg->log = calloc(bytes_read, 1); -+ if (!msg->log) { -+ goto cleanup; -+ } -+ memcpy(msg->log, buf, bytes_read); -+ msg->log_len = bytes_read; -+ msg->stream = type ? safe_strdup(type) : safe_strdup("stdout"); -+ -+ get_now_time_buffer(timebuffer, sizeof(timebuffer)); -+ msg->time = safe_strdup(timebuffer); -+ -+ json = logger_json_file_generate_json(msg, &ctx, &err); -+ if (!json) { -+ ERROR("Failed to generate json: %s", err); -+ goto cleanup; -+ } -+ len = strlen(json); -+ json[len] = '\n'; -+ ret = isulad_lxc_terminal_rotate_write_data(terminal, json, len + 1); -+cleanup: -+ free(json); -+ free_logger_json_file(msg); -+ free(err); -+ return ret; -+} -+ -+static ssize_t isulad_logger_syslog_write(struct lxc_terminal *terminal, const char *buf) -+{ -+ syslog(LOG_INFO, "%s", buf); -+ return 0; -+} -+ -+static inline bool is_syslog(const char *driver) -+{ -+ if (driver == NULL) { -+ return false; -+ } -+ -+ return (strcmp("syslog", driver) == 0); -+} -+ -+static inline ssize_t isulad_logger_write(struct lxc_terminal *terminal, const char *type, const char *buf, -+ int bytes_read) -+{ -+ if (is_syslog(terminal->log_driver)) { -+ return isulad_logger_syslog_write(terminal, buf); -+ } -+ -+ return isulad_logger_json_write(terminal, type, buf, bytes_read); -+} -+ -+static int isulad_lxc_terminal_write_log_file(struct lxc_terminal *terminal, const char *type, char *buf, -+ int bytes_read) -+{ -+#define __BUF_CACHE_SIZE (16 * LXC_TERMINAL_BUFFER_SIZE) -+ static char cache[__BUF_CACHE_SIZE]; -+ static int size = 0; -+ int upto, index; -+ int begin = 0, buf_readed = 0, buf_left = 0; -+ int ret; -+ -+ if (buf != NULL && bytes_read > 0) { -+ /* Work out how much more data we are okay with reading this time. */ -+ upto = size + bytes_read; -+ if (upto > __BUF_CACHE_SIZE) { -+ upto = __BUF_CACHE_SIZE; -+ } -+ -+ if (upto > size) { -+ buf_readed = upto - size; -+ memcpy(cache + size, buf, buf_readed); -+ buf_left = bytes_read - buf_readed; -+ size += buf_readed; -+ } -+ } -+ -+ // If we have no data to log, and there's no more coming, we're done. -+ if (size == 0) -+ return 0; -+ -+ // Break up the data that we've buffered up into lines, and log each in turn. -+ for (index = 0; index < size; index++) { -+ if (cache[index] == '\n') { -+ ret = isulad_logger_write(terminal, type, cache + begin, index - begin + 1); -+ if (ret < 0) { -+ WARN("Failed to log msg"); -+ } -+ begin = index + 1; -+ } -+ } -+ /* If there's no more coming, or the buffer is full but -+ * has no newlines, log whatever we haven't logged yet, -+ * noting that it's a partial log line. */ -+ if (buf == NULL || (begin == 0 && size == __BUF_CACHE_SIZE)) { -+ if (begin < size) { -+ ret = isulad_logger_write(terminal, type, cache + begin, size - begin); -+ if (ret < 0) { -+ WARN("Failed to log msg"); -+ } -+ begin = 0; -+ size = 0; -+ } -+ if (buf == NULL) { -+ return 0; -+ } -+ } -+ /* Move any unlogged data to the front of the buffer in preparation for another read. */ -+ if (begin > 0) { -+ memcpy(cache, cache + begin, size - begin); -+ size -= begin; -+ } -+ /* Move left data to cache buffer */ -+ if (buf_left > 0) { -+ memcpy(cache + size, buf + buf_readed, buf_left); -+ size += buf_left; -+ } -+ return 0; -+} -+ -+/* isulad: forward data to all fifos */ -+static void lxc_forward_data_to_fifo(struct lxc_list *list, bool is_err, const char *buf, int r) -+{ -+ struct lxc_list *it = NULL; -+ struct lxc_list *next = NULL; -+ struct lxc_fifos_fd *elem = NULL; -+ ssize_t w = 0; -+ -+ lxc_list_for_each_safe(it, list, next) { -+ elem = it->elem; -+ if (is_err) { -+ if (elem->err_fd >= 0) { -+ w = lxc_write_nointr_for_fifo(elem->err_fd, buf, r); -+ if (w != r) { -+ WARN("Failed to write to fifo fd %d with error: %s", elem->err_fd, strerror(errno)); -+ } -+ } -+ } else { -+ if (elem->out_fd >= 0) { -+ w = lxc_write_nointr_for_fifo(elem->out_fd, buf, r); -+ if (w != r) { -+ WARN("Failed to write to fifo fd %d with error: %s", elem->out_fd, strerror(errno)); -+ } -+ } -+ } -+ } -+ -+ return; -+} -+ -+/* isulad: judge the fd whether is fifo */ -+static bool lxc_terminal_is_fifo(int fd, struct lxc_list *list) -+{ -+ struct lxc_list *it = NULL; -+ struct lxc_list *next = NULL; -+ struct lxc_fifos_fd *elem = NULL; -+ -+ lxc_list_for_each_safe(it, list, next) { -+ elem = it->elem; -+ if (elem->in_fd == fd) -+ return true; -+ } -+ -+ return false; -+} -+ -+/* isulad: if fd == -1, means delete all the fifos*/ -+int lxc_terminal_delete_fifo(int fd, struct lxc_list *list) -+{ -+ struct lxc_list *it = NULL; -+ struct lxc_list *next = NULL; -+ struct lxc_fifos_fd *elem = NULL; -+ -+ lxc_list_for_each_safe(it, list, next) { -+ elem = it->elem; -+ if (elem->in_fd == fd || -1 == fd) { -+ INFO("Delete fifo fd %d", fd); -+ lxc_list_del(it); -+ if (elem->in_fifo) -+ free(elem->in_fifo); -+ if (elem->out_fifo) -+ free(elem->out_fifo); -+ if (elem->err_fifo) -+ free(elem->err_fifo); -+ if (elem->in_fd >= 0) -+ close(elem->in_fd); -+ if (elem->out_fd >= 0) -+ close(elem->out_fd); -+ if (elem->err_fd >= 0) -+ close(elem->err_fd); -+ free(elem); -+ } -+ } -+ -+ return 0; -+} -+ -+int lxc_terminal_io_cb(int fd, uint32_t events, void *data, -+ struct lxc_epoll_descr *descr) -+{ -+ struct lxc_terminal *terminal = data; -+ char buf[2 * LXC_TERMINAL_BUFFER_SIZE]; -+ int r, w, w_log, w_rbuf; -+ -+ w = r = lxc_read_nointr(fd, buf, sizeof(buf)); -+ if (r <= 0) { -+ INFO("Terminal client on fd %d has exited", fd); -+ lxc_mainloop_del_handler(descr, fd); -+ -+ if (fd == terminal->ptmx) { -+ terminal->ptmx = -EBADF; -+ /* write remained buffer to terminal log */ -+ if (terminal->log_fd >= 0) { -+ w_log = isulad_lxc_terminal_write_log_file(terminal, "stdout", NULL, 0); -+ if (w_log < 0) -+ TRACE("Failed to write %d bytes to terminal log", r); -+ } -+ /* notes: do not close the ptmx fd due to if we close the fd, the process may -+ * recive SIGHUP and the exit code will be 129 (128 + 1) -+ */ -+ return LXC_MAINLOOP_CLOSE; -+ } else if (fd == terminal->peer) { -+ lxc_terminal_signal_fini(terminal); -+ terminal->peer = -EBADF; -+ close(fd); -+ return LXC_MAINLOOP_CONTINUE; /* isulad: do not close mainloop when peer close*/ -+ } else if (lxc_terminal_is_fifo(fd, &terminal->fifos)) { -+ /* isulad: delete fifos when the client close */ -+ lxc_terminal_delete_fifo(fd, &terminal->fifos); -+ return LXC_MAINLOOP_CONTINUE; -+ } else if (fd == terminal->pipes[1][0] || fd == terminal->pipes[2][0]) { -+ if (fd == terminal->pipes[1][0]) { -+ if (terminal->log_fd >= 0) { -+ w_log = isulad_lxc_terminal_write_log_file(terminal, "stdout", NULL, 0); -+ } -+ terminal->pipes[1][0] = -EBADF; -+ } else if (fd == terminal->pipes[2][0]) { -+ if (terminal->log_fd >= 0) { -+ w_log = isulad_lxc_terminal_write_log_file(terminal, "stderr", NULL, 0); -+ } -+ terminal->pipes[2][0] = -EBADF; -+ } -+ /* notes: do not close the ptmx fd due to if we close the fd, the process may -+ * recive SIGHUP and the exit code will be 141 (128 + 13) -+ */ -+ return LXC_MAINLOOP_CONTINUE; -+ } else if (fd == terminal->pipes[0][1]) { -+ TRACE("closed stdin pipe of container stdin"); -+ terminal->pipes[0][1] = -EBADF; -+ return LXC_MAINLOOP_CONTINUE; -+ } else { -+ WARN("Handler received unexpected file descriptor"); -+ } -+ close(fd); -+ return LXC_MAINLOOP_CLOSE; -+ } -+ -+ if (fd == terminal->peer || lxc_terminal_is_fifo(fd, &terminal->fifos)) { -+ if (terminal->ptmx > 0) -+ w = lxc_write_nointr(terminal->ptmx, buf, r); -+ if (terminal->pipes[0][1] > 0) -+ w = lxc_write_nointr(terminal->pipes[0][1], buf, r); -+ } -+ -+ w_rbuf = w_log = 0; -+ if (fd == terminal->ptmx || fd == terminal->pipes[1][0] || fd == terminal->pipes[2][0]) { -+ /* write to peer first */ -+ if (terminal->peer >= 0) -+ w = lxc_write_nointr(terminal->peer, buf, r); -+ -+ /* isulad: forward data to fifos */ -+ lxc_forward_data_to_fifo(&terminal->fifos, fd == terminal->pipes[2][0], buf, r); -+ -+ /* write to terminal ringbuffer */ -+ if (terminal->buffer_size > 0) -+ w_rbuf = lxc_ringbuf_write(&terminal->ringbuf, buf, r); -+ -+ /* write to terminal log */ -+ if (terminal->log_fd >= 0) { -+ if (fd == terminal->ptmx || fd == terminal->pipes[1][0]) -+ w_log = isulad_lxc_terminal_write_log_file(terminal, "stdout", buf, r); -+ else if (fd == terminal->pipes[2][0]) -+ w_log = isulad_lxc_terminal_write_log_file(terminal, "stderr", buf, r); -+ } -+ } -+ -+ if (w != r) -+ WARN("Short write on terminal r:%d != w:%d", r, w); -+ -+ if (w_rbuf < 0) { -+ errno = -w_rbuf; -+ SYSTRACE("Failed to write %d bytes to terminal ringbuffer", r); -+ } -+ -+ if (w_log < 0) -+ TRACE("Failed to write %d bytes to terminal log", r); - -+ return LXC_MAINLOOP_CONTINUE; -+} -+#else - int lxc_terminal_io_cb(int fd, uint32_t events, void *data, - struct lxc_epoll_descr *descr) - { -@@ -374,6 +909,7 @@ int lxc_terminal_io_cb(int fd, uint32_t events, void *data, - - return LXC_MAINLOOP_CONTINUE; - } -+#endif - - static int lxc_terminal_mainloop_add_peer(struct lxc_terminal *terminal) - { -@@ -401,6 +937,110 @@ static int lxc_terminal_mainloop_add_peer(struct lxc_terminal *terminal) - return 0; - } - -+#ifdef HAVE_ISULAD -+/* isulad add pipes to mainloop */ -+static int lxc_terminal_mainloop_add_pipes(struct lxc_terminal *terminal) -+{ -+ int ret = 0; -+ -+ // parent read data from fifo, and send to stdin of container -+ if (terminal->pipes[0][1] > 0) { -+ ret = lxc_mainloop_add_handler(terminal->descr, terminal->pipes[0][1], -+ lxc_terminal_io_cb, terminal); -+ if (ret) { -+ ERROR("pipe fd %d not added to mainloop", terminal->pipes[0][1]); -+ return -1; -+ } -+ } -+ // parent read data from stdout of container, and send to fifo -+ if (terminal->pipes[1][0] > 0) { -+ ret = lxc_mainloop_add_handler(terminal->descr, terminal->pipes[1][0], -+ lxc_terminal_io_cb, terminal); -+ if (ret) { -+ ERROR("pipe fd %d not added to mainloop", terminal->pipes[1][0]); -+ return -1; -+ } -+ } -+ // parent read data from stderr of container, and send to fifo -+ if (terminal->pipes[2][0] > 0) { -+ ret = lxc_mainloop_add_handler(terminal->descr, terminal->pipes[2][0], -+ lxc_terminal_io_cb, terminal); -+ if (ret) { -+ ERROR("pipe fd %d not added to mainloop", terminal->pipes[2][0]); -+ return -1; -+ } -+ } -+ return ret; -+} -+ -+/* isulad add fifo to mainloop */ -+static int lxc_terminal_mainloop_add_fifo(struct lxc_terminal *terminal) -+{ -+ int ret = 0; -+ struct lxc_list *it = NULL; -+ struct lxc_list *next = NULL; -+ struct lxc_fifos_fd *elem = NULL; -+ -+ lxc_list_for_each_safe(it, &terminal->fifos, next) { -+ elem = it->elem; -+ if (elem->in_fd >= 0) { -+ ret = lxc_mainloop_add_handler(terminal->descr, elem->in_fd, -+ lxc_terminal_io_cb, terminal); -+ if (ret) { -+ ERROR("console fifo %s not added to mainloop", elem->in_fifo); -+ return -1; -+ } -+ } -+ } -+ return ret; -+} -+ -+int lxc_terminal_mainloop_add(struct lxc_epoll_descr *descr, -+ struct lxc_terminal *terminal) -+{ -+ int ret; -+ -+ /* We cache the descr so that we can add an fd to it when someone -+ * does attach to it in lxc_terminal_allocate(). -+ */ -+ terminal->descr = descr; -+ -+ ret = lxc_terminal_mainloop_add_peer(terminal); -+ if (ret < 0) { -+ ERROR("Failed to add handler for terminal peer to mainloop"); -+ return -1; -+ } -+ -+ /* isulad add pipes to mainloop */ -+ ret = lxc_terminal_mainloop_add_pipes(terminal); -+ if (ret < 0) { -+ ERROR("Failed to add handler for terminal fifos to mainloop"); -+ return -1; -+ } -+ -+ /* isulad add fifo to mainloop */ -+ ret = lxc_terminal_mainloop_add_fifo(terminal); -+ if (ret < 0) { -+ ERROR("Failed to add handler for terminal fifos to mainloop"); -+ return -1; -+ } -+ -+ if (terminal->ptmx < 0) { -+ INFO("Terminal is not initialized"); -+ return 0; -+ } -+ -+ ret = lxc_mainloop_add_handler(descr, terminal->ptmx, -+ lxc_terminal_io_cb, terminal); -+ if (ret < 0) { -+ ERROR("Failed to add handler for terminal ptmx fd %d to " -+ "mainloop", terminal->ptmx); -+ return -1; -+ } -+ -+ return 0; -+} -+#else - int lxc_terminal_mainloop_add(struct lxc_epoll_descr *descr, - struct lxc_terminal *terminal) - { -@@ -426,6 +1066,7 @@ int lxc_terminal_mainloop_add(struct lxc_epoll_descr *descr, - - return lxc_terminal_mainloop_add_peer(terminal); - } -+#endif - - int lxc_setup_tios(int fd, struct termios *oldtios) - { -@@ -639,14 +1280,39 @@ void lxc_terminal_free(struct lxc_conf *conf, int fd) - - static int lxc_terminal_peer_default(struct lxc_terminal *terminal) - { -+#ifdef HAVE_ISULAD -+ struct lxc_terminal_state *ts = NULL; -+ const char *path = NULL; -+#else - struct lxc_terminal_state *ts; - const char *path; -+#endif - int ret = 0; - - if (terminal->path) - path = terminal->path; -+ -+#ifdef HAVE_ISULAD -+ /* isulad: if no console was given, try current controlling terminal, there -+ * won't be one if we were started as a daemon (-d) -+ */ -+ if (!path && !access("/dev/tty", F_OK)) { -+ int fd; -+ fd = open("/dev/tty", O_RDWR); -+ if (fd >= 0) { -+ close(fd); -+ path = "/dev/tty"; -+ } -+ } -+ -+ if (!path) { -+ DEBUG("Not have a controlling terminal"); -+ return 0; -+ } -+#else - else - path = "/dev/tty"; -+#endif - - terminal->peer = lxc_unpriv(open(path, O_RDWR | O_CLOEXEC)); - if (terminal->peer < 0) { -@@ -760,6 +1426,35 @@ void lxc_terminal_delete(struct lxc_terminal *terminal) - if (terminal->log_fd >= 0) - close(terminal->log_fd); - terminal->log_fd = -1; -+ -+#ifdef HAVE_ISULAD -+ if (is_syslog(terminal->log_driver)) { -+ closelog(); -+ free(terminal->log_driver); -+ } -+ /* isulad: close all pipes */ -+ if (terminal->pipes[0][0] >= 0) -+ close(terminal->pipes[0][0]); -+ terminal->pipes[0][0] = -1; -+ if (terminal->pipes[0][1] >= 0) -+ close(terminal->pipes[0][1]); -+ terminal->pipes[0][1] = -1; -+ if (terminal->pipes[1][0] >= 0) -+ close(terminal->pipes[1][0]); -+ terminal->pipes[1][0] = -1; -+ if (terminal->pipes[1][1] >= 0) -+ close(terminal->pipes[1][1]); -+ terminal->pipes[1][1] = -1; -+ if (terminal->pipes[2][0] >= 0) -+ close(terminal->pipes[2][0]); -+ terminal->pipes[2][0] = -1; -+ if (terminal->pipes[2][1] >= 0) -+ close(terminal->pipes[2][1]); -+ terminal->pipes[2][1] = -1; -+ -+ /* isulad: delete all fifos */ -+ lxc_terminal_delete_fifo(-1, &terminal->fifos); -+#endif - } - - /** -@@ -828,6 +1523,251 @@ int lxc_terminal_create_log_file(struct lxc_terminal *terminal) - return 0; - } - -+#ifdef HAVE_ISULAD -+/* isulad: fd_nonblock */ -+static int fd_nonblock(int fd) -+{ -+ int flags; -+ -+ flags = fcntl(fd, F_GETFL); -+ -+ return fcntl(fd, F_SETFL, (int)((unsigned int)flags | O_NONBLOCK)); -+} -+ -+static int terminal_fifo_open(const char *fifo_path, int flags) -+{ -+ int fd = -1; -+ -+ fd = lxc_open(fifo_path, flags, 0); -+ if (fd < 0) { -+ WARN("Failed to open fifo %s to send message: %s.", fifo_path, -+ strerror(errno)); -+ return -1; -+ } -+ -+ return fd; -+} -+ -+bool fifo_exists(const char *path) -+{ -+ struct stat sb; -+ int ret; -+ -+ ret = stat(path, &sb); -+ if (ret < 0) -+ // could be something other than eexist, just say no -+ return false; -+ return S_ISFIFO(sb.st_mode); -+} -+ -+/* isulad: set terminal fifos */ -+static int lxc_terminal_set_fifo(struct lxc_terminal *console, const char *in, const char *out, const char *err, int *input_fd) -+{ -+ int fifofd_in = -1, fifofd_out = -1, fifofd_err = -1; -+ struct lxc_fifos_fd *fifo_elem = NULL; -+ -+ if ((in && !fifo_exists(in)) || (out && !fifo_exists(out)) || (err && !fifo_exists(err))) { -+ ERROR("File %s or %s or %s does not refer to a FIFO", in, out, err); -+ return -1; -+ } -+ -+ if (in) { -+ fifofd_in = terminal_fifo_open(in, O_RDONLY | O_NONBLOCK | O_CLOEXEC); -+ if (fifofd_in < 0) { -+ SYSERROR("Failed to open FIFO: %s", in); -+ return -1; -+ } -+ } -+ -+ if (out) { -+ fifofd_out = terminal_fifo_open(out, O_WRONLY | O_NONBLOCK | O_CLOEXEC); -+ if (fifofd_out < 0) { -+ SYSERROR("Failed to open FIFO: %s", out); -+ if (fifofd_in >= 0) -+ close(fifofd_in); -+ return -1; -+ } -+ } -+ -+ if (err) { -+ fifofd_err = terminal_fifo_open(err, O_WRONLY | O_NONBLOCK | O_CLOEXEC); -+ if (fifofd_err < 0) { -+ SYSERROR("Failed to open FIFO: %s", err); -+ if (fifofd_in >= 0) -+ close(fifofd_in); -+ if (fifofd_out >= 0) -+ close(fifofd_out); -+ return -1; -+ } -+ } -+ -+ fifo_elem = malloc(sizeof(*fifo_elem)); -+ if (fifo_elem == NULL) { -+ if (fifofd_in >= 0) -+ close(fifofd_in); -+ if (fifofd_out >= 0) -+ close(fifofd_out); -+ if (fifofd_err >= 0) -+ close(fifofd_err); -+ return -1; -+ } -+ memset(fifo_elem, 0, sizeof(*fifo_elem)); -+ -+ fifo_elem->in_fifo = safe_strdup(in ? in : ""); -+ fifo_elem->out_fifo = safe_strdup(out ? out : ""); -+ fifo_elem->err_fifo = safe_strdup(err ? err : ""); -+ fifo_elem->in_fd = fifofd_in; -+ fifo_elem->out_fd = fifofd_out; -+ fifo_elem->err_fd = fifofd_err; -+ lxc_list_add_elem(&fifo_elem->node, fifo_elem); -+ lxc_list_add_tail(&console->fifos, &fifo_elem->node); -+ -+ if (input_fd) -+ *input_fd = fifofd_in; -+ -+ return 0; -+} -+ -+/* isulad: add default fifos */ -+static int lxc_terminal_fifo_default(struct lxc_terminal *terminal) -+{ -+ if (terminal->init_fifo[0] || terminal->init_fifo[1] || terminal->init_fifo[2]) -+ return lxc_terminal_set_fifo(terminal, terminal->init_fifo[0], terminal->init_fifo[1], terminal->init_fifo[2], NULL); -+ return 0; -+} -+ -+int lxc_terminal_create(struct lxc_terminal *terminal) -+{ -+ int ret; -+ -+ if (!terminal->disable_pty) { -+ ret = openpty(&terminal->ptmx, &terminal->pts, NULL, NULL, NULL); -+ if (ret < 0) { -+ SYSERROR("Failed to open terminal"); -+ return -1; -+ } -+ -+ ret = ttyname_r(terminal->pts, terminal->name, sizeof(terminal->name)); -+ if (ret < 0) { -+ SYSERROR("Failed to retrieve name of terminal pts"); -+ goto err; -+ } -+ -+ ret = fd_cloexec(terminal->ptmx, true); -+ if (ret < 0) { -+ SYSERROR("Failed to set FD_CLOEXEC flag on terminal ptmx"); -+ goto err; -+ } -+ -+ /* isulad: make ptmx NONBLOCK */ -+ ret = fd_nonblock(terminal->ptmx); -+ if (ret < 0) { -+ SYSERROR("Failed to set O_NONBLOCK flag on terminal ptmx"); -+ goto err; -+ } -+ -+ ret = fd_cloexec(terminal->pts, true); -+ if (ret < 0) { -+ SYSERROR("Failed to set FD_CLOEXEC flag on terminal pts"); -+ goto err; -+ } -+ -+ ret = lxc_terminal_peer_default(terminal); -+ if (ret < 0) { -+ ERROR("Failed to allocate proxy terminal"); -+ goto err; -+ } -+ } else { -+ /* isulad: create 3 pipes */ -+ /* for stdin */ -+ if (pipe2(terminal->pipes[0], O_CLOEXEC)) { -+ ERROR("Failed to create stdin pipe"); -+ goto err; -+ } -+ -+ /* for stdout */ -+ if (pipe2(terminal->pipes[1], O_CLOEXEC)) { -+ ERROR("Failed to create stdout pipe"); -+ goto err; -+ } -+ /* for stderr */ -+ if (pipe2(terminal->pipes[2], O_CLOEXEC)) { -+ ERROR("Failed to create stderr pipe"); -+ goto err; -+ } -+ } -+ -+ /* isulad: open fifos */ -+ ret = lxc_terminal_fifo_default(terminal); -+ if (ret < 0) { -+ ERROR("Failed to allocate fifo terminal"); -+ goto err; -+ } -+ -+ return 0; -+ -+err: -+ lxc_terminal_delete(terminal); -+ return -ENODEV; -+} -+ -+/* isulad: add fifos dynamic*/ -+int lxc_terminal_add_fifos(struct lxc_conf *conf, const char *fifonames) -+{ -+ int ret = 0; -+ struct lxc_terminal *terminal = &conf->console; -+ int fifofd_in = -1; -+ char *tmp = NULL, *saveptr = NULL, *in = NULL, *out = NULL, *err = NULL; -+ const char *none_fifo_name = "none"; -+ -+ tmp = safe_strdup(fifonames); -+ -+ in = strtok_r(tmp, "&&&&", &saveptr); -+ if (!in) { -+ ret = -1; -+ goto free_out; -+ } -+ if (strcmp(in, none_fifo_name) == 0) -+ in = NULL; -+ -+ out = strtok_r(NULL, "&&&&", &saveptr); -+ if (!out) { -+ ret = -1; -+ goto free_out; -+ } -+ if (strcmp(out, none_fifo_name) == 0) -+ out = NULL; -+ -+ err = strtok_r(NULL, "&&&&", &saveptr); -+ if (!err) { -+ ret = -1; -+ goto free_out; -+ } -+ if (strcmp(err, none_fifo_name) == 0) -+ err = NULL; -+ -+ ret = lxc_terminal_set_fifo(terminal, in, out, err, &fifofd_in); -+ if (ret < 0) { -+ ERROR("Faild to set fifos to console config"); -+ ret = -1; -+ goto free_out; -+ } -+ -+ if (lxc_mainloop_add_handler(terminal->descr, fifofd_in, -+ lxc_terminal_io_cb, terminal)) { -+ ERROR("console fifo not added to mainloop"); -+ lxc_terminal_delete_fifo(fifofd_in, &terminal->fifos); -+ ret = -1; -+ goto free_out; -+ } -+ -+free_out: -+ if (tmp) -+ free(tmp); -+ return ret; -+} -+ -+#else - int lxc_terminal_create(struct lxc_terminal *terminal) - { - int ret; -@@ -868,6 +1808,7 @@ err: - lxc_terminal_delete(terminal); - return -ENODEV; - } -+#endif - - int lxc_terminal_setup(struct lxc_conf *conf) - { -@@ -883,6 +1824,18 @@ int lxc_terminal_setup(struct lxc_conf *conf) - if (ret < 0) - return -1; - -+#ifdef HAVE_ISULAD -+ if (is_syslog(terminal->log_driver)) { -+ if (terminal->log_syslog_tag == NULL) { -+ terminal->log_syslog_tag = malloc(16 * sizeof(char)); -+ (void)strlcpy(terminal->log_syslog_tag, conf->name, 16); -+ } -+ if (terminal->log_syslog_facility <= 0) { -+ terminal->log_syslog_facility = LOG_DAEMON; -+ } -+ openlog(terminal->log_syslog_tag, LOG_PID, terminal->log_syslog_facility); -+ } -+#endif - ret = lxc_terminal_create_log_file(terminal); - if (ret < 0) - goto err; -@@ -1120,9 +2073,15 @@ int lxc_terminal_prepare_login(int fd) - if (ret < 0) - return -1; - -+#ifdef HAVE_ISULAD -+ ret = set_stdfds(fd); -+ if (ret < 0) -+ return -1; -+#else - ret = lxc_terminal_set_stdfds(fd); - if (ret < 0) - return -1; -+#endif - - if (fd > STDERR_FILENO) - close(fd); -@@ -1146,6 +2105,18 @@ void lxc_terminal_init(struct lxc_terminal *terminal) - terminal->peer = -EBADF; - terminal->log_fd = -EBADF; - lxc_terminal_info_init(&terminal->proxy); -+#ifdef HAVE_ISULAD -+ terminal->init_fifo[0] = NULL; -+ terminal->init_fifo[1] = NULL; -+ terminal->init_fifo[2] = NULL; -+ terminal->pipes[0][0] = -1; -+ terminal->pipes[0][1] = -1; -+ terminal->pipes[1][0] = -1; -+ terminal->pipes[1][1] = -1; -+ terminal->pipes[2][0] = -1; -+ terminal->pipes[2][1] = -1; -+ lxc_list_init(&terminal->fifos); -+#endif - } - - void lxc_terminal_conf_free(struct lxc_terminal *terminal) -@@ -1155,6 +2126,15 @@ void lxc_terminal_conf_free(struct lxc_terminal *terminal) - if (terminal->buffer_size > 0 && terminal->ringbuf.addr) - lxc_ringbuf_release(&terminal->ringbuf); - lxc_terminal_signal_fini(terminal); -+#ifdef HAVE_ISULAD -+ /*isulad: free console fifos */ -+ free(terminal->init_fifo[0]); -+ free(terminal->init_fifo[1]); -+ free(terminal->init_fifo[2]); -+ lxc_terminal_delete_fifo(-1, &terminal->fifos); -+ free(terminal->log_driver); -+ free(terminal->log_syslog_tag); -+#endif - } - - int lxc_terminal_map_ids(struct lxc_conf *c, struct lxc_terminal *terminal) -@@ -1167,6 +2147,15 @@ int lxc_terminal_map_ids(struct lxc_conf *c, struct lxc_terminal *terminal) - if (strcmp(terminal->name, "") == 0) - return 0; - -+#ifdef HAVE_ISULAD -+ ret = chown_mapped_root(terminal->name, c); -+ if (ret < 0) { -+ ERROR("Failed to chown terminal \"%s\"", terminal->name); -+ return -1; -+ } -+ -+ TRACE("Chowned terminal \"%s\"", terminal->name); -+#else - ret = userns_exec_mapped_root(terminal->name, terminal->pts, c); - if (ret < 0) { - return log_error(-1, "Failed to chown terminal %d(%s)", -@@ -1174,6 +2163,7 @@ int lxc_terminal_map_ids(struct lxc_conf *c, struct lxc_terminal *terminal) - } - - TRACE("Chowned terminal %d(%s)", terminal->pts, terminal->name); -+#endif - - return 0; - } -diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am -index 11bba26..03bf439 100644 ---- a/src/tests/Makefile.am -+++ b/src/tests/Makefile.am -@@ -58,6 +58,10 @@ AM_CFLAGS=-DLXCROOTFSMOUNT=\"$(LXCROOTFSMOUNT)\" \ - -I $(top_srcdir)/src/lxc/tools \ - -pthread - -+if HAVE_ISULAD -+AM_CFLAGS += -I $(top_srcdir)/src/lxc/json -+endif -+ - if ENABLE_APPARMOR - AM_CFLAGS += -DHAVE_APPARMOR - endif -diff --git a/src/tests/attach.c b/src/tests/attach.c -index 07e641d..f36caac 100644 ---- a/src/tests/attach.c -+++ b/src/tests/attach.c -@@ -29,6 +29,9 @@ - #include "lxctest.h" - #include "utils.h" - #include "lsm/lsm.h" -+#ifdef HAVE_ISULAD -+#include "config.h" -+#endif - - #include - -@@ -76,7 +79,11 @@ static void test_attach_lsm_set_config(struct lxc_container *ct) - ct->save_config(ct, NULL); - } - -+#ifdef HAVE_ISULAD -+static int test_attach_lsm_func_func(void* payload, int fd) -+#else - static int test_attach_lsm_func_func(void* payload) -+#endif - { - TSTOUT("%s", lsm_process_label_get(syscall(SYS_getpid))); - return 0; -@@ -187,7 +194,11 @@ static int test_attach_lsm_func(struct lxc_container *ct) { return 0; } - static int test_attach_lsm_cmd(struct lxc_container *ct) { return 0; } - #endif /* HAVE_APPARMOR || HAVE_SELINUX */ - -+#ifdef HAVE_ISULAD -+static int test_attach_func_func(void* payload, int fd) -+#else - static int test_attach_func_func(void* payload) -+#endif - { - TSTOUT("%d", (int)syscall(SYS_getpid)); - return 0; --- -2.25.1 - diff --git a/0009-fix-HOME-env-of-container-unset-error.patch b/0009-fix-HOME-env-of-container-unset-error.patch deleted file mode 100644 index 799a7e7..0000000 --- a/0009-fix-HOME-env-of-container-unset-error.patch +++ /dev/null @@ -1,316 +0,0 @@ -From 043b2483585a2d8168e0fde8b37054733a31f263 Mon Sep 17 00:00:00 2001 -From: haozi007 -Date: Mon, 25 Jul 2022 15:36:23 +0800 -Subject: [PATCH] fix HOME env of container unset error - -Signed-off-by: haozi007 ---- - src/lxc/isulad_utils.c | 210 ++++++++++++++++++++++++++++++++++++++++- - src/lxc/isulad_utils.h | 3 + - src/lxc/start.c | 14 +-- - 3 files changed, 216 insertions(+), 11 deletions(-) - -diff --git a/src/lxc/isulad_utils.c b/src/lxc/isulad_utils.c -index 15d9323..cd7fca8 100644 ---- a/src/lxc/isulad_utils.c -+++ b/src/lxc/isulad_utils.c -@@ -6,6 +6,10 @@ - * Create: 2020-04-11 - ******************************************************************************/ - -+#ifndef _GNU_SOURCE -+#define _GNU_SOURCE 1 -+#endif -+ - #include - #include - #include -@@ -13,6 +17,10 @@ - #include - #include - #include -+#include -+#include -+#include -+#include - - #include "isulad_utils.h" - #include "log.h" -@@ -244,20 +252,34 @@ out: - // isulad: set env home in container - int lxc_setup_env_home(uid_t uid) - { -+#define __PASSWD_FILE__ "/etc/passwd" - char *homedir = "/"; // default home dir is / -+ FILE *stream = NULL; - struct passwd pw, *pwbufp = NULL; - char buf[BUFSIZ]; -- int ret; - -- ret = getpwuid_r(uid, &pw, buf, sizeof(buf), &pwbufp); -- if ((ret == 0) && (pwbufp != NULL) && (pwbufp->pw_uid == uid)) { -- homedir = pwbufp->pw_dir; -+ stream = fopen_cloexec(__PASSWD_FILE__, "r"); -+ if (stream == NULL) { -+ SYSWARN("Failed to open %s", __PASSWD_FILE__); - goto set_env; - } - -+#if IS_BIONIC -+ while (util_getpwent_r(stream, &pw, buf, sizeof(buf), &pwbufp) == 0 && pwbufp != NULL) { -+#else -+ while (fgetpwent_r(stream, &pw, buf, sizeof(buf), &pwbufp) == 0 && pwbufp != NULL) { -+#endif -+ if (pwbufp->pw_uid == uid) { -+ homedir = pwbufp->pw_dir; -+ goto set_env; -+ } -+ } - WARN("User invalid, can not find user '%u'", uid); - - set_env: -+ if (stream) -+ fclose(stream); -+ - // if we didn't configure HOME, set it based on uid - if (setenv("HOME", homedir, 0) < 0) { - SYSERROR("Unable to set env 'HOME'"); -@@ -317,3 +339,183 @@ bool is_non_negative_num(const char *s) - } - return true; - } -+ -+static int hold_int(const char delim, bool required, char **src, unsigned int *dst) -+{ -+ unsigned long long int res = 0; -+ char *err_str = NULL; -+ -+ // ensure *src not a empty string -+ if (**src == '\0') { -+ ERROR("Empty subject on given entrie is not allowed."); -+ return -1; -+ } -+ -+ errno = 0; -+ // covert string to long long -+ res = strtoull(*src, &err_str, 0); -+ if (errno != 0 && errno != ERANGE) { -+ ERROR("Parse int from string failed."); -+ return -1; -+ } -+ -+ // **src is not a digit -+ if (err_str == *src) { -+ if (!required) { -+ ERROR("Integer part is missing."); -+ return -1; -+ } -+ // if required, just set 0 -+ *dst = 0; -+ } else { -+ if (sizeof(void *) > 4 && res > UINT_MAX) { // make sure 64-bit platform behave same as 32-bit -+ res = UINT_MAX; -+ } -+ res = res & UINT_MAX; -+ *dst = (uint32_t)res; -+ } -+ -+ // normal case -+ if (*err_str == delim) { -+ err_str++; -+ } else if (*err_str != '\0') { -+ ERROR("Invalid digit string."); -+ return -1; -+ } -+ -+ *src = err_str; // update src to next valid context in line. -+ return 0; -+} -+ -+static void hold_string(const char delim, char **src, char **dst) -+{ -+ for (*dst = *src; **src != delim; ++(*src)) { -+ if (**src == '\0') { -+ break; -+ } -+ } -+ -+ if (**src == delim) { -+ **src = '\0'; -+ ++(*src); -+ } -+} -+ -+static int parse_line_pw(const char delim, char *line, struct passwd *result) -+{ -+ int ret = 0; -+ bool required = false; -+ char *walker = NULL; -+ -+ walker = strpbrk(line, "\n"); -+ if (walker != NULL) { -+ // clear newline char -+ *walker = '\0'; -+ } -+ -+ hold_string(delim, &line, &result->pw_name); -+ -+ required = (result->pw_name[0] == '+' || result->pw_name[0] == '-') ? true : false; -+ -+ hold_string(delim, &line, &result->pw_passwd); -+ -+ ret = hold_int(delim, required, &line, &result->pw_uid); -+ if (ret != 0) { -+ // a legitimate line must have uid -+ ERROR("Parse uid error."); -+ return ret; -+ } -+ -+ ret = hold_int(delim, required, &line, &result->pw_gid); -+ if (ret != 0) { -+ // it's ok to not provide gid -+ ERROR("Parse gid error."); -+ return ret; -+ } -+ -+ hold_string(delim, &line, &result->pw_gecos); -+ -+ hold_string(delim, &line, &result->pw_dir); -+ -+ result->pw_shell = line; -+ return 0; -+} -+ -+char *util_left_trim_space(char *str) -+{ -+ char *begin = str; -+ char *tmp = str; -+ while (isspace(*begin)) { -+ begin++; -+ } -+ while ((*tmp++ = *begin++)) { -+ } -+ return str; -+} -+ -+int util_getpwent_r(FILE *stream, struct passwd *resbuf, char *buffer, size_t buflen, struct passwd **result) -+{ -+ const char delim = ':'; -+ char *buff_end = NULL; -+ char *walker = NULL; -+ bool got = false; -+ int ret = 0; -+ -+ if (stream == NULL || resbuf == NULL || buffer == NULL || result == NULL) { -+ ERROR("Password obj, params is NULL."); -+ return -1; -+ } -+ -+ if (buflen <= 1) { -+ ERROR("Inadequate buffer length was given."); -+ return -1; -+ } -+ -+ buff_end = buffer + buflen - 1; -+ flockfile(stream); -+ -+ while (1) { -+ *buff_end = '\xff'; -+ walker = fgets_unlocked(buffer, buflen, stream); -+ // if get NULL string -+ if (walker == NULL) { -+ *result = NULL; -+ // reach end of file, return error -+ if (feof(stream)) { -+ ret = ENOENT; -+ goto out; -+ } -+ // overflow buffer -+ ret = ERANGE; -+ goto out; -+ } -+ // just overflow last char in buffer -+ if (*buff_end != '\xff') { -+ *result = NULL; -+ ret = ERANGE; -+ goto out; -+ } -+ -+ (void)util_left_trim_space(buffer); -+ // skip comment line and empty line -+ if (walker[0] == '#' || walker[0] == '\0') { -+ continue; -+ } -+ -+ if (parse_line_pw(delim, walker, resbuf) == 0) { -+ got = true; -+ break; -+ } -+ } -+ if (!got) { -+ *result = NULL; -+ ret = ERANGE; -+ goto out; -+ } -+ -+ *result = resbuf; -+ ret = 0; -+out: -+ funlockfile(stream); -+ return ret; -+} -\ No newline at end of file -diff --git a/src/lxc/isulad_utils.h b/src/lxc/isulad_utils.h -index 345f511..7a5eb89 100644 ---- a/src/lxc/isulad_utils.h -+++ b/src/lxc/isulad_utils.h -@@ -10,6 +10,7 @@ - - #include - #include -+#include - - /* isulad: replace space with SPACE_MAGIC_STR */ - #define SPACE_MAGIC_STR "[#)" -@@ -96,4 +97,6 @@ extern bool lxc_process_alive(pid_t pid, unsigned long long start_time); - - extern bool is_non_negative_num(const char *s); - -+int util_getpwent_r(FILE *stream, struct passwd *resbuf, char *buffer, size_t buflen, struct passwd **result); -+ - #endif -diff --git a/src/lxc/start.c b/src/lxc/start.c -index f82df34..6fe1203 100644 ---- a/src/lxc/start.c -+++ b/src/lxc/start.c -@@ -1727,6 +1727,13 @@ static int do_start(void *data) - new_uid = handler->conf->init_uid; - new_gid = handler->conf->init_gid; - -+#ifdef HAVE_ISULAD -+ // isulad: set env home in container, must before "Avoid unnecessary syscalls." -+ if (lxc_setup_env_home(new_uid) < 0) { -+ goto out_warn_father; -+ } -+#endif -+ - /* Avoid unnecessary syscalls. */ - if (new_uid == nsuid) - new_uid = LXC_INVALID_UID; -@@ -1734,13 +1741,6 @@ static int do_start(void *data) - if (new_gid == nsgid) - new_gid = LXC_INVALID_GID; - --#ifdef HAVE_ISULAD -- // isulad: set env home in container -- if (lxc_setup_env_home(new_uid) < 0) { -- goto out_warn_father; -- } --#endif -- - /* Make sure that the processes STDIO is correctly owned by the user that we are switching to */ - ret = fix_stdio_permissions(new_uid); - if (ret) --- -2.25.1 - diff --git a/0010-check-yajl-only-when-have-isulad.patch b/0010-check-yajl-only-when-have-isulad.patch deleted file mode 100644 index e4ea3c1..0000000 --- a/0010-check-yajl-only-when-have-isulad.patch +++ /dev/null @@ -1,70 +0,0 @@ -From d4cb8f6a8f46a3f5d72f22d7f79df83ad82215e0 Mon Sep 17 00:00:00 2001 -From: zhangxiaoyu -Date: Mon, 25 Jul 2022 16:42:03 +0800 -Subject: [PATCH] check yajl only when have isulad - -Signed-off-by: zhangxiaoyu ---- - configure.ac | 6 +++--- - src/lxc/Makefile.am | 7 +++++-- - src/lxc/af_unix.c | 2 +- - 3 files changed, 9 insertions(+), 6 deletions(-) - -diff --git a/configure.ac b/configure.ac -index ce8854e..2180586 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -120,9 +120,6 @@ AM_CONDITIONAL([DISTRO_UBUNTU], [test "x$with_distro" = "xubuntu"]) - - AC_CONFIG_LINKS([config/etc/default.conf:config/etc/${distroconf}]) - --# Check yajl --PKG_CHECK_MODULES([YAJL], [yajl >= 2],[],[AC_MSG_ERROR([You must install yajl >= 2])]) -- - # Check for init system type - AC_MSG_CHECKING([for init system type]) - AC_ARG_WITH([init-script], -@@ -839,6 +836,9 @@ AM_CONDITIONAL([HAVE_ISULAD], [test "x$adapt_isulad" = "xyes"]) - if test "x$adapt_isulad" = "xyes"; then - AC_DEFINE([HAVE_ISULAD], 1, [adapt to iSulad]) - AC_MSG_RESULT([yes]) -+ -+ # Check yajl -+ PKG_CHECK_MODULES([YAJL], [yajl >= 2],[],[AC_MSG_ERROR([You must install yajl >= 2])]) - else - AC_MSG_RESULT([no]) - fi -diff --git a/src/lxc/Makefile.am b/src/lxc/Makefile.am -index b9a8750..61a229f 100644 ---- a/src/lxc/Makefile.am -+++ b/src/lxc/Makefile.am -@@ -360,8 +360,11 @@ LDADD = liblxc.la \ - @OPENSSL_LIBS@ \ - @SECCOMP_LIBS@ \ - @SELINUX_LIBS@ \ -- @DLOG_LIBS@ \ -- @YAJL_LIBS@ -+ @DLOG_LIBS@ -+ -+if HAVE_ISULAD -+ LDADD += @YAJL_LIBS@ -+endif - - if ENABLE_TOOLS - lxc_attach_SOURCES = tools/lxc_attach.c \ -diff --git a/src/lxc/af_unix.c b/src/lxc/af_unix.c -index cb4233e..0be9368 100644 ---- a/src/lxc/af_unix.c -+++ b/src/lxc/af_unix.c -@@ -382,7 +382,7 @@ int lxc_unix_connect_type(struct sockaddr_un *addr, int type) - offsetof(struct sockaddr_un, sun_path) + len); - if (ret < 0) - #ifdef HAVE_ISULAD -- return log_error_errno(-1, errno, -+ return log_warn_errno(-1, errno, - "Failed to connect new AF_UNIX socket"); - #else - return log_error_errno(-1, errno, --- -2.25.1 - diff --git a/0011-drop-security_context_t.patch b/0011-drop-security_context_t.patch deleted file mode 100644 index b935b8b..0000000 --- a/0011-drop-security_context_t.patch +++ /dev/null @@ -1,29 +0,0 @@ -From bcc3084c9230486c3a7d40cff633d581f6a1a990 Mon Sep 17 00:00:00 2001 -From: zhangxiaoyu -Date: Tue, 26 Jul 2022 14:27:11 +0800 -Subject: [PATCH] drop security_context_t - -Signed-off-by: zhangxiaoyu ---- - src/lxc/lsm/selinux.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/lxc/lsm/selinux.c b/src/lxc/lsm/selinux.c -index bd4f449..c24d238 100644 ---- a/src/lxc/lsm/selinux.c -+++ b/src/lxc/lsm/selinux.c -@@ -36,7 +36,11 @@ lxc_log_define(selinux, lsm); - */ - static char *selinux_process_label_get(pid_t pid) - { -+#ifdef HAVE_ISULAD -+ char *ctx; -+#else - security_context_t ctx; -+#endif - char *label; - - if (getpidcon_raw(pid, &ctx) < 0) { --- -2.25.1 - diff --git a/0012-only-set-user-or-image-set-non-empty-HOME.patch b/0012-only-set-user-or-image-set-non-empty-HOME.patch deleted file mode 100644 index 61686e0..0000000 --- a/0012-only-set-user-or-image-set-non-empty-HOME.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 7273c6631f692872384cce83cc04b4084ee98f73 Mon Sep 17 00:00:00 2001 -From: haozi007 -Date: Tue, 9 Aug 2022 17:30:59 +0800 -Subject: [PATCH] only set user or image set non-empty HOME - -Signed-off-by: haozi007 ---- - src/lxc/isulad_utils.c | 14 +++++++++++--- - 1 file changed, 11 insertions(+), 3 deletions(-) - -diff --git a/src/lxc/isulad_utils.c b/src/lxc/isulad_utils.c -index cd7fca8..067e1c9 100644 ---- a/src/lxc/isulad_utils.c -+++ b/src/lxc/isulad_utils.c -@@ -257,6 +257,13 @@ int lxc_setup_env_home(uid_t uid) - FILE *stream = NULL; - struct passwd pw, *pwbufp = NULL; - char buf[BUFSIZ]; -+ const char *curr_home = NULL; -+ -+ curr_home = getenv("HOME"); -+ // if user set or image set, just use it. -+ if (curr_home != NULL && strcmp(curr_home, "") != 0) { -+ return 0; -+ } - - stream = fopen_cloexec(__PASSWD_FILE__, "r"); - if (stream == NULL) { -@@ -280,8 +287,9 @@ set_env: - if (stream) - fclose(stream); - -- // if we didn't configure HOME, set it based on uid -- if (setenv("HOME", homedir, 0) < 0) { -+ // if we didn't configure HOME, set it based on uid; -+ // override it if reach here. -+ if (setenv("HOME", homedir, 1) < 0) { - SYSERROR("Unable to set env 'HOME'"); - return -1; - } -@@ -518,4 +526,4 @@ int util_getpwent_r(FILE *stream, struct passwd *resbuf, char *buffer, size_t bu - out: - funlockfile(stream); - return ret; --} -\ No newline at end of file -+} --- -2.25.1 - diff --git a/0013-return-fail-if-no-args-or-no-rootfs-path-found.patch b/0013-return-fail-if-no-args-or-no-rootfs-path-found.patch deleted file mode 100644 index 41a72e1..0000000 --- a/0013-return-fail-if-no-args-or-no-rootfs-path-found.patch +++ /dev/null @@ -1,38 +0,0 @@ -From a2aff3425a6f35bdb9f83880a1545b89606bf7c9 Mon Sep 17 00:00:00 2001 -From: WangFengTu -Date: Fri, 19 Aug 2022 14:32:22 +0800 -Subject: [PATCH] return fail if no args or no rootfs path found - -Signed-off-by: WangFengTu ---- - src/lxc/lxccontainer.c | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c -index 3f75184..4b669bb 100644 ---- a/src/lxc/lxccontainer.c -+++ b/src/lxc/lxccontainer.c -@@ -1030,6 +1030,20 @@ static bool do_lxcapi_start(struct lxc_container *c, int useinit, char * const a - argv = init_cmd = use_init_args(conf->init_argv, conf->init_argc); - } - -+ // do not allow using default rootfs path when isulad -+ if (conf->rootfs.mount == NULL) { -+ ERROR("Empty rootfs path detected"); -+ lxc_put_handler(handler); -+ return false; -+ } -+ -+ // do not allow using default args when isulad -+ if (!argv) { -+ ERROR("Empty args detected"); -+ lxc_put_handler(handler); -+ return false; -+ } -+ - if (c->image_type_oci) { - handler->image_type_oci = true; - } --- -2.25.1 - diff --git a/0014-fix-tools-using-option-give-error-message.patch b/0014-fix-tools-using-option-give-error-message.patch deleted file mode 100644 index 2c79051..0000000 --- a/0014-fix-tools-using-option-give-error-message.patch +++ /dev/null @@ -1,25 +0,0 @@ -From cce266a71a8998e17abada2a7e716298c2169208 Mon Sep 17 00:00:00 2001 -From: Neil.wrz -Date: Thu, 1 Sep 2022 05:04:56 -0700 -Subject: [PATCH] fix tools using '-?' option give error message - -Signed-off-by: Neil.wrz ---- - src/lxc/tools/arguments.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/lxc/tools/arguments.h b/src/lxc/tools/arguments.h -index c16d99f..80c2083 100644 ---- a/src/lxc/tools/arguments.h -+++ b/src/lxc/tools/arguments.h -@@ -145,6 +145,7 @@ struct lxc_arguments { - #define LXC_COMMON_OPTIONS \ - { "name", required_argument, 0, 'n' }, \ - { "help", no_argument, 0, 'h' }, \ -+ { "help", no_argument, 0, '?' }, \ - { "usage", no_argument, 0, OPT_USAGE }, \ - { "version", no_argument, 0, OPT_VERSION }, \ - { "quiet", no_argument, 0, 'q' }, \ --- -2.25.1 - diff --git a/0015-fix-do-mask-pathes-after-parent-mounted.patch b/0015-fix-do-mask-pathes-after-parent-mounted.patch deleted file mode 100644 index 9243c49..0000000 --- a/0015-fix-do-mask-pathes-after-parent-mounted.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 96a35e077d21a1abf1cc3819fb842b8089ee268d Mon Sep 17 00:00:00 2001 -From: isuladci -Date: Tue, 20 Sep 2022 01:40:18 -0700 -Subject: [PATCH] fix do mask pathes after parent mounted - -Signed-off-by: isuladci ---- - src/lxc/conf.c | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/src/lxc/conf.c b/src/lxc/conf.c -index 378cf9f..439601a 100644 ---- a/src/lxc/conf.c -+++ b/src/lxc/conf.c -@@ -3975,19 +3975,19 @@ int lxc_setup(struct lxc_handler *handler) - } - - #ifdef HAVE_ISULAD -- // isulad: setup rootfs masked paths -- if (!lxc_list_empty(&lxc_conf->rootfs.maskedpaths)) { -- if (setup_rootfs_maskedpaths(&lxc_conf->rootfs.maskedpaths)) { -- return log_error(-1, "failed to setup maskedpaths"); -- } -- } -- - // isulad: setup rootfs ro paths - if (!lxc_list_empty(&lxc_conf->rootfs.ropaths)) { - if (setup_rootfs_ropaths(&lxc_conf->rootfs.ropaths)) { - return log_error(-1, "failed to setup readonlypaths"); - } - } -+ -+ // isulad: setup rootfs masked paths -+ if (!lxc_list_empty(&lxc_conf->rootfs.maskedpaths)) { -+ if (setup_rootfs_maskedpaths(&lxc_conf->rootfs.maskedpaths)) { -+ return log_error(-1, "failed to setup maskedpaths"); -+ } -+ } - - //isulad: system container, remount /proc/sys/xxx by mount_list - if (lxc_conf->systemd != NULL && strcmp(lxc_conf->systemd, "true") == 0) { --- -2.25.1 - diff --git a/0016-skip-kill-cgroup-processes-if-no-hierarchies.patch b/0016-skip-kill-cgroup-processes-if-no-hierarchies.patch deleted file mode 100644 index 9538da7..0000000 --- a/0016-skip-kill-cgroup-processes-if-no-hierarchies.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 2aa9204b74c96413944a715408cfd5d2f3a34d66 Mon Sep 17 00:00:00 2001 -From: isuladci -Date: Thu, 22 Sep 2022 10:44:26 +0800 -Subject: [PATCH] skip kill cgroup processes if no hierarchies - -Signed-off-by: isuladci ---- - src/lxc/cgroups/isulad_cgfsng.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -diff --git a/src/lxc/cgroups/isulad_cgfsng.c b/src/lxc/cgroups/isulad_cgfsng.c -index 8a9656a..f5cf81c 100644 ---- a/src/lxc/cgroups/isulad_cgfsng.c -+++ b/src/lxc/cgroups/isulad_cgfsng.c -@@ -677,15 +677,14 @@ __cgfsng_ops static bool isulad_cgfsng_payload_destroy(struct cgroup_ops *ops, - return false; - } - --#ifdef HAVE_ISULAD - if (ops->no_controller) { -- DEBUG("no controller found, isgnore isulad_cgfsng_payload_destroy"); -+ DEBUG("no controller found, ignore isulad_cgfsng_payload_destroy"); - return true; - } --#endif - - if (!ops->hierarchies) { -- return false; -+ DEBUG("no hierarchies found, ignore isulad_cgfsng_payload_destroy"); -+ return true; - } - - if (!handler) { --- -2.25.1 - diff --git a/0017-lxc-Add-sw64-architecture.patch b/0017-lxc-Add-sw64-architecture.patch deleted file mode 100644 index b8b0696..0000000 --- a/0017-lxc-Add-sw64-architecture.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 10ce28085f6d425aae21e043a45c6ef02fdd1e44 Mon Sep 17 00:00:00 2001 -From: rpm-build -Date: Mon, 24 Oct 2022 11:03:11 +0800 -Subject: [PATCH] Add sw64 architecture - -Signed-off-by: rpm-build ---- - src/lxc/syscall_numbers.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/lxc/syscall_numbers.h b/src/lxc/syscall_numbers.h -index bfd0e57..803eab7 100644 ---- a/src/lxc/syscall_numbers.h -+++ b/src/lxc/syscall_numbers.h -@@ -377,6 +377,8 @@ - #ifndef __NR_pidfd_send_signal - #if defined __alpha__ - #define __NR_pidfd_send_signal 534 -+ #elif defined __sw_64__ -+ #define __NR_pidfd_send_signal 271 - #elif defined _MIPS_SIM - #if _MIPS_SIM == _MIPS_SIM_ABI32 /* o32 */ - #define __NR_pidfd_send_signal 4424 --- -2.33.0 - diff --git a/0018-add-macro-to-adapt-musl-libc.patch b/0018-add-macro-to-adapt-musl-libc.patch deleted file mode 100644 index 5247304..0000000 --- a/0018-add-macro-to-adapt-musl-libc.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 62f36cfa7abafa213b7a0ba26136b409d241b019 Mon Sep 17 00:00:00 2001 -From: isuladci -Date: Thu, 24 Nov 2022 17:05:44 +0800 -Subject: [PATCH] add macro to adapt musl libc - -Signed-off-by: isuladci ---- - src/lxc/json/json_common.h | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/src/lxc/json/json_common.h b/src/lxc/json/json_common.h -index 60aa5fd..67c2df8 100755 ---- a/src/lxc/json/json_common.h -+++ b/src/lxc/json/json_common.h -@@ -17,6 +17,15 @@ extern "C" { - - # undef linux - -+#ifdef __MUSL__ -+#undef stdin -+#undef stdout -+#undef stderr -+#define stdin stdin -+#define stdout stdout -+#define stderr stderr -+#endif -+ - //options to report error if there is unknown key found in json - # define PARSE_OPTIONS_STRICT 0x01 - //options to generate all key and value --- -2.25.1 - diff --git a/0019-add-lxc-attach-add-gids-option.patch b/0019-add-lxc-attach-add-gids-option.patch deleted file mode 100644 index 77f7571..0000000 --- a/0019-add-lxc-attach-add-gids-option.patch +++ /dev/null @@ -1,178 +0,0 @@ -From 90512fd67873600a490d2432e6c9429771f719be Mon Sep 17 00:00:00 2001 -From: isuladci -Date: Fri, 2 Dec 2022 18:52:39 +0800 -Subject: [PATCH] add lxc-attach add-gids option - -Signed-off-by: isuladci ---- - src/lxc/attach.c | 13 ++++++-- - src/lxc/attach_options.h | 2 ++ - src/lxc/tools/arguments.h | 3 ++ - src/lxc/tools/lxc_attach.c | 65 ++++++++++++++++++++++++++++++++++++++ - 4 files changed, 80 insertions(+), 3 deletions(-) - -diff --git a/src/lxc/attach.c b/src/lxc/attach.c -index 8a2c52a..24d020d 100644 ---- a/src/lxc/attach.c -+++ b/src/lxc/attach.c -@@ -1019,9 +1019,16 @@ static int attach_child_main(struct attach_clone_payload *payload) - goto on_error; - } - -- if (!lxc_setgroups(init_ctx->container->lxc_conf->init_groups_len, -- init_ctx->container->lxc_conf->init_groups)) -- goto on_error; -+ if (options->add_gids != NULL && options->add_gids_len != 0) { -+ if (!lxc_setgroups(options->add_gids_len, options->add_gids)) { -+ goto on_error; -+ } -+ } else { -+ if (!lxc_setgroups(init_ctx->container->lxc_conf->init_groups_len, -+ init_ctx->container->lxc_conf->init_groups)) { -+ goto on_error; -+ } -+ } - #endif - - /* Make sure that the processes STDIO is correctly owned by the user that we are switching to */ -diff --git a/src/lxc/attach_options.h b/src/lxc/attach_options.h -index 16b4e21..4591d65 100644 ---- a/src/lxc/attach_options.h -+++ b/src/lxc/attach_options.h -@@ -124,6 +124,8 @@ typedef struct lxc_attach_options_t { - const char *suffix; - bool disable_pty; - bool open_stdin; -+ gid_t *add_gids; /* attach user additional gids */ -+ size_t add_gids_len; - #endif - } lxc_attach_options_t; - -diff --git a/src/lxc/tools/arguments.h b/src/lxc/tools/arguments.h -index 80c2083..583390a 100644 ---- a/src/lxc/tools/arguments.h -+++ b/src/lxc/tools/arguments.h -@@ -50,6 +50,8 @@ struct lxc_arguments { - int open_stdin; - unsigned int start_timeout; /* isulad: Seconds for waiting on a container to start before it is killed*/ - int64_t attach_timeout; /* for lxc-attach */ -+ gid_t *add_gids; -+ size_t add_gids_len; - #endif - - /* for lxc-console */ -@@ -175,6 +177,7 @@ struct lxc_arguments { - #define OPT_OPEN_STDIN OPT_USAGE - 14 - #define OPT_ATTACH_TIMEOUT OPT_USAGE - 15 - #define OPT_ATTACH_SUFFIX OPT_USAGE - 16 -+#define OPT_ADDITIONAL_GIDS OPT_USAGE - 17 - #endif - - extern int lxc_arguments_parse(struct lxc_arguments *args, int argc, -diff --git a/src/lxc/tools/lxc_attach.c b/src/lxc/tools/lxc_attach.c -index 1a5a241..f6ddf2d 100644 ---- a/src/lxc/tools/lxc_attach.c -+++ b/src/lxc/tools/lxc_attach.c -@@ -78,6 +78,7 @@ static const struct option my_longopts[] = { - #else - {"workdir", required_argument, 0, 'w'}, - {"user", required_argument, 0, 'u'}, -+ {"add-gids", required_argument, 0, OPT_ADDITIONAL_GIDS}, - {"in-fifo", required_argument, 0, OPT_INPUT_FIFO}, /* isulad add terminal fifos*/ - {"out-fifo", required_argument, 0, OPT_OUTPUT_FIFO}, - {"err-fifo", required_argument, 0, OPT_STDERR_FIFO}, -@@ -146,6 +147,7 @@ Options :\n\ - "\ - -w, --workdir Working directory inside the container.\n\ - -u, --user User ID (format: UID[:GID])\n\ -+ --add-gids Additional gids (format: GID[,GID])\n\ - --in-fifo Stdin fifo path\n\ - --out-fifo Stdout fifo path\n\ - --err-fifo Stderr fifo path\n\ -@@ -228,6 +230,58 @@ static int get_attach_uid_gid(const char *username, uid_t *user_id, gid_t *group - free(tmp); - return 0; - } -+ -+static int get_attach_add_gids(const char *add_gids, gid_t **gids, size_t *gids_len) -+{ -+ long long int readvalue; -+ size_t i, len; -+ const size_t max_gids = 100; -+ gid_t *g = NULL; -+ __do_free_string_list char **gids_str = NULL; -+ -+ if (add_gids == NULL || strlen(add_gids) == 0) { -+ ERROR("None additional gids"); -+ return -1; -+ } -+ -+ gids_str = lxc_string_split(add_gids, ','); -+ if (gids_str == NULL) { -+ ERROR("Failed to split additional gids"); -+ return -1; -+ } -+ -+ len = lxc_array_len((void **)gids_str); -+ if (len > max_gids) { -+ ERROR("Too many gids"); -+ return -1; -+ } -+ -+ g = calloc(len, sizeof(gid_t)); -+ if (g == NULL) { -+ ERROR("Out of memory"); -+ return -1; -+ } -+ -+ for (i = 0; i < len; i++) { -+ if (lxc_safe_long_long(gids_str[i], &readvalue) != 0) { -+ SYSERROR("Invalid gid value %s", gids_str[i]); -+ goto err_out; -+ } -+ if (readvalue < 0) { -+ ERROR("Invalid gid value: %lld", readvalue); -+ goto err_out; -+ } -+ g[i] = (unsigned int)readvalue; -+ } -+ -+ *gids = g; -+ *gids_len = len; -+ return 0; -+ -+err_out: -+ free(g); -+ return -1; -+} - #endif - - static int my_parser(struct lxc_arguments *args, int c, char *arg) -@@ -331,6 +385,12 @@ static int my_parser(struct lxc_arguments *args, int c, char *arg) - case OPT_OPEN_STDIN: - args->open_stdin = 1; - break; -+ case OPT_ADDITIONAL_GIDS: -+ if (get_attach_add_gids(arg, &args->add_gids, &args->add_gids_len) != 0) { -+ ERROR("Failed to get attach additional gids"); -+ return -1; -+ } -+ break; - #endif - } - -@@ -655,6 +715,11 @@ int main(int argc, char *argv[]) - attach_options.initial_cwd = my_args.workdir; - } - -+ if (my_args.add_gids) { -+ attach_options.add_gids = my_args.add_gids; -+ attach_options.add_gids_len = my_args.add_gids_len; -+ } -+ - /* isulad: add do attach background */ - if (attach_options.attach_flags & LXC_ATTACH_TERMINAL) - wexit = do_attach_foreground(c, &command, &attach_options, &errmsg); --- -2.25.1 - diff --git a/0020-add-sscanf-adapation-code-for-musl.patch b/0020-add-sscanf-adapation-code-for-musl.patch deleted file mode 100644 index a9d5470..0000000 --- a/0020-add-sscanf-adapation-code-for-musl.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 3cefa43ec2f5f0366c470290d48bdcd88690cf90 Mon Sep 17 00:00:00 2001 -From: isuladci -Date: Thu, 8 Dec 2022 09:48:29 +0800 -Subject: [PATCH] add sscanf adapation code for musl - -Signed-off-by: isuladci ---- - src/lxc/isulad_utils.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/src/lxc/isulad_utils.c b/src/lxc/isulad_utils.c -index 067e1c9..ee39302 100644 ---- a/src/lxc/isulad_utils.c -+++ b/src/lxc/isulad_utils.c -@@ -173,7 +173,13 @@ static proc_t *lxc_stat2proc(const char *S) - (void)memset(P, 0x00, sizeof(proc_t)); - - /* parse these two strings separately, skipping the leading "(". */ -+ /* https://www.openwall.com/lists/musl/2013/11/15/5: musl's sscanf("%15c",cmd) -+ requires exactly 15 characters; anything shorter is a matching failure. */ -+#ifdef __MUSL__ -+ num = sscanf(S, "%d (%15s", &P->pid, P->cmd); /* comm[16] in kernel */ -+#else - num = sscanf(S, "%d (%15c", &P->pid, P->cmd); /* comm[16] in kernel */ -+#endif - if (num != 2) { - ERROR("Call sscanf error: %s", errno ? strerror(errno) : ""); - free(P); --- -2.25.1 - diff --git a/0021-change-the-suffi-parameter-in-lxc-attach-help-output.patch b/0021-change-the-suffi-parameter-in-lxc-attach-help-output.patch deleted file mode 100644 index 6fe236a..0000000 --- a/0021-change-the-suffi-parameter-in-lxc-attach-help-output.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 026fea0b424c20c867be1577f5d98bc7bf97ba5a Mon Sep 17 00:00:00 2001 -From: isuladci -Date: Fri, 16 Dec 2022 19:17:11 +0800 -Subject: [PATCH] change the --suffi parameter in lxc-attach --help output - -Signed-off-by: isuladci ---- - src/lxc/tools/lxc_attach.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/lxc/tools/lxc_attach.c b/src/lxc/tools/lxc_attach.c -index f6ddf2d..fc0529a 100644 ---- a/src/lxc/tools/lxc_attach.c -+++ b/src/lxc/tools/lxc_attach.c -@@ -151,7 +151,7 @@ Options :\n\ - --in-fifo Stdin fifo path\n\ - --out-fifo Stdout fifo path\n\ - --err-fifo Stderr fifo path\n\ -- --suffi ID for mutli-attach on one container\n\ -+ --suffix ID for mutli-attach on one container\n\ - --timeout Timeout in seconds (default: 0)\n\ - --disable-pty Disable pty for attach\n\ - --open-stdin Open stdin for attach\n\ --- -2.25.1 - diff --git a/0022-fix-cve-CVE-2022-47952-log-leaks-root-information.patch b/0022-fix-cve-CVE-2022-47952-log-leaks-root-information.patch deleted file mode 100644 index e524ed9..0000000 --- a/0022-fix-cve-CVE-2022-47952-log-leaks-root-information.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 2b4d27ef9b5d9f38654277f021fabdda2d5f8e36 Mon Sep 17 00:00:00 2001 -From: isuladci -Date: Thu, 12 Jan 2023 19:20:43 -0800 -Subject: [PATCH] fix cve CVE-2022-47952: log leaks root information - -Signed-off-by: isuladci ---- - src/lxc/cmd/lxc_user_nic.c | 14 +++++--------- - 1 file changed, 5 insertions(+), 9 deletions(-) - -diff --git a/src/lxc/cmd/lxc_user_nic.c b/src/lxc/cmd/lxc_user_nic.c -index 4160565..5b848da 100644 ---- a/src/lxc/cmd/lxc_user_nic.c -+++ b/src/lxc/cmd/lxc_user_nic.c -@@ -1087,20 +1087,16 @@ int main(int argc, char *argv[]) - } else if (request == LXC_USERNIC_DELETE) { - char opath[LXC_PROC_PID_FD_LEN]; - -- /* Open the path with O_PATH which will not trigger an actual -- * open(). Don't report an errno to the caller to not leak -- * information whether the path exists or not. -- * When stracing setuid is stripped so this is not a concern -- * either. -- */ -+ // Keep in mind CVE-2022-47952: It's crucial not to leak any -+ // information whether open() succeeded or failed. - netns_fd = open(args.pid, O_PATH | O_CLOEXEC); - if (netns_fd < 0) { -- usernic_error("Failed to open \"%s\"\n", args.pid); -+ usernic_error("Failed while opening netns file for \"%s\"\n", args.pid); - _exit(EXIT_FAILURE); - } - - if (!fhas_fs_type(netns_fd, NSFS_MAGIC)) { -- usernic_error("Path \"%s\" does not refer to a network namespace path\n", args.pid); -+ usernic_error("Failed while opening netns file for \"%s\"\n", args.pid); - close(netns_fd); - _exit(EXIT_FAILURE); - } -@@ -1114,7 +1110,7 @@ int main(int argc, char *argv[]) - /* Now get an fd that we can use in setns() calls. */ - ret = open(opath, O_RDONLY | O_CLOEXEC); - if (ret < 0) { -- CMD_SYSERROR("Failed to open \"%s\"\n", args.pid); -+ CMD_SYSERROR("Failed while opening netns file for \"%s\"\n", args.pid); - close(netns_fd); - _exit(EXIT_FAILURE); - } --- -2.25.1 - diff --git a/0023-fix-lxc-write-error-message.patch b/0023-fix-lxc-write-error-message.patch deleted file mode 100644 index 91d30a7..0000000 --- a/0023-fix-lxc-write-error-message.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 45948760921dbaa1c030b6848168b89428ca1434 Mon Sep 17 00:00:00 2001 -From: songbuhuang <544824346@qq.com> -Date: Wed, 8 Feb 2023 14:46:44 +0800 -Subject: [PATCH] fix lxc write error message - -Signed-off-by: songbuhuang <544824346@qq.com> ---- - src/lxc/cgroups/isulad_cgfsng.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/lxc/cgroups/isulad_cgfsng.c b/src/lxc/cgroups/isulad_cgfsng.c -index f5cf81c..6ccff63 100644 ---- a/src/lxc/cgroups/isulad_cgfsng.c -+++ b/src/lxc/cgroups/isulad_cgfsng.c -@@ -2463,7 +2463,7 @@ retry: - goto retry; - } - lxc_write_error_message(ops->errfd, -- "%s:%d: setting cgroup config for ready process caused \"failed to write %s to %s: %s\".", -+ "%s:%d: setting cgroup config for ready process caused failed to write %s to %s: %s", - __FILE__, __LINE__, value, fullpath, strerror(errno)); - } - free(fullpath); --- -2.25.1 - diff --git a/0024-remove-process-inheritable-capability.patch b/0024-remove-process-inheritable-capability.patch deleted file mode 100644 index f8b7984..0000000 --- a/0024-remove-process-inheritable-capability.patch +++ /dev/null @@ -1,27 +0,0 @@ -From d232c098c9a75fce2b7e6da55faa89cd546d3dc9 Mon Sep 17 00:00:00 2001 -From: isuladci -Date: Tue, 31 Jan 2023 19:14:57 +0800 -Subject: [PATCH] remove process inheritable capability - -Signed-off-by: zhangxiaoyu ---- - src/lxc/conf.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/lxc/conf.c b/src/lxc/conf.c -index 439601a..c478bf2 100644 ---- a/src/lxc/conf.c -+++ b/src/lxc/conf.c -@@ -5528,7 +5528,8 @@ int lxc_drop_caps(struct lxc_conf *conf) - if (caplist[i]) { - cap_data[CAP_TO_INDEX(i)].effective = cap_data[CAP_TO_INDEX(i)].effective | (i > 31 ? __DEF_CAP_TO_MASK(i % 32) : __DEF_CAP_TO_MASK(i)); - cap_data[CAP_TO_INDEX(i)].permitted = cap_data[CAP_TO_INDEX(i)].permitted | (i > 31 ? __DEF_CAP_TO_MASK(i % 32) : __DEF_CAP_TO_MASK(i)); -- cap_data[CAP_TO_INDEX(i)].inheritable = cap_data[CAP_TO_INDEX(i)].inheritable | (i > 31 ? __DEF_CAP_TO_MASK(i % 32) : __DEF_CAP_TO_MASK(i)); -+ // fix CVE-2022-24769 -+ // inheritable capability should be empty - } - } - --- -2.25.1 - diff --git a/0025-fix-ops-hierarchies-cause-coredump.patch b/0025-fix-ops-hierarchies-cause-coredump.patch deleted file mode 100644 index e162e3b..0000000 --- a/0025-fix-ops-hierarchies-cause-coredump.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 636f30e34dd33a0b888faa9675fe33fb5aa0ad7a Mon Sep 17 00:00:00 2001 -From: "Neil.wrz" -Date: Tue, 21 Feb 2023 22:48:44 -0800 -Subject: [PATCH] may cause coredump - ---- - src/lxc/cgroups/isulad_cgfsng.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/src/lxc/cgroups/isulad_cgfsng.c b/src/lxc/cgroups/isulad_cgfsng.c -index 6ccff63..dcaa229 100644 ---- a/src/lxc/cgroups/isulad_cgfsng.c -+++ b/src/lxc/cgroups/isulad_cgfsng.c -@@ -938,8 +938,15 @@ __cgfsng_ops static inline bool isulad_cgfsng_payload_create(struct cgroup_ops * - struct lxc_handler *handler) - { - int i; -+ -+ if (!ops) -+ return ret_set_errno(false, ENOENT); -+ - char *container_cgroup = ops->container_cgroup; - -+ if (!ops->hierarchies) -+ return true; -+ - #ifdef HAVE_ISULAD - if (ops->no_controller) { - DEBUG("no controller found, isgnore isulad_cgfsng_payload_create"); --- -2.25.1 - diff --git a/0026-meminfo-cri-1.25.patch b/0026-meminfo-cri-1.25.patch deleted file mode 100644 index b21789a..0000000 --- a/0026-meminfo-cri-1.25.patch +++ /dev/null @@ -1,55 +0,0 @@ -From d8bf23cac765af4bededef26e56f7cde7bafd4fe Mon Sep 17 00:00:00 2001 -From: "ilya.kuksenok" -Date: Mon, 27 Feb 2023 14:39:39 +0300 -Subject: [PATCH] Add metrics - -Signed-off-by: ilya.kuksenok ---- - src/lxc/lxccontainer.c | 14 ++++++++++++++ - src/lxc/lxccontainer.h | 5 +++++ - 2 files changed, 19 insertions(+) - -diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c -index 4b669bb..afbeb3c 100644 ---- a/src/lxc/lxccontainer.c -+++ b/src/lxc/lxccontainer.c -@@ -6053,6 +6053,20 @@ static bool do_lxcapi_get_container_metrics(struct lxc_container *c, struct lxc - metrics->cpu_use_nanos = metrics_get_ull(c, cgroup_ops, "cpuacct.usage"); - metrics->pids_current = metrics_get_ull(c, cgroup_ops, "pids.current"); - -+ uint64_t usage_bytes; -+ uint64_t workingset; -+ usage_bytes = metrics_match_get_ull(c,cgroup_ops, "memory.stat", "rss", 1) + -+ metrics_match_get_ull(c, cgroup_ops, "memory.stat", "cache", 1) + -+ metrics_match_get_ull(c, cgroup_ops, "memory.stat", "swap", 1); -+ // workingset = usage - inactive_file -+ workingset = usage_bytes - metrics_match_get_ull(c, cgroup_ops, "memory.stat", "total_inactive_file", 1); -+ // Avaliable bytes = limit - workingset -+ metrics->avaliable_bytes = metrics_get_ull(c, cgroup_ops, "memory.limit_in_bytes") - workingset; -+ metrics->usage_bytes = usage_bytes; -+ metrics->rss_bytes = metrics_match_get_ull(c,cgroup_ops, "memory.stat", "rss", 1); -+ metrics->page_faults = metrics_match_get_ull(c,cgroup_ops, "memory.stat", "pgfault", 1); -+ metrics->major_page_faults = metrics_match_get_ull(c,cgroup_ops, "memory.stat", "pgmajfault", 1); -+ - metrics->cpu_use_user = metrics_match_get_ull(c, cgroup_ops, "cpuacct.stat", "user", 1); - metrics->cpu_use_sys = metrics_match_get_ull(c, cgroup_ops, "cpuacct.stat", "system", 1); - -diff --git a/src/lxc/lxccontainer.h b/src/lxc/lxccontainer.h -index 3680ade..68dfec9 100644 ---- a/src/lxc/lxccontainer.h -+++ b/src/lxc/lxccontainer.h -@@ -68,6 +68,11 @@ struct lxc_container_metrics { - /* Memory usage */ - uint64_t mem_used; - uint64_t mem_limit; -+ uint64_t avaliable_bytes; -+ uint64_t usage_bytes; -+ uint64_t rss_bytes; -+ uint64_t page_faults; -+ uint64_t major_page_faults; - /* Kernel Memory usage */ - uint64_t kmem_used; - uint64_t kmem_limit; --- -2.34.1 - diff --git a/0027-add-loongarch64-support-for-lxc.patch b/0027-add-loongarch64-support-for-lxc.patch deleted file mode 100644 index 7f68cf1..0000000 --- a/0027-add-loongarch64-support-for-lxc.patch +++ /dev/null @@ -1,238 +0,0 @@ -From 477ecc390bf4d62e8e02b98699b377b848b043de Mon Sep 17 00:00:00 2001 -From: Wenlong Zhang -Date: Thu, 9 Feb 2023 08:18:35 +0000 -Subject: [PATCH] add loongarch64 support for lxc - ---- - src/lxc/seccomp.c | 51 +++++++++++++++++++++++++++++++++++++++ - src/lxc/syscall_numbers.h | 26 ++++++++++++++++++++ - 2 files changed, 77 insertions(+) - -diff --git a/src/lxc/seccomp.c b/src/lxc/seccomp.c -index ebbba80..94dc23a 100644 ---- a/src/lxc/seccomp.c -+++ b/src/lxc/seccomp.c -@@ -310,6 +310,7 @@ enum lxc_hostarch_t { - lxc_seccomp_arch_ppc64, - lxc_seccomp_arch_ppc64le, - lxc_seccomp_arch_ppc, -+ lxc_seccomp_arch_loongarch64, - lxc_seccomp_arch_mips, - lxc_seccomp_arch_mips64, - lxc_seccomp_arch_mips64n32, -@@ -344,6 +345,8 @@ int get_hostarch(void) - return lxc_seccomp_arch_ppc64; - else if (strncmp(uts.machine, "ppc", 3) == 0) - return lxc_seccomp_arch_ppc; -+ else if (strncmp(uts.machine, "loongarch64", 11) == 0) -+ return lxc_seccomp_arch_loongarch64; - else if (strncmp(uts.machine, "mips64", 6) == 0) - return MIPS_ARCH_N64; - else if (strncmp(uts.machine, "mips", 4) == 0) -@@ -400,6 +403,11 @@ scmp_filter_ctx get_new_ctx(enum lxc_hostarch_t n_arch, - arch = SCMP_ARCH_PPC; - break; - #endif -+#ifdef SCMP_ARCH_LOONGARCH64 -+ case lxc_seccomp_arch_loongarch64: -+ arch = SCMP_ARCH_LOONGARCH64; -+ break; -+#endif - #ifdef SCMP_ARCH_MIPS - case lxc_seccomp_arch_mips: - arch = SCMP_ARCH_MIPS; -@@ -738,6 +746,16 @@ static int parse_config_v2(FILE *f, char *line, size_t *line_bufsz, struct lxc_c - goto bad; - #endif - #endif -+#ifdef SCMP_ARCH_LOONGARCH64 -+ } else if (native_arch == lxc_seccomp_arch_loongarch64) { -+ cur_rule_arch = lxc_seccomp_arch_all; -+ -+ ctx.lxc_arch[0] = lxc_seccomp_arch_loongarch64; -+ ctx.contexts[0] = get_new_ctx(lxc_seccomp_arch_loongarch64, -+ default_policy_action, &ctx.architectures[0]); -+ if (!ctx.contexts[0]) -+ goto bad; -+#endif - #ifdef SCMP_ARCH_MIPS - } else if (native_arch == lxc_seccomp_arch_mips64) { - cur_rule_arch = lxc_seccomp_arch_all; -@@ -906,6 +924,17 @@ static int parse_config_v2(FILE *f, char *line, size_t *line_bufsz, struct lxc_c - cur_rule_arch = lxc_seccomp_arch_ppc; - } - #endif -+#ifdef SCMP_ARCH_LOONGARCH64 -+ else if (strcmp(line, "[loongarch64]") == 0 || -+ strcmp(line, "[LOONGARCH64]") == 0) { -+ if (native_arch != lxc_seccomp_arch_loongarch64) { -+ cur_rule_arch = lxc_seccomp_arch_unknown; -+ continue; -+ } -+ -+ cur_rule_arch = lxc_seccomp_arch_loongarch64; -+ } -+#endif - #ifdef SCMP_ARCH_MIPS - else if (strcmp(line, "[mips64]") == 0 || - strcmp(line, "[MIPS64]") == 0) { -@@ -1263,6 +1292,17 @@ static int parse_config_v2(FILE *f, char *line, size_t *line_bufsz, struct lxc_c - goto bad; - #endif - #endif -+#ifdef SCMP_ARCH_LOONGARCH64 -+ } else if (native_arch == lxc_seccomp_arch_loongarch64) { -+ cur_rule_arch = lxc_seccomp_arch_all; -+ -+ ctx.architectures[0] = SCMP_ARCH_LOONGARCH64; -+ ctx.contexts[0] = get_new_ctx(lxc_seccomp_arch_loongarch64, -+ default_policy_action, -+ &ctx.needs_merge[0]); -+ if (!ctx.contexts[0]) -+ goto bad; -+#endif - #ifdef SCMP_ARCH_MIPS - } else if (native_arch == lxc_seccomp_arch_mips64) { - cur_rule_arch = lxc_seccomp_arch_all; -@@ -1434,6 +1474,17 @@ static int parse_config_v2(FILE *f, char *line, size_t *line_bufsz, struct lxc_c - cur_rule_arch = lxc_seccomp_arch_ppc; - } - #endif -+#ifdef SCMP_ARCH_LOONGRCH64 -+ else if (strcmp(line, "[loongarch64]") == 0 || -+ strcmp(line, "[LOONGARCH64]") == 0) { -+ if (native_arch != lxc_seccomp_arch_loongarch64) { -+ cur_rule_arch = lxc_seccomp_arch_unknown; -+ continue; -+ } -+ -+ cur_rule_arch = lxc_seccomp_arch_loongarch64; -+ } -+#endif - #ifdef SCMP_ARCH_MIPS - else if (strcmp(line, "[mips64]") == 0 || - strcmp(line, "[MIPS64]") == 0) { -diff --git a/src/lxc/syscall_numbers.h b/src/lxc/syscall_numbers.h -index c68cf24..01aa68d 100644 ---- a/src/lxc/syscall_numbers.h -+++ b/src/lxc/syscall_numbers.h -@@ -49,6 +49,8 @@ - #if _MIPS_SIM == _MIPS_SIM_ABI64 /* n64 */ - #define __NR_keyctl 5241 - #endif -+ #elif defined __loongarch64 -+ #define __NR_keyctl 219 - #else - #define -1 - #warning "__NR_keyctl not defined for your architecture" -@@ -84,6 +86,8 @@ - #if _MIPS_SIM == _MIPS_SIM_ABI64 - #define __NR_memfd_create 5314 - #endif -+ #elif defined __loongarch64 -+ #define __NR_memfd_create 279 - #else - #define -1 - #warning "__NR_memfd_create not defined for your architecture" -@@ -117,6 +121,8 @@ - #if _MIPS_SIM == _MIPS_SIM_ABI64 /* n64 */ - #define __NR_pivot_root 5151 - #endif -+ #elif defined __loongarch64 -+ #define __NR_pivot_root 41 - #else - #define -1 - #warning "__NR_pivot_root not defined for your architecture" -@@ -150,6 +156,8 @@ - #if _MIPS_SIM == _MIPS_SIM_ABI64 /* n64 */ - #define __NR_setns 5303 - #endif -+ #elif defined __loongarch64 -+ #define __NR_setns 268 - #else - #define -1 - #warning "__NR_setns not defined for your architecture" -@@ -183,6 +191,8 @@ - #if _MIPS_SIM == _MIPS_SIM_ABI64 /* n64 */ - #define __NR_sethostname 5165 - #endif -+ #elif defined __loongarch64 -+ #define __NR_sethostname 161 - #else - #define -1 - #warning "__NR_sethostname not defined for your architecture" -@@ -216,6 +226,8 @@ - #if _MIPS_SIM == _MIPS_SIM_ABI64 /* n64 */ - #define __NR_signalfd 5276 - #endif -+ #elif defined __loongarch64 -+ #define __NR_signalfd -1 /* doesn't exist in loongarch64 */ - #else - #define -1 - #warning "__NR_signalfd not defined for your architecture" -@@ -249,6 +261,8 @@ - #if _MIPS_SIM == _MIPS_SIM_ABI64 /* n64 */ - #define __NR_signalfd4 5283 - #endif -+ #elif defined __loongarch64 -+ #define __NR_signalfd4 74 - #else - #define -1 - #warning "__NR_signalfd4 not defined for your architecture" -@@ -282,6 +296,8 @@ - #if _MIPS_SIM == _MIPS_SIM_ABI64 /* n64 */ - #define __NR_unshare 5262 - #endif -+ #elif defined __loongarch64 -+ #define __NR_unshare 97 - #else - #define -1 - #warning "__NR_unshare not defined for your architecture" -@@ -315,6 +331,8 @@ - #if _MIPS_SIM == _MIPS_SIM_ABI64 /* n64 */ - #define __NR_bpf 5315 - #endif -+ #elif defined __loongarch64 -+ #define __NR_bpf 280 - #else - #define -1 - #warning "__NR_bpf not defined for your architecture" -@@ -348,6 +366,8 @@ - #if _MIPS_SIM == _MIPS_SIM_ABI64 /* n64 */ - #define __NR_faccessat 5259 - #endif -+ #elif defined __loongarch64 -+ #define __NR_faccessat 48 - #else - #define -1 - #warning "__NR_faccessat not defined for your architecture" -@@ -401,6 +421,8 @@ - #if _MIPS_SIM == _MIPS_SIM_ABI64 /* n64 */ - #define __NR_seccomp 5312 - #endif -+ #elif defined __loongarch64 -+ #define __NR_seccomp 277 - #else - #define -1 - #warning "__NR_seccomp not defined for your architecture" -@@ -434,6 +456,8 @@ - #if _MIPS_SIM == _MIPS_SIM_ABI64 /* n64 */ - #define __NR_gettid 5178 - #endif -+ #elif defined __loongarch64 -+ #define __NR_gettid 178 - #else - #define -1 - #warning "__NR_gettid not defined for your architecture" -@@ -471,6 +495,8 @@ - #if _MIPS_SIM == _MIPS_SIM_ABI64 /* n64 */ - #define __NR_execveat 5316 - #endif -+ #elif defined __loongarch64 -+ #define __NR_execveat 281 - #else - #define -1 - #warning "__NR_execveat not defined for your architecture" --- -2.33.0 - diff --git a/0028-use-ocihooks-env-after-getenv.patch b/0028-use-ocihooks-env-after-getenv.patch deleted file mode 100644 index 9f7a775..0000000 --- a/0028-use-ocihooks-env-after-getenv.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 9c82e7c0d345eba3cc0514a536eb8438f328164e Mon Sep 17 00:00:00 2001 -From: zhangxiaoyu -Date: Thu, 30 Mar 2023 11:38:45 +0800 -Subject: [PATCH] use ocihooks env after getenv - -Signed-off-by: zhangxiaoyu ---- - src/lxc/conf.c | 13 +++++++------ - 1 file changed, 7 insertions(+), 6 deletions(-) - -diff --git a/src/lxc/conf.c b/src/lxc/conf.c -index c478bf2..3335b0d 100644 ---- a/src/lxc/conf.c -+++ b/src/lxc/conf.c -@@ -6224,7 +6224,8 @@ static char **merge_ocihook_env(char **oldenvs, size_t env_len, size_t *merge_en - { - char **result = NULL; - size_t result_len = env_len; -- size_t i, j; -+ size_t i = 0; -+ size_t j, k; - char *tmpenv = NULL; - char *lxc_envs[] = {"LD_LIBRARY_PATH", "PATH", "LXC_CGNS_AWARE", "LXC_PID", "LXC_ROOTFS_MOUNT", - "LXC_CONFIG_FILE", "LXC_CGROUP_PATH", "LXC_ROOTFS_PATH", "LXC_NAME" -@@ -6239,11 +6240,6 @@ static char **merge_ocihook_env(char **oldenvs, size_t env_len, size_t *merge_en - return NULL; - memset(result, 0, sizeof(char *) * result_len); - -- for(i = 0; i < env_len; i++) { -- if (oldenvs[i]) -- result[i] = safe_strdup(oldenvs[i]); -- } -- - for(j = 0; j < (sizeof(lxc_envs) / sizeof(char *)); j++) { - size_t env_buf_len = 0; - tmpenv = getenv(lxc_envs[j]); -@@ -6267,6 +6263,11 @@ static char **merge_ocihook_env(char **oldenvs, size_t env_len, size_t *merge_en - } - } - -+ for(k = 0; k < env_len; k++) { -+ if (oldenvs[k] && i < (result_len - 1)) -+ result[i++] = safe_strdup(oldenvs[k]); -+ } -+ - *merge_env_len = i; - return result; - } --- -2.25.1 - diff --git a/0029-fix-mixed-use-of-signed-and-unsigned-type.patch b/0029-fix-mixed-use-of-signed-and-unsigned-type.patch deleted file mode 100644 index 697e039..0000000 --- a/0029-fix-mixed-use-of-signed-and-unsigned-type.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 573aae0ba3b76067e76206b78c8243b34e3f40e3 Mon Sep 17 00:00:00 2001 -From: "Neil.wrz" -Date: Tue, 18 Apr 2023 00:05:27 -0700 -Subject: [PATCH] fix mixed use of signed and unsigned type - -Signed-off-by: Neil.wrz ---- - src/lxc/path.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/lxc/path.c b/src/lxc/path.c -index 46256cb..c0529b7 100644 ---- a/src/lxc/path.c -+++ b/src/lxc/path.c -@@ -101,7 +101,7 @@ bool filepath_split(const char *path, char **dir, char **base) - ERROR("Invalid path"); - return false; - } -- i = len - 1; -+ i = (ssize_t)(len - 1); - while (i >= 0 && path[i] != '/') - i--; - -@@ -326,7 +326,7 @@ static int do_get_symlinks(const char **fullpath, const char *prefix, size_t pre - } - - len = strlen(*end); -- if (len >= PATH_MAX - n) { -+ if (len >= (size_t)(PATH_MAX - n)) { - ERROR("Path is too long"); - goto out; - } -@@ -619,7 +619,7 @@ char *path_relative(const char *basepath, const char *targpath) - - if (b0 != bl) { - // Base elements left. Must go up before going down. -- int seps = 0, i; -+ size_t seps = 0, i; - size_t ncopyed = 0, seps_size; - char *buf = NULL; - -@@ -652,4 +652,4 @@ char *path_relative(const char *basepath, const char *targpath) - } - - return safe_strdup(targ + t0); --} -\ No newline at end of file -+} --- -2.25.1 - diff --git a/0030-remove-unused-meminfo-stats.patch b/0030-remove-unused-meminfo-stats.patch deleted file mode 100644 index 5113f37..0000000 --- a/0030-remove-unused-meminfo-stats.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 4daa1572b9f129ba46cefb13683de90b49404872 Mon Sep 17 00:00:00 2001 -From: zhangxiaoyu -Date: Tue, 18 Apr 2023 15:22:21 +0800 -Subject: [PATCH] remove unused meminfo stats - -Signed-off-by: zhangxiaoyu ---- - src/lxc/lxccontainer.c | 10 ---------- - src/lxc/lxccontainer.h | 2 -- - 2 files changed, 12 deletions(-) - -diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c -index afbeb3c..cc6c5cd 100644 ---- a/src/lxc/lxccontainer.c -+++ b/src/lxc/lxccontainer.c -@@ -6053,16 +6053,6 @@ static bool do_lxcapi_get_container_metrics(struct lxc_container *c, struct lxc - metrics->cpu_use_nanos = metrics_get_ull(c, cgroup_ops, "cpuacct.usage"); - metrics->pids_current = metrics_get_ull(c, cgroup_ops, "pids.current"); - -- uint64_t usage_bytes; -- uint64_t workingset; -- usage_bytes = metrics_match_get_ull(c,cgroup_ops, "memory.stat", "rss", 1) + -- metrics_match_get_ull(c, cgroup_ops, "memory.stat", "cache", 1) + -- metrics_match_get_ull(c, cgroup_ops, "memory.stat", "swap", 1); -- // workingset = usage - inactive_file -- workingset = usage_bytes - metrics_match_get_ull(c, cgroup_ops, "memory.stat", "total_inactive_file", 1); -- // Avaliable bytes = limit - workingset -- metrics->avaliable_bytes = metrics_get_ull(c, cgroup_ops, "memory.limit_in_bytes") - workingset; -- metrics->usage_bytes = usage_bytes; - metrics->rss_bytes = metrics_match_get_ull(c,cgroup_ops, "memory.stat", "rss", 1); - metrics->page_faults = metrics_match_get_ull(c,cgroup_ops, "memory.stat", "pgfault", 1); - metrics->major_page_faults = metrics_match_get_ull(c,cgroup_ops, "memory.stat", "pgmajfault", 1); -diff --git a/src/lxc/lxccontainer.h b/src/lxc/lxccontainer.h -index 68dfec9..96db5e6 100644 ---- a/src/lxc/lxccontainer.h -+++ b/src/lxc/lxccontainer.h -@@ -68,8 +68,6 @@ struct lxc_container_metrics { - /* Memory usage */ - uint64_t mem_used; - uint64_t mem_limit; -- uint64_t avaliable_bytes; -- uint64_t usage_bytes; - uint64_t rss_bytes; - uint64_t page_faults; - uint64_t major_page_faults; --- -2.25.1 - diff --git a/0031-lxc-attach-Fix-lost-return-codes-of-spawned-processe.patch b/0031-lxc-attach-Fix-lost-return-codes-of-spawned-processe.patch deleted file mode 100644 index cef5a25..0000000 --- a/0031-lxc-attach-Fix-lost-return-codes-of-spawned-processe.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 4ebca5a005afbc19c08f663e24d3e76518d12fa8 Mon Sep 17 00:00:00 2001 -From: Mohammed Ajmal Siddiqui -Date: Wed, 5 Oct 2022 12:20:58 +0530 -Subject: [PATCH] lxc-attach: Fix lost return codes of spawned processes that - are killed - -lxc-attach swallows the return codes of processes that are terminated -via a signal, and by default exits with a return code of 0 (i.e. -indicating success) even if the command it tried to execute was -terminated. - -This patch fixes it by explicitly checking if the process was terminated -via a signal, and returning an appropriate exit code. - -Note that we add 128 to the signal value to generate the exit code -because by convention the exit code is 128 + signal number. e.g. if a -process is killed via signal 9, then the error code is 9 + 128 = 137. - -Signed-off-by: Mohammed Ajmal Siddiqui ---- - src/lxc/tools/lxc_attach.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/lxc/tools/lxc_attach.c b/src/lxc/tools/lxc_attach.c -index fa303c7b4..6482b0aee 100644 ---- a/src/lxc/tools/lxc_attach.c -+++ b/src/lxc/tools/lxc_attach.c -@@ -399,6 +399,8 @@ int lxc_attach_main(int argc, char *argv[]) - } - if (WIFEXITED(ret)) - wexit = WEXITSTATUS(ret); -+ else if (WIFSIGNALED(ret)) -+ wexit = WTERMSIG(ret) + 128; - - out: - lxc_container_put(c); --- -2.33.0 - diff --git a/0032-fix-load-bpf-failed.patch b/0032-fix-load-bpf-failed.patch deleted file mode 100644 index b828907..0000000 --- a/0032-fix-load-bpf-failed.patch +++ /dev/null @@ -1,30 +0,0 @@ -From ea611fd8e2c04e65c9239a9236376b2686b16832 Mon Sep 17 00:00:00 2001 -From: zhangxiaoyu -Date: Sat, 6 May 2023 17:25:41 +0800 -Subject: [PATCH] fix load bpf failed - -Signed-off-by: zhangxiaoyu ---- - src/lxc/cgroups/cgroup2_devices.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/src/lxc/cgroups/cgroup2_devices.c b/src/lxc/cgroups/cgroup2_devices.c -index 04ba7b3..690e0b3 100644 ---- a/src/lxc/cgroups/cgroup2_devices.c -+++ b/src/lxc/cgroups/cgroup2_devices.c -@@ -237,6 +237,12 @@ int bpf_program_append_device(struct bpf_program *prog, struct device_item *devi - if (device->minor != -1) - jump_nr++; - -+#ifdef HAVE_ISULAD -+ // add a check, if no jump should do, just return. -+ if (jump_nr == 1) -+ return 0; -+#endif -+ - if (device_type > 0) { - struct bpf_insn ins[] = { - BPF_JMP_IMM(BPF_JNE, BPF_REG_2, device_type, jump_nr--), --- -2.25.1 - diff --git a/0033-fix-mount-device-path-incorrect.patch b/0033-fix-mount-device-path-incorrect.patch deleted file mode 100644 index 6c0bc4c..0000000 --- a/0033-fix-mount-device-path-incorrect.patch +++ /dev/null @@ -1,27 +0,0 @@ -From f7da4786892ab6b4bbe1cfedad24127a7d059f3d Mon Sep 17 00:00:00 2001 -From: zhangxiaoyu -Date: Fri, 16 Jun 2023 12:02:38 +0800 -Subject: [PATCH] fix mount device path incorrect - -Signed-off-by: zhangxiaoyu ---- - src/lxc/conf.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/lxc/conf.c b/src/lxc/conf.c -index 3335b0d..a5573ac 100644 ---- a/src/lxc/conf.c -+++ b/src/lxc/conf.c -@@ -6064,7 +6064,8 @@ static int setup_populate_devs(const struct lxc_rootfs *rootfs, struct lxc_list - - // Unprivileged containers cannot create devices, so - // try to bind mount the device from the host -- ret = snprintf(hostpath, MAXPATHLEN, "/dev/%s", dev_elem->name); -+ // dev_elem name is the device path -+ ret = snprintf(hostpath, MAXPATHLEN, "%s", dev_elem->name); - if (ret < 0 || ret >= MAXPATHLEN) { - ret = -1; - goto reset_umask; --- -2.25.1 - diff --git a/0034-add-secure-compile-macro.patch b/0034-add-secure-compile-macro.patch deleted file mode 100644 index f6a2ed2..0000000 --- a/0034-add-secure-compile-macro.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 728d921b36f07833470a284a55cbfea4baaab268 Mon Sep 17 00:00:00 2001 -From: mzzhou <1362843687@qq.com> -Date: Mon, 10 Jul 2023 21:28:10 +0800 -Subject: [PATCH] add secure compile marco - ---- - configure.ac | 20 ++++++++++++++++++++ - src/lxc/Makefile.am | 6 +++++- - 2 files changed, 25 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 2180586..e66bdf1 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -837,10 +837,30 @@ if test "x$adapt_isulad" = "xyes"; then - AC_DEFINE([HAVE_ISULAD], 1, [adapt to iSulad]) - AC_MSG_RESULT([yes]) - -+ AC_MSG_CHECKING([Whether enable secure compile]) -+ AC_ARG_ENABLE([secure-compile], -+ [AC_HELP_STRING([--enable-secure-compile], [enable secure compile [default=no]])], -+ [secure_compile=$enableval], [secure_compile=yes]) -+ AM_CONDITIONAL([HAVE_SECURE_COMPILE], [test "x$secure_compile" = "xyes"]) -+ AC_DEFINE([HAVE_SECURE_COMPILE], 1, [enable secure compile]) -+ AC_MSG_RESULT([yes]) -+ - # Check yajl - PKG_CHECK_MODULES([YAJL], [yajl >= 2],[],[AC_MSG_ERROR([You must install yajl >= 2])]) - else - AC_MSG_RESULT([no]) -+ -+ AC_MSG_CHECKING([Whether enable secure compile]) -+ AC_ARG_ENABLE([secure-compile], -+ [AC_HELP_STRING([--enable-secure-compile], [enable secure compile [default=no]])], -+ [secure_compile=$enableval], [secure_compile=yes]) -+ AM_CONDITIONAL([HAVE_SECURE_COMPILE], [test "x$secure_compile" = "xyes"]) -+ if test "x$secure_compile" = "xyes"; then -+ AC_DEFINE([HAVE_SECURE_COMPILE], 1, [enable secure compile]) -+ AC_MSG_RESULT([yes]) -+ else -+ AC_MSG_RESULT([no]) -+ fi - fi - - # Files requiring some variable expansion -diff --git a/src/lxc/Makefile.am b/src/lxc/Makefile.am -index 61a229f..c1d20f6 100644 ---- a/src/lxc/Makefile.am -+++ b/src/lxc/Makefile.am -@@ -292,7 +292,11 @@ liblxc_la_LDFLAGS = -pthread \ - -version-info @LXC_ABI_MAJOR@ - - if HAVE_ISULAD --liblxc_la_LDFLAGS += @YAJL_LIBS@ -Wl,-z,relro \ -+liblxc_la_LDFLAGS += @YAJL_LIBS@ -+endif -+ -+if HAVE_SECURE_COMPILE -+liblxc_la_LDFLAGS += -Wl,-z,relro \ - -Wl,-z,now \ - -Wl,-z,noexecstack - endif --- -2.41.0.windows.2 - diff --git a/apply-patches b/apply-patches index 136ca22..bf6f8d4 100755 --- a/apply-patches +++ b/apply-patches @@ -27,6 +27,12 @@ tar -xzvf $dir_name.tar.gz cwd=$PWD cd $cwd/$dir_name +git init . +git add . +git config --local user.name "isuladci" +git config --local user.email "isulad@ci.com" +git commit -m "init repo for lxc-$dir_name" + grep -E "Patch[0-9]{4}:\s*[0-9]{4}-.*\.patch" $cwd/lxc.spec | awk '{print $2}' | while read line do if [[ $line == '' || $line =~ ^\s*# ]]; then @@ -36,11 +42,9 @@ do patch -p1 -F1 -s < $cwd/$line done -git init . git add . -git config --local user.name "isuladci" -git config --local user.email "isulad@ci.com" -git commit -m "init repo" +git commit -m "change for iSulad" + git config --local --unset user.name git config --local --unset user.email diff --git a/lxc-4.0.3.tar.gz b/lxc-4.0.3.tar.gz deleted file mode 100644 index 88376b2b8687616c874225ca8c983b2a78993ba0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1368461 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 z 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 z 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%0D9=c>jDPqQe zjTivX`|FdthpM5)Ry~wa*-A%iAbfDZveircDG~as1_5+Tf;Fh17RBz`|5>v*51Ar@rN(QU^gg`hPq;aX-(ncWn5YG3kGU55%pyl zM+{Uw1&4nbkw@axw3vRDL#6flH)Ot9#J{yfIKrEVcdfL#vOkv7x~+`7*)t{1uykz1 zg}{ambA2-uBWUJev?xIs{U8~}orj1GZAsS8txvX1QrwSOdXPXQ+d^$85Zgy_Vue(a zafTIgPdq{ip~1++Fd;;haTYarpDbRFMdJoJ16jgF@}b!IixUs-9b<)>3*VqmAt=+z|p^Dqj+nFehs+7Q*y6)GL(;4b095uZa7hYDb;% zDn$hOb0j`UO-J(=I7T=`5VpcR5{>qg%5*C`ejFGnT6^te*+ zikyy>6uZvl1GKbA03Yx(3Ig+G|sJd zXyv;SgiDxDIW^aH%3h@>WZvU$;NwAhcuv-#mo{C-!NG=VWq45{%HZ*Y<8#KH^qg6) zFi}Pj^|YRSYd9rCKrzA;6gas@PMtb&N?4Kk-19RbbRwSAypiT*%EDa~w7Mq)FYckR zNi1^OEovz-K%?~r3W#!gCHcrh!eH}|JjLM=HZi`eJW>JoU}mY*tuSVlmly6iDmOqy zxsfP8mktvp0{xL~vup3Xcl(>aljnr7zOF>WA*Dw5t(j)9A{N_#KBHSV2E;7dD9Pax z0~CvDs1?(YL5;FUOE%DH7oJLrlal*|XHOK570N+3m3LbZ)jCBoCi|QkBem&gHR)VD zTw;)ZN$4S{tAb&|Pek!yE}AF`zUNI3c|8Y9+9}N-uu@+7rDbp9-jqAzmn!1cQY0fjx$@UX!G~Nbg*$3sl0jt6!4qFjCoR^_9i7>u<2fBi=uw z<85LHXPpIcK;&ShUj=ZAouW;@R^Z@2y)|1iZs#i zOrZ={q~g<)WaUdm04`(|&Av?Les~~Ps0IEE93Zy&xzN@us+=4fGwr#>fP(0ZhTtrW zV;(JmJL0uxN1Hf(&Ot=l!vOs({74U`oqp$_h5I&9N;?Da0G7JPhX>(jkU@)SXD|Fj zpp4QY{Gi(b-JiS ziHQMgO?M}K7;xmyIPd`yVfo@T^{=>;_fNTynh~e14s}#mvrqjB?^9TH5=*ZAl?yM$ zS9N>+Gpdodxcb>85wAD@4O|qf&tJLw`adYs=LHgQ&x<0X&t6*n;}>=6+eO1w68Cn) z`x(23iKXxi?q!Mbnx{3w)mFkCc67W7x=&w{EDM1_$+X-Ur8Hh%ZT3)y6%1y%_8F(V zI9(WSMd*txQ@I>XD85BAfC={JRcA|;Gj!%F6BwQi;ygS>76g8&n}T-TLP4Gb{&hSG88QJb(IAz%<$*tSLfee z`}BPgEoQ^$sgVDh-BDcHMXG!M8HbHy19(f?4cMr)V!C+lB!X>oz_puIVK#Rkp#ZZ@ z*AdA|%C#k9rH}z=9->(|!uxMUdeNB8@kTR;Qn454DjtaC6Iz(3ot(j%VG(bVE1 zLNoQALHJQjiIe!VniK#xoL?mQ+3Zsj!F2gW$)!f&L2Vz2XHc(3d%$h{f?u5z#l_Pi zJhW6~GtU7h?|RcE;Qie`asx)8mwJ&>$Oj=8&|xA zJNzwTTNigmRJd+@8LCxFq!!?=G8hzd|EA0@%#>W!hSbD@TDe?;->2Qm89YOx8mq!t z35h(6dWJ@N42L)d@S`w@@pH0>gY011ol{AzpctZ|uv#h=!mE{&LlM@vf)99Sfk70h zK1`{ABa$_$rI|Ait5@;IYt(#P=(N5zQT>QTG~*eR0?&V7aoOJ2vk>5?L&{mxZswx$jstJ|<(YF#+gX&l#BK=DDn8y(f`K zZqa@&A*tY@y+kI#ue@tGAxxb zae*j)4uZdvDHGjz;d^A(z(Pku!q&q;`)ulQ?Z_4n*GzgB8q-V@7tiAAhi{PqW1&vO zBDVln6zT(?e~mFxMuPkE!V1#3_PnDEA;fdg7P5Bb69niMgWOTH1|pwdEmbnLVlV}a zdt2yjm}66)_9~@VfC}j`7GuimwQGWEJm!uFZS^t=1?3 zt~(P&=y47Wog5qa^~l)J;bX(cvF43C&H^=%xA277)OuL>1fZ$Drcy5LqK4OPYm-IS z6r~uVyb|=R)1~I-)WJT3C-K%>N`^>S)RNs1=}c~i6G622lb#;Or$rlb=&WLNIBO+^ zGYlPLekrNEyAfjd*qdwQtaCQj6@#G^FgF`MQt zMFwzy%5)5x4}m|a)Lfqt%JsBRR7}H2==613WiDpdBvbsk$^v%npFio3HZT`=YTq0#CUkU z3v4V>6~^Hh6Ra|lN$uK&2UM&)`EJp|`~DB-FA_a7det`^yu1Fl1%)ij$ryw~=Y?SbPZl1qgz4~X}il_X`^~=ndXYHCkHYWAEm*2m8?gMV~_Lt}A=Z0#N z$TDnDt9WM^?a;C?Lhu33!x%1a8S!WlHJE!DDcYoQ&vA~py4_BOicp~gAUu>ILpTRP z*l@2DOZ*E;g>V7t^fx+Nk`JO3MV?}G9G@sEm^jSV;%8(P2Sbp>;77fLEY)O?nmdk2 zoigRv9Vxkmv6UM+Ldf;_gv@||+ zV*SOhsG81Av++fzA2{@fvK*>esfVOLS}yaY>qaSI96nb8GDeL<(8p!WSg$nxyrcS3 zix=Bpj4iMZX+0r@9)`bgu;GBg8LI*=0P6tzITg4X2GUOW6+;DbtI$H3|?4_1no`d@j{;yQy0bUm@6oQlab**Nw_0;mTHxXi8Zc0=TCbqoKE`1P@fD@ zRA3Ob90z6h6CMb$1FGxZ$8)s;vo7rTR(2?5! zuh1IQ2BO%8(`9lXw%y8JU5!3@*jjTIKe0IqqfGpbj?AA}(356ag3OzTtLfVMOMhQ` zj=V%hags$X#6K*Kwf6Qo(0x(-OgNUygiP^;2&|S-#j$G?5nQh&+>%$MRB13H`R$5L z|0w68ISFLUdUhZCP~hSi;U;!0_xhz$>-d(S#uF?Y^#ceJ>WBwEljcvg`~nZ7X<-Kfp( zR^r{VLF_9X^(u;WwLw@b;O%pznltON&4G&O#=~3r#Ym!Kmyx{T2kE3*^`WU@+=9m< zwVFcZu$+BZwF8SyBdRY~c@4VLG)xrZu)?_Ebl3U}-R`O(ocpv_MScn0<`3qr#Br`_@)mzLKrM=>wDitrm*{Ejp zB?@wt+W0scQgChP(JHx%HRLX1wK(W4wk;Fv%Pq{hbNbseei#R)mM=s`6)i=Bj_oqu z27@x7vqb4sp?fjMbGl4)t(62s^BV$K_tRHaKV6deR@bBOTipm))o}AUQ2!HR1K(0% z$wh7-TDyDhwK}M`Yo7p9T6Ve!6zL1{IFmv1{ADz^-V9@o7#Uaypt4Bi7dO_Py%b~o zWWX&MbQU(UI8SS3OR;hGo9jX*=8_dAVwt&2OWK{nY$!D3Serp;xl2uvgCh&*UXST5 zikfRMy!sqyG%VCC1MAh9jfVJ}HjQ79YbvGV77$!{Z1G~^bACXv&??_1fy`rSxvqqf z>ypOJ*{V_()fa-B>{`PmT)3107NzowAG+?jT)&?UO$7CBUQ(X9bj>{Lu z?1j8)qL+$o^Eq{%blFo~4Hr2@RgY}D>h}z{c542FlNqacfsyhdrp_3=a zjvRmdAiM{fNK7Hf=qn??9yxmA(Xo*uryf6Y>R|SP{!Cw{KQq{G4=!;eTWZ=-zh?Q@ z@Hbm%5t~MsoUoX!$RkCCDkgm(6W*-j$p%puERx-1HZ4vxsny!07?h@^0Y$yWE^Rw^ z2d?gi4xc!5c=*&qz4Fmmejrn*me&9J)$MOCN|8DQibPN@L@r+<^Wz0hzhv+*<{9+u zVzfJQ;>Fg=FtVlUNr=ZqL^q`&+QHH-EPV_k4m=RU&>Ute;ISBHhGp>ZaoR%imI*Vp)Z;EQ4X#TPKIYT;GV9d44__RCOn z#reYRu=a8s!!I;rv^a21scZ3m`8(&H zQ}sxxdrtRzgJL2qbWn+&`sD@8Gpt+0#VF-@`Ei@W6!EH-2DX?*sc& z^=^;Wbkx%zF+Mtc*qL_AWswjqKN4x(NG7kvq(@7RM9su7AmZ-OtTT>zp}==4q$~=< zcs{T}kvUzhujc{y6FukRLc#a4efXy*+ec4o<&ZNCPI{c6{xMPi-^n~4nh9jCB`7(0 zIixT#3s{9_!r_D>Yg7WEM_aoXnWcpT;^%QCfwY}I(G&j@`_N?kLz^TQv}ROF1xNTu z8{JKbBtZq@;O`l)BA{B4ybU||Ol&;Lk#~V@H`=krr zl!@mm3_64ZGY3LR+M0Ay$4#y;2x^4OZ>`_@L>budYe!+fgmBNAkAC&S-|xQpN@Cj? z8FYj*u?7jl?t*8!oz-V=u0D4G)ug(@xw*RX;{A#qUyfd&rk1*ygTtT~8GWq|I(_ME z!b3b~V%)%S;~tVT$$P~)OlPe34A1tUlXJ2M2As-lGtZ7Y_aEpBpWO-`f2f4=>RIbB zqTBYv7w%sD;}7#UnaY|y)ItEp2=!T#FXNhr6GS0@^6QkD!x&WE+?ljiKi6agSnR7> zYa(-(;SBLxf^#E%K{|(`=at0!7!ntf+y|@>sHKWaYUDsW zPJ)ED-d?-#3gbtFB}L?IVaG3^8QjoC1P~yKqdLMHgW^j(x1^Ht3$LQ4eD$wptk6ws zpRuUKhhJ~*Txk-Uxxw2Zu5C&n>(eB%zO5F?T4`YK;6Oh#;9>*!-ydlpE0=HD&CL|F zXzlQUIxCo!D;O)&W|NmNAMpfXJw4YK^L^4nO-#f*9KTTe;%437%B=e>0{gMwYWyrQ@yrBV1>^8Y zuUF0W(l41fj=~R<-3uQs_~TA5viIKUIfkdCkBVr!sFc#{M)u_s%&3_9#&jl*{MFY$7P^~&us*qjz zySMM0doCs*@UUC-y@GSpdphS9OU{GdwCfjsnWs-P1^)D*iHhfCCMpm1^0%STVvH-C zKK_FJ|H|{q9A}P%gjRY14TYKaLW9KBOC7~L>d+~BAO+{%JKzM9(}fiN)l-`Gt5tXM zK$U+5Ik=+#j@Hd-P&0enD(Ck?8%1Bd%ii6d-`7f2;{oxmPfqh55LU|v`i+nBZq=1f z!HnsnQjYTX!`4OGKu^A!@4>l*-*{)srNGPgz&N$hP|A2u4nbH-(a$~jf|}uPjui6; zQYb+G%MSd5SW|-_bq(~ws`UQO?G<$oCNemoj9=V>KG2x5Z*cHm`u1h}_Vs7s-@g5O z`}*kfzP{{W|3KfrWC!-`-^P9IfUvAb({CQz>RraOOv<|L2o3 z=#ifDXvM{7;|GK4B>nVIZ5%|A8VU@+T1X=nJ)k!Nxf5um6IH}l{e=pBsdy^eA7e^T zQSB{Nkh7q#6+Q^@6w#lnLKPo9ej3+PS(Z?elB$s1gv5}#jVTuNiY>6 z3p|2@7!iYT9>J0Wq#*x7APuD?!Ys(A<$i0cej@fV_aNSfeuRKY%DH&fwmrk&wpE|YflX5kUHcn0X+8L7g<(7+@91T_9g zp@b-050`=}K7MS->FdvC`+BkieOc%9$PjEIyckd_2Rrot7YGwYFYr=8NxvEzJ@J_H zYd5G()TVvs!82}U+Qm!rcka_qXXy3?RVMShG8_ZE7T}saeB#jPuTLIv#Rc?wF7p&{aNq}msT$@mPH~Yx_teH9it-$EDw zL*pc&r^1>~d4;^~cXPCo>->UVWgQqtCFJK?PHRff4@KOYQe`eF5(0!WN?0Fewk=nsd>0n?weJh?Q{Nqo1M%sXhgu4elR;+X&{Ew;(fw_6` zvIn;tRp|?ySx+nQ>JT*G*=ogA>A+{aIZ|KHxGi(@V|P-#AlOZ~R#c-fVVgL307Lvg zyF`wmdOO8tZcZ$}JOAa{OMezITll~ivJ{>u5wP}$8>=5lR3AH;7V`=k58T9@g$;k> z&bKdGq56@gmtQHZgs1(bYjunHbM!9SxiLW*qVR_n1hWt%Tgg~ z1{(171PXD$RrOfK2a~I`*QpVo3BxaWYE2c3Z(x~;i02+ z3@z@`1k(sbS&hjN=6}eEQjHSBO&K9p#)@MgNdu2P%8i)DN=sARGHwwQ9V71ug#_hQ zC9s>s2^LID&tfZ;&eY1X+B*u!Ac$c|%($C7gN9AvM~|osbpseRQG58p$d8O**74zrC8 zrS&_pH9yrRM%EgMY}c@QFgUg7RkwUd4P9rO^Oi+T)a((9F;v%gmUVn(|6IPZpW>f5 z|6h-YM%gM4U<3c(Kz3lC?f=`qZ=mD<+nN5q;fIgGZq^+XMFqV0N_sM2^vd#ajJ3GgtfW<@axYzaXk!M3O`}t+55y;~Y>z;0NKHbJKbG zVW^yGqPtuN3q0gOw=#+T6*y`KcUQdM@BU>^5ql^X+?MyZt97FiYgT3%las$TO zK^0c3r!@XM5TKiF1t@s;FUg>zJp&^*XUKB7z7B13%hp{;XA%>Lf&Eb;G13e}RU&d# zN~u)MtccU)WhQ|`?a{)O_jJqRr4h%XtW&GJWTgt$zA167)SxylY@XbzXhyWXr#r(K z*AhX&EyxvDzq9XIFBT_L#TcS2oG13)>>L#^KU{$D@tl|c1t+r4`hgds_(omT^*15b z^(I#cy>MTiyYqrd_xKxT6>D}>r;CzXF8nb6S-3)!yw&v9MH&#>7uLp+_3p^|x9}1I z5E_;}`FV^%FL{q5U|bAic!SV4a7mh-KnMZ)-VH11r5@VX{7PgJw^{`p46DA?-(yu- zJ2&O!&Zvr|Egmu~8&0)A!KMhyiIbQRuVP-WU*zM&SPG{Dd}lf=wf67obo}g zspO{SHbB-+^E)UI)Ngm%ygk6++T9eGN*enq3m1W|sy`vnv*lh7Qjz9fYRJ(3fzK zxD%>XP`@%*SGX(PjsQ2rb-0YK30QLqEOEN@R=b@)XPG z;P4RjNei(se|zt{xUO)QF2{KkeX&H*WNqEu4p z&iHKXE=KlH?w}AKIQ<=yr@~xwf!~kr!DPr!={;M#bK~>XODk~!GGV55^iIUB*cxh& zE{dM5w!1Gqu)DRDkwiS@N&G%6)!Ro-&jF_%7F9i%<)sj-4Vm%Z)?dH5dg&hoQGWxP zHNf2H0hD-N{BICwR=@ibt?PzYE(+V!Jd;1{yOTvw==~fC{Wrc|yZoso^f$xbO$ahG zcyQKbsf3)PHp*Bm##mj(G-|{4VB11Qsn3P%+ADfFm9W@>d9%kMe>Jf!&2pJe##6_O z)A_UW{XgDWF9)=?RSux~{-6GVeS7;Y|IZ-&)bamx{68K4Psjh$@&EkO_+m_2Y* z?-)vvt#uSQzdG{kgO3j#ZS-I*4V#1DBSydQL2La@Vl$I=Gn1`0(_>Gcb|kTl9pmwe z&=4Mvz{L5BGs4GCP@W^h2qE4MQ3HXWHXz0Zmh|YDf0$psap3%;SW8-4PtCDvV+R)J5o7~jfUw*?yd)EK@F4v)6eff>sU!JRX zcP_jt)J6d06#&>D? zim1rIWe;m8UKhsOv^fGSCK9b+!rF!S+Ht9{7w;Kz1`Co^yevZkXymi5UnLReQHzUVdJzjUt z1gB2cZMc!MG|;dKDn6&`)(90tr&j&t{*7EBR&^G8a8zdMPokbH66c?gGsS^~hp?{t zaR3Gre_c4?{_-eHxBNBpP+8VrDnlg-%)S#jfy=V0?Tv&7qM5+gWC0tihKp+awD zq980$x=aiX7KqaA)BMGTlHD}8_*fCO?UIB=`+*~n2)QjXc zSO$=?*aTb{>|G~}JT0;;ws1{-|I?CHNQmnxP@%t0N;-jJGL@v)tZsQ#l^yRZOgN=R+ycm+`8l=&L?mO;j4$1`9y``C%wwla1Y3CIhS;^v@ghcVk)HJPryV#|9m*c7rQI^INdScZY6Q+FH@^niQ&dxxQKz@R11eaMaXAW|Mg%u#ubUBs zES95`_L+6FNR3*Q@V)aQ*A=Jy?}ZmoE@>lKHE*cg7|k7FMJ9+wYR4PC$ofN-Xoe4q zw(5>6)~F|l2uWyHf^i&e9HOuc^wg*mc%w(riXNc<*MN{>d0izbecV7|`Vm6+xD)Oj58; zAS^f7=D+={Z*cD~_;0FqTV)9nZVMp@sF#3$H(u99qNSk`N%@YHTeKW3ufF`5*!1~# zfY}mA2I0_|FXEFge7yb&8UWTleV+>V#MPe!eGDJvroVk%lxh{*PAO8&P)hi&xO&!J z{Jfsn*)Z}BMXs`Dmd4u2rcE>uN|)GcakDnF0ZbMpte1=}iKAKH+(gBrfg(VWpm?P%tJao8(m;}ybIE?yP`IvXnI%iM6)etFwkS6)-DimsP z>+us)`U7L|;X^@Xx>odOGG4w0bk_+F?SzMR!b5*DH3HF2!UqeP?F#q|Z}L(z0iQWjYvs)M zF@a4|@G5B>%|RNH_UVp{SHw*~L%E1ULG1Wi0i&7{@V*1TnDgkZEQms)kw@yj;tDrv z;7)i!)%XTOWhw+D0C$G0-&%t6U2wYK>g>U)Y~5r}4Kl*afa+In%J*jYp5gMYWO2py z4$3a(v8u*o(eZJwI_m)&cSR9!;E|_?5Az5f#UHdH-;~b`_sGPAhf=Hz*3qZeoz#pS zzLR12_G!-*ai29`MilfpT|B)=C31=_E0@{90JpZWuryUa?{r~ZTJl@SAQ%6PCyH|S zbvtlzk#SO72Aa`xC-VW8NTNh>5Z^V~v%7SQJPB0pe$eqAV-=jIW(2=w&^sy~az>iscU2!e8wBW8&{;sHEZXqfbjEVzPiD4TEBElF6gr{(~7H6 zPeW1Uh)Q|{5N7qm%OV6wP?)0wEnBN&xF+IeL|&(J^LJjjdFN|_5PtF8+S@P6nZkN~ zNAIH%Yjs6U2MdiuH&{1f;nnbYo;!TsyICcAV$tbpM@?0P|`CPF^#5&g6C=gF0=@#1|=XA2ba8?7`BWrqzDkQXHkcWTTQe6 zAu+?`qKN_VW#&$owBp^ST=8(NY7Hr}iy{ZybAve+bElELQzRe*(Wu5oN*rdb2?C%n zO?xbkdS}V#l=Gr2uo0h9l8h8%IF#^D`th+0cZNe%KMf17u3q>%l}!=8RyyM0>1V1} zcuFy_PDo_j{M{EWY3+r!y{NzH&fosAdhvBR93xT>JqV2&K}+P{FWmX>Zv>~sM&2XG z_sy7h6Xw+9Vy{>{Uk~On!aB_%QrPLTzSLsGYJBJBbt%*|W=1z+1*9(-He^nKCVG); zt!uLI^;kMVo`3?Tr4hqoveTN2zekh&95yj)?>ncb< zL=m)zLWPF%`jWIG${M2yVhTQhAID2@9LpGC$Mc>DoEceMx+|=g&RR3PG$kH9v~}MhVkU$gqe0u!lNr*NWuH(A$;l>TQ-7E&_jwB1Q6AWmlzlnOzu*_WI-%w9#D&ZRYeIZP;^Y#u zSbhClUvHGl^!06uh)5(tM(`H0n1u!OsUjm*GMIn@ldR_gvQixKC-TKhR6_0|#y;!g z|Ka?z$ehl9yP=sFzGsr-7Mq(}9L0oV!B8Iz9Ormtd6S*LCK1QJ!k#0GAa;}k&+gp% zmb{r9o_;d~J0n;2{8vKii!2x2j!T%U0!&sft|wPmI=5AN*_-s(XAvB>*p2wU(deQ* zx5g|*OY&fa>yL6%?|t-lQLhOjZI&{uxLBQ%Vd)qRQ7Q_%t!S9-5!%_S2csu_coyPZ z<3XV^psX|+VqRoX8M*H6b1!3c5V**S&id;&*RL+q-ZJKqa7xm~wtW9^@uNTj%d%vb z*Tp;|3`8)i9PqNaG~Yw`W+=Ot5d{tYxe$MN~AA9br`T1T!96iNMkSmoH+@rRK zAhOeVDEd*12w!y$9>j=8xYFPk0z3_bfJ~oCg#ZVbn<~vR6AwpYb*%N6cDzF1X_JvR zbxsB8py{GO`Iel!(bbR?`F`Yq_|jej8)(jeEchBtp#39e)x}G^_Gm&;>o3omBp?nJ z<7H`1{!z0HrriqYCB;&0atcS9_o_&ALL;hpJscn)Sw-~J#t4Ipik74mTU;JwI!biYdqwzrX-_-PUrQSrYWo>{mIzg|?*bEI@m9iumk*2aF zS=p6%Ow4oh5z^L{N`DgLbM@F)Js=k|37onO-Neg5pIH4l=-P@PVl(Rd9U9ejvaS44 zU1Tb~NL{{iF`79re2ayQALB_Wwily%zmPLh!-*?mDUvGA&BxIqUEtSA|1vo|Xgp}S zS=K`!dH3`Iglj^P$eK3*t`Vx=sPC~{@Rr3yw$v@Wy7uAQt1o;lg0P=|dG*34N&y#1 zHW<$}FN3b0-N3y+Ty)S_Q_Oj3rv;8tbRHByS!$ zcq6%lb;1DagaU@)fMJArE|MZ6^VM1fXzS$Av9XaOBO}8nj*lHVbt+@;Pc({> zZnGsi0Dp$VzdOBKxQG_NUcK;w)b*~_S93rpV&}~5Z{8rrU_SsY-?{O{+7~wtu+7Mc z#2brXY})4Nx7WFOGq(6+6F2;dro!o#1DX$;IH{7R37)@p`GwU_udH6U5(b77>b@SS zS$}TGg?GnN$!>}^|L%QL8&3=f-3`0G+p*_}GG%BH2zjT@!y-cxNlYPsl}PSO7C#ex z&fmEG&E;5w1Fps^i_F3GNpPzC+8cjZfB$Qg-Ym)^^Xm7nCB(bNguKQ^y>24%H9lnE zm=G=I%D|cAr5h9M8Wmzrph-`%S0UAgjB`3{7dmR>-q;#({3nm>6Tq-aIm>$BvV34LnI+DH(@H%tV^MLfAewQ&8%g36t`?W zA8|q8X2&T9>PJNE_O0f!T+PMR4?kafT_GiH*_yV*Q6eYf5nlk^>j|QpJ`}xPHHVSb znY_Sh>=9hxKhr%JU5i;hZm#Ojc>lF!n|xS+ZAFTnyZJnoJh#H~0}jj&8g4g-VJy5D zQ$<y#< zDQQNN^(f?kb-yHt?xq-0TtR$cDwZI#unlN<`iPy7Jc+KWBH;M#S58Kv#SV_O$&>n$?BSn z-BNFIzr@_3bHB({gOuvSCeBz{U0%x;$>?XPP4pCd?CA4&?LY3avxzG0=t8r6aJT4m zcPO2U%ITp6(>&xqlMR#MRS>Kh8@19bVM1e}6}D~*tq^C6^cXA5N2G4GDy{56bOkp@ zy|=%7dF|5=pbzO&yvacljb!~qO5Rur`Q~fL*Q-KqSIJ5!Lf&c_`Hc)mFrik)vcFwp zL9!kTqlb6In0DB3;Hb1Rj{94$Tpy7<5)TI_P{k;$jT5RkBeTi0s!jrDrx;4z{Lf?V z84m}aai_O3H8MH>v#)>OfL;Hie{ir<|6^PJAn)@l&OzrP{^=p0fmCYb^uvdTPmMSS zQ-_B~M#sWmQ%C+|^wiK8ehTkAncDTp(ErX<&sI|@f5JI(eCXk$N5&4HIP~y|6TeD9 zgJZ{rj>BsRYL`K!CbJjcVerySm`@Vcj_7$ zhMSwpWW`(jS*=tSXm#I=d4dicQHT9 zV?cgs&i)Xq+nJxqx;@5+EcTh7Va}fUNg*(QpDq>sYN=v=7!=(yux)F$F{_B!5auV5 z4{F7@fz^s|dsVCt5sf&LO~HlZPw1Ns(yFo5O7y)y`s|?-$KbKUQQD}LF_kfP%SbaQ z`nl+*#Q>K&9MiwTBL|#+rIgCluKT+3MT1=Aqrrzx|stJ>$eZ1OGYCJmXX=H4i)9d#^g) zf3G^e|K4UV6p@m*ZI0*dpwI9xZ+s;B?JhdjOd?8#Zi94ID_H_~)f}YDRoE4)j{G{2o zcu>b_P~L3JxcI}?hE^8MMTaInY^}M6vAJ=V@(X|$R4~uiXx03##ad?AxKy(mJ?!Gc zl=Uny`x?FQD}3RM=aqR8>py&0K8z-`Mh_p84^O+fM$aC_XD5Qdf7)6&`s6n?P&|Lz zYALm;Qt3>XfmaWP{bb1HVeFvg=hMP-&eivV^^tyFX8MPL$x$jG>j!W`G#3Y;!=x8ds|LlRm~RX|Qs`MGicI0zsZv1! zP?btmj!5NH=LiU#k3fFV*Bp;BFKs@EIj(hbq7o+J&B;N^+YD<^X1omMG7~CDd9DXe zAe)fFx$EP%L9JqDp%pUbTi20Sa#&KWJm*Z;0-5J63uvlgi3(7;S_MNGV2XY*SEykr zsPSrL0!Ce!nRdGHFZK(na=Rr0i;A>|vj`jSPE&2Ef;*QcrttJcu#pqr(Bct$%JpLD z;y_YSUAq;9lSCPXpNfpaNZt#dIaM{6V1$Z*&F(+yD))f=@&EP0Bt2b%pmyqSatYR1FvrAOxR^w90K);|| zpAWfYur}PK`iNWBI%+Q(DNjF~e}z(^KNT=|oQZY*FVy>&xOT}CkHbrRwlS{$23l-1 zN~GTPOSkYAV2l@F({!+~!n8bD6ixdIE+sy*k~j=p<)p7x;zuaKt>EsM7bg*Zf@A2k z3>`8m*vXzC!fmA2Kya`CB|1uM5=C$gmZmW@F(Q+DQ2uSm3?8>%91grOzwuUafjZ4?Jv<4+W3d;8W!2|d}$&OR|ETsVf<++&x< zn<%)GbQh{y2MyLzexR1*Mke3IgqkSPONx0}8aCq`F&fhLoQR8DIr>GB31!-YPFA}y z0#DY(^eeKd315_>Qx&waZXE}|cnI+71XHzYzBF6R&|;(_<*Xu$A?nFvSJ3r1Op;`J zg^gpreb}ziW6Ix&>t?P+(%R8eYW?)JLm`CRFEC$$+JZQd4r#&c+cF1g<#|)fxbGR~ z_=(XY2M`%X-*jzk>_H4-y1~Qgjf0RS$^(-CG=+%3h}@ee7n*cEhH}U_g3AQe|6v{J z`nyuUu#l?imvqsY@_OQB5Q-Y-=A{Y{iX9Q5U%N=Nev>^!Qi5XHxgeH_1I z3$F?iCRpPoQi?7~ab__N=fQE-zPPdW?4<+I7oqiQb$X&3;a*suXy|OpBZ#_UK=?Ym`OCL_mDzsf_^=K&sW*NgbI@ypAB*pHQ>s7>#uG zkKe&paR;-BeLAG^_~?xg$Jy-#Vsz0NmZx%{A;LB=iYKasn52neDdA3wKnPn%m`=Pf z4k=b%oxT)9M7o=eonuq|*poyG zkXgNCZq*;QJCYPT?Nc>Ssx`@?m_Ad6S%D44x{)Z7M=yg|g5aTvrrSmiLl_+6qQ#G+ zzQmD}Ycfj_U*lfPtz&IQmUklyyPsAc_Tz8*u^Hf}2I8ulHhl+yMiwu=Sk(vZLIdj; z|8nOAN}bf-JcsqgnTBuMbBG*RCp4P~Ye~f1#^qT>a`I;j4C>L4 z-s(weFX#?0gtd+^nuEvk~&9xM|06pXU{stiL_K z{`yC@k^IL=iNpaC_^q1pGS-S%cy;~5uW99OL{y3Ct+`|jVu%}Xlg3(s$Met))kdKicSXy^$AK{(Pq!8uVZ$-*G68*dg_J_0NAfUqZc5DI z$(SbdSXCG}QdsNUz|Pqf1Dw<3l*{SX;x{%hWoo=NQco|jprAI2Bm2pk`=uh`x3}dA)Qf1dx>uF798M4 zgP}7##-mLvZSW#0^gQ(AIbZKWTyj;Aulf4I21a_i3L?~(LvUQ)Yswz`D` z=BCYvzt#`Y5WdYMfpkVVHxoc?BO0-h&%`WQuVrJ1YWGxi5TiU0&K1LP;h9RM#*tk> zb@Wl86d>ko8S^fo6;Zwg{YKo37IZ?`(q%+vbvcp7IURUxbVEFAlg6}C^qZkH*`8kS zPOD$9T-*tv3=7W^?D7=?7X6&)QQhTXB`Jv?{Q^DkJ;oNj``5KsUWV7#{_-yU@apQf zuOm#+-~K`B+MD$*>|MH*orh@-`4YKcU&pbxkrE#PN(AQOVNySe;~V33r)ovh;vJgy zM9a+LLjSl(_9run$)JE`5*R@ko+MbBQ?0^1*F_}D!z6PMS=MwbrqLX^HH*Ki6?4k1 zS>M=^>DDPU*&H4*e&7v7G8{sGe?}oCAFDvKsK=*;met{4)LViw2M$LegUh%oRBaKv z{hr#Gw`}oUGRn@9Q&$@M&7@aM83CwJPMmq6I~50UyM>gR$3WJ+>rLxOu$v@PtOeq5 zn}V?Xz_3UnLJv~0(PE6(ILLHooT0#qx5HW^#S$lW!ZuOSEVpR3RjFXntQ^odRV|z% zv!?Xy`vGjnoR?QcSlIiYvl`(%SB57=zzs$p!j_vkFJZA66{xpe=Y@DF76tqwdPbbC zWCt{RTxGctY~w{_v9`HD1)J{D!e~NcB_AD8@#g1U!?%Vo%G1*PF|AeNhje=r;xfQJ{rw_o$XMT zajL!<*s!u&YwL(0b3A<)HM@%z!y>DqYAfIBYS*!1ZPNkW!owKm4uv{LYv)V^*@XmX z#8J@A6BAV>t~8_3NQ9LP&N@X=R#Z5nZj6@E8sf-Q?YJ-_5{q@5gs3elg<&-qRE1Ja zrb23s&eUwFa)!8q7aOZ4;us>QtGUQTmXxDLf;7d58Vzza5p&5y5nPQV%@zaX1XU14 zxE3d80+=&a5v!S)S{d=AZfBg_Xf+J!<%A*$$?-=Qxh%(ag&-|jAxP1YN=f8(68b-D z;`rAMCyS*W-fs8tT$in5 zf&bzx=wF-${vgMWKjX;lTfWV5PtqDpNv(q`#E!v zt^X}ct82HuWq>QRXJcAZ93oi)aftv%b4Egiwrj0jtD%s+l(gNnHP1)Hmg_Q{+Yl=n zgmAZuA?bPf?K@}3h7Mt!lZqDvJL{;?$jCtdBFP|MZQFUB}(Bbzp7hyzSh{be>*bnSs@?CEB2 zCEpCCGcr*b<)f}W)aIV?CIjmE4feP3Th+tY-7{w0xMS%!E`G(X(!R_VYC2dmnAoYmw;5sob_-0b;jiJhl zS>^~;ujuCeR5<8Ra5mnRuPi%*&id;&*RL+a2Ht)1<>YZSbnFt0|(4iNFt!X4{3AN=@7aCuKMVhTFuQlKga5uW z@!y9ZJ_f&4$_dc#huxy@6`Z5q(>b>Y8cCjh&lJS(z>yKwJu^}10KRts-#dWs9l&=D z@Lk+H?ZkZ7yJ#BrUA$zOaDpmKFB+nU$W<`nVVTlGYu35>WKwcuA?D@g z*6-Ptb2~Y^Q~9}0rk#KLS>NE^U+~{*K;rv@Xta;+LY ztES1=SZy|RX$OnKa415N(6koL}OE zWeFW*QBa(bn?cQ9__tsPr6e;Nfd5Df}*1W8oF5X=Ct zTaf^f1N92saDEXM$0bW6R;=V+JZ_|jncM|upbs5>rD8rH6^Wcn{I&?iWV}L9@lcyV z{kQ0m6v3_3iXuo`7&3)RtPYn$mv}K_EVCW^sN-*;pBZnTKhxjK^;(wB7bI?T{fxv1 zxM=^jaQo}$Dc9>NIxs$-U;BI^fvu|GRHME5mAmKOTK)1%(+{*FaBUafSFzT(zU$Xt zUA^_3%y@W{(R*WnxDj_38v5hvrOR3bWu(!09^_5BGH*(}Txj+c4A>M?yAnT(r10tb z7nAUw$LI3BDo3V!OWus+it;F5#y$ED`PBN-#c)M9m_vmM=y3uvioiVTPF$!!Gd_bl ztmp`*3=l86ee0s>G-#gvXoTW`Rx?p5#qyg7w~@St&bqGN<^72XkMi+I9pG~sUZ~K4 zewxg)1Yd@@JPDV=^4j$`emDp8d9$7*x~qlVX=Q!(z!0AqcPo3^zDne}hMpR(7CyAo zSM4_w$(&xNp`l{en@e12Bv4^5w$M+;JEj~k0Lsy7xVPNW> zaE;e4zp(l#!V<4uzle($smgF~7rRXhZR(lHYnP-Bv}aKoa@Bff5#OCGmY|aySw(Jq zy>|K2`lu$c+n|<{)_l}3am|v1gVAr4KFzzLUWkj!t1H)y8u3@rZe(uBxQD6L9EZ6} z<(3#h67-~Apn`vBLDVs2^#;vr7;y?d?Inyyn14%43y4hu&`WPPR$N{JWo#-o53Te= zg`i}S0w%=hYHAKf5E^xNS=QK!H|d>?*kN~RM%ew95ms3G^j6bi9;)jYp`me90Ruvi zdx?aF@7}(1?zxyC1KaV$!2_oI=^^2J>Vy__LJK;7lIy=?nti$C7pq$m0?@$!Ke&Hz zzwQ6u*WdB~Z=?S|slxlwY98JE*+I?0KRTD2Dmg>wau3h~Q^nsiuK4|-oP0S0oU-HN z@A&vTKK_o6UoYye?v}Qeb~k%zzQDVBk7!mXD2<%_1`5jgcgS$Zrnwu0xTngEYN?M(Nd+pQrqjeYJ0G^_Q z(qWyJB2Z3SV)xwO{?Fk4gWfd`B2^nn;7F08Ttr6>-1apDEu6$Hue)J~P7R-Cw=SmU ziRcg5j_0r3ef=LA#NX0AKS^;Ylx@BPL$HLRf|y}YRi~>O#jNZ$m-++(R=G2vY0=(b z#T?9Ip79CEcXLMz!;uscP#wtAYcj_7x^dHmNRKk6FB!ry_PCj)(WFNoBk&}Y?)3zK zsqG_}M+i} zI$iG7)tfD%w?koPCdpyHWD2SpVwp9L`h?U}q(}p03@#7?7!L~>OS#P+i=G6$jTel) zWtDB%wIub5>rZcZzv?Wg0xL)mtV2X~Qis~C3pGB(Tjy}K9Rci8t>+G??{@8YUGIU{ zHP-)EE25X?X>W@Xfb0AJ;J5yLw*POSZ-2-C*UA6w_y#+^!H#e6pT;*R@11sf28}+N z_6x!}oQ>vD?g>zv%pti35&uh4AgRP?`i4@7mhW8uVD*KU+vyq%XS}tJ!5x#=8=WBY zOJmdQjVf2X8NXBu3UjC(Jna=F|2LYBG;GD0Cb-*TMkG?d5Ycg|K_3#i6YDYoZLI%I zz-5ONrIQe75kx`}-7YyrtTj!(6KDKS9%tMM((R~=oj?CX@xLgsZ58-e8FQkCI)EjN0=Z}h-OqX!<_fx*7!1`<8`9*6h> zH=PaQXw$~-X<&)4x`+ekju7#}s}>O>_Khe8dSy%FdfO4mo1@rGst3@JY}*#CaZd&Q1OCBD*^|Kp>7lylR|$gQzu9j>O1V=AZWIQ8iF?YW}GOB)XLBG;O1o|AnY~ zyq~s(nY!LcL?{)`i`~h4vW{h3$FiTlH>(I8x3q@%g0piL&&S2{%fY=_yy26wc#_u| zL%}z#;zm1UK}Y1N4({El##VFIf)Z9ADTb(KmAwiH0L2{YRBnLRCbo3Os}#M0lP`H} z&~|e<1O_u&63rpZ8@z9p(P1=Cp?$psp@JQ$w^p-N#=mi#}KVVltz8bY|{kaFbj}HRi_NL z8LK*JZ-si(-WX(#SbUDwE|tH1e&@yoB_Y;5#+YaFM;Yn-t-xGEZzopRT>b9zyVvMm zI(L5Uxn)u16@}6zdiZ4uj((5g;%~z99PWDeg-cR)jel(Q!r$+{`3lM|^NXS+jBueK zq9S}nkfba4x>aW;sdlSCP&zlyO-I`OSR%uPn52zF?}k%cc-85{$k6EW%0aB`>;qwx z6OWVuimTOgJr<4A3U9vi$rlRE3Yy)Cr^%w7S644BtUq^M7BRj=vD>dB$=stG?=igb zilv^Z8qCLk+H1S^lYHeN+pM^=X)2s4$3s>3rgg+^QMOwkN&A}4V>V^AunDeq`|Gdo zUj7rF^qZfO@cb-cJwCho-TR28_|m(p|M*BD5fh1qbr~CSL@W1WrEX^}@!QskXa^!X zMuW$Zfm*1Jn9Hi(Zg+9nfy(@Q5tSPo| zLn1BQjBZ1h-aMw?K+}#yuTz02%a(DryAAfDxO!QNk8ZSDmj1y}p9(i3_zktHACN98 z>ju)UUV=`fz3CqbPTbwde)K+}Ts%*RaF?krl6j-ee_!WlbjgdsQLJBJi~TVFhQLH> zu|m;C>0jMYZ94_wu829u*C2^5GAI5yUHn?N69)A}*Saw$+HPl4c&Bf}%1R`_@WbMlfxO(Q2I$d!d z^~EHSrQ6wQL4gx#;K6P&H`m6sKaEBMhkC&>%7xl=v1i=H>da=P()iWC^TBg>Ke%=K zn>Q#NVVOcWKEYai=iek?C(Pkjkd6|X?aIAIXPH^0@JA+x>@?|%d^UBy7#>z{1a>Dltc>;{2)gnvUlRZ!NOnHTJ z^P4QIvtE}+gin#&_V57yd3EvY)eA3BT#*KHd~P8M^C+95z@deUci(+({VE*98yxx~ zqnvN@=c}*0j1a6nH10_C+WG72?|*&g=F2-Luw)XbjTPHwl-+HoGchz1#BUlSGszAK z%S=6L)D^riNnYM`2GcXc)P>Bn9tkWKUbV{pBBin8%tCRxl`Ca$G?g>G$sZCnPvg7TTvD-1+zt z66~d0D)q;VCO*#*bYivEF21+=?cZWwvnk31*nQ&EM*a(Z zw$J=*e$fyQBb{!s1yb#*FcYE?xRr9dyonJLBMIUn@1rUubr8UDOIg%U-jekj->#m2 z`SzEeMt23)o8kbM>TS=~m)(sCeQh>8?J++ffMJ;8>gOM=efn4P6v`9vM8&Vdn4D6@ zpY*w~1oCYVG(0#U>^DJ?!iuNBWghV=lb-V!z9Sa(D1{ePJoNQ@$n1q?B<~U2h?8@` z@(JZE5*>$+RwYh){ZWF-gd)&z(p1Y>geOed}X)WI>^q$m?>Q zq>!)3v`o@17tmt)=IWOOpsdm^ZV5RF1>$9@ZI5g_GBY&!i-}__>GLn6?eBx`WffuBlD#84mI0UORT$zsK)4UL|9`^evujHFCM~=$4h53rOKoXaO7&d zTNWAF361jaz@qeB8zkjCqKe~6? z83Gt~&~y}FrB-y%!h&X;949~d#lX*dI!siiE>6_y^Usl$V42juE2PPMPR=7`zFlUY zbUS1J#N4+5E^5MTfHUI9P|VpB>=d*UlnUNh-kX7kT5IZPd{ZEkwLYwt>dMB$U74dP z`}qy5PT>6N$gdARK6JFvgNGUiR!#wP?DLb?gOYONf*jEHVhp^9yx5naRB(2(3^aD|W# zq$NIt+Lrj;DDlXLVjw$0r=Q%GVH7T`Csk=r(QR5UR0!Xe3i3IW+hQ=|r7ut05rQ|+ z#%pfZf&xK^i~Cq6)QwLFS%OPW!KJf6=;0SJv~FRZLrK&=N<53D)mwjJxOv+qy6}xK zw&Trpo?Mg>vnUTswzX*X5dq0y5D(i!zI^ws*X~|@KdfaMA4t&@J&B#-eMVRtc?#3@ zj}%g2DukzD%HUQcU4f8@X}x~YuV#RiAr-OI$-p?;_S4B3Gb zQ&d8M-z5#NTAfSdApjZKt5o1XlybRRh0vm=d{Wd{b5#)*>9EuSh+oWZ1^81{C+Gmh@@c``IhxF9Zrj&4n2 z%NU1F4oV=?zx{)Jg1}A}Zhr@~xDfI1!~+hgCd}fG>}{gz!3M_<$+jMLPM!L*%Ubo} zt&6*kqu9hkv0Fs7F@<1j{{&=2VT+!hy>EX+mx{4El1Vnx{~2@C1L*ue<8EC0Ok9X*3&w0`N<>f1M%ZrI}{ zaw3*iU;OVM7G7HY?oULxFCxicWB;JByu@!?$g%5J|GM^vkM81QFB-nfc9D?;ktD9s zloGWmIy=Ndn9E#B35=qakkb%TQmfPB3?C*`s8`_Fo{OB~x9@!Lo$1nS(*jQ50#jx_B9gorTb~Pp(lorbH`4J};!67^&N+(;T;Z_19;V-DQz=fg2U0e31QU zw%jHndzi$Lp=SzNpO*3|@1xW%n-t%fMp3NBO`K#cnoMvWm4Rz#Xc7Ylh!X-m^ zLec0IBnCpMjh^Y-w=QDj*ZgPUtPQZk7%pJqA~r*@sLQOqxgb=wnAyj^5rSKuo9FAD zy850bdQIHju_{ix0I@($zo`4DN!>jt=(l2k-69f~Hw<>4K-?nJ0G`?mG0B{PWg(=) zJug0C+G^##*vfq%>~c0boOLe#bZodS~p8@UA z&r`vKIUy*}5GeE{kAY`?u}LAPLHIu7;(z$!+UuV+7@H%bT5;n;JbkH%Hd+^q^%hb` zT}C1wTCwf7i8CZKE?ufIMwEq%1p2=K3NJ-ky}T{dc}Q}JLMiZi+(MyeA|Gsu2ob!x zILGHcFMI_h3{FH@sR$wyG?Gs{)FE<&>5OCDT-b_zd6Dv1Y-~J49D=H zi{OGjiqPH%OajoOtfe`}bS{wdo}|3Q7p>(>B5Rwd*Z=~j~P;=1n}m%vT3=%cMj`%oTBA;DsH{Mz+5aHKi%KG?k`QiG3$Bevt`e z_sTER3CA}5Voj!v0Rg&`Vd#*I<#kH4qOOa0S2k&?XCmZ<=-J3$M-Bw{Sg9hdOCmtm zsg-;4n1{riEpTQ_2$%r_@y>cVG)6T@&K3}=i%t_hKXM&i4DFlbc5+Ul8N+TMvXI*Q zhTL?6u+Pb%bbf`{#0rmT{S(4M2D$0E&)435u?~uI-S>e3e2d3p{qJvKCMQNAFR#6L z4qCi(?l~Ct`tp10uOzdCyO%E#+-xjJlijhpg4dsY@6N}U1>ZV1FZYOeoE6QyA{kZ0 z4&3Gg?3Z)*-~bn$;gg59@AU3)+NZ^6Ozv%_gjzMY7p(mB=*Tv+am7}T{>LHq?J_H7 zXRQda462+=gz=Q7L*c{-<@@GKj$f5bcy896+woL}E8QAX#RY<%4eo~u%gbbeW8c$N zPQJmkJzGU#XV{{h;D>P`%eahWTYFuGAuO+5{%Y-u*KzpqjdJ%FrB`j!Y_f^^<}Kme zANF0inz8r*g&^JddhPP38*uBIsdl5LGb;ds4CXeK_qnio*%bL@|L zBXg+W@1dTERbD~(4@D|if;T(wrgqc7rJ^y#3xkA@}JnVf;X#0v}i zOY8SJMP^|`ag&cdoAwg?YWV0;Tmzg&j>IDZRIF8Li?P10+!D+&AY#z>3%4L~0Q`8J z^&dVy+AVHcJ7vLI|Ay&J2GPn${+kFdjS&{)WfZ3LZ^?rOO!5P1kv}H_W#cSRA>5A^ zj7i1naSJH8?-Q~zT_l{fMTst=CnH2M3St6n(JG*g4>7UhhPd!*Q*<8NrJ{K9w3>ys zX|2sEE>T>rh60B-%nAmXE1})?P~b4?E4b3!v55p-TrA7jk&DRs>^@VY01ms{Tcg^u?K^FQQu< z6FQ;ilW_#FC@2sg9$}uyr0tIe`Pz*#s1w0NHMn~2p1VfHcrR-FDl(AUU!GgL{8bpH znYj0ntck_dni3?b zCjF3=bWe|vLpGZQq-0Ieo-Jdx7SgFNx_|>TZ_9=*+FkKR{Kji?2G)e+kStnbo7!1#f9%h;0B06LQ1R?%7*tj@}Aq@e8lyM z8%Vax(gJY335Wki3Cd!`8$4hqsJcdiMwdq4IC|4*iL9%N$%RNPwQH9}dJ}9CtY7t@ zDQViMD3NejTW>T@BvqLwHeDvsN+XZ;u1#z$njSX8JV&)m4R@yG=lT4iN4LZgw1PVf zogBtgAO|}HF2brXOGK$%RL(+XY`|XEBYWr%7}6wiqC7{>xz4x?jc~p@gSj>&i3I3# zQrRxjeqPkKi-wN}5~m=7^F>1KvTzQ=oqF}pcjv#aLos1qysT=nc>Bwj@4N`D+?2g7 zIdaZ)z`uWc{nOXTAB<6~su)UGZfgGf&^bN-6-8RKlN&sdMyesPao~2kiV|jyS75();UVc3u%dpo;g;J6Tj@`Ra2MC5rtjT!xYr1n!Mi`q z{}BNKx@aR_fsO2TSmJZKaCqHLd++@!Y>cpDn#N5fM{Z$$#uK>zqG4tH65$-UIb2sr z>PiVhR6{X}mtBTXAQHFgGqfjcXhj=>_SOZ)hPiWQ3XES`Irvv$TSei94Y*dc`L0Z zSxCcZs3_V+djg{Fb>N;{+X=?FXxDDaZbSmNWa2XO$cY&AMT&M5cxa=Md5aC22MUl8 zaw^U2B?`1?!3e7OAV8za!-E0-hAvM04R~2tVxSWP*ogt`!~m9m*$DwuA%NoQX=@mu z-bd4+fFt59LOMJv3RcxY=u9fYEAm3o^?zP7WO7Nf<<(1Ut?G1I1SF5jgHR|pEge?_bkXXvKhh{A&U70>?#sV z7udmpj(opiTwt`HXyLs&>{K8tqTep@8N0Gvy@xN74MQu)i++gMu)$`as^yi!05!B! zd6Y-xtj#*Lnuu!wS?OTtZgnaH5^IHUXWU}WOA9}2gO^YOeGr*3U5IE*=>@3@)xigQ z)yE2m!bl|zU(02+hXrg7n=2~7GUT+v=vOu4u)VM`e7sNZJe)rbIDWLfxoj_Wq`j$u zxW~U_zmUc;kzW(UI82YuX8O`9WtNSpVtP_Aw~#?}z;`ntAc?e0sy_cmc#y>{04#*+#l_eFTorYm-kAN(F4XHxnAX^r~c(MpH*HyG91~OfE2OaMu z{YaT9d8IHm7>Cya4WMI|7IV2Ci8Zxwf*{z)No8Y0H1carQkWBurNr6x3gD7Kn6OOf z3WX@##J4nr6RrDr-m?v$<-4Mu&d@xr170Qwfa1e?$g`@d^DfhjzAM3k9)mdp}f`;jb)EWEl7C;Wq# z^mu|Hid4TreB*hA91@RVi!6a-MLw=8@hr-2A~3dFwX;XlN(0!+<9QUDRC;wpK1@DU zrkT-J zN!kZJzO@cT;NHGQaT8Lmlkx2uY>JHmPWK=2C;>L~EWs$tRHbbp3SALz=~{X)9EzX= z=Lyaa#O>!z4mX}cqg~)`GA97Ey~!F&A6z_W(nmvm7=P_N?z^ELOsO++lzK#^q%s@B zTM&BQ2-KE$qp&+*)Hb?n$&n-Mgb-Y>?RfA}>gotcoI&su@Sr~_esiXGny;{Mv}pAiO^ zJsdljNk|YJsqoD!BJvl5yttxD9U+RNm$-<| zO=3;l_!48r;&cV%({+8kt+1#KBa>}m6pQJl6?Nb>U#(UP-swcK{4}FjV&gw*MZ${Q zDhQ|s_)mMY`}^$pk8CIYLMD#A24iY&9OVX58*o4Y_wH1*w0bcC0^}g0orXV!2cAYw*A9p&!IU}HAy}d+ z0idfPo$)F~F9gt3Nzd`5bdCt1Kuzq!!j3U?TH^H^lZc0mpL_9}__yVQ; zUL^M?rj=+_0gaAVzx%U)05VPhzpVHcu2wU?R9n1eljWb}y>r+)R!@X14Vxq+cVp)?Ec zQ-Uc4^9X~G{@Ae-r;l3+y=n7_lf#Ft?_-)dJvwrH=-83E4Mm0++tA37Q;y|G1~w7% zq?mbZ5jGd69w5j&7w&e8lU|sEh9+O{tO90{b#oC}57)OES8Yc;Y{SZP&SwR+grc$y z6HnH**hQXM3RD|9ec)A}ak?<44!7M2=BCF>=!fz0fe6}x3(hTLy)PV{NnDYgeDayd zcA;`amZpX+?4~BLh27Swb~i|0eV^(&p2zaw95-TCdXSMZAL3C){_r7jj8~C|DU&Sl zy!yo|!&;ZkodBZ{X1x1G_DDumE;onhX$=mDU1ck>(PW2LUHGbqEbw zWZ($G)lJcn2x~etcOZ@CR=<6H{k0qGfBBdPq~d8*0f=8(6(G9XR?Vjc(PvC@nl=Ak-b`<{)Grf(#_FJiLAH4@!OhidO&1*#AgQ`Xv1;RDmPLe(#0 zjbneB1>9*ImikzYDxhImB2_E7{~r>>8dsDCt?@dY(yuJ!QX-|L_3PhId7alWxnI&w z^a66a#N4|#PEdC~e1Ux9%S{f@9-XG!aZ{^T|15jguHA)&)k`aP&VSc_LN;tco1)Ld z)QJDI=X42}wq#UMLaG)R68JNS*A2u_1fPY4exKpe6qA5k+f=@j(1kS^AOwKuZs(es zMzc*GdcSasc8y+pb30x|{)-0?8pQ^7R;Y zZleP)n>ENoOfxa^v>JNa7&k#p!-g_4o{6ldf9`bAz`M8ia%dbtQ5O=*MKE2meSqj} z#79Kvz=-u5Edf(@XO(?_$}1Gu-iJm+L^#A6d|mQ(?+&*!9X1H7K3Q?6MNp=`p_=i| z=?T}s!eg`` zFwy7Vp#h0;-~RHYXtlynRietx>Mi;Cil!>zJXbHhy!OVsF@;~_KyR8PJ|;ZnXA+i_ zv{Ux;oPNjn(wm~b-BRfX)#w>IMmfW^TD zf-$oVO0Sq<+8yJMPAG~;1S23NSRFDFg#2|UoT-hHLTCnghh%_P*8cpqF=#cJ`4u7z zOdiW}X2eZtFNv&DlEf!bH|b)z^25RlxB}XIV-L3=DLmKDzZ|*muC3l$Y!iLSZ^{8h zj=u2q>PuH;2G~26{e{JA+TY8OdKQZstQJoH_SYA+KzpW*xCPmI#zU*X{6}61s*RXa zu^IY%MzHzaPR}u?=P_q`PF;LGzBA)hr?M?kX!9o&hG3mg`Zc^FoGuufB@Q(@x6s6n zT9%ZJ8r&jB2da>?k=mu{qFsd&JxC+z&M?lM8lntf+8qviH#;WykcM53dlYj|1n1>5 zbc&Lhb!yj!xwTd?_L{-1uvT-{Avt%R>!kEMWOH9`o@3E+VBuz74z0BauQp^5=-yZ& zonH!e24aWJ&WyA$cNpFM|9;~1!}>cXDsHX-*P#~JJxdQ9DNe$z`(U1a%Xs+PLnVH= z6RO<_)&9|kYHuXOdPjyxx4D*XbES0A2T=vO(U702uvG}c9kercxnWgXQN|UNm~z8f zuX(TFTCi^PQEPF&JpqV#7Kj*pGTv%46%RR%w?&b?T2OC{Fx_xzk;lQ<=YrTB&X8uu zDw${s&UUSwr)WEzN8@D;%cgR0uM7dM!0mvHCYOUBDIkn_L&F8;C_T{(WnO3MO^}$h zm?d5<)5!TXP%c-2o57_vK_y@LrodYZ6PGj2Net+9_WXVij`8<3zbZe%s5zP54p(wP^UFgAv`KV%eQ#2u97QDFUfFymfz7R?QCTJRsHVGBwF ziCsDefzAhHE16B9+i!3oDe$&gma|n0IfDHeF3tc+m*eVl7Hka~Yce_7wNrldZ3?$6H(zTeY{RxItQ0IZ2I=7&XDkp2pv*3fQ9LYLMfi z-yrgpr(8Hzgg`-Uuu+g>sKvX8Cy_I%go|eA#0E~64+K;IdcX>GT;GSV2D>-E@Ea^Q zB;3mNcw-aWD()f03$yYtPdBlBk9w_+JepN+e4Nt%W z>LYA6K*i!gOU!H_LPU882o-(QdaWGO>?EoDeZ)_OM$ zgrz2|*lbOSGg}+h6=AfFx3P4r)*Y*L8|}Y^V2jPajqJaB2li%d`|sXtwqyU@jz6h; z2>{Zu6?bgK|7^D6pClYdA!w(mS+ri?(oB%Fmgzyk$%;@`j@E9c-5H14*zBBbXykRt zrqJ-QiAw2duh`gR%%wgXTd29dY!e3Y30UBU&rLLX;1R17461U~*399PW)q~Tw1_j( zQ)C>5gJy!~>0>Q61M(v9c(av?H|d>iOF56$4fi^2HgjC05t$B6yX?dpG;w9O&}NBI zVrV{O-d!far|4yzE@|bOMch-)kErJHYW0KSo+?6=ROhZ8SHJTPi&Yp1>;i1@>d~YWDh@5B-ODfGs zFI%-Dhw$QdOsE=EnRs#7QH&Rv&>d-*F^k1cO8K&z%X#Ih!0Hau8ofe3aC|Np!0IRm zO5B@OpM+Isv91|Wuifh{Mq=jBPS@Z|Qfe7TCbYpvmLA&!wFh4!uQGfPAYGfO-1mrC zH7f{jspy5Bnp}()ihT$K^(J7_3f_!YkWf8H>_yG95&AdCvEj2h2N#z^Bt&zF`Xrpk z_eykWR!i8bMdq}P$y&j!V2J?%E+^>@Rx?>i5Jo4{^IB$Wl8tgeK40EC!5yiD#mN&R z!~X&O!V2ZRywOs0P#I^Kyj2caIAAlmFamB`KJQz_6O6W$(JQQ>P@|o<7hbLFy><`> zTi_uskW9{3Z|h!RVrf_p$y5W=vQP{uMN%Eot!{ob(3;^W3Jgp_?8NfSAO~udXZGQ) zRVdG9GalrY7DH$+s2^^0K_dDOU5>(gTa~vbT#C3neEqiFLB6p%0FU`td1KBXv?nTl z6}nbsH41Z#gvaSzY*IkZX<6}c4Rp9}p7BwaQ*+V6?BSUdqJ%u|xJoDI;A9rD$&u>+ z`J_DM!m2%5amPit2i6oxF*m5!${}pv&{PE%6Zpf!6}Ki3Oqx1#iEh_OlhXH^lV4=U z`HP3}H0Ly_k zu9;AbVqtHaqp*Re(4K@?)j%z42%sRG2`Y*+@bjJxayDwbAz2xP+r#-sP#&gMoyVP&nKn7N25JRQ<^+>eWn4{ zdW@o$uq(bhSu9~D&jx_jP33pgFvHBc9Gg6WtgaQC(JpB$3N2{SR%MY=ffk5dI7B5i z_J*I-i#&)u*__#}*}{373B~OoNOTmse_s6$m|*Tqx#SnC+f)B9n;q=8^}oUX?B0(4 zw|)Abso@<023MrCtfSRDs(IN#O~D(T13AVSLX|7PT!kwBo^i$R59Q>`9XN=Nj@Qxg zelj{m6M+d?wVm3XKD@2f@M0S{Y}E%E8hxy_nAA$62ZBZq%rq=t z*D%QUo&~(d?UqI~?Aa6L>4QiZ)y~005c%9R&aKSnrUnHNv^q%>MHk` z>Sl1&Kr|dLZ6zebks{KcBieOsM?kqf%rcB_!z83NHt%+x8Qxy#ST1UxOr( zgo@?1dG?JdZWAVD+h)Q><9e2p`iA9>UAbddZkPQx4~MW)n%lwvpa$_j`}RiczXN;s zb>e?I@jo5gaK|>>u?_Eh+pxGY+G!ZpyQps!7EkIX;Y>Si!fIq~H3&C}s1V${prOb* z$ejo@>d(4$q;=tV6M0HF%i5xEozO;VP{t|qoj-ZSnv;Xr0u ztjgGg8fh64i*6Zig=%OO-l*;Eg2^xD3N-;dTA)IWs_(5&1^ed-48xnAmcEuF z>NI-6d_Gb6l)^8^$(RJBt$;ZRa)cc*_@-Ncqn@ARcf^hY75-WXf;9m@n+&!oUGY0)^77Gm91UeBc(Pd@UEIeuMTvFSCOVKN-mM(I?2tCosDd z&Uv1+U2l%Uy7B5oj}0hec!?-y9dc`A@Z+R0a`|D91aqLcqCLD+Dj<%03XWaDV>#z3 zAl$JjHy8tw9aF=9%9*GY=^}z&fA%v(FMe_i4zEzS)f_P6b=D;hE3l)gPa{QiXLg>E z$D2Tcu&CJ!INV_tz0HSDmnl)34V)Sf_K7Kw7Fnf zJk)E58)lKqd0yTlS;VQjXK3#cWCM*P3Jbz{0$qWK zjSbU%>X%O6Qz?BUEEZFJ0F|zw8bLwZb1`=yjW!7FW6|EzUZoUmj_|s%NqS2>+LLt> z`o)WG0*MtX4bbWl1U}GN5j84UiMY)}k`)i26Z%MMjj=DtIxAGP(F3zeY_95rfgud43?Q zAd7f%j7a~;!mWmH=0$1@DqD%aMfgDhvr2Y^>g^e?E4D(GSZKGIn} z8bY=wuudnR2~ivP$uX>a`{Y=qgtC6}O__n`Gr#eFo59C3h%}O+R|F4=dt#q_f-i}x z5AEZ$@%yKo>Rj22t2u9+ctoDTa>rPBDd+GQk(RLVZUh8pPmqeVXU!ExRd9<5v*a(I zQiH+~!uukI0WN>o`va-eQ%^mW64S-m;!_7jyV}S6Ne1<^gTE;ZJX075o+K>h=> zX&CcUX+D#%>CW&;7@$8nHIBX<>Xi^eeNWj9@C^@v(`Njfmm=w~I0x?u2psr9gTRq5 z>4!pYGq(U6jWtd9ef64j{;<5qaXLtuM3lh#ss&jx2m71=rJv`9f)`!A>=r=*Lr@M* zm`)E0gqh#qEMRj=6%@)5{VU5GB*wCDJI1ol7z-`-STSFQp~OBA9js1GlR&2++&?+S z%PJU4JaM_>e!;JjA|NWFm_$MABpQ55Iv(vO_JvRIbVVg1;Mq^X7@iUwRJ+IZ8cO2b zR9x}ox?aPyF#Fv_AkO`PXUomyG!THl}#Rp*-*%N{5Alc%OXygc5 zS8)d9TH?NPcW`z#rp45}cE92-4N zqj?G&6HHyS_>>%mK=nd&Vq+JeL&fChl5dwv3!{o&D9A~lLgKBGQJr^HsuXI=cQZfS zjl5_#_qtnLDLU7bkHKJvi|RoK`>-w>6saWzl%#JssK#Eiu;<}%rO+s?G$Or4M26GR zZYXECs1VlV!`yiqB|;ue3_oNEHna#Nb)bf7^2U%*(LqeQC}mvt%cCoW0gvKbLF)kd z_bKdb8Wx?XR)|F?*hmV&<*1ZcrsLJB6@}HB^SP%$OmQo@skw}3P^e?GVwKY*&~v>> zw+i~hlrvtY9B`~#r0#r`9B!Uix?hh#6M?#PnuyL7YO3T}fv7nb_>%}BD7dOvUxY;V z3S`b^?a9sccpRld6BSb={YYXblK}-~c(G(s5v6AX($k2lD%d(7+G!CLfjFXNkF79L z)|@6LqJ}Qx8?-&bYx8#qGfH6 zU#bN-PwEt8C$_RVCx;IUm|dZuz&64Vwb}f>=2wJHNK8U3hj<)5EqHDaF2_@}9%H!t zW4!i20BPr`Lq|^>KQad0J#rX-J*j@gp)wJm_DEaCO=X;+qAH#S9H|nn(o;t%aA|L5 z@F^q0WTJ+McAABNHz(7{98a|W9|JNXn}s{Q#isE(@qYt-eS7WtPkn;}9sB=w{24j@ z@ZsT8BhEp%HaJioZvIkrB1jz`9vK}={Mz}Q>zpY$ZrM+zK&n4Ia%AlAi9-*cIPt6g z|47NV{{0|7mO}PBK@T1|KJ@U>BV)i=@c9w_QEW>*c;r7uPYsRX2psy{bV@l-vY*!x z<^6;q9yJ8xE8*8QK7VBBe`l&^tNK{PxKnV6j2#;~j+2#j12cQYi_xBpue6@@&wJ2X zk0PZ0?0&85(Gw?*j)WcmJN4YdLPsVm2Th;VswHB3=EtHmqxl(XXKd_``GVu+&ClbW zWvjmZVR_E_gd`^OGZ{c^eMl;<@tJql%hl|+1^l4#85-WqPYQwgyQnj7ekcPxtWTq> zh!HpDCy@^%)R6sYFa_ed`62otGTA82pBy@7Y<1b49?MNm1eyDz&mKB)3?4fir424T z9lK>nY&}Ik7yYyt;8KTU`d4`5fb*{uD45!HUsry-|15OW?cDcZYF8CY>F&O-ixFW_ z9Kbj==e~!!cRT;%Abj)CZs*_r&6%EY;+}#3oM)bKs+F3D{p{VQe)exuKlg7-Ke%t) z3v?F~5b7AAo~cw0q^=@|B^^#TpTp|>9CqU8uwhW`qJ-~Rnk{MUUQ`LC1z(aHblhP5DFox-NetXSfjTI+#a!Jteg&B!|P=dCq*ia~cMLa7Jz`yM2y zhBZLXcwV{3D>g(;>Oqmc(#(^D91?ido*B1d&P>K&w^*i>hPXwI)o^e%KX0}LAGBD+ z6`Pr~o0)92nI4<$>FDhgP-UAVAVUhwbQSqp!&$@vElUQd7r<)3Qd9(|(E`T*u!}_U zOc4@i17lg!9mWf|snG}FDAQW0Ss5WHUE{1KOV=051SZ^c{q>bH6Wrs3GhNnJP2of< zlp!iOL-r^c@<;De5CcgT>`bCjaMns4%xlN?V1*ekB>cFJaIcFtia`JZ4Z=}-7<%mo z({-2nq{y3-0wqbj^%o;RF>p@!GnL0SWfF|WLrZ3U8vDhHs!))apPms!9i{YQT$I2@ z&bpk-@uyBX@M`%IiRl<0uH0X|fYZ)Qt$;!wdn;4Cyk%_4rC@{^--Sj-hff?D866I1 z?3Z%Yf}S6U0gN1$&g&{ydfcnddK>~&p^1t;M{yn}>z%CzELwtUF~NQ@bt{PibQ$Nk zH!IFc^XpHvu_B&Y4{A%UNhDIU>|$W4=J?kf)2LfuymuZ0>M1`*WKM~f1L18& z!Hl9w+_0ZW1vjE&aoXYrCP2T%lF@!DYEX#l$4lrzXT1fFO;I+P64F^XR%4uTBWx^D zsYvRirPWAnSismxb;>vrJkye05?ebFbOdURk3bu+*ZBZ6%C4F^7gvp5I((($Z zOU@afPnk2$_?2o6vn=Q#Zi6BDMWCUI7J!E^Ofwn;VCJG4!x1R|kzx24wc$~CtfoNc zSvU5HDlxN#6KZAHw;R`zY)0tj(ZpqHB0Nf6$f-gHNq4J>w9W5y3o`mfHyGRUF)Igm zQ$#(5LCiv_cgtmvXjyLHCY10Hga?ZgGp&nOBsO#8C6%NlenE{;?Qs!u6;M-{|0!mI z?lhjL_(0`I7iA`>+>q#=Vo00k$*gD}L))dMyi3Vpx;pzHz9kh>^7TE~t3Hb8zOs!_ zX9amxoKl?(>yW z+0nY2)q-=x(r!$MhHGL%RP?qHdIog@28lVi;x|gE*CXYO zj4JZsb_LxUTdamR8%-568gg!#0~LMB%roy|W2YmMIU3)v-mr{r3|9_wDWK)RBWr7( zS9jLscp$N{l(tuz5N)BHmgZ2@vS0Rk%o@pQ$IB@2Nn;NVJ$mZI>66bK9XV#}AVV0= z1@Ft);fk01zKzvtJ~Cu|??{oG4v5VsWKj1#*vD22v6Y;*!Np_Q~jKq1Zv`(fQ<+-W@LWZfmW( z4dKK(TOsv6;a2b@9neWwNa}MK;&n!!w*)7&S*|}}Fnu!2VMyM1SPO{6#0sXW7e(P! zaRyXMDSagm8mB`c=}9#P(LPzg6W57opsV8bbgM8i1TH2}(jZ=26X*m557UBjX>Njc z(P6V?>DKE#Ek%&07z&3Ifv=b<00QOLQ6$DfH@T-iy6Q^Zp_9O}tK#>(M zqwPxD#EK2t)HW(&Xg#46&&o};REN)qO^TeH<3~oHIC1J%&kUbD)C8Z2UKPhqoIXBU zm&=?SK5Ts-)6D77k>f+hj?`@^GQ`-1Mvk0vVz^rLNip-Ng(pmALTwCXb4u?H3pWYX zSLuH8xRrQ)`M%>+6}3@@6rzVeqqtl_w@*=K%9SWRM^~lrD3=05Gn9W&!)=m#>I^W3 z4bo0N`AlTH5?E*)Bc&#=g(x50)dU+Ip2pZyxJ;vrR0gcD=NeqidJx1WyC}KcsNuU!)z`5MYgDRnL zgc~)vi-;x#2gRQ(mM~!#?k_s|l)R?%*YE_}o8%VfX5G2=k)P%%X@%qjOij2Y(1H(_ zD~0}32A-4*M7oBIu$QP=`n%H1Jnl`osLrGBo=kbt!{3*ApgZl1Q!>B8F)H|HFsNU# zQ3an}L*)#VN*~b|s=Bnq?_!if;Ina4PeNAU&V~{~^0-JJ2#2mucibcGS^*nLi;2Ai z;#Mg$4RZQfNGr@zdGN>sN)vWEkYMpK3$9Rr(&5+-!ckQO2#R|fNl5ddwL(LO3S_8= ztR^W`ym*YmhRTrKHDTe2pFWGkar=nZn0(B-DvgDrYZ5Wn_4Y~bQ}z}i8C#nxq|x@R za_j!bmSjK=&Do0D+(PUED-ePJjrSa;iuhWaj^;MegGQqJDvL#GZtK6Lc- zk=j3#_*8W@F-IoJsA5wx2xwq>n}ce>h~;+C4$3ujN%C{20B>cQInP8e(XTQ0Ss z56n25rUV?WuHE#uEpgLc>sD6x2-`G;fwHmji588#iNl9ugp$Z;;;mKfTcoCa@@-!v zPCblWrO7s~(iUPm#@3*SpjeJ#_OUx#6e*PKWs>$?8OBs(=d)q*O(PwJScQTW7Wgq8 z&@q&vv37&)_NO(9eb<5j1!=G3%=eYmMqJEqeg+W{SYZ0PW@;p3rg zagNqOf>`M4aEv~vNp1KNh?*6T5;k>HWm>i120={$)`afzvSy1ya5XO31q+ApY6mv8 zB_8ccFzy$7{W33C-lHsLT(ySV;y5ROE?mTjK{Nw2rKUsJ&ln|BEQG#n3>T;7W4O*s zwQ7_lryy7SQl&w(({T^pf}ta(SULt$#0A^J*Wtxgv z`WV|3`K|?AgE*DCIYF-bI7VOvrD@Okea$Ua*@s0$K@fct6AEQBTuTM=61w_S%_V%D z!lH$9Mv+w>d2Q_2W2Pxg6cLcDm>KxR=u-6N3UH10Q5HD(-g1afO~_zPK08!uOLMA0}f6Hj?9@PbDC zg&2a0ijqNij=Cs}xw*P9hh{RAb#F$Nr{Svo(cRKWD zAhab0<%#L_n$~T}4hYji+Id5iJr!jqTi479Lq$Y`rr4jfwl)-};)A#a3zN&$Dl#O& zbJabojVozaljvIu`4e0au|Tx$Bkq|76af-0J@0bqL^22p7iiifky9awkaeCb|9Lu# z2uY_UOMG+e4rruQ$qS@;iV-!9^YZ571?V+t)N*X;)*?n&92Tw1R!UXI1V*-mv0)<3 zh)H5kfKKX~2+?G=kq%uP_8lBX;&7ID-swWyu_?=l?;?pJs5*2@qogcsnTJ!HcF@sW ztg>f%(w|WrO@iZ~_9$Ah&Y{Gt!qyNr9gEHB*iFHnq@(MdrLZh%Vs6iM)_`U=67@`A z!<1w;UYo=tS@Fi_Bp+r8Ajjcr$|d5)#(%1yX12Q11jrgD z4Xt!g8<#WX7-D@U&4;v`$j@RHq`_faxg3V%mf>L7iqXql2Q>%m4EVBN%yeg* z$4av(oC~L-aPLqbxl#qi8KLh~Q2zjCy)of$1YfPIeU0jj)H6M!$#-xdLMlZgGH8_% zp4%R{aQT&I{NN3MAwN5=sFH->G~)NbKJ zg*SIcYraYlYgd>SY@_gw$iB^E>YS+(xh9l?3Xp{@;Ho@?cO9tb z2~b}|k+M^bqlmXDpsS24hzQt`l<=gBv89+==5;O;km7Tpldydg>!iB>v!uFnW?qlP zCT>M;-N=TkQY#|HD6TAl=rv7W3W#hYpQsnw=mnN=eqc{TFSIHJ(6V|bJ9v%*!X0J z0=zmzK^dd*NW(h!(b$cOo41D+n;VFg_$uhqMN5_7S2P5&tfS8{5{r?@THCkcha|Zb zKwBVa8x2? zzrqBn($S0$NmI073i>IT6Y|)|G`&AI|D$p9_mMc@PmOK@6pb14>_(M zMZ51UDENCO0Z_fY6%5?@8DZdMos>SM1EzZJ7*OaOS1CjuA5fYYL9GW zk3807Ga;5hX{j1W${wobDxVjSL&W_Rs8o(&B7m=ioL<6ra?$iD=|1fux`&bI#`E4x^P)*hM5i}IgeOW{?17tY zPZ|hqW}5yfmCE?749BT;{~4y&eSDx=V1r#m4t;)pakLoihNLrXXkyEwSOI~h&KE$X)qtU4jf?m-&f zgk*0OxFT(%hAhe<-UtdQ|zNS zkm3q;1BnP#8wc&F26B&Mp!&)>*Z6P_v|}&O%P@#$*yBP6oUl~`rvlP)4$cg`py418 z?;@;ew6s7Uf@cc!Wo=f1R$x(#bwn!Wvp}l?%L%_Z!OqDyK`}OcXxNU;4Z;kE}r1-cX_|9Z}-PaRaecK?lXO6rbhd8Kaa6} z437BsNqAH$zw)-y$QQ#QiH0W?)B>3NX+*;|PYkwNB*M}qT;HmGiykVwzG!NuvU?23NzZel7Ix5sI3Wx{Xp9-3TlgH8{S)sGAzIQ; zW@rXc`?*Ea`IiprT9Iz3ha&tf`FH2PdxOgLR8j5W?1&>%n?JgjphbtTx{I&pJcT_$ zLw{ZbhVT@F)qg-uXY*pc>XgD_OhNO~IOxT5FCYX{GTJ%V?OS$F2An;K<^7h<8^|UL z!Y5ZF+?Um6FKi)y2u(p#rnV>nK~M3cdCc7YAc;*GIy9yNaMbNiz?1J$q$S zrE3&=NwJ~3D@P~fs`z?H^ft4#la;+347<99untzb%IepJf@+VK(GZG_)8v&1W35?%9Z+~2owD0zaHIZpCvRVE-bV7kQ!Fw?wT&E z4s2N=Qs;?9nLJn%Vt=%Yw3CN{^b_QzQx<$nUYF>o9$TU&8=Ua@$=(9N0)G5+swHbGvGr!g_x| z8oy+Y8%BxXs)7b!1-N=FqElcwk;t7lMZNxP~nc zZs2Q!ZF@LzEK#l>ADe}{n{u-MYCtSR39vUz3}_m#Ur*zr!iZeUFT}`G@XIpFxPm1f zF_>g!>|aF4oVTGO5^XJ|Q2Av$=@&0{qKE9qWD(RL1lFB-Z(Xv7yPH8wXhM40KYxZzQE zih$_8s<5ZakXm60!>S0A}QCzC5Vhq_-*l*+LEDm%WFiqJi;5!$^!*IIH3la)hh$!iFey>Z6$1M zx%?~fYd3u6uwW0+E}Ib>;JZ1ahknQfjjJIoZItfThvJG^V#;-|@U0Sb z=bs>0pvLYad@fSO_b-@?t)1pZ_Mqqq*rGAym7~Y1)B(g=rEjNe_9#3F(O;{M(qq=r zBAq&>#cBSXHN@xdqjkU~>J6RUElBIAFvePQp58t!rl>z(+k65nHRVD~kz_g&U^fAF z&znn4xA|fd$Qsu$eo}_LAzW6G8XBnsSyR<5@oDzNAQb*hioi5Qo=d50rO$1>{Y9!^ z_^q;5#1@mDbFeO*POvk0N9Ds_T6w@Eb?s#Yjom)h3Kefat9~)dR zVC|bLb?_|pAuaB~jTAjorW6TMWzwDM=-|rr)w`6D1&C6GC9Fhj z=9zpSEmDw}b#pykGj^8(pkXg#&Fa<<%BG>+aq$<~w3U6Ws@#*b6f~cLpnvhV8&nEa zi*zTv07j+Es@(Rl*q}WrY_ZHTghh{G{5}iu1+5j%M3(#&a*5tM@YCS?H1GW z{AAiyaHkBm3r@nmnc;1JBl#ZBA_5I1iH0SI-mf5Pv0;j!)f$dXZ@|fVNAkC^gjE;; zYa}G`?oTVV{}$>s)IX3aN4^nMuATPbUcq@(;n)bQV>3NeS9Ee{$I#WU(rO z4PR3WNK*@RujPKD9#5644vp@sK>_C)tL7-RnWD%*22Hb;{xmE2c4XpfRZK(f@!vK<(8>v1Nx z3_sNto9DlAEq&%aI11oRxLe<&K+OZHWvREnTG=+Bm ze1p9t=f1)UTdmG``!9Yvj(`!JR10>(47%x?8F<&=AoV1MUoj!|(#;{KF&F7cz{I2C za44LC20JKpdU)P zSfaKgjDy7RzuzF52n&LkX;Dmzo3!%25kG=Q8U;Th9Kk=|R9+h?Sz*-FBWuQsNq)j7D!2UFz5(dgmt zKkv~+xG|^{n5d@kHavCOM8b6GF|5I0gwQX+w}Lglpa^{l|z-B2f^499C;?o`0jtA z87iUVyOuW9(v4@aLrz)}vF3yRnu)=2cT=WEg!`FtHAM83TZNS?-5f6SGX|%69z-F-Nqxma%cx|HryjAr+ z8aJux{3WBE+ZxvH0F1wx*0S&Scust>>en_3b{?yqr*!^E8PpFT>_Ab0&InN$0$h`i z)mP;4djGgs70->*<{XQ6@|eqT5v3?a-BTy!4#ee^Mz+dR#M;#ejI%a99}LtNfXXv$ zS}#*=BBfT}y%l}@y$b~g3wL$-j!KlCK1Xsh$sUC7gOczIg>S7_-p`D*sjkg$&c`C} z;fJ68&hLP?r+2tUxEGW=b2wC!S2$Qyc@N)xIM^4!YTnE7E*P5T^2iLq&heHZfA1O4 zJPY0q=#2%Nm*x0rWQ2b^=%4-hhF@m{a6^cVByqdGSk8UC_8GhtYTvuUEBfCn`d?LpP>UZv2R2jnepU5`Q}H$w@mBSIEP1$4I`0u~c??+W?Op7(vC{Xm z+7YqZF|YzeyX#x+d@T09s=ks)pI^$I&z3$smOXsBK`ni_R5%YiJySaG6K(+qEWZ0z zyf#(5zN$W=7GD75xB9qU!M%&`EE}I1;drln=6eyYdlA3C0Rf9pK^1ThrT%cgTfh(u zu(hxZQh;hH0E0B3S{lG01E`h(FvtR`WdRIw00F5<*x9{-y@|c~z4blN-rv2O{ufij zFHP_5y;nrlhB!E^h*jw!rc(oaW`<-<^@&=V6AaZYA@K)aSVFI5+}`^tmBaa5=~yLB|G5P4#D5nvZ8dN*oWA zR3Sv`ypZA9fxqU4&rS6oTC4sHXCgSQq~5|R*aC1}@gcTj141T-6pi(mTC0%^XOcKv zpHzqmz7XT6r>O8~4@H3ghX_XnBh2;#?*@Sod10T2wHgQfpHgg2X;En5fnrGzK~O<3 zPH;-_mGHlP_(8}3a)aJa!u}ru7-EO~pH4sh{+|Lt82q1+P=7@1345UYx6}W%hkk%u zzWUEqFi>Fhis(#A`2Qks2*dBFy8)w^amP>*?Wh&)sN?OZr|qa;J5Xsm zP-Qw$Ej#S}QP6YADUXGUkA)~tgo;muC{KloPlYJ|3KjnqqWsq@%IE$BtKtSobOX%0 z0WjPFD(-+pcfhj`$=8-U>hQ1JmI`T*vA02sai6<AI#X^E^GRHhvXmufs?gFzioQ8t=L~r)Rdny0@1jeoA}A7+|^$> z_`u#xZtr=%LGPav1h&r$c`C12FB$9$%;>!#_6!c25tZS+(3v#YxA2($C!J&T4{tW8 zFBsHsvi_`qPq1oMR%r9wVSjN87*R?@XFPKUSiT_(X`d-63HQ9L0u8p< z<+bKx9HS?B=asWW`&URcgtuYXVITxiwjmYDlRWO-0tjexnTkrdj0 zEvxF*KLYgc$*M=ZPQd$59nLFvc^?5f1p@T0)q`(^iA3KpN zMe_ruB`{8JAZA|>TfTR}*$ejC_aYs`&8kk}5c)l8myfs(a{ z5`3Y`L_m$l_lcrjSu^w@i=ARDg&!^i6%K2Olv}dN!M%H;JVz)QgD93!K4p-C$P1@c zV+%FzC+wU!51wcHyUiaJ&@Rwcxmpv*Uo{U^5aabVP_YPFRNgYS6uwjiHHHYEn4jye zilTlxjv^M5WjHKQ76o%t<>GEN9T2U6V{I(K36}$Q$(84YUfF|DFFUq0pY{Fq#6 zdie}veXFFhdKs((Z{U87TbHj#JMnXbgrAkosz;?}@o&%dQ-UhRAa$(!rQ^r>&K)yq zj?ibgR4u0!l9{jcD**h?oJl!jCtu7NvlofjEuYRRl<8a$@Ots8q!@y}bN_~W@t#DU z{o?1w-}e;qa(=uO`yZB@u78|Be|EA+hb*rY*^0ov+28lsJ2mSGer{2eM68v9e;Urd zPEwt_0iW&P`{p*TW+0W#hM&5BPhTsk+WB7s7*d}ee=~Y>^=55RE9oe%y=}h(fCq0+F*AU=W1A(%kF z&PyTZ&OQ5sNGG2JGZ zp0(VagE*qx4_kL9ioR$4q6qykwUqWRk6Y$M_IPmuRjX+5qq*MSN_%`NXwtLt5w39- zB*so}Qh0Zzt}N63O!tGBhrTEoX>Dy8QkVzBMDv;U}3Z#BBs{JwPeN%At^Iu1xFjL+hplHY2yeIo1`bpgn1ulDX5Go91 zU(y2&<*(m|Fh$(B&hZXA*i|1F$japeT{~a!2eYixeV=#oP*p9k<_8{PDNB{NG?E5z z`TXu6JJ%8p+U$KisZ3G8%j!gPYVbvs;y>g&L^0kLPfuefbAO7A2h_<*3rhJqqvkh;g6$lrqsila*hRYE|xyCR@%r%|Z? zaVn0+8;FGZvtPXPz~v=OC4H*cFS<`S8Ntd(-&Nror_0Gng!tThgJ`B^iyDb>L`m1m zv@%f6%qzZC^^K3~9c+H7guBku2y5{4ET=CSQyqaOim}TWK*MV0m|oxGk9o`*VNncw zr>R13HU4`QczN6tdpXkEw6wg1QH7}lI}5G8;$$W4`gc()mqS}wc-+KX1y^=_BG9Sc zxAcbn7spt+FBEUC$RrmUrhXNKo@HH9m#~2Npm~y0{{-=fqq$LPLF>IBt125GGF(!V z#Xnq3_V>PPM~ouzcA2$MVk-qbf=%{H!zAv!4v+NliHspOiKb)!mHJ(c6}OevpP$0D z{4lB8_lxAvz!gekcVcFFd4{Wh!Ij^gq+)nn3#IeYq)zmRvg=X%3-|9WuT^$ifsvE?9I%>~47Eh%DS5{y-#C@N}9jTzT4aX2R)`6VRuwF8@;c#)-brAh<8uW#XB!t#z2m_b(-oCK{>QLp$Aahh6u^^xn$m}2=`%k9R*_!Xe=igUf`e0uuF2z+njM0`~(Cp2|4bDAQ&GQPhYRyNp)?9TjBu3pe$KYx5ss{B{s{E`iimfX7oHeW7Df%JaenKI5Jva~;Pqwu6tpK4iT^}5Pt(3nZkij>qS}A(9J?pEX zRq&^oy^LyzeWG26F!$p_*indh$39pNaJa|!V*b|0cPsjjltmXU>}96j%5V86jWENw zX2kJwvbaB;<$yhlsY;L#u^2YE1R(?WOJ)m>4hJl1;R`>=p0Zxl3S}J2Bv2`J|9~5M zIG&YM_|KNGstL>?Wii=RT#Irq_&G}g_kxCux379zC{-zb1l&#A0XeOhJ zPeA%6+dWanth~m(*L}I5xNVi^J@6vIViwXRc1xe zi^N#-2ijf!$fv_H-2TZJ+lmZv=D?K0t&yV}tM@U^Xy*{xp)8!lhP&+6*Jt6xJ3??(~WiRT%*0@;tW&U;t%nqoYLyuL%${-e*T`?*rA^zcv8;Bu6i(gMW6zZddqtICMDCrLMP z#EKM*3yeaE@chagIIS+fsXH8>A@@~mb42cxFpLHk)^2!Y0=ML>`)#FH!Z;q} z0_}IIPAQ5R=HBZ|9nj0_>KHA=~FGjRr#5)F4@P zgEV_}1>l};-)z?*t1=NHd+t>K_Ih(PKc@awM<{vI-M9-zL2hyE&k1@$I&Ggif=Om>%CAA+Y8zVK>T(3BLnyNE zkS$WuV$tnh+$sgWJ9PF-+1;u(@Ey-uXK_LKNDE~1dh_!r5Nwzm^Ol(xDVyIRb364; z=cG+$A>(Fa4twfdLalFVUbA&L0&ADjP6eu%dBf_-TpNA7EMw9pU#%;Uu+k=4MtG=* zkB@JT=A+~fosSozO+O zTiaNm|K0odvD}gSzeiC+f0u~|L617a8-2by9v``<6Apmlm3EUTZ2`bsK~~n;+-~^b zqG-p^4u*h{$rTTcvom6z3a+{8k* znN8~|%IW5lyi@16WhagchS9DWN7+XsBC&aTyszuP4q9aI-zMZeJ_P)wg?gkxUcURt zRLby1D8Nmq!rFe9^miu}8{rmlD43X&d3-f%fHkbAx$6d1Qm&32sU8i1dfGR}icUr|jdOkw;#VgkK3oUTA?AE6 zE>ovr9Eca*u|W@=2$XIpH;Pn{R`Y0^6DGzC=_6@#2j{TWNBX__{Q#HoHBs_X$ISmM zt$6I}q<(0G%emTly}(h3%y#u$dY|%%{7O$rf0bFDH$s5}MxVz%mZ+vr5BkXU9wv-t zq_?cMUOzriiL+Domh2kB>7?W|9QO;s${{q0=oJ5xG1QK9PytKQyAs#fbNas_RT&8P2yT_eBOI21lIPcd$IMc zJ3Oo2Jr4usQ`b;_Q_+;Sk=~{cVZwmT=^xEDOT zv*M>ssbXg{8lRnFqAd^S{$Zh)(W1`ibTm%S+fUEL*C>U}0U5>`cAJHn zfk;idte?|2H~68TUAn@pqEhM!p_krQ{)rUUo-@OCWFJa$9&zfhulBUvIkDVB>T{CH zUy2HcL#!ot3#U3EraZCQ%St4Y#!B3jrY9)*fET;CZ*H_SFnN0%zOaaSm}0xpV~cPF z!K2{8MH?w|Qk;7R#Y7CZQJ2RQ;YXikPT@LE}0k0j^6RmLMp+WUf%CuQnyM*6Q|`^)Ayj zrW1=}IPU1z3cQLW*hXai%hyEe{>7Rw9c~)ceb8!;&ugc^DW0mR_P~)H=Ygm$(tKDy z=%A$bTd!w~{Vu15>@KkgxAo{d*8u;r-E#b0gvaAZaokQ;3-$3;uXobaHL$6*U9DfR z8cRWG)1idNWNeFY4}*o(Rb8*O29XtDd}MgD?4<&C*iv5_dp|z4GR^6x2q(Ne6swUOlBQEc@>IgXMIM2H zQkCTeNmW*k2V&j$!3qCsNdpM3WFWB=M*brLgs_TJpkGh=4^RG3<{V8kOah~T%*wKg z2}`BQ?l9RZgzAqL%N7J=tlU@6Vj+YFZVT^|;x$Qo&y=2K%m%E0-zQk{pMc1fY$e>TYydbCcQN7;n)#e*~>CL0Oe=5ODlw933 zkR%KkP{v-y0lZRrv9M6}%1lUM44pVcf*q}{naxAX+}W1KX^WohVYIQDo5@ZlH*BCt zxxv7m$aDdqyA@#JgdoZ>NYZM)bw=f$hVzsZgF?vi7Nz)ZuDD}cjFm@iS}o<++4;x0SI~TCXJdPNe`d5U5)-qlJ#sZS~(-nNRSy_`FhBe@B>sR?wNqVDoDfk(j_l(*h)cl z9L%9q+pe<45LrF3R4fJ*(9o`d3F+ zK+&eSz)55ri0~(g<;9%`bF_>DiFqeDhg*JL2GYWhm0=g~sSOOVZ$O`fS{Pi!DSM+e zqnLe@XphAQ>dLtd3QD(~q>ru{Y&xr_>jQZy1p#?nLz#9FQ&qm%s2&)Z;jJUFOZ zN=18iFyuhE#f%!bVOAw;jL74AMV<{=|2?}7_;2V`{ofG%)Q;W7(0KNfCnj?hZ*SwI zyRs>c%eKw2$qjBeK^t?oH`vIm=XnR%sn@_89YmVnFmG%!0y`=(A{H0mZP!tzX||+> z{@h7jc7sAPR{y#`^HArqJ)SWN?N0{fK`6gzFWsJ1g^k_6k=Ewi=pD}N%cl~AAqLx) zYQwy)=%w@rXZ|%D4`(y08wHdqn>TSW;utyEdp&d404LBgN^6~URGwSn7UuL2s)KXH z)51MM24Viw10r!M+pG9{=7qyVBBYF0NZhX*%{i^6m0t_(nWmBy&=vx1n#^cTE`lmZ zO^Vu!UEbF8g#2}njJ5>vTAA>>;S>6W+d{QM?`{u{_iOuX1i_+xXC}?2V-G+6$nE-1 z6>5XSEH2F9-aB&J{wVPixDbE;B^m0r$U)-znl?UrB9HzO{zfJ+8v936fjv^&f~c&s zr|AKf3KthJb^i{x3ZC4X_xtvGIm`Btcbq4*3Vy9R1LqKW`>tawV?Vrt>|8R9f5$B= z^}_Up`99_uftk;McCUWUxAo_$ui)z@b7$07@a)rykTPvV&F^D{CFkPnK;8Z>0raj< zD8a>hTlM1MRyH;rPe`3dGF_Oo$A_Ts^5 zcxh6r#$nxrFPgK`SbEXD?Ha9V{|*-|u=g>~ndAnc`Etob{JzyC103`YW?uSSJcHqG!Kg=Iz!X?G9qh*f1{-{U``^I& z_8;Kkf4&^~?Ke*5$7LbhHtzn-auG`+W^G_*wa@C%LIY2CsM|~PMkZ3irX4PP7@FgS z1dBd;ox27+Yt*p8dQVu1+r5^8cs!;Qm`=iP_AK4Mu8&ShN$%~naHt9-N-iHDUg{U@ zH=eo{kxjgiRz7d23;pdzO48LmMr+$Ie~E|E+8Cp4o;Fe>les!=tFFI4TWx8}lCfRYW* zbA67R2V#Qu<;fCo+Re204etzr4#^a7+0J0rMEX`eOV!rQYbVcS{$r}apm!<^iyLqA zU`})Gy9dtc*!%^*jNSTD%CgP0sRuPA z@N^Vk8WjE583HE2M!Zwzpx3pR4TH>@*XcW+Wn8JUgw^v@N!44bG841<@(vDWhKi-e zS415#-n;~MEwK9m;#H(ZAQD|U!S+-y2gdtd?Z5pki_^d4TnD$i&ET8H_neUTYj1d| z4h_0Wi}IW}3@%(IZr>nx>KEu}GwsF~L}W`bbKz9Da;_BWd)k^}6~B1}Jsm*5Q=k14 zKz^g)ml8-)f5>-F!Owx(2Im%AcVpu9s=DD=BtvDPyuDuLAKSC00wbVCeHf`LWySgKxw0j)s>PD(zRA`aa_zZ~dK zeuP=l4-x205>X`?ZKx7na%q`?FO}7at7Is;YJxR0H~EDQ>}lrKQoj=IMGYkyhie9y zCPMLERxPF@CG@I%oiLE4ErRkiFib3vNO9?wK?be68rxA8@(c8^aN;^uvdlDG+9k!} zHg%ObtnkNLxa0@x%b(wJHkMI)R39$Ua4l(5L9OQSGkI?}%Jpu)fz;%bl0n$dDHv77wEiQt#3!*KR&+%;l_0Wm=1~5^0aG zH5yHSeU}41BkfZOXHABTSB&h%M>Aet*)*adK~dMWAC5-LDcm}L4W}h426QVO~A0spFa*5M#^tUAmy=76xwAnV31ZB(~!Mv#80}z{ZD{AiV zbbRLgaU2F)izN{*`i+ZH#M%o6 zzbpCdkq{(exVIZxHx6JtE>hC#I!57mCgMNt>D{&tI`2^IOUG=sQ`L5l`*KK1sM)Qf z(62e6#?&XWaNC4Zi#b1rwySV+Tg%Am9Sda|9eCTVWBg<}ArXM(Z zC7qqt2FXEe^^koR`)fAs08@3b4Uaz5sfAg6x4cETi{P_0_ot1S&h4?(qtKMwT27np zoP@wx?&ToY5|e_(eL-XBQ95n27Wr`|A;hWn0R)x_wV!1N4<{TU?bbFoxUa zN3OwvAjc$jakpWV3S0W)0-hAz?a}nLB;VyWDFuvIQ)&A^k-K#;^@ZpA_u>+XO92cG zqWkX@dom5%auoA{E!=jBu_hN=gsG`(Jz7;xl)y_%X34<~yJ8EExFY9U^p3bnXDo`^ zok*XW$S%&Yq?ulzDx27ryOl)zzM=gep4RLNH=}cM&J-RVW%Y1bH7IarF5fY(pfAsz z`C*QIRqIOui$j$6P!ok9JU-X=rR zra1U+>AB7DaEAs$|6khB2FtropbY~;+~r=S@W_(SjzYt8Oc3b)gr>Zr57 z;**14EJqYAdoH$B*mQC#re~P$(`IOVG(%7^-txfb=embFmQQDIXY-QdLJIY$FN2j? zrfy$TyMfgV%sr4SVLfY=7A&ecCFdo!u^LUqC9k4&oF|#=7{wW(+P_V7N%xEO90&pF7iKjrBbAvE3#?Tqk) z3T#pTK4Z3XT#njRG{bjvr818c<%NQQb%75_Xm=v*Dd?Ov-zhA{MCHy_FoR!Y~Svu#t(#l zv#B#N3$~t(KXw=RG$VgD+CCdQS4f_~{m(AAuAu^b)A&w)g!XUvH*ZJgW88VCNY6(~ zJmS3_+xR!rxIUpiw|O3+KKqP^_8*^)>@Pl7Zn*_M?T4TCPmlI?|LG%{L$@kAl^s)cAkZ?MV@=}~PxeGoc}&OdsR5NE|%!D->wl#kZ7 zy{V}DLS?aR>(wi75&YYMmg7sBgn0I5;^T-~CKcYProR{h>e>0Sqehg7f+?uZ4Na>r z@;JP}LH7(IIjvp+(Nt1VXLdt|qw2*l5v^Jyx%p3T_60NleUi|=4hhP)Oz3J@V+Nd5 zN2r|Ob46d7Sf0_HM8_$$hgjY*R!cRXlBOdMsiprLJPZW1n9K75HJV~9SZDyupZuNx<|ciM)fGhRn7mih_o8CYahi{ z(}xd?S&~dKhE)D{5Y1iyZ{77;i;VYZVvPMVP>KP?A>Ur^)3x?RoAF@GpG{-|r^Qxr zXHU$IA1y@p2b=-5)N&*q3bs6ahO|TtX=8%spU4r+GgJOSnvRy8W-PRxA9M2GIF1YT z6l~YzuN`5wda~E}ec)qv7(24^>9#cQDp;(~ewx=N{27Y_oNI+aA=K+(rH|cq{$K!+ zu5=HCuwpHxAVOCxG(C*Z>8v(Cc`Or5db79=gQE3>L%J1t)8NKKdeAqrhYRr!uqJ45 z02LFo33N=gEQsGBy{bS$Hx$|5)*JR67Z}I;Dcytf0vW`C^C+3!Eh=vBP_19-uCq@= zH~#T8oyc!S@;iD7aTp~XG@`WUJW^;l@!8i)Uq$kjaQkTU&V9m(+88iR>@UK*zRwff6{pV8l4adS3guX@J1-%*CmE@%1jGbVWO?K_F}b!nzE_I{V~ObXqE>vBB@ zgGU?1%)Wcs1FK+-=2QXypWXty9Q7K>Jam-N@rL~J|B4E#$|4=F%n6EGe_e-ApYSoX z9k-cYzjZ+zhSFRqD(dbrfE&}`2^E*n`cmg8KN($6A5$4>Z-Nst$iWt0uUmDLvJ^~z zW^f8rxaHl9s$S@z5MSkUK%6naD~;Cqaxti9C!~(A_fT*u&5%FqtnMkqT_(*8UmLvD zUh-WZb%uE{OzE$~_@XV}vHL8mt%7)|XX>0ihtJ>W*qwGWz(_}58q6+-CehcY;xqG$ zEX%ZvHtS{@@lbTVX)Z-)HenUcch-~xlSeD(tE#>AVtboM8BM-Nod>-$G{zZ}Yw!Gm zPF`QVTkH%~RYjbit}|2(mzi)TV{PO#lgTtK6Zu4zNA>+`M`RL`0O(eTQ)Xn2#;*J2r?VT^d$Hh06G4@)- ztdg?R@=q5s1w91vI9YFRW`9zneUv8cioETbO>*_sE>1iCB#8BEucoaN>PImfr5wzV*Cu#nG zM(~FYCe`LklLI^z(-P^6@gj)?-Ko^H+p2Ooqu3!F`WB!vBpSc${&4!e1-DQ?Fndul zH+Z=DC#4{7dqEEgtrD*!Z@z%L+zSrPobwxf27N^XuL=8__7_1DjgTAWwlA5pI(P4^ zDnteLjrwirH?w06*|AoCqiDloh^iI@&rFmlr;3vz6~{gsTLoo243G2>yaoT8IYaWkj;wE{-&jF&hwVGC* zapj+8F{U@5=uSkXn2m|tqh+IBdsh7}MA2hXp_HO8IM5ui71!+hq5Fq%NhAPo0%P0l zB$vM-d?|dFenR)ce_S?`!M};2)dj+EMmva_jys);7xs{--2FD!K3v6=9|niyXPq5e#2kvc87A`Z+qlZUr9o@~3E_4~Pwz}JGQ|`X<4G`y-6r`oE z$$Ydrsaix+U(Vg7`qZ-VySUrini?P9_x8L%8{7Q&XyU8GSrT4jyyvlwGaAAfo4Xu2 zK(`xpal#S3{4o~Bkd33Cye5j;d;Z(Da|5ok7RzQ$D_P3O2}!-ah5Oxkc_(iXP%u-&BjB-b^RCV zP1!Yhy#Uhi0@h&ZSKq4`GVl#UB8d4kG)6_m7FS}+JcmM z*6)NDnxjN--VX=k;3>hZJnvQ()IR6gyqRg`x6RGBfzAD6Fgy5Z?biG@4mVdQ;OUt< zE|1|Y?j?>u`eG{k`5pE7aZ8vk1tLa^p%82BM6AX_jy#e$Sr4}V4q-0A5&TJvp!9P< zZ_}FMy^YsKeF<_(1C1dr)cl%M3+W*Y+y}1n!+9XTw?ZR00z}bK{6FPJA-)AVDFg=j92HhbL-|lNyxn*9+wbGLrl@&0iAg7z$TL^<6BK z-((?h!F05flQw3T#gO)vY;-4X;pe;fZED=K73~#H>7V->Po#*^)kmgexdHuk9=?SH z>IyAkKQVGW{1;@uvelQX^hL@mGwhcV7-%R)0L@5+sl`Rf-{3j6n61jS+zph%NxeW% zSPo8Siu^E2UHEpZWC`k`85;=RC1yf6;frpeACnt>mHMfV52uF6~; zD}jG^f41w~IFnn_u(&B!+LbGOY^av2kOk^#{@9e6fw{AW?Oo=Q*1Zc!V{ngq{l(G; z8XJ`V{lixX{mY?i1C1W&NUSD%#;T5x=jV=zxBU*!doMp;csgv&!JT&~#hxI2_mzAp zYGr%)+m6?l!=sVNYvKHDquQ2pC?ZQ9oofsAGj(z7YJTV)4B5TcUGCu805Q#qO9*m3 zl3p-Mjj3Oogh|>WHA0<5qcC6wx1IwRm$I5FVUe&|&!zpus4U7+LKLc7_tkHI6-Uw* z-8qwBHyDz@;2L#&0g|qf@?;(O$NBOVK=Y3HqU9n6+Q=%V4HF5Hov)r!ICmzA*o}XT z(qp~qj{(Kts3hfEq-!I3zOPcmTcWFom*0JtP{Yi>M%WFO;z4M^6`SAw3f}qSFvc`i z(7^)h8I!oCIftC|ta+XJUH$16l9w|fOg{8723J0M1aFOOIpN6N1En1uZTKV|hx{#U z$>(PhPn!wjuRH$gFI&-NyB*@y;Jw0vVNt}AGEFw3Pav{ilr(XJVOV8w4XLotzZi8M z-CN!icib3Ea)-O0j`1;wY+~X|g!oB6=DYjI3RV{j$&kpbuPQltiH3;t^+C#DXJ)B} z9ptR*k1#)&9SH+>BZ5MP`LMvI)PKcV{y?__OK3M%4oVm!sM#eFYpGqGv9CWco2JBk zP{a5w726$%v=5^+_t?7Y;mPzbKf*i&Nn8SC#UWAPF=JF(THzSI@NL)O7L@OsBS|Ez zz-K9a@rS+7x69^w`=d1{zAd-CI=*0hhpEb4tdmg4d6UH$EL5J{eEk6ojvlzkmX(uH z$KzWRNR6WUOmC6^e#S=duN^Qu&RU;R;{Rak9iv3+fi1wcZQHhO+qSLSwr$(CdE2&m z+qT`)-+OP?%#V{FXJsWPm0gvbRAm>{JJGv0F$^xDy|~}~E|>m8$Du8dI&azYO{PLs z4}bcE56};{2kR){XKg9JQypMM)nD&(s=rrHR5?Aa%1R?L_A8BLc`c?ptjAH7scbf$ zH?oPYr!=)oOrKKM&C&;TI#ZZTUH`7@Y04q@U{ z^ZQTmw`F=*63z3565C~VSej%Ak3c78u}xO833Yw`dla-D3S_h--6@0U@HC>^kPy02 z=K@wM)uH@EF+mUx1>%Z4L&H#A-QO>g%c1pG2qXxYvg#+TsG)<`yfD8X)6XAougkoI zAO4rmwc_x^B}E?fYvXiRH2|7oHx=j(43h&A;9^$6(w{@GfkGRhxN(*H&cSa2^P0+J zNt`^m0iMh5E5d^w$bnnWi|@W(4X!NHodMXr$l0%*8hTG7b{K`x2%k92hzEu1!`HQ# z>cDx8`5Ww?((Y$g0gZF7nH4Gf&XQ~d117YPCDRAFGMxjPqJ?bRkn=omeWtuRhQ&F@ zfinewawWiWrDA59MXF^sRVrcrG_%K2b0x56ik&Mfcg=k0%^(TqU}uh4@nvh_HL>P7 zXO8mr+%R$vGIB?8ea*5OZWoJY4YoCXjdk2IhS@E&&`%C~?H+s` zdGk#E2)3>Gt5=P$pBTjO_`SQ}{FobF-!-B9nEURHH-Uf8=H1=Q^IMHx>CtjRDl$K=Eo`JJI|Wm-LNN5JA~p@EZ48bayc~pu+OP7>Ij^5Z6w&Q&5eCj zU@ky&>WLS$9@sIMagPRa(| zn>&~W2HX)dno~u(P*J7SF9#mbODg!62>o(3dBfij|M1@MPu2k%US9c?7C8=lz$*Ye zR6O`y-)$|1J^VVq%i?Y|CJp#(B7PRW>g;dk&DXIGPJcp1@ z{E)utra%RHumBZHS^&rJu*bPoqb2`%4U^4eI8?{??nf1G?MY7RnGR3 zme(Jn)Nm5L=STM_?tU44Z`z|%-JYz|fb~_-Oij~AllEosAamq)0_$L(suG=`F-GKq zGrZ=;|NRPB5-%XONQ0*&Vd=#~Cgi$6IATFM-T;*K0C7=y&hvbPNNUX`F`qkpuEzz^ z9pz9@97zd8>xoX+@P%9r(;KomGsHe7)bQ!)?r7}pQ_Is|$ZX(};w_xtdAG#3IREQx zd%x%R;%D>O-P+dI(DcQsP?jfAv3KB`%$2Q#PAJOhfqS;x+<-l}$yek*YW zNA#BrS}hG7;`t{8uFc354_=EZU=oZnDxdIUKkThevFL4)hFTf{B=;}jwvR#mT_=l_ zLWD-evYU{M9?^-s!BIaBu{I(Y5}i$ovMLjT^b^u|Do`T<>NLR z@%+V-v>@di*CYnwE<=kK3sga&cH~$bJ2>GM2eL*A?wVPIXRTF{iNI!49I0F-1X2w8 zvUHf=OkZL}14TfUuf5J+l;R_2AoVnbo*-7@_p2f|@KCAY8^!`~YaG(Iz4t+4ApW~E zg3Eo+M8idN1D|DHcw{W=-#rLM749IzLCW*LaZT1+8=pR%){nx|OT^~4-^_1oB-KSf z$KhB2ZES08QZIYqm;d_a^FZxo@6ZN7tH|d86&vqja%ImHm6ilQ?(~Mq&-2D}Dn$Xp zdb+I`ON!gV8@k?(Ei%;($~|<5KQ#R%c7HnM{9YWqvJV3-Luzg~>~vS84-E)_I~20% z7wignFIyOM(3vHSoec+fuy=Q-(3gll@$lr-&EeoDE&s|P8oGrAEqXfoN>XnpBp7%* zt)>J1OrsQMFdrF6t%78Hc9P60F@!M0Exc7SXZN#QSxBx*t@yjTAsP}dMhuOs4nNMQsXg6l+eDZl zYy4^LYwhZ8^R90qA6?`>5BHp=x__8EV~%mG=K;{A+sj)>)G8|{`qow2>K>jN56yZ9 zh7AWcyc0v<^G&9dVy$WpHhzha4-&UB_QC)D4rBs71uVg5E7D|ziF?!K<09v$YkHL9 z3(veFIoDxIf{&fC03hG}VUC1MX+ic6k`dq67d(EE$STOoboU>U+ag6OKyLMNnZO~& zD}JX^z*Vwb#3rw7=>C@v_S4w?mc%7)FrjZu^2`M1j@_Jsm>+Nh$p+J;V|43J59(Jrk7TMTpE)o#P)Xe~-HbIe2Fc}s6;uB(m6O2r}hNF!63@j5QnjehnLpOg6 z%QL=WzKq+#qh*7(F{pl-Gd7+hpcdRb%Yz(W?-NHVw4l<0&=ho1RZ7skTl=6ZHjT9l*H?FIe3$v|LrHnsyO+wpm)H zdmIsCQM`9d|1~m0 zO?9R-VNZFQahg)LA@Y~zhs`vu+t>)>#d@49&;Gq395lG5?)1UFKuqUw=eTJPNB1}w zOn9pby~N#?SEjIz=!`+H-6<4ztDyuQwG_ni+T=yvAE*w+~~}9 zBaR^T-`p}tjw9JJ4{XRouXBwK3{l{dAxH)nnU2(zvn3m1aJsVR-LF4S54U{PW}DII z1&$%EctApA5BFWn6@YfVGQ?YO@>bzlv-U9e63OnnlWOjkvBS`7MePVDhD9mUY75r% z%CvM8JoWJ>AnA43u;UA&B##V8`!!T_)UxE35aCeA*`qEykLZ=9IG%B8Mod6~uro9o zk&iJifAzM~>(EoXmkK{rx3<>wHg_`Oi*^T~F2a&$Lm^jE~1LEY7W2{oGwN6p{o}7m}PbvUAlQG_+DC72NyB z5z49SUGIV>S(h+y02tydY>!5B_+xZG${a&vXW^n=nXhkLA2>TA_LPjT`#T>DEtH)~ z#VDWId^FshPj5v*%k?1b53zG5L3*(Xv=ulyjH6P&bfd;X)i@9p-YLcpx)%UJJmN`O z&1X!LEuxboFNOgTSwdInOPdI+03l?^)792wGycJp4OlbqB7_jt=!RuMqda&JjNwV6 z&e@|@oOU@%%Mhah4+gTv_#^vDEyq7Zdh%}Z-C@Lab9I_NNDnBx01^8N;#B|>nEu94 zHEn5wY-5>8a)R8@Nj~NtPMj|1Q;9ZQX$&!06pKlQL4NGME-tL&mSNbrph}Db;pl|# zjUnTpJY(Wv?lL)@2(1eq9sXO*P zBpuNr3{sHU=>J<;pid&U4^)# z4yA|Jx1T_7{&wnmq5=6lma25c5?|zeR%3iHcX=4&YK}&>gDCCo|f&AnQOq`yA8Yua7}5WlSt7?(Dy?T&z2M`;yq+p zu;~QyLq~_6Q_H`BrRXM1#E~I;`C&v!HCXLOrIUbsS-!hbdX77{6Oj+nc|e^ji+{E$ zQPMk+yEEYj_b3!Uz$d}$UV<25OIt6A*YF(I^ z*alg&MB76R)fmDB;kzHZI!ojM%>d?u?y6i?bpX*F1KkxD0y)kVMj0+2=}3JrOs)#0 zeBk<%O%gq0#WA+7Z~qYpV|za%I}iqkKGB@u649~1Q!vl*nVPVKtPm3!qlE-d>#R`% zWM|KVP_G=2uMlZjB}tHDAl$B=RNcntmYMJD2bQiBK$4Rt%TLST^2yHIJJ=>tyv?Nu z{Rfgb!a?IG{7qm#%qKXyoH)8Kq(r?umD8+!~V9b~&V>R2%tXJrfNllYm08C{oIPMf<&OxxQfDqBNTmjLyqHgcXf{LqYB z{I={U18kchR@Be?jVEqRp@%V9mehwG_ z#Usi%il=BB#Z&-&`IKJcF?8rAR5OjQ7sM1A>lN$=g;8`F%xBx1r?+!L`cZfF#veuz z6amvm)W7p^cA}4Ck?bh8#|6W0FaBtd{|ai=*F5os7A%89;)@MGW3@bWJ9Z!#A%Z2n zYlZTmLa+RiM33}94xG5cXZL6X5JdsN(c{Bqhm@IQHc&NW-QuagsN`9%+)S?RK{ z0(d`BUYS<9>4JuQbO;&-fnU>Rvc;e_ST#1oF5tDj?KM=G{{gM&v_oe zGgp8>PBwhIe$|H~A?HcKeOM>~j_GHoF$uU)`h{LWfmTAjcXz*3YSkRiuq_Y>m<|Wk z7Itq#j6zvs-sLcx-5~=2236B8iaSBe%;``=m*-3TA?Hh71e463~4)rk!L z5_YoQ+f7z!Q+%%EmKw{I$g?Douz~XjQX4)ybIQmJeBH{a@#cGYDh&mjz_hp)!3{v& zi`1CO%3(AWc}Dn>u;c-0FGcz)IF4gN4rKrWFF~*}iWIN8y1KfoXq&oH&*HAbx~S@l z8D;cH>KarJ8Ay0CWc_1O>{T8Jgl!Gj=%*lRe5iyA$Dm%Jp{tC6Y?8$j@kAQz0LY4! z@9?eJxD2`^hkS+yMxK@^F~*J3zxNR;z851Q?38QgLxK--xRl)=suGnic({oG8n#fx zG(r|T;wjgjooKt0(nQNAIX-a@4Ys8%)2>9pN9XN?rw1VSpv(KEDsyZX%v~fpq%NavQ2n z#~D39w2Vo>Ua3kUHZWp;ERrq-%_V%y_3hXSItXg<;Wmc(sV!nweU2L+EkfQpmX`sZJlTpRk!4+hEL{KrGo zq+c4z#qmae|Hh7QPxGgfsjKbRavb*0yQQ~cL-Y`+pE-^F5<`I0=fk^L&&`3^Ml3t9Pct_VIfUn!YH#%hrgP179=(yF#V;jC&>ETCFhNUw5~-LM<*G z&I~>shiaz*RT!@YA~{f{*{A-|y9ZjP`ES5PZ|_`K5D8kd`)AnQXqeyXUE~K-kJTS@ zzk`@Wb5;(=)Ggq!5Mu{8cDdK>!ePBl^4olKLSsvWh;FhYaWx`ANbb4(71Hge)1@-- zgl3bnbbIUJbd21>VlE_#*uUmtTTN888S&Fq)SSdX8Fl17B7|3DlFGX3Qc34puG%8> zpbEgzG7r)52~@o~AGWE*2@!tKr|g0fjFd`%gqyMuQ!Lv#hXR2jG@&m-NC4sy_Dq@X za##=yaJmcIB!V_1`3QlGa1t(@@g}^dO^TqP3W%J^glhCS{1iqHdex52$oDZys-VZD z>nS4f5wPS#D%uck9h$B}EJb5(`;`Mc&<3Kr$iBuUa)}Tzwr{)$wgJR7&Mt(7rjLor zXVb|sp#(=1x;l7l(&^y(W|_>Uu%#@jT3VT&BzcF_;9%%S`vb-}?tF0dyy$7BXkq>% z$pGmqLJBmNLr>k(Gre!2B5i=X&v7CZi|dbQm7+Hm=$7+iO0BD$~PEz;+8FWg3qMTNEf{|uO63H zzUu_O@JIdGW83X2lhb|LTNxKdcB?d0C+L%x&-?VQt}Aa8R(>FD-TtPGo1&*abeTx* zrhr@#{(1KHmoV66&}XTS!D|Ej-HTlCO<2`wA@Eo|tCsYs?+YD>QSpL@u6%|uyS6h$ zYb9Zd1jyS<@u0KkhRe~H)TM>OP!Ay0`Vx`oHbg2{Eog5AT?e~{SH+`SmE0hg=e|QV zt)G)7E!W>pf$G@jTfrudH^Z9^)8mJVM;RB4i1v`sFspUBzM4GYtYG#;F_aN9ZJce_ z$Hf^}E8rwm1{h5iP}d`^Tf?rfTd;h5c?OKp6A94$a2_Bh{A@jqkNMG&{&;_Q4U!W0 zewZKRm6Z(0Y8x$)Y#o!BSFCt{&HDN&hEvODW{#`M!}{_A9O|&k!QB_WV5T9Gnl(WSsc4e08=)lrB!(9|vQ< zbMS>2Q#FdCS&|X8xnck+r^)Sa`_~kf#k==9US~1V^&Ycq;b>#w7`dv zI<-sSmBPMWpp+~n&NKEc+SJ(7^#$^1Px9ADB4`Jb5pM`HZi1c|@!Rwcs_z>7@i;0w zQn!w|I;vq6m`0yYjNsDPnT$yJbLSaxDYo|d71R@RrJk%=lBn1F>u1g3l*<`?Sr)A>(e@$MrAUvgdUq({bTaFTBei;-WCTApb*o-l5VG;>WOySW-QjHcm<`n2daGU$dBIqgbR_0+S$rPIe#e~sIHAYKUyDPg*3SV6slRvu&N&tFddl_Vq47kYIM-Q3}-emQB8@t*z$pH}V^4-c9o~ce^y&DCnF%n0aqHneUbz?Q&=k4fNE2xkK z09zQ8)W{T^?P{dIt{#z{P5o=Cf`xJfmh;sSUQN{4&%+0n={4qYv3#v|Nb=*6oOP?X z24qjPh@WRLE7hRGpUePPedBtgb?IOf(Ywc=O+6KUONWap#qwoUrgU3BN2XKq!y24= za+BIRt379Ri^_-5uYfw zL37vZ=V>xWw~h(>%v8iqgbG{KBSY`1XT$#}eWJ|Rb|vQNXnC1;t<+8qTN3kwFwwvP z%x1jN-=78@59QTu6oPL%#3m^RVxqp`pF3pPLg7bGSWgIEDhId(V ztMBgW>IQ$U`H%jD*d{xs$KdAaxqoB@tKtB>KH>FcdSc{x1h7>2_Gsiej+>i*JPnyg zV{>CW7jAsjIEE_m0e8 z42l4WBTR8K&2miIk^IrX_Q&8~o>Ht6bB}LFU-y;yJ_Y-t6WOd2SJdg!O&MbTkmuFL z`npV8R3Qa&WE1gIh_t4XB-ZkzJY%xY#Z&(VHijcXklx= zXo-{~Ns5q7Utix@%7UXFCGJ@bU{B7MYrgSUH8$)T$;VkWlJ%&q>&bLoeH+j-u?RGl zQ+Kdz-|fgR2lz~lsFCt$lZevD%H4n{`{h|P?*^HkTkJj|skm^JL=_H;d!3MhpQ$}C z!pDVf`Z#aQ(}NO*A{Qi16}lI;Q$|b=QwT z*2n^WhX!(}Taux)`|pWJVbl$donGp>x|$qSxy#{r6dHTME$MdrD|?{(UHO2&hEx%6 zAtE8pw&<&X&3F_u{*dyP+zMKAI6KW*RiD&e7>T!Xo8idcKJZJnJi87}{DlGnGt~^x z;3V*V24qlzU08NO(;Yw}N52d{`P4lUpRXBQ4CktuDGqwCw6>x-#@ z%?HS?yUOAH_@$M>^e|0rN!P znV3pOh#u*L*H+PUPyBp^H7K|yt$6WLY9j7rwAO1u!U&7!llLqJD?o}8y565L7czY5 z32gR=YffOD#~5~pTGx*xRQkvuL~iv8-1a9^5zuvJpYEPjKw7dis=?BB&HljLsPAJh z-+FSG0Yh?u(I<9HH0aBQNVl9n%aEVP?$5?xEAGrGk%*ws!!|B#5j4i(!TebTbF+le zIRhmFM*3%|8Fo6r6M;}Ve#?~>w6@iN97bdB#3yyYU><{brMYHZXj4$DaaKR9jdXgXHe zzThSPU@+PAUbKiXo<|Zck*By~H z+CZRM*RZJhbCL`IC<*qoS(=m5&>Z8w%0Q;A{_U*mL3=s|>A##~1dqhD;|F9(9=vw9 zo46!KJj@1qGI;_1Kx4$L?4er&R|3AhoHjml$Pw%h)K_4xi3af+HM@dLBN57^*0vy> znAuq{Ap0_0iIA5kpz1yXGKxHo*l(Ypj&%g9JvfP%xFL;>8H|=G*I1=DcB3Vl#_@6T zBRM-$6pC@VUkAKEtj3tlCLt%+bDA76<~CJgTm{;(6%C;dl7*y!5H#tw9@?PA@cj8r zUTCAH8OmbAR>aqX@MqkBh>rNNszlBx8A$$;i0C5P6R}|UA|-vO|2b@K++j|t(v)-h zqGTVu3_NdateEePIRdgoYk?q1Fj0z*G9Uv6fQM2#bN4R_`9WEtaB_Qz0fZFg{je+; zh{C-kE<0*zr3UD0RtaB1zH^-T5~Pf_HaNezT&|vR$*m59E3+P7&%(pISUU7 z*9IXbKoz296UDOW6J2^f!QN;2kZ1m%sXYy;N=u@Eig}K^9r$u(IZIN;k|cv9=|m=UYk#*erxfHPIC0Hctu2^8TpUY?Zx;no;LKklO^26$9T- z^84!3vJ&XFOvhhG$4U4Mnpe8&fxQeuZvNLDo>-XCcx<6NR12^EI0{l+eYSAq__`3P z=^)!_Tnzz0v)H(ekCCN#Cu-Ftj<&d{x#=I$u8=7WI&*_i9 z6UzQZybA^Q#65qt{)r@D1gcmWS%of4ao<{rc7dCr7?deA_<$g8)($DN=cU8G(XltVgZ ziZLHq6FXilKd$an2l)CKZK1v=z54!Rl!}rRg_P*KM2;GReQv z{f#ewoVf7+eCM9FMYd-zQ*DgW2_2B>Jj%d0!C_7Kz0qCvTdSC0odkKIYtz=y4NoqB zXyo%b&2OSn`Olo44@-1vd<@@ZBLv|cm(i#sI7vKxg?&*{k-ja7*d+b801)8pD)deN*f4~ ziSOqxR3w{3osVTOKy^rvTLqC90N-R=ln5k{Lm(LsgkE~L;D6yZv%rI$2?tqhV^8xZ zBr^Kr@%Obdrr-Yn?Vo)a(RJtGafT!-DQ?31Gk?yvb9B~au&n}oqO#!*2jYXoMDgG+ zmbv1u+0d7L%wm_Kp;tbf__OO_H%6TIY$h`>Mc)<$k?*l7*V|(TCNmuY+VSNy*hQI+ zT17b0J7uo_lTdoZkv%p`fegP3XeoVW2v?Go5Es$Yl^>UNwDFb+`DJu?Et$Cri*S6@ zk?*f|aV+a9t9V*-#4z)nF17uf`DDPQ7aDKWb#%5~uBE#K<4Pf)_<8DIhat~kLM{TB zv%s)>l5Ngqx7#FhKajEI(Ec{fXhON8?XO;H!3=D?+=mXF%oe8 z-`xJbox_d4Ur&9JONVOcOR~svXQ|G9#63SQzR{ubauh`gf>gTx)tcbx>iIHA!~9X$ zMtB!ER#1;A8J&!7?A0RRxP8HzC0jGO?24>1G=oKa2k(D)^yb z7Xjb5QT;?;V-M5!I6mfexuYS|qU;(gYeHitT_Oa9MJ zd|P;~lHQ;tfBoX)cOLS&8J?kt?dN@)$i+>KrpCAuD(rulx2<2+w;p$FgU?n~6J}Vt z?$)a_{u31Ejp8r0pOE%iZ2zCe#pMuJ7lT1&q9Ivi)$uWsr$_b@Z%5TrP%cN zN8w*B|12_3E~%xU`)_J@*}}6^g(o@he^cguw*6SDrNlb^htSM;ZIxfK<2$vH^4!+i z%*u4O{3n$rWS8u`;s2W%l2iX&>o(nWOnID)D4Soq{@eE|e%VmcumsOrR5$&v3E}3I zj0;#S1vlMK}z9+hhKAA0Pakg9Hk4ny~ z&5Dc+7ZG^k|JPf(``uo;=4XFG#+I+H0 zIr{gDu+v_nt31kGg{K#xQBaeg;1YJcG*sE;ANuO4{dyhg6z&dt49E03Djo&+`k4K( z|6_}sJ9XF4jiEB*;aOF?-@=z`nB~PXdil3J?uI2#C+|z-D*^% zVoQS4LGPD*86(cY|LL&=e0GgST=p_hrX)KZa#HN=NYwwWc)zL%S86Nd#H6-KqC zOR(?}b$&Zm*rVjnhfioGH>46 zV&wp*e*V@*nPO1BGo#x36{9oN^A#4SZm#kMrE{)Y9u`hbg{nfgQ_s1TByr%4GVh2* zEnGG~{yvgb(;|AOAL^+SRF2(ej@-7fneM5RQ+1qGs@_L)V{32Ir$vIV4-|rkTmdo_ zDKT43$kc-9dBfAFJUlwzB3A?%Gan>bC}9C-qu8;0iYDMX49{5!9eB&-G|Y67b>2vM9S)*j5YB?!*A_2jQex(~vN6KtZc zM2fr6RntkOrlEm0CNpjH>-k?ij4_eE0jAYSUB!i z4NqPebDlDZch_tBhljTk8QkipF~mS*T}4SgiSpz?2%i7e2ptR;fT@XYS{C2>cG)rJ z`T`XV!vg1n_%zazo@!P?#7cYah7QsbKXD_F^(vOeuDErRe|4k5gKxpk^SbND6aG(> z_W<5e5f>G4HU(fxqS<4X;osa{S|8N@&L;l`XECb*k?#7!AVA)|v}ky}2jliX}kPx41Tt zRBMHpL7aV%tWNqh+k&}{$Z{dSn2fWL&6srok2C3@WYxcG^`LM=+u7($=9ls zYEH3v+#I6?D%5;7FF2(e(4#uOvs4IPNx^f2Y>Ht)%cxKJTcl>ZM>)hu{vdb1AhG6D z_C<@A?&z;sNnDeaJq6MsEKJLrXOP+hgoUS(l$y)~UjG0A`6Dmc<(?Tt)~7ES-tGB+ zsl5&+oa{D?*;0Wh`}<6Y`z!hO=SYVED-T_o8>iY7pISDWtIpda5pu_bRBu|Ha`HC6J?e0wo^f7X4iwcsrHpQDBI-A0l7&oK z7rh2N_zA&x3jq5vARf+n+1TBC#i7*1Iy$la`-k9CDuC9hV9Ju_B1Kq;-hzK+f}PkS zYUE;N5s|+Ur;8uAB!?ceNK7fBS2J%8?b(PXm){HBAo}yihCA#s-^IahK2k{NJMAob zz*s^{uvc?mBOw)0+mUexU}L|%;rSg_=jUXvbHL<5!RJNyci&=b&gzUvhQPZksK}LLe@w{3~GvH^e6ET@;cA`SA%n2O;1k6gc;)@~>uc%EyC$c7d z)(lI+#=s^A20+)Fsj-^C=84K!qL-B`HDZk^wv^NXWxjE`3u1Z>oSI2Y#DgYLZN6F$ zW2aAz8?f1FoCTP)sc+(0!A@AqFzT^RDa1v(7*+PFLEQPw2SJT;stO(Un!u(K$EP+D zmw-5n=5PFM#V5}N&ycBCfiezV?q=Quev?+N`AXzzeknu2Garrkz(*!DAhY%YH3wsk zqYZm}m=0sqU+rk!7$mylp|(P+?RVG<{S4VnwcRRe-qggye+l6KSQ{0HG#@qPPq!cQ zxCt8eZxbaH7Oe!!s<6E}=OW}Am9iM$YFd1V$Zz%#VTSAlpSUOdBo8XGXY2k(#qU|JyVg2?33%EW7D2JD;uLEZb?RqCUo90HTkH zsnEngU9DA(h>^>XGDW@60y?gJuOW|;Z=zy{yaH(eq-(pdBV9V{CF^L8`{v(zJoXVdB5GsYwAysuqqlz6TUmj~3j@Ag!&6ihyV{ z++p(+!=5JGE43xeZg%)o1@t(L84J~T^vEStqy;pDeuF5m-442z%nKQ} z$%@x)wv{61K_$|u3)d}K6DS;3(BA0OY7dv}%OWtZLV^VvY<`3rTN*-_O%-9?hyFrUHeKp@frV;}QQLu{-IHUG zooVGJH>MM9hcaCUnuZIFzZIMzrrl@Ji642TGek4Kr)x_><84*3$9n89pbQ9P=q z(Ut<)5*5M(Mueqb@h1A!1ZnGUf|=N!p}avqK6r*EK4~ZL!U$2bcsWQAa^V6!h8v(V zwZgW5+Gj6MMY2CxAw!cOb6%sNlW@pZ&sm6kk-z?MRpw%f_}-YM{dsT)Oqsi+CnF~vs!jfWd&UfFR+gZ7#s;Qm!{)F@2Oth2MS zUK|ON)%r0A{%07W6RMW`_5G^H%hHR4HT83@tOwk}$M$XaX(v-Y)JhUQheI}$F<^id zO^&2whgkHl%j4$z{Z7?C6|foYa51=3dpk_BeQFbWEJTc4Nv-3!GR3jIGsQYo`bfrw zyo-mB##Lne8CQZS)b0^&;$>9hVox4PN?}%maet7TP&9yed}IYTXP|u)Is#vMA+4*T^E>>&Qz_K&Arz z_U}#$W{frtw5Nzk8(Pn`p+I&#j~jrPggiT#gNeMNmZ|sWWav_h_?OKyhG)#@gDd_WS?f`}qI_?241unn8k69<8OdnLjHHh@~m+PCSpO$LYMB=uIO|pB8Vw&Rq;cGMWM-+Y{ z=4nnLAG$`_AaKn2-$yuvvHg?v4;~}M>cX49ZA;2v=M^QIymeu)xT_w2VD)~0pQsU!fNy6(H9lM>Z377vczIT_eb zz7Qsgdduh!7|X0iNd}QLTt(&_o2n0xyIwPJ56?;~N8 z=h#)6)<}Bi7Q#P4f(LmPxos^gfha91X%ZQ|Ks3y?%)PT^1c!REVran;dC9%xpO56k z7w3PP+11scG$_sf35EanY>gs$Y6@*7)A{_K?^tgQbwp(71hA z1T6SQNOkR>AoX4d)5AZ>0b3xJ7}<5kkLsY$P4qrhTVZ*xBB*Mq6QUFn2Y|%^eMP5> zeAKM?{#Q9TPXdAc^h4Sma!cH_rB)M}tfM;^c%3YQDwX;#TqlcqfPe zr#EV%4&E(Am>EJpg*q~E11?A|1x_{9Cm@gcMZO(qdZ!1k=a8mO()60L{R0F=mjzn7 z3D%`phv%k!6&wJIOB4L?2~P-Gfw&41&X+`)B#|&Qm+;7L7=kto`4_yiGCzB{srkvR zU8ClgC4zwe*TRBNJUR(g$d$jo7#-B(v0|{Bv%c$b86- z4r_f{B{mK^9OzQk9EU=n&|#+QiN4Gw|4O#jQ-9^`J^~h+ngI`u)>@HQnBgIOW3fPH zp9U7~5h=mJKc0xBy}_{)iZcfDWS%wQI14UoFCF4XvC2x}dgvpv2?~aw+V$Y5*DwHEfy2{5?V-wzWO^R<%$wW&)_4?1v2oe$&l*m=ixCmA+$3CUlQ zm?K0qQF=GYn6Z9Lb*4ZsrgDpXI6xjXYA!Rw3c35-(4 zLWrt~Kx8)hd{Rta1xZDrmJZjpNaUe%x&Y8t$fKpIlbhsEGDQJ50_4`jv|3(PEA-*fkK0p zS)=a`U?Qqg?b(lht?(wc5Vzsv1>(xOZcIWYeYA8J@fuMt4rnP_)<$S5zDO(mAZ|)t zrTE5Og{tl&v{imyVG=_u9Lv!5oIFtfbx2{vxlR%wX`^vjSWsdZYC|k3*OI+;s})KKaEiOQ09FW-8D*pr-Dm*43Ya_e%DnvL5?4uQ86q`e*rJ;uW zK;`rrkr>Y$x3-v=iy|n+M2O8w$e7HQsp@bEOr+3G5_69Q{b8Zf;_o*IG~sXlr&C0- zEZ?>kauq8{)kN|XG5ZWz6% z4BagA(l({K@4cD9q*TjbALO9C{J}Xa{s4rr#WDq{hx%fpAwjR(AsheF(+e z66gG>NJTCNe<5D!_g$Pq(uNJ@WH!2S57tgc5RCe9ZFzNVPyM{Sr#7}%Heau(hJ0li0dOtjnhh7x*%AsMpn zbtLLQ#<~u4ibkOs5Aa&txwP0WcSt@P>Z7?wjl;({xhEm4I%h$CxbF5cQlogkD=zSY z)MXoRjYwrcB|FUY46hwmHp2xpO(WSVb8%e28f^}u1Qj74vre?SLF-vTYf%<%;{Yay5)_{VkMxTEuDI~MzQ(}(Af?SA}&QooQrw&Qp-)Jm|J{fEG?e^YB?F$;5X z43)s<+R$Db4Ax>VUKC?R*Y2p{5ET~|@dSzb!aNaqNovrnNRitV_p$FE*&#`BpY8~I zVd>KyIz_M|Vi(h^kXv~vk(s_$7p@ISH<+k&m=v6wnLEvlAO$iTk)FH8TU)a)zvlj(R>D3ETFkv5~NEe>=7j zbqd);l#pT$eLm){9@tW~rdJCumI&5MiIBtx^*0-8?82Wq(n~kzMp@$s^h`#m-C+ay zwT^l7yfa73V`@1slZ5>6!ZC1e9IgFdx6D_g-4DNMn6xF%^?Bb9|6^#0FN2?BC>ppB6*6Q_FD~4fd-GQiMW2l# z8uMyKM9x*O@%KOz1({0!|zj5gAm(qjO_-xwf&pqoy}dQAq9L?YT7?z*1Z8g`LZ!oz!;N_5m>~%C2}A z!D72_hDEpgYQu_-Pmd*k%Co4=*+!G5BhtQoB$`Sn32pA}J?w>GDbnFsQgFVZxo>KJ z=!oUg-K@<9iaXH>a|KQ=p`bh)en2a@sIGphND0~S zj$ysXXs8|@dL6dJ-%iMj1sYB@eb=i>);jD6lz>h}HgKZ=nm{8uk(qr|l#dgH>ylRaW-C&&?t`to;Rmt+oIf~OfI zCrFi{4-?X95v#;mE(mKcKe{##gxddKek6Ol;Jz3k{$_?&PABbu!}+PEiwos4tbe(=nb;tBR=UCKFXz9%}iHkYBlYRjxqvC<>#wJn02}~ zJq`D7{wUYVYVIrZIZK~vTKwAG969RoExN6Bhj{|tyt3?<$xQaq5fE2Q9lM>#BR7?r zMv}N}bHaQr3H_Z-L@-O52-CFKecJ0@^2HDL;ZcjnpHgS6l8#*o0Xj#FzqOx$Ntpwn>OhI{IZ1Vb$W}tLd=f zY16K~)Di9HjV?N9EYiM%Jo zcF&0M$$ubXWXwQP*WZg57PL2IJQ9)O@rfwWqCu*JSVh`d4DxDPqbBp@4a*AoC!Hu5 zjCwt0Wr^PMEHO~pE!Sn%iKEusCCjcMidhaJSPg=WA-NND82_km%|pt{*0aK_foxak zUBe3B=)Koo3Oy^VSQwE9`b;Xm2=sa-gO^XgcLoM_gm&1p{~C=bdTPv~*1X#Zhxl-j zQFA7}W;Du9v{79hO`DI8A7Qr0C1J1Zd-x;!9rJ%21(M#Sg8Czs`6H|Hk9zNV@p;db z8MtKz*DI5_Ws>WadGD5ae?^&qd{G>?do?N0r_!0&E5NvU*^WO!abtZ5_%Ek1Sb&T@ zdH)P7Ov=JB|FX@}-5{8icP_kCQXbfRc(4%PM;EozXqa3kg0`|BwcU(ctNz$nnRS+KAkkCf!PIPFhBs< zC<)(3jg9sFdJ+CCDGH&nvBv(|?(*L9!Ok9g=S#F1B}!!{(UjSNq2HhRg*j;$i%1l# zr`^UQphcxKYI_$MpaDPbGp7IQsm1VVI}U=hR`66LGtD{H8VHfu^6IB3>I2?pd)nd= z$wjc}QgMGcX!p^@falo@bI`Zg69LSekQuB?Zl2=0 zqh#242gBXK2kSbKzuNI58S#U)HLn(UWl21grez_L6{79~vDz_*Ganyic2G>E(xX4_ z+(`0Z#yaHI-sUTRU@AGCqilXi2jrK3guxGCnaz)OVolJ5bfBEF^JU!KAC_huC+X0? zv|TKS(gv{#Nv%{X9m>B_sdid8(tt!n-x(_zS&E!5%e%SwiOEhL+&4;6U8$gfE|{iG zEIjWOmLgiZrkGg(fWL-=kz9aC{vvOI0M+*@9>{s@en)E~KgS>Hvav zrcP_YcjpHYEBHq{jo>Wy3%wX)lo$}_WcT9~s5*>0<%M?A=cRRGi>8;;Om>}6)O-39 z4UTP5GLp)5+MqT7ZsYCOg|MBidARJ9@@U|{oDB1Y8E4*9VMh5IWXi0oDbWLg-wNi+ zP8m)pBR9nH6o_TBdgwn&)X%y3*uiwl#=i%wjZOB=>A!x z?T%x0aPsxN@~eD!(HpPH!LH!g`GV?2=Xf;E!hykW>}0s<<^C$(YtSHMHJ~yj94$}S z4h}-Jl?sCzJ42(r*;+-b zg52TY!nsRozaLJ&4J-d%uKaJ~HwnyDzHR(Ab6BodXVBSrA2S{;>C;i)=uw0XZuDG< ze->a4(s$)Uhi=}z&L?y9I2i{{M#zeuj^W_Exz<{W*{6Zq8@V2-E49{c1ZiRElg1v- zp*W$34H$o*H5GaN?g3rCv}6-sF7N-?Sl)Z}GbB@Zf9Lhy%34{oGzeVXD?)?iC2MRW z-{}VCAv>kq_2JGXw($s=bV(oR);eu>{IjG?fup>sHYE;~nRQuqZ~`G^fdmEqA=(0d zDdKdAz1jbM2&=Mz)i(!?u+tlLf1{<5jyr@!dPqLL56iW~!}&TxTp(b5i{4H9Qf(>J ze!osNbr+TyJsGJa9t?x>P4I+96g%uo>`F|LgDSFq%#+bE9Fge6JYcUKdd|mg*UX01 zON!=$C9JVjib8}amqK*s(Vxr0QQpo-0~^qs31AEsr2Rc4p=faZp-ubOSFuAGuV zetx!s>ChXPQ7Z*F%<`G4@XQBM)$qkKdGSC_@@upxR0`m@oz~zs?C=a}(4|tsrK)bk0X8ajHf8JOld{vkFt^ zdk2u=?r0HO@nY0KjulL}`&lrYoa=)*0D{7YBr&%E_Ve1_{>IL>159FW18o0b4=5c6 z7DwC$)XUee_SSZH_6{6qChj%>U+--?px~?EGSN08zA2DV33_r#q7J#zLIF?`%N=SW znUdL@7c#t%6IJE4g3`&f5RnVj9-@bCf&$CuM7+MD(>}Z+G)XkoB*SJ%s=OVB5pB!) z`u5KDnisXeQQkQvzBTqY4%S?2^Q`!Qw;d{+;Ps1)qsw4_`Z~kW&HXs%BCS z1M|G_;re|dDf~s8qr)RHf?Zl1*N?H8(I|-=jpRAA_=75l`WGr}Lifk_J=l*TfM>Z6 zCAN=)WI-!}yJROR*mr&Plpn8Qq0y0R(Faa3VYJi)KVoTmF}EIfPhuUFJ7nlcIlps>DMh5E+c%en#l_`w}4)#jAU(^y&2_s7^tSYv1Bjix&I(P z;L&Uexgw#+1S7WV%M9VO#EphwatR)X@10mSWiF=tiJBAhU(L2rb|MQb_>|TXj-mi3 zpGEJYz8u^nEXbTHe&?Y|fJ|oAr~g{xT&Q$qbi);rR$r&$P75{kSVI`D?@{l41BQyq zf5H?eZ!bExc_(E=pnOlu14Q)Mwf#d3djidV$=mymPj51 zp#lQnSm{hjPYsObdz!kzsCNZYybD-u(}@n;^h_^mUdk-8lJ2L|#80N-ykj@70Cdfc zl?^SGdZl7oK!%TKC61A0q>RUGdNy|v!)40xFFJDgczTEYD`(k zjdPKYzEDnmN0ddXN@bB)$l^IpGVlt98ZqTfWA8M3XDGsS7WPh~7Apc~#(nYnGk8s4 zIEz#HQy5I~W8V$>Bo>5$j5zJZ1D5wTlf|t`EQvwwykST0w+89G$2&fBCOen{tUq<_ z?h_ZR8;Mgj`1Vo6xISH@7&Y_;?P!h$19q%P5E-B>*9q;ovY6fUCvAKAK?-UY-@bE> zL;Lu|oEn!zDmdsL?*j1SkU-|JkOt@jf*$bo)4iUx6nju3k!w8TXJNT@=Dzh8R59;O z)pC#hM_zv5P|HkGj{2ygi4TWBt;+jj)JsOF+Z;Aw2EyiL)e=xQc*#{6GK$D(aZ;1o z-)5lyg6qW1D|L1@Ze-VYDC=Z*`-8aKX0Ltha_fqg-4Y@w;bY1$g#1_)&$rl|8dN&{>Gsn2R5iao-3SA$^EqWK_OV=bvIV6L{vdDGv zch&6o>!l*P!z^k)ou$C~Rl&3sRcS&h`&~4-a;ZWdHgJ2uV0ERw%Q z4Ozso=`W#O`ungn4BYY9} z_PKU}vTQ?9*cc>eJY>+qi762A>lFKBn^vGpCY#ttJ7b}-qe6nH{O}K(yBZ+*)f#oX zmudpIB}5BYZ@st>+)~RzAY7$rA=%Qp7SuQxTJ(SFjO}d|FA(iJPJjumX0Dy$Pcd6- zz2FosD9bP<=h2=APnu$pv(Ua<#k3M{@;_Z(Q!afdQBJ!7K$iF|!W#L+1UN8|;USkm zRG5&*3zMmDYN_dID>{%}Ucpwcs3IV-KG=z7NjW_f92c( z$z@kzR{1QG;qxNAG!rRReO+BR3&Nd$oMYpIRCwIJ;k-pd?IEXu7`Xv@L?{P0m&aqX zu~dOVkjzqJ`b`@QM%@{O`U;)sYGd-Z0Z7j`UYAf;(lIgbjZkJZJ$8H=JLMcQG(YZn zlz-YzHQ*>{blW}cHnl!i{kA%H10ILL@%Bt1D@eo*go*{ODyD0ia9rFJly{`yoxvqr zE0u6ag?z?@Kd&y|FyGMf0Bya*oMftbmYq3PW`bLsbON&>e|n1n^=gxmS1iN?0F}G;68UF z5ayhTsLxlQR}lm`gC1Sb0T%e)>}63H&+|1+#OM>tbE1q#Lc0eS{7$EmoTUyYU4vxQ z(UQNBoblF@Yz`c_lNaoH66ASrb_!JQsp9IjD^AW3$K0(_hM^=mQ?bL*@`zn2?ohZX z{*1VgVfzYZL}!)lY?6v@?M`y#dMSN4*xms2?-!+!}=Es1X6woM@#PE#*Okc!jj(4p0M*_*JB^ z07N0NUyb4d5>w2)B3C2w6h6e3vLkKBU@0m;!0Ca;={jOo&Io*udZT0%c9g55FuhS}`}O z=@U3dqCpwg3|zWUI@S924ig53(g?81&&ZrC`o&=x24Y_h;&*5~a==C(f!GO$ZItZS zk`s%lHhG!+tVrrdnl-CPg*HLGSBb)Gqu$Owr#N}h`pDkK8Mu5G%GK zv82eKi8_ws;c+K!zDvm9Whd_UFOjp_Oa$Z;Wwd*x&~ehzU|MmMkd9|Oc&9{z3x=}- z_rXqxc2bttr32wfa-O(QGzeF_1V$UpuaII7+-GqJe%_M?jGD*kqC;)XWhA^~7r^Nt z9>HY>3Y?r20MgEWZ2|WsTPaOJIwScKt>DzTG!LQpF53-z!*&xuRMQQR`#561UIf?x z3Oa@nh)I1ih`Y8Rpg+VVd*s?Iy(UF;RWPVd>;jE|Bqoc{RBw5M57o>4)rzwm1^g8^ z`f5n>LdKYzqPl`mEUT}uRz%|+UfXV5rX+LNq)55 zS{jHjKH_A7er3?pe36}fPL?S%$_qVWpBHJe6OhXZp@{+uJ`!^J{l%ub{sQ z$qJsdo61fg9lWE2@#&AdQd^~B$OpgCEJKks+m5HW`9Ny{)}T93%2QgmgHHSJy<$!x zmiyiV!-?H@h-$JB+b36zN~JlWiG`#7dF!a=!Y!DgS6Sx{2q4Fe0l}J3OjBqMjO*n! z{kK!;u>@rj>l4R-?j2H=nRjB#4uwJZuTiuXex4K1oR#rhzMCxs_K;vjCh`uhBpQCo z3Q!0N_4tOG40HHkus4y;=pd^DZvSvOnKiUaf>tZo&V_zz7Hr9qjiEpwff2%BQmNK@ z4)vYGTr*~k9ySpcD5|SbD2+8yu&N(6-;w1g>wAf7B=dMs&iYwsCsLmEy<2pZ6DxY$ zt~Sf*b^y!3fq=(AH8Vi=O3D{a`2Wp$rJBx2GxD5x?Q9nXK=eVc2ZTuLCotYF{dtVm zQs@vbet;WE1-kSJ$+Zn~(A#^LIL|cA4&L9W1lny&WDG=&*H!SV1{vz8vAehPYHxXq z$c%zlP$ZyvbV8&;1%VlD@(2}A1r(2Fv2Z`wyd5#c>;xRZ>p58z@Cr? zdJhVF(KSq!jxFoan}&XdD}HzqIX7jRI%Xr_$|PqV$4T574I{duU|sGdoYtp83J)cQ zS+b36zK6$f763IbA}g?*0els&nw^t+DJU^nM;Kb%2?6zVSU7xiSUmjdu!Mp*nDsXy zn$k=XY54fIQOkUJeZh51Pf8yrRDGxpr>>}8fQSTINr0Aes|}EJQzgK9CFW(|3TI>$ zTT?%B3DN{a29m4wuDdOh>22umhV!OfuOCA#;(EYltX# zWap?{CBut2!Z6}zcNv9_;pK6_vyH9|ugqr8P(@ zUNp&v>Ww-A%DA#QG+a`b$Kn+NYRhUz90k5qaB&6?vcelj{ugGW)o$qP2lrC*<}5Pbs=%o{M%ssChIU zT!>^&5%2M5B>0CA+9$L2>H-&%S*7*Rh_{7qgHZDY5d~dUpepi~fn^P7_7K5Wo0Qa> zu9e7gS>RZfTYz3?;dpA|(tO!ERRD1WX#e$@8}-VBxK58Mlm^0whQ zJ0Ksae~m0o5E)I_7jWTVcVzySyJWq0O&E@C4JMWYT{m21-x26V&0xr2O0>OUc{;3~ zlc=~u9&UhaAQ{9#`*@_2lYa!Pw?gBm=MVX78Fu!4zdzB^M^wxkm_}^K8eJA+j01#(I#CIM0}92P$i*8hYLRJK?RZVh-_ zIxG}C?pRK_oKjLoOP}zKTbNfP$j% z1;#+SBFtETgZ{_(JbDjjlrG9P$Ap3)KVTSvUhVM}R$fr>v_*lJ3XABl$ufroNM@OA zAeV{DWU}BL*>S_;G7x(79V7%^JJ%; z1*BJvD>3b23=fTKIcf7)g0bec1xWX4OUaky*3 zUEr%nm>u`|UfreM|A<$2Z;ULKgE=YO;ptuDpY%E4#Pid8S}-d-f2X?mr-y&wKgJA` z@9F~JR=0C0`-Rcd%fI||4|Fs@$)%qmzRsx+^zwLmnMX;ltuKaD#%2}$W(MPD{pMSj zmPKmYO5A6@ZL3r#a7FOL9~&UNgKyjqTgyMKRgf9^3D1Z`0ZE5Z3nru?@H0zgN5f!zF0# zpn>CA|2#X{sh~iA-PtRcN7})Ost#c|oY@PQGRs688U0Yv%y?KCYm@jwsHx7QS&#}F!UOXm!-dflin@+13 zUjPwnd8q6ze#sf05?wp=5R;(9fKkr7mV@%EfaH)Tq8}>^agENA$cx<)S7z_U!EMR?Yk<$PgsxY{<8550Pzr%6TDS`?t%|=qA?n@=U z{#Q1N)10}?lBe|8YvZ6`b(S45q6;Y)qf&x?7yF|j!4OHVe%$GhEE3&^22q~{mkO1Q zYC(`^8$i}eZiOX+K&?g_&Jo=~rR8AuJ7`|x;t=O9b8@7dW6V$f)LB#%<0u)0VHmQjxd&2Hg{H*H{rmMP^CcF+mS>0 z6rzA!*r`y0tIPYT@CjPC{Q6)AB`^_&1oME1&bBEc1d0xhDT0liRPm2%%d2a90*61w zKw|Y|Dv0%MY_IRgF^j>RLRd9=hbxel!aD4b;|S%<$sgo-IAD)^sIS%Tz^Xv8QPNo# zHW1*6rj^4`^VM&w7bKq?5oVw(Hfk$Fxpi#`9wDP*Y_Bzo8y$6#zdIWa`^jRh)@h?_ z+0)*r8V^p%6Ee_5wXh zRA4b)97Gl;?~99Y@kVTNpq5S?_lc{6 zK5rGdK}H|BXK{;-!HPp)93&+(p+Xz8?5Pqbcav5kLKsTS@?!bPe@Nt&=c^-DB{ihzKzR0npK+H9GOA0;`Mq! zs4;=7JgZsAr9ro3n5od%5t(OTy?&CQr{Rh&`fy^COcq?cA5)|d7LUxuDM`pjx+92o}H5kTh z@gV{tqm9jj4bjDSP3W9a>BrU(;le&tkx0YI0Zcs+*50?H^J@RB|3kY~fBIzM`ydeO8bf@~fNT}Lo?Zw-#)SY4 za)i^-GE1{FYUxJ^_8$N}p*+OqW!ovR_Lz(_XqL%O=syVr(xi7`%OJ(VqZN=|1v)w% z!N{SN-}jN;>t>~EyBI(#zmyt1;kd(eRMb8T;9XRoohWi{vOkm1sI!pE1k z6hI`}z5~IoOlI)0)8JwLqr22lmEgu#wx&1EktS$x9;175-ggUjmJ8;I4h zIge;wY>jA6ry7WfoWeMBJISc`B+VL7A3u(_wS*O1VZz64>n+$ltd}X|)9|uCNtZK| zcidYTWxS=7LX%53NL{I3bUp${&c=x*e8K7$slrDS=7WtX9bE%v{>)H$84(2U^UV%un5Q!P5mUndh6M;eA=k5j2Nb34wF?MkiymXk({!x(kdDai7l zsmxT!u76-m^xK}bdvIR0Tk;H!dQ2hEtmsEi+mX-FW#zGT>mfCm>=S4S$X0pzaWf}p z?UNxxX*BzzdU0MpfR1Rz1AJtrEK7=WqP}uB>K;dfSyzEvYb|55(MNMTVM`a5axc!H z6)N;#*%y1Ws2xGl3dy3>8N>3Qk@rN~2^mVA1<5+peJCqa=t$;4M>sE6s#d{As--2C z`?w9lAn~s2;fr+Eap(f`-R;>NHZTHlHgD?v98>*uVeySlzIsdAI%GTEctctUxtmes z*>1ZZ5&D?zsFO0gktXR5n~?$M>_vCTF?`*fNO^gC(P+s&r0}1+4XMhByHIl2O{k0L zJt*Ikw&3d8?&`)~ota4P1K6il)JJ(mYbH-FH@@vW9f>Rkc3ypdPwx8FhKN$SOlSr# z+@5dz20sy+ha8BiX40zHtajf4d99efcAsO|c8}cM$RdO!YTnWJ8UoyBGLJSy9}?S~ zn^G@4D$qB%lc}S=<^C$)&hgHSe49@D9p8qk0pBC4x*G-CRus-*z0p=lI?+9;0xYyt zC(7%n*yT~^3CRl1s{ObFq;I0;=VsB^QyHCe2falPX8 z0U9OZHy@P0Sa^Xfs=PORfLlz+*{FEZmJv3>G1E6GRmM_C2~$zrV)W2ZFa8i1g9_&S;uM7V=8v6)I_=>12EYM>moDcp(B(IcS47uth_$`rftJ}4J zz&GeI+_A-^cl2LPn*qq(Mbh3Uzh~!%E~pe)Ay!fItD$M!FBRIpo*&$OL4ruDEwgeNKRXWE0)7;RY`O3hMVxGE0JQg zz6L4I(}VVCp7y9-DzrXay-|Y-EGG7dbru#|Dfl+a)HUsp+?3|KCz9`h;(I{jS5tfs z1m9;@dg9KF#U&Gw!|iav!`7d$^_A8~Z4AhSFdP)U_`e4sI9$I;o4BqD#{UB>LjUB; z44@d_Bx*zJ$GgTnQ`7ZjAf2>(1Jj+9h5<>RavMT*9G|lMAPZ*?&t{DcNGj8gnYL-k97D2ty{-zcG7sH(R?RsToxKOLjOIHcC#V&-%uu% z%*>LiJEDwZpa&6mh%P}SeIhBTW2sD6E_Rv8s3`VhWd$F_{*Np-pIJ~#MwyHClzy21x}-{-2(~wc}Y;^_rWUO%WzD>L@8EeKF;~CG~)5Vul&;am0uo$`R`*|dS*Xt zwJF;l53J35W^Iaupz8xjhW*3!Cz%BM7I6ckPZ`)t=dIG>xIT`}Ozls5Rft^;s1@fz zL%R=wFd9OYsKX->jqJpyB|d*=nVcYee_hbXm48K}?oL&+{yQM@#pL<>zDOEKw%!@}Xj zAuBq$4`J*22uP;@g8L*Gby_UlPv~b^Em*rYu%LpBFqpxjj^8@S=pYgjv7Da^4+A{l z2bdWh1Pxn|P3ttZB2-&xkq)L|_|MP%QSyK)w=MHV)5ndJt`RFFWkCj0Q+>JSVjL&g zW;hz+#)G&Cp9IP3mWhUU#prlDy%6b_pf-a(&7AC2SRS0%Iz`o8hR9ys*mAunsI}VRX^)+{kq;le1{2mDLWNyK0Mshn zyu(qO)TSQc@?jC9>K$Zi5iL20g|u_8Av~K`%p+VyFsdP1pPs!cNpl5{VaR6mdU*T0 z`fa9GD;1{$YwTM;7B=V%$RefRoJIVZo4IF+mlQ!=R3o#G63`*ll_PNue zWz7qR5Tg-Jmvpv%W5l-r*;Ox^@yQ8=hOLBtTlBZzI_7j-R2VoumY-Al?S_5&g_DCz z>3lK&J^nxK5*KPzgfw-dX+-72w60*CeK;bLPEO)RrZK%cXMa2N?scxL<$6YhivxJ2sOv4~Q`E!Jo}VB#!W_&jfG=k{#+ z3}yDI{MwtfwKoR}eOi>*MnGtk(W|bB03;60)y``Vtd};s_u<>6IIDLw)3svuSv(k4 zn(aYz)ESghH+pAr8;&8!iA1Ep*8|jFiYJtlKYqM(qKxq>D%!5 zH^Me$^s{C-`Z!ct8Qz{Av+8&>6oiiA)Tq{s+9pu484b`8VCRzkr&NO}y2fZ^P@TaF zGNx=9lq){0tcyE0i}rL9Oz|RJvM!C?Z1tn)qCap)eNmO({$BlU=5YG3TAev81I9+b zx!hN*&s#lYM#tKyCHIzilIVre9*Q|31b{ZF7v;`kS4=m&WY2Le9z}Lmh3k?es_}q4 zs=)G|vR)r&#Zx2|6<=hy?65jowjr7?f@4*i1gc``HH1cn3eXcMDuDnc*ootJ(3-*M zWO%vgK5>Mt_hD~{RvF?Gs#}|55C@y-3B&2K5f(+~&J9itu{+$U2%LAt6Ovml<%#+6 zIbdJgshOw}c~v_S6D}n+eI9i>K%N}~dGsDjz#6 z*JUx~G#2`dZe{qze|R#c3eICKE=LT z-`HGJGbeytPGH+YWWj(&7SpUMoEOTlyoA4X!ZSO4QpSyS((E9s2){^Z=i1D$EThY- z)u=F6S{}EWwCF<|Ox&l~; zXkB<27ofS!tNenwo^SHqLi*OUA5PuR!9FIQx*6J1wU&!jN-_g~v+>3*{K-VlC+Dpq zwdPS+)p-G(us7;>&psBRgkUNSN6Tz7f8k3yF435kxzU&#Y*N*x#k!HUE#_h`cIb0> zRH@+mDG*V&I6jTY>TL~WXC@&vDmm$s&dM>jBKNrXQ!Yn9zC}&p^1xESP^`;<*2w7K*0U(UUW z6A}B%vMF-<-D!C1jSfx!Sk~h8iTQC5#+?Gb9gQ#LG)Ruh#C|;V5*ZZ*3fvy4h@;69R3Vbiz}fU^hk#Y5BS2UXW@BUpthHTcN@t zwSOiFcEio&w%u7Jx&sB-&0k~>+?}79!R*8aQ{KEx{U=S!T`}2TU0z*(mhON}&6tfr zq+WW8XXfL>v=d#82z|r|3(!NtP7Ns}Z0mW&^4h*{Cc7?GWoN;Y-S$z5HO6pVi22}d zes}lvJ^(w5tm#loD65VA9kue!w^yl*OelI4ns0vd?X3~L4~BG^^<1*f&V4h|!@((X z(sP*W$#5_NN*wQQO9*N!X2Dug2Z}qL_?+lMs4yWqF&V}k=ql;3?yc;rr`6}^K4s7( z{$e$e+6C6t+@LGFE7O*=VfW|h+%{DhL_r2xO$O|to_W+FA+ zhXnQoDRDD>zLrrMyAp_)x({*yR7dcVe52|Fm$R9W8M-*8-l;2Q!-)8HVSjCxINs(%=xY378Ur;;Ju zzF0^KFI%OK@Jgqx_+MTuSdIP0q2b*3JmUFE3~h^TwW6A24xx=A_Ko!t&B5o4nvAOL5MD(fzPJ zK*5-Vikgi&s~E3L&y=r5C-hfi7HYuYw7C=rDEN54lp>_`OQM=aZ!nNyR?X4-A%@@1 z{icvD8JJiY|Z z4e2t?;1k_34t}T^hYZI@@qVBG8M&NdB$s5Xvgs$Y! zEh7eKN`WxD2#h^jykenl+~3(4?ccg{cjMQLdM!B5hGYvLI*q3o^kEpEQkHA-a3%v8 z=dIW*$wvI;KYF2zopohIl4^r@3Cr9ORYJV1o@lKmWT+kp%_S}n74z08-I?_T^-U^xzBJvjx#1d*kFbzezUTt!Rrm8VZxiX;?&$269 zay^H&T(XLnhz^T^oXl(p+lvm-ZljGy=)783(xz1Cg>Q`Id)_*kMeS^h1?Q-8jNjj^ z;Agjg543>MbJWTS&H?GR#WM$muKTPcfmn#jj4$&K9dq&W(k@E#IfwlWM8iphstYh9 zcX3?pv}25$>Qs(23niN;C3uA97-ClKmUT-fFlEJd-q`L{ln1GL%S6mvnmQFJQ4_V3Z)1oGhm!AE}kNkL&;%XYvBiqpB;7-9coTb#h?b z7UWbK@WIWGzafl3Cq#ce*3mn*sM+`DGu@14E8DPNA~8-!{^0nzpP3Kta%3$^ZnQX- zm!|WW3`xs7VIRvwlo)9D!hXNgZi*9LvmKBbl%(YU2?kL<2ZPbGC#3{AYS@Ggz$0>7 zQZOwTW+Z4=#L3r%2ROU6+N1<+D9ghZN z3ea|!H43PG9*C~CSI9$05WGp@1pz}B7}99sUa$A~(DqMA7mbktNzZCz2GJd%kj0sN9kHBS75OJCgc=`ebqrfLhiyO$LfeonsH~;?Wu3()HGFdSSAAn0_5CN z9|rs@)+1$WQ(s`MG|$A9@d-IQJH8ahQ3S*qpVW$)uwIyi9ug~;Q6&yf1c;s1!K@M; zOe1gJ4KD?dCEcmt{3y^Bm&*|o^6XdbIBAXszJF%jDE7a62D>%_%%@qcmbgL=rz33= zFm?Jpu52T*Tx}W~Rhr6IkJS_PR6R3uslER`^1OBplVPdYE>+La({C@NU`s8(FH+GW>#zR=(S|cU@N;v4HN|W`iN|l%;tJuouJL93a&9*c;(dou|?Nmf7II@#A@a1uN|F6bgRa8l32S+0G&bA9Xbwylq=0@FYtQB3Yw=? zt<-WSiD!BBZS;mwM__2*(*Uex2x(r4jK*P&@S!5B5Jv|PY26#P;s=(#s>Gj6rf$18 zN+@dq2+g9DD>#O$EMlQZAPmZ83D8p483<#*inl{D2%ChE4Eo|xmEw+HFOvaLGNH

bsO^v4LA9JO=@uIZ$zt}g5?Y%0|$7HqfIO=FGN^tYS5Z$4Ka z`L~-~CLC@jqp$-P4@tp<)Vw&hR*()l9mMZ&FYqeFQ#_=_hU=MDLCn38S2cp81>G+r zb}UcNV?5nFt{u{J?hzY9&hJyQ+N%*gQ4^?7A6iu*IL7sx9ik!U7&sVzZ08%6bY zz5~X@`e4iy@>o7VPQw@?TE^wi0+Dgg7!hGHh=fc}6Cp|lqsdvlLIZaAcxVv=-KIk1 zEKWyg>Vf%qzt9_Q8TQ6L*^J;3VhdgT@(P4HKCPZc1{Cdr1m9{y-3YpjiN8y%3b%rJ z+^Cw8zaT9E$tc&={Zm1RA#YL`{3`TKV z;Gilkp$Q3X5Q7jOP~t5Iy+qmy72+8{w5MdjkXrOjb#8LaJdle{eY+*U%ND;*(}N73tgh{D?X0fV4SKys@c_L(I&Y*``+X$z=UAw@P7~`$z&v(+RyIyT z+_8Nqs69veu^A7NIfdAhWL`P8Z~5@jmG--SPS>?jPYlELVcQO36hnyz6P>V6DCe;R zAE})l(&-74)5A6jQP7yPJVoeo7kvBKySol+uO%^77;$&Ep0!2o=ExXz-`%|(g!116#!`q182?s+2IBW`@BP2R10v(sy@*UnX@kW0Zg)KChifkV``&dMY z4p7*OM2EBL%ZO0?DKw@@<=M=(IswFW#%h$6l>I=;w#()#zU#ER?O{?q`yNN+yD&+j z!4SXNs2#C?u)5M{D7vno#7_(AZEKd9QzGVU(Xw$HKTZI<-=82+{z$zf z{eM;nBVN+`u+v5gqmL#r%@r!E1m%g|w6k(EJaIqG$}2HIPQqS9V~N-AZ9p$g&oeWg zw74XY4&s%Z@XIe7hUeQm5I;!W0CKvw2{D7*Y&cE8!M@3ex?`D)nusP98T8E`Pc#0z zIJfeMPOlWzz()p)0aH4+m;oY%pjnz@f1-{E7FNf1puZ@CS^lj<9THMLEXZbn_1Yd@@+!ThX7}G* zxa4+PPsG@v^NC+n5)u{Sr#F^tyvhLOH6V=DfeMFbjaRVp??HkD!FVoo4Dbe-`!#RH zD6SRvy;BMeCesOp2QNxEXqoGt(n}VXqz**FQ>EZryGmqw)yf;AWsKNw}vLW<6atXJIWaEd{15#0=|m z{_>rhUwHiF>9gnGe5<~;fay6=@AtJ2l5^vxKs zy-vzWQVDxUFWuQpnZb-Wd$B~p%CuPF=pxBhuAmf$2gL0FJ`BSgSjI6d3(M<8mzOG) zIRz^9xZxG&RTvIPT3Jtx`dZCvE6y}k*k_;$JcC*`cja`*$jZ)nH@v9KeM&uvyd*aw zB!3Bb3_#+NtubZ@B-9WeR`q@8%4L_c6|o_8)6&3UjXzTJb2HNm zzt7K=NwbM0kcj4iofLHwJ}3cW_vDSydWrLUK0lZ77MF2j;u_+Cm8YEf@oZITO%3Tu zF}sgUUFxxWTb$@wD|H5>M$z*THqi+YA#~*cj*~S>9mhCMpSYP ztKh4EA9vD;L*j*gJ_}9GV5RNQ`HA;ni7rUl8FIjdwp(5ik&=8@NiU_dkPrW}H!W&7}7GnZAn6RD~i{ynj^zn%g`Z6voL-1=k&W ztuaX$;RZvxvA?1gs&mx^rPpM3Nbw!$PZ?6ZDeg9;*xbKvKuKI5jqUW*#-M#sc>;s` z6g4$*OnYo~rHS%VY+nT(uXXTcg0-e9XqclKTw&JR)JS`F@w1>PYGVdN8LR~}GhI?8 z^_7~tm|I^b3oZ~^m_v6eV)$iae{<)TwY}+PSxuKhpy28X!*Dd?4}6vWU2?J??7ZIH zmF!N@A5>|%1oYN4epD0yDyv0=P&Th}+4>IoJ#KnTz3r08LiSdsOaGUbZIH>9jOoR7 zx3>KJMwC<7-&m{SOWAar zEho2uY+iT@hhh8cugjV^orYQ-djJ^*!ua+G)4%^|tWlZ(DkTBs4Di=v!5gwcus2K6Cg4rn;wPz+GVV1C|GPIYKM z4&QfCnFZ}!odvC!$&sW1wf;!8x=w4op(&b%p$}WkG=%XwI|}srBbrg?&QL!*85#gh zu&GlL1p_A9U1?CjS)!APrs}Y8aac^1JS625@(<_WYDCfQv=|g^Fo4s`AD4e#%kLc= zg-2>$Z#9})mVyq%3t^_)uub4r(s8@pZTH$2HF-ZhE2Ku1QX8DwI2$t%g{;k;F~wa) z9U6(PjqQy$E_KNfEYjnfzuUYzFd3$wjYdqdUr|UR?Z2pCfw5VQm zt`!5VuJgTYHfh$Ym6gWNKt;e%<7qvuE#RveH9rUcfE<@7K!`hgI>AQoE+4G?xViT8 z+Ge9sws2QAm$zS~AUDw_VWS)VUpz=vASvyhO>yG;__W-K-bWp-0!GMf_IK*Z-19l& zI{LMK$29=yP3*hEBy7 z464$KN4iRmOAkfquvEf7QZ;>!uQhxhw_Era(QZY(AzV;SJMr-`TSulF3zR|kLQz7e zZqSPxn8WGi4EAk?s#sh3ai?B7{B!=5xVj?#&HHmjGUvIyx?F#N3=~=QS8K_6*;C4K zbYOFallB13qG-i3tqy&Rr#Mw~d|y=56RKJiF6)GJIg819%ZHA^ig+&*lNv-oRtG2sdQ=iAtoOOyjZ; zOL8bt3Qc>6NOFKKS|EC(M<&a81XwwPlTis0F@7b9&{j5SmHRM+L8qi}p@0_J*#HPd z(3!`hHB-L1?OZOIKD%tJwcbl{x2^)#Ms6h%?-~idc?~doY2Xs&nfUep-R_++REajr zX3p{90A`HLgObgcE8ZQi0b!!x)Bf7(?Uh!|`#oEdtS7bb>VLK4tNzs(yfFIGmXXwR zM|Q`loK1jJ7+c@#*l&?EFzQ~)-X0}`FS0>n`t7%WIMRJo*Wg6f#1PdQRs zFvMAzEr|S*B)0BPDhr416#m?!U>1zkJ&0xDG+aw43o_nbBnt{>1hS~+Yl>q@U)_?~ zCG$5F#JW-jiwDsW(ZPlG_YuUx$^GnNSlPvu-D!Ul0W7mw?pOTE!{t{AU*QVPie4QO z!o8M!70wqPANL}rO&e&uOqC=vr_?MIH#Iv+cqj(`L5IVQr7`IZ{HaqkYGTYMwcp>= zYK6N~O()k7`98T)z>&6`XsUM^?b4K_5V(>?~{8L z`(D2%vG4Wki+!)(P3(I;SL}QJMq=OVDT&;5U+jDR?=AMdel4+Y855qZzYnRg{^!Vi z=dZB5&G$DUIo3ay%=h}uWWG;6tIRh~E1yaCDD%C3mCX0LFY~>gmHA%RGT$j3Y@7_r zjpGvJ{L_e5ODH)Kt1yNcUq=B_*PvPC#8=3C-(|6p_Ts%F~}-dw1TG5 zpgeU8Ii5It)mw>-AQ}Kb+Gsa9l9))B`I$WeO`$aB!>#+27`8Z8p(s_tXLEu^%InJB?y7BbOu9r#QtuwBcerk0W_L~D;>_wKP?@3 z{>H8eLkfuzTJD%7Vx%|A?3gt?PU6mJ7|}e4W#_kthqd4E*- z6JJCAS^MW{=}5}(d7ds{NZ>-zw6Bn3wiRfAsZ^~RhSXU|{%Ju#%>`YtW!^bRa+5C{ zo2zvV#x)CEDClLgLBtgq?wI8r+J~hQv5D?*5TWH*mU@0Ao^F)0%?!X9A6`2#jwJ+Y z5}`eRV|<*RTyV()_C>tQklj5kR%&e(v|#L$hu+yv8N0)8w_TBx?6j`frku&!p2jrG zZ7M~1^J`UXGkTS?A;#i|&d{Ly&DDD_(y{4W=K(ey#_f}2!o9~_Ioz9%xmHjK2T9ROq)(jrkb<4K8{bd!o{A43*`+|JzdHo3OXXt!AcZSD-c&ehC$fHn&`t)$G%j>(4*K4>7y=Q{@JNrnekuPj!ycMBnM~R-$Uaqf}V1G~P z1NtB7ZD$F{Deag;nF6>^uT{cWC3hW;Wmb(W)zl4 z4mE!vn@*1U^nL4ASBwnI%xcZeK{MbU)Y)uzdo}oEut; zJ855h>UGmq`xy$3rEv1mMN%Pjr*IF*R5i2;oCwwH7PNyWy0r`&!)_mP(24KoHD~{I z>4#hjLeWjU*-S`jFY26l5&SV~9+OU=!^F&`H?Bi*D8(JJq=D&U%IyhJ9h{OPML04` zflTGo6)<{?Mey#13zt`{LZhWsEVSGr^PZTugm=XGKT3Gc!_^y#u)COkoV15@Yt?S- z^kolSEi57w1r;r(+&`$o%Yyd2fO)jvv|iVEQxKU%dt+&n=LT(}kv)QtVmAWV+W(b| z5#RP$txi;RM{N}yQ)ZV_0zIX z+~)DrDLajxe+hH{&DrvjwwOljaDINewc?-$Y22x4Q$2-2O+Wj&4F1JY_mV7~vf6GL zZ;t3z1xG6XWSb>kG&{u`b^Cx9tLdX*_4U^7%Z+VUsQr4!lX-}nbkdmaq#mfGHL8F_ zo~qzy!M=YyQfn9J;bQ14tMho!!aGvB3UdV{py&^=Hf{#^U!xh1V`b6sNBsEI3wuU!*cq5XgxlubBq;#-LzHQmx;w)Mf}#c^|V zXjV=N5jydo^~M`GtR%NfnRl(U&yw7YF*LKR)31rg#H9QcIP5M+>kGtE-iX};uJYjJ zVl01-(j^|S*LdueGjd-R(n@W=aZL}dvtn-docC5Q^|Pb2ab2`%P5V?!srNfs z>*~T;3ufvU3oa$ccdnELn?-ZPq5BMSZWmle$znOUxtbrpA5jIUeAv-mV)5uiH=~H} z=xK8}X!kqO@JbE8+W;gx_Fk8e$7Wb)?)dnl80c4gJ6K2hXi$~pvU`jTsEF%@D=uur z8eiF2UpKFo844^5v*3I5%oJVp)1^P$V!bvN`Pz}$Cw%2dchw>@yu!eO!y8lg)=WL( zak!i}09!`eBGKR^Y)-OTe?`f0?7LpKVe;JWRLa7s7x2c#>@V&-DVN3F$fzNbIUntf z+0)`xVk3(S9u^Mu!0})S`e7yA!vYOR*%T@`iG`GN)3Rg1!6+6p2EMAs?Jae9cv#5M zLdNKvR$zhL?1glz+#!fZ!`nBK^>m!Jcwo?$5QD+Fr)TyO&|lG@7j~*M-qe&*rR+ZS zd7qg{-`dyYp5c3@t&iP-iQv{XhLe!aLTf#^y$zF24_(NT*4{O2l{mS*&9=GS;6uFA zYb1{N55^N?nF`+FJibgDmQ)3ay5q?^E60a4HGK?clFga?hOBTK(6n-Q8L7ZjK9$Zcd%}T#fo9urj<<$6>2;341kS z&EFU{eHVc$@z#Z)rjct-&BzB-tqG4r{8&83=gvxf zeqrI8ZXF@GElTJFfUnV8ZpkBwIJ zkQ{uOhWBDcj<;~I>Dl(GHKsX?Vw{0AtO>8-^r^}`J^~n^=V#$Ci6a>E2_3J@FFCzy zUY?$}d&r#U2LlK+qtj;7T}HpOd*5Evw$|MK;wnmT8C5DYA!9gV|8eYfTjU_< z)o6r`Go4k_0vCpt=gm&%!qaE(%DNjHJ)puuST8_SmlF01*B|wUi%OOVjt=7-fFeK! z5qqJAou!8o=04`9FXN+H^*iAZuE^bFQGGN2?Sh()duscjw(wK!&2D+p2Eg3zO6ZdQ zw4L>>_V$5xNY|q&g`Se*BlL+&$_8lo5N8(}C8qFhP+!<>pN4VbR=JE(JNq&bt#`?p zyX0t9!3AYBfMwQc!}PgJg&nDzp{4eX$WNg=w$2P;dv4O+<2EeUQ`{h}a3Fi8H3(19 zl;9k9ru?y*$9~oQ3F*7u9zL#2Dc9{rH<_Kq}8FAl1;o%nq6BMeA|VFH;0`ZVXbtJj@ zsvqGzS8MOyMc56sit!aZ~k*6 zorqc1YSXG{z=~?{u?KnPvHkQ2UsW6WG}dQsyD2U<5g)kKC&*Clph!2HmZ1|F)!mMx z4!eBB^6SKoCbfL%O_;3&nN^@PpS)}bG`cB zF$$<3kv7Tl-mAve@*7o)hE1~5S!P4Ormh7vk04iJuAJG*;m(X0Lq*k4I zJEeZB)k@byNRJnuKl>&#R1=5jX!;bo1|8E~MKOLgsb9Hp3dRVId98sHgFW54PvYrf z*BYE_A;CMMLC+=q7E%!o=@;TTK7`G5+&)DL{x~{8{VO=gTQR=YqxG&+MuqL6mF*4H z{7+(^$P)Yh?o5W^z?8s)BWv|TedF5waBo^g8+L+Oy@CB7*ETon#SipbDSlYl**2@+KM-%a@ekOn}BzJ*|un+}<}wQSZGragsYUp0?r<8b36~T*!n{ zejzk|lU7yy>MLEAs-Az&i@c3bRP(h3we`}OaYsc@xl`HJi?fY-jYoHxVx&tu;+2&t zZ(eqqjvNgW{Z57_NA((8#v6}v2wlO$*yFYKZ=BgxVO?bJrGwyUjxt!7RVQ6f1{1L99Ui*IpyyoXV@|F+vfp}9 zmgm-sTt=HajQP!whX|DFTG_1^ns9kPDSV>ut)J_K?tA;aw^c6?zZSm9RfU?~THe^K zKbzAgitv+6_eU4)VL9I=1wRN-{yP12o(VWse9yPF-XzW6+RK&IjTICRT;5;V*bw<} z>h+tC!-0CEN{91v^YS#bT*lpj8P#!!=R5Rz7Q&^oOj+ z+C6k=Y*^|)p7XW-bY8ZrULx*Nw^%0A3ueqDE2${wKcOF5J6E=!qY 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%0A~h!ono|%vh|okb#Id)`#aPUjSxMK>+sjD8 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%0DkD{|54ltoiB$!; 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

bx<43HJ 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�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

xA&npgm9$eL1n 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

    `Vq0!TVnR)0+2!$xW< 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 bwDmyzyyroK$R22L$SM)9e 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�MYq8GgJ9I1Jc7i)uOSD&t$e)0C?~Q>c?Y&3as6i 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%0D1eetkKvvNM=yN;`2NEbZZFCn)@I`Wp7b(y*{{6~ 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 z - 4.0.3-2022102421 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: add secure compile macro - -* Fri Jun 16 2023 zhangxiaoyu - 4.0.3-2022102420 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: fix mount device path incorrect - -* Sat May 06 2023 zhangxiaoyu - 4.0.3-2022102419 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: fix load bpf failed - -* Thu May 04 2023 Jian Zhang - 4.0.3-2022102418 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: fix lost return codes of spawned processe - -* Fri Apr 21 2023 zhangxiaoyu - 4.0.3-2022102417 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: remove unused meminfo stats - -* Mon Apr 17 2023 wangrunze - 4.0.3-2022102416 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: fix mixed use of signed and unsigned type - -* Thu Mar 30 2023 zhangxiaoyu - 4.0.3-2022102415 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: use ocihooks env after getenv - -* Sat Mar 04 2023 Wenlong Zhang - 4.0.3-2022102414 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: add loongarch64 support for lxc - -* Mon Feb 27 2023 Ilya.kuksenok - 4.0.3-2022102413 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: Add meminfo required for CRI-1.25 - -* Wed Feb 22 2023 wangrunze - 4.0.3-2022102412 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: fix ops hierarchies cause coredump - -* Wed Feb 22 2023 misaka00251 - 4.0.3-2022102411 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: fix RISC-V build errors - -* Fri Feb 17 2023 zhangxiaoyu - 4.0.3-2022102410 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: remove process inheritable capabilities - -* Mon Feb 13 2023 jiangxinyu - 4.0.3-2022102409 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC:optimize test command - -* Wed Feb 08 2023 huangsong - 4.0.3-2022102408 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: fix lxc write error message - -* Fri Jan 13 2023 wangrunze - 4.0.3-2022102407 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: fix cve CVE-2022-47952 log leaks root information - -* Fri Dec 16 2022 huangsong - 4.0.3-2022102406 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: change the suffi parameter in lxc attach --help output - -* Thu Dec 08 2022 zhongtao - 4.0.3-2022102405 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: add sscanf adapation code for musl - -* Fri Dec 02 2022 zhangxiaoyu - 4.0.3-2022102404 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: add lxc-attach add-gids option - -* Thu Nov 24 2022 zhangxiaoyu - 4.0.3-2022102403 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: add macro to adapt musl libc - -* Wed Nov 9 2022 hejunjie - 4.0.3-2022102402 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: remove duplicated README and AUTHORS cross lxc-lib and lxc-help - -* Mon Oct 24 2022 wuzx - 4.0.3-2022102401 -- Type:feature -- CVE:NA -- SUG:NA -- DESC:Add sw64 architecture - -* Mon Oct 17 2022 zhangxiaoyu - 4.0.3-2022101701 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: update version to 4.0.3-2022101701 - -* Thu Sep 22 2022 zhangxiaoyu - 4.0.3-2022092201 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: skip kill cgroup processes if no hierarchies - -* Tue Sep 20 2022 Neil.wrz - 4.0.3-2022092001 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: do mask pathes after parent mounted - -* Fri Sep 2 2022 Neil.wrz - 4.0.3-2022090201 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: fix tools using -? option give error - -* Thu Sep 1 2022 zhongtao - 4.0.3-2022090101 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: add git config in apply-patches - -* Sat Aug 20 2022 wangfengtu - 4.0.3-2022082001 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: do not check rootfs.path, it may be null if rootfs is "/" - -* Fri Aug 19 2022 wangfengtu - 4.0.3-2022081901 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: return fail if no args or no rootfs path found - -* Tue Aug 9 2022 haozi007 - 4.0.3-2022080901 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: only set user or image set non empty HOME - -* Tue Jul 26 2022 zhangxiaoyu - 4.0.3-2022072601 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: drop security_context_t - -* Mon Jul 25 2022 zhangxiaoyu - 4.0.3-2022072502 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: check yajl only when have isulad - -* Mon Jul 25 2022 haozi007 - 4.0.3-2022072501 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: fix HOME env unset error - -* Thu Jul 21 2022 zhangxiaoyu - 4.0.3-2022072104 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: add header to fix compile error with have isulad - -* Thu Jul 21 2022 zhangxiaoyu - 4.0.3-2022072103 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: fix compile error - -* Thu Jul 21 2022 chengzeruizhi - 4.0.3-2022072102 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: refactor patch code of json - -* Thu Jul 21 2022 chengzeruizhi - 4.0.3-2022072101 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: refactor patches on terminal.c, start.c and others - -* Tue Jul 19 2022 wangrunze - 4.0.3-2022071904 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: refactor namespace terminal log - -* Tue Jul 19 2022 zhangxiaoyu - 4.0.3-2022071903 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: refactor patch code of attach and seccomp - -* Tue Jul 19 2022 wangfengtu - 4.0.3-2022071902 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: refactor patch code of lxccontainer and so on - -* Tue Jul 19 2022 haozi007 - 4.0.3-2022071901 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: refactor patch code of isulad for selinux/attach - -* Mon Jul 18 2022 haozi007 - 4.0.3-2022071801 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: refactor patch code of isulad for conf/exec/attach and so on - -* Fri Jul 15 2022 zhangxiaoyu - 4.0.3-2022071501 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: refactor patch code of utils commands and so on - -* Wed May 25 2022 hejunjie - 4.0.3-2022052501 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: correct license info - -* Mon May 23 2022 wangfengtu - 4.0.3-2022052301 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: do not operate playload and attach cgroup if no controller found - -* Sat May 21 2022 wangfengtu - 4.0.3-2022052101 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: add x permission when create directory - -* Fri Apr 15 2022 wujing - 4.0.3-2022041501 -- Type:refactor -- ID:NA -- SUG:NA -- DESC: refactor the way to convert selinux label to shared mode - -* Sat Apr 09 2022 wujing - 4.0.3-2022040901 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: fix bug of memory free - -* Thu Mar 17 2022 haozi007 - 4.0.3-2022031701 -- Type:improve -- ID:NA -- SUG:NA -- DESC: fix unnecessary print error message - -* Mon Feb 21 2022 chegJH - 4.0.3-2022022101 -- Type:improve -- ID:NA -- SUG:NA -- DESC: fix alwasy print and len - -* Tue Feb 15 2022 chegJH - 4.0.3-2022021501 -- Type:improve -- ID:NA -- SUG:NA -- DESC:changes for compile in android env - -* Mon Dec 27 2021 haozi007 - 4.0.3-2021122701 -- Type:improve -- ID:NA -- SUG:NA -- DESC:adapt upstream compiler settings - -* Thu Nov 25 2021 wangfengtu - 4.0.3-2021112501 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC:fix cgroup attach cgroup creation - -* Fri Nov 19 2021 wangfengtu - 4.0.3-2021111901 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC:ensure that the idmap pointer itself is freed - -* Thu Oct 21 2021 gaohuatao - 4.0.3-2021102101 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC:disable lxc_keep - -* Sun Sep 26 2021 chengzeruizhi - 4.0.3-2021092601 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC:add dependencies under require field - -* Fri Sep 17 2021 zhangxiaoyu - 4.0.3-2021091703 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC:fix conf memory leak - -* Fri Sep 17 2021 haozi007 - 4.0.3-2021091702 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC:just use origin loop if do not have io - -* Fri Sep 17 2021 zhangxiaoyu - 4.0.3-2021091701 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC:seccomp init and destroy notifier.cookie - -* Thu Aug 26 2021 haozi007 - 4.0.3-2021082601 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC:add help info for new arguments - -* Sat Jun 12 2021 lifeng - 4.0.3-2021061201 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC:fix coredump - -* Tue Jun 01 2021 zhangxiaoyu - 4.0.3-2021060101 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC:adjust log level - -* Thu May 13 2021 lifeng - 4.0.3-2021051301 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC:adjust log level - -* Sat May 08 2021 haozi007 - 4.0.3-2021050802 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC:support long syslog tag - -* Sat May 08 2021 wangfengtu - 4.0.3-2021050801 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC:print error message if process workdir failed - -* Wed Apr 07 2021 wangfengtu - 4.0.3-2021040701 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC:some patches missing in series.conf - -* Wed Mar 31 2021 wangfengtu - 4.0.3-2021033101 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: support cgroup v2 - -* Thu Mar 11 2021 wangfengtu - 4.0.3-2021031102 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: support isula exec --workdir - -* Thu Jan 28 2021 lifeng - 4.0.3-2021012801 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: add inactive file total metrics - -* Thu Jan 21 2021 lifeng - 4.0.3-2021012001 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: fix io data miss when exec with pipes - -* Tue Jan 05 2021 wujing - 4.0.3-2021010501 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: fix compilation errors without libcap - -* Thu Dec 24 2020 wujing - 4.0.3-2020122401 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: Streaming IO solution optimization and enhancement - -* Tue Dec 15 2020 lifeng - 4.0.3-2020121501 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: add get container metrics api to get the stat - -* Mon Dec 07 2020 wujing - 4.0.3-2020120701 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: use path based unix domain sockets instead of abstract namespace sockets - -* Fri Nov 27 2020 lifeng - 4.0.3-2020112701 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: mount: make possible to bind mount /proc and /sys/fs. -- 1. add check whether have /proc mounts entry, if has, skip the auto -- 2. mount cgroup before do mount entrys -- 3. pass if the mount on top of /proc and the source of the mount is a proc filesystem - -* Fri Nov 13 2020 lifeng - 4.0.3-2020111701 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: add make private for root.path parent - -* Fri Nov 13 2020 lifeng - 4.0.3-2020111301 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: adjust log level from error to warn - -* Tue Nov 3 2020 lifeng - 4.0.3-2020110301 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: 1. fix hook root dir error and refact cgroup - -* Sat Oct 10 2020 openEuler Buildteam - 4.0.3-2020101001 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: add patchs to series.conf - -* Fri Sep 25 2020 openEuler Buildteam - 4.0.3-2020092501 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: Code optimization - -* Fri Sep 11 2020 openEuler Buildteam - 4.0.3-2020091101 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: modify source0 address - -* Wed Sep 02 2020 openEuler Buildteam - 4.0.3-2020090101 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: modify source0 address - -* Mon Aug 03 2020 openEuler Buildteam - 4.0.3-2020080301 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: add debug packages - -* Mon Apr 20 2020 openEuler Buildteam - 4.0.3-2020071501 +* Thu Jul 13 2023 haozi007 - 5.0.2-1 - Type:enhancement - ID:NA - SUG:NA -- DESC: update lxc to 4.0.3 +- DESC: update to 5.0.2 -- Gitee

    @!twmG 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�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%0A|#mi(1kO$$8f&jBDau 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∓ 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

O){^|x+)4!FULSs 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�x38vi-br#I(;y|oGUuW5x&Z1caj>;Uln4Jkg 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� zUow~r86IHk@MRMjfj0NwG>_jLpS1UaKrXWUrG~B_tob^1kV+S+>Eqxy{A>GYzrEW$ zIOb2ss^iFr!PD7!&2g-fjm;_#sADF&*@%~4@*vZ$&qhrO|2-RI&B|`4;xgq);q-O| znGBctW64O2A)f2-xgd706VpoyX=c*0?sLBAEijkYJrlyl>lw36-vGqD59k_w!iE?O z==JE$483baMPV*KS%=2z;E*vLFMwVqFhgqlAZRr?e7%?6O6$bq+|lN=<8vS;svrdZ~=E@#FUJj9}3@zWaxrZ&<0<#p*&9ZVe2qz0zJ zI}vn7U)UrZHUzsh3L6>GDj-J6%fk1|tT$Aamh&Y+}QpjPUZSI|^2x zaT6Zb@c@$MH5stZ5=yVJJO;F%@03fUU#`?}^pH(Y5hRWP#%bog?lLTe2&7oo_s-f2 zqraar{jrs(=0w(b-n{)r+n3QIc>}1tp8+60n5Ujb@MEp3!Dp8DM& zU>0Pd7xnKUw$S8VgqAy_8O2?png-R&o>+Uwn$?V{Dx0UlDH(Xu+*4Dv?ogjgY>N(N;so;Mc!vHGrmD>`lP)2xIB z!XCkje4thd4eMRQL~C}{OE#^pbYlmX{ManlIA?dcYk21H^f?F|Gbqw#*E|Ia^^Z=x zK`n84mGcrEV2*Bg`~*MJUZzQ(329|7mFQwPhGeQDe$d_xK`#9syDYJRM#Dy=X8}l1 zA^^$B!Ed+!Q!~hal4;zx-+WVI|0m{h*8cDDx3K?vyt4MY@SET4|Ne#cpVm|ss=Zcv z^{=u2TwVS4+f_PqI{!7e8-DZ6V>@PQv!~ z&Pmwx{OY|hd*Ihv%S>c8quECTFZ~hPXaAie@CvBErlQjiYb&ddnk%c#m4~gBRrnpN zaX9BqGk?^>wbrB7V-CW=34?X`0TZz*)oL0J+4>*Br@r5n*e|apeFzINgXcubCWy)~ z{kebnKBiaX`%C)7Io+dvYe-Lf+?)L%rmN*qn7_F-5P=PQlZ!xLEG=~pM9Vt95feO3 zwVZmoc{%|&(?^pD@s&4E#KZ=+S!lV}KH7S*xqq_xbZ2+x@;;@*={~DLMKDIt(hUTKS-7ktxp0JnG8gA7RL^v zscR{b3^pal3&$ZMLJse%N{|;%8xbB<)#2^Q)ZPfJO2yXBK#cYOB6MXl&ihUVDD01S z49*b3$ZTEbc9Ri#NwQTtO9tI|8=`5JI*HsQHad@J>O$Szp9cUx8mV$WS45<%oySxt zDB+}-#|q?`+q7&@?I28L-y)cBWxu9M** z2jcxQ5SyoWu;e$6O=Za;kzsNF12{to>~SmTau6uQ@KB2qFMJRS!{}x<_N~f1|>vFWipL`_ZV$e>7Jg zRgCtaGl@U+0o)scA_E{@2@Vq8zmGp&rfd~1f4CCO1W;=kcbp8Zh~H$9#%2?06A@on zGpPF+hQ8&GUHZ>X3TDQ_Zwr5-J&mL3Rhpgc!oF~!S>x^pgNFEED$z3}JTd_;Lam4N zbVMxPbQUwXP|VnDF0TE@v5}gsb zjbbK28Z0-0Z9pU!6+L(nzeK=qlP`%4AfkE1$l!_{Uk|IFHea3`fT`c87^~3A7h8Y; zJyHNAKNZ|^NV@aK@-)RCY1g2Ta|+~Jk48^r57K{_ZOx$Pxo!?%0A@EX;#d_{;c{*s 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 z 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