]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
Add support for get_config_item and set_config_item 585/head
authorPatrick Toomey <ptoomey3@biasedcoin.com>
Thu, 27 Aug 2015 22:21:35 +0000 (16:21 -0600)
committerPatrick Toomey <ptoomey3@biasedcoin.com>
Fri, 28 Aug 2015 14:25:33 +0000 (08:25 -0600)
Signed-off-by: Patrick Toomey <ptoomey3@biasedcoin.com>
src/lxc/confile.c
src/tests/get_item.c

index bb39ee05e77e5932c0e6553e2a55aa2ae33d002f..1052241585f20cda6d5434f28097e600685971ef 100644 (file)
@@ -2510,6 +2510,10 @@ int lxc_get_config_item(struct lxc_conf *c, const char *key, char *retv,
                return lxc_get_item_environment(c, retv, inlen);
        else if (strcmp(key, "lxc.init_cmd") == 0)
                v = c->init_cmd;
+       else if (strcmp(key, "lxc.init_uid") == 0)
+               return lxc_get_conf_int(c, retv, inlen, c->init_uid);
+       else if (strcmp(key, "lxc.init_gid") == 0)
+               return lxc_get_conf_int(c, retv, inlen, c->init_gid);
        else return -1;
 
        if (!v)
index 943583cdd5866018d910e3f961e4593033b2a2fa..270ced9087631beabf8d7f4b89c6c02b4451c3c5 100644 (file)
@@ -88,6 +88,32 @@ int main(int argc, char *argv[])
        }
        printf("lxc.arch returned %d %s\n", ret, v2);
 
+       if (!c->set_config_item(c, "lxc.init_uid", "100")) {
+               fprintf(stderr, "%d: failed to set init_uid\n", __LINE__);
+               ret = 1;
+               goto out;
+       }
+       ret = c->get_config_item(c, "lxc.init_uid", v2, 255);
+       if (ret < 0) {
+               fprintf(stderr, "%d: get_config_item(lxc.init_uid) returned %d\n", __LINE__, ret);
+               ret = 1;
+               goto out;
+       }
+       printf("lxc.init_uid returned %d %s\n", ret, v2);
+
+       if (!c->set_config_item(c, "lxc.init_gid", "100")) {
+               fprintf(stderr, "%d: failed to set init_gid\n", __LINE__);
+               ret = 1;
+               goto out;
+       }
+       ret = c->get_config_item(c, "lxc.init_gid", v2, 255);
+       if (ret < 0) {
+               fprintf(stderr, "%d: get_config_item(lxc.init_gid) returned %d\n", __LINE__, ret);
+               ret = 1;
+               goto out;
+       }
+       printf("lxc.init_gid returned %d %s\n", ret, v2);
+
 #define HNAME "hostname1"
        // demonstrate proper usage:
        char *alloced;