script_core 0.2.2 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (376) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +41 -45
  3. data/.travis.yml +2 -1
  4. data/Gemfile +3 -3
  5. data/README.md +7 -1
  6. data/bootstrap.sh +2 -2
  7. data/ext/enterprise_script_service/libseccomp/.travis.yml +24 -12
  8. data/ext/enterprise_script_service/libseccomp/CHANGELOG +32 -0
  9. data/ext/enterprise_script_service/libseccomp/CONTRIBUTING.md +37 -26
  10. data/ext/enterprise_script_service/libseccomp/CREDITS +11 -0
  11. data/ext/enterprise_script_service/libseccomp/README.md +21 -1
  12. data/ext/enterprise_script_service/libseccomp/configure.ac +13 -8
  13. data/ext/enterprise_script_service/libseccomp/doc/Makefile.am +6 -0
  14. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_api_get.3 +12 -2
  15. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_arch_add.3 +38 -6
  16. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_attr_set.3 +53 -2
  17. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_export_bpf.3 +20 -2
  18. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_init.3 +9 -2
  19. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_load.3 +32 -2
  20. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_merge.3 +16 -2
  21. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_alloc.3 +113 -0
  22. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_fd.3 +1 -0
  23. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_free.3 +1 -0
  24. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_id_valid.3 +1 -0
  25. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_receive.3 +1 -0
  26. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_respond.3 +1 -0
  27. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_rule_add.3 +64 -3
  28. data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_syscall_priority.3 +18 -3
  29. data/ext/enterprise_script_service/libseccomp/include/seccomp-syscalls.h +19 -0
  30. data/ext/enterprise_script_service/libseccomp/include/seccomp.h.in +116 -0
  31. data/ext/enterprise_script_service/libseccomp/src/.gitignore +2 -0
  32. data/ext/enterprise_script_service/libseccomp/src/Makefile.am +31 -17
  33. data/ext/enterprise_script_service/libseccomp/src/api.c +254 -58
  34. data/ext/enterprise_script_service/libseccomp/src/arch-aarch64.h +1 -9
  35. data/ext/enterprise_script_service/libseccomp/src/arch-arm.c +47 -2
  36. data/ext/enterprise_script_service/libseccomp/src/arch-arm.h +1 -9
  37. data/ext/enterprise_script_service/libseccomp/src/arch-gperf-generate +40 -0
  38. data/ext/enterprise_script_service/libseccomp/src/arch-mips.c +41 -4
  39. data/ext/enterprise_script_service/libseccomp/src/arch-mips.h +2 -10
  40. data/ext/enterprise_script_service/libseccomp/src/arch-mips64.c +41 -4
  41. data/ext/enterprise_script_service/libseccomp/src/arch-mips64.h +3 -11
  42. data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32.c +41 -4
  43. data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32.h +2 -10
  44. data/ext/enterprise_script_service/libseccomp/src/arch-parisc.h +1 -10
  45. data/ext/enterprise_script_service/libseccomp/src/arch-parisc64.c +3 -3
  46. data/ext/enterprise_script_service/libseccomp/src/arch-parisc64.h +29 -0
  47. data/ext/enterprise_script_service/libseccomp/src/arch-ppc.h +1 -9
  48. data/ext/enterprise_script_service/libseccomp/src/arch-ppc64.c +606 -8
  49. data/ext/enterprise_script_service/libseccomp/src/arch-ppc64.h +2 -10
  50. data/ext/enterprise_script_service/libseccomp/src/arch-riscv64.c +31 -0
  51. data/ext/enterprise_script_service/libseccomp/src/arch-riscv64.h +22 -0
  52. data/ext/enterprise_script_service/libseccomp/src/arch-s390.c +171 -12
  53. data/ext/enterprise_script_service/libseccomp/src/arch-s390.h +1 -17
  54. data/ext/enterprise_script_service/libseccomp/src/arch-s390x.c +166 -10
  55. data/ext/enterprise_script_service/libseccomp/src/arch-s390x.h +1 -20
  56. data/ext/enterprise_script_service/libseccomp/src/arch-syscall-dump.c +8 -1
  57. data/ext/enterprise_script_service/libseccomp/src/arch-syscall-validate +359 -143
  58. data/ext/enterprise_script_service/libseccomp/src/arch-x32.c +36 -2
  59. data/ext/enterprise_script_service/libseccomp/src/arch-x32.h +2 -10
  60. data/ext/enterprise_script_service/libseccomp/src/arch-x86.c +172 -10
  61. data/ext/enterprise_script_service/libseccomp/src/arch-x86.h +1 -14
  62. data/ext/enterprise_script_service/libseccomp/src/arch-x86_64.h +1 -9
  63. data/ext/enterprise_script_service/libseccomp/src/arch.c +11 -3
  64. data/ext/enterprise_script_service/libseccomp/src/arch.h +7 -0
  65. data/ext/enterprise_script_service/libseccomp/src/db.c +268 -57
  66. data/ext/enterprise_script_service/libseccomp/src/db.h +16 -2
  67. data/ext/enterprise_script_service/libseccomp/src/gen_bpf.c +503 -148
  68. data/ext/enterprise_script_service/libseccomp/src/gen_bpf.h +2 -1
  69. data/ext/enterprise_script_service/libseccomp/src/gen_pfc.c +165 -37
  70. data/ext/enterprise_script_service/libseccomp/src/python/libseccomp.pxd +37 -1
  71. data/ext/enterprise_script_service/libseccomp/src/python/seccomp.pyx +295 -5
  72. data/ext/enterprise_script_service/libseccomp/src/syscalls.c +56 -0
  73. data/ext/enterprise_script_service/libseccomp/src/syscalls.csv +470 -0
  74. data/ext/enterprise_script_service/libseccomp/src/syscalls.h +62 -0
  75. data/ext/enterprise_script_service/libseccomp/src/syscalls.perf.template +82 -0
  76. data/ext/enterprise_script_service/libseccomp/src/system.c +196 -16
  77. data/ext/enterprise_script_service/libseccomp/src/system.h +68 -13
  78. data/ext/enterprise_script_service/libseccomp/tests/.gitignore +10 -2
  79. data/ext/enterprise_script_service/libseccomp/tests/06-sim-actions.tests +1 -1
  80. data/ext/enterprise_script_service/libseccomp/tests/11-basic-basic_errors.c +5 -5
  81. data/ext/enterprise_script_service/libseccomp/tests/13-basic-attrs.c +35 -1
  82. data/ext/enterprise_script_service/libseccomp/tests/13-basic-attrs.py +10 -1
  83. data/ext/enterprise_script_service/libseccomp/tests/15-basic-resolver.c +4 -3
  84. data/ext/enterprise_script_service/libseccomp/tests/16-sim-arch_basic.c +12 -0
  85. data/ext/enterprise_script_service/libseccomp/tests/16-sim-arch_basic.py +1 -0
  86. data/ext/enterprise_script_service/libseccomp/tests/{18-sim-basic_whitelist.c → 18-sim-basic_allowlist.c} +0 -0
  87. data/ext/enterprise_script_service/libseccomp/tests/{18-sim-basic_whitelist.py → 18-sim-basic_allowlist.py} +0 -0
  88. data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_allowlist.tests +32 -0
  89. data/ext/enterprise_script_service/libseccomp/tests/23-sim-arch_all_le_basic.c +3 -0
  90. data/ext/enterprise_script_service/libseccomp/tests/23-sim-arch_all_le_basic.py +1 -0
  91. data/ext/enterprise_script_service/libseccomp/tests/30-sim-socket_syscalls.c +3 -0
  92. data/ext/enterprise_script_service/libseccomp/tests/30-sim-socket_syscalls.py +1 -0
  93. data/ext/enterprise_script_service/libseccomp/tests/30-sim-socket_syscalls.tests +33 -17
  94. data/ext/enterprise_script_service/libseccomp/tests/{34-sim-basic_blacklist.c → 34-sim-basic_denylist.c} +0 -0
  95. data/ext/enterprise_script_service/libseccomp/tests/{34-sim-basic_blacklist.py → 34-sim-basic_denylist.py} +0 -0
  96. data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_denylist.tests +32 -0
  97. data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.c +3 -0
  98. data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.py +1 -0
  99. data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.tests +25 -25
  100. data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.c +24 -3
  101. data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.py +16 -1
  102. data/ext/enterprise_script_service/libseccomp/tests/47-live-kill_process.c +3 -3
  103. data/ext/enterprise_script_service/libseccomp/tests/51-live-user_notification.c +112 -0
  104. data/ext/enterprise_script_service/libseccomp/tests/51-live-user_notification.py +60 -0
  105. data/ext/enterprise_script_service/libseccomp/tests/51-live-user_notification.tests +11 -0
  106. data/ext/enterprise_script_service/libseccomp/tests/52-basic-load.c +48 -0
  107. data/ext/enterprise_script_service/libseccomp/tests/52-basic-load.py +38 -0
  108. data/ext/enterprise_script_service/libseccomp/tests/52-basic-load.tests +11 -0
  109. data/ext/enterprise_script_service/libseccomp/tests/53-sim-binary_tree.c +156 -0
  110. data/ext/enterprise_script_service/libseccomp/tests/53-sim-binary_tree.py +95 -0
  111. data/ext/enterprise_script_service/libseccomp/tests/53-sim-binary_tree.tests +65 -0
  112. data/ext/enterprise_script_service/libseccomp/tests/54-live-binary_tree.c +128 -0
  113. data/ext/enterprise_script_service/libseccomp/tests/54-live-binary_tree.py +95 -0
  114. data/ext/enterprise_script_service/libseccomp/tests/54-live-binary_tree.tests +11 -0
  115. data/ext/enterprise_script_service/libseccomp/tests/55-basic-pfc_binary_tree.c +134 -0
  116. data/ext/enterprise_script_service/libseccomp/tests/55-basic-pfc_binary_tree.sh +46 -0
  117. data/ext/enterprise_script_service/libseccomp/tests/55-basic-pfc_binary_tree.tests +11 -0
  118. data/ext/enterprise_script_service/libseccomp/tests/56-basic-iterate_syscalls.c +90 -0
  119. data/ext/enterprise_script_service/libseccomp/tests/56-basic-iterate_syscalls.py +65 -0
  120. data/ext/enterprise_script_service/libseccomp/tests/56-basic-iterate_syscalls.tests +11 -0
  121. data/ext/enterprise_script_service/libseccomp/tests/57-basic-rawsysrc.c +64 -0
  122. data/ext/enterprise_script_service/libseccomp/tests/57-basic-rawsysrc.py +46 -0
  123. data/ext/enterprise_script_service/libseccomp/tests/57-basic-rawsysrc.tests +11 -0
  124. data/ext/enterprise_script_service/libseccomp/tests/58-live-tsync_notify.c +116 -0
  125. data/ext/enterprise_script_service/libseccomp/tests/58-live-tsync_notify.py +61 -0
  126. data/ext/enterprise_script_service/libseccomp/tests/58-live-tsync_notify.tests +11 -0
  127. data/ext/enterprise_script_service/libseccomp/tests/Makefile.am +34 -10
  128. data/ext/enterprise_script_service/libseccomp/tests/regression +10 -3
  129. data/ext/enterprise_script_service/libseccomp/tests/util.c +3 -3
  130. data/ext/enterprise_script_service/libseccomp/tools/Makefile.am +0 -3
  131. data/ext/enterprise_script_service/libseccomp/tools/check-syntax +1 -1
  132. data/ext/enterprise_script_service/libseccomp/tools/scmp_arch_detect.c +3 -0
  133. data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_disasm.c +4 -2
  134. data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_sim.c +4 -0
  135. data/ext/enterprise_script_service/libseccomp/tools/util.c +14 -12
  136. data/ext/enterprise_script_service/libseccomp/tools/util.h +7 -0
  137. data/ext/enterprise_script_service/mruby/.github/workflows/build.yml +106 -0
  138. data/ext/enterprise_script_service/mruby/.github/workflows/codeql-analysis.yml +51 -0
  139. data/ext/enterprise_script_service/mruby/.github/workflows/main.yml +24 -0
  140. data/ext/enterprise_script_service/mruby/.gitignore +3 -0
  141. data/ext/enterprise_script_service/mruby/.travis.yml +6 -9
  142. data/ext/enterprise_script_service/mruby/AUTHORS +1 -0
  143. data/ext/enterprise_script_service/mruby/Doxyfile +1 -1
  144. data/ext/enterprise_script_service/mruby/LICENSE +1 -1
  145. data/ext/enterprise_script_service/mruby/README.md +6 -2
  146. data/ext/enterprise_script_service/mruby/appveyor.yml +9 -12
  147. data/ext/enterprise_script_service/mruby/appveyor_config.rb +9 -0
  148. data/ext/enterprise_script_service/mruby/build_config.rb +6 -6
  149. data/ext/enterprise_script_service/mruby/doc/guides/compile.md +6 -2
  150. data/ext/enterprise_script_service/mruby/doc/guides/debugger.md +1 -1
  151. data/ext/enterprise_script_service/mruby/doc/guides/mrbconf.md +4 -8
  152. data/ext/enterprise_script_service/mruby/doc/limitations.md +10 -10
  153. data/ext/enterprise_script_service/mruby/doc/opcode.md +108 -95
  154. data/ext/enterprise_script_service/mruby/examples/targets/build_config_ArduinoDue.rb +2 -2
  155. data/ext/enterprise_script_service/mruby/examples/targets/build_config_IntelEdison.rb +2 -2
  156. data/ext/enterprise_script_service/mruby/examples/targets/build_config_IntelGalileo.rb +2 -2
  157. data/ext/enterprise_script_service/mruby/examples/targets/build_config_RX630.rb +2 -2
  158. data/ext/enterprise_script_service/mruby/examples/targets/build_config_chipKITMax32.rb +2 -2
  159. data/ext/enterprise_script_service/mruby/examples/targets/build_config_dreamcast_shelf.rb +108 -0
  160. data/ext/enterprise_script_service/mruby/include/mrbconf.h +10 -7
  161. data/ext/enterprise_script_service/mruby/include/mruby.h +24 -9
  162. data/ext/enterprise_script_service/mruby/include/mruby/array.h +4 -0
  163. data/ext/enterprise_script_service/mruby/include/mruby/boxing_nan.h +11 -2
  164. data/ext/enterprise_script_service/mruby/include/mruby/boxing_word.h +0 -10
  165. data/ext/enterprise_script_service/mruby/include/mruby/common.h +10 -0
  166. data/ext/enterprise_script_service/mruby/include/mruby/compile.h +11 -3
  167. data/ext/enterprise_script_service/mruby/include/mruby/dump.h +1 -17
  168. data/ext/enterprise_script_service/mruby/include/mruby/irep.h +10 -0
  169. data/ext/enterprise_script_service/mruby/include/mruby/istruct.h +4 -1
  170. data/ext/enterprise_script_service/mruby/include/mruby/khash.h +23 -5
  171. data/ext/enterprise_script_service/mruby/include/mruby/numeric.h +1 -0
  172. data/ext/enterprise_script_service/mruby/include/mruby/ops.h +3 -2
  173. data/ext/enterprise_script_service/mruby/include/mruby/proc.h +13 -8
  174. data/ext/enterprise_script_service/mruby/include/mruby/string.h +2 -1
  175. data/ext/enterprise_script_service/mruby/include/mruby/value.h +32 -41
  176. data/ext/enterprise_script_service/mruby/include/mruby/version.h +4 -4
  177. data/ext/enterprise_script_service/mruby/lib/mruby/build.rb +2 -30
  178. data/ext/enterprise_script_service/mruby/lib/mruby/build/command.rb +21 -46
  179. data/ext/enterprise_script_service/mruby/lib/mruby/gem.rb +9 -0
  180. data/ext/enterprise_script_service/mruby/lib/mruby/source.rb +3 -1
  181. data/ext/enterprise_script_service/mruby/mrbgems/default.gembox +7 -0
  182. data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +0 -31
  183. data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/src/array.c +5 -8
  184. data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/test/array.rb +0 -13
  185. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-config/mrbgem.rake +5 -2
  186. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +0 -1
  187. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdbconf.h +5 -1
  188. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +7 -3
  189. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +24 -21
  190. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/mrbgem.rake +0 -1
  191. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +6 -2
  192. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c +6 -2
  193. data/ext/enterprise_script_service/mruby/mrbgems/mruby-class-ext/src/class.c +6 -1
  194. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/codegen.c +76 -48
  195. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/parse.y +107 -32
  196. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/y.tab.c +13153 -0
  197. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/mrbgem.rake +13 -15
  198. data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrblib/complex.rb +1 -1
  199. data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/src/complex.c +1 -2
  200. data/ext/enterprise_script_service/mruby/mrbgems/mruby-error/src/exception.c +3 -3
  201. data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/src/eval.c +3 -214
  202. data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/test/eval.rb +21 -0
  203. data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/src/fiber.c +1 -2
  204. data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/src/hash-ext.c +1 -3
  205. data/ext/enterprise_script_service/mruby/mrbgems/mruby-inline-struct/test/inline.c +3 -4
  206. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/include/mruby/ext/io.h +39 -7
  207. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrbgem.rake +2 -8
  208. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/file_constants.rb +0 -16
  209. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/io.rb +7 -12
  210. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file.c +77 -32
  211. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file_test.c +18 -36
  212. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/io.c +324 -122
  213. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file.rb +18 -12
  214. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/io.rb +32 -0
  215. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/mruby_io_test.c +57 -49
  216. data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +6 -8
  217. data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/src/metaprog.c +15 -17
  218. data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/test/metaprog.rb +9 -0
  219. data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/src/method.c +4 -5
  220. data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/src/object.c +3 -12
  221. data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +0 -1
  222. data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/src/pack.c +113 -10
  223. data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/src/print.c +6 -3
  224. data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/src/proc.c +2 -2
  225. data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/src/range.c +1 -3
  226. data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrblib/rational.rb +1 -3
  227. data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/src/rational.c +9 -9
  228. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/src/mrb_sleep.c +1 -1
  229. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/mrbgem.rake +1 -1
  230. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/test/sockettest.c +3 -2
  231. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/sprintf.c +62 -25
  232. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/test/sprintf.rb +5 -23
  233. data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/src/string.c +4 -5
  234. data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/src/struct.c +5 -11
  235. data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +1 -1
  236. data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/mrbgem.rake +1 -0
  237. data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/src/time.c +11 -15
  238. data/ext/enterprise_script_service/mruby/mrblib/00class.rb +10 -0
  239. data/ext/enterprise_script_service/mruby/mrblib/hash.rb +3 -3
  240. data/ext/enterprise_script_service/mruby/src/array.c +25 -11
  241. data/ext/enterprise_script_service/mruby/src/backtrace.c +2 -2
  242. data/ext/enterprise_script_service/mruby/src/class.c +48 -32
  243. data/ext/enterprise_script_service/mruby/src/codedump.c +4 -0
  244. data/ext/enterprise_script_service/mruby/src/debug.c +8 -5
  245. data/ext/enterprise_script_service/mruby/src/dump.c +3 -65
  246. data/ext/enterprise_script_service/mruby/src/error.c +58 -7
  247. data/ext/enterprise_script_service/mruby/src/etc.c +13 -5
  248. data/ext/enterprise_script_service/mruby/src/fmt_fp.c +98 -21
  249. data/ext/enterprise_script_service/mruby/src/gc.c +15 -280
  250. data/ext/enterprise_script_service/mruby/src/hash.c +13 -21
  251. data/ext/enterprise_script_service/mruby/src/kernel.c +6 -9
  252. data/ext/enterprise_script_service/mruby/src/load.c +56 -30
  253. data/ext/enterprise_script_service/mruby/src/numeric.c +50 -70
  254. data/ext/enterprise_script_service/mruby/src/object.c +23 -5
  255. data/ext/enterprise_script_service/mruby/src/print.c +27 -3
  256. data/ext/enterprise_script_service/mruby/src/proc.c +26 -7
  257. data/ext/enterprise_script_service/mruby/src/range.c +4 -12
  258. data/ext/enterprise_script_service/mruby/src/state.c +34 -11
  259. data/ext/enterprise_script_service/mruby/src/string.c +93 -56
  260. data/ext/enterprise_script_service/mruby/src/symbol.c +13 -12
  261. data/ext/enterprise_script_service/mruby/src/vm.c +48 -53
  262. data/ext/enterprise_script_service/mruby/tasks/gitlab.rake +19 -22
  263. data/ext/enterprise_script_service/mruby/tasks/mrbgems.rake +1 -1
  264. data/ext/enterprise_script_service/mruby/tasks/toolchains/android.rake +46 -1
  265. data/ext/enterprise_script_service/mruby/tasks/toolchains/gcc.rake +3 -3
  266. data/ext/enterprise_script_service/mruby/tasks/toolchains/openwrt.rake +6 -6
  267. data/ext/enterprise_script_service/mruby/tasks/toolchains/visualcpp.rake +8 -8
  268. data/ext/enterprise_script_service/mruby/test/assert.rb +5 -4
  269. data/ext/enterprise_script_service/mruby/test/t/ensure.rb +8 -26
  270. data/ext/enterprise_script_service/mruby/test/t/exception.rb +2 -2
  271. data/ext/enterprise_script_service/mruby/test/t/kernel.rb +15 -24
  272. data/ext/enterprise_script_service/mruby/travis_config.rb +0 -14
  273. data/ext/enterprise_script_service/msgpack/.github/depends/boost.sh +56 -0
  274. data/ext/enterprise_script_service/msgpack/.github/workflows/coverage.yml +62 -0
  275. data/ext/enterprise_script_service/msgpack/.github/workflows/gha.yml +304 -0
  276. data/ext/enterprise_script_service/msgpack/CHANGELOG.md +11 -0
  277. data/ext/enterprise_script_service/msgpack/CMakeLists.txt +82 -39
  278. data/ext/enterprise_script_service/msgpack/Files.cmake +22 -12
  279. data/ext/enterprise_script_service/msgpack/QUICKSTART-C.md +26 -29
  280. data/ext/enterprise_script_service/msgpack/README.md +3 -2
  281. data/ext/enterprise_script_service/msgpack/appveyor.yml +6 -2
  282. data/ext/enterprise_script_service/msgpack/ci/build_cmake.sh +3 -1
  283. data/ext/enterprise_script_service/msgpack/cmake/CodeCoverage.cmake +55 -0
  284. data/ext/enterprise_script_service/msgpack/codecov.yml +36 -0
  285. data/ext/enterprise_script_service/msgpack/example/CMakeLists.txt +9 -5
  286. data/ext/enterprise_script_service/msgpack/example/boost/CMakeLists.txt +1 -1
  287. data/ext/enterprise_script_service/msgpack/example/c/CMakeLists.txt +17 -6
  288. data/ext/enterprise_script_service/msgpack/example/c/boundary.c +296 -0
  289. data/ext/enterprise_script_service/msgpack/example/c/jsonconv.c +419 -0
  290. data/ext/enterprise_script_service/msgpack/example/c/simple_c.c +1 -1
  291. data/ext/enterprise_script_service/msgpack/example/cpp03/CMakeLists.txt +3 -3
  292. data/ext/enterprise_script_service/msgpack/example/cpp11/CMakeLists.txt +2 -2
  293. data/ext/enterprise_script_service/msgpack/example/x3/CMakeLists.txt +2 -2
  294. data/ext/enterprise_script_service/msgpack/include/msgpack/pack.h +24 -1
  295. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/array_ref.hpp +5 -4
  296. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/boost/optional.hpp +4 -4
  297. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp17/vector_byte.hpp +8 -8
  298. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/map.hpp +4 -4
  299. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector.hpp +4 -4
  300. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector_char.hpp +8 -8
  301. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector_unsigned_char.hpp +8 -8
  302. data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/wstring.hpp +4 -4
  303. data/ext/enterprise_script_service/msgpack/include/msgpack/v3/unpack.hpp +6 -6
  304. data/ext/enterprise_script_service/msgpack/include/msgpack/version_master.h +2 -2
  305. data/ext/enterprise_script_service/msgpack/include/msgpack/zbuffer.h +4 -4
  306. data/ext/enterprise_script_service/msgpack/make_file_list.sh +38 -11
  307. data/ext/enterprise_script_service/msgpack/src/vrefbuffer.c +6 -0
  308. data/ext/enterprise_script_service/msgpack/test/CMakeLists.txt +86 -64
  309. data/ext/enterprise_script_service/msgpack/test/array_ref.cpp +4 -0
  310. data/ext/enterprise_script_service/msgpack/test/boost_fusion.cpp +4 -0
  311. data/ext/enterprise_script_service/msgpack/test/boost_optional.cpp +4 -0
  312. data/ext/enterprise_script_service/msgpack/test/boost_string_ref.cpp +4 -1
  313. data/ext/enterprise_script_service/msgpack/test/boost_string_view.cpp +4 -0
  314. data/ext/enterprise_script_service/msgpack/test/boost_variant.cpp +4 -0
  315. data/ext/enterprise_script_service/msgpack/test/buffer.cpp +4 -47
  316. data/ext/enterprise_script_service/msgpack/test/buffer_c.cpp +148 -0
  317. data/ext/enterprise_script_service/msgpack/test/carray.cpp +4 -0
  318. data/ext/enterprise_script_service/msgpack/test/cases.cpp +8 -4
  319. data/ext/enterprise_script_service/msgpack/test/convert.cpp +8 -4
  320. data/ext/enterprise_script_service/msgpack/test/fixint.cpp +4 -0
  321. data/ext/enterprise_script_service/msgpack/test/fixint_c.cpp +4 -0
  322. data/ext/enterprise_script_service/msgpack/test/fuzz_unpack_pack_fuzzer_cpp11.cpp +4 -0
  323. data/ext/enterprise_script_service/msgpack/test/iterator_cpp11.cpp +4 -0
  324. data/ext/enterprise_script_service/msgpack/test/json.cpp +4 -0
  325. data/ext/enterprise_script_service/msgpack/test/limit.cpp +8 -4
  326. data/ext/enterprise_script_service/msgpack/test/msgpack_basic.cpp +4 -0
  327. data/ext/enterprise_script_service/msgpack/test/msgpack_c.cpp +159 -0
  328. data/ext/enterprise_script_service/msgpack/test/msgpack_container.cpp +4 -0
  329. data/ext/enterprise_script_service/msgpack/test/msgpack_cpp11.cpp +32 -27
  330. data/ext/enterprise_script_service/msgpack/test/msgpack_cpp17.cpp +4 -0
  331. data/ext/enterprise_script_service/msgpack/test/msgpack_stream.cpp +4 -0
  332. data/ext/enterprise_script_service/msgpack/test/msgpack_tuple.cpp +4 -1
  333. data/ext/enterprise_script_service/msgpack/test/msgpack_vref.cpp +4 -0
  334. data/ext/enterprise_script_service/msgpack/test/msgpack_x3_parse.cpp +4 -0
  335. data/ext/enterprise_script_service/msgpack/test/object.cpp +4 -1
  336. data/ext/enterprise_script_service/msgpack/test/object_with_zone.cpp +12 -8
  337. data/ext/enterprise_script_service/msgpack/test/pack_unpack.cpp +30 -26
  338. data/ext/enterprise_script_service/msgpack/test/pack_unpack_c.cpp +4 -0
  339. data/ext/enterprise_script_service/msgpack/test/raw.cpp +4 -0
  340. data/ext/enterprise_script_service/msgpack/test/reference.cpp +4 -0
  341. data/ext/enterprise_script_service/msgpack/test/reference_cpp11.cpp +4 -0
  342. data/ext/enterprise_script_service/msgpack/test/reference_wrapper_cpp11.cpp +4 -0
  343. data/ext/enterprise_script_service/msgpack/test/shared_ptr_cpp11.cpp +4 -0
  344. data/ext/enterprise_script_service/msgpack/test/size_equal_only.cpp +4 -0
  345. data/ext/enterprise_script_service/msgpack/test/streaming.cpp +8 -4
  346. data/ext/enterprise_script_service/msgpack/test/streaming_c.cpp +4 -0
  347. data/ext/enterprise_script_service/msgpack/test/unique_ptr_cpp11.cpp +4 -0
  348. data/ext/enterprise_script_service/msgpack/test/user_class.cpp +16 -12
  349. data/ext/enterprise_script_service/msgpack/test/version.cpp +4 -0
  350. data/ext/enterprise_script_service/msgpack/test/visitor.cpp +4 -0
  351. data/ext/enterprise_script_service/msgpack/test/zone.cpp +4 -0
  352. data/lib/script_core/engine.rb +24 -5
  353. data/lib/script_core/executable.rb +4 -3
  354. data/lib/script_core/result.rb +1 -5
  355. data/lib/script_core/service_channel.rb +1 -0
  356. data/lib/script_core/version.rb +1 -1
  357. data/lib/tasks/script_core.rake +3 -1
  358. data/script_core.gemspec +2 -2
  359. data/spec/dummy/app/lib/script_engine.rb +64 -5
  360. metadata +68 -30
  361. data/ext/enterprise_script_service/libseccomp/src/arch-aarch64-syscalls.c +0 -559
  362. data/ext/enterprise_script_service/libseccomp/src/arch-arm-syscalls.c +0 -570
  363. data/ext/enterprise_script_service/libseccomp/src/arch-mips-syscalls.c +0 -562
  364. data/ext/enterprise_script_service/libseccomp/src/arch-mips64-syscalls.c +0 -562
  365. data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32-syscalls.c +0 -562
  366. data/ext/enterprise_script_service/libseccomp/src/arch-parisc-syscalls.c +0 -542
  367. data/ext/enterprise_script_service/libseccomp/src/arch-ppc-syscalls.c +0 -559
  368. data/ext/enterprise_script_service/libseccomp/src/arch-ppc64-syscalls.c +0 -559
  369. data/ext/enterprise_script_service/libseccomp/src/arch-s390-syscalls.c +0 -626
  370. data/ext/enterprise_script_service/libseccomp/src/arch-s390x-syscalls.c +0 -626
  371. data/ext/enterprise_script_service/libseccomp/src/arch-x32-syscalls.c +0 -558
  372. data/ext/enterprise_script_service/libseccomp/src/arch-x86-syscalls.c +0 -692
  373. data/ext/enterprise_script_service/libseccomp/src/arch-x86_64-syscalls.c +0 -559
  374. data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_whitelist.tests +0 -32
  375. data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_blacklist.tests +0 -32
  376. data/ext/enterprise_script_service/msgpack/.travis.yml +0 -258
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 077ec45329d1ff325bb9d6e58a9f359e537154c851aeb22ac889be13adcfe7e9
4
- data.tar.gz: 0d42468e3c3c51417f65cdb768030f4cb90f55a63ea0a380691795fa98d57f89
3
+ metadata.gz: 3cfa6713154bbd8ad099289142899dca5ba3f5dea5cc2c5a6d48f2119559b4b8
4
+ data.tar.gz: 6141a1d955d8ae69080c56f0d4b6966e9595d5f0992cc758ddc5ba6bdff9ab98
5
5
  SHA512:
6
- metadata.gz: f4f0799d674f4e63680efa7db3595c4f9a9d97a647278dc38cd672f1e4c24123b956e6a4cca6070bd1dcd27a5d992402e6a5d68ee9e45eeab81fed020e9b3d69
7
- data.tar.gz: 5a6680fe6199dbcc7fa76682dcd5762a10ea8ea9df0dfc213d1ff9047744c5423320c342bb762159d3a591b24ee536ff6d6fd400dc90d02d2bf742dcfe603364
6
+ metadata.gz: a250786dcf497f2e93f3734a154f32ed31fe367b6f6df50d12e5b683850003275a9852f2f3ae5eec037b313fc16c66af034528cf3f5abbc3cb55bc6b24fb6b20
7
+ data.tar.gz: 4ab307f3a464f1cfe5e0c0fe0a43ec56c70055e88a02a6ade5f0fb33b510ac56e8240fdc758104d1089a5b420e940476436695285f46f921e6f97cabc9f5ed7c
@@ -4,6 +4,7 @@ require:
4
4
 
5
5
  AllCops:
6
6
  TargetRubyVersion: 2.5
7
+ DisabledByDefault: true
7
8
  Exclude:
8
9
  - bin/**/*
9
10
  - tests/**/*
@@ -15,35 +16,8 @@ AllCops:
15
16
  - spec/dummy/db/schema.rb
16
17
  - spec/dummy/bin/**/*
17
18
 
18
- Rails:
19
- Enabled: true
20
-
21
- Layout/LineLength:
22
- Max: 150
23
-
24
- Metrics/MethodLength:
25
- Max: 100
26
-
27
- Metrics/BlockLength:
28
- Max: 50
29
-
30
- Metrics/ClassLength:
31
- Enabled: false
32
-
33
- Style/GuardClause:
34
- Enabled: false
35
-
36
- Style/Documentation:
37
- Enabled: false
38
-
39
- Style/ClassAndModuleChildren:
40
- Enabled: false
41
-
42
- Naming/AccessorMethodName:
43
- Enabled: false
44
-
45
- Naming/MemoizedInstanceVariableName:
46
- Enabled: false
19
+ #Metrics/AbcSize:
20
+ # Max: 30
47
21
 
48
22
  # Prefer assert_not over assert !
49
23
  Rails/AssertNot:
@@ -55,6 +29,12 @@ Rails/RefuteMethods:
55
29
  Include:
56
30
  - 'test/**/*'
57
31
 
32
+ Rails/IndexBy:
33
+ Enabled: true
34
+
35
+ Rails/IndexWith:
36
+ Enabled: true
37
+
58
38
  # Prefer &&/|| over and/or.
59
39
  Style/AndOr:
60
40
  Enabled: true
@@ -63,6 +43,9 @@ Style/AndOr:
63
43
  Layout/CaseIndentation:
64
44
  Enabled: true
65
45
 
46
+ Layout/ClosingHeredocIndentation:
47
+ Enabled: true
48
+
66
49
  # Align comments with method definitions.
67
50
  Layout/CommentIndentation:
68
51
  Enabled: true
@@ -80,6 +63,9 @@ Layout/EndAlignment:
80
63
  Layout/EmptyLineAfterMagicComment:
81
64
  Enabled: true
82
65
 
66
+ Layout/EmptyLinesAroundAccessModifier:
67
+ Enabled: true
68
+
83
69
  Layout/EmptyLinesAroundBlockBody:
84
70
  Enabled: true
85
71
 
@@ -95,22 +81,11 @@ Layout/EmptyLinesAroundMethodBody:
95
81
  Layout/EmptyLinesAroundModuleBody:
96
82
  Enabled: true
97
83
 
98
- Layout/FirstArgumentIndentation:
99
- Enabled: true
100
-
101
84
  # Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
102
85
  Style/HashSyntax:
103
86
  Enabled: true
104
87
 
105
- # Do not use braces for hash literals when they are the last argument of a
106
- # method call.
107
- Style/HashEachMethods:
108
- Enabled: true
109
-
110
- Style/HashTransformKeys:
111
- Enabled: true
112
-
113
- Style/HashTransformValues:
88
+ Layout/FirstArgumentIndentation:
114
89
  Enabled: true
115
90
 
116
91
  # Method definitions after `private` or `protected` isolated calls need one
@@ -141,10 +116,10 @@ Layout/SpaceAroundEqualsInParameterDefault:
141
116
  Layout/SpaceAroundKeyword:
142
117
  Enabled: true
143
118
 
144
- Layout/SpaceAroundOperators:
119
+ Layout/SpaceBeforeComma:
145
120
  Enabled: true
146
121
 
147
- Layout/SpaceBeforeComma:
122
+ Layout/SpaceBeforeComment:
148
123
  Enabled: true
149
124
 
150
125
  Layout/SpaceBeforeFirstArg:
@@ -186,10 +161,10 @@ Style/StringLiterals:
186
161
  EnforcedStyle: double_quotes
187
162
 
188
163
  # Detect hard tabs, no hard tabs.
189
- Layout/Tab:
164
+ Layout/IndentationStyle:
190
165
  Enabled: true
191
166
 
192
- # Blank lines should not have any spaces.
167
+ # Empty lines should not have any spaces.
193
168
  Layout/TrailingEmptyLines:
194
169
  Enabled: true
195
170
 
@@ -229,9 +204,18 @@ Lint/UselessAssignment:
229
204
  Lint/DeprecatedClassMethods:
230
205
  Enabled: true
231
206
 
207
+ Lint/DeprecatedOpenSSLConstant:
208
+ Enabled: true
209
+
232
210
  Style/ParenthesesAroundCondition:
233
211
  Enabled: true
234
212
 
213
+ Style/HashTransformKeys:
214
+ Enabled: true
215
+
216
+ Style/HashTransformValues:
217
+ Enabled: true
218
+
235
219
  Style/RedundantBegin:
236
220
  Enabled: true
237
221
 
@@ -250,6 +234,12 @@ Style/ColonMethodCall:
250
234
  Style/TrivialAccessors:
251
235
  Enabled: true
252
236
 
237
+ Style/SlicingWithRange:
238
+ Enabled: true
239
+
240
+ Style/RedundantRegexpEscape:
241
+ Enabled: true
242
+
253
243
  Performance/FlatMap:
254
244
  Enabled: true
255
245
 
@@ -270,3 +260,9 @@ Performance/ReverseEach:
270
260
 
271
261
  Performance/UnfreezeString:
272
262
  Enabled: true
263
+
264
+ Performance/DeletePrefix:
265
+ Enabled: true
266
+
267
+ Performance/DeleteSuffix:
268
+ Enabled: true
@@ -1,6 +1,7 @@
1
1
  language: ruby
2
2
 
3
3
  rvm:
4
- - 2.6.2
4
+ - 2.5.8
5
+ - 2.7.1
5
6
 
6
7
  script: bundle exec rake compile
data/Gemfile CHANGED
@@ -6,7 +6,7 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
6
6
  gemspec
7
7
 
8
8
  # Dummy app
9
- gem "rails", "~> 6.0.0"
9
+ gem "rails", "~> 6.0"
10
10
  gem "sqlite3"
11
11
 
12
12
  # Use Puma as the app server
@@ -19,7 +19,7 @@ gem "web-console", group: :development
19
19
  gem "byebug", group: %i[development test]
20
20
 
21
21
  # To support ES6
22
- gem "sprockets", "~> 4.0.0.beta4"
22
+ gem "sprockets", "~> 4.0.0"
23
23
  # Support ES6
24
24
  gem "babel-transpiler"
25
25
  # Use SCSS for stylesheets
@@ -32,7 +32,7 @@ gem "form_core"
32
32
 
33
33
  gem "acts_as_list"
34
34
  gem "timeliness-i18n"
35
- gem "validates_timeliness", "~> 5.0.0.alpha1"
35
+ gem "validates_timeliness", "~> 5.0.0.beta1"
36
36
 
37
37
  gem "bulma-rails"
38
38
  gem "jquery-rails"
data/README.md CHANGED
@@ -23,13 +23,19 @@ I want to make these changes:
23
23
  - [ ] Find a good way to working with timezone on mruby side
24
24
  - [ ] Find a good way to working with `BigDecimal` & `Date` (mruby doesn't have these) on mruby side
25
25
 
26
- ## Restrictions
26
+ ## limitation
27
27
 
28
28
  - We enable `MRB_DISABLE_STDIO` flag when compiling mruby,
29
29
  which means the sandbox will not support gems which dependent `mruby-io` or `stdio.h`,
30
30
  the result is you can not do any HTTP request, read and write files in the sandbox,
31
31
  you may consider preparing data on Ruby side and pass them to the sandbox.
32
32
 
33
+ ## Help wanted
34
+
35
+ I'm not familiar with C/CPP, so I can't improve ESS (in `ext/enterprise_script_service`),
36
+
37
+ Currently there're too much warnings on compiling, hope some one could help to resolve them.
38
+
33
39
  ## Demo
34
40
 
35
41
  Clone the repository.
@@ -3,8 +3,8 @@
3
3
  apt-get update
4
4
  apt-get install -y build-essential zlib1g-dev libssl-dev libreadline6-dev libyaml-dev wget libffi-dev gcc g++ make bison libtool autoconf git
5
5
  cd `mktemp -d`
6
- curl -L "https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.3.tar.gz" | tar -xzf-
7
- cd ruby-2.6.2
6
+ curl -L "https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.1.tar.gz" | tar -xzf-
7
+ cd ruby-2.7.1
8
8
  ./configure --prefix=/usr/local
9
9
  make
10
10
  make install
@@ -1,23 +1,28 @@
1
1
  # Travis CI configuration for libseccomp
2
2
 
3
- # https://docs.travis-ci.com/user/trusty-ci-environment
3
+ # https://docs.travis-ci.com/user/reference/bionic
4
4
  # https://wiki.ubuntu.com/Releases
5
5
 
6
- dist: xenial
7
- sudo: false
6
+ dist: bionic
8
7
 
9
8
  notifications:
10
9
  email:
11
10
  on_success: always
12
11
  on_failure: always
13
12
 
13
+ arch:
14
+ - amd64
15
+ - arm64
16
+ - ppc64le
17
+
18
+ os:
19
+ - linux
20
+
14
21
  language: c
15
22
  compiler:
16
23
  - gcc
17
24
 
18
25
  language: python
19
- python:
20
- - "nightly"
21
26
 
22
27
  addons:
23
28
  coverity_scan:
@@ -34,6 +39,7 @@ addons:
34
39
  - valgrind
35
40
  - clang
36
41
  - lcov
42
+ - gperf
37
43
 
38
44
  env:
39
45
  global:
@@ -46,7 +52,10 @@ before_install:
46
52
  # assume the distro has an old version of cython
47
53
  - pip install cython
48
54
  # see https://github.com/eddyxu/cpp-coveralls
49
- - pip install cpp-coveralls
55
+ - |
56
+ if [ $TRAVIS_CPU_ARCH == "amd64" ]; then
57
+ pip install cpp-coveralls
58
+ fi
50
59
 
51
60
  # perform the build and fail immediately on error
52
61
  install:
@@ -59,13 +68,16 @@ script:
59
68
  - ./configure --enable-python
60
69
  - make check-build
61
70
  - LIBSECCOMP_TSTCFG_STRESSCNT=5 make check
62
- - LIBSECCOMP_TSTCFG_TYPE=live make -C tests check
63
- # ubuntu 14.04 (trusty) clang has problems with the cython generated code
64
- - make clean && ./configure && scan-build --status-bugs make
71
+ - LIBSECCOMP_TSTCFG_TYPE=live LIBSECCOMP_TSTCFG_MODE_LIST=c make -C tests check
72
+ - |
73
+ if [ $TRAVIS_CPU_ARCH == "amd64" -o -x scan-build ]; then
74
+ make clean && ./configure && scan-build --status-bugs make
75
+ fi
65
76
 
66
77
  after_success:
67
78
  # limit the code coverage tests to the 'test-code-coverage' target
68
- - make clean && ./configure --enable-code-coverage && make test-code-coverage
69
79
  # https://github.com/eddyxu/cpp-coveralls/blob/master/README.md
70
- - coveralls --gcov-options '\-lp'
71
- --exclude tests --exclude tools --exclude src/arch-syscall-check.c
80
+ - |
81
+ if [ $TRAVIS_CPU_ARCH == "amd64" ]; then
82
+ make clean && ./configure --enable-code-coverage && make test-code-coverage && coveralls --gcov-options '\-lp' --exclude tests --exclude tools --exclude src/arch-syscall-check.c
83
+ fi
@@ -2,6 +2,38 @@ libseccomp: Releases
2
2
  ===============================================================================
3
3
  https://github.com/seccomp/libseccomp
4
4
 
5
+ * Version 2.5.0 - July 20, 2020
6
+ - Add support for the seccomp user notifications, see the
7
+ seccomp_notify_alloc(3), seccomp_notify_receive(3), seccomp_notify_respond(3)
8
+ manpages for more information
9
+ - Add support for new filter optimization approaches, including a balanced tree
10
+ optimization, see the SCMP_FLTATR_CTL_OPTIMIZE filter attribute for more
11
+ information
12
+ - Add support for the 64-bit RISC-V architecture
13
+ - Performance improvements when adding new rules to a filter thanks to the use
14
+ of internal shadow transactions and improved syscall lookup tables
15
+ - Properly document the libseccomp API return values and include them in the
16
+ stable API promise
17
+ - Improvements to the s390 and s390x multiplexed syscall handling
18
+ - Multiple fixes and improvements to the libseccomp manpages
19
+ - Moved from manually maintained syscall tables to an automatically generated
20
+ syscall table in CSV format
21
+ - Update the syscall tables to Linux v5.8.0-rc5
22
+ - Python bindings and build now default to Python 3.x
23
+ - Improvements to the tests have boosted code coverage to over 93%
24
+ - Enable Travis CI testing on the aarch64 and ppc64le architectures
25
+ - Add code inspection via lgtm.com
26
+
27
+ * Version 2.4.3 - March 4, 2020
28
+ - Add list of authorized release signatures to README.md
29
+ - Fix multiplexing issue with s390/s390x shm* syscalls
30
+ - Remove the static flag from libseccomp tools compilation
31
+ - Add define for __SNR_ppoll
32
+ - Update our Travis CI configuration to use Ubuntu 18.04
33
+ - Disable live python tests in Travis CI
34
+ - Use default python, rather than nightly python, in TravisCI
35
+ - Fix potential memory leak identified by clang in the scmp_bpf_sim tool
36
+
5
37
  * Version 2.4.2 - November 7, 2019
6
38
  - Update the syscall table for Linux v5.4-rc4
7
39
  - Stop defining __NR_x values for syscalls that don't exist. Libseccomp
@@ -8,7 +8,7 @@ to the rules described here, but by following the instructions below you
8
8
  should have a much easier time getting your work merged with the upstream
9
9
  project.
10
10
 
11
- ## Test Your Code
11
+ ## Test Your Code Using Existing Tests
12
12
 
13
13
  There are three possible tests you can run to verify your code. The first
14
14
  test is used to check the formatting and coding style of your changes, you
@@ -38,7 +38,7 @@ command:
38
38
 
39
39
  ... if there are any faults or errors they will be displayed.
40
40
 
41
- ## Make Sure Your Code is Tested
41
+ ## Add New Tests for New Functionality
42
42
 
43
43
  The libseccomp code includes a fairly extensive test suite and any submissions
44
44
  which add functionality, or significantly change the existing code, should
@@ -50,29 +50,6 @@ base, and can be enabled via the "--enable-code-coverage" configure flag and
50
50
  the "check-code-coverage" make target. Additional details on generating code
51
51
  coverage information can be found in the .travis.yml file.
52
52
 
53
- ## Generate the Patch(es)
54
-
55
- Depending on how you decided to work with the libseccomp code base and what
56
- tools you are using there are different ways to generate your patch(es).
57
- However, regardless of what tools you use, you should always generate your
58
- patches using the "unified" diff/patch format and the patches should always
59
- apply to the libseccomp source tree using the following command from the top
60
- directory of the libseccomp sources:
61
-
62
- # patch -p1 < changes.patch
63
-
64
- If you are not using git, stacked git (stgit), or some other tool which can
65
- generate patch files for you automatically, you may find the following command
66
- helpful in generating patches, where "libseccomp.orig/" is the unmodified
67
- source code directory and "libseccomp/" is the source code directory with your
68
- changes:
69
-
70
- # diff -purN libseccomp.orig/ libseccomp/
71
-
72
- When in doubt please generate your patch and try applying it to an unmodified
73
- copy of the libseccomp sources; if it fails for you, it will fail for the rest
74
- of us.
75
-
76
53
  ## Explain Your Work
77
54
 
78
55
  At the top of every patch you should include a description of the problem you
@@ -120,7 +97,37 @@ your real name, saying:
120
97
 
121
98
  Signed-off-by: Random J Developer <random@developer.example.org>
122
99
 
123
- ## Email Your Patch(es)
100
+ You can add this to your commit description in `git` with `git commit -s`
101
+
102
+ ## Post Your Patches Upstream
103
+
104
+ The libseccomp project accepts both GitHub pull requests and patches sent via
105
+ the mailing list. GitHub pull requests are preferred. This sections below
106
+ explain how to contribute via either method. Please read each step and perform
107
+ all steps that apply to your chosen contribution method.
108
+
109
+ ### Submitting via Email
110
+
111
+ Depending on how you decided to work with the libseccomp code base and what
112
+ tools you are using there are different ways to generate your patch(es).
113
+ However, regardless of what tools you use, you should always generate your
114
+ patches using the "unified" diff/patch format and the patches should always
115
+ apply to the libseccomp source tree using the following command from the top
116
+ directory of the libseccomp sources:
117
+
118
+ # patch -p1 < changes.patch
119
+
120
+ If you are not using git, stacked git (stgit), or some other tool which can
121
+ generate patch files for you automatically, you may find the following command
122
+ helpful in generating patches, where "libseccomp.orig/" is the unmodified
123
+ source code directory and "libseccomp/" is the source code directory with your
124
+ changes:
125
+
126
+ # diff -purN libseccomp.orig/ libseccomp/
127
+
128
+ When in doubt please generate your patch and try applying it to an unmodified
129
+ copy of the libseccomp sources; if it fails for you, it will fail for the rest
130
+ of us.
124
131
 
125
132
  Finally, you will need to email your patches to the mailing list so they can
126
133
  be reviewed and potentially merged into the main libseccomp repository. When
@@ -132,3 +139,7 @@ a problem with your email client. When in doubt try a test first by sending
132
139
  yourself an email with your patch and attempting to apply the emailed patch to
133
140
  the libseccomp repository; if it fails for you, it will fail for the rest of
134
141
  us trying to test your patch and include it in the main libseccomp repository.
142
+
143
+ ### Submitting via GitHub
144
+
145
+ See [this guide](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request) if you've never done this before.