#!/bin/bash # NSC -- DNSSEC key hash updater # (c) 2019 Martin Mares set -e shopt -s nullglob . bin/shell-env if [ $# -gt 1 ] ; then echo >&2 "Usage: $0 []" exit 1 fi update () { local D=$1 local K=$KEYDIR/$D local H=$K.hash cat $K/*.key | sha1sum | cut -f1 -d' ' >$H.new if [ ! -f $H ] || ! cmp -s $H $H.new ; then echo "** $D: New key hash" mv $H.new $H else echo "-- $D: No change" rm $H.new fi } if [ -z "$1" ] ; then for DD in $KEYDIR/* ; do if [ -d "$DD" ] ; then update $(basename $DD) fi done for H in $KEYDIR/*.hash ; do B=$(basename $H .hash) if [ ! -d $KEYDIR/$B ] ; then echo "## $B: Deleted obsolete hash" rm $H fi done else update $1 fi