exit(SS_RC_INITIALIZATION_FAILED);
}
- if (!libcharon_init())
+ if (!libcharon_init("charon-nm"))
{
dbg_syslog(DBG_DMN, 1, "initialization failed - aborting charon-nm");
goto deinit;
exit(SS_RC_INITIALIZATION_FAILED);
}
- if (!libcharon_init())
+ if (!libcharon_init("charon"))
{
dbg_stderr(DBG_DMN, 1, "initialization failed - aborting charon");
goto deinit;
library_deinit();
return SS_RC_INITIALIZATION_FAILED;
}
- if (!libcharon_init())
+ if (!libcharon_init("conftest"))
{
libcharon_deinit();
libhydra_deinit();
/**
* Create the daemon.
*/
-private_daemon_t *daemon_create()
+private_daemon_t *daemon_create(const char *name)
{
private_daemon_t *this;
.bus = bus_create(),
.file_loggers = linked_list_create(),
.sys_loggers = linked_list_create(),
+ .name = strdup(name ?: "libcharon"),
},
);
charon = &this->public;
/**
* Described in header.
*/
-bool libcharon_init()
+bool libcharon_init(const char *name)
{
- daemon_create();
+ daemon_create(name);
/* for uncritical pseudo random numbers */
srandom(time(NULL) + getpid());
*/
gid_t gid;
+ /**
+ * Name of the binary that uses the library (used for settings etc.)
+ */
+ const char *name;
+
/**
* Do not drop a given capability after initialization.
*
* This function initializes the bus, listeners can be registered before
* calling initialize().
*
+ * @param name name of the binary that uses the library
* @return FALSE if integrity check failed
*/
-bool libcharon_init();
+bool libcharon_init(const char *name);
/**
* Deinitialize libcharon and destroy the "charon" instance of daemon_t.