You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
272 lines
8.3 KiB
272 lines
8.3 KiB
2 years ago
|
From b15794f391547a983c64afed029a883fed3c3c1c Mon Sep 17 00:00:00 2001
|
||
|
From: Matt Domsch <matt@domsch.com>
|
||
|
Date: Sat, 25 Apr 2020 23:04:38 -0500
|
||
|
Subject: [PATCH] support for lua 5.3
|
||
|
|
||
|
---
|
||
|
miltertest/miltertest.c | 14 +++----
|
||
|
opendkim/opendkim-lua.c | 82 +++++++++++++++++++++++++----------------
|
||
|
2 files changed, 58 insertions(+), 38 deletions(-)
|
||
|
|
||
|
diff --git a/miltertest/miltertest.c b/miltertest/miltertest.c
|
||
|
index 04e50c04..37dc601d 100644
|
||
|
--- a/miltertest/miltertest.c
|
||
|
+++ b/miltertest/miltertest.c
|
||
|
@@ -4009,12 +4009,12 @@ main(int argc, char **argv)
|
||
|
}
|
||
|
|
||
|
/* register functions */
|
||
|
-#if LUA_VERSION_NUM == 502
|
||
|
- luaL_newlib(l, mt_library);
|
||
|
+#if LUA_VERSION_NUM >= 502
|
||
|
+ luaL_newlib(l, mt_library);
|
||
|
lua_setglobal(l, "mt");
|
||
|
-#else /* LUA_VERSION_NUM == 502 */
|
||
|
+#else /* LUA_VERSION_NUM >= 502 */
|
||
|
luaL_register(l, "mt", mt_library);
|
||
|
-#endif /* LUA_VERSION_NUM == 502 */
|
||
|
+#endif /* LUA_VERSION_NUM >= 502 */
|
||
|
lua_pop(l, 1);
|
||
|
|
||
|
/* register constants */
|
||
|
@@ -4163,13 +4163,13 @@ main(int argc, char **argv)
|
||
|
lua_setglobal(l, "SMFIF_SETSYMLIST");
|
||
|
#endif /* SMFIF_SETSYMLIST */
|
||
|
|
||
|
-#if LUA_VERSION_NUM == 502
|
||
|
+#if LUA_VERSION_NUM >= 502
|
||
|
switch (lua_load(l, mt_lua_reader, (void *) &io,
|
||
|
script == NULL ? "(stdin)" : script, NULL))
|
||
|
-#else /* LUA_VERSION_NUM == 502 */
|
||
|
+#else /* LUA_VERSION_NUM >= 502 */
|
||
|
switch (lua_load(l, mt_lua_reader, (void *) &io,
|
||
|
script == NULL ? "(stdin)" : script))
|
||
|
-#endif /* LUA_VERSION_NUM == 502 */
|
||
|
+#endif /* LUA_VERSION_NUM >= 502 */
|
||
|
{
|
||
|
case 0:
|
||
|
break;
|
||
|
diff --git a/opendkim/opendkim-lua.c b/opendkim/opendkim-lua.c
|
||
|
index 4720862c..3786aa4b 100644
|
||
|
--- a/opendkim/opendkim-lua.c
|
||
|
+++ b/opendkim/opendkim-lua.c
|
||
|
@@ -285,11 +285,11 @@ dkimf_lua_alloc(void *ud, void *ptr, size_t osize, size_t nsize)
|
||
|
free(ptr);
|
||
|
return NULL;
|
||
|
}
|
||
|
-# if LUA_VERSION_NUM == 502
|
||
|
+# if LUA_VERSION_NUM >= 502
|
||
|
else if (nsize != 0 && ptr == NULL)
|
||
|
-# else /* LUA_VERSION_NUM == 502 */
|
||
|
+# else /* LUA_VERSION_NUM >= 502 */
|
||
|
else if (nsize != 0 && osize == 0)
|
||
|
-# endif /* LUA_VERSION_NUM == 502 */
|
||
|
+# endif /* LUA_VERSION_NUM >= 502 */
|
||
|
{
|
||
|
return malloc(nsize);
|
||
|
}
|
||
|
@@ -485,12 +485,12 @@ dkimf_lua_setup_hook(void *ctx, const char *script, size_t scriptlen,
|
||
|
** Register functions.
|
||
|
*/
|
||
|
|
||
|
-# if LUA_VERSION_NUM == 502
|
||
|
+# if LUA_VERSION_NUM >= 502
|
||
|
luaL_newlib(l, dkimf_lua_lib_setup);
|
||
|
lua_setglobal(l, "odkim");
|
||
|
-# else /* LUA_VERSION_NUM == 502 */
|
||
|
+# else /* LUA_VERSION_NUM >= 502 */
|
||
|
luaL_register(l, "odkim", dkimf_lua_lib_setup);
|
||
|
-# endif /* LUA_VERSION_NUM == 502 */
|
||
|
+# endif /* LUA_VERSION_NUM >= 502 */
|
||
|
lua_pop(l, 1);
|
||
|
|
||
|
/*
|
||
|
@@ -532,11 +532,11 @@ dkimf_lua_setup_hook(void *ctx, const char *script, size_t scriptlen,
|
||
|
/* import other globals */
|
||
|
dkimf_import_globals(ctx, l);
|
||
|
|
||
|
-# if LUA_VERSION_NUM == 502
|
||
|
+# if LUA_VERSION_NUM >= 502
|
||
|
switch (lua_load(l, dkimf_lua_reader, (void *) &io, name, NULL))
|
||
|
-# else /* LUA_VERSION_NUM == 502 */
|
||
|
+# else /* LUA_VERSION_NUM >= 502 */
|
||
|
switch (lua_load(l, dkimf_lua_reader, (void *) &io, name))
|
||
|
-# endif /* LUA_VERSION_NUM == 502 */
|
||
|
+# endif /* LUA_VERSION_NUM >= 502 */
|
||
|
{
|
||
|
case 0:
|
||
|
break;
|
||
|
@@ -564,8 +564,12 @@ dkimf_lua_setup_hook(void *ctx, const char *script, size_t scriptlen,
|
||
|
io.lua_io_len = 0;
|
||
|
io.lua_io_alloc = 0;
|
||
|
|
||
|
+#if LUA_VERSION_NUM >= 503
|
||
|
+ if (lua_dump(l, dkimf_lua_writer, &io, 0) == 0)
|
||
|
+#else
|
||
|
if (lua_dump(l, dkimf_lua_writer, &io) == 0)
|
||
|
- {
|
||
|
+#endif
|
||
|
+ {
|
||
|
*keep = (void *) io.lua_io_script;
|
||
|
*funclen = io.lua_io_len;
|
||
|
}
|
||
|
@@ -640,12 +644,12 @@ dkimf_lua_screen_hook(void *ctx, const char *script, size_t scriptlen,
|
||
|
** Register functions.
|
||
|
*/
|
||
|
|
||
|
-# if LUA_VERSION_NUM == 502
|
||
|
+# if LUA_VERSION_NUM >= 502
|
||
|
luaL_newlib(l, dkimf_lua_lib_screen);
|
||
|
lua_setglobal(l, "odkim");
|
||
|
-# else /* LUA_VERSION_NUM == 502 */
|
||
|
+# else /* LUA_VERSION_NUM >= 502 */
|
||
|
luaL_register(l, "odkim", dkimf_lua_lib_screen);
|
||
|
-# endif /* LUA_VERSION_NUM == 502 */
|
||
|
+# endif /* LUA_VERSION_NUM >= 502 */
|
||
|
lua_pop(l, 1);
|
||
|
|
||
|
/*
|
||
|
@@ -677,11 +681,11 @@ dkimf_lua_screen_hook(void *ctx, const char *script, size_t scriptlen,
|
||
|
/* import other globals */
|
||
|
dkimf_import_globals(ctx, l);
|
||
|
|
||
|
-# if LUA_VERSION_NUM == 502
|
||
|
+# if LUA_VERSION_NUM >= 502
|
||
|
switch (lua_load(l, dkimf_lua_reader, (void *) &io, name, NULL))
|
||
|
-# else /* LUA_VERSION_NUM == 502 */
|
||
|
+# else /* LUA_VERSION_NUM >= 502 */
|
||
|
switch (lua_load(l, dkimf_lua_reader, (void *) &io, name))
|
||
|
-# endif /* LUA_VERSION_NUM == 502 */
|
||
|
+# endif /* LUA_VERSION_NUM >= 502 */
|
||
|
{
|
||
|
case 0:
|
||
|
break;
|
||
|
@@ -709,7 +713,11 @@ dkimf_lua_screen_hook(void *ctx, const char *script, size_t scriptlen,
|
||
|
io.lua_io_len = 0;
|
||
|
io.lua_io_alloc = 0;
|
||
|
|
||
|
+#if LUA_VERSION_NUM >= 503
|
||
|
+ if (lua_dump(l, dkimf_lua_writer, &io, 0) == 0)
|
||
|
+#else
|
||
|
if (lua_dump(l, dkimf_lua_writer, &io) == 0)
|
||
|
+#endif
|
||
|
{
|
||
|
*keep = (void *) io.lua_io_script;
|
||
|
*funclen = io.lua_io_len;
|
||
|
@@ -785,12 +793,12 @@ dkimf_lua_stats_hook(void *ctx, const char *script, size_t scriptlen,
|
||
|
** Register functions.
|
||
|
*/
|
||
|
|
||
|
-# if LUA_VERSION_NUM == 502
|
||
|
+# if LUA_VERSION_NUM >= 502
|
||
|
luaL_newlib(l, dkimf_lua_lib_stats);
|
||
|
lua_setglobal(l, "odkim");
|
||
|
-# else /* LUA_VERSION_NUM == 502 */
|
||
|
+# else /* LUA_VERSION_NUM >= 502 */
|
||
|
luaL_register(l, "odkim", dkimf_lua_lib_stats);
|
||
|
-# endif /* LUA_VERSION_NUM == 502 */
|
||
|
+# endif /* LUA_VERSION_NUM >= 502 */
|
||
|
lua_pop(l, 1);
|
||
|
|
||
|
/*
|
||
|
@@ -914,11 +922,11 @@ dkimf_lua_stats_hook(void *ctx, const char *script, size_t scriptlen,
|
||
|
/* import other globals */
|
||
|
dkimf_import_globals(ctx, l);
|
||
|
|
||
|
-# if LUA_VERSION_NUM == 502
|
||
|
+# if LUA_VERSION_NUM >= 502
|
||
|
switch (lua_load(l, dkimf_lua_reader, (void *) &io, name, NULL))
|
||
|
-# else /* LUA_VERSION_NUM == 502 */
|
||
|
+# else /* LUA_VERSION_NUM >= 502 */
|
||
|
switch (lua_load(l, dkimf_lua_reader, (void *) &io, name))
|
||
|
-# endif /* LUA_VERSION_NUM == 502 */
|
||
|
+# endif /* LUA_VERSION_NUM >= 502 */
|
||
|
{
|
||
|
case 0:
|
||
|
break;
|
||
|
@@ -946,7 +954,11 @@ dkimf_lua_stats_hook(void *ctx, const char *script, size_t scriptlen,
|
||
|
io.lua_io_len = 0;
|
||
|
io.lua_io_alloc = 0;
|
||
|
|
||
|
+#if LUA_VERSION_NUM >= 503
|
||
|
+ if (lua_dump(l, dkimf_lua_writer, &io, 0) == 0)
|
||
|
+#else
|
||
|
if (lua_dump(l, dkimf_lua_writer, &io) == 0)
|
||
|
+#endif
|
||
|
{
|
||
|
*keep = (void *) io.lua_io_script;
|
||
|
*funclen = io.lua_io_len;
|
||
|
@@ -1022,12 +1034,12 @@ dkimf_lua_final_hook(void *ctx, const char *script, size_t scriptlen,
|
||
|
** Register functions.
|
||
|
*/
|
||
|
|
||
|
-# if LUA_VERSION_NUM == 502
|
||
|
+# if LUA_VERSION_NUM >= 502
|
||
|
luaL_newlib(l, dkimf_lua_lib_final);
|
||
|
lua_setglobal(l, "odkim");
|
||
|
-# else /* LUA_VERSION_NUM == 502 */
|
||
|
+# else /* LUA_VERSION_NUM >= 502 */
|
||
|
luaL_register(l, "odkim", dkimf_lua_lib_final);
|
||
|
-# endif /* LUA_VERSION_NUM == 502 */
|
||
|
+# endif /* LUA_VERSION_NUM >= 502 */
|
||
|
lua_pop(l, 1);
|
||
|
|
||
|
/*
|
||
|
@@ -1151,11 +1163,11 @@ dkimf_lua_final_hook(void *ctx, const char *script, size_t scriptlen,
|
||
|
/* import other globals */
|
||
|
dkimf_import_globals(ctx, l);
|
||
|
|
||
|
-# if LUA_VERSION_NUM == 502
|
||
|
+# if LUA_VERSION_NUM >= 502
|
||
|
switch (lua_load(l, dkimf_lua_reader, (void *) &io, name, NULL))
|
||
|
-# else /* LUA_VERSION_NUM == 502 */
|
||
|
+# else /* LUA_VERSION_NUM >= 502 */
|
||
|
switch (lua_load(l, dkimf_lua_reader, (void *) &io, name))
|
||
|
-# endif /* LUA_VERSION_NUM == 502 */
|
||
|
+# endif /* LUA_VERSION_NUM >= 502 */
|
||
|
{
|
||
|
case 0:
|
||
|
break;
|
||
|
@@ -1183,7 +1195,11 @@ dkimf_lua_final_hook(void *ctx, const char *script, size_t scriptlen,
|
||
|
io.lua_io_len = 0;
|
||
|
io.lua_io_alloc = 0;
|
||
|
|
||
|
+#if LUA_VERSION_NUM >= 503
|
||
|
+ if (lua_dump(l, dkimf_lua_writer, &io, 0) == 0)
|
||
|
+#else
|
||
|
if (lua_dump(l, dkimf_lua_writer, &io) == 0)
|
||
|
+#endif
|
||
|
{
|
||
|
*keep = (void *) io.lua_io_script;
|
||
|
*funclen = io.lua_io_len;
|
||
|
@@ -1252,11 +1268,11 @@ dkimf_lua_db_hook(const char *script, size_t scriptlen, const char *query,
|
||
|
lua_pushstring(l, query);
|
||
|
lua_setglobal(l, "query");
|
||
|
|
||
|
-# if LUA_VERSION_NUM == 502
|
||
|
+# if LUA_VERSION_NUM >= 502
|
||
|
switch (lua_load(l, dkimf_lua_reader, (void *) &io, script, NULL))
|
||
|
-# else /* LUA_VERSION_NUM == 502 */
|
||
|
+# else /* LUA_VERSION_NUM >= 502 */
|
||
|
switch (lua_load(l, dkimf_lua_reader, (void *) &io, script))
|
||
|
-# endif /* LUA_VERSION_NUM == 502 */
|
||
|
+# endif /* LUA_VERSION_NUM >= 502 */
|
||
|
{
|
||
|
case 0:
|
||
|
break;
|
||
|
@@ -1284,7 +1300,11 @@ dkimf_lua_db_hook(const char *script, size_t scriptlen, const char *query,
|
||
|
io.lua_io_len = 0;
|
||
|
io.lua_io_alloc = 0;
|
||
|
|
||
|
+#if LUA_VERSION_NUM >= 503
|
||
|
+ if (lua_dump(l, dkimf_lua_writer, &io, 0) == 0)
|
||
|
+#else
|
||
|
if (lua_dump(l, dkimf_lua_writer, &io) == 0)
|
||
|
+#endif
|
||
|
{
|
||
|
*keep = (void *) io.lua_io_script;
|
||
|
*funclen = io.lua_io_len;
|
||
|
--
|
||
|
2.25.4
|
||
|
|