summaryrefslogtreecommitdiffstats
path: root/src/kdc
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2012-04-17 03:19:12 +0000
committerGreg Hudson <ghudson@mit.edu>2012-04-17 03:19:12 +0000
commit8d689cea3561d5912db218a4fdf9bdf3c1c6d3b0 (patch)
treee1a7de9d2c4ddf4922ae616e410b4baaeab6331d /src/kdc
parent07b2ae74d0b7600fe1e0eb1de8a12806d7403770 (diff)
downloadkrb5-8d689cea3561d5912db218a4fdf9bdf3c1c6d3b0.tar.gz
krb5-8d689cea3561d5912db218a4fdf9bdf3c1c6d3b0.tar.xz
krb5-8d689cea3561d5912db218a4fdf9bdf3c1c6d3b0.zip
Add clock skew tests
Add a KDC option (-T) to run with a time offset, and use that to test kdc_timesync behavior. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25807 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kdc')
-rw-r--r--src/kdc/main.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/kdc/main.c b/src/kdc/main.c
index c2c3e4e0e..5b31bd3cd 100644
--- a/src/kdc/main.c
+++ b/src/kdc/main.c
@@ -86,6 +86,7 @@ static void finish_realms (void);
static int nofork = 0;
static int workers = 0;
+static int time_offset = 0;
static const char *pid_file = NULL;
static int rkey_init_done = 0;
static volatile int signal_received = 0;
@@ -293,6 +294,8 @@ init_realm(kdc_realm_t *rdp, char *realm, char *def_mpname,
kdc_err(NULL, kret, _("while getting context for realm %s"), realm);
goto whoops;
}
+ if (time_offset != 0)
+ (void)krb5_set_time_offsets(rdp->realm_context, time_offset, 0);
kret = krb5_read_realm_params(rdp->realm_context, rdp->realm_name,
&rparams);
@@ -733,7 +736,7 @@ initialize_realms(krb5_context kcontext, int argc, char **argv)
* Loop through the option list. Each time we encounter a realm name,
* use the previously scanned options to fill in for defaults.
*/
- while ((c = getopt(argc, argv, "x:r:d:mM:k:R:e:P:p:s:nw:4:X3")) != -1) {
+ while ((c = getopt(argc, argv, "x:r:d:mM:k:R:e:P:p:s:nw:4:T:X3")) != -1) {
switch(c) {
case 'x':
db_args_size++;
@@ -845,6 +848,9 @@ initialize_realms(krb5_context kcontext, int argc, char **argv)
default_tcp_ports = strdup(optarg);
#endif
break;
+ case 'T':
+ time_offset = atoi(optarg);
+ break;
case '4':
break;
case 'X':