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.
271 lines
8.3 KiB
271 lines
8.3 KiB
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 |
|
|
|
|