diff options
author | Tom Yu <tlyu@mit.edu> | 2009-07-10 19:20:26 +0000 |
---|---|---|
committer | Tom Yu <tlyu@mit.edu> | 2009-07-10 19:20:26 +0000 |
commit | 075289025c64774553d4b13f98a95fe7a1782f5c (patch) | |
tree | ce6838e43645553a4a7a11eb31273dfde92d5baa /src/kadmin | |
parent | 3aa521f55761ca5c2c014388f6fe0f1ce3589114 (diff) | |
download | krb5-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.c | 8 | ||||
-rw-r--r-- | src/kadmin/server/ovsec_kadmd.c | 5 | ||||
-rwxr-xr-x | src/kadmin/testing/scripts/start_servers_local | 2 |
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 |