summaryrefslogtreecommitdiff
path: root/src/charon-nm/nm/nm_backend.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/charon-nm/nm/nm_backend.c')
-rw-r--r--src/charon-nm/nm/nm_backend.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/charon-nm/nm/nm_backend.c b/src/charon-nm/nm/nm_backend.c
index c18bf992a..f474dad60 100644
--- a/src/charon-nm/nm/nm_backend.c
+++ b/src/charon-nm/nm/nm_backend.c
@@ -116,7 +116,9 @@ static bool nm_backend_init()
{
nm_backend_t *this;
+#if !GLIB_CHECK_VERSION(2,36,0)
g_type_init ();
+#endif
#if !GLIB_CHECK_VERSION(2,23,0)
if (!g_thread_supported())
@@ -142,7 +144,12 @@ static bool nm_backend_init()
}
/* bypass file permissions to read from users ssh-agent */
- charon->caps->keep(charon->caps, CAP_DAC_OVERRIDE);
+ if (!lib->caps->keep(lib->caps, CAP_DAC_OVERRIDE))
+ {
+ DBG1(DBG_CFG, "NM backend requires CAP_DAC_OVERRIDE capability");
+ nm_backend_deinit();
+ return FALSE;
+ }
lib->processor->queue_job(lib->processor,
(job_t*)callback_job_create_with_prio((callback_job_cb_t)run, this,