diff --git a/api/src/job.js b/api/src/job.js index d46120b..8c3fa79 100644 --- a/api/src/job.js +++ b/api/src/job.js @@ -156,7 +156,11 @@ class Job { '-s', '-c', '/box/submission', - '-e', + '-E', + 'HOME=/tmp', + ...this.runtime.env_vars.flat_map(v => ['-E', v]), + '-E', + `PISTON_LANGUAGE=${this.runtime.language}`, `--dir=${this.runtime.pkgdir}`, `--dir=/etc:noexec`, `--processes=${this.runtime.max_process_count}`, @@ -175,10 +179,6 @@ class Job { ...args, ], { - env: { - ...this.runtime.env_vars, - PISTON_LANGUAGE: this.runtime.language, - }, stdio: 'pipe', } ); diff --git a/api/src/runtime.js b/api/src/runtime.js index 9a2adf4..90a2225 100644 --- a/api/src/runtime.js +++ b/api/src/runtime.js @@ -178,15 +178,7 @@ class Runtime { const env_file = path.join(this.pkgdir, '.env'); const env_content = fss.read_file_sync(env_file).toString(); - this._env_vars = {}; - - env_content - .trim() - .split('\n') - .map(line => line.split('=', 2)) - .forEach(([key, val]) => { - this._env_vars[key.trim()] = val.trim(); - }); + this._env_vars = env_content.trim().split('\n'); } return this._env_vars; diff --git a/packages/vyxal/2.18.0/build.sh b/packages/vyxal/2.18.0/build.sh new file mode 100644 index 0000000..686ff57 --- /dev/null +++ b/packages/vyxal/2.18.0/build.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +# get Python source +source ../../python/3.9.4/build.sh + +# And install the package + +pip install vyxal==2.18.0 + diff --git a/packages/vyxal/2.18.0/environment b/packages/vyxal/2.18.0/environment new file mode 100644 index 0000000..bc9a9d7 --- /dev/null +++ b/packages/vyxal/2.18.0/environment @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# Python path +export PATH=$PWD/bin:$PATH diff --git a/packages/vyxal/2.4.1/metadata.json b/packages/vyxal/2.18.0/metadata.json similarity index 62% rename from packages/vyxal/2.4.1/metadata.json rename to packages/vyxal/2.18.0/metadata.json index e5427fb..47a8a54 100644 --- a/packages/vyxal/2.4.1/metadata.json +++ b/packages/vyxal/2.18.0/metadata.json @@ -1,5 +1,5 @@ { "language": "vyxal", - "version": "2.4.1", + "version": "2.18.0", "aliases": [] -} \ No newline at end of file +} diff --git a/packages/vyxal/2.18.0/run b/packages/vyxal/2.18.0/run new file mode 100644 index 0000000..38fc1ed --- /dev/null +++ b/packages/vyxal/2.18.0/run @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +vyxal "$@" diff --git a/packages/vyxal/2.18.0/test.vyxal b/packages/vyxal/2.18.0/test.vyxal new file mode 100644 index 0000000..0987096 --- /dev/null +++ b/packages/vyxal/2.18.0/test.vyxal @@ -0,0 +1 @@ +`OK diff --git a/packages/vyxal/2.4.1/build.sh b/packages/vyxal/2.4.1/build.sh deleted file mode 100644 index e7ce729..0000000 --- a/packages/vyxal/2.4.1/build.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash - -# get Python source -source ../../python/3.9.4/build.sh - -# add regex and pwn modules -bin/pip3 install regex pwn - -# make vyxal directory -mkdir vyxal -cd vyxal - -# Vyxal install -curl -L "https://github.com/Vyxal/Vyxal/archive/refs/tags/v2.4.1.tar.gz" -o vyxal.tar.xz -tar xf vyxal.tar.xz --strip-components=1 -rm vyxal.tar.xz - -cd .. \ No newline at end of file diff --git a/packages/vyxal/2.4.1/environment b/packages/vyxal/2.4.1/environment deleted file mode 100644 index f0008c8..0000000 --- a/packages/vyxal/2.4.1/environment +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -# Python and Vyxal path -export PATH=$PWD/bin:$PATH -export VYXAL_PATH=$PWD/vyxal - -# export term to fix curses warning -export TERM=xterm \ No newline at end of file diff --git a/packages/vyxal/2.4.1/run b/packages/vyxal/2.4.1/run deleted file mode 100644 index c9b08a6..0000000 --- a/packages/vyxal/2.4.1/run +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -python3 "$VYXAL_PATH"/Vyxal.py "$1" \ No newline at end of file diff --git a/packages/vyxal/2.4.1/test.vyxal b/packages/vyxal/2.4.1/test.vyxal deleted file mode 100644 index 6d0cb6e..0000000 --- a/packages/vyxal/2.4.1/test.vyxal +++ /dev/null @@ -1 +0,0 @@ -`OK \ No newline at end of file