immunio 1.1.2 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. checksums.yaml +4 -4
  2. data/lib/immunio/version.rb +1 -1
  3. data/lua-hooks/Makefile +56 -109
  4. data/lua-hooks/ext/all.c +3 -14
  5. data/lua-hooks/ext/libinjection/module.mk +5 -0
  6. data/lua-hooks/ext/lpeg/module.mk +6 -0
  7. data/lua-hooks/ext/lua-cmsgpack/module.mk +2 -0
  8. data/lua-hooks/ext/lua-snapshot/module.mk +2 -0
  9. data/lua-hooks/ext/luajit/COPYRIGHT +1 -1
  10. data/lua-hooks/ext/luajit/Makefile +2 -2
  11. data/lua-hooks/ext/luajit/README +2 -2
  12. data/lua-hooks/ext/luajit/doc/bluequad-print.css +1 -1
  13. data/lua-hooks/ext/luajit/doc/bluequad.css +1 -1
  14. data/lua-hooks/ext/luajit/doc/changes.html +15 -2
  15. data/lua-hooks/ext/luajit/doc/contact.html +3 -3
  16. data/lua-hooks/ext/luajit/doc/ext_c_api.html +2 -2
  17. data/lua-hooks/ext/luajit/doc/ext_ffi.html +2 -2
  18. data/lua-hooks/ext/luajit/doc/ext_ffi_api.html +2 -2
  19. data/lua-hooks/ext/luajit/doc/ext_ffi_semantics.html +4 -2
  20. data/lua-hooks/ext/luajit/doc/ext_ffi_tutorial.html +2 -2
  21. data/lua-hooks/ext/luajit/doc/ext_jit.html +2 -2
  22. data/lua-hooks/ext/luajit/doc/ext_profiler.html +2 -2
  23. data/lua-hooks/ext/luajit/doc/extensions.html +9 -2
  24. data/lua-hooks/ext/luajit/doc/faq.html +2 -2
  25. data/lua-hooks/ext/luajit/doc/install.html +22 -18
  26. data/lua-hooks/ext/luajit/doc/luajit.html +3 -3
  27. data/lua-hooks/ext/luajit/doc/running.html +2 -2
  28. data/lua-hooks/ext/luajit/doc/status.html +2 -2
  29. data/lua-hooks/ext/luajit/dynasm/dasm_arm.h +1 -1
  30. data/lua-hooks/ext/luajit/dynasm/dasm_arm.lua +4 -4
  31. data/lua-hooks/ext/luajit/dynasm/dasm_arm64.h +1 -1
  32. data/lua-hooks/ext/luajit/dynasm/dasm_arm64.lua +4 -4
  33. data/lua-hooks/ext/luajit/dynasm/dasm_mips.h +1 -1
  34. data/lua-hooks/ext/luajit/dynasm/dasm_mips.lua +4 -4
  35. data/lua-hooks/ext/luajit/dynasm/dasm_ppc.h +1 -1
  36. data/lua-hooks/ext/luajit/dynasm/dasm_ppc.lua +4 -4
  37. data/lua-hooks/ext/luajit/dynasm/dasm_proto.h +3 -3
  38. data/lua-hooks/ext/luajit/dynasm/dasm_x64.lua +1 -1
  39. data/lua-hooks/ext/luajit/dynasm/dasm_x86.h +34 -7
  40. data/lua-hooks/ext/luajit/dynasm/dasm_x86.lua +427 -102
  41. data/lua-hooks/ext/luajit/dynasm/dynasm.lua +5 -5
  42. data/lua-hooks/ext/luajit/etc/luajit.1 +1 -1
  43. data/lua-hooks/ext/luajit/etc/luajit.pc +1 -1
  44. data/lua-hooks/ext/luajit/src/Makefile +36 -21
  45. data/lua-hooks/ext/luajit/src/Makefile.dep +3 -1
  46. data/lua-hooks/ext/luajit/src/host/buildvm.c +1 -1
  47. data/lua-hooks/ext/luajit/src/host/buildvm.h +1 -1
  48. data/lua-hooks/ext/luajit/src/host/buildvm_asm.c +10 -1
  49. data/lua-hooks/ext/luajit/src/host/buildvm_fold.c +1 -1
  50. data/lua-hooks/ext/luajit/src/host/buildvm_lib.c +1 -1
  51. data/lua-hooks/ext/luajit/src/host/buildvm_peobj.c +1 -1
  52. data/lua-hooks/ext/luajit/src/host/genlibbc.lua +1 -1
  53. data/lua-hooks/ext/luajit/src/host/genminilua.lua +1 -1
  54. data/lua-hooks/ext/luajit/src/jit/bc.lua +1 -1
  55. data/lua-hooks/ext/luajit/src/jit/bcsave.lua +2 -2
  56. data/lua-hooks/ext/luajit/src/jit/dis_arm.lua +1 -1
  57. data/lua-hooks/ext/luajit/src/jit/dis_mips.lua +1 -1
  58. data/lua-hooks/ext/luajit/src/jit/dis_mipsel.lua +1 -1
  59. data/lua-hooks/ext/luajit/src/jit/dis_ppc.lua +1 -1
  60. data/lua-hooks/ext/luajit/src/jit/dis_x64.lua +1 -1
  61. data/lua-hooks/ext/luajit/src/jit/dis_x86.lua +163 -73
  62. data/lua-hooks/ext/luajit/src/jit/dump.lua +2 -1
  63. data/lua-hooks/ext/luajit/src/jit/p.lua +1 -1
  64. data/lua-hooks/ext/luajit/src/jit/v.lua +1 -1
  65. data/lua-hooks/ext/luajit/src/jit/zone.lua +1 -1
  66. data/lua-hooks/ext/luajit/src/lib_aux.c +1 -1
  67. data/lua-hooks/ext/luajit/src/lib_base.c +4 -5
  68. data/lua-hooks/ext/luajit/src/lib_bit.c +1 -1
  69. data/lua-hooks/ext/luajit/src/lib_debug.c +1 -1
  70. data/lua-hooks/ext/luajit/src/lib_ffi.c +2 -5
  71. data/lua-hooks/ext/luajit/src/lib_init.c +1 -1
  72. data/lua-hooks/ext/luajit/src/lib_io.c +2 -3
  73. data/lua-hooks/ext/luajit/src/lib_jit.c +1 -1
  74. data/lua-hooks/ext/luajit/src/lib_math.c +1 -1
  75. data/lua-hooks/ext/luajit/src/lib_os.c +2 -2
  76. data/lua-hooks/ext/luajit/src/lib_package.c +1 -1
  77. data/lua-hooks/ext/luajit/src/lib_string.c +1 -1
  78. data/lua-hooks/ext/luajit/src/lib_table.c +1 -1
  79. data/lua-hooks/ext/luajit/src/lj.supp +15 -0
  80. data/lua-hooks/ext/luajit/src/lj_alloc.c +1 -1
  81. data/lua-hooks/ext/luajit/src/lj_api.c +4 -1
  82. data/lua-hooks/ext/luajit/src/lj_arch.h +33 -7
  83. data/lua-hooks/ext/luajit/src/lj_asm.c +12 -5
  84. data/lua-hooks/ext/luajit/src/lj_asm.h +1 -1
  85. data/lua-hooks/ext/luajit/src/lj_asm_arm.h +3 -13
  86. data/lua-hooks/ext/luajit/src/lj_asm_mips.h +337 -71
  87. data/lua-hooks/ext/luajit/src/lj_asm_ppc.h +2 -2
  88. data/lua-hooks/ext/luajit/src/lj_asm_x86.h +2 -2
  89. data/lua-hooks/ext/luajit/src/lj_bc.c +1 -1
  90. data/lua-hooks/ext/luajit/src/lj_bc.h +1 -1
  91. data/lua-hooks/ext/luajit/src/lj_bcdump.h +1 -1
  92. data/lua-hooks/ext/luajit/src/lj_bcread.c +1 -1
  93. data/lua-hooks/ext/luajit/src/lj_bcwrite.c +1 -1
  94. data/lua-hooks/ext/luajit/src/lj_buf.c +2 -4
  95. data/lua-hooks/ext/luajit/src/lj_buf.h +1 -3
  96. data/lua-hooks/ext/luajit/src/lj_carith.c +1 -1
  97. data/lua-hooks/ext/luajit/src/lj_carith.h +1 -1
  98. data/lua-hooks/ext/luajit/src/lj_ccall.c +37 -14
  99. data/lua-hooks/ext/luajit/src/lj_ccall.h +3 -3
  100. data/lua-hooks/ext/luajit/src/lj_ccallback.c +16 -7
  101. data/lua-hooks/ext/luajit/src/lj_ccallback.h +1 -1
  102. data/lua-hooks/ext/luajit/src/lj_cconv.c +1 -1
  103. data/lua-hooks/ext/luajit/src/lj_cconv.h +1 -1
  104. data/lua-hooks/ext/luajit/src/lj_cdata.c +10 -1
  105. data/lua-hooks/ext/luajit/src/lj_cdata.h +3 -1
  106. data/lua-hooks/ext/luajit/src/lj_clib.c +1 -1
  107. data/lua-hooks/ext/luajit/src/lj_clib.h +1 -1
  108. data/lua-hooks/ext/luajit/src/lj_cparse.c +27 -6
  109. data/lua-hooks/ext/luajit/src/lj_cparse.h +1 -1
  110. data/lua-hooks/ext/luajit/src/lj_crecord.c +1 -1
  111. data/lua-hooks/ext/luajit/src/lj_crecord.h +1 -1
  112. data/lua-hooks/ext/luajit/src/lj_ctype.c +10 -8
  113. data/lua-hooks/ext/luajit/src/lj_ctype.h +1 -1
  114. data/lua-hooks/ext/luajit/src/lj_debug.c +1 -1
  115. data/lua-hooks/ext/luajit/src/lj_debug.h +1 -1
  116. data/lua-hooks/ext/luajit/src/lj_def.h +1 -1
  117. data/lua-hooks/ext/luajit/src/lj_dispatch.c +1 -1
  118. data/lua-hooks/ext/luajit/src/lj_dispatch.h +21 -4
  119. data/lua-hooks/ext/luajit/src/lj_emit_arm.h +1 -1
  120. data/lua-hooks/ext/luajit/src/lj_emit_mips.h +7 -5
  121. data/lua-hooks/ext/luajit/src/lj_emit_ppc.h +1 -1
  122. data/lua-hooks/ext/luajit/src/lj_emit_x86.h +1 -1
  123. data/lua-hooks/ext/luajit/src/lj_err.c +69 -31
  124. data/lua-hooks/ext/luajit/src/lj_err.h +1 -1
  125. data/lua-hooks/ext/luajit/src/lj_errmsg.h +1 -1
  126. data/lua-hooks/ext/luajit/src/lj_ff.h +1 -1
  127. data/lua-hooks/ext/luajit/src/lj_ffrecord.c +10 -40
  128. data/lua-hooks/ext/luajit/src/lj_ffrecord.h +1 -1
  129. data/lua-hooks/ext/luajit/src/lj_frame.h +12 -1
  130. data/lua-hooks/ext/luajit/src/lj_func.c +1 -1
  131. data/lua-hooks/ext/luajit/src/lj_func.h +1 -1
  132. data/lua-hooks/ext/luajit/src/lj_gc.c +2 -2
  133. data/lua-hooks/ext/luajit/src/lj_gc.h +1 -1
  134. data/lua-hooks/ext/luajit/src/lj_gdbjit.c +1 -1
  135. data/lua-hooks/ext/luajit/src/lj_gdbjit.h +1 -1
  136. data/lua-hooks/ext/luajit/src/lj_ir.c +31 -15
  137. data/lua-hooks/ext/luajit/src/lj_ir.h +1 -1
  138. data/lua-hooks/ext/luajit/src/lj_ircall.h +29 -1
  139. data/lua-hooks/ext/luajit/src/lj_iropt.h +2 -1
  140. data/lua-hooks/ext/luajit/src/lj_jit.h +2 -1
  141. data/lua-hooks/ext/luajit/src/lj_lex.c +28 -1
  142. data/lua-hooks/ext/luajit/src/lj_lex.h +1 -1
  143. data/lua-hooks/ext/luajit/src/lj_lib.c +1 -1
  144. data/lua-hooks/ext/luajit/src/lj_lib.h +1 -1
  145. data/lua-hooks/ext/luajit/src/lj_load.c +1 -1
  146. data/lua-hooks/ext/luajit/src/lj_mcode.c +1 -1
  147. data/lua-hooks/ext/luajit/src/lj_mcode.h +1 -1
  148. data/lua-hooks/ext/luajit/src/lj_meta.c +8 -8
  149. data/lua-hooks/ext/luajit/src/lj_meta.h +1 -1
  150. data/lua-hooks/ext/luajit/src/lj_obj.c +1 -1
  151. data/lua-hooks/ext/luajit/src/lj_obj.h +1 -1
  152. data/lua-hooks/ext/luajit/src/lj_opt_dce.c +1 -1
  153. data/lua-hooks/ext/luajit/src/lj_opt_fold.c +1 -1
  154. data/lua-hooks/ext/luajit/src/lj_opt_loop.c +1 -1
  155. data/lua-hooks/ext/luajit/src/lj_opt_mem.c +1 -1
  156. data/lua-hooks/ext/luajit/src/lj_opt_narrow.c +1 -1
  157. data/lua-hooks/ext/luajit/src/lj_opt_sink.c +1 -1
  158. data/lua-hooks/ext/luajit/src/lj_opt_split.c +10 -5
  159. data/lua-hooks/ext/luajit/src/lj_parse.c +1 -1
  160. data/lua-hooks/ext/luajit/src/lj_parse.h +1 -1
  161. data/lua-hooks/ext/luajit/src/lj_profile.c +1 -1
  162. data/lua-hooks/ext/luajit/src/lj_profile.h +1 -1
  163. data/lua-hooks/ext/luajit/src/lj_record.c +13 -5
  164. data/lua-hooks/ext/luajit/src/lj_record.h +1 -1
  165. data/lua-hooks/ext/luajit/src/lj_snap.c +20 -23
  166. data/lua-hooks/ext/luajit/src/lj_snap.h +1 -1
  167. data/lua-hooks/ext/luajit/src/lj_state.c +1 -1
  168. data/lua-hooks/ext/luajit/src/lj_state.h +1 -1
  169. data/lua-hooks/ext/luajit/src/lj_str.c +1 -1
  170. data/lua-hooks/ext/luajit/src/lj_str.h +1 -1
  171. data/lua-hooks/ext/luajit/src/lj_strfmt.c +12 -98
  172. data/lua-hooks/ext/luajit/src/lj_strfmt.h +4 -4
  173. data/lua-hooks/ext/luajit/src/lj_strfmt_num.c +591 -0
  174. data/lua-hooks/ext/luajit/src/lj_strscan.c +1 -1
  175. data/lua-hooks/ext/luajit/src/lj_strscan.h +1 -1
  176. data/lua-hooks/ext/luajit/src/lj_tab.c +1 -1
  177. data/lua-hooks/ext/luajit/src/lj_tab.h +1 -1
  178. data/lua-hooks/ext/luajit/src/lj_target.h +1 -1
  179. data/lua-hooks/ext/luajit/src/lj_target_arm.h +1 -1
  180. data/lua-hooks/ext/luajit/src/lj_target_arm64.h +1 -1
  181. data/lua-hooks/ext/luajit/src/lj_target_mips.h +30 -2
  182. data/lua-hooks/ext/luajit/src/lj_target_ppc.h +1 -1
  183. data/lua-hooks/ext/luajit/src/lj_target_x86.h +1 -1
  184. data/lua-hooks/ext/luajit/src/lj_trace.c +7 -2
  185. data/lua-hooks/ext/luajit/src/lj_trace.h +1 -1
  186. data/lua-hooks/ext/luajit/src/lj_traceerr.h +1 -3
  187. data/lua-hooks/ext/luajit/src/lj_udata.c +1 -1
  188. data/lua-hooks/ext/luajit/src/lj_udata.h +1 -1
  189. data/lua-hooks/ext/luajit/src/lj_vm.h +5 -3
  190. data/lua-hooks/ext/luajit/src/lj_vmevent.c +1 -1
  191. data/lua-hooks/ext/luajit/src/lj_vmevent.h +1 -1
  192. data/lua-hooks/ext/luajit/src/lj_vmmath.c +15 -15
  193. data/lua-hooks/ext/luajit/src/ljamalg.c +2 -1
  194. data/lua-hooks/ext/luajit/src/lua.h +1 -0
  195. data/lua-hooks/ext/luajit/src/luaconf.h +2 -2
  196. data/lua-hooks/ext/luajit/src/luajit.c +1 -1
  197. data/lua-hooks/ext/luajit/src/luajit.h +4 -4
  198. data/lua-hooks/ext/luajit/src/lualib.h +1 -1
  199. data/lua-hooks/ext/luajit/src/msvcbuild.bat +1 -1
  200. data/lua-hooks/ext/luajit/src/ps4build.bat +26 -6
  201. data/lua-hooks/ext/luajit/src/vm_arm.dasc +17 -9
  202. data/lua-hooks/ext/luajit/src/vm_arm64.dasc +1 -1
  203. data/lua-hooks/ext/luajit/src/vm_mips.dasc +1562 -656
  204. data/lua-hooks/ext/luajit/src/vm_ppc.dasc +3 -7
  205. data/lua-hooks/ext/luajit/src/vm_x64.dasc +10 -2
  206. data/lua-hooks/ext/luajit/src/vm_x86.dasc +5 -8
  207. data/lua-hooks/ext/luautf8/module.mk +2 -0
  208. data/lua-hooks/ext/module.mk +15 -0
  209. data/lua-hooks/ext/modules.h +17 -0
  210. data/lua-hooks/ext/perf/luacpu.c +1 -1
  211. data/lua-hooks/ext/perf/lualoadavg.c +1 -1
  212. data/lua-hooks/ext/perf/luameminfo.c +1 -1
  213. data/lua-hooks/ext/perf/luaoslib.c +124 -2
  214. data/lua-hooks/ext/perf/module.mk +5 -0
  215. data/lua-hooks/ext/sha1/luasha1.c +4 -2
  216. data/lua-hooks/ext/sha1/module.mk +5 -0
  217. data/lua-hooks/ext/sha2/luasha256.c +4 -2
  218. data/lua-hooks/ext/sha2/module.mk +5 -0
  219. data/lua-hooks/ext/sysutils/lua_utils.c +56 -0
  220. data/lua-hooks/ext/sysutils/module.mk +2 -0
  221. data/lua-hooks/lib/boot.lua +2 -1
  222. data/lua-hooks/lib/hooks/module.mk +31 -0
  223. data/lua-hooks/lib/hooks/xss/module.mk +4 -0
  224. data/lua-hooks/lib/lexers/module.mk +10 -0
  225. data/lua-hooks/lib/module.mk +38 -0
  226. data/lua-hooks/lib/schema/module.mk +3 -0
  227. data/lua-hooks/options.mk +59 -0
  228. metadata +21 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 877a290ccd60b4a6e46fff24968cd223fae6ac56
4
- data.tar.gz: 5e4c68c451a27e7de6590499dd427485d05ab577
3
+ metadata.gz: 1892a99bb27797888c8589ad7404d94c8bff8d92
4
+ data.tar.gz: b278c5b969f0431650d241b0a26499513a469b3a
5
5
  SHA512:
6
- metadata.gz: 88c2d9d8c86bd24fa028e1c092524617f3bbc2e271f3fae53c50c8ae45f3ab6d5b1f5b8c1846be8fa7ede95441121426355b5960ed174269712a14f06883c9e6
7
- data.tar.gz: 7a7bdc7a6cc3d85f5f226a8017061d22dda0bd9f9a6aeaae146f5f8df80b6f8d1e79b533bba2525e2ce8b245ebf52d9cb85e46d3221af0107b427114c1f421ea
6
+ metadata.gz: 177fe3c9024f2bc8ac4451eb8913c6c7c9c54a32592b2f33aa19d17eaf14c747786b1f180d22d56e8600f91186a840d6c2077e608336585b1d70538769ccbf15
7
+ data.tar.gz: 86adfa4ca69c87354f8d8d6bbc01d01d78c98958b3bd9e0ada2d406e95a70489c5e722c42a730ed65848ea0fda4a1882b1090b91e08c8733291f91f4b77ad878
@@ -1,5 +1,5 @@
1
1
  module Immunio
2
2
  AGENT_TYPE = "agent-ruby"
3
- VERSION = "1.1.2"
3
+ VERSION = "1.1.5"
4
4
  VM_VERSION = "2.2.0"
5
5
  end
@@ -1,93 +1,44 @@
1
- CROSS =
2
- CC = $(CROSS)cc
3
- AR = $(CROSS)ar
1
+ MODULES := lib ext
4
2
 
5
3
  # Source of extensions compiled w/ Lua's source.
6
4
  # Only include .c files that can't be directly included in ext/all.c.
7
- SRC = \
8
- ext/all.c \
9
- ext/libinjection/libinjection_html5.c \
10
- ext/libinjection/libinjection_xss.c \
11
- ext/libinjection/libinjection_sqli.c \
12
- ext/lpeg/lpcap.c \
13
- ext/lpeg/lpcode.c \
14
- ext/lpeg/lpprint.c \
15
- ext/lpeg/lpvm.c
16
-
17
- LUA_SRC = \
18
- lib/cookie.lua \
19
- lib/DataDumper.lua \
20
- lib/date.lua \
21
- lib/defence.lua \
22
- lib/diag.lua \
23
- lib/extensions.lua \
24
- lib/hmac.lua \
25
- lib/hooks.lua \
26
- lib/idn.lua \
27
- lib/lexgraph.lua \
28
- lib/lru.lua \
29
- lib/neturl.lua \
30
- lib/paths.lua \
31
- lib/perf.lua \
32
- lib/permit.lua \
33
- lib/real_ip.lua \
34
- lib/sanitize_sql.lua \
35
- lib/sanitize_command.lua \
36
- lib/semver.lua \
37
- lib/sha1.lua \
38
- lib/snap.lua \
39
- lib/term.lua \
40
- lib/utils.lua \
41
- lib/lexers/bash_dqstr.lua \
42
- lib/lexers/bash.lua \
43
- lib/lexers/css_attr.lua \
44
- lib/lexers/css.lua \
45
- lib/lexers/html.lua \
46
- lib/lexers/javascript.lua \
47
- lib/lexers/markers.lua \
48
- lib/lexer.lua \
49
- lib/hooks/authenticate.lua \
50
- lib/hooks/bad_cookie.lua \
51
- lib/hooks/custom_threat.lua \
52
- lib/hooks/encode.lua \
53
- lib/hooks/eval.lua \
54
- lib/hooks/exception.lua \
55
- lib/hooks/file_io.lua \
56
- lib/hooks/framework_csrf_check.lua \
57
- lib/hooks/framework_login.lua \
58
- lib/hooks/framework_password_reset.lua \
59
- lib/hooks/framework_account_created.lua \
60
- lib/hooks/framework_redirect.lua \
61
- lib/hooks/framework_session.lua \
62
- lib/hooks/framework_user.lua \
63
- lib/hooks/framework_route.lua \
64
- lib/hooks/http_request_finish.lua \
65
- lib/hooks/http_request_start.lua \
66
- lib/hooks/http_response_start.lua \
67
- lib/hooks/should_report.lua \
68
- lib/hooks/sql_execute.lua \
69
- lib/hooks/template_render_done.lua \
70
- lib/hooks/xss/escape.lua \
71
- lib/hooks/xss/escape_js.lua
72
-
73
- OBJ = ${SRC:.c=.o}
74
-
75
- SHA1OBJ = ext/sha1/sha1.o
76
- SHA2OBJ = ext/sha2/sha256.o
77
- OBJ = ${SRC:.c=.o} ${SHA1OBJ} ${SHA2OBJ}
78
5
 
79
- # Library archive. Used for compiling along agent bindings.
80
- SO_OUT = libimmunio.so
81
- A_OUT = libimmunio.a
6
+ # All these source variables are filled in by the module.mk files
7
+ SRC :=
8
+
9
+ CXX_SRC :=
10
+
11
+ SPECIAL_SRC :=
12
+
13
+ LUA_SRC :=
14
+
15
+ CLI_SRC := \
16
+ ext/luajit/src/luajit.c
17
+
18
+ # Include module definitions
19
+ include $(patsubst %,%/module.mk,$(MODULES))
20
+
21
+ OBJ := \
22
+ $(patsubst %.c,%.o,$(filter %.c,$(SRC))) \
23
+
24
+ SPECIAL_OBJ := \
25
+ $(patsubst %.c,%.o,$(filter %.c,$(SPECIAL_SRC))) \
26
+
27
+ CXX_OBJ := \
28
+ $(patsubst %.cc,%.o,$(filter %.cc,$(CXX_SRC)))
29
+
30
+ CLI_OBJ := \
31
+ $(patsubst %.c,%.o,$(filter %.c,$(CLI_SRC)))
32
+
82
33
 
83
34
  # CLI for running tests
84
35
  CLI = ./lua
85
- CLI_SRC = ext/luajit/src/luajit.c ${SRC}
86
36
 
87
- XCFLAGS =
88
- CFLAGS = -DLUA_USE_APICHECK -DLUAJIT -Dlua_assert=assert -O3 -fPIC ${XCFLAGS}
89
- INCS = -Iext -Iext/luajit/src
90
- LIBS = -lm -ldl
37
+ # Library archive. Used for compiling along agent bindings.
38
+ SO_OUT = libimmunio.so
39
+ A_OUT = libimmunio.a
40
+
41
+ include options.mk
91
42
 
92
43
  INIT_HOOK = hooks/__init__.lua
93
44
  HOOK_SRCS := $(wildcard hooks/*.lua) hooks/__init__.lua
@@ -95,47 +46,30 @@ MIN_SRCS = $(HOOK_SRCS:hooks/%.lua=build/%.lua)
95
46
  HOOKS_TARBALL = hooks.tgz
96
47
  HOOKS_SRCS_TARBALL = hooks_srcs.tgz
97
48
 
98
- LUAJIT_OBJ = ext/luajit/src/libluajit.a
99
49
  LUAJIT_OUT = libluajit.a
100
- LUAJIT_XCFLAGS = -fPIC
101
-
102
- SYS = $(shell uname -s)
103
-
104
- ifeq (${SYS}, Darwin)
105
- # Disable the JIT on OS X
106
- LUAJIT_XCFLAGS += -DLUAJIT_ENABLE_GC64
107
- endif
50
+ LUAJIT_OBJ = ext/luajit/src/${LUAJIT_OUT}
108
51
 
109
52
  # Build lua, run tests, and create hooks archive
110
53
  all: ${CLI} ${INIT_HOOK} ${HOOKS_TARBALL} ${HOOKS_SRCS_TARBALL}
111
54
 
112
- %.o: %.c
113
- MACOSX_DEPLOYMENT_TARGET="10.8" ${CC} ${CFLAGS} -c ${INCS} -o $@ $<
114
-
115
- # There is a huge performance advantage compiling sha1.o with just -O
116
- # -O2 or -O3 *reduce* the speed of the algorithm 30%
117
- ${SHA1OBJ}:
118
- ${CC} -O -c ${INCS} -o ${SHA1OBJ} ${SHA1OBJ:.o=.c}
119
-
120
- ${SHA2OBJ}:
121
- ${CC} -O -c ${INCS} -o ${SHA2OBJ} ${SHA2OBJ:.o=.c}
122
-
123
- ${SO_OUT}: ${OBJ} ${LUAJIT_OBJ}
55
+ ${SO_OUT}: ${OBJ} ${SPECIAL_OBJ} ${LUAJIT_OBJ}
124
56
  ${CC} -shared ${CFLAGS} ${LIBS} -o $@ -lc $^
125
57
 
126
- ${A_OUT}: ${OBJ}
58
+ ${A_OUT}: ${OBJ} ${SPECIAL_OBJ}
127
59
  ${AR} -rcus $@ $^
128
60
 
129
61
  ${LUAJIT_OUT}: ${LUAJIT_OBJ}
130
62
  cp $^ $@
131
63
 
132
64
  ${LUAJIT_OBJ}:
133
- cd ext/luajit && MACOSX_DEPLOYMENT_TARGET="10.8" make CROSS="${CROSS}" CC=cc HOST_CC=cc TARGET_SYS=${SYS} XCFLAGS="${LUAJIT_XCFLAGS}"
65
+ cd ext/luajit/src && MACOSX_DEPLOYMENT_TARGET="10.8" make CROSS="${CROSS}" CC=cc HOST_CC=cc XCFLAGS="${LUAJIT_XCFLAGS}" ${LUAJIT_OUT}
134
66
 
135
67
  # Build lua executable for testing and compilation
136
68
  # Seperate compilation as we need the LUA_UNSAFE_MODE flag set...
137
- ${CLI}: ${CLI_SRC} ${LUAJIT_OBJ} ${SHA1OBJ} ${SHA2OBJ}
138
- ${CC} ${CFLAGS} -DLUA_UNSAFE_MODE ${INCS} -o $@ $^ ${LIBS}
69
+ ${CLI}: CFLAGS += ${UNSAFE_FLAG}
70
+ ${CLI}: CXXFLAGS += ${UNSAFE_FLAG}
71
+ ${CLI}: ${CLI_SRC} ${SRC} ${SPECIAL_OBJ} ${CXX_OBJ} ${LUAJIT_OBJ}
72
+ ${CC} ${CFLAGS} ${LDFLAGS} -o $@ $^ ${LIBS}
139
73
 
140
74
  # Concatenate init hooks into one __init__.lua hook with two newlines in between
141
75
  ${INIT_HOOK}: ${LUA_SRC} ${CLI}
@@ -154,12 +88,22 @@ ${HOOKS_TARBALL}: ${MIN_SRCS}
154
88
  ${HOOKS_SRCS_TARBALL}: ${HOOK_SRCS}
155
89
  tar -czf $@ -C hooks . --exclude="init"
156
90
 
91
+ ${SPECIAL_OBJ}: CFLAGS += ${OPTIMIZE_NONE}
92
+
93
+ ${CLI_OBJ} ${OBJ} ${CXX_OBJ} ${LUAJIT_OBJ}: CFLAGS += ${OPTIMIZE_FULL}
94
+
95
+ %.o: %.c
96
+ ${CC} ${CFLAGS} -c ${INCS} -o $@ $<
97
+
98
+ %.o: %.cc
99
+ ${CXX} ${CXXFLAGS} -c ${INCS} -o $@ $<
100
+
157
101
  cleanhooks:
158
102
  rm -f ${INIT_HOOK}
159
103
  rm -f build/*.lua
160
104
 
161
105
  clean: cleanhooks
162
- rm -f ${CLI} ${OBJ} ${SO_OUT} ${A_OUT} ${LUAJIT_OUT} ${SHA1OBJ} ${SHA2OBJ}
106
+ rm -f ${CLI} ${CLI_OBJ} ${OBJ} ${CXX_OBJ} ${SPECIAL_OBJ} ${SO_OUT} ${A_OUT} ${LUAJIT_OUT}
163
107
  cd ext/luajit && make clean
164
108
  rm -f test_failed
165
109
  rm -rf build
@@ -167,7 +111,10 @@ clean: cleanhooks
167
111
 
168
112
  test: ${CLI} ${INIT_HOOK} lint ${MIN_SRCS}
169
113
  @rm -f test_failed
170
- @for file in test/*_test.lua; do printf "\nRunning $$file\n"; TEST_BUILT_HOOKS=1 ./${CLI} $$file || touch test_failed; done
114
+ @for file in test/*_test.lua; do \
115
+ printf "\nRunning $$file\n"; \
116
+ TEST_BUILT_HOOKS=1 ${CLI} -e 'package.path="./LuaMinify/?.lua;" .. package.path' -l 'Strict' $$file || touch test_failed; \
117
+ done
171
118
  @test ! -f test_failed
172
119
 
173
120
  enable-console: cleanhooks
@@ -8,19 +8,7 @@
8
8
  #include "lauxlib.h"
9
9
  #include "lualib.h"
10
10
 
11
-
12
- // Include our custom modules
13
- #include "libinjection/lualib.c"
14
- #include "luautf8/lutf8lib.c"
15
- #include "lpeg/lptree.c"
16
- #include "lua-cmsgpack/lua_cmsgpack.c"
17
- #include "lua-snapshot/snapshot.c"
18
- #include "sha1/luasha1.c"
19
- #include "sha2/luasha256.c"
20
- #include "perf/luacpu.c"
21
- #include "perf/lualoadavg.c"
22
- #include "perf/luameminfo.c"
23
- #include "perf/luaoslib.c"
11
+ #include "modules.h"
24
12
 
25
13
 
26
14
  static const luaL_Reg lj_lib_load[] = {
@@ -47,7 +35,7 @@ static const luaL_Reg lj_lib_load[] = {
47
35
  {"libinjection", luaopen_libinjection},
48
36
  {"utf8", luaopen_utf8},
49
37
  {"lpeg", luaopen_lpeg},
50
- {LUACMSGPACK_NAME, luaopen_cmsgpack},
38
+ {"cmsgpack", luaopen_cmsgpack},
51
39
  {"snapshot", luaopen_snapshot},
52
40
  {"sha1", luaopen_sha1},
53
41
  {"sha2", luaopen_sha256},
@@ -55,6 +43,7 @@ static const luaL_Reg lj_lib_load[] = {
55
43
  {"perf", luaopen_loadavg},
56
44
  {"perf", luaopen_meminfo},
57
45
  {"perf", luaopen_luaos},
46
+ {"sysutils", luaopen_sysutils},
58
47
 
59
48
  { NULL, NULL }
60
49
  };
@@ -0,0 +1,5 @@
1
+ SRC += \
2
+ ext/libinjection/libinjection_html5.c \
3
+ ext/libinjection/libinjection_xss.c \
4
+ ext/libinjection/libinjection_sqli.c\
5
+ ext/libinjection/lualib.c
@@ -0,0 +1,6 @@
1
+ SRC += \
2
+ ext/lpeg/lpcap.c \
3
+ ext/lpeg/lpcode.c \
4
+ ext/lpeg/lpprint.c \
5
+ ext/lpeg/lptree.c \
6
+ ext/lpeg/lpvm.c
@@ -0,0 +1,2 @@
1
+ SRC += \
2
+ ext/lua-cmsgpack/lua_cmsgpack.c
@@ -0,0 +1,2 @@
1
+ SRC += \
2
+ ext/lua-snapshot/snapshot.c
@@ -1,7 +1,7 @@
1
1
  ===============================================================================
2
2
  LuaJIT -- a Just-In-Time Compiler for Lua. http://luajit.org/
3
3
 
4
- Copyright (C) 2005-2015 Mike Pall. All rights reserved.
4
+ Copyright (C) 2005-2016 Mike Pall. All rights reserved.
5
5
 
6
6
  Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  of this software and associated documentation files (the "Software"), to deal
@@ -10,13 +10,13 @@
10
10
  # For MSVC, please follow the instructions given in src/msvcbuild.bat.
11
11
  # For MinGW and Cygwin, cd to src and run make with the Makefile there.
12
12
  #
13
- # Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
13
+ # Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
14
14
  ##############################################################################
15
15
 
16
16
  MAJVER= 2
17
17
  MINVER= 1
18
18
  RELVER= 0
19
- PREREL= -beta1
19
+ PREREL= -beta2
20
20
  VERSION= $(MAJVER).$(MINVER).$(RELVER)$(PREREL)
21
21
  ABIVER= 5.1
22
22
 
@@ -1,11 +1,11 @@
1
- README for LuaJIT 2.1.0-beta1
1
+ README for LuaJIT 2.1.0-beta2
2
2
  -----------------------------
3
3
 
4
4
  LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language.
5
5
 
6
6
  Project Homepage: http://luajit.org/
7
7
 
8
- LuaJIT is Copyright (C) 2005-2015 Mike Pall.
8
+ LuaJIT is Copyright (C) 2005-2016 Mike Pall.
9
9
  LuaJIT is free software, released under the MIT license.
10
10
  See full Copyright Notice in the COPYRIGHT file or in luajit.h.
11
11
 
@@ -1,4 +1,4 @@
1
- /* Copyright (C) 2004-2015 Mike Pall.
1
+ /* Copyright (C) 2004-2016 Mike Pall.
2
2
  *
3
3
  * You are welcome to use the general ideas of this design for your own sites.
4
4
  * But please do not steal the stylesheet, the layout or the color scheme.
@@ -1,4 +1,4 @@
1
- /* Copyright (C) 2004-2015 Mike Pall.
1
+ /* Copyright (C) 2004-2016 Mike Pall.
2
2
  *
3
3
  * You are welcome to use the general ideas of this design for your own sites.
4
4
  * But please do not steal the stylesheet, the layout or the color scheme.
@@ -4,7 +4,7 @@
4
4
  <title>LuaJIT Change History</title>
5
5
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6
6
  <meta name="Author" content="Mike Pall">
7
- <meta name="Copyright" content="Copyright (C) 2005-2015, Mike Pall">
7
+ <meta name="Copyright" content="Copyright (C) 2005-2016, Mike Pall">
8
8
  <meta name="Language" content="en">
9
9
  <link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
10
10
  <link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
@@ -74,6 +74,19 @@ to see whether newer versions are available.
74
74
  </p>
75
75
 
76
76
  <div class="major" style="background: #d0d0ff;">
77
+ <h2 id="LuaJIT-2.1.0-beta2">LuaJIT 2.1.0-beta2 &mdash; 2016-03-03</h2>
78
+ <ul>
79
+ <li>Enable trace stitching.</li>
80
+ <li>Use internal implementation for converting FP numbers to strings.</li>
81
+ <li>Parse Unicode escape <tt>'\u{XX...}'</tt> in string literals.</li>
82
+ <li>Add MIPS soft-float support.</li>
83
+ <li>Switch MIPS port to dual-number mode.</li>
84
+ <li>x86/x64: Add support for AES-NI, AVX and AVX2 to DynASM.</li>
85
+ <li>FFI: Add <tt>ssize_t</tt> declaration.</li>
86
+ <li>FFI: Parse <tt>#line NN</tt> and <tt>#NN</tt>.</li>
87
+ <li>Various minor fixes.</li>
88
+ </ul>
89
+
77
90
  <h2 id="LuaJIT-2.1.0-beta1">LuaJIT 2.1.0-beta1 &mdash; 2015-08-25</h2>
78
91
  <p>
79
92
  This is a brief summary of the major changes in LuaJIT 2.1 compared to 2.0.
@@ -794,7 +807,7 @@ no point in listing differences over earlier versions.</li>
794
807
  </div>
795
808
  <div id="foot">
796
809
  <hr class="hide">
797
- Copyright &copy; 2005-2015 Mike Pall
810
+ Copyright &copy; 2005-2016 Mike Pall
798
811
  <span class="noprint">
799
812
  &middot;
800
813
  <a href="contact.html">Contact</a>
@@ -4,7 +4,7 @@
4
4
  <title>Contact</title>
5
5
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6
6
  <meta name="Author" content="Mike Pall">
7
- <meta name="Copyright" content="Copyright (C) 2005-2015, Mike Pall">
7
+ <meta name="Copyright" content="Copyright (C) 2005-2016, Mike Pall">
8
8
  <meta name="Language" content="en">
9
9
  <link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
10
10
  <link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
@@ -86,7 +86,7 @@ xD("fyZKB8xv\"FJytmz8.KAB0u52D")
86
86
  <h2>Copyright</h2>
87
87
  <p>
88
88
  All documentation is
89
- Copyright &copy; 2005-2015 Mike Pall.
89
+ Copyright &copy; 2005-2016 Mike Pall.
90
90
  </p>
91
91
 
92
92
 
@@ -94,7 +94,7 @@ Copyright &copy; 2005-2015 Mike Pall.
94
94
  </div>
95
95
  <div id="foot">
96
96
  <hr class="hide">
97
- Copyright &copy; 2005-2015 Mike Pall
97
+ Copyright &copy; 2005-2016 Mike Pall
98
98
  <span class="noprint">
99
99
  &middot;
100
100
  <a href="contact.html">Contact</a>
@@ -4,7 +4,7 @@
4
4
  <title>Lua/C API Extensions</title>
5
5
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6
6
  <meta name="Author" content="Mike Pall">
7
- <meta name="Copyright" content="Copyright (C) 2005-2015, Mike Pall">
7
+ <meta name="Copyright" content="Copyright (C) 2005-2016, Mike Pall">
8
8
  <meta name="Language" content="en">
9
9
  <link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
10
10
  <link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
@@ -179,7 +179,7 @@ Also note that this mechanism is not without overhead.
179
179
  </div>
180
180
  <div id="foot">
181
181
  <hr class="hide">
182
- Copyright &copy; 2005-2015 Mike Pall
182
+ Copyright &copy; 2005-2016 Mike Pall
183
183
  <span class="noprint">
184
184
  &middot;
185
185
  <a href="contact.html">Contact</a>
@@ -4,7 +4,7 @@
4
4
  <title>FFI Library</title>
5
5
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6
6
  <meta name="Author" content="Mike Pall">
7
- <meta name="Copyright" content="Copyright (C) 2005-2015, Mike Pall">
7
+ <meta name="Copyright" content="Copyright (C) 2005-2016, Mike Pall">
8
8
  <meta name="Language" content="en">
9
9
  <link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
10
10
  <link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
@@ -322,7 +322,7 @@ without undue conversion penalties.
322
322
  </div>
323
323
  <div id="foot">
324
324
  <hr class="hide">
325
- Copyright &copy; 2005-2015 Mike Pall
325
+ Copyright &copy; 2005-2016 Mike Pall
326
326
  <span class="noprint">
327
327
  &middot;
328
328
  <a href="contact.html">Contact</a>