summaryrefslogtreecommitdiff
path: root/source4/scripting
diff options
context:
space:
mode:
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>2015-06-17 16:38:29 +1200
committerAndrew Bartlett <abartlet@samba.org>2015-10-29 05:08:15 +0100
commita9ddca042c51de5c95327f41e3a31c178f5ab85b (patch)
tree0a10d33f61ad36fb04a262446c372f2c384215ec /source4/scripting
parente442726c3d59bf861058ac81735653d9f91610a2 (diff)
downloadsamba-a9ddca042c51de5c95327f41e3a31c178f5ab85b.tar.gz
KCC: Simplify RNG seeding logic, dropping the default value
There is no particular justification for the previous default, other than being deterministic makes testing more reliable. The algorithms using randomness do not assume determinism. Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source4/scripting')
-rwxr-xr-xsource4/scripting/bin/samba_kcc15
1 files changed, 6 insertions, 9 deletions
diff --git a/source4/scripting/bin/samba_kcc b/source4/scripting/bin/samba_kcc
index 889e47b3376..0caba79758c 100755
--- a/source4/scripting/bin/samba_kcc
+++ b/source4/scripting/bin/samba_kcc
@@ -51,6 +51,8 @@ import logging
from samba.kcc.debug import logger, DEBUG, DEBUG_FN
from samba.kcc import KCC
+# If DEFAULT_RNG_SEED is None, /dev/urandom or system time is used.
+DEFAULT_RNG_SEED = None
def test_all_reps_from(lp, creds, unix_now, rng_seed=None):
"""Run the KCC from all DSAs in read-only mode
@@ -86,7 +88,7 @@ def test_all_reps_from(lp, creds, unix_now, rng_seed=None):
vertex_colours = []
for dsa_dn in dsas:
- if rng_seed:
+ if rng_seed is not None:
random.seed(rng_seed)
kcc = KCC(unix_now, readonly=True,
verify=opts.verify, debug=opts.debug,
@@ -185,7 +187,7 @@ parser.add_option("--dot-file-dir", default=None,
parser.add_option("--seed",
help="random number seed",
- type=int)
+ type=int, default=DEFAULT_RNG_SEED)
parser.add_option("--importldif",
help="import topology ldif file",
@@ -248,11 +250,7 @@ elif opts.readonly:
else:
logger.setLevel(logging.WARNING)
-# initialize seed from optional input parameter
-if opts.seed:
- random.seed(opts.seed)
-else:
- random.seed(0xACE5CA11)
+random.seed(opts.seed)
if opts.now:
for timeformat in ("%Y%m%d%H%M%S%Z", "%Y%m%d%H%M%S"):
@@ -277,8 +275,7 @@ if opts.dburl is None:
if opts.test_all_reps_from:
opts.readonly = True
- rng_seed = opts.seed or 0xACE5CA11
- test_all_reps_from(lp, creds, unix_now, rng_seed=rng_seed)
+ test_all_reps_from(kcc, lp, creds, unix_now, rng_seed=opts.seed)
sys.exit()
# Instantiate Knowledge Consistency Checker and perform run