Accepting request 317328 from home:MargueriteSu:branches:multimedia:libs

- add patch: httpd-2.4.12-lua-5.2.patch
  * lua_dump introduced a new strip option in 5.3, set it to 0 
    to get the old behavior
  * luaL_register was deprecated in 5.2, use luaL_setfuncs and
    luaL_newlib instead
  * luaL_optint was deprecated in 5.3, use luaL_optinteger instead
  * lua_strlen and lua_objlen wad deprecated in 5.2, use lua_rawlen
    instead

OBS-URL: https://build.opensuse.org/request/show/317328
OBS-URL: https://build.opensuse.org/package/show/Apache/apache2?expand=0&rev=455
This commit is contained in:
Kristyna Streitova 2015-07-19 20:54:23 +00:00 committed by Git OBS Bridge
parent 522378d91b
commit a4429e9aee
3 changed files with 179 additions and 0 deletions

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Sat Jul 18 03:50:24 UTC 2015 - i@marguerite.su
- add patch: httpd-2.4.12-lua-5.2.patch
* lua_dump introduced a new strip option in 5.3, set it to 0
to get the old behavior
* luaL_register was deprecated in 5.2, use luaL_setfuncs and
luaL_newlib instead
* luaL_optint was deprecated in 5.3, use luaL_optinteger instead
* lua_strlen and lua_objlen wad deprecated in 5.2, use lua_rawlen
instead
-------------------------------------------------------------------
Thu Jul 16 08:46:22 UTC 2015 - pgajdos@suse.com

View File

@ -123,6 +123,8 @@ Patch111: httpd-visibility.patch
# PATCH-FIX-UPSTREAM bnc#918352 kstreitova@suse.com -- fix mod_lua - maliciously crafted websockets PING after a script calls r:wsupgrade() can cause a child process crash
Patch112: httpd-2.4.x-mod_lua_websocket_DoS.patch
Patch113: httpd-2.4.12-CVE-2015-0253.patch
# PATCH-FIX-UPSTREAM marguerite@opensuse.org -- compability for lua 5.2+
Patch114: httpd-2.4.12-lua-5.2.patch
BuildRequires: automake
BuildRequires: db-devel
BuildRequires: ed
@ -306,6 +308,7 @@ to administrators of web servers in general.
%patch111 -p1
%patch112 -p1
%patch113 -p3
%patch114 -p1
cat $RPM_SOURCE_DIR/SUSE-NOTICE >> NOTICE
# install READMEs
a=$(basename %{SOURCE22})

164
httpd-2.4.12-lua-5.2.patch Normal file
View File

@ -0,0 +1,164 @@
Index: httpd-2.4.12/modules/lua/mod_lua.c
===================================================================
--- httpd-2.4.12.orig/modules/lua/mod_lua.c
+++ httpd-2.4.12/modules/lua/mod_lua.c
@@ -1072,9 +1072,17 @@ static const char *register_named_block_
else {
luaL_Buffer b;
luaL_buffinit(lvm, &b);
+#if LUA_VERSION_NUM < 503
lua_dump(lvm, ldump_writer, &b);
+#else
+ lua_dump(lvm, ldump_writer, &b, 0);
+#endif
luaL_pushresult(&b);
+#if LUA_VERSION_NUM < 502
spec->bytecode_len = lua_strlen(lvm, -1);
+#else
+ spec->bytecode_len = lua_rawlen(lvm, -1);
+#endif
spec->bytecode = apr_pstrmemdup(cmd->pool, lua_tostring(lvm, -1),
spec->bytecode_len);
lua_close(lvm);
Index: httpd-2.4.12/modules/lua/lua_apr.c
===================================================================
--- httpd-2.4.12.orig/modules/lua/lua_apr.c
+++ httpd-2.4.12/modules/lua/lua_apr.c
@@ -82,7 +82,11 @@ static const luaL_Reg lua_table_methods[
int ap_lua_init(lua_State *L, apr_pool_t *p)
{
luaL_newmetatable(L, "Apr.Table");
+#if LUA_VERSION_NUM < 502
luaL_register(L, "apr_table", lua_table_methods);
+#else
+ luaL_newlib(L, lua_table_methods);
+#endif
lua_pushstring(L, "__index");
lua_pushstring(L, "get");
lua_gettable(L, 2);
Index: httpd-2.4.12/modules/lua/lua_config.c
===================================================================
--- httpd-2.4.12.orig/modules/lua/lua_config.c
+++ httpd-2.4.12/modules/lua/lua_config.c
@@ -263,13 +263,20 @@ void ap_lua_load_config_lmodule(lua_Stat
lua_pushvalue(L, -1);
lua_setfield(L, -2, "__index");
+#if LUA_VERSION_NUM < 502
luaL_register(L, NULL, cfg_methods); /* [metatable] */
-
+#else
+ luaL_setfuncs(L, cfg_methods, 0);
+#endif
luaL_newmetatable(L, "Apache2.CommandParameters");
lua_pushvalue(L, -1);
lua_setfield(L, -2, "__index");
+#if LUA_VERSION_NUM < 502
luaL_register(L, NULL, cmd_methods); /* [metatable] */
+#else
+ luaL_setfuncs(L, cmd_methods, 0);
+#endif
}
Index: httpd-2.4.12/modules/lua/lua_request.c
===================================================================
--- httpd-2.4.12.orig/modules/lua/lua_request.c
+++ httpd-2.4.12/modules/lua/lua_request.c
@@ -149,7 +149,11 @@ static int req_aprtable2luatable_cb(void
}
case LUA_TTABLE:{
/* [array, table<s,t>, table<s,s>] */
+#if LUA_VERSION_NUM < 502
int size = lua_objlen(L, -1);
+#else
+ int size = lua_rawlen(L, -1);
+#endif
lua_pushnumber(L, size + 1); /* [#, array, table<s,t>, table<s,s>] */
lua_pushstring(L, value); /* [string, #, array, table<s,t>, table<s,s>] */
lua_settable(L, -3); /* [array, table<s,t>, table<s,s>] */
@@ -198,7 +202,11 @@ static int req_aprtable2luatable_cb_len(
}
case LUA_TTABLE:{
/* [array, table<s,t>, table<s,s>] */
+#if LUA_VERSION_NUM < 502
int size = lua_objlen(L, -1);
+#else
+ int size = lua_rawlen(L, -1);
+#endif
lua_pushnumber(L, size + 1); /* [#, array, table<s,t>, table<s,s>] */
lua_pushlstring(L, value, len); /* [string, #, array, table<s,t>, table<s,s>] */
lua_settable(L, -3); /* [array, table<s,t>, table<s,s>] */
@@ -346,7 +354,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);
@@ -419,7 +427,7 @@ static int lua_ap_requestbody(lua_State
r = ap_lua_check_request_rec(L, 1);
filename = luaL_optstring(L, 2, 0);
- maxSize = luaL_optint(L, 3, 0);
+ maxSize = luaL_optinteger(L, 3, 0);
if (r) {
apr_off_t size;
@@ -1709,7 +1717,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 = luaL_optinteger(L, 2, 0);
returnValue = ap_make_etag(r, force_weak);
lua_pushstring(L, returnValue);
return 1;
@@ -2040,7 +2048,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 = luaL_optinteger(L, -1, 0);
lua_pop(L, 1);
/* secure */
@@ -2878,7 +2886,11 @@ void ap_lua_load_request_lmodule(lua_Sta
lua_pushvalue(L, -1);
lua_setfield(L, -2, "__index");
+#if LUA_VERSION_NUM < 502
luaL_register(L, NULL, request_methods); /* [metatable] */
+#else
+ luaL_setfuncs(L, request_methods, 0);
+#endif
lua_pop(L, 2);
@@ -2886,7 +2898,11 @@ void ap_lua_load_request_lmodule(lua_Sta
lua_pushvalue(L, -1);
lua_setfield(L, -2, "__index");
+#if LUA_VERSION_NUM < 502
luaL_register(L, NULL, connection_methods); /* [metatable] */
+#else
+ luaL_setfuncs(L, connection_methods, 0);
+#endif
lua_pop(L, 2);
@@ -2894,7 +2910,11 @@ void ap_lua_load_request_lmodule(lua_Sta
lua_pushvalue(L, -1);
lua_setfield(L, -2, "__index");
+#if LUA_VERSION_NUM < 502
luaL_register(L, NULL, server_methods); /* [metatable] */
+#else
+ luaL_setfuncs(L, server_methods, 0);
+#endif
lua_pop(L, 2);