diff options
| author | Werner Koch <[email protected]> | 2018-12-11 17:12:51 +0000 |
|---|---|---|
| committer | Werner Koch <[email protected]> | 2018-12-11 17:12:51 +0000 |
| commit | cbcc8c19541fe8407f3b6588fce1535c64cf6b25 (patch) | |
| tree | cc02d83240034f6089e321f16b2a6d821be7bbe6 /agent/gpg-agent.c | |
| parent | dirmngr: Retry another server from the pool on 502, 503, 504. (diff) | |
| download | gnupg-cbcc8c19541fe8407f3b6588fce1535c64cf6b25.tar.gz gnupg-cbcc8c19541fe8407f3b6588fce1535c64cf6b25.zip | |
agent: Make the S2K calibration time runtime configurabe.
* agent/protect.c (s2k_calibration_time): New file global var.
(calibrate_s2k_count): Use it here.
(get_calibrated_s2k_count): Replace function static var by ...
(s2k_calibrated_count): new file global var.
(set_s2k_calibration_time): New function.
* agent/gpg-agent.c (oS2KCalibration): New const.
(opts): New option --s2k-calibration.
(parse_rereadable_options): Parse that option.
--
Note that using an unrelistic high value (like 60000) takes quite some
time for calibration.
GnuPG-bug-id: 3399
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'agent/gpg-agent.c')
| -rw-r--r-- | agent/gpg-agent.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/agent/gpg-agent.c b/agent/gpg-agent.c index de6947d4e..e1c0e2b0b 100644 --- a/agent/gpg-agent.c +++ b/agent/gpg-agent.c @@ -135,6 +135,7 @@ enum cmd_and_opt_values oDisableScdaemon, oDisableCheckOwnSocket, oS2KCount, + oS2KCalibration, oAutoExpandSecmem, oListenBacklog, @@ -253,6 +254,7 @@ static ARGPARSE_OPTS opts[] = { ARGPARSE_s_n (oEnableExtendedKeyFormat, "enable-extended-key-format", "@"), ARGPARSE_s_u (oS2KCount, "s2k-count", "@"), + ARGPARSE_s_u (oS2KCalibration, "s2k-calibration", "@"), ARGPARSE_op_u (oAutoExpandSecmem, "auto-expand-secmem", "@"), @@ -834,6 +836,7 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread) /* Note: When changing the next line, change also gpgconf_list. */ opt.ssh_fingerprint_digest = GCRY_MD_MD5; opt.s2k_count = 0; + set_s2k_calibration_time (0); /* Set to default. */ return 1; } @@ -929,6 +932,10 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread) opt.s2k_count = pargs->r.ret_ulong; break; + case oS2KCalibration: + set_s2k_calibration_time (pargs->r.ret_ulong); + break; + default: return 0; /* not handled */ } |
