|
@@ -1,65 +0,0 @@
|
|
|
-From 353faffe13852c4204f158b5d4301405bd222c44 Mon Sep 17 00:00:00 2001
|
|
|
-From: Michal Vasko <mvasko@cesnet.cz>
|
|
|
-Date: Fri, 20 Dec 2019 13:40:35 +0100
|
|
|
-Subject: [PATCH 9/9] sysrpeo-plugind BUGFIX create plugins dir recursively
|
|
|
-
|
|
|
-Refs #1719
|
|
|
-
|
|
|
-[Patch from https://github.com/sysrepo/sysrepo/commit/353faffe13852c4204f158b5d4301405bd222c44]
|
|
|
-
|
|
|
-Signed-off-by: Heiko Thiery <heiko.thiery@kontron.com>
|
|
|
----
|
|
|
- src/executables/sysrepo-plugind.c | 30 +++++++++++++++++++++++++++++-
|
|
|
- 1 file changed, 29 insertions(+), 1 deletion(-)
|
|
|
-
|
|
|
-diff --git a/src/executables/sysrepo-plugind.c b/src/executables/sysrepo-plugind.c
|
|
|
-index ddb41c26..ca22140e 100644
|
|
|
---- a/src/executables/sysrepo-plugind.c
|
|
|
-+++ b/src/executables/sysrepo-plugind.c
|
|
|
-@@ -206,6 +206,34 @@ daemon_init(int debug, sr_log_level_t log_level)
|
|
|
- sr_log_syslog("sysrepo-plugind", log_level);
|
|
|
- }
|
|
|
-
|
|
|
-+/* from src/common.c */
|
|
|
-+int
|
|
|
-+sr_mkpath(const char *path, mode_t mode)
|
|
|
-+{
|
|
|
-+ char *p, *dup;
|
|
|
-+
|
|
|
-+ dup = strdup(path);
|
|
|
-+ for (p = strchr(dup + 1, '/'); p; p = strchr(p + 1, '/')) {
|
|
|
-+ *p = '\0';
|
|
|
-+ if (mkdir(dup, mode) == -1) {
|
|
|
-+ if (errno != EEXIST) {
|
|
|
-+ *p = '/';
|
|
|
-+ return -1;
|
|
|
-+ }
|
|
|
-+ }
|
|
|
-+ *p = '/';
|
|
|
-+ }
|
|
|
-+ free(dup);
|
|
|
-+
|
|
|
-+ if (mkdir(path, mode) == -1) {
|
|
|
-+ if (errno != EEXIST) {
|
|
|
-+ return -1;
|
|
|
-+ }
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ return 0;
|
|
|
-+}
|
|
|
-+
|
|
|
- static int
|
|
|
- load_plugins(struct srpd_plugin_s **plugins, int *plugin_count)
|
|
|
- {
|
|
|
-@@ -231,7 +259,7 @@ load_plugins(struct srpd_plugin_s **plugins, int *plugin_count)
|
|
|
- error_print(0, "Checking plugins dir existence failed (%s).", strerror(errno));
|
|
|
- return -1;
|
|
|
- }
|
|
|
-- if (mkdir(plugins_dir, 00777) == -1) {
|
|
|
-+ if (sr_mkpath(plugins_dir, 00777) == -1) {
|
|
|
- error_print(0, "Creating plugins dir \"%s\" failed (%s).", plugins_dir, strerror(errno));
|
|
|
- return -1;
|
|
|
- }
|
|
|
---
|
|
|
-2.20.1
|
|
|
-
|