X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=ud-replicate;h=87491a367d5df37ce418b08e89fe61e9077de814;hb=aefc0a50e8e2603a95f31721712111bda4a56864;hp=7228815ec9e8d346bd481c1ef12f5fd7ed0530b9;hpb=5e68c8d2c993b3d485034703d93e22fd80e1fdd7;p=mirror%2Fuserdir-ldap.git diff --git a/ud-replicate b/ud-replicate index 7228815..87491a3 100755 --- a/ud-replicate +++ b/ud-replicate @@ -32,11 +32,15 @@ else fi tempdir='' +tempfile='' +tempfile2='' cleanup () { rm -f lock rm -rf $tempdir + rm -f $tempfile + rm -f $tempfile2 } PATH=/sbin:/usr/sbin:/bin:/usr/bin @@ -59,7 +63,18 @@ $LOCALSYNCON) ;; esac -rsync ${verbose} --delete-after -e 'ssh -i /etc/ssh/ssh_host_rsa_key -o PreferredAuthentications=publickey' -rp "${udhost}/var/cache/userdir-ldap/hosts/$HOST" . +tempfile=$(mktemp) +tempfile2=$(mktemp) + +if [ -e /var/lib/misc/thishost/dns-sshfp ]; then + cp /var/lib/misc/thishost/dns-sshfp $tempfile +fi + +if [ -e /var/lib/misc/thishost/dns-zone ]; then + cp /var/lib/misc/thishost/dns-zone $tempfile2 +fi + +rsync ${verbose} --delete-after --times -e 'ssh -i /etc/ssh/ssh_host_rsa_key -o PreferredAuthentications=publickey' -rp "${udhost}/var/cache/userdir-ldap/hosts/$HOST" . makedb "$HOST/passwd.tdb" -o passwd.db.t if [ -s "$HOST/shadow.tdb" ] @@ -90,6 +105,11 @@ if [ -e ${HOST}/ssh-keys.tar.gz ]; then rsync -a --delete-after $tempdir/ userkeys/ fi +if [ -e ${HOST}/web-passwords ]; then + chown root:www-data ${HOST}/web-passwords + chmod 0640 ${HOST}/web-passwords +fi + CHROOTS="" if [ -x /usr/bin/dchroot ]; then CHROOTS=`dchroot --listpaths` @@ -146,3 +166,22 @@ if [ -d "/etc/postfix" -a -f "$HOST/forward-alias" ]; then sed -e "s/:/@$EMAILAPPEND/" $HOST/forward-alias > /etc/postfix/debian /usr/sbin/postmap hash:/etc/postfix/debian < /etc/postfix/debian || true fi + +rndc_reload=0 +if [ -e /var/lib/misc/thishost/dns-sshfp ]; then + if ! cmp -s /var/lib/misc/thishost/dns-sshfp $tempfile; then + /git/HOOKS/write_zonefile "$EMAILAPPEND" + rndc_reload=1 + fi +fi + +if [ -e /var/lib/misc/thishost/dns-zone ]; then + if ! cmp -s /var/lib/misc/thishost/dns-zone $tempfile2; then + /git/HOOKS/write_zonefile debian.net + rndc_reload=1 + fi +fi + +if [ "${rndc_reload}" -gt 0 ]; then + rndc reload +fi