Blame SOURCES/openscap-1.2.18-oscap-ssh-sudo.patch

cf36c6
diff --git a/utils/oscap-ssh b/utils/oscap-ssh
cf36c6
index 658cc2ee4..bd2e209c4 100755
cf36c6
--- a/utils/oscap-ssh
cf36c6
+++ b/utils/oscap-ssh
cf36c6
@@ -280,7 +280,12 @@ echo "Starting the evaluation..."
cf36c6
 # changing directory because of --oval-results support. oval results files are
cf36c6
 # dumped into PWD, and we can't be sure by the file names - we need controlled
cf36c6
 # environment
cf36c6
-ssh_execute_with_command_and_options "cd $REMOTE_TEMP_DIR; $OSCAP_SUDO oscap $(command_array_to_string oscap_args)" "$SSH_TTY_ALLOCATION_OPTION"
cf36c6
+if [ -z "$OSCAP_SUDO" ]; then
cf36c6
+    ssh_execute_with_command_and_options "cd $REMOTE_TEMP_DIR; oscap $(command_array_to_string oscap_args)" "$SSH_TTY_ALLOCATION_OPTION"
cf36c6
+else
cf36c6
+    OSCAP_CMD="oscap $(command_array_to_string oscap_args); rc=\$?; chown \$SUDO_USER $REMOTE_TEMP_DIR/*; exit \$rc"
cf36c6
+    ssh_execute_with_command_and_options "cd $REMOTE_TEMP_DIR; $OSCAP_SUDO sh -c '$OSCAP_CMD'" "$SSH_TTY_ALLOCATION_OPTION"
cf36c6
+fi
cf36c6
 OSCAP_EXIT_CODE=$?
cf36c6
 echo "oscap exit code: $OSCAP_EXIT_CODE"
cf36c6