From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: [ptxdist] [PATCH] openssh/rc-once: deduplicate some function parameters
Date: Fri, 7 Aug 2020 11:16:04 +0200 [thread overview]
Message-ID: <20200807091604.22777-1-u.kleine-koenig@pengutronix.de> (raw)
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 <u.kleine-koenig@pengutronix.de>
---
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
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de
next reply other threads:[~2020-08-07 9:16 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-07 9:16 Uwe Kleine-König [this message]
2020-08-07 12:41 ` Michael Olbrich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200807091604.22777-1-u.kleine-koenig@pengutronix.de \
--to=u.kleine-koenig@pengutronix.de \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox