From cd3646ad6714774784e0e32055f25e194a7fa053 Mon Sep 17 00:00:00 2001
From: Thomas Woerner <twoerner@redhat.com>
Date: Tue, 23 Nov 2021 15:21:26 +0100
Subject: [PATCH] shellcheck: Double quote to prevent globbing and word
 splitting

This patch is needed to pass Automation Hub tests.
---
 tests/ca-less/generate-certificates.sh | 62 +++++++++++++-------------
 tests/user/users.sh                    | 30 +++++++------
 tests/user/users_absent.sh             | 20 ++++-----
 3 files changed, 57 insertions(+), 55 deletions(-)

diff --git a/tests/ca-less/generate-certificates.sh b/tests/ca-less/generate-certificates.sh
index e96d323a..c366e87d 100755
--- a/tests/ca-less/generate-certificates.sh
+++ b/tests/ca-less/generate-certificates.sh
@@ -21,36 +21,36 @@ function generate_ipa_pkcs12_certificate {
     # Generate CSR and private key
     openssl req -new -newkey rsa:4096 -nodes \
         -subj "/C=US/ST=Test/L=Testing/O=Default/CN=${ipa_fqdn}" \
-        -keyout ${certs_dir}/private.key \
-        -out ${certs_dir}/request.csr
+        -keyout "${certs_dir}/private.key" \
+        -out "${certs_dir}/request.csr"
 
     # Sign CSR to generate PEM certificate
     if [ -z "${extensions_file}" ]; then
         openssl x509 -req -days 365 -sha256 \
             -CAcreateserial \
-            -CA ${root_ca_cert} \
-            -CAkey ${root_ca_private_key} \
-            -in ${certs_dir}/request.csr \
-            -out ${certs_dir}/cert.pem
+            -CA "${root_ca_cert}" \
+            -CAkey "${root_ca_private_key}" \
+            -in "${certs_dir}/request.csr" \
+            -out "${certs_dir}/cert.pem"
     else
         openssl x509 -req -days 365 -sha256 \
             -CAcreateserial \
-            -CA ${ROOT_CA_DIR}/cert.pem \
-            -CAkey ${ROOT_CA_DIR}/private.key \
-            -extfile ${extensions_file} \
-            -extensions ${extensions_name} \
-            -in ${certs_dir}/request.csr \
-            -out ${certs_dir}/cert.pem
+            -CA "${ROOT_CA_DIR}/cert.pem" \
+            -CAkey "${ROOT_CA_DIR}/private.key" \
+            -extfile "${extensions_file}" \
+            -extensions "${extensions_name}" \
+            -in "${certs_dir}/request.csr" \
+            -out "${certs_dir}/cert.pem"
     fi
 
     # Convert certificate to PKCS12 format
     openssl pkcs12 -export \
-        -name ${cert_name} \
-        -certfile ${root_ca_cert} \
-        -in ${certs_dir}/cert.pem \
-        -inkey ${certs_dir}/private.key \
+        -name "${cert_name}" \
+        -certfile "${root_ca_cert}" \
+        -in "${certs_dir}/cert.pem" \
+        -inkey "${certs_dir}/private.key" \
         -passout "pass:${PKCS12_PASSWORD}" \
-        -out ${certs_dir}/cert.p12
+        -out "${certs_dir}/cert.p12"
 }
 
 # generate_ipa_pkcs12_certificates $ipa_fqdn $ipa_domain
@@ -73,27 +73,27 @@ function generate_ipa_pkcs12_certificates {
     fi
 
     # Generate certificates folder structure
-    mkdir -p ${ROOT_CA_DIR}
-    mkdir -p ${DIRSRV_CERTS_DIR}/$host
-    mkdir -p ${HTTPD_CERTS_DIR}/$host
-    mkdir -p ${PKINIT_CERTS_DIR}/$host
+    mkdir -p "${ROOT_CA_DIR}"
+    mkdir -p "${DIRSRV_CERTS_DIR}/$host"
+    mkdir -p "${HTTPD_CERTS_DIR}/$host"
+    mkdir -p "${PKINIT_CERTS_DIR}/$host"
 
     # Generate root CA
     if [ ! -f "${ROOT_CA_DIR}/private.key" ]; then
         openssl genrsa \
-                -out ${ROOT_CA_DIR}/private.key 4096
+                -out "${ROOT_CA_DIR}/private.key" 4096
 
         openssl req -new -x509 -sha256 -nodes -days 3650 \
                 -subj "/C=US/ST=Test/L=Testing/O=Default" \
-                -key ${ROOT_CA_DIR}/private.key \
-                -out ${ROOT_CA_DIR}/cert.pem
+                -key "${ROOT_CA_DIR}/private.key" \
+                -out "${ROOT_CA_DIR}/cert.pem"
     fi
 
     # Generate a certificate for the Directory Server
     if [ ! -f "${DIRSRV_CERTS_DIR}/$host/cert.pem" ]; then
         generate_ipa_pkcs12_certificate \
             "dirsrv-cert" \
-            $host \
+            "$host" \
             "${DIRSRV_CERTS_DIR}/$host" \
             "${ROOT_CA_DIR}/cert.pem" \
             "${ROOT_CA_DIR}/private.key"
@@ -103,7 +103,7 @@ function generate_ipa_pkcs12_certificates {
     if [ ! -f "${HTTPD_CERTS_DIR}/$host/cert.pem" ]; then
         generate_ipa_pkcs12_certificate \
             "httpd-cert" \
-            $host \
+            "$host" \
             "${HTTPD_CERTS_DIR}/$host" \
             "${ROOT_CA_DIR}/cert.pem" \
             "${ROOT_CA_DIR}/private.key"
@@ -115,7 +115,7 @@ function generate_ipa_pkcs12_certificates {
 
         generate_ipa_pkcs12_certificate \
             "pkinit-cert" \
-            $host \
+            "$host" \
             "${PKINIT_CERTS_DIR}/$host" \
             "${ROOT_CA_DIR}/cert.pem" \
             "${ROOT_CA_DIR}/private.key" \
@@ -135,17 +135,17 @@ function delete_ipa_pkcs12_certificates {
         exit 0;
     fi
 
-    rm -f certificates/*/$host/*
-    rm -f ${ROOT_CA_DIR}/*
+    rm -f certificates/*/"$host"/*
+    rm -f "${ROOT_CA_DIR}"/*
 }
 
 # Entrypoint
 case "$1" in
   create)
-    generate_ipa_pkcs12_certificates $2 $3
+    generate_ipa_pkcs12_certificates "$2" "$3"
     ;;
   delete)
-    delete_ipa_pkcs12_certificates $2
+    delete_ipa_pkcs12_certificates "$2"
     ;;
   *)
     echo $"Usage: $0 {create|delete}"
diff --git a/tests/user/users.sh b/tests/user/users.sh
index 52981c1e..da408d75 100644
--- a/tests/user/users.sh
+++ b/tests/user/users.sh
@@ -4,24 +4,26 @@ NUM=${1-1000}
 FILE="users.json"
 date=$(date --date='+2 years' "+%Y-%m-%d %H:%M:%S")
 
-echo "{" > $FILE
+echo "{" > "$FILE"
 
-echo "  \"users\": [" >> $FILE
+echo "  \"users\": [" >> "$FILE"
 
-for i in $(seq 1 $NUM); do
-    echo "    {" >> $FILE
-    echo "      \"name\": \"user$i\"," >> $FILE
-    echo "      \"first\": \"First $i\"," >> $FILE
-    echo "      \"last\": \"Last $i\"," >> $FILE
-    echo "      \"password\": \"user${i}PW\"," >> $FILE
-    echo "      \"passwordexpiration\": \"$date\"" >> $FILE
-    if [ $i -lt $NUM ]; then
-       echo "    }," >> $FILE
+for i in $(seq 1 "$NUM"); do
+    {
+        echo "    {"
+        echo "      \"name\": \"user$i\","
+        echo "      \"first\": \"First $i\","
+        echo "      \"last\": \"Last $i\","
+        echo "      \"password\": \"user${i}PW\","
+        echo "      \"passwordexpiration\": \"$date\""
+    } >> "$FILE"
+    if [ "$i" -lt "$NUM" ]; then
+       echo "    }," >> "$FILE"
     else
-       echo "    }" >> $FILE
+       echo "    }" >> "$FILE"
     fi
 done
 
-echo "  ]" >> $FILE
+echo "  ]" >> "$FILE"
 
-echo "}" >> $FILE
+echo "}" >> "$FILE"
diff --git a/tests/user/users_absent.sh b/tests/user/users_absent.sh
index 1ee89ada..f0179931 100644
--- a/tests/user/users_absent.sh
+++ b/tests/user/users_absent.sh
@@ -3,20 +3,20 @@
 NUM=1000
 FILE="users_absent.json"
 
-echo "{" > $FILE
+echo "{" > "$FILE"
 
-echo "  \"users\": [" >> $FILE
+echo "  \"users\": [" >> "$FILE"
 
-for i in $(seq 1 $NUM); do
-    echo "    {" >> $FILE
-    echo "      \"name\": \"user$i\"," >> $FILE
-    if [ $i -lt $NUM ]; then
-       echo "    }," >> $FILE
+for i in $(seq 1 "$NUM"); do
+    echo "    {" >> "$FILE"
+    echo "      \"name\": \"user$i\"," >> "$FILE"
+    if [ "$i" -lt "$NUM" ]; then
+       echo "    }," >> "$FILE"
     else
-       echo "    }" >> $FILE
+       echo "    }" >> "$FILE"
     fi
 done
 
-echo "  ]" >> $FILE
+echo "  ]" >> "$FILE"
 
-echo "}" >> $FILE
+echo "}" >> "$FILE"
-- 
GitLab