[hackers] [quark][PATCH] fix for NOT_MODIFIED being sent in non-GMT timezone

From: Jeremy <jer_AT_jer.cx>
Date: Sun, 19 Jul 2020 09:37:31 -0700

From: Jeremy Bobbin <jer_AT_jer.cx>

stat(3)'s mtime is in local time while REQ_MOD is in GMT.
This patch translates mtime to GMT before comparing to REQ_MOD.
---
 http.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/http.c b/http.c
index 249c168..0c707be 100644
--- a/http.c
+++ b/http.c
_AT_@ -531,7 +531,8 @@ http_send_response(int fd, struct request *r)
 		}
 
 		/* compare with last modification date of the file */
-		if (difftime(st.st_mtim.tv_sec, mktime(&tm)) <= 0) {
+		time_t mtime = mktime(gmtime(&st.st_mtim.tv_sec));
+		if (difftime(mtime, mktime(&tm)) <= 0) {
 			if (dprintf(fd,
 			            "HTTP/1.1 %d %s\r\n"
 			            "Date: %s\r\n"
-- 
2.27.0
Received on Sun Jul 19 2020 - 18:37:31 CEST

This archive was generated by hypermail 2.3.0 : Sun Jul 19 2020 - 18:48:35 CEST