diff options
Diffstat (limited to 'src/charon-nm/charon-nm.c')
-rw-r--r-- | src/charon-nm/charon-nm.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/charon-nm/charon-nm.c b/src/charon-nm/charon-nm.c index 8b73f6a76..16b0ed856 100644 --- a/src/charon-nm/charon-nm.c +++ b/src/charon-nm/charon-nm.c @@ -31,6 +31,8 @@ #include <utils/backtrace.h> #include <threading/thread.h> +#include <nm/nm_backend.h> + /** * Hook in library for debugging messages */ @@ -270,10 +272,17 @@ int main(int argc, char *argv[]) goto deinit; } + /* load NM backend */ + if (!nm_backend_init()) + { + DBG1(DBG_DMN, "failed to initialize NetworkManager backend - aborting charon-nm"); + goto deinit_nm; + } + if (!drop_capabilities()) { DBG1(DBG_DMN, "capability dropping failed - aborting charon-nm"); - goto deinit; + goto deinit_nm; } /* add handler for SEGV and ILL, @@ -299,6 +308,8 @@ int main(int argc, char *argv[]) status = 0; +deinit_nm: + nm_backend_deinit(); deinit: libcharon_deinit(); libhydra_deinit(); |