X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fjournal%2Fjournal-authenticate.c;h=586daf34cd879d62bd0d4d93a7aa439d5b018f65;hb=671e021c92c835c6c701dc61463149d05b6f31af;hp=fd81797cf9e0fb73a8168e4cca1534f8875a719e;hpb=89fef99014662a5a63e7deaedd6292b7fb4ab2f8;p=elogind.git diff --git a/src/journal/journal-authenticate.c b/src/journal/journal-authenticate.c index fd81797cf..586daf34c 100644 --- a/src/journal/journal-authenticate.c +++ b/src/journal/journal-authenticate.c @@ -212,7 +212,7 @@ int journal_file_maybe_append_tag(JournalFile *f, uint64_t realtime) { return 0; if (realtime <= 0) - realtime = now(CLOCK_MONOTONIC); + realtime = now(CLOCK_REALTIME); r = journal_file_fsprg_need_evolve(f, realtime); if (r <= 0) @@ -413,12 +413,26 @@ finish: return r; } +static void initialize_libgcrypt(void) { + const char *p; + + if (gcry_control(GCRYCTL_INITIALIZATION_FINISHED_P)) + return; + + p = gcry_check_version("1.4.5"); + assert(p); + + gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0); +} + int journal_file_hmac_setup(JournalFile *f) { gcry_error_t e; if (!f->seal) return 0; + initialize_libgcrypt(); + e = gcry_md_open(&f->hmac, GCRY_MD_SHA256, GCRY_MD_FLAG_HMAC); if (e != 0) return -ENOTSUP;