diff options
Diffstat (limited to 'sm')
-rw-r--r-- | sm/ChangeLog | 6 | ||||
-rw-r--r-- | sm/certchain.c | 2 | ||||
-rw-r--r-- | sm/certpath.c | 2 | ||||
-rw-r--r-- | sm/gpgsm.c | 18 | ||||
-rw-r--r-- | sm/sign.c | 2 |
5 files changed, 24 insertions, 6 deletions
diff --git a/sm/ChangeLog b/sm/ChangeLog index 7ab2f9a1f..25b88d915 100644 --- a/sm/ChangeLog +++ b/sm/ChangeLog @@ -1,3 +1,9 @@ +2002-05-14 Werner Koch <[email protected]> + + * gpgsm.c: New option --faked-system-time + * sign.c (gpgsm_sign): And use it here. + * certpath.c (gpgsm_validate_path): Ditto. + 2002-05-03 Werner Koch <[email protected]> * certpath.c (gpgsm_validate_path): Added EXPTIME arg and changed diff --git a/sm/certchain.c b/sm/certchain.c index 1283ce46d..28c0be52f 100644 --- a/sm/certchain.c +++ b/sm/certchain.c @@ -315,7 +315,7 @@ gpgsm_validate_path (KsbaCert cert, time_t *r_exptime) char *subject = NULL; KEYDB_HANDLE kh = keydb_new (0); KsbaCert subject_cert = NULL, issuer_cert = NULL; - time_t current_time = time (NULL); + time_t current_time = gnupg_get_time (); time_t exptime = 0; if (r_exptime) diff --git a/sm/certpath.c b/sm/certpath.c index 1283ce46d..28c0be52f 100644 --- a/sm/certpath.c +++ b/sm/certpath.c @@ -315,7 +315,7 @@ gpgsm_validate_path (KsbaCert cert, time_t *r_exptime) char *subject = NULL; KEYDB_HANDLE kh = keydb_new (0); KsbaCert subject_cert = NULL, issuer_cert = NULL; - time_t current_time = time (NULL); + time_t current_time = gnupg_get_time (); time_t exptime = 0; if (r_exptime) diff --git a/sm/gpgsm.c b/sm/gpgsm.c index cb2c3bdf7..b5b144afe 100644 --- a/sm/gpgsm.c +++ b/sm/gpgsm.c @@ -92,8 +92,7 @@ enum cmd_and_opt_values { oLCmessages, oDirmngrProgram, - - + oFakedSystemTime, oAssumeArmor, @@ -111,7 +110,7 @@ enum cmd_and_opt_values { oDisablePolicyChecks, oEnablePolicyChecks, - + oTextmode, oFingerprint, @@ -353,6 +352,8 @@ static ARGPARSE_OPTS opts[] = { { oLCctype, "lc-ctype", 2, "@" }, { oLCmessages, "lc-messages", 2, "@" }, { oDirmngrProgram, "dirmngr-program", 2 , "@" }, + { oFakedSystemTime, "faked-system-time", 4, "@" }, /* (epoch time) */ + { oNoBatch, "no-batch", 0, "@" }, { oWithColons, "with-colons", 0, "@"}, @@ -861,6 +862,10 @@ main ( int argc, char **argv) case oLCmessages: opt.lc_messages = xstrdup (pargs.r.ret_str); break; case oDirmngrProgram: opt.dirmngr_program = pargs.r.ret_str; break; + case oFakedSystemTime: + gnupg_set_time ( (time_t)pargs.r.ret_ulong, 0); + break; + case oNoDefKeyring: default_keyring = 0; break; case oNoGreeting: nogreeting = 1; break; @@ -975,6 +980,13 @@ main ( int argc, char **argv) if (may_coredump && !opt.quiet) log_info (_("WARNING: program may create a core file!\n")); + + if (gnupg_faked_time_p ()) + { + log_info (_("WARNING: running with faked system time: ")); + gpgsm_dump_time (gnupg_get_time ()); + log_printf ("\n"); + } /*FIXME if (opt.batch) */ /* tty_batchmode (1); */ @@ -393,7 +393,7 @@ gpgsm_sign (CTRL ctrl, int data_fd, int detached, FILE *out_fp) } } - signed_at = time (NULL); + signed_at = gnupg_get_time (); err = ksba_cms_set_signing_time (cms, signer, signed_at); if (err) { |