When keyd is in use any backend configuration is ignored for the clients
and keyd contacted instead. The new config changes failed to correctly
migrate the overriding mechanism for this and as a result nothing was
using keyd.
char *initname;
struct onak_dbctx *(*backend_init)(struct onak_db_config *, bool);
struct onak_dynamic_dbctx *privctx;
char *initname;
struct onak_dbctx *(*backend_init)(struct onak_db_config *, bool);
struct onak_dynamic_dbctx *privctx;
if (dbcfg == NULL) {
logthing(LOGTHING_CRITICAL,
if (dbcfg == NULL) {
logthing(LOGTHING_CRITICAL,
- free(config.db_backend);
- config.db_backend = strdup("keyd");
}
if (!config.db_backend) {
}
if (!config.db_backend) {
}
if (config.backends_dir == NULL) {
}
if (config.backends_dir == NULL) {
- soname = malloc(strlen(dbcfg->type)
+ soname = malloc(strlen(type)
+ strlen("./libkeydb_")
+ strlen(".so")
+ 1);
+ strlen("./libkeydb_")
+ strlen(".so")
+ 1);
- sprintf(soname, "./libkeydb_%s.so", dbcfg->type);
+ sprintf(soname, "./libkeydb_%s.so", type);
- soname = malloc(strlen(dbcfg->type)
+ soname = malloc(strlen(type)
+ strlen("/libkeydb_")
+ strlen(".so")
+ strlen(config.backends_dir)
+ 1);
sprintf(soname, "%s/libkeydb_%s.so", config.backends_dir,
+ strlen("/libkeydb_")
+ strlen(".so")
+ strlen(config.backends_dir)
+ 1);
sprintf(soname, "%s/libkeydb_%s.so", config.backends_dir,
}
logthing(LOGTHING_INFO, "Loading dynamic backend: %s", soname);
}
logthing(LOGTHING_INFO, "Loading dynamic backend: %s", soname);
+ strlen("keydb_")
+ strlen("_init")
+ 1);
+ strlen("keydb_")
+ strlen("_init")
+ 1);
- sprintf(initname, "keydb_%s_init", dbcfg->type);
+ sprintf(initname, "keydb_%s_init", type);
*(void **) (&backend_init) = dlsym(privctx->backend_handle, initname);
free(initname);
*(void **) (&backend_init) = dlsym(privctx->backend_handle, initname);
free(initname);