From 0648b68ffab092975c35f731baf67da03e142178 Mon Sep 17 00:00:00 2001 From: Doug Hoyte Date: Thu, 12 Sep 2024 23:37:30 -0400 Subject: [PATCH] improve logging: distinguish between rejecting event because created_at too early vs. expired ephemeral --- src/events.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/events.cpp b/src/events.cpp index 6a496b7..aadb618 100644 --- a/src/events.cpp +++ b/src/events.cpp @@ -120,14 +120,16 @@ void verifyEventTimestamp(PackedEventView packed) { auto now = hoytech::curr_time_s(); auto ts = packed.created_at(); - uint64_t earliest = now - (packed.expiration() == 1 ? cfg().events__rejectEphemeralEventsOlderThanSeconds : cfg().events__rejectEventsOlderThanSeconds); + bool isEphemeral = packed.expiration() == 1; + + uint64_t earliest = now - (isEphemeral ? cfg().events__rejectEphemeralEventsOlderThanSeconds : cfg().events__rejectEventsOlderThanSeconds); uint64_t latest = now + cfg().events__rejectEventsNewerThanSeconds; // overflows if (earliest > now) earliest = 0; if (latest < now) latest = MAX_U64 - 1; - if (ts < earliest) throw herr("created_at too early"); + if (ts < earliest) throw herr(isEphemeral ? "ephemeral event expired" : "created_at too early"); if (ts > latest) throw herr("created_at too late"); if (packed.expiration() > 1 && packed.expiration() <= now) throw herr("event expired");