immunio 0.15.4 → 0.16.0

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 (454) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +0 -27
  3. data/ext/immunio/Rakefile +9 -0
  4. data/lib/immunio/plugins/active_record.rb +1 -1
  5. data/lib/immunio/plugins/active_record_relation.rb +1 -1
  6. data/lib/immunio/plugins/environment_reporter.rb +20 -0
  7. data/lib/immunio/rufus_lua_ext/ref.rb +1 -3
  8. data/lib/immunio/version.rb +1 -1
  9. data/lib/immunio/vm.rb +1 -2
  10. data/lua-hooks/Makefile +97 -0
  11. data/lua-hooks/ext/all.c +41 -52
  12. data/lua-hooks/ext/all.o +0 -0
  13. data/lua-hooks/ext/libinjection/libinjection_html5.o +0 -0
  14. data/lua-hooks/ext/libinjection/libinjection_sqli.o +0 -0
  15. data/lua-hooks/ext/libinjection/libinjection_xss.o +0 -0
  16. data/lua-hooks/ext/libinjection/lualib.c +2 -2
  17. data/lua-hooks/ext/lpeg/lpcap.c +2 -2
  18. data/lua-hooks/ext/lpeg/lpcap.o +0 -0
  19. data/lua-hooks/ext/lpeg/lpcode.c +2 -2
  20. data/lua-hooks/ext/lpeg/lpcode.h +1 -1
  21. data/lua-hooks/ext/lpeg/lpcode.o +0 -0
  22. data/lua-hooks/ext/lpeg/lpprint.o +0 -0
  23. data/lua-hooks/ext/lpeg/lptree.c +2 -2
  24. data/lua-hooks/ext/lpeg/lptypes.h +1 -1
  25. data/lua-hooks/ext/lpeg/lpvm.c +2 -2
  26. data/lua-hooks/ext/lpeg/lpvm.o +0 -0
  27. data/lua-hooks/ext/lua-cmsgpack/lua_cmsgpack.c +16 -3
  28. data/lua-hooks/ext/lua-snapshot/snapshot.c +14 -7
  29. data/lua-hooks/ext/luajit/COPYRIGHT +56 -0
  30. data/lua-hooks/ext/luajit/Makefile +159 -0
  31. data/lua-hooks/ext/luajit/README +16 -0
  32. data/lua-hooks/ext/luajit/doc/bluequad-print.css +166 -0
  33. data/lua-hooks/ext/luajit/doc/bluequad.css +325 -0
  34. data/lua-hooks/ext/luajit/doc/changes.html +804 -0
  35. data/lua-hooks/ext/luajit/doc/contact.html +104 -0
  36. data/lua-hooks/ext/luajit/doc/ext_c_api.html +189 -0
  37. data/lua-hooks/ext/luajit/doc/ext_ffi.html +332 -0
  38. data/lua-hooks/ext/luajit/doc/ext_ffi_api.html +570 -0
  39. data/lua-hooks/ext/luajit/doc/ext_ffi_semantics.html +1261 -0
  40. data/lua-hooks/ext/luajit/doc/ext_ffi_tutorial.html +603 -0
  41. data/lua-hooks/ext/luajit/doc/ext_jit.html +201 -0
  42. data/lua-hooks/ext/luajit/doc/ext_profiler.html +365 -0
  43. data/lua-hooks/ext/luajit/doc/extensions.html +448 -0
  44. data/lua-hooks/ext/luajit/doc/faq.html +186 -0
  45. data/lua-hooks/ext/luajit/doc/img/contact.png +0 -0
  46. data/lua-hooks/ext/luajit/doc/install.html +659 -0
  47. data/lua-hooks/ext/luajit/doc/luajit.html +236 -0
  48. data/lua-hooks/ext/luajit/doc/running.html +309 -0
  49. data/lua-hooks/ext/luajit/doc/status.html +118 -0
  50. data/lua-hooks/ext/luajit/dynasm/dasm_arm.h +456 -0
  51. data/lua-hooks/ext/luajit/dynasm/dasm_arm.lua +1125 -0
  52. data/lua-hooks/ext/luajit/dynasm/dasm_arm64.h +518 -0
  53. data/lua-hooks/ext/luajit/dynasm/dasm_arm64.lua +1166 -0
  54. data/lua-hooks/ext/luajit/dynasm/dasm_mips.h +416 -0
  55. data/lua-hooks/ext/luajit/dynasm/dasm_mips.lua +953 -0
  56. data/lua-hooks/ext/luajit/dynasm/dasm_ppc.h +419 -0
  57. data/lua-hooks/ext/luajit/dynasm/dasm_ppc.lua +1919 -0
  58. data/lua-hooks/ext/luajit/dynasm/dasm_proto.h +83 -0
  59. data/lua-hooks/ext/luajit/dynasm/dasm_x64.lua +12 -0
  60. data/lua-hooks/ext/luajit/dynasm/dasm_x86.h +471 -0
  61. data/lua-hooks/ext/luajit/dynasm/dasm_x86.lua +1945 -0
  62. data/lua-hooks/ext/luajit/dynasm/dynasm.lua +1094 -0
  63. data/lua-hooks/ext/luajit/etc/luajit.1 +88 -0
  64. data/lua-hooks/ext/luajit/etc/luajit.pc +25 -0
  65. data/lua-hooks/ext/luajit/src/Makefile +697 -0
  66. data/lua-hooks/ext/luajit/src/Makefile.dep +244 -0
  67. data/lua-hooks/ext/luajit/src/host/README +4 -0
  68. data/lua-hooks/ext/luajit/src/host/buildvm +0 -0
  69. data/lua-hooks/ext/luajit/src/host/buildvm.c +518 -0
  70. data/lua-hooks/ext/luajit/src/host/buildvm.h +105 -0
  71. data/lua-hooks/ext/luajit/src/host/buildvm.o +0 -0
  72. data/lua-hooks/ext/luajit/src/host/buildvm_arch.h +7449 -0
  73. data/lua-hooks/ext/luajit/src/host/buildvm_asm.c +345 -0
  74. data/lua-hooks/ext/luajit/src/host/buildvm_asm.o +0 -0
  75. data/lua-hooks/ext/luajit/src/host/buildvm_fold.c +229 -0
  76. data/lua-hooks/ext/luajit/src/host/buildvm_fold.o +0 -0
  77. data/lua-hooks/ext/luajit/src/host/buildvm_lib.c +457 -0
  78. data/lua-hooks/ext/luajit/src/host/buildvm_lib.o +0 -0
  79. data/lua-hooks/ext/luajit/src/host/buildvm_libbc.h +45 -0
  80. data/lua-hooks/ext/luajit/src/host/buildvm_peobj.c +368 -0
  81. data/lua-hooks/ext/luajit/src/host/buildvm_peobj.o +0 -0
  82. data/lua-hooks/ext/luajit/src/host/genlibbc.lua +197 -0
  83. data/lua-hooks/ext/luajit/src/host/genminilua.lua +428 -0
  84. data/lua-hooks/ext/luajit/src/host/minilua +0 -0
  85. data/lua-hooks/ext/luajit/src/host/minilua.c +7770 -0
  86. data/lua-hooks/ext/luajit/src/host/minilua.o +0 -0
  87. data/lua-hooks/ext/luajit/src/jit/bc.lua +190 -0
  88. data/lua-hooks/ext/luajit/src/jit/bcsave.lua +661 -0
  89. data/lua-hooks/ext/luajit/src/jit/dis_arm.lua +689 -0
  90. data/lua-hooks/ext/luajit/src/jit/dis_mips.lua +428 -0
  91. data/lua-hooks/ext/luajit/src/jit/dis_mipsel.lua +17 -0
  92. data/lua-hooks/ext/luajit/src/jit/dis_ppc.lua +591 -0
  93. data/lua-hooks/ext/luajit/src/jit/dis_x64.lua +17 -0
  94. data/lua-hooks/ext/luajit/src/jit/dis_x86.lua +838 -0
  95. data/lua-hooks/ext/luajit/src/jit/dump.lua +706 -0
  96. data/lua-hooks/ext/luajit/src/jit/p.lua +310 -0
  97. data/lua-hooks/ext/luajit/src/jit/v.lua +170 -0
  98. data/lua-hooks/ext/luajit/src/jit/vmdef.lua +362 -0
  99. data/lua-hooks/ext/luajit/src/jit/zone.lua +45 -0
  100. data/lua-hooks/ext/{lua → luajit/src}/lauxlib.h +10 -17
  101. data/lua-hooks/ext/luajit/src/lib_aux.c +356 -0
  102. data/lua-hooks/ext/luajit/src/lib_aux.o +0 -0
  103. data/lua-hooks/ext/luajit/src/lib_aux_dyn.o +0 -0
  104. data/lua-hooks/ext/luajit/src/lib_base.c +664 -0
  105. data/lua-hooks/ext/luajit/src/lib_base.o +0 -0
  106. data/lua-hooks/ext/luajit/src/lib_base_dyn.o +0 -0
  107. data/lua-hooks/ext/luajit/src/lib_bit.c +180 -0
  108. data/lua-hooks/ext/luajit/src/lib_bit.o +0 -0
  109. data/lua-hooks/ext/luajit/src/lib_bit_dyn.o +0 -0
  110. data/lua-hooks/ext/luajit/src/lib_debug.c +405 -0
  111. data/lua-hooks/ext/luajit/src/lib_debug.o +0 -0
  112. data/lua-hooks/ext/luajit/src/lib_debug_dyn.o +0 -0
  113. data/lua-hooks/ext/luajit/src/lib_ffi.c +872 -0
  114. data/lua-hooks/ext/luajit/src/lib_ffi.o +0 -0
  115. data/lua-hooks/ext/luajit/src/lib_ffi_dyn.o +0 -0
  116. data/lua-hooks/ext/luajit/src/lib_init.c +55 -0
  117. data/lua-hooks/ext/luajit/src/lib_init.o +0 -0
  118. data/lua-hooks/ext/luajit/src/lib_init_dyn.o +0 -0
  119. data/lua-hooks/ext/luajit/src/lib_io.c +541 -0
  120. data/lua-hooks/ext/luajit/src/lib_io.o +0 -0
  121. data/lua-hooks/ext/luajit/src/lib_io_dyn.o +0 -0
  122. data/lua-hooks/ext/luajit/src/lib_jit.c +767 -0
  123. data/lua-hooks/ext/luajit/src/lib_jit.o +0 -0
  124. data/lua-hooks/ext/luajit/src/lib_jit_dyn.o +0 -0
  125. data/lua-hooks/ext/luajit/src/lib_math.c +230 -0
  126. data/lua-hooks/ext/luajit/src/lib_math.o +0 -0
  127. data/lua-hooks/ext/luajit/src/lib_math_dyn.o +0 -0
  128. data/lua-hooks/ext/luajit/src/lib_os.c +292 -0
  129. data/lua-hooks/ext/luajit/src/lib_os.o +0 -0
  130. data/lua-hooks/ext/luajit/src/lib_os_dyn.o +0 -0
  131. data/lua-hooks/ext/luajit/src/lib_package.c +610 -0
  132. data/lua-hooks/ext/luajit/src/lib_package.o +0 -0
  133. data/lua-hooks/ext/luajit/src/lib_package_dyn.o +0 -0
  134. data/lua-hooks/ext/luajit/src/lib_string.c +752 -0
  135. data/lua-hooks/ext/luajit/src/lib_string.o +0 -0
  136. data/lua-hooks/ext/luajit/src/lib_string_dyn.o +0 -0
  137. data/lua-hooks/ext/luajit/src/lib_table.c +307 -0
  138. data/lua-hooks/ext/luajit/src/lib_table.o +0 -0
  139. data/lua-hooks/ext/luajit/src/lib_table_dyn.o +0 -0
  140. data/lua-hooks/ext/luajit/src/libluajit.a +0 -0
  141. data/lua-hooks/ext/luajit/src/libluajit.so +0 -0
  142. data/lua-hooks/ext/luajit/src/lj.supp +26 -0
  143. data/lua-hooks/ext/luajit/src/lj_alloc.c +1398 -0
  144. data/lua-hooks/ext/luajit/src/lj_alloc.h +17 -0
  145. data/lua-hooks/ext/luajit/src/lj_alloc.o +0 -0
  146. data/lua-hooks/ext/luajit/src/lj_alloc_dyn.o +0 -0
  147. data/lua-hooks/ext/luajit/src/lj_api.c +1210 -0
  148. data/lua-hooks/ext/luajit/src/lj_api.o +0 -0
  149. data/lua-hooks/ext/luajit/src/lj_api_dyn.o +0 -0
  150. data/lua-hooks/ext/luajit/src/lj_arch.h +509 -0
  151. data/lua-hooks/ext/luajit/src/lj_asm.c +2278 -0
  152. data/lua-hooks/ext/luajit/src/lj_asm.h +17 -0
  153. data/lua-hooks/ext/luajit/src/lj_asm.o +0 -0
  154. data/lua-hooks/ext/luajit/src/lj_asm_arm.h +2217 -0
  155. data/lua-hooks/ext/luajit/src/lj_asm_dyn.o +0 -0
  156. data/lua-hooks/ext/luajit/src/lj_asm_mips.h +1833 -0
  157. data/lua-hooks/ext/luajit/src/lj_asm_ppc.h +2015 -0
  158. data/lua-hooks/ext/luajit/src/lj_asm_x86.h +2634 -0
  159. data/lua-hooks/ext/luajit/src/lj_bc.c +14 -0
  160. data/lua-hooks/ext/luajit/src/lj_bc.h +265 -0
  161. data/lua-hooks/ext/luajit/src/lj_bc.o +0 -0
  162. data/lua-hooks/ext/luajit/src/lj_bc_dyn.o +0 -0
  163. data/lua-hooks/ext/luajit/src/lj_bcdef.h +220 -0
  164. data/lua-hooks/ext/luajit/src/lj_bcdump.h +68 -0
  165. data/lua-hooks/ext/luajit/src/lj_bcread.c +457 -0
  166. data/lua-hooks/ext/luajit/src/lj_bcread.o +0 -0
  167. data/lua-hooks/ext/luajit/src/lj_bcread_dyn.o +0 -0
  168. data/lua-hooks/ext/luajit/src/lj_bcwrite.c +361 -0
  169. data/lua-hooks/ext/luajit/src/lj_bcwrite.o +0 -0
  170. data/lua-hooks/ext/luajit/src/lj_bcwrite_dyn.o +0 -0
  171. data/lua-hooks/ext/luajit/src/lj_buf.c +234 -0
  172. data/lua-hooks/ext/luajit/src/lj_buf.h +105 -0
  173. data/lua-hooks/ext/luajit/src/lj_buf.o +0 -0
  174. data/lua-hooks/ext/luajit/src/lj_buf_dyn.o +0 -0
  175. data/lua-hooks/ext/luajit/src/lj_carith.c +429 -0
  176. data/lua-hooks/ext/luajit/src/lj_carith.h +37 -0
  177. data/lua-hooks/ext/luajit/src/lj_carith.o +0 -0
  178. data/lua-hooks/ext/luajit/src/lj_carith_dyn.o +0 -0
  179. data/lua-hooks/ext/luajit/src/lj_ccall.c +984 -0
  180. data/lua-hooks/ext/luajit/src/lj_ccall.h +178 -0
  181. data/lua-hooks/ext/luajit/src/lj_ccall.o +0 -0
  182. data/lua-hooks/ext/luajit/src/lj_ccall_dyn.o +0 -0
  183. data/lua-hooks/ext/luajit/src/lj_ccallback.c +712 -0
  184. data/lua-hooks/ext/luajit/src/lj_ccallback.h +25 -0
  185. data/lua-hooks/ext/luajit/src/lj_ccallback.o +0 -0
  186. data/lua-hooks/ext/luajit/src/lj_ccallback_dyn.o +0 -0
  187. data/lua-hooks/ext/luajit/src/lj_cconv.c +752 -0
  188. data/lua-hooks/ext/luajit/src/lj_cconv.h +70 -0
  189. data/lua-hooks/ext/luajit/src/lj_cconv.o +0 -0
  190. data/lua-hooks/ext/luajit/src/lj_cconv_dyn.o +0 -0
  191. data/lua-hooks/ext/luajit/src/lj_cdata.c +288 -0
  192. data/lua-hooks/ext/luajit/src/lj_cdata.h +76 -0
  193. data/lua-hooks/ext/luajit/src/lj_cdata.o +0 -0
  194. data/lua-hooks/ext/luajit/src/lj_cdata_dyn.o +0 -0
  195. data/lua-hooks/ext/luajit/src/lj_char.c +43 -0
  196. data/lua-hooks/ext/luajit/src/lj_char.h +42 -0
  197. data/lua-hooks/ext/luajit/src/lj_char.o +0 -0
  198. data/lua-hooks/ext/luajit/src/lj_char_dyn.o +0 -0
  199. data/lua-hooks/ext/luajit/src/lj_clib.c +418 -0
  200. data/lua-hooks/ext/luajit/src/lj_clib.h +29 -0
  201. data/lua-hooks/ext/luajit/src/lj_clib.o +0 -0
  202. data/lua-hooks/ext/luajit/src/lj_clib_dyn.o +0 -0
  203. data/lua-hooks/ext/luajit/src/lj_cparse.c +1862 -0
  204. data/lua-hooks/ext/luajit/src/lj_cparse.h +65 -0
  205. data/lua-hooks/ext/luajit/src/lj_cparse.o +0 -0
  206. data/lua-hooks/ext/luajit/src/lj_cparse_dyn.o +0 -0
  207. data/lua-hooks/ext/luajit/src/lj_crecord.c +1834 -0
  208. data/lua-hooks/ext/luajit/src/lj_crecord.h +38 -0
  209. data/lua-hooks/ext/luajit/src/lj_crecord.o +0 -0
  210. data/lua-hooks/ext/luajit/src/lj_crecord_dyn.o +0 -0
  211. data/lua-hooks/ext/luajit/src/lj_ctype.c +635 -0
  212. data/lua-hooks/ext/luajit/src/lj_ctype.h +461 -0
  213. data/lua-hooks/ext/luajit/src/lj_ctype.o +0 -0
  214. data/lua-hooks/ext/luajit/src/lj_ctype_dyn.o +0 -0
  215. data/lua-hooks/ext/luajit/src/lj_debug.c +699 -0
  216. data/lua-hooks/ext/luajit/src/lj_debug.h +65 -0
  217. data/lua-hooks/ext/luajit/src/lj_debug.o +0 -0
  218. data/lua-hooks/ext/luajit/src/lj_debug_dyn.o +0 -0
  219. data/lua-hooks/ext/luajit/src/lj_def.h +365 -0
  220. data/lua-hooks/ext/luajit/src/lj_dispatch.c +557 -0
  221. data/lua-hooks/ext/luajit/src/lj_dispatch.h +138 -0
  222. data/lua-hooks/ext/luajit/src/lj_dispatch.o +0 -0
  223. data/lua-hooks/ext/luajit/src/lj_dispatch_dyn.o +0 -0
  224. data/lua-hooks/ext/luajit/src/lj_emit_arm.h +356 -0
  225. data/lua-hooks/ext/luajit/src/lj_emit_mips.h +211 -0
  226. data/lua-hooks/ext/luajit/src/lj_emit_ppc.h +238 -0
  227. data/lua-hooks/ext/luajit/src/lj_emit_x86.h +462 -0
  228. data/lua-hooks/ext/luajit/src/lj_err.c +794 -0
  229. data/lua-hooks/ext/luajit/src/lj_err.h +41 -0
  230. data/lua-hooks/ext/luajit/src/lj_err.o +0 -0
  231. data/lua-hooks/ext/luajit/src/lj_err_dyn.o +0 -0
  232. data/lua-hooks/ext/luajit/src/lj_errmsg.h +190 -0
  233. data/lua-hooks/ext/luajit/src/lj_ff.h +18 -0
  234. data/lua-hooks/ext/luajit/src/lj_ffdef.h +209 -0
  235. data/lua-hooks/ext/luajit/src/lj_ffrecord.c +1247 -0
  236. data/lua-hooks/ext/luajit/src/lj_ffrecord.h +24 -0
  237. data/lua-hooks/ext/luajit/src/lj_ffrecord.o +0 -0
  238. data/lua-hooks/ext/luajit/src/lj_ffrecord_dyn.o +0 -0
  239. data/lua-hooks/ext/luajit/src/lj_folddef.h +1138 -0
  240. data/lua-hooks/ext/luajit/src/lj_frame.h +259 -0
  241. data/lua-hooks/ext/luajit/src/lj_func.c +185 -0
  242. data/lua-hooks/ext/luajit/src/lj_func.h +24 -0
  243. data/lua-hooks/ext/luajit/src/lj_func.o +0 -0
  244. data/lua-hooks/ext/luajit/src/lj_func_dyn.o +0 -0
  245. data/lua-hooks/ext/luajit/src/lj_gc.c +845 -0
  246. data/lua-hooks/ext/luajit/src/lj_gc.h +134 -0
  247. data/lua-hooks/ext/luajit/src/lj_gc.o +0 -0
  248. data/lua-hooks/ext/luajit/src/lj_gc_dyn.o +0 -0
  249. data/lua-hooks/ext/luajit/src/lj_gdbjit.c +787 -0
  250. data/lua-hooks/ext/luajit/src/lj_gdbjit.h +22 -0
  251. data/lua-hooks/ext/luajit/src/lj_gdbjit.o +0 -0
  252. data/lua-hooks/ext/luajit/src/lj_gdbjit_dyn.o +0 -0
  253. data/lua-hooks/ext/luajit/src/lj_ir.c +505 -0
  254. data/lua-hooks/ext/luajit/src/lj_ir.h +577 -0
  255. data/lua-hooks/ext/luajit/src/lj_ir.o +0 -0
  256. data/lua-hooks/ext/luajit/src/lj_ir_dyn.o +0 -0
  257. data/lua-hooks/ext/luajit/src/lj_ircall.h +321 -0
  258. data/lua-hooks/ext/luajit/src/lj_iropt.h +161 -0
  259. data/lua-hooks/ext/luajit/src/lj_jit.h +440 -0
  260. data/lua-hooks/ext/luajit/src/lj_lex.c +482 -0
  261. data/lua-hooks/ext/luajit/src/lj_lex.h +86 -0
  262. data/lua-hooks/ext/luajit/src/lj_lex.o +0 -0
  263. data/lua-hooks/ext/luajit/src/lj_lex_dyn.o +0 -0
  264. data/lua-hooks/ext/luajit/src/lj_lib.c +303 -0
  265. data/lua-hooks/ext/luajit/src/lj_lib.h +115 -0
  266. data/lua-hooks/ext/luajit/src/lj_lib.o +0 -0
  267. data/lua-hooks/ext/luajit/src/lj_lib_dyn.o +0 -0
  268. data/lua-hooks/ext/luajit/src/lj_libdef.h +414 -0
  269. data/lua-hooks/ext/luajit/src/lj_load.c +168 -0
  270. data/lua-hooks/ext/luajit/src/lj_load.o +0 -0
  271. data/lua-hooks/ext/luajit/src/lj_load_dyn.o +0 -0
  272. data/lua-hooks/ext/luajit/src/lj_mcode.c +386 -0
  273. data/lua-hooks/ext/luajit/src/lj_mcode.h +30 -0
  274. data/lua-hooks/ext/luajit/src/lj_mcode.o +0 -0
  275. data/lua-hooks/ext/luajit/src/lj_mcode_dyn.o +0 -0
  276. data/lua-hooks/ext/luajit/src/lj_meta.c +477 -0
  277. data/lua-hooks/ext/luajit/src/lj_meta.h +38 -0
  278. data/lua-hooks/ext/luajit/src/lj_meta.o +0 -0
  279. data/lua-hooks/ext/luajit/src/lj_meta_dyn.o +0 -0
  280. data/lua-hooks/ext/luajit/src/lj_obj.c +50 -0
  281. data/lua-hooks/ext/luajit/src/lj_obj.h +976 -0
  282. data/lua-hooks/ext/luajit/src/lj_obj.o +0 -0
  283. data/lua-hooks/ext/luajit/src/lj_obj_dyn.o +0 -0
  284. data/lua-hooks/ext/luajit/src/lj_opt_dce.c +78 -0
  285. data/lua-hooks/ext/luajit/src/lj_opt_dce.o +0 -0
  286. data/lua-hooks/ext/luajit/src/lj_opt_dce_dyn.o +0 -0
  287. data/lua-hooks/ext/luajit/src/lj_opt_fold.c +2488 -0
  288. data/lua-hooks/ext/luajit/src/lj_opt_fold.o +0 -0
  289. data/lua-hooks/ext/luajit/src/lj_opt_fold_dyn.o +0 -0
  290. data/lua-hooks/ext/luajit/src/lj_opt_loop.c +449 -0
  291. data/lua-hooks/ext/luajit/src/lj_opt_loop.o +0 -0
  292. data/lua-hooks/ext/luajit/src/lj_opt_loop_dyn.o +0 -0
  293. data/lua-hooks/ext/luajit/src/lj_opt_mem.c +935 -0
  294. data/lua-hooks/ext/luajit/src/lj_opt_mem.o +0 -0
  295. data/lua-hooks/ext/luajit/src/lj_opt_mem_dyn.o +0 -0
  296. data/lua-hooks/ext/luajit/src/lj_opt_narrow.c +652 -0
  297. data/lua-hooks/ext/luajit/src/lj_opt_narrow.o +0 -0
  298. data/lua-hooks/ext/luajit/src/lj_opt_narrow_dyn.o +0 -0
  299. data/lua-hooks/ext/luajit/src/lj_opt_sink.c +245 -0
  300. data/lua-hooks/ext/luajit/src/lj_opt_sink.o +0 -0
  301. data/lua-hooks/ext/luajit/src/lj_opt_sink_dyn.o +0 -0
  302. data/lua-hooks/ext/luajit/src/lj_opt_split.c +856 -0
  303. data/lua-hooks/ext/luajit/src/lj_opt_split.o +0 -0
  304. data/lua-hooks/ext/luajit/src/lj_opt_split_dyn.o +0 -0
  305. data/lua-hooks/ext/luajit/src/lj_parse.c +2725 -0
  306. data/lua-hooks/ext/luajit/src/lj_parse.h +18 -0
  307. data/lua-hooks/ext/luajit/src/lj_parse.o +0 -0
  308. data/lua-hooks/ext/luajit/src/lj_parse_dyn.o +0 -0
  309. data/lua-hooks/ext/luajit/src/lj_profile.c +368 -0
  310. data/lua-hooks/ext/luajit/src/lj_profile.h +21 -0
  311. data/lua-hooks/ext/luajit/src/lj_profile.o +0 -0
  312. data/lua-hooks/ext/luajit/src/lj_profile_dyn.o +0 -0
  313. data/lua-hooks/ext/luajit/src/lj_recdef.h +270 -0
  314. data/lua-hooks/ext/luajit/src/lj_record.c +2554 -0
  315. data/lua-hooks/ext/luajit/src/lj_record.h +45 -0
  316. data/lua-hooks/ext/luajit/src/lj_record.o +0 -0
  317. data/lua-hooks/ext/luajit/src/lj_record_dyn.o +0 -0
  318. data/lua-hooks/ext/luajit/src/lj_snap.c +870 -0
  319. data/lua-hooks/ext/luajit/src/lj_snap.h +34 -0
  320. data/lua-hooks/ext/luajit/src/lj_snap.o +0 -0
  321. data/lua-hooks/ext/luajit/src/lj_snap_dyn.o +0 -0
  322. data/lua-hooks/ext/luajit/src/lj_state.c +300 -0
  323. data/lua-hooks/ext/luajit/src/lj_state.h +35 -0
  324. data/lua-hooks/ext/luajit/src/lj_state.o +0 -0
  325. data/lua-hooks/ext/luajit/src/lj_state_dyn.o +0 -0
  326. data/lua-hooks/ext/luajit/src/lj_str.c +197 -0
  327. data/lua-hooks/ext/luajit/src/lj_str.h +27 -0
  328. data/lua-hooks/ext/luajit/src/lj_str.o +0 -0
  329. data/lua-hooks/ext/luajit/src/lj_str_dyn.o +0 -0
  330. data/lua-hooks/ext/luajit/src/lj_strfmt.c +554 -0
  331. data/lua-hooks/ext/luajit/src/lj_strfmt.h +125 -0
  332. data/lua-hooks/ext/luajit/src/lj_strfmt.o +0 -0
  333. data/lua-hooks/ext/luajit/src/lj_strfmt_dyn.o +0 -0
  334. data/lua-hooks/ext/luajit/src/lj_strscan.c +547 -0
  335. data/lua-hooks/ext/luajit/src/lj_strscan.h +39 -0
  336. data/lua-hooks/ext/luajit/src/lj_strscan.o +0 -0
  337. data/lua-hooks/ext/luajit/src/lj_strscan_dyn.o +0 -0
  338. data/lua-hooks/ext/luajit/src/lj_tab.c +666 -0
  339. data/lua-hooks/ext/luajit/src/lj_tab.h +73 -0
  340. data/lua-hooks/ext/luajit/src/lj_tab.o +0 -0
  341. data/lua-hooks/ext/luajit/src/lj_tab_dyn.o +0 -0
  342. data/lua-hooks/ext/luajit/src/lj_target.h +164 -0
  343. data/lua-hooks/ext/luajit/src/lj_target_arm.h +270 -0
  344. data/lua-hooks/ext/luajit/src/lj_target_arm64.h +97 -0
  345. data/lua-hooks/ext/luajit/src/lj_target_mips.h +260 -0
  346. data/lua-hooks/ext/luajit/src/lj_target_ppc.h +280 -0
  347. data/lua-hooks/ext/luajit/src/lj_target_x86.h +345 -0
  348. data/lua-hooks/ext/luajit/src/lj_trace.c +859 -0
  349. data/lua-hooks/ext/luajit/src/lj_trace.h +54 -0
  350. data/lua-hooks/ext/luajit/src/lj_trace.o +0 -0
  351. data/lua-hooks/ext/luajit/src/lj_trace_dyn.o +0 -0
  352. data/lua-hooks/ext/luajit/src/lj_traceerr.h +63 -0
  353. data/lua-hooks/ext/luajit/src/lj_udata.c +34 -0
  354. data/lua-hooks/ext/luajit/src/lj_udata.h +14 -0
  355. data/lua-hooks/ext/luajit/src/lj_udata.o +0 -0
  356. data/lua-hooks/ext/luajit/src/lj_udata_dyn.o +0 -0
  357. data/lua-hooks/ext/luajit/src/lj_vm.S +2730 -0
  358. data/lua-hooks/ext/luajit/src/lj_vm.h +114 -0
  359. data/lua-hooks/ext/luajit/src/lj_vm.o +0 -0
  360. data/lua-hooks/ext/luajit/src/lj_vm_dyn.o +0 -0
  361. data/lua-hooks/ext/luajit/src/lj_vmevent.c +58 -0
  362. data/lua-hooks/ext/luajit/src/lj_vmevent.h +59 -0
  363. data/lua-hooks/ext/luajit/src/lj_vmevent.o +0 -0
  364. data/lua-hooks/ext/luajit/src/lj_vmevent_dyn.o +0 -0
  365. data/lua-hooks/ext/luajit/src/lj_vmmath.c +152 -0
  366. data/lua-hooks/ext/luajit/src/lj_vmmath.o +0 -0
  367. data/lua-hooks/ext/luajit/src/lj_vmmath_dyn.o +0 -0
  368. data/lua-hooks/ext/luajit/src/ljamalg.c +96 -0
  369. data/lua-hooks/ext/{lua → luajit/src}/lua.h +12 -7
  370. data/lua-hooks/ext/luajit/src/lua.hpp +9 -0
  371. data/lua-hooks/ext/luajit/src/luaconf.h +156 -0
  372. data/lua-hooks/ext/luajit/src/luajit +0 -0
  373. data/lua-hooks/ext/luajit/src/luajit.c +570 -0
  374. data/lua-hooks/ext/luajit/src/luajit.h +79 -0
  375. data/lua-hooks/ext/luajit/src/luajit.o +0 -0
  376. data/lua-hooks/ext/luajit/src/lualib.h +43 -0
  377. data/lua-hooks/ext/luajit/src/msvcbuild.bat +114 -0
  378. data/lua-hooks/ext/luajit/src/ps4build.bat +103 -0
  379. data/lua-hooks/ext/luajit/src/psvitabuild.bat +93 -0
  380. data/lua-hooks/ext/luajit/src/vm_arm.dasc +4585 -0
  381. data/lua-hooks/ext/luajit/src/vm_arm64.dasc +3764 -0
  382. data/lua-hooks/ext/luajit/src/vm_mips.dasc +4355 -0
  383. data/lua-hooks/ext/luajit/src/vm_ppc.dasc +5252 -0
  384. data/lua-hooks/ext/luajit/src/vm_x64.dasc +4902 -0
  385. data/lua-hooks/ext/luajit/src/vm_x86.dasc +5710 -0
  386. data/lua-hooks/ext/luajit/src/xb1build.bat +101 -0
  387. data/lua-hooks/ext/luajit/src/xedkbuild.bat +92 -0
  388. data/lua-hooks/ext/luautf8/lutf8lib.c +3 -3
  389. data/lua-hooks/lib/boot.lua +37 -2
  390. metadata +372 -69
  391. data/lua-hooks/ext/bitop/README +0 -22
  392. data/lua-hooks/ext/bitop/bit.c +0 -189
  393. data/lua-hooks/ext/extconf.rb +0 -38
  394. data/lua-hooks/ext/lua/COPYRIGHT +0 -34
  395. data/lua-hooks/ext/lua/lapi.c +0 -1087
  396. data/lua-hooks/ext/lua/lapi.h +0 -16
  397. data/lua-hooks/ext/lua/lauxlib.c +0 -652
  398. data/lua-hooks/ext/lua/lbaselib.c +0 -659
  399. data/lua-hooks/ext/lua/lcode.c +0 -831
  400. data/lua-hooks/ext/lua/lcode.h +0 -76
  401. data/lua-hooks/ext/lua/ldblib.c +0 -398
  402. data/lua-hooks/ext/lua/ldebug.c +0 -638
  403. data/lua-hooks/ext/lua/ldebug.h +0 -33
  404. data/lua-hooks/ext/lua/ldo.c +0 -519
  405. data/lua-hooks/ext/lua/ldo.h +0 -57
  406. data/lua-hooks/ext/lua/ldump.c +0 -164
  407. data/lua-hooks/ext/lua/lfunc.c +0 -174
  408. data/lua-hooks/ext/lua/lfunc.h +0 -34
  409. data/lua-hooks/ext/lua/lgc.c +0 -710
  410. data/lua-hooks/ext/lua/lgc.h +0 -110
  411. data/lua-hooks/ext/lua/linit.c +0 -38
  412. data/lua-hooks/ext/lua/liolib.c +0 -556
  413. data/lua-hooks/ext/lua/llex.c +0 -463
  414. data/lua-hooks/ext/lua/llex.h +0 -81
  415. data/lua-hooks/ext/lua/llimits.h +0 -128
  416. data/lua-hooks/ext/lua/lmathlib.c +0 -263
  417. data/lua-hooks/ext/lua/lmem.c +0 -86
  418. data/lua-hooks/ext/lua/lmem.h +0 -49
  419. data/lua-hooks/ext/lua/loadlib.c +0 -705
  420. data/lua-hooks/ext/lua/loadlib_rel.c +0 -760
  421. data/lua-hooks/ext/lua/lobject.c +0 -214
  422. data/lua-hooks/ext/lua/lobject.h +0 -381
  423. data/lua-hooks/ext/lua/lopcodes.c +0 -102
  424. data/lua-hooks/ext/lua/lopcodes.h +0 -268
  425. data/lua-hooks/ext/lua/loslib.c +0 -243
  426. data/lua-hooks/ext/lua/lparser.c +0 -1339
  427. data/lua-hooks/ext/lua/lparser.h +0 -82
  428. data/lua-hooks/ext/lua/lstate.c +0 -214
  429. data/lua-hooks/ext/lua/lstate.h +0 -169
  430. data/lua-hooks/ext/lua/lstring.c +0 -111
  431. data/lua-hooks/ext/lua/lstring.h +0 -31
  432. data/lua-hooks/ext/lua/lstrlib.c +0 -871
  433. data/lua-hooks/ext/lua/ltable.c +0 -588
  434. data/lua-hooks/ext/lua/ltable.h +0 -40
  435. data/lua-hooks/ext/lua/ltablib.c +0 -287
  436. data/lua-hooks/ext/lua/ltm.c +0 -75
  437. data/lua-hooks/ext/lua/ltm.h +0 -54
  438. data/lua-hooks/ext/lua/lua.c +0 -392
  439. data/lua-hooks/ext/lua/lua.def +0 -131
  440. data/lua-hooks/ext/lua/lua.rc +0 -28
  441. data/lua-hooks/ext/lua/lua_dll.rc +0 -26
  442. data/lua-hooks/ext/lua/luac.c +0 -200
  443. data/lua-hooks/ext/lua/luac.rc +0 -1
  444. data/lua-hooks/ext/lua/luaconf.h +0 -763
  445. data/lua-hooks/ext/lua/luaconf.h.in +0 -724
  446. data/lua-hooks/ext/lua/luaconf.h.orig +0 -763
  447. data/lua-hooks/ext/lua/lualib.h +0 -53
  448. data/lua-hooks/ext/lua/lundump.c +0 -227
  449. data/lua-hooks/ext/lua/lundump.h +0 -36
  450. data/lua-hooks/ext/lua/lvm.c +0 -767
  451. data/lua-hooks/ext/lua/lvm.h +0 -36
  452. data/lua-hooks/ext/lua/lzio.c +0 -82
  453. data/lua-hooks/ext/lua/lzio.h +0 -67
  454. data/lua-hooks/ext/lua/print.c +0 -227
Binary file
@@ -4,12 +4,12 @@
4
4
  #include <string.h>
5
5
  #include <assert.h>
6
6
 
7
- #include "lua/lua.h"
8
- #include "lua/lauxlib.h"
7
+ #include "lua.h"
8
+ #include "lauxlib.h"
9
9
 
10
10
  #define LUACMSGPACK_NAME "cmsgpack"
11
11
  #define LUACMSGPACK_SAFE_NAME "cmsgpack_safe"
12
- #define LUACMSGPACK_VERSION "lua-cmsgpack 0.4.0"
12
+ #define LUACMSGPACK_VERSION "lua-cmsgpack 0.4.0.1"
13
13
  #define LUACMSGPACK_COPYRIGHT "Copyright (C) 2012, Salvatore Sanfilippo"
14
14
  #define LUACMSGPACK_DESCRIPTION "MessagePack C implementation for Lua"
15
15
 
@@ -55,6 +55,9 @@
55
55
  * 20-Feb-2012 (ver 0.3.0): Module renamed lua-cmsgpack (was lua-msgpack).
56
56
  * 04-Apr-2014 (ver 0.3.1): Lua 5.2 support and minor bug fix.
57
57
  * 07-Apr-2014 (ver 0.4.0): Multiple pack/unpack, lua allocator, efficiency.
58
+ *
59
+ * Immunio Changes:
60
+ * 09-2015 (ver 0.4.0.1): Add an metatable check for tables.
58
61
  * ========================================================================== */
59
62
 
60
63
  /* -------------------------- Endian conversion --------------------------------
@@ -431,6 +434,16 @@ int table_is_an_array(lua_State *L) {
431
434
 
432
435
  stacktop = lua_gettop(L);
433
436
 
437
+ if (lua_getmetatable(L, -1)) {
438
+ lua_pushliteral(L, "__is_dict");
439
+ lua_rawget(L, -2);
440
+ if (lua_isboolean(L, -1) && lua_toboolean(L, -1)) {
441
+ lua_settop(L, stacktop);
442
+ return 0;
443
+ }
444
+ lua_settop(L, stacktop);
445
+ }
446
+
434
447
  lua_pushnil(L);
435
448
  while(lua_next(L,-2)) {
436
449
  /* Stack: ... key value */
@@ -1,11 +1,18 @@
1
- #include <lua/lua.h>
2
- #include <lua/lauxlib.h>
3
-
1
+ #include "lua.h"
2
+ #include "lauxlib.h"
3
+ #ifdef LUAJIT
4
+ // For access to Luajit internals
5
+ # include "lj_obj.h"
6
+ #endif
4
7
  static void mark_object(lua_State *L, lua_State *dL, const void * parent, const char * desc);
5
8
 
6
9
  static int trace = 0;
7
10
 
8
- #define STACK_TOP ((L->top >= L->ci->top) && (trace? 0!=printf("snapshot-trace: WARNING OUT OF STACK!\n"):1))
11
+ #ifdef LUAJIT
12
+ # define STACK_TOP ((mref(L->maxstack,char) == (char *)L->top) && (trace? 0!=printf("snapshot-trace: WARNING OUT OF STACK!\n"):1))
13
+ #else
14
+ # define STACK_TOP ((L->top >= L->ci->top) && (trace? 0!=printf("snapshot-trace: WARNING OUT OF STACK!\n"):1))
15
+ #endif
9
16
  #define ISTABLE(offset) (lua_type(L, offset) == LUA_TTABLE )
10
17
  #define ISFUNCTION(offset) (lua_type(L, offset) == LUA_TFUNCTION )
11
18
  /* The default stack of 20 is too small. It's hard to imagine exceeding 200 */
@@ -233,14 +240,14 @@ mark_function(lua_State *L, lua_State *dL, const void * parent, const char *desc
233
240
  // Asserts in agent ruby
234
241
  if (mark_function_env(L,dL,t)) {
235
242
  for (i=1;;i++) {
236
- if (STACK_TOP) break;
243
+ if (STACK_TOP) break;
237
244
  const char *name = lua_getupvalue(L,-1,i);
238
245
  if (name == NULL)
239
246
  break;
240
247
  mark_object(L, dL, t, name[0] ? name : "[upvalue]");
241
248
  }
242
249
  }
243
- if (!STACK_TOP) {
250
+ if (!STACK_TOP) {
244
251
  if (lua_iscfunction(L,-1)) {
245
252
  if (i==1) {
246
253
  // light c function
@@ -307,7 +314,7 @@ mark_thread(lua_State *L, lua_State *dL, const void * parent, const char *desc)
307
314
  lua_pop(L,1);
308
315
  }
309
316
 
310
- static void
317
+ static void
311
318
  mark_object(lua_State *L, lua_State *dL, const void * parent, const char *desc) {
312
319
  if ( trace ) {
313
320
  printf("snapshot-trace: mark_object(%s)\n", desc);
@@ -0,0 +1,56 @@
1
+ ===============================================================================
2
+ LuaJIT -- a Just-In-Time Compiler for Lua. http://luajit.org/
3
+
4
+ Copyright (C) 2005-2015 Mike Pall. All rights reserved.
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in
14
+ all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ THE SOFTWARE.
23
+
24
+ [ MIT license: http://www.opensource.org/licenses/mit-license.php ]
25
+
26
+ ===============================================================================
27
+ [ LuaJIT includes code from Lua 5.1/5.2, which has this license statement: ]
28
+
29
+ Copyright (C) 1994-2012 Lua.org, PUC-Rio.
30
+
31
+ Permission is hereby granted, free of charge, to any person obtaining a copy
32
+ of this software and associated documentation files (the "Software"), to deal
33
+ in the Software without restriction, including without limitation the rights
34
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
35
+ copies of the Software, and to permit persons to whom the Software is
36
+ furnished to do so, subject to the following conditions:
37
+
38
+ The above copyright notice and this permission notice shall be included in
39
+ all copies or substantial portions of the Software.
40
+
41
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
42
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
43
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
44
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
45
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
46
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
47
+ THE SOFTWARE.
48
+
49
+ ===============================================================================
50
+ [ LuaJIT includes code from dlmalloc, which has this license statement: ]
51
+
52
+ This is a version (aka dlmalloc) of malloc/free/realloc written by
53
+ Doug Lea and released to the public domain, as explained at
54
+ http://creativecommons.org/licenses/publicdomain
55
+
56
+ ===============================================================================
@@ -0,0 +1,159 @@
1
+ ##############################################################################
2
+ # LuaJIT top level Makefile for installation. Requires GNU Make.
3
+ #
4
+ # Please read doc/install.html before changing any variables!
5
+ #
6
+ # Suitable for POSIX platforms (Linux, *BSD, OSX etc.).
7
+ # Note: src/Makefile has many more configurable options.
8
+ #
9
+ # ##### This Makefile is NOT useful for Windows! #####
10
+ # For MSVC, please follow the instructions given in src/msvcbuild.bat.
11
+ # For MinGW and Cygwin, cd to src and run make with the Makefile there.
12
+ #
13
+ # Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
14
+ ##############################################################################
15
+
16
+ MAJVER= 2
17
+ MINVER= 1
18
+ RELVER= 0
19
+ PREREL= -beta1
20
+ VERSION= $(MAJVER).$(MINVER).$(RELVER)$(PREREL)
21
+ ABIVER= 5.1
22
+
23
+ ##############################################################################
24
+ #
25
+ # Change the installation path as needed. This automatically adjusts
26
+ # the paths in src/luaconf.h, too. Note: PREFIX must be an absolute path!
27
+ #
28
+ export PREFIX= /usr/local
29
+ export MULTILIB= lib
30
+ ##############################################################################
31
+
32
+ DPREFIX= $(DESTDIR)$(PREFIX)
33
+ INSTALL_BIN= $(DPREFIX)/bin
34
+ INSTALL_LIB= $(DPREFIX)/$(MULTILIB)
35
+ INSTALL_SHARE= $(DPREFIX)/share
36
+ INSTALL_INC= $(DPREFIX)/include/luajit-$(MAJVER).$(MINVER)
37
+
38
+ INSTALL_LJLIBD= $(INSTALL_SHARE)/luajit-$(VERSION)
39
+ INSTALL_JITLIB= $(INSTALL_LJLIBD)/jit
40
+ INSTALL_LMODD= $(INSTALL_SHARE)/lua
41
+ INSTALL_LMOD= $(INSTALL_LMODD)/$(ABIVER)
42
+ INSTALL_CMODD= $(INSTALL_LIB)/lua
43
+ INSTALL_CMOD= $(INSTALL_CMODD)/$(ABIVER)
44
+ INSTALL_MAN= $(INSTALL_SHARE)/man/man1
45
+ INSTALL_PKGCONFIG= $(INSTALL_LIB)/pkgconfig
46
+
47
+ INSTALL_TNAME= luajit-$(VERSION)
48
+ INSTALL_TSYMNAME= luajit
49
+ INSTALL_ANAME= libluajit-$(ABIVER).a
50
+ INSTALL_SONAME= libluajit-$(ABIVER).so.$(MAJVER).$(MINVER).$(RELVER)
51
+ INSTALL_SOSHORT= libluajit-$(ABIVER).so
52
+ INSTALL_DYLIBNAME= libluajit-$(ABIVER).$(MAJVER).$(MINVER).$(RELVER).dylib
53
+ INSTALL_DYLIBSHORT1= libluajit-$(ABIVER).dylib
54
+ INSTALL_DYLIBSHORT2= libluajit-$(ABIVER).$(MAJVER).dylib
55
+ INSTALL_PCNAME= luajit.pc
56
+
57
+ INSTALL_STATIC= $(INSTALL_LIB)/$(INSTALL_ANAME)
58
+ INSTALL_DYN= $(INSTALL_LIB)/$(INSTALL_SONAME)
59
+ INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
60
+ INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
61
+ INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME)
62
+ INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME)
63
+ INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME)
64
+
65
+ INSTALL_DIRS= $(INSTALL_BIN) $(INSTALL_LIB) $(INSTALL_INC) $(INSTALL_MAN) \
66
+ $(INSTALL_PKGCONFIG) $(INSTALL_JITLIB) $(INSTALL_LMOD) $(INSTALL_CMOD)
67
+ UNINSTALL_DIRS= $(INSTALL_JITLIB) $(INSTALL_LJLIBD) $(INSTALL_INC) \
68
+ $(INSTALL_LMOD) $(INSTALL_LMODD) $(INSTALL_CMOD) $(INSTALL_CMODD)
69
+
70
+ RM= rm -f
71
+ MKDIR= mkdir -p
72
+ RMDIR= rmdir 2>/dev/null
73
+ SYMLINK= ln -sf
74
+ INSTALL_X= install -m 0755
75
+ INSTALL_F= install -m 0644
76
+ UNINSTALL= $(RM)
77
+ LDCONFIG= ldconfig -n
78
+ SED_PC= sed -e "s|^prefix=.*|prefix=$(PREFIX)|" \
79
+ -e "s|^multilib=.*|multilib=$(MULTILIB)|"
80
+
81
+ FILE_T= luajit
82
+ FILE_A= libluajit.a
83
+ FILE_SO= libluajit.so
84
+ FILE_MAN= luajit.1
85
+ FILE_PC= luajit.pc
86
+ FILES_INC= lua.h lualib.h lauxlib.h luaconf.h lua.hpp luajit.h
87
+ FILES_JITLIB= bc.lua bcsave.lua dump.lua p.lua v.lua zone.lua \
88
+ dis_x86.lua dis_x64.lua dis_arm.lua dis_ppc.lua \
89
+ dis_mips.lua dis_mipsel.lua vmdef.lua
90
+
91
+ ifeq (,$(findstring Windows,$(OS)))
92
+ ifeq (Darwin,$(shell uname -s))
93
+ INSTALL_SONAME= $(INSTALL_DYLIBNAME)
94
+ INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_DYLIBSHORT1)
95
+ INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_DYLIBSHORT2)
96
+ LDCONFIG= :
97
+ endif
98
+ endif
99
+
100
+ ##############################################################################
101
+
102
+ INSTALL_DEP= src/luajit
103
+
104
+ default all $(INSTALL_DEP):
105
+ @echo "==== Building LuaJIT $(VERSION) ===="
106
+ $(MAKE) -C src
107
+ @echo "==== Successfully built LuaJIT $(VERSION) ===="
108
+
109
+ install: $(INSTALL_DEP)
110
+ @echo "==== Installing LuaJIT $(VERSION) to $(PREFIX) ===="
111
+ $(MKDIR) $(INSTALL_DIRS)
112
+ cd src && $(INSTALL_X) $(FILE_T) $(INSTALL_T)
113
+ cd src && test -f $(FILE_A) && $(INSTALL_F) $(FILE_A) $(INSTALL_STATIC) || :
114
+ $(RM) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2)
115
+ cd src && test -f $(FILE_SO) && \
116
+ $(INSTALL_X) $(FILE_SO) $(INSTALL_DYN) && \
117
+ $(LDCONFIG) $(INSTALL_LIB) && \
118
+ $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \
119
+ $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || :
120
+ cd etc && $(INSTALL_F) $(FILE_MAN) $(INSTALL_MAN)
121
+ cd etc && $(SED_PC) $(FILE_PC) > $(FILE_PC).tmp && \
122
+ $(INSTALL_F) $(FILE_PC).tmp $(INSTALL_PC) && \
123
+ $(RM) $(FILE_PC).tmp
124
+ cd src && $(INSTALL_F) $(FILES_INC) $(INSTALL_INC)
125
+ cd src/jit && $(INSTALL_F) $(FILES_JITLIB) $(INSTALL_JITLIB)
126
+ @echo "==== Successfully installed LuaJIT $(VERSION) to $(PREFIX) ===="
127
+ @echo ""
128
+ @echo "Note: the development releases deliberately do NOT install a symlink for luajit"
129
+ @echo "You can do this now by running this command (with sudo):"
130
+ @echo ""
131
+ @echo " $(SYMLINK) $(INSTALL_TNAME) $(INSTALL_TSYM)"
132
+ @echo ""
133
+
134
+
135
+ uninstall:
136
+ @echo "==== Uninstalling LuaJIT $(VERSION) from $(PREFIX) ===="
137
+ $(UNINSTALL) $(INSTALL_T) $(INSTALL_STATIC) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2) $(INSTALL_MAN)/$(FILE_MAN) $(INSTALL_PC)
138
+ for file in $(FILES_JITLIB); do \
139
+ $(UNINSTALL) $(INSTALL_JITLIB)/$$file; \
140
+ done
141
+ for file in $(FILES_INC); do \
142
+ $(UNINSTALL) $(INSTALL_INC)/$$file; \
143
+ done
144
+ $(LDCONFIG) $(INSTALL_LIB)
145
+ $(RMDIR) $(UNINSTALL_DIRS) || :
146
+ @echo "==== Successfully uninstalled LuaJIT $(VERSION) from $(PREFIX) ===="
147
+
148
+ ##############################################################################
149
+
150
+ amalg:
151
+ @echo "Building LuaJIT $(VERSION)"
152
+ $(MAKE) -C src amalg
153
+
154
+ clean:
155
+ $(MAKE) -C src clean
156
+
157
+ .PHONY: all install amalg clean
158
+
159
+ ##############################################################################
@@ -0,0 +1,16 @@
1
+ README for LuaJIT 2.1.0-beta1
2
+ -----------------------------
3
+
4
+ LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language.
5
+
6
+ Project Homepage: http://luajit.org/
7
+
8
+ LuaJIT is Copyright (C) 2005-2015 Mike Pall.
9
+ LuaJIT is free software, released under the MIT license.
10
+ See full Copyright Notice in the COPYRIGHT file or in luajit.h.
11
+
12
+ Documentation for LuaJIT is available in HTML format.
13
+ Please point your favorite browser to:
14
+
15
+ doc/luajit.html
16
+
@@ -0,0 +1,166 @@
1
+ /* Copyright (C) 2004-2015 Mike Pall.
2
+ *
3
+ * You are welcome to use the general ideas of this design for your own sites.
4
+ * But please do not steal the stylesheet, the layout or the color scheme.
5
+ */
6
+ body {
7
+ font-family: serif;
8
+ font-size: 11pt;
9
+ margin: 0 3em;
10
+ padding: 0;
11
+ border: none;
12
+ }
13
+ a:link, a:visited, a:hover, a:active {
14
+ text-decoration: none;
15
+ background: transparent;
16
+ color: #0000ff;
17
+ }
18
+ h1, h2, h3 {
19
+ font-family: sans-serif;
20
+ font-weight: bold;
21
+ text-align: left;
22
+ margin: 0.5em 0;
23
+ padding: 0;
24
+ }
25
+ h1 {
26
+ font-size: 200%;
27
+ }
28
+ h2 {
29
+ font-size: 150%;
30
+ }
31
+ h3 {
32
+ font-size: 125%;
33
+ }
34
+ p {
35
+ margin: 0 0 0.5em 0;
36
+ padding: 0;
37
+ }
38
+ ul, ol {
39
+ margin: 0.5em 0;
40
+ padding: 0 0 0 2em;
41
+ }
42
+ ul {
43
+ list-style: outside square;
44
+ }
45
+ ol {
46
+ list-style: outside decimal;
47
+ }
48
+ li {
49
+ margin: 0;
50
+ padding: 0;
51
+ }
52
+ dl {
53
+ margin: 1em 0;
54
+ padding: 1em;
55
+ border: 1px solid black;
56
+ }
57
+ dt {
58
+ font-weight: bold;
59
+ margin: 0;
60
+ padding: 0;
61
+ }
62
+ dt sup {
63
+ float: right;
64
+ margin-left: 1em;
65
+ }
66
+ dd {
67
+ margin: 0.5em 0 0 2em;
68
+ padding: 0;
69
+ }
70
+ table {
71
+ table-layout: fixed;
72
+ width: 100%;
73
+ margin: 1em 0;
74
+ padding: 0;
75
+ border: 1px solid black;
76
+ border-spacing: 0;
77
+ border-collapse: collapse;
78
+ }
79
+ tr {
80
+ margin: 0;
81
+ padding: 0;
82
+ border: none;
83
+ }
84
+ td {
85
+ text-align: left;
86
+ margin: 0;
87
+ padding: 0.2em 0.5em;
88
+ border-top: 1px solid black;
89
+ border-bottom: 1px solid black;
90
+ }
91
+ tr.separate td {
92
+ border-top: double;
93
+ }
94
+ tt, pre, code, kbd, samp {
95
+ font-family: monospace;
96
+ font-size: 75%;
97
+ }
98
+ kbd {
99
+ font-weight: bolder;
100
+ }
101
+ blockquote, pre {
102
+ margin: 1em 2em;
103
+ padding: 0;
104
+ }
105
+ img {
106
+ border: none;
107
+ vertical-align: baseline;
108
+ margin: 0;
109
+ padding: 0;
110
+ }
111
+ img.left {
112
+ float: left;
113
+ margin: 0.5em 1em 0.5em 0;
114
+ }
115
+ img.right {
116
+ float: right;
117
+ margin: 0.5em 0 0.5em 1em;
118
+ }
119
+ .flush {
120
+ clear: both;
121
+ visibility: hidden;
122
+ }
123
+ .hide, .noprint, #nav {
124
+ display: none !important;
125
+ }
126
+ .pagebreak {
127
+ page-break-before: always;
128
+ }
129
+ #site {
130
+ text-align: right;
131
+ font-family: sans-serif;
132
+ font-weight: bold;
133
+ margin: 0 1em;
134
+ border-bottom: 1pt solid black;
135
+ }
136
+ #site a {
137
+ font-size: 1.2em;
138
+ }
139
+ #site a:link, #site a:visited {
140
+ text-decoration: none;
141
+ font-weight: bold;
142
+ background: transparent;
143
+ color: #ffffff;
144
+ }
145
+ #logo {
146
+ color: #ff8000;
147
+ }
148
+ #head {
149
+ clear: both;
150
+ margin: 0 1em;
151
+ }
152
+ #main {
153
+ line-height: 1.3;
154
+ text-align: justify;
155
+ margin: 1em;
156
+ }
157
+ #foot {
158
+ clear: both;
159
+ font-size: 80%;
160
+ text-align: center;
161
+ margin: 0 1.25em;
162
+ padding: 0.5em 0 0 0;
163
+ border-top: 1pt solid black;
164
+ page-break-before: avoid;
165
+ page-break-after: avoid;
166
+ }