From 0237032afc7c63ea44d41238222313162e7b7d8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Drago=C8=99-Iulian=20ARGINT?= <dragos.argint@stud.acs.upb.ro> Date: Sun, 30 Apr 2023 12:33:03 +0300 Subject: [PATCH] Add Tun/Tap cap to docker MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: DragoČ-Iulian ARGINT <dragos.argint@stud.acs.upb.ro> --- local.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/local.sh b/local.sh index 54cc53d..0c91a47 100755 --- a/local.sh +++ b/local.sh @@ -198,7 +198,7 @@ docker_interactive() { set -x cp -R ${ASSIGNMENT_CHECKER_DIR}/* "$tmpdir" - docker run $privileged --rm -it \ + docker run $privileged --rm -it --cap-add=NET_ADMIN --device /dev/net/tun:/dev/net/tun \ --mount type=bind,source="$SRC_DIR",target="$ASSIGNMENT_MOUNT_DIR" \ --mount type=bind,source="$tmpdir",target="$ASSIGNMENT_CHECKER_MOUNT_DIR" \ --workdir "$SO2_WORKSPACE" \ @@ -265,7 +265,7 @@ checker_main() { # In your checker script if you must use absolute paths please use $CI_PROJECT_DIR to reference the location of your directory, # otherwise stick to relative paths. # It is guaranteed that the current working directory in which checker.sh will run is $CI_PROJECT_DIR/checker. - docker run $privileged --rm \ + docker run $privileged --rm --cap-add=NET_ADMIN --device /dev/net/tun:/dev/net/tun \ --mount type=bind,source="$tmpdir",target="$MOUNT_PROJECT_DIRECTORY" \ "$image_name" /bin/bash -c "rm -rf /usr/local/bin/bash; cd \"$MOUNT_PROJECT_DIRECTORY\"; \"$MOUNT_PROJECT_DIRECTORY/checker/checker.sh\" \"${script_args[@]}\"" # remove bash middleware script -- GitLab