The create_keys() function passed the key type three times. Now it's
only passed once. While at it also use the shell builtin case instead of
echo | grep to find the needed keys.

The only visible change is that the end message message changes from

        Creating RSA key; done.

to

        Created RSA key.

Signed-off-by: Uwe Kleine-König <[email protected]>
---
Hello,

I noticed this "triplication" while updating a BSP and merging in some
BSP specific features. I guess it is subjective if you consider this an
improvement, so judge freely if you want it in ptxdist or not.

Best regards
Uwe

 projectroot/etc/rc.once.d/openssh | 35 +++++++++++++++++--------------
 1 file changed, 19 insertions(+), 16 deletions(-)

diff --git a/projectroot/etc/rc.once.d/openssh 
b/projectroot/etc/rc.once.d/openssh
index 4a3c594cc3ae..813e7c620e49 100644
--- a/projectroot/etc/rc.once.d/openssh
+++ b/projectroot/etc/rc.once.d/openssh
@@ -18,32 +18,35 @@ host_keys_required() {
 }
 
 create_key() {
-       msg="$1"
+       _type="$1"
+       prettytype="$(echo $_type | tr a-z A-Z)"
        shift
        hostkeys="$1"
        shift
-       file="$1"
-       shift
 
-       if echo "$hostkeys" | grep -x "$file" >/dev/null; then
-               echo "$msg; this may take some time ..."
+       file="/etc/ssh/ssh_host_${_type}_key"
+
+       case "
+$hostkeys
+" in
+       *"
+$file
+"*)
+               echo "Create $prettytype key; this may take some time ..."
                rm -f $file &&
-               ssh-keygen -q -f "$file" -N '' "$@" || return
-               echo "$msg; done."
-       fi
+               ssh-keygen -q -f "$file" -N '' -t "$_type" "$@" || return
+               echo "Created $prettytype key."
+               ;;
+       esac
 }
 
 create_keys() {
        hostkeys="$(host_keys_required)"
 
-       create_key "Creating DSA key" \
-               "$hostkeys" /etc/ssh/ssh_host_dsa_key -t dsa &&
-       create_key "Creating ECDSA key" \
-               "$hostkeys" /etc/ssh/ssh_host_ecdsa_key -t ecdsa &&
-       create_key "Creating ED25519 key" \
-               "$hostkeys" /etc/ssh/ssh_host_ed25519_key -t ed25519 &&
-       create_key "Creating RSA key" \
-               "$hostkeys" /etc/ssh/ssh_host_rsa_key -t rsa -b 4096
+       create_key "dsa" "$hostkeys" &&
+       create_key "ecdsa" "$hostkeys" &&
+       create_key "ed25519" "$hostkeys" &&
+       create_key "rsa" "$hostkeys" -b 4096
 }
 
 if ! create_keys; then
-- 
2.28.0


_______________________________________________
ptxdist mailing list
[email protected]
To unsubscribe, send a mail with subject "unsubscribe" to 
[email protected]

Reply via email to