openwrt-packages/net/haproxy/patches/0009-BUILD-lua-replace-time...

39 lines
1.3 KiB
Diff

From df1655a6c0e4431317cc66c67693281092a952b0 Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w@1wt.eu>
Date: Wed, 19 Jul 2017 19:08:48 +0200
Subject: [PATCH 09/18] BUILD: lua: replace timegm() with my_timegm() to fix
build on Solaris 10
Akhnin Nikita reported that Lua doesn't build on Solaris 10 because
the code uses timegm() to parse a date, which is not provided there.
The recommended way to implement timegm() is broken in the man page,
as it is based on a change of the TZ environment variable at run time
before calling the function (which is obviously not thread safe, and
terribly inefficient).
Here instead we rely on the new my_timegm() function, it should be
sufficient for all known use cases.
(cherry picked from commit abd9bb20b76818c9f461a82b72b10818736ff8b3)
Signed-off-by: Willy Tarreau <w@1wt.eu>
---
src/hlua_fcn.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hlua_fcn.c b/src/hlua_fcn.c
index 58905d7d..fe899a4a 100644
--- a/src/hlua_fcn.c
+++ b/src/hlua_fcn.c
@@ -287,7 +287,7 @@ static int hlua_parse_date(lua_State *L, int (*fcn)(const char *, int, struct tm
* the timezone from the broken-down time, it must be fixed
* after the conversion.
*/
- time = timegm(&tm);
+ time = my_timegm(&tm);
if (time == -1) {
lua_pushnil(L);
return 1;
--
2.13.0