immunio 1.1.2 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
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>