components/apache2-modules/mod_security2/patches/fix_lua.patch
author Petr Sumbera <petr.sumbera@oracle.com>
Thu, 14 Mar 2013 13:45:44 -0700
changeset 1212 207ff3b0329a
parent 1028 30d7999e80d9
permissions -rw-r--r--
16476497 Upgrade ModSecurity to version 2.7.2 15802175 problem in UTILITY/APACHE
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1212
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
     1
https://github.com/SpiderLabs/ModSecurity/commit/452177c437cdefeb6e8b773b5865af356a1c9e2d.patch
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
     2
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
     3
From 452177c437cdefeb6e8b773b5865af356a1c9e2d Mon Sep 17 00:00:00 2001
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
     4
From: Breno Silva <[email protected]>
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
     5
Date: Wed, 30 Jan 2013 22:04:21 -0400
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
     6
Subject: [PATCH] ModSecurity: fixed compiling with lua 5.2
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
     7
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
     8
---
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
     9
 apache2/mod_security2.c |    4 ++++
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    10
 apache2/msc_lua.c       |   17 +++++++++++++++++
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    11
 2 files changed, 21 insertions(+)
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    12
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    13
diff --git a/apache2/mod_security2.c b/apache2/mod_security2.c
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    14
index 6b41088..849ca9d 100644
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    15
--- a/apache2/mod_security2.c
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    16
+++ b/apache2/mod_security2.c
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    17
@@ -440,7 +440,11 @@ static modsec_rec *create_tx_context(request_rec *r) {
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    18
 
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    19
 #if defined(WITH_LUA)
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    20
     #ifdef CACHE_LUA
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    21
+#if LUA_VERSION_NUM > 501
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    22
+    msr->L = luaL_newstate();
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    23
+#else
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    24
     msr->L = lua_open();
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    25
+#endif
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    26
     luaL_openlibs(msr->L);
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    27
     #endif
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    28
 #endif
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    29
diff --git a/apache2/msc_lua.c b/apache2/msc_lua.c
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    30
index 4abf7e5..6450e77 100644
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    31
--- a/apache2/msc_lua.c
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    32
+++ b/apache2/msc_lua.c
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    33
@@ -94,7 +94,11 @@ char *lua_compile(msc_script **script, const char *filename, apr_pool_t *pool) {
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    34
     msc_lua_dumpw_t dump;
1028
30d7999e80d9 7203970 lua update breaks things
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    35
 
1212
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    36
     /* Initialise state. */
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    37
+#if LUA_VERSION_NUM > 501
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    38
+    L = luaL_newstate();
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    39
+#else
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    40
     L = lua_open();
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    41
+#endif
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    42
     luaL_openlibs(L);
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    43
 
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    44
     /* Find script. */
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    45
@@ -158,7 +162,11 @@ static apr_array_header_t *resolve_tfns(lua_State *L, int idx, modsec_rec *msr,
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    46
     if (lua_isuserdata(L, idx) || lua_isnoneornil(L, idx)) { /* No second parameter */
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    47
         return tfn_arr;
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    48
     } else if (lua_istable(L, idx)) { /* Is the second parameter an array? */
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    49
+#if LUA_VERSION_NUM > 501
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    50
+        int i, n = lua_rawlen(L, idx);
1028
30d7999e80d9 7203970 lua update breaks things
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    51
+#else
1212
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    52
         int i, n = lua_objlen(L, idx);
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    53
+#endif
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    54
 
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    55
         for(i = 1; i <= n; i++) {
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    56
             lua_rawgeti(L, idx, i);
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    57
@@ -415,7 +423,11 @@ int lua_execute(msc_script *script, char *param, modsec_rec *msr, msre_rule *rul
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    58
         lua_pop(L, rc);
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    59
 #else
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    60
     /* Create new state. */
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    61
+#if LUA_VERSION_NUM > 501
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    62
+    L = luaL_newstate();
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    63
+#else
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    64
     L = lua_open();
1028
30d7999e80d9 7203970 lua update breaks things
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    65
+#endif
1212
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    66
     luaL_openlibs(L);
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    67
 #endif
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    68
 
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    69
@@ -433,7 +445,12 @@ int lua_execute(msc_script *script, char *param, modsec_rec *msr, msre_rule *rul
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    70
     }
1028
30d7999e80d9 7203970 lua update breaks things
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    71
 
1212
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    72
     /* Register functions. */
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    73
+#if LUA_VERSION_NUM > 501
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    74
+    luaL_setfuncs(L,mylib,0);
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    75
+    lua_setglobal(L,"m");
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    76
+#else
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    77
     luaL_register(L, "m", mylib);
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    78
+#endif
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    79
 
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    80
     rc = lua_restore(L, script);
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    81
     if (rc) {
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    82
-- 
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    83
1.7.10
207ff3b0329a 16476497 Upgrade ModSecurity to version 2.7.2
Petr Sumbera <petr.sumbera@oracle.com>
parents: 1028
diff changeset
    84