Diffusion GnuPG 380bce13d94f

agent: Use clock or clock_gettime for calibration.

Authored by gniibe on Nov 7 2017, 2:49 AM.

Description

agent: Use clock or clock_gettime for calibration.

* agent/protect.c (calibrate_get_time): Use clock or clock_gettime.

For calibration, clock(3) is better than times(3) among UNIXen.
Tested on NetBSD 7.1 and FreeBSD 11.1, using QEMU.

Thanks to Damien Goutte-Gattat for the information of use of
CLOCKS_PER_SEC; The old code with times(3) is not 100% correct,
in terms of POSIX. It should have used sysconf (_SC_CLK_TCK) instead
of CLOCKS_PER_SEC. CLOCKS_PER_SEC is specifically for clock(3).

  • GnuPG-bug-id: T3056, T3276, T3472
  • Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>