Package: lessdisks Version: 0.5.3cvs.20040906-10 Followup-For: Bug #289759 having tested -10, i've found it to more-or-less work alright, other than the broken known_hosts generation.
so, here's two patches- one is a patch against source, and the other is a patch against lessdisks-keycopy after 104_improved_keycopy.diff has already been applied. changes: generates functional known_hosts file uses /etc/ssh/ssh_known_hosts instead of /root/.ssh/known_hosts use $() instead of `` to be more consistant with other lessdisks code (some old lessdisks code still uses ``) add closing > to email address enjoy. live well, vagrant -- System Information: Debian Release: 3.1 APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i586) Kernel: Linux 2.6.8-1-386 Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Versions of packages lessdisks depends on: ii adduser 3.59 Add and remove users and groups ii binutils 2.15-5 The GNU assembler, linker and bina ii coreutils [shelluti 5.2.1-2 The GNU core utilities ii debconf 1.4.30.11 Debian configuration management sy ii debootstrap 0.2.45 Bootstrap a basic Debian system ii lessdisks-easydialo 0.5.3cvs.20040906-10 flexible diskless (x)terminal syst ii nfs-kernel-server [ 1:1.0.6-3.1 Kernel NFS server support ii shellutils 5.2.1-2 The GNU shell programming utilitie ii wget 1.9.1-8 retrieves files from the web -- debconf information excluded
diff -ruN lessdisks-0.5.3cvs.20040906.orig/install/usr-sbin/lessdisks-keycopy lessdisks-0.5.3cvs.20040906/install/usr-sbin/lessdisks-keycopy --- lessdisks-0.5.3cvs.20040906.orig/install/usr-sbin/lessdisks-keycopy 2004-04-30 07:05:28.000000000 -0700 +++ lessdisks-0.5.3cvs.20040906/install/usr-sbin/lessdisks-keycopy 2005-01-19 09:27:12.000000000 -0800 @@ -5,6 +5,20 @@ # copyright 2004 [EMAIL PROTECTED], distributed under the terms of the # GNU General Public License version 2 or any later version. +# Rewrite 2005 Jonas Smedegaard <[EMAIL PROTECTED]>: +# * Preserve existing keys +# * Quote all vars +# * Set modes on SSH dir only if creating it +# * Sanity checks on getting keys +# * Inject only existing keys + +# Re-rewrite 2005 Vagrant Cascadian <[EMAIL PROTECTED]>: +# * generate proper known_hosts file +# * use /etc/ssh/ssh_known_hosts instead of /root/.ssh/known_hosts +# * use $() instead of `` + +set -e + if [ -r /etc/lessdisks-install.conf ]; then . /etc/lessdisks-install.conf fi @@ -18,21 +32,28 @@ exit 2 fi -tempfile=$(tempfile) +workdir="$lessdisks_path/etc/ssh" +known_hosts="$workdir/ssh_known_hosts" +thishost="$(hostname)" -if [ -z "$tempfile" ]; then - echo "no tempfile set... arg!" - exit 1 +if [ ! -d "$workdir" ]; then + mkdir -p "$workdir" fi -for name in xapp disk $(hostname); do - for type in rsa dsa; do - echo "$name" $(cat /etc/ssh/ssh_host_$type\_key.pub) >> $tempfile - done +for type in rsa dsa; do + + pubkey="$(cat /etc/ssh/ssh_host_${type}_key.pub | tail -n 1 | awk '{ print $1" "$2}')" + pubkey_type="$(echo $pubkey | awk '{print $1}')" + if [ -n "$pubkey" ]; then + # Make sure there's at least one line for perl to parse + echo "# dummy line" >> "$known_hosts" + + for name in xapp disk $thishost; do + perl -ni -e "\$n++; \ + print \"$name $pubkey\n\" if \$n==1; \ + print && next unless /^($name\s$pubkey_type|# dummy line)/i;" "$known_hosts" + done + fi done -mkdir -p $lessdisks_path/root/.ssh -cd $lessdisks_path/root/.ssh -chmod og-rwx . -cp $tempfile known_hosts exit $?
--- lessdisks-keycopy 2005-01-19 09:55:45.000000000 -0800 +++ lessdisks-keycopy.new 2005-01-19 09:55:36.000000000 -0800 @@ -5,13 +5,18 @@ # copyright 2004 [EMAIL PROTECTED], distributed under the terms of the # GNU General Public License version 2 or any later version. -# Rewrite 2005 Jonas Smedegaard <[EMAIL PROTECTED]: +# Rewrite 2005 Jonas Smedegaard <[EMAIL PROTECTED]>: # * Preserve existing keys # * Quote all vars # * Set modes on SSH dir only if creating it # * Sanity checks on getting keys # * Inject only existing keys +# Re-rewrite 2005 Vagrant Cascadian <[EMAIL PROTECTED]>: +# * generate proper known_hosts file +# * use /etc/ssh/ssh_known_hosts instead of /root/.ssh/known_hosts +# * use $() instead of `` + set -e if [ -r /etc/lessdisks-install.conf ]; then @@ -27,26 +32,26 @@ exit 2 fi -workdir="$lessdisks_path/root/.ssh" -thishost="`hostname`" +workdir="$lessdisks_path/etc/ssh" +known_hosts="$workdir/ssh_known_hosts" +thishost="$(hostname)" if [ ! -d "$workdir" ]; then mkdir -p "$workdir" - chmod og-rwx "$workdir" fi for type in rsa dsa; do - pubkey="`cat /etc/ssh/ssh_host_${type}_key.pub | tail -n 1 | awk '{ print $1 }'`" - + pubkey="$(cat /etc/ssh/ssh_host_${type}_key.pub | tail -n 1 | awk '{ print $1" "$2}')" + pubkey_type="$(echo $pubkey | awk '{print $1}')" if [ -n "$pubkey" ]; then # Make sure there's at least one line for perl to parse - echo "# dummy line" >> "$workdir/known_hosts" + echo "# dummy line" >> "$known_hosts" for name in xapp disk $thishost; do perl -ni -e "\$n++; \ - print \"$type $name $pubkey\n\" if \$n==1; \ - print && next unless /^((rsa|dsa)\s$name\s|# dummy line)/i;" "$workdir/known_hosts" + print \"$name $pubkey\n\" if \$n==1; \ + print && next unless /^($name\s$pubkey_type|# dummy line)/i;" "$known_hosts" done fi done
signature.asc
Description: Digital signature