This patch makes the configuration to read the configuration
file in order to pass the configuration to the different functions.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
---
 src/lxc/Makefile.am |    5 +++--
 src/lxc/conf.c      |   20 ++++++++++++++++++++
 2 files changed, 23 insertions(+), 2 deletions(-)

Index: lxc/src/lxc/conf.c
===================================================================
--- lxc.orig/src/lxc/conf.c
+++ lxc/src/lxc/conf.c
@@ -1850,6 +1850,8 @@ static long make_conf_flagset(const char
 	return flags;
 }
 
+extern int lxc_config_read(const char *file, struct lxc_conf *conf);
+
 int lxc_setup(const char *name, const char *cons,
 	      const struct lxc_tty_info *tty_info)
 
@@ -1858,6 +1860,24 @@ int lxc_setup(const char *name, const ch
 	 * work after chrooting */
 	long flags = make_conf_flagset(name, cons, tty_info);
 
+	struct lxc_conf lxc_conf;
+	char path[MAXPATHLEN];
+
+	if (lxc_conf_init(&lxc_conf)) {
+		ERROR("failed to initialize the configuration");
+		return -1;
+	}
+
+	snprintf(path, sizeof(path), LXCPATH "/%s/config", name);
+
+	if (!access(path, F_OK)) {
+
+		if (lxc_config_read(path, &lxc_conf)) {
+			ERROR("failed to read the configuration file");
+			return -1;
+		}
+	}
+
 	if (conf_is_set(flags, utsname) && setup_utsname(name)) {
 		ERROR("failed to setup the utsname for '%s'", name);
 		return -1;
Index: lxc/src/lxc/Makefile.am
===================================================================
--- lxc.orig/src/lxc/Makefile.am
+++ lxc/src/lxc/Makefile.am
@@ -37,6 +37,7 @@ liblxc_la_SOURCES = \
 	lock.c lock.h \
 	namespace.h namespace.c \
 	conf.c conf.h \
+	confile.c confile.h \
 	list.h \
 	state.c state.h \
 	log.c log.h \
@@ -88,7 +89,7 @@ lxc_unshare_LDADD = liblxc.la
 lxc_init_SOURCES = lxc_init.c
 lxc_init_LDADD = liblxc.la
 
-lxc_create_SOURCES = lxc_create.c confile.c confile.h
+lxc_create_SOURCES = lxc_create.c
 lxc_create_LDADD = liblxc.la
 
 lxc_destroy_SOURCES = lxc_destroy.c
@@ -100,7 +101,7 @@ lxc_start_LDADD = liblxc.la
 lxc_stop_SOURCES = lxc_stop.c
 lxc_stop_LDADD = liblxc.la
 
-lxc_execute_SOURCES = lxc_execute.c confile.c confile.h
+lxc_execute_SOURCES = lxc_execute.c
 lxc_execute_LDADD = liblxc.la
 
 lxc_monitor_SOURCES = lxc_monitor.c



