diff options
-rw-r--r-- | source4/param/secrets.c | 10 | ||||
-rw-r--r-- | source4/param/secrets.h | 3 | ||||
-rw-r--r-- | source4/smbd/server.c | 7 |
3 files changed, 10 insertions, 10 deletions
diff --git a/source4/param/secrets.c b/source4/param/secrets.c index 70690a5e3b..0f3c1e36bb 100644 --- a/source4/param/secrets.c +++ b/source4/param/secrets.c @@ -49,22 +49,22 @@ static void get_rand_seed(struct tdb_wrap *secretsdb, int *new_seed) } /** - * open up the secrets database + * open up the randseed database and set the random number generator callback */ -struct tdb_wrap *secrets_init(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx) +bool randseed_init(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx) { char *fname; uint8_t dummy; struct tdb_wrap *tdb; - fname = lpcfg_private_path(mem_ctx, lp_ctx, "secrets.tdb"); + fname = lpcfg_private_path(mem_ctx, lp_ctx, "randseed.tdb"); tdb = tdb_wrap_open(mem_ctx, fname, 0, TDB_DEFAULT, O_RDWR|O_CREAT, 0600); if (!tdb) { DEBUG(0,("Failed to open %s\n", fname)); talloc_free(fname); - return NULL; + return false; } talloc_free(fname); @@ -79,7 +79,7 @@ struct tdb_wrap *secrets_init(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_c /* Ensure that the reseed is done now, while we are root, etc */ generate_random_buffer(&dummy, sizeof(dummy)); - return tdb; + return true; } /** diff --git a/source4/param/secrets.h b/source4/param/secrets.h index 4cab9ccadd..6576929a0d 100644 --- a/source4/param/secrets.h +++ b/source4/param/secrets.h @@ -43,7 +43,8 @@ struct ldb_context; #include "librpc/gen_ndr/misc.h" -struct tdb_wrap *secrets_init(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx); +bool randseed_init(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx); + struct ldb_context *secrets_db_connect(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx); struct dom_sid *secrets_get_domain_sid(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx, diff --git a/source4/smbd/server.c b/source4/smbd/server.c index 81dd78701e..4cd0263137 100644 --- a/source4/smbd/server.c +++ b/source4/smbd/server.c @@ -388,10 +388,9 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[ pidfile_create(lpcfg_piddir(cmdline_lp_ctx), binary_name); - /* Do *not* remove this, until you have removed - * passdb/secrets.c, and proved that Samba still builds... */ - /* Setup the SECRETS subsystem */ - if (secrets_init(talloc_autofree_context(), cmdline_lp_ctx) == NULL) { + /* Set up a database to hold a random seed, in case we don't + * have /dev/urandom */ + if (randseed_init(talloc_autofree_context(), cmdline_lp_ctx) == NULL) { return 1; } |