]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
confile: add getter for lxc.cap.keep
authorChristian Brauner <christian.brauner@ubuntu.com>
Wed, 31 May 2017 06:26:57 +0000 (08:26 +0200)
committerChristian Brauner <christian.brauner@ubuntu.com>
Wed, 31 May 2017 08:03:31 +0000 (10:03 +0200)
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/confile.c

index ef91f43093b6a67a1a9da7b723e0a3e6ed0493d5..444f61ea1fd911577ad951a2eaefa203693b574b 100644 (file)
@@ -153,6 +153,8 @@ static int set_config_cap_drop(const char *, const char *, struct lxc_conf *);
 static int get_config_cap_drop(struct lxc_container *, const char *, char *, int);
 
 static int set_config_cap_keep(const char *, const char *, struct lxc_conf *);
+static int get_config_cap_keep(struct lxc_container *, const char *, char *, int);
+
 static int set_config_console(const char *, const char *, struct lxc_conf *);
 static int set_config_console_logfile(const char *, const char *, struct lxc_conf *);
 static int set_config_seccomp(const char *, const char *, struct lxc_conf *);
@@ -224,7 +226,7 @@ static struct lxc_config_t config[] = {
        { "lxc.network.",             set_config_network_nic,          get_config_network_item,      NULL},
        { "lxc.network",              set_config_network,              get_config_network,           NULL},
        { "lxc.cap.drop",             set_config_cap_drop,             get_config_cap_drop,          NULL},
-       { "lxc.cap.keep",             set_config_cap_keep,              NULL, NULL},
+       { "lxc.cap.keep",             set_config_cap_keep,             get_config_cap_keep,          NULL},
        { "lxc.console.logfile",      set_config_console_logfile,       NULL, NULL},
        { "lxc.console",              set_config_console,               NULL, NULL},
        { "lxc.seccomp",              set_config_seccomp,               NULL, NULL},
@@ -2716,22 +2718,6 @@ static int lxc_get_item_environment(struct lxc_conf *c, char *retv, int inlen)
        return fulllen;
 }
 
-static int lxc_get_item_cap_keep(struct lxc_conf *c, char *retv, int inlen)
-{
-       int len, fulllen = 0;
-       struct lxc_list *it;
-
-       if (!retv)
-               inlen = 0;
-       else
-               memset(retv, 0, inlen);
-
-       lxc_list_for_each(it, &c->keepcaps) {
-               strprint(retv, inlen, "%s\n", (char *)it->elem);
-       }
-       return fulllen;
-}
-
 int lxc_get_config_item(struct lxc_conf *c, const char *key, char *retv,
                        int inlen)
 {
@@ -2741,8 +2727,6 @@ int lxc_get_config_item(struct lxc_conf *c, const char *key, char *retv,
                v = c->console.log_path;
        else if (strcmp(key, "lxc.console") == 0)
                v = c->console.path;
-       else if (strcmp(key, "lxc.cap.keep") == 0)
-               return lxc_get_item_cap_keep(c, retv, inlen);
        else if (strcmp(key, "lxc.start.auto") == 0)
                return lxc_get_conf_int(c, retv, inlen, c->start_auto);
        else if (strcmp(key, "lxc.start.delay") == 0)
@@ -3885,8 +3869,24 @@ static int get_config_cap_drop(struct lxc_container *c, const char *key,
        else
                memset(retv, 0, inlen);
 
-       lxc_list_for_each(it, &c->lxc_conf->caps)
-       {
+       lxc_list_for_each(it, &c->lxc_conf->caps) {
+               strprint(retv, inlen, "%s\n", (char *)it->elem);
+       }
+       return fulllen;
+}
+
+static int get_config_cap_keep(struct lxc_container *c, const char *key,
+                              char *retv, int inlen)
+{
+       int len, fulllen = 0;
+       struct lxc_list *it;
+
+       if (!retv)
+               inlen = 0;
+       else
+               memset(retv, 0, inlen);
+
+       lxc_list_for_each(it, &c->lxc_conf->keepcaps) {
                strprint(retv, inlen, "%s\n", (char *)it->elem);
        }
        return fulllen;