From c1d96358d49a4583b8aa9bdb1e8d73c70f9d8d06 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 1 Jun 2021 16:18:23 -0400 Subject: Use native timegm when available. Continue having a tor_gmtime_impl() unit test so that we can detect any problems in our replacement function; add a new test function to make sure that gmtime<->timegm are a round-trip on now-ish times. This is a fix for bug #40383, wherein we ran into trouble because tor_timegm() does not believe that time_t should include a count of leap seconds, but FreeBSD's gmtime believes that it should. This disagreement meant that for a certain amount of time each day, instead of calculating the most recent midnight, our voting-schedule functions would calculate the second-most-recent midnight, and lead to an assertion failure. I am calling this a bugfix on 0.2.0.3-alpha when we first started calculating our voting schedule in this way. --- configure.ac | 1 + 1 file changed, 1 insertion(+) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index 6d7cd1dd6a..5a01c28bde 100644 --- a/configure.ac +++ b/configure.ac @@ -793,6 +793,7 @@ AC_CHECK_FUNCS( strtoull \ sysconf \ sysctl \ + timegm \ truncate \ uname \ usleep \ -- cgit v1.2.3-54-g00ecf