s4-param Rename secrets_init() -> randseed_init()
authorAndrew Bartlett <abartlet@samba.org>
Tue, 3 May 2011 03:24:10 +0000 (13:24 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 3 May 2011 05:37:07 +0000 (07:37 +0200)
This only sets up the random number generator callback these days, so
use a different database for that.

(All secrets data in Samba4 is in secrets.ldb)

Andrew Bartlett

source4/param/secrets.c
source4/param/secrets.h
source4/smbd/server.c

index 70690a5e3bc1a654854b864bbd346f1688481963..0f3c1e36bb026ce7cc0494ea4dad112fbd1a952e 100644 (file)
@@ -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;
 }
 
 /**
index 4cab9ccaddc96cd0dc253d74c3ab05155dd6d9c0..6576929a0d6eeebe8f9a01a1833406a4146c69e1 100644 (file)
@@ -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,
index 81dd78701eba824b28d6fed33640f47052b6fcd5..4cd0263137fcc1081605f7dd6d78d67dc340df2f 100644 (file)
@@ -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;
        }