ud-generate: handle individual ssh keys
authorStephen Gran <steve@lobefin.net>
Wed, 14 May 2008 20:52:22 +0000 (21:52 +0100)
committerStephen Gran <steve@lobefin.net>
Wed, 14 May 2008 20:52:22 +0000 (21:52 +0100)
debian/changelog
ud-replicate

index 4d936b8..ab46ddc 100644 (file)
@@ -1,3 +1,9 @@
+userdir-ldap (0.3.22) unstable; urgency=low
+
+  * ud-generate: handle individual ssh keys
+
+ -- Stephen Gran <sgran@debian.org>  Wed, 14 May 2008 21:51:51 +0100
+
 userdir-ldap (0.3.21) unstable; urgency=low
 
   * ud-replicate: use the host key to sync stuff from the db server,
index 0f98f8b..2e99d75 100755 (executable)
@@ -30,6 +30,14 @@ else
     verbose=-v
 fi
 
+tempdir=''
+
+cleanup ()
+{
+  rm -f lock
+  rm -rf $tempdir
+}
+
 PATH=/sbin:/usr/sbin:/bin:/usr/bin
 export PATH
 HOST=`hostname -f`
@@ -38,7 +46,7 @@ LOCALSYNCON=`ud-config localsyncon`;
 cd /tmp/
 cd /var/lib/misc || cd /var/state/glibc/ || cd /var/db/
 lockfile -r 1 -l 3600 lock
-trap "rm -f lock" exit
+trap cleanup exit
 
 case $HOST in
 $LOCALSYNCON)
@@ -68,14 +76,14 @@ done
 ln -sf `pwd -P`/ssh-rsa-shadow /etc/ssh
 ln -sf `pwd -P`/ssh_known_hosts /etc/ssh
 
-find $HOST -name "ssh-rsa-shadow-*" -type f | while read f
-do
-       user=$(echo $f | sed s@.*-@@)
-       id ${user} 2>/dev/null >/dev/null
-       if [ $? -eq 0 ]; then 
-               chown $user $f
-       fi
-done
+if [ -e ssh-keys.tar.gz ]; then
+  export TMPDIR='/tmp/' 
+  tempdir=$(mktemp -d)
+  old=$(pwd -P)
+  cd $tempdir && tar -xvf $old/ssh-keys.tar.gz
+  mkdir userkeys 2> /dev/null || true
+  rsync -av --delete-after $tempdir/ userkeys/
+fi
 
 if [ -x /usr/bin/dchroot ]; then
        CHROOTS=`dchroot --listpaths`