1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

passdb: Add a function to read secrets db from a specified path

This allows to load secrets db from a different location. The original
secrets_init() now calls secrets_init_path() with lp_private_dir().
This commit is contained in:
Amitay Isaacs 2011-08-10 13:50:26 +10:00 committed by Andrew Bartlett
parent 6f21f556c1
commit 08ccc6ed51
2 changed files with 17 additions and 6 deletions

View File

@ -81,6 +81,7 @@ struct afs_keyfile {
/* The following definitions come from passdb/secrets.c */
bool secrets_init_path(const char *private_dir);
bool secrets_init(void);
struct db_context *secrets_db_ctx(void);
void secrets_shutdown(void);

View File

@ -55,19 +55,24 @@ static void get_rand_seed(void *userdata, int *new_seed)
}
}
/* open up the secrets database */
bool secrets_init(void)
/* open up the secrets database with specified private_dir path */
bool secrets_init_path(const char *private_dir)
{
char *fname = NULL;
unsigned char dummy;
if (db_ctx != NULL)
if (db_ctx != NULL) {
return True;
}
if (private_dir == NULL) {
return False;
}
fname = talloc_asprintf(talloc_tos(), "%s/secrets.tdb",
lp_private_dir());
private_dir);
if (fname == NULL) {
return false;
return False;
}
db_ctx = db_open(NULL, fname, 0,
@ -75,7 +80,6 @@ bool secrets_init(void)
if (db_ctx == NULL) {
DEBUG(0,("Failed to open %s\n", fname));
TALLOC_FREE(fname);
return False;
}
@ -95,6 +99,12 @@ bool secrets_init(void)
return True;
}
/* open up the secrets database */
bool secrets_init(void)
{
return secrets_init_path(lp_private_dir());
}
struct db_context *secrets_db_ctx(void)
{
if (!secrets_init()) {