immunio 0.15.4 → 0.16.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +0 -27
- data/ext/immunio/Rakefile +9 -0
- data/lib/immunio/plugins/active_record.rb +1 -1
- data/lib/immunio/plugins/active_record_relation.rb +1 -1
- data/lib/immunio/plugins/environment_reporter.rb +20 -0
- data/lib/immunio/rufus_lua_ext/ref.rb +1 -3
- data/lib/immunio/version.rb +1 -1
- data/lib/immunio/vm.rb +1 -2
- data/lua-hooks/Makefile +97 -0
- data/lua-hooks/ext/all.c +41 -52
- data/lua-hooks/ext/all.o +0 -0
- data/lua-hooks/ext/libinjection/libinjection_html5.o +0 -0
- data/lua-hooks/ext/libinjection/libinjection_sqli.o +0 -0
- data/lua-hooks/ext/libinjection/libinjection_xss.o +0 -0
- data/lua-hooks/ext/libinjection/lualib.c +2 -2
- data/lua-hooks/ext/lpeg/lpcap.c +2 -2
- data/lua-hooks/ext/lpeg/lpcap.o +0 -0
- data/lua-hooks/ext/lpeg/lpcode.c +2 -2
- data/lua-hooks/ext/lpeg/lpcode.h +1 -1
- data/lua-hooks/ext/lpeg/lpcode.o +0 -0
- data/lua-hooks/ext/lpeg/lpprint.o +0 -0
- data/lua-hooks/ext/lpeg/lptree.c +2 -2
- data/lua-hooks/ext/lpeg/lptypes.h +1 -1
- data/lua-hooks/ext/lpeg/lpvm.c +2 -2
- data/lua-hooks/ext/lpeg/lpvm.o +0 -0
- data/lua-hooks/ext/lua-cmsgpack/lua_cmsgpack.c +16 -3
- data/lua-hooks/ext/lua-snapshot/snapshot.c +14 -7
- data/lua-hooks/ext/luajit/COPYRIGHT +56 -0
- data/lua-hooks/ext/luajit/Makefile +159 -0
- data/lua-hooks/ext/luajit/README +16 -0
- data/lua-hooks/ext/luajit/doc/bluequad-print.css +166 -0
- data/lua-hooks/ext/luajit/doc/bluequad.css +325 -0
- data/lua-hooks/ext/luajit/doc/changes.html +804 -0
- data/lua-hooks/ext/luajit/doc/contact.html +104 -0
- data/lua-hooks/ext/luajit/doc/ext_c_api.html +189 -0
- data/lua-hooks/ext/luajit/doc/ext_ffi.html +332 -0
- data/lua-hooks/ext/luajit/doc/ext_ffi_api.html +570 -0
- data/lua-hooks/ext/luajit/doc/ext_ffi_semantics.html +1261 -0
- data/lua-hooks/ext/luajit/doc/ext_ffi_tutorial.html +603 -0
- data/lua-hooks/ext/luajit/doc/ext_jit.html +201 -0
- data/lua-hooks/ext/luajit/doc/ext_profiler.html +365 -0
- data/lua-hooks/ext/luajit/doc/extensions.html +448 -0
- data/lua-hooks/ext/luajit/doc/faq.html +186 -0
- data/lua-hooks/ext/luajit/doc/img/contact.png +0 -0
- data/lua-hooks/ext/luajit/doc/install.html +659 -0
- data/lua-hooks/ext/luajit/doc/luajit.html +236 -0
- data/lua-hooks/ext/luajit/doc/running.html +309 -0
- data/lua-hooks/ext/luajit/doc/status.html +118 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_arm.h +456 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_arm.lua +1125 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_arm64.h +518 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_arm64.lua +1166 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_mips.h +416 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_mips.lua +953 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_ppc.h +419 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_ppc.lua +1919 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_proto.h +83 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_x64.lua +12 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_x86.h +471 -0
- data/lua-hooks/ext/luajit/dynasm/dasm_x86.lua +1945 -0
- data/lua-hooks/ext/luajit/dynasm/dynasm.lua +1094 -0
- data/lua-hooks/ext/luajit/etc/luajit.1 +88 -0
- data/lua-hooks/ext/luajit/etc/luajit.pc +25 -0
- data/lua-hooks/ext/luajit/src/Makefile +697 -0
- data/lua-hooks/ext/luajit/src/Makefile.dep +244 -0
- data/lua-hooks/ext/luajit/src/host/README +4 -0
- data/lua-hooks/ext/luajit/src/host/buildvm +0 -0
- data/lua-hooks/ext/luajit/src/host/buildvm.c +518 -0
- data/lua-hooks/ext/luajit/src/host/buildvm.h +105 -0
- data/lua-hooks/ext/luajit/src/host/buildvm.o +0 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_arch.h +7449 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_asm.c +345 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_asm.o +0 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_fold.c +229 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_fold.o +0 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_lib.c +457 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_lib.o +0 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_libbc.h +45 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_peobj.c +368 -0
- data/lua-hooks/ext/luajit/src/host/buildvm_peobj.o +0 -0
- data/lua-hooks/ext/luajit/src/host/genlibbc.lua +197 -0
- data/lua-hooks/ext/luajit/src/host/genminilua.lua +428 -0
- data/lua-hooks/ext/luajit/src/host/minilua +0 -0
- data/lua-hooks/ext/luajit/src/host/minilua.c +7770 -0
- data/lua-hooks/ext/luajit/src/host/minilua.o +0 -0
- data/lua-hooks/ext/luajit/src/jit/bc.lua +190 -0
- data/lua-hooks/ext/luajit/src/jit/bcsave.lua +661 -0
- data/lua-hooks/ext/luajit/src/jit/dis_arm.lua +689 -0
- data/lua-hooks/ext/luajit/src/jit/dis_mips.lua +428 -0
- data/lua-hooks/ext/luajit/src/jit/dis_mipsel.lua +17 -0
- data/lua-hooks/ext/luajit/src/jit/dis_ppc.lua +591 -0
- data/lua-hooks/ext/luajit/src/jit/dis_x64.lua +17 -0
- data/lua-hooks/ext/luajit/src/jit/dis_x86.lua +838 -0
- data/lua-hooks/ext/luajit/src/jit/dump.lua +706 -0
- data/lua-hooks/ext/luajit/src/jit/p.lua +310 -0
- data/lua-hooks/ext/luajit/src/jit/v.lua +170 -0
- data/lua-hooks/ext/luajit/src/jit/vmdef.lua +362 -0
- data/lua-hooks/ext/luajit/src/jit/zone.lua +45 -0
- data/lua-hooks/ext/{lua → luajit/src}/lauxlib.h +10 -17
- data/lua-hooks/ext/luajit/src/lib_aux.c +356 -0
- data/lua-hooks/ext/luajit/src/lib_aux.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_aux_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_base.c +664 -0
- data/lua-hooks/ext/luajit/src/lib_base.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_base_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_bit.c +180 -0
- data/lua-hooks/ext/luajit/src/lib_bit.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_bit_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_debug.c +405 -0
- data/lua-hooks/ext/luajit/src/lib_debug.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_debug_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_ffi.c +872 -0
- data/lua-hooks/ext/luajit/src/lib_ffi.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_ffi_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_init.c +55 -0
- data/lua-hooks/ext/luajit/src/lib_init.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_init_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_io.c +541 -0
- data/lua-hooks/ext/luajit/src/lib_io.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_io_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_jit.c +767 -0
- data/lua-hooks/ext/luajit/src/lib_jit.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_jit_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_math.c +230 -0
- data/lua-hooks/ext/luajit/src/lib_math.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_math_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_os.c +292 -0
- data/lua-hooks/ext/luajit/src/lib_os.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_os_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_package.c +610 -0
- data/lua-hooks/ext/luajit/src/lib_package.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_package_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_string.c +752 -0
- data/lua-hooks/ext/luajit/src/lib_string.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_string_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_table.c +307 -0
- data/lua-hooks/ext/luajit/src/lib_table.o +0 -0
- data/lua-hooks/ext/luajit/src/lib_table_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/libluajit.a +0 -0
- data/lua-hooks/ext/luajit/src/libluajit.so +0 -0
- data/lua-hooks/ext/luajit/src/lj.supp +26 -0
- data/lua-hooks/ext/luajit/src/lj_alloc.c +1398 -0
- data/lua-hooks/ext/luajit/src/lj_alloc.h +17 -0
- data/lua-hooks/ext/luajit/src/lj_alloc.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_alloc_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_api.c +1210 -0
- data/lua-hooks/ext/luajit/src/lj_api.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_api_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_arch.h +509 -0
- data/lua-hooks/ext/luajit/src/lj_asm.c +2278 -0
- data/lua-hooks/ext/luajit/src/lj_asm.h +17 -0
- data/lua-hooks/ext/luajit/src/lj_asm.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_asm_arm.h +2217 -0
- data/lua-hooks/ext/luajit/src/lj_asm_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_asm_mips.h +1833 -0
- data/lua-hooks/ext/luajit/src/lj_asm_ppc.h +2015 -0
- data/lua-hooks/ext/luajit/src/lj_asm_x86.h +2634 -0
- data/lua-hooks/ext/luajit/src/lj_bc.c +14 -0
- data/lua-hooks/ext/luajit/src/lj_bc.h +265 -0
- data/lua-hooks/ext/luajit/src/lj_bc.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_bc_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_bcdef.h +220 -0
- data/lua-hooks/ext/luajit/src/lj_bcdump.h +68 -0
- data/lua-hooks/ext/luajit/src/lj_bcread.c +457 -0
- data/lua-hooks/ext/luajit/src/lj_bcread.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_bcread_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_bcwrite.c +361 -0
- data/lua-hooks/ext/luajit/src/lj_bcwrite.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_bcwrite_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_buf.c +234 -0
- data/lua-hooks/ext/luajit/src/lj_buf.h +105 -0
- data/lua-hooks/ext/luajit/src/lj_buf.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_buf_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_carith.c +429 -0
- data/lua-hooks/ext/luajit/src/lj_carith.h +37 -0
- data/lua-hooks/ext/luajit/src/lj_carith.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_carith_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ccall.c +984 -0
- data/lua-hooks/ext/luajit/src/lj_ccall.h +178 -0
- data/lua-hooks/ext/luajit/src/lj_ccall.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ccall_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ccallback.c +712 -0
- data/lua-hooks/ext/luajit/src/lj_ccallback.h +25 -0
- data/lua-hooks/ext/luajit/src/lj_ccallback.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ccallback_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_cconv.c +752 -0
- data/lua-hooks/ext/luajit/src/lj_cconv.h +70 -0
- data/lua-hooks/ext/luajit/src/lj_cconv.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_cconv_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_cdata.c +288 -0
- data/lua-hooks/ext/luajit/src/lj_cdata.h +76 -0
- data/lua-hooks/ext/luajit/src/lj_cdata.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_cdata_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_char.c +43 -0
- data/lua-hooks/ext/luajit/src/lj_char.h +42 -0
- data/lua-hooks/ext/luajit/src/lj_char.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_char_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_clib.c +418 -0
- data/lua-hooks/ext/luajit/src/lj_clib.h +29 -0
- data/lua-hooks/ext/luajit/src/lj_clib.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_clib_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_cparse.c +1862 -0
- data/lua-hooks/ext/luajit/src/lj_cparse.h +65 -0
- data/lua-hooks/ext/luajit/src/lj_cparse.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_cparse_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_crecord.c +1834 -0
- data/lua-hooks/ext/luajit/src/lj_crecord.h +38 -0
- data/lua-hooks/ext/luajit/src/lj_crecord.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_crecord_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ctype.c +635 -0
- data/lua-hooks/ext/luajit/src/lj_ctype.h +461 -0
- data/lua-hooks/ext/luajit/src/lj_ctype.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ctype_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_debug.c +699 -0
- data/lua-hooks/ext/luajit/src/lj_debug.h +65 -0
- data/lua-hooks/ext/luajit/src/lj_debug.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_debug_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_def.h +365 -0
- data/lua-hooks/ext/luajit/src/lj_dispatch.c +557 -0
- data/lua-hooks/ext/luajit/src/lj_dispatch.h +138 -0
- data/lua-hooks/ext/luajit/src/lj_dispatch.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_dispatch_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_emit_arm.h +356 -0
- data/lua-hooks/ext/luajit/src/lj_emit_mips.h +211 -0
- data/lua-hooks/ext/luajit/src/lj_emit_ppc.h +238 -0
- data/lua-hooks/ext/luajit/src/lj_emit_x86.h +462 -0
- data/lua-hooks/ext/luajit/src/lj_err.c +794 -0
- data/lua-hooks/ext/luajit/src/lj_err.h +41 -0
- data/lua-hooks/ext/luajit/src/lj_err.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_err_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_errmsg.h +190 -0
- data/lua-hooks/ext/luajit/src/lj_ff.h +18 -0
- data/lua-hooks/ext/luajit/src/lj_ffdef.h +209 -0
- data/lua-hooks/ext/luajit/src/lj_ffrecord.c +1247 -0
- data/lua-hooks/ext/luajit/src/lj_ffrecord.h +24 -0
- data/lua-hooks/ext/luajit/src/lj_ffrecord.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ffrecord_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_folddef.h +1138 -0
- data/lua-hooks/ext/luajit/src/lj_frame.h +259 -0
- data/lua-hooks/ext/luajit/src/lj_func.c +185 -0
- data/lua-hooks/ext/luajit/src/lj_func.h +24 -0
- data/lua-hooks/ext/luajit/src/lj_func.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_func_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_gc.c +845 -0
- data/lua-hooks/ext/luajit/src/lj_gc.h +134 -0
- data/lua-hooks/ext/luajit/src/lj_gc.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_gc_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_gdbjit.c +787 -0
- data/lua-hooks/ext/luajit/src/lj_gdbjit.h +22 -0
- data/lua-hooks/ext/luajit/src/lj_gdbjit.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_gdbjit_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ir.c +505 -0
- data/lua-hooks/ext/luajit/src/lj_ir.h +577 -0
- data/lua-hooks/ext/luajit/src/lj_ir.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ir_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_ircall.h +321 -0
- data/lua-hooks/ext/luajit/src/lj_iropt.h +161 -0
- data/lua-hooks/ext/luajit/src/lj_jit.h +440 -0
- data/lua-hooks/ext/luajit/src/lj_lex.c +482 -0
- data/lua-hooks/ext/luajit/src/lj_lex.h +86 -0
- data/lua-hooks/ext/luajit/src/lj_lex.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_lex_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_lib.c +303 -0
- data/lua-hooks/ext/luajit/src/lj_lib.h +115 -0
- data/lua-hooks/ext/luajit/src/lj_lib.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_lib_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_libdef.h +414 -0
- data/lua-hooks/ext/luajit/src/lj_load.c +168 -0
- data/lua-hooks/ext/luajit/src/lj_load.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_load_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_mcode.c +386 -0
- data/lua-hooks/ext/luajit/src/lj_mcode.h +30 -0
- data/lua-hooks/ext/luajit/src/lj_mcode.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_mcode_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_meta.c +477 -0
- data/lua-hooks/ext/luajit/src/lj_meta.h +38 -0
- data/lua-hooks/ext/luajit/src/lj_meta.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_meta_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_obj.c +50 -0
- data/lua-hooks/ext/luajit/src/lj_obj.h +976 -0
- data/lua-hooks/ext/luajit/src/lj_obj.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_obj_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_dce.c +78 -0
- data/lua-hooks/ext/luajit/src/lj_opt_dce.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_dce_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_fold.c +2488 -0
- data/lua-hooks/ext/luajit/src/lj_opt_fold.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_fold_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_loop.c +449 -0
- data/lua-hooks/ext/luajit/src/lj_opt_loop.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_loop_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_mem.c +935 -0
- data/lua-hooks/ext/luajit/src/lj_opt_mem.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_mem_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_narrow.c +652 -0
- data/lua-hooks/ext/luajit/src/lj_opt_narrow.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_narrow_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_sink.c +245 -0
- data/lua-hooks/ext/luajit/src/lj_opt_sink.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_sink_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_split.c +856 -0
- data/lua-hooks/ext/luajit/src/lj_opt_split.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_opt_split_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_parse.c +2725 -0
- data/lua-hooks/ext/luajit/src/lj_parse.h +18 -0
- data/lua-hooks/ext/luajit/src/lj_parse.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_parse_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_profile.c +368 -0
- data/lua-hooks/ext/luajit/src/lj_profile.h +21 -0
- data/lua-hooks/ext/luajit/src/lj_profile.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_profile_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_recdef.h +270 -0
- data/lua-hooks/ext/luajit/src/lj_record.c +2554 -0
- data/lua-hooks/ext/luajit/src/lj_record.h +45 -0
- data/lua-hooks/ext/luajit/src/lj_record.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_record_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_snap.c +870 -0
- data/lua-hooks/ext/luajit/src/lj_snap.h +34 -0
- data/lua-hooks/ext/luajit/src/lj_snap.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_snap_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_state.c +300 -0
- data/lua-hooks/ext/luajit/src/lj_state.h +35 -0
- data/lua-hooks/ext/luajit/src/lj_state.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_state_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_str.c +197 -0
- data/lua-hooks/ext/luajit/src/lj_str.h +27 -0
- data/lua-hooks/ext/luajit/src/lj_str.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_str_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_strfmt.c +554 -0
- data/lua-hooks/ext/luajit/src/lj_strfmt.h +125 -0
- data/lua-hooks/ext/luajit/src/lj_strfmt.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_strfmt_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_strscan.c +547 -0
- data/lua-hooks/ext/luajit/src/lj_strscan.h +39 -0
- data/lua-hooks/ext/luajit/src/lj_strscan.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_strscan_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_tab.c +666 -0
- data/lua-hooks/ext/luajit/src/lj_tab.h +73 -0
- data/lua-hooks/ext/luajit/src/lj_tab.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_tab_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_target.h +164 -0
- data/lua-hooks/ext/luajit/src/lj_target_arm.h +270 -0
- data/lua-hooks/ext/luajit/src/lj_target_arm64.h +97 -0
- data/lua-hooks/ext/luajit/src/lj_target_mips.h +260 -0
- data/lua-hooks/ext/luajit/src/lj_target_ppc.h +280 -0
- data/lua-hooks/ext/luajit/src/lj_target_x86.h +345 -0
- data/lua-hooks/ext/luajit/src/lj_trace.c +859 -0
- data/lua-hooks/ext/luajit/src/lj_trace.h +54 -0
- data/lua-hooks/ext/luajit/src/lj_trace.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_trace_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_traceerr.h +63 -0
- data/lua-hooks/ext/luajit/src/lj_udata.c +34 -0
- data/lua-hooks/ext/luajit/src/lj_udata.h +14 -0
- data/lua-hooks/ext/luajit/src/lj_udata.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_udata_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_vm.S +2730 -0
- data/lua-hooks/ext/luajit/src/lj_vm.h +114 -0
- data/lua-hooks/ext/luajit/src/lj_vm.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_vm_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_vmevent.c +58 -0
- data/lua-hooks/ext/luajit/src/lj_vmevent.h +59 -0
- data/lua-hooks/ext/luajit/src/lj_vmevent.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_vmevent_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_vmmath.c +152 -0
- data/lua-hooks/ext/luajit/src/lj_vmmath.o +0 -0
- data/lua-hooks/ext/luajit/src/lj_vmmath_dyn.o +0 -0
- data/lua-hooks/ext/luajit/src/ljamalg.c +96 -0
- data/lua-hooks/ext/{lua → luajit/src}/lua.h +12 -7
- data/lua-hooks/ext/luajit/src/lua.hpp +9 -0
- data/lua-hooks/ext/luajit/src/luaconf.h +156 -0
- data/lua-hooks/ext/luajit/src/luajit +0 -0
- data/lua-hooks/ext/luajit/src/luajit.c +570 -0
- data/lua-hooks/ext/luajit/src/luajit.h +79 -0
- data/lua-hooks/ext/luajit/src/luajit.o +0 -0
- data/lua-hooks/ext/luajit/src/lualib.h +43 -0
- data/lua-hooks/ext/luajit/src/msvcbuild.bat +114 -0
- data/lua-hooks/ext/luajit/src/ps4build.bat +103 -0
- data/lua-hooks/ext/luajit/src/psvitabuild.bat +93 -0
- data/lua-hooks/ext/luajit/src/vm_arm.dasc +4585 -0
- data/lua-hooks/ext/luajit/src/vm_arm64.dasc +3764 -0
- data/lua-hooks/ext/luajit/src/vm_mips.dasc +4355 -0
- data/lua-hooks/ext/luajit/src/vm_ppc.dasc +5252 -0
- data/lua-hooks/ext/luajit/src/vm_x64.dasc +4902 -0
- data/lua-hooks/ext/luajit/src/vm_x86.dasc +5710 -0
- data/lua-hooks/ext/luajit/src/xb1build.bat +101 -0
- data/lua-hooks/ext/luajit/src/xedkbuild.bat +92 -0
- data/lua-hooks/ext/luautf8/lutf8lib.c +3 -3
- data/lua-hooks/lib/boot.lua +37 -2
- metadata +372 -69
- data/lua-hooks/ext/bitop/README +0 -22
- data/lua-hooks/ext/bitop/bit.c +0 -189
- data/lua-hooks/ext/extconf.rb +0 -38
- data/lua-hooks/ext/lua/COPYRIGHT +0 -34
- data/lua-hooks/ext/lua/lapi.c +0 -1087
- data/lua-hooks/ext/lua/lapi.h +0 -16
- data/lua-hooks/ext/lua/lauxlib.c +0 -652
- data/lua-hooks/ext/lua/lbaselib.c +0 -659
- data/lua-hooks/ext/lua/lcode.c +0 -831
- data/lua-hooks/ext/lua/lcode.h +0 -76
- data/lua-hooks/ext/lua/ldblib.c +0 -398
- data/lua-hooks/ext/lua/ldebug.c +0 -638
- data/lua-hooks/ext/lua/ldebug.h +0 -33
- data/lua-hooks/ext/lua/ldo.c +0 -519
- data/lua-hooks/ext/lua/ldo.h +0 -57
- data/lua-hooks/ext/lua/ldump.c +0 -164
- data/lua-hooks/ext/lua/lfunc.c +0 -174
- data/lua-hooks/ext/lua/lfunc.h +0 -34
- data/lua-hooks/ext/lua/lgc.c +0 -710
- data/lua-hooks/ext/lua/lgc.h +0 -110
- data/lua-hooks/ext/lua/linit.c +0 -38
- data/lua-hooks/ext/lua/liolib.c +0 -556
- data/lua-hooks/ext/lua/llex.c +0 -463
- data/lua-hooks/ext/lua/llex.h +0 -81
- data/lua-hooks/ext/lua/llimits.h +0 -128
- data/lua-hooks/ext/lua/lmathlib.c +0 -263
- data/lua-hooks/ext/lua/lmem.c +0 -86
- data/lua-hooks/ext/lua/lmem.h +0 -49
- data/lua-hooks/ext/lua/loadlib.c +0 -705
- data/lua-hooks/ext/lua/loadlib_rel.c +0 -760
- data/lua-hooks/ext/lua/lobject.c +0 -214
- data/lua-hooks/ext/lua/lobject.h +0 -381
- data/lua-hooks/ext/lua/lopcodes.c +0 -102
- data/lua-hooks/ext/lua/lopcodes.h +0 -268
- data/lua-hooks/ext/lua/loslib.c +0 -243
- data/lua-hooks/ext/lua/lparser.c +0 -1339
- data/lua-hooks/ext/lua/lparser.h +0 -82
- data/lua-hooks/ext/lua/lstate.c +0 -214
- data/lua-hooks/ext/lua/lstate.h +0 -169
- data/lua-hooks/ext/lua/lstring.c +0 -111
- data/lua-hooks/ext/lua/lstring.h +0 -31
- data/lua-hooks/ext/lua/lstrlib.c +0 -871
- data/lua-hooks/ext/lua/ltable.c +0 -588
- data/lua-hooks/ext/lua/ltable.h +0 -40
- data/lua-hooks/ext/lua/ltablib.c +0 -287
- data/lua-hooks/ext/lua/ltm.c +0 -75
- data/lua-hooks/ext/lua/ltm.h +0 -54
- data/lua-hooks/ext/lua/lua.c +0 -392
- data/lua-hooks/ext/lua/lua.def +0 -131
- data/lua-hooks/ext/lua/lua.rc +0 -28
- data/lua-hooks/ext/lua/lua_dll.rc +0 -26
- data/lua-hooks/ext/lua/luac.c +0 -200
- data/lua-hooks/ext/lua/luac.rc +0 -1
- data/lua-hooks/ext/lua/luaconf.h +0 -763
- data/lua-hooks/ext/lua/luaconf.h.in +0 -724
- data/lua-hooks/ext/lua/luaconf.h.orig +0 -763
- data/lua-hooks/ext/lua/lualib.h +0 -53
- data/lua-hooks/ext/lua/lundump.c +0 -227
- data/lua-hooks/ext/lua/lundump.h +0 -36
- data/lua-hooks/ext/lua/lvm.c +0 -767
- data/lua-hooks/ext/lua/lvm.h +0 -36
- data/lua-hooks/ext/lua/lzio.c +0 -82
- data/lua-hooks/ext/lua/lzio.h +0 -67
- data/lua-hooks/ext/lua/print.c +0 -227
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b4a53aa8b32d4b0cb59aec0c9fefd32897f0694
|
4
|
+
data.tar.gz: b0f537f84a9940cb84301048fdb1479ac2e4c740
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8a476c6b0d8b01bc303bc4552556d6cebdc301bf162f0af4157c8682060ee96564f3b0a7c8c86ed645f4eaf206f9a1ecc6f3841e04cb00f81b1242b5ef61ef2c
|
7
|
+
data.tar.gz: 061e35c335afab789ac28c571d3c655a9b9142def0333ebe3b5a81f740af717699f67b907f8d2bd420a738922ed23322b5160e23ced38ec4ca1d7986570ba1bb
|
data/LICENSE
CHANGED
@@ -144,33 +144,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
144
144
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
145
145
|
THE SOFTWARE.
|
146
146
|
|
147
|
-
This product includes content covered by the following license:
|
148
|
-
Copyright (c) 2012, Daniel Lindsley
|
149
|
-
All rights reserved.
|
150
|
-
|
151
|
-
Redistribution and use in source and binary forms, with or without
|
152
|
-
modification, are permitted provided that the following conditions are met:
|
153
|
-
|
154
|
-
* Redistributions of source code must retain the above copyright notice, this
|
155
|
-
list of conditions and the following disclaimer.
|
156
|
-
* Redistributions in binary form must reproduce the above copyright notice,
|
157
|
-
this list of conditions and the following disclaimer in the documentation
|
158
|
-
and/or other materials provided with the distribution.
|
159
|
-
* Neither the name of the base64 nor the names of its contributors may be
|
160
|
-
used to endorse or promote products derived from this software without
|
161
|
-
specific prior written permission.
|
162
|
-
|
163
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
164
|
-
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
165
|
-
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
166
|
-
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
167
|
-
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
168
|
-
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
169
|
-
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
170
|
-
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
171
|
-
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
172
|
-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
173
|
-
|
174
147
|
This product includes content covered by the following license:
|
175
148
|
Copyright (c) 2012 codingow.com
|
176
149
|
|
@@ -393,7 +393,7 @@ module Immunio
|
|
393
393
|
"#{ObjectSpace._id2ref(relation_id).name} Class"
|
394
394
|
else
|
395
395
|
"#{ObjectSpace._id2ref(relation_id).class.name} Instance"
|
396
|
-
end
|
396
|
+
end
|
397
397
|
Immunio.logger.warn {"Creating relation data for non-relation: #{name}"}
|
398
398
|
Immunio.logger.debug {"Call stack:\n#{caller.join "\n"}"}
|
399
399
|
end
|
@@ -144,7 +144,7 @@ module Immunio
|
|
144
144
|
QueryTracker.instance.last_spawned_relation connection
|
145
145
|
else
|
146
146
|
self
|
147
|
-
end
|
147
|
+
end
|
148
148
|
|
149
149
|
# Push the current relation onto the stack of relations for the
|
150
150
|
# connection. The top relation on the stack at query execution time is
|
@@ -2,6 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# XXX: Completely untested outside of MRI (official Ruby runtime) 1.9.3 and up!
|
4
4
|
|
5
|
+
require 'socket'
|
5
6
|
module Immunio
|
6
7
|
class EnvironmentReporter
|
7
8
|
def initialize(app)
|
@@ -41,6 +42,20 @@ module Immunio
|
|
41
42
|
end
|
42
43
|
end
|
43
44
|
|
45
|
+
def ips
|
46
|
+
ips = Socket.ip_address_list.map(&:ip_address)
|
47
|
+
ips.reject { |ip| ['::1', '127.0.0.1'].include?(ip) }
|
48
|
+
end
|
49
|
+
|
50
|
+
def hostname
|
51
|
+
Socket.gethostname rescue SocketError
|
52
|
+
end
|
53
|
+
|
54
|
+
def hostname_ip
|
55
|
+
# SocketError is raised if we can't fetch the hostname with `Socket.gethostname`.
|
56
|
+
Addrinfo.getaddrinfo(hostname, nil).first.ip_address rescue SocketError
|
57
|
+
end
|
58
|
+
|
44
59
|
def report
|
45
60
|
@reported = true
|
46
61
|
|
@@ -56,6 +71,11 @@ module Immunio
|
|
56
71
|
platform: {
|
57
72
|
description: RUBY_PLATFORM
|
58
73
|
},
|
74
|
+
host: {
|
75
|
+
hostname: hostname,
|
76
|
+
hostname_ip: hostname_ip,
|
77
|
+
ips: ips
|
78
|
+
},
|
59
79
|
dependencies: {}
|
60
80
|
}
|
61
81
|
|
@@ -10,10 +10,8 @@ module Rufus::Lua
|
|
10
10
|
alias_method :initialize, :initialize_with_finalizer
|
11
11
|
|
12
12
|
def self.finalize(pointer, ref)
|
13
|
-
# Hack to test if the Lua state was closed and de-refed.
|
14
|
-
original_pointer_address = pointer.read_pointer
|
15
13
|
proc do
|
16
|
-
Lib.luaL_unref(pointer, LUA_REGISTRYINDEX, ref)
|
14
|
+
Lib.luaL_unref(pointer, LUA_REGISTRYINDEX, ref)
|
17
15
|
end
|
18
16
|
end
|
19
17
|
|
data/lib/immunio/version.rb
CHANGED
data/lib/immunio/vm.rb
CHANGED
data/lua-hooks/Makefile
ADDED
@@ -0,0 +1,97 @@
|
|
1
|
+
CC = gcc
|
2
|
+
|
3
|
+
# Source of extensions compiled w/ Lua's source.
|
4
|
+
# Only include .c files that can't be directly included in ext/all.c.
|
5
|
+
SRC = \
|
6
|
+
ext/all.c \
|
7
|
+
ext/libinjection/libinjection_html5.c \
|
8
|
+
ext/libinjection/libinjection_xss.c \
|
9
|
+
ext/libinjection/libinjection_sqli.c \
|
10
|
+
ext/lpeg/lpcap.c \
|
11
|
+
ext/lpeg/lpcode.c \
|
12
|
+
ext/lpeg/lpprint.c \
|
13
|
+
ext/lpeg/lpvm.c
|
14
|
+
|
15
|
+
OBJ = ${SRC:.c=.o}
|
16
|
+
|
17
|
+
# Library archive. Used for compiling along agent bindings.
|
18
|
+
SO_OUT = libimmunio.so
|
19
|
+
|
20
|
+
# CLI for running tests
|
21
|
+
CLI = lua
|
22
|
+
CLI_SRC = ext/luajit/src/luajit.c ${SRC}
|
23
|
+
|
24
|
+
CFLAGS = -DLUA_USE_APICHECK -DLUAJIT -Dlua_assert=assert -O3 -fPIC
|
25
|
+
INCS = -Iext -Iext/luajit/src
|
26
|
+
LIBS = -lm -ldl
|
27
|
+
|
28
|
+
INIT_HOOK = hooks/__init__.lua
|
29
|
+
HOOK_SRCS := $(wildcard hooks/*.lua) hooks/__init__.lua
|
30
|
+
MIN_SRCS = $(HOOK_SRCS:hooks/%.lua=build/%.lua)
|
31
|
+
HOOKS_TARBALL = hooks.tgz
|
32
|
+
HOOKS_SRCS_TARBALL = hooks_srcs.tgz
|
33
|
+
|
34
|
+
LUAJIT_OBJ = ext/luajit/src/libluajit.a
|
35
|
+
LUAJIT_XCFLAGS = -fPIC
|
36
|
+
|
37
|
+
ifeq (${shell uname}, Darwin)
|
38
|
+
# Disable the JIT on OS X
|
39
|
+
LUAJIT_XCFLAGS += -DLUAJIT_ENABLE_GC64
|
40
|
+
endif
|
41
|
+
|
42
|
+
# Build lua, run tests, and create hooks archive
|
43
|
+
all: ${CLI} ${INIT_HOOK} ${HOOKS_TARBALL} ${HOOKS_SRCS_TARBALL}
|
44
|
+
|
45
|
+
.c.o:
|
46
|
+
${CC} ${CFLAGS} -c ${INCS} -o $@ $<
|
47
|
+
|
48
|
+
${SO_OUT}: ${OBJ} ${LUAJIT_OBJ}
|
49
|
+
${CC} -shared ${CFLAGS} ${LIBS} -o $@ -lc $^
|
50
|
+
|
51
|
+
${LUAJIT_OBJ}:
|
52
|
+
cd ext/luajit && make XCFLAGS="${LUAJIT_XCFLAGS}"
|
53
|
+
|
54
|
+
# Build lua executable for testing and compilation
|
55
|
+
# Seperate compilation as we need the LUA_UNSAFE_MODE flag set...
|
56
|
+
${CLI}: ${CLI_SRC} ${LUAJIT_OBJ}
|
57
|
+
${CC} ${CFLAGS} -DLUA_UNSAFE_MODE ${INCS} -o $@ $^ ${LIBS}
|
58
|
+
|
59
|
+
# Concatenate init hooks into one __init__.lua hook with two newlines in between
|
60
|
+
${INIT_HOOK}: hooks/init/*.lua hooks/init/__header__
|
61
|
+
rm -f hooks/__init__.lua
|
62
|
+
cat hooks/init/__header__ >> hooks/__init__.lua
|
63
|
+
for file in hooks/init/*.lua; do cat "$$file" >> hooks/__init__.lua; printf "\n\n" >> hooks/__init__.lua; done
|
64
|
+
echo "return utils" >> hooks/__init__.lua
|
65
|
+
|
66
|
+
build/%.lua: hooks/%.lua ${CLI}
|
67
|
+
@mkdir -p build
|
68
|
+
@echo Minifying $<
|
69
|
+
@cd LuaMinify; ../lua CommandLineMinify.lua ../$< ../$@ >/dev/null
|
70
|
+
|
71
|
+
# Create tarball of hooks to publish
|
72
|
+
${HOOKS_TARBALL}: ${MIN_SRCS}
|
73
|
+
tar -czf $@ -C build .
|
74
|
+
|
75
|
+
${HOOKS_SRCS_TARBALL}: ${HOOK_SRCS}
|
76
|
+
tar -czf $@ -C hooks . --exclude="init"
|
77
|
+
|
78
|
+
clean:
|
79
|
+
rm -f ${CLI} ${OBJ} ${SO_OUT}
|
80
|
+
cd ext/luajit && make clean
|
81
|
+
rm -f ${INIT_HOOK}
|
82
|
+
rm -f test_failed
|
83
|
+
rm -rf build
|
84
|
+
find . -name \*.o -delete
|
85
|
+
|
86
|
+
test: ${CLI} ${INIT_HOOK} lint ${MIN_SRCS}
|
87
|
+
@rm -f test_failed
|
88
|
+
@for file in test/*_test.lua; do printf "\nRunning $$file\n"; TEST_BUILT_HOOKS=1 ./${CLI} $$file || touch test_failed; done
|
89
|
+
@test ! -f test_failed
|
90
|
+
|
91
|
+
lint: ${INIT_HOOK}
|
92
|
+
@# Scan all lua files for lines with trailing spaces
|
93
|
+
@# The leading `!` negates the logic, so this target fails if trailing
|
94
|
+
@# spaces are found in any Lua file.
|
95
|
+
@! find . -path ./LuaMinify -prune -o -name "*.lua" -exec grep -E -n "[[:space:]]+$$" {} +
|
96
|
+
|
97
|
+
.PHONY: all test clean lint
|
data/lua-hooks/ext/all.c
CHANGED
@@ -4,75 +4,64 @@
|
|
4
4
|
|
5
5
|
#define luaall_c
|
6
6
|
|
7
|
-
#
|
7
|
+
#include "lua.h"
|
8
|
+
#include "lauxlib.h"
|
9
|
+
#include "lualib.h"
|
8
10
|
|
9
|
-
#include "lua/lapi.c"
|
10
|
-
#include "lua/lcode.c"
|
11
|
-
#include "lua/ldebug.c"
|
12
|
-
#include "lua/ldo.c"
|
13
|
-
#include "lua/ldump.c"
|
14
|
-
#include "lua/lfunc.c"
|
15
|
-
#include "lua/lgc.c"
|
16
|
-
#include "lua/llex.c"
|
17
|
-
#include "lua/lmem.c"
|
18
|
-
#include "lua/lobject.c"
|
19
|
-
#include "lua/lopcodes.c"
|
20
|
-
#include "lua/lparser.c"
|
21
|
-
#include "lua/lstate.c"
|
22
|
-
#include "lua/lstring.c"
|
23
|
-
#include "lua/ltable.c"
|
24
|
-
#include "lua/ltm.c"
|
25
|
-
#include "lua/lundump.c"
|
26
|
-
#include "lua/lvm.c"
|
27
|
-
#include "lua/lzio.c"
|
28
|
-
|
29
|
-
#include "lua/lauxlib.c"
|
30
|
-
#include "lua/lbaselib.c"
|
31
|
-
#include "lua/ldblib.c"
|
32
|
-
#include "lua/liolib.c"
|
33
|
-
#include "lua/lmathlib.c"
|
34
|
-
#include "lua/loadlib.c"
|
35
|
-
#include "lua/loslib.c"
|
36
|
-
#include "lua/lstrlib.c"
|
37
|
-
#include "lua/ltablib.c"
|
38
11
|
|
39
12
|
// Include our custom modules
|
40
|
-
#include "bitop/bit.c"
|
41
13
|
#include "libinjection/lualib.c"
|
42
14
|
#include "luautf8/lutf8lib.c"
|
43
15
|
#include "lpeg/lptree.c"
|
44
16
|
#include "lua-cmsgpack/lua_cmsgpack.c"
|
45
17
|
#include "lua-snapshot/snapshot.c"
|
46
18
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
{LUA_TABLIBNAME, luaopen_table},
|
51
|
-
{LUA_STRLIBNAME, luaopen_string},
|
52
|
-
{LUA_MATHLIBNAME, luaopen_math},
|
53
|
-
|
54
|
-
// Include unsafe libs in tests
|
55
|
-
#if defined(LUA_UNSAFE_MODE)
|
56
|
-
{LUA_IOLIBNAME, luaopen_io},
|
57
|
-
{LUA_OSLIBNAME, luaopen_os},
|
58
|
-
#endif
|
59
|
-
|
19
|
+
static const luaL_Reg lj_lib_load[] = {
|
20
|
+
// Default Lua modules
|
21
|
+
//
|
60
22
|
// SECURITY NOTE:
|
61
|
-
//
|
23
|
+
// Some of the following modules are unsafe according to http://lua-users.org/wiki/SandBoxes.
|
62
24
|
// They are loaded, but never exposed to the sandbox used to run the hook handlers.
|
63
25
|
// See lib/boot.lua for more details.
|
64
|
-
{
|
65
|
-
{
|
26
|
+
{ "", luaopen_base },
|
27
|
+
{ LUA_LOADLIBNAME, luaopen_package },
|
28
|
+
{ LUA_TABLIBNAME, luaopen_table },
|
29
|
+
#if defined(LUA_UNSAFE_MODE)
|
30
|
+
{ LUA_IOLIBNAME, luaopen_io },
|
31
|
+
{ LUA_OSLIBNAME, luaopen_os },
|
32
|
+
#endif
|
33
|
+
{ LUA_STRLIBNAME, luaopen_string },
|
34
|
+
{ LUA_MATHLIBNAME, luaopen_math },
|
35
|
+
{ LUA_DBLIBNAME, luaopen_debug },
|
36
|
+
{ LUA_BITLIBNAME, luaopen_bit },
|
37
|
+
{ LUA_JITLIBNAME, luaopen_jit },
|
66
38
|
|
67
39
|
// Our custom modules
|
68
40
|
{"libinjection", luaopen_libinjection},
|
69
41
|
{"utf8", luaopen_utf8},
|
70
|
-
{"bit", luaopen_bit},
|
71
42
|
{"lpeg", luaopen_lpeg},
|
72
43
|
{LUACMSGPACK_NAME, luaopen_cmsgpack},
|
73
44
|
{"snapshot", luaopen_snapshot},
|
74
|
-
|
45
|
+
|
46
|
+
{ NULL, NULL }
|
75
47
|
};
|
76
|
-
|
77
|
-
//
|
78
|
-
#
|
48
|
+
|
49
|
+
// In unsafe mode define these as NOPs when we build a .so
|
50
|
+
#if !defined(LUA_UNSAFE_MODE)
|
51
|
+
LUALIB_API int luaopen_io(lua_State *L) {
|
52
|
+
return 0;
|
53
|
+
}
|
54
|
+
LUALIB_API int luaopen_os(lua_State *L) {
|
55
|
+
return 0;
|
56
|
+
}
|
57
|
+
#endif
|
58
|
+
|
59
|
+
LUALIB_API void luaL_openlibs(lua_State *L) {
|
60
|
+
const luaL_Reg *lib;
|
61
|
+
for (lib = lj_lib_load; lib->func; lib++) {
|
62
|
+
lua_pushcfunction(L, lib->func);
|
63
|
+
lua_pushstring(L, lib->name);
|
64
|
+
lua_call(L, 1, 0);
|
65
|
+
}
|
66
|
+
}
|
67
|
+
|
data/lua-hooks/ext/all.o
ADDED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/lua-hooks/ext/lpeg/lpcap.c
CHANGED
Binary file
|
data/lua-hooks/ext/lpeg/lpcode.c
CHANGED
data/lua-hooks/ext/lpeg/lpcode.h
CHANGED
Binary file
|
Binary file
|
data/lua-hooks/ext/lpeg/lptree.c
CHANGED