Blame SOURCES/openscap-1.2.18-oscap_ssh-sudo.patch

d7b4b6
From e355d9b35e713d3b5f814d5226bda359c93446d1 Mon Sep 17 00:00:00 2001
d7b4b6
From: =?UTF-8?q?Mat=C4=9Bj=20T=C3=BD=C4=8D?= <matyc@redhat.com>
d7b4b6
Date: Thu, 11 Oct 2018 15:18:49 +0200
d7b4b6
Subject: [PATCH] Fixed a bug with sudo as the first argument.
d7b4b6
d7b4b6
A call to `shift` is necessarry outside of any function, because
d7b4b6
one can't use `shift` to shift script's arguments from a function.
d7b4b6
---
d7b4b6
 utils/oscap-ssh | 8 +++++++-
d7b4b6
 1 file changed, 7 insertions(+), 1 deletion(-)
d7b4b6
d7b4b6
diff --git a/utils/oscap-ssh b/utils/oscap-ssh
d7b4b6
index ee6eb9c81..6d60a369e 100755
d7b4b6
--- a/utils/oscap-ssh
d7b4b6
+++ b/utils/oscap-ssh
d7b4b6
@@ -115,6 +115,11 @@ function scp_retreive_from_temp_dir {
d7b4b6
     scp -o ControlPath="$MASTER_SOCKET" -P "$SSH_PORT" $SSH_ADDITIONAL_OPTIONS "$SSH_HOST:$REMOTE_TEMP_DIR/$1" "$2"
d7b4b6
 }
d7b4b6
 
d7b4b6
+function first_argument_is_sudo {
d7b4b6
+	[ "$1" == "sudo" ] || [ "$1" == "--sudo" ]
d7b4b6
+	return $?
d7b4b6
+}
d7b4b6
+
d7b4b6
 function sanity_check_arguments {
d7b4b6
     if [ $# -lt 1 ]; then
d7b4b6
         echo "No arguments provided."
d7b4b6
@@ -123,7 +128,7 @@ function sanity_check_arguments {
d7b4b6
     elif [ "$1" == "-h" ] || [ "$1" == "--help" ]; then
d7b4b6
         usage
d7b4b6
         die
d7b4b6
-    elif [ "$1" == "sudo" ] || [ "$1" == "--sudo" ]; then
d7b4b6
+    elif first_argument_is_sudo "$@"; then
d7b4b6
         OSCAP_SUDO="sudo"
d7b4b6
         # force pseudo-tty allocation so that users can type their password if necessary
d7b4b6
         SSH_TTY_ALLOCATION_OPTION="-t"
d7b4b6
@@ -155,6 +160,7 @@ function check_oscap_arguments {
d7b4b6
 }
d7b4b6
 
d7b4b6
 sanity_check_arguments "$@"
d7b4b6
+first_argument_is_sudo "$@" && shift
d7b4b6
 
d7b4b6
 SSH_HOST="$1"
d7b4b6
 SSH_PORT="$2"