Module: Landlock::Runner
- Defined in:
- lib/landlock/runner.rb,
lib/landlock/runner/fork.rb,
lib/landlock/runner/native.rb
Defined Under Namespace
Class Method Summary collapse
- .argv_for_exec(argv) ⇒ Object
- .exit_child!(error) ⇒ Object
- .kernel_exec_args(argv, env, unsetenv_others:, close_others:) ⇒ Object
Class Method Details
.argv_for_exec(argv) ⇒ Object
7 8 9 10 |
# File 'lib/landlock/runner.rb', line 7 def argv_for_exec(argv) command = argv.fetch(0) [[command, command], *argv.drop(1)] end |
.exit_child!(error) ⇒ Object
19 20 21 22 23 |
# File 'lib/landlock/runner.rb', line 19 def exit_child!(error) warn "Landlock child failed before exec: #{error.class}: #{error.}" ensure exit! 127 end |
.kernel_exec_args(argv, env, unsetenv_others:, close_others:) ⇒ Object
12 13 14 15 16 17 |
# File 'lib/landlock/runner.rb', line 12 def kernel_exec_args(argv, env, unsetenv_others:, close_others:) = { close_others: } [:unsetenv_others] = true if unsetenv_others env ? [env, *argv_for_exec(argv), ] : [*argv_for_exec(argv), ] end |