On Fri, Aug 07, 2020 at 11:16:04AM +0200, Uwe Kleine-König wrote: > 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-koe...@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 > +"*)
This looks quite strange. Maybe: case " $(echo $hostkeys) " in *" $file "*) Michael > + 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-requ...@pengutronix.de -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-requ...@pengutronix.de