Try not to call "add_package_path" / "add_package_cpath" inside the
lua module .
Call them in the same lua file containing the do_remap() function and
see if your problem is solved.

Kit

On Wed, Mar 6, 2019 at 1:23 PM Eric Chaves <[email protected]> wrote:
>
> Hi folks,
>
> This may be a little off-topic. Not sure if questions regarding lua 
> plugins/lua scripts should be asked here in the list. If so forgive me and 
> please point me the proper place to ask.
>
> I'm trying to learn TS lua script's. At first I just followed the sample code 
> for reverse host header presented in the lua_plugin docs by writing a module 
> named my_module.lua required inside a do_remap() with the following content:
>
> local my_module = {}
> function my_module.send_response()
>   ts.debug('executing my_module.send_response')
>   ts.client_response.header['Rhost'] = ts.ctx['rhost']
>   return 0
> end
> return my_module
>
> This works fine and after that I tried to add some code to connect into a 
> local redis instance using libs installed by luarocks (eg.: luarocks install 
> --tree /opt/ats/lua_modules luasocket)
>
>  I found some scripts at github that uses the ts.add_package_path to include 
> the new modules and based on them I added those two lines at the top of 
> my_module.lua:
>
> ts.add_package_path('/opt/ats/lua_modules/share/lua/5.1/?.lua;/opt/ats/lua_modules/share/lua/5.1/?/init.lua')
> ts.add_package_cpath('/opt/ats/lua_modules/share/lua/5.1/?.so')
>
> By doing so, even without actually requiring any new module (ie no other 
> changes in my_module logic) when my do_remap tries require my_module, I got 
> an error: ERROR: [ts_lua] lua_pcall failed: 
> /opt/ats/lua-plugins/my_module.lua:6: can't get the instance conf
>
> So it's clear that I'm breaking something using the ts.add_package_path. I've 
> also tried to mangle with package.path variable with the same outcome.
>
> What am I doing wrong and how should I do to add those new packages?
>
> Cheers,
>
> Eric
>

Reply via email to