Ack. Can you please fix up the return -1 issue (see other email) when
you add the restrictions on key names.
thanks,
Zane.
On 21/09/11 19:04, Adam Stokes wrote:
- Resolves rhbz 740091
- Keeps our data directory clean and allows us to
concentrate specifically on keys stored in this sub directory
with no cause for confusion.
Signed-off-by: Adam Stokes<astokes(a)fedoraproject.org>
---
src/lib/sysconfig.c | 8 +++++++-
src/tests/mh_api_sysconfig.h | 2 +-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/lib/sysconfig.c b/src/lib/sysconfig.c
index 4e32737..0301734 100644
--- a/src/lib/sysconfig.c
+++ b/src/lib/sysconfig.c
@@ -38,7 +38,7 @@ MH_TRACE_INIT_DATA(mh_sysconfig);
#ifdef WIN32
static const char DEFAULT_KEYS_DIR[] = "c:\\";
#else
-static const char DEFAULT_KEYS_DIR[] = "/var/lib/matahari/";
+static const char DEFAULT_KEYS_DIR[] = "/var/lib/matahari/sysconfig-keys/";
#endif
/*!
@@ -74,6 +74,12 @@ set_key(const char *key, const char *contents)
return -1;
}
+ if (!g_file_test(keys_dir_get(), G_FILE_TEST_IS_DIR)&&
+ g_mkdir(keys_dir_get(), 0755)< 0) {
+ mh_err("Could not create keys directory %s", keys_dir_get());
+ return FALSE;
+ }
+
g_snprintf(key_file, sizeof(key_file), "%s%s", keys_dir_get(), key);
if (!g_file_set_contents(key_file, contents, strlen(contents), NULL)) {
mh_err("Could not set file %s", key_file);
diff --git a/src/tests/mh_api_sysconfig.h b/src/tests/mh_api_sysconfig.h
index 0ea4507..0bab713 100644
--- a/src/tests/mh_api_sysconfig.h
+++ b/src/tests/mh_api_sysconfig.h
@@ -31,7 +31,7 @@ class MhApiSysconfigSuite : public CxxTest::TestSuite
const char key[] = "org.matahariproject.test.unittest"; //
Unimportant key defined
char *key_res;
- mh_sysconfig_keys_dir_set("/tmp/");
+ mh_sysconfig_keys_dir_set("/tmp/matahari-sysconfig-keys/");
TS_ASSERT((mh_sysconfig_set_configured(key, "OK")) == TRUE);
TS_ASSERT(((key_res = mh_sysconfig_is_configured(key))) != NULL);