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