X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=utilities%2Fovs-pki.in;h=2dc40603e92b41955dd8adaaa9828dff6c2b4612;hb=0f5ed573fedd9b608cb48c597f31311be7a877fa;hp=019ffcfadf922a766a751299f13fc58923aaf616;hpb=6dc2f8eeada4e4e1b1fc29d69cb7cbdf1cd94061;p=sliver-openvswitch.git diff --git a/utilities/ovs-pki.in b/utilities/ovs-pki.in index 019ffcfad..2dc40603e 100755 --- a/utilities/ovs-pki.in +++ b/utilities/ovs-pki.in @@ -24,6 +24,38 @@ batch=no log='@LOGDIR@/ovs-pki.log' keytype=rsa bits=2048 + +# OS-specific compatibility routines +case $(uname -s) in +FreeBSD) + file_mod_epoch() + { + stat -r "$1" | awk '{print $10}' + } + + file_mod_date() + { + stat -f '%Sm' "$1" + } + + sha1sum() + { + sha1 "$@" + } + ;; +*) + file_mod_epoch() + { + date -r "$1" +%s + } + + file_mod_date() + { + date -r "$1" + } + ;; +esac + for option; do # This option-parsing mechanism borrowed from a Autoconf-generated # configure script under the following license: @@ -365,7 +397,7 @@ make_tmpdir() { fingerprint() { file=$1 name=${1-$2} - date=$(date -r $file) + date=$(file_mod_date "$file") if grep -e '-BEGIN CERTIFICATE-' "$file" > /dev/null; then fingerprint=$(openssl x509 -noout -in "$file" -fingerprint | sed 's/SHA1 Fingerprint=//' | tr -d ':') @@ -609,7 +641,7 @@ elif test "$command" = expire; then for type in switch controller; do cd "$pkidir/${type}ca/incoming" || exit 1 for file in $(glob "*"); do - time=$(date -r "$file" +%s) + time=$(file_mod_epoch "$file") if test "$time" -lt "$cutoff"; then rm -f "$file" fi