1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-08 15:02:10 +03:00

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
This commit is contained in:
Rainer Jung
2017-07-04 19:22:23 +00:00
parent b8e6337119
commit d1105fd4f2
3 changed files with 8 additions and 5 deletions

View File

@@ -1,6 +1,9 @@
-*- coding: utf-8 -*- -*- coding: utf-8 -*-
Changes with Apache 2.5.0 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 *) 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] continue to work, but HTTP/2 will no longer be negotiated. [Stefan Eissing]

View File

@@ -345,7 +345,7 @@ static int req_parsebody(lua_State *L)
char *multipart; char *multipart;
const char *contentType; const char *contentType;
request_rec *r = ap_lua_check_request_rec(L, 1); 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); multipart = apr_pcalloc(r->pool, 256);
contentType = apr_table_get(r->headers_in, "Content-Type"); contentType = apr_table_get(r->headers_in, "Content-Type");
lua_newtable(L); lua_newtable(L);
@@ -418,7 +418,7 @@ static int lua_ap_requestbody(lua_State *L)
r = ap_lua_check_request_rec(L, 1); r = ap_lua_check_request_rec(L, 1);
filename = luaL_optstring(L, 2, 0); filename = luaL_optstring(L, 2, 0);
maxSize = luaL_optint(L, 3, 0); maxSize = (apr_off_t)luaL_optinteger(L, 3, 0);
if (r) { if (r) {
apr_off_t size; apr_off_t size;
@@ -1708,7 +1708,7 @@ static int lua_ap_make_etag(lua_State *L)
luaL_checktype(L, 1, LUA_TUSERDATA); luaL_checktype(L, 1, LUA_TUSERDATA);
r = ap_lua_check_request_rec(L, 1); r = ap_lua_check_request_rec(L, 1);
luaL_checktype(L, 2, LUA_TBOOLEAN); 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); returnValue = ap_make_etag(r, force_weak);
lua_pushstring(L, returnValue); lua_pushstring(L, returnValue);
return 1; return 1;
@@ -2040,7 +2040,7 @@ static int lua_set_cookie(lua_State *L)
/* expiry */ /* expiry */
lua_pushstring(L, "expires"); lua_pushstring(L, "expires");
lua_gettable(L, -2); lua_gettable(L, -2);
expires = luaL_optint(L, -1, 0); expires = (int)luaL_optinteger(L, -1, 0);
lua_pop(L, 1); lua_pop(L, 1);
/* secure */ /* secure */

View File

@@ -1086,7 +1086,7 @@ static const char *register_named_block_function_hook(const char *name,
lua_dump(lvm, ldump_writer, &b); lua_dump(lvm, ldump_writer, &b);
#endif #endif
luaL_pushresult(&b); 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 = apr_pstrmemdup(cmd->pool, lua_tostring(lvm, -1),
spec->bytecode_len); spec->bytecode_len);
lua_close(lvm); lua_close(lvm);