From 3d334dca671898241732dbc0ef6838b768308da7 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Thu, 21 Sep 2023 02:18:35 +0000 Subject: Implement If-Modified-Since Signed-off-by: Laurent Bercot --- src/libtipidee/tipidee_util_httpdate.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/libtipidee/tipidee_util_httpdate.c (limited to 'src/libtipidee/tipidee_util_httpdate.c') diff --git a/src/libtipidee/tipidee_util_httpdate.c b/src/libtipidee/tipidee_util_httpdate.c new file mode 100644 index 0000000..cce735d --- /dev/null +++ b/src/libtipidee/tipidee_util_httpdate.c @@ -0,0 +1,22 @@ +/* ISC license. */ + +#include +#include + +#include + +#include + +int tipidee_util_httpdate (char const *s, tain *stamp) +{ + struct tm tm ; + if (strptime(s, "%a, %d %b %Y %T GMT", &tm)) goto got ; + if (strptime(s, "%a, %d-%b-%y %T GMT", &tm)) goto got ; + if (strptime(s, "%a %b %d %T %Y", &tm)) goto got ; + return (errno = EINVAL, 0) ; + + got: + if (!tai_from_localtm(tain_secp(stamp), &tm)) return 0 ; + stamp->nano = 0 ; + return 1 ; +} -- cgit v1.3.1