summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Jung <rjung@apache.org>2017-07-04 21:22:23 +0200
committerRainer Jung <rjung@apache.org>2017-07-04 21:22:23 +0200
commitd1105fd4f22ca7b150b28b247bb4b88419a3601b (patch)
treeef26e11c90491254a3e2d8a674e04c3910b9af85
parentAdd mod_proxy_hcheck to generated httpd.spec file. PR 60506. (diff)
downloadapache2-d1105fd4f22ca7b150b28b247bb4b88419a3601b.tar.xz
apache2-d1105fd4f22ca7b150b28b247bb4b88419a3601b.zip
mod_lua: Improve compatibility with Lua 5.1, 5.2 and 5.3.
PR58188, PR60831, PR61245. Still to solve: replace uses of luaL_register(). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1800809 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--CHANGES3
-rw-r--r--modules/lua/lua_request.c8
-rw-r--r--modules/lua/mod_lua.c2
3 files changed, 8 insertions, 5 deletions
diff --git a/CHANGES b/CHANGES
index 4cacc23233..bacedb82d5 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
-*- coding: utf-8 -*-
Changes with Apache 2.5.0
+ *) mod_lua: Improve compatibility with Lua 5.1, 5.2 and 5.3.
+ PR58188, PR60831, PR61245. [Rainer Jung]
+
*) mod_http2: disable and give warning when mpm_prefork is encountered. The server will
continue to work, but HTTP/2 will no longer be negotiated. [Stefan Eissing]
diff --git a/modules/lua/lua_request.c b/modules/lua/lua_request.c
index 4cb4fd0067..9a04968b85 100644
--- a/modules/lua/lua_request.c
+++ b/modules/lua/lua_request.c
@@ -345,7 +345,7 @@ static int req_parsebody(lua_State *L)
char *multipart;
const char *contentType;
request_rec *r = ap_lua_check_request_rec(L, 1);
- max_post_size = (apr_size_t) luaL_optint(L, 2, MAX_STRING_LEN);
+ max_post_size = (apr_size_t) luaL_optinteger(L, 2, MAX_STRING_LEN);
multipart = apr_pcalloc(r->pool, 256);
contentType = apr_table_get(r->headers_in, "Content-Type");
lua_newtable(L);
@@ -418,7 +418,7 @@ static int lua_ap_requestbody(lua_State *L)
r = ap_lua_check_request_rec(L, 1);
filename = luaL_optstring(L, 2, 0);
- maxSize = luaL_optint(L, 3, 0);
+ maxSize = (apr_off_t)luaL_optinteger(L, 3, 0);
if (r) {
apr_off_t size;
@@ -1708,7 +1708,7 @@ static int lua_ap_make_etag(lua_State *L)
luaL_checktype(L, 1, LUA_TUSERDATA);
r = ap_lua_check_request_rec(L, 1);
luaL_checktype(L, 2, LUA_TBOOLEAN);
- force_weak = luaL_optint(L, 2, 0);
+ force_weak = (int)luaL_optinteger(L, 2, 0);
returnValue = ap_make_etag(r, force_weak);
lua_pushstring(L, returnValue);
return 1;
@@ -2040,7 +2040,7 @@ static int lua_set_cookie(lua_State *L)
/* expiry */
lua_pushstring(L, "expires");
lua_gettable(L, -2);
- expires = luaL_optint(L, -1, 0);
+ expires = (int)luaL_optinteger(L, -1, 0);
lua_pop(L, 1);
/* secure */
diff --git a/modules/lua/mod_lua.c b/modules/lua/mod_lua.c
index 46e71f3652..99c9d4a91e 100644
--- a/modules/lua/mod_lua.c
+++ b/modules/lua/mod_lua.c
@@ -1086,7 +1086,7 @@ static const char *register_named_block_function_hook(const char *name,
lua_dump(lvm, ldump_writer, &b);
#endif
luaL_pushresult(&b);
- spec->bytecode_len = lua_strlen(lvm, -1);
+ spec->bytecode_len = lua_rawlen(lvm, -1);
spec->bytecode = apr_pstrmemdup(cmd->pool, lua_tostring(lvm, -1),
spec->bytecode_len);
lua_close(lvm);