From: Rainer Jung Date: Tue, 4 Jul 2017 19:22:23 +0000 (+0000) Subject: mod_lua: Improve compatibility with Lua 5.1, 5.2 and 5.3. X-Git-Tag: 2.5.0-alpha~312 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d1105fd4f22ca7b150b28b247bb4b88419a3601b;p=apache 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 --- 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);