Re: [ptxdist] [PATCH] openssh/rc-once: deduplicate some function parameters

2020-08-07 Thread Michael Olbrich
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 
> ---
> 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- |

___
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to 
ptxdist-requ...@pengutronix.de


[ptxdist] [PATCH] openssh/rc-once: deduplicate some function parameters

2020-08-07 Thread Uwe Kleine-König
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 
---
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-requ...@pengutronix.de