aboutsummaryrefslogtreecommitdiff
path: root/src/kadmin
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>2009-07-10 19:20:26 +0000
committerTom Yu <tlyu@mit.edu>2009-07-10 19:20:26 +0000
commit075289025c64774553d4b13f98a95fe7a1782f5c (patch)
treece6838e43645553a4a7a11eb31273dfde92d5baa /src/kadmin
parent3aa521f55761ca5c2c014388f6fe0f1ce3589114 (diff)
downloadkrb5-075289025c64774553d4b13f98a95fe7a1782f5c.zip
krb5-075289025c64774553d4b13f98a95fe7a1782f5c.tar.gz
krb5-075289025c64774553d4b13f98a95fe7a1782f5c.tar.bz2
Add a new '-W' option to kadmind and kdb5_util create to allow reading
weak random numbers on startup, to avoid long delays in testing situations. Use only for testing. Update testing scripts accordingly. ticket: 1233 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22434 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kadmin')
-rw-r--r--src/kadmin/dbutil/kdb5_create.c8
-rw-r--r--src/kadmin/server/ovsec_kadmd.c5
-rwxr-xr-xsrc/kadmin/testing/scripts/start_servers_local2
3 files changed, 12 insertions, 3 deletions
diff --git a/src/kadmin/dbutil/kdb5_create.c b/src/kadmin/dbutil/kdb5_create.c
index e8e4897..3cf84fe 100644
--- a/src/kadmin/dbutil/kdb5_create.c
+++ b/src/kadmin/dbutil/kdb5_create.c
@@ -167,8 +167,9 @@ void kdb5_create(argc, argv)
krb5_data pwd, seed;
kdb_log_context *log_ctx;
krb5_kvno mkey_kvno;
+ int strong_random = 1;
- while ((optchar = getopt(argc, argv, "s")) != -1) {
+ while ((optchar = getopt(argc, argv, "sW")) != -1) {
switch(optchar) {
case 's':
do_stash++;
@@ -179,6 +180,9 @@ void kdb5_create(argc, argv)
exit(1);
}
break;
+ case 'W':
+ strong_random = 0;
+ break;
case '?':
default:
usage();
@@ -196,7 +200,7 @@ void kdb5_create(argc, argv)
log_ctx = util_context->kdblog_context;
printf ("Loading random data\n");
- retval = krb5_c_random_os_entropy (util_context, 1, NULL);
+ retval = krb5_c_random_os_entropy (util_context, strong_random, NULL);
if (retval) {
com_err (progname, retval, "Loading random data");
exit_status++; return;
diff --git a/src/kadmin/server/ovsec_kadmd.c b/src/kadmin/server/ovsec_kadmd.c
index 97d7144..82ce716 100644
--- a/src/kadmin/server/ovsec_kadmd.c
+++ b/src/kadmin/server/ovsec_kadmd.c
@@ -222,6 +222,7 @@ int main(int argc, char *argv[])
int db_args_size = 0;
char *errmsg;
int i;
+ int strong_random = 1;
kdb_log_context *log_ctx;
@@ -292,6 +293,8 @@ int main(int argc, char *argv[])
usage();
params.kadmind_port = atoi(*argv);
params.mask |= KADM5_CONFIG_KADMIND_PORT;
+ } else if (strcmp(*argv, "-W") == 0) {
+ strong_random = 0;
} else
break;
argc--; argv++;
@@ -490,7 +493,7 @@ kterr:
}
krb5_klog_syslog(LOG_INFO, "Seeding random number generator");
- ret = krb5_c_random_os_entropy(context, 1, NULL);
+ ret = krb5_c_random_os_entropy(context, strong_random, NULL);
if (ret) {
krb5_klog_syslog(LOG_ERR, "Error getting random seed: %s, aborting",
krb5_get_error_message(context, ret));
diff --git a/src/kadmin/testing/scripts/start_servers_local b/src/kadmin/testing/scripts/start_servers_local
index 75b55ec..ec4dab6 100755
--- a/src/kadmin/testing/scripts/start_servers_local
+++ b/src/kadmin/testing/scripts/start_servers_local
@@ -121,6 +121,8 @@ max_s=60
sofar_s=0
timewait_s=300
+ovadm_args=-W
+
while true; do
rm -f $adm_start_file