lock() {
local use_lockfileprogs=true
local action="$1"
- local file="$file"
+ local file="$2"
if ! ( which lockfile-create >/dev/null 2>/dev/null ) ; then
if ! ( which lockfile >/dev/null ); then
failure "Neither lockfile-create nor lockfile are in the path!"
+ fi
use_lockfileprogs=
fi
;;
touch)
if [ -n "$use_lockfileprogs" ] ; then
- lockfile-touch "$file"
+ lockfile-touch --oneshot "$file"
else
- # Nothing to do here
+ : Nothing to do here
fi
;;
remove)
if [ "$HASH_KNOWN_HOSTS" = 'true' ] ; then
# FIXME: this is really hackish cause ssh-keygen won't
# hash from stdin to stdout
- tmpfile=$(mktemp)
+ tmpfile=$(mktemp ${TMPDIR:-/tmp}/tmp.XXXXXXXXXX)
ssh2known_hosts "$host" "$sshKey" > "$tmpfile"
ssh-keygen -H -f "$tmpfile" 2> /dev/null
cat "$tmpfile" >> "$KNOWN_HOSTS"
esac
# touch the lockfile, for good measure.
- lock touch --oneshot "$KNOWN_HOSTS"
+ lock touch "$KNOWN_HOSTS"
done
# remove the lockfile and the trap
esac
# touch the lockfile, for good measure.
- lock touch --oneshot "$AUTHORIZED_KEYS"
+ lock touch "$AUTHORIZED_KEYS"
done
# remove the lockfile and the trap