blob: 31d27f508d11cc0138a45644b24f0ac4f0f40140 [file] [log] [blame]
From 28c27e2001b709a9cae1db0aba2185ec86ba0454 Mon Sep 17 00:00:00 2001
From: Michal Vasko <mvasko@cesnet.cz>
Date: Thu, 19 Dec 2019 14:01:00 +0100
Subject: [PATCH 1/9] sysrepo-plugind CHANGE create plugins dir if it does not
exist
Fixes #1719
[Patch from https://github.com/sysrepo/sysrepo/commit/28c27e2001b709a9cae1db0aba2185ec86ba0454]
Signed-off-by: Heiko Thiery <heiko.thiery@kontron.com>
---
src/executables/sysrepo-plugind.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/executables/sysrepo-plugind.c b/src/executables/sysrepo-plugind.c
index 6b11bad6..ddb41c26 100644
--- a/src/executables/sysrepo-plugind.c
+++ b/src/executables/sysrepo-plugind.c
@@ -225,6 +225,18 @@ load_plugins(struct srpd_plugin_s **plugins, int *plugin_count)
plugins_dir = SRPD_PLUGINS_PATH;
}
+ /* create the directory if it does not exist */
+ if (access(plugins_dir, F_OK) == -1) {
+ if (errno != ENOENT) {
+ error_print(0, "Checking plugins dir existence failed (%s).", strerror(errno));
+ return -1;
+ }
+ if (mkdir(plugins_dir, 00777) == -1) {
+ error_print(0, "Creating plugins dir \"%s\" failed (%s).", plugins_dir, strerror(errno));
+ return -1;
+ }
+ }
+
dir = opendir(plugins_dir);
if (!dir) {
error_print(0, "Opening \"%s\" directory failed (%s).", plugins_dir, strerror(errno));
--
2.20.1