[lxc-devel] [lxc/master] add some idmap parsing error messages

tych0 on Github lxc-bot at linuxcontainers.org
Tue Jan 9 00:10:23 UTC 2018


A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 485 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20180109/1ea05bff/attachment.bin>
-------------- next part --------------
From a8b1ac78131ca089810f80adaccf3ba9a4c8eaa1 Mon Sep 17 00:00:00 2001
From: Tycho Andersen <tycho at tycho.ws>
Date: Tue, 9 Jan 2018 00:07:50 +0000
Subject: [PATCH] add some idmap parsing error messages

otherwise, we just get a return value of false from setting config failure,
with no indication as to what actually failed in the log.

Signed-off-by: Tycho Andersen <tycho at tycho.ws>
---
 src/lxc/confile.c       |  4 +++-
 src/lxc/confile_utils.c | 17 +++++++++++++----
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/src/lxc/confile.c b/src/lxc/confile.c
index 65f13ac56..4c9f27545 100644
--- a/src/lxc/confile.c
+++ b/src/lxc/confile.c
@@ -1665,8 +1665,10 @@ static int set_config_idmaps(const char *key, const char *value,
 	memset(idmap, 0, sizeof(*idmap));
 
 	ret = parse_idmaps(value, &type, &nsid, &hostid, &range);
-	if (ret < 0)
+	if (ret < 0) {
+		ERROR("error parsing id maps");
 		goto on_error;
+	}
 
 	INFO("Read uid map: type %c nsid %lu hostid %lu range %lu", type, nsid, hostid, range);
 	if (type == 'u')
diff --git a/src/lxc/confile_utils.c b/src/lxc/confile_utils.c
index c2901116c..c7850f4aa 100644
--- a/src/lxc/confile_utils.c
+++ b/src/lxc/confile_utils.c
@@ -62,8 +62,11 @@ int parse_idmaps(const char *idmap, char *type, unsigned long *nsid,
 		goto on_error;
 
 	/* Validate type. */
-	if (*slide != 'u' && *slide != 'g')
+	if (*slide != 'u' && *slide != 'g') {
+		ERROR("invalid mapping type: %c", *slide);
 		goto on_error;
+	}
+
 	/* Assign type. */
 	tmp_type = *slide;
 
@@ -88,8 +91,10 @@ int parse_idmaps(const char *idmap, char *type, unsigned long *nsid,
 	*slide = '\0';
 
 	/* Parse nsuid. */
-	if (lxc_safe_ulong(window, &tmp_nsid) < 0)
+	if (lxc_safe_ulong(window, &tmp_nsid) < 0) {
+		ERROR("couldn't parse nsuid: %s", window);
 		goto on_error;
+	}
 
 	/* Move beyond \0. */
 	slide++;
@@ -112,8 +117,10 @@ int parse_idmaps(const char *idmap, char *type, unsigned long *nsid,
 	*slide = '\0';
 
 	/* Parse hostid. */
-	if (lxc_safe_ulong(window, &tmp_hostid) < 0)
+	if (lxc_safe_ulong(window, &tmp_hostid) < 0) {
+		ERROR("couldn't parse hostid: %s", window);
 		goto on_error;
+	}
 
 	/* Move beyond \0. */
 	slide++;
@@ -142,8 +149,10 @@ int parse_idmaps(const char *idmap, char *type, unsigned long *nsid,
 	*slide = '\0';
 
 	/* Parse range. */
-	if (lxc_safe_ulong(window, &tmp_range) < 0)
+	if (lxc_safe_ulong(window, &tmp_range) < 0) {
+		ERROR("couldn't parse range: %s", window);
 		goto on_error;
+	}
 
 	*type = tmp_type;
 	*nsid = tmp_nsid;


More information about the lxc-devel mailing list