From d160d2e7426efe82c7d2bc8128f3ccaafa5024a1 Mon Sep 17 00:00:00 2001 From: rofl0r Date: Tue, 9 Jan 2024 14:49:07 +0000 Subject: [PATCH] su: fix usage on systems with backwards clock --- su.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/su.c b/su.c index 14add6f..de480a2 100644 --- a/su.c +++ b/su.c @@ -171,10 +171,16 @@ int main(int argc, char** argv) { char* pass = 0; if(!is_root) { - time_t mtime = get_mtime(uidfn); - if(mtime != -1 && mtime + LOGIN_DELAY_SECS > time(0)) { + time_t mtime = get_mtime(uidfn), now = time(0); + if(mtime != -1 && mtime + LOGIN_DELAY_SECS > now) { + if(now < mtime) + dprintf(2, "warning: your system clock is in the past, check your CMOS battery.\n"); + dprintf(2, "you need to wait for " LOGIN_DELAY_SECS_STR " seconds before retrying.\n"); + + if(now < mtime) goto failed; + return 1; } pass = getpass("enter password:"); -- 2.11.4.GIT