diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2012-09-14 05:24:12 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2012-09-14 05:24:12 +0200 |
commit | 837ea36d0aa61185ac5a51d632353efc361d7ffd (patch) | |
tree | 392a2289b8902173275d6fd0a89a3db3fab2b646 /contrib/osx-ramdisk.patch | |
parent | 4959ebe76b9ec1b1effc619b22fdd81d5894d733 (diff) | |
download | pass-837ea36d0aa61185ac5a51d632353efc361d7ffd.tar.gz pass-837ea36d0aa61185ac5a51d632353efc361d7ffd.tar.bz2 pass-837ea36d0aa61185ac5a51d632353efc361d7ffd.zip |
Put OSX ramdisk patch into contrib.
This should be removed at somepoint in the future. Currently, the
Homebrew people need something to make them happy. This is it.
Diffstat (limited to '')
-rw-r--r-- | contrib/osx-ramdisk.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/contrib/osx-ramdisk.patch b/contrib/osx-ramdisk.patch new file mode 100644 index 0000000..b1738b0 --- /dev/null +++ b/contrib/osx-ramdisk.patch @@ -0,0 +1,36 @@ +From 9f640573906bf7f98133006d09cb2bddca5ec5ae Mon Sep 17 00:00:00 2001 +From: "Jason A. Donenfeld" <Jason@zx2c4.com> +Date: Wed, 12 Sep 2012 21:08:56 +0200 +Subject: [PATCH] Use ramdisk for volatile storage in OSX. + +--- + src/password-store.sh | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/src/password-store.sh b/src/password-store.sh +index c736d7b..33a0e97 100755 +--- a/src/password-store.sh ++++ b/src/password-store.sh +@@ -239,6 +239,19 @@ case "$command" in + + if [[ -d /dev/shm && -w /dev/shm && -x /dev/shm ]]; then + tmp_dir="$(TMPDIR=/dev/shm mktemp -t $template -d)" ++ elif [[ $(uname) = "Darwin" ]]; then ++ cleanup_tmp() { ++ [[ -d $tmp_dir ]] || return ++ rm -rf "$tmp_file" "$tmp_dir" 2>/dev/null ++ umount "$tmp_dir" ++ diskutil quiet eject "$ramdisk_dev" ++ rmdir "$tmp_dir" ++ } ++ trap cleanup_tmp INT TERM EXIT ++ tmp_dir="$(mktemp -t $template -d)" ++ ramdisk_dev="$(hdid -drivekey system-image=yes -nomount 'ram://32768' | cut -d ' ' -f 1)" # 32768 sectors = 16 mb ++ newfs_hfs -M 700 "$ramdisk_dev" &>/dev/null || exit 1 ++ mount -t hfs -o noatime -o nobrowse "$ramdisk_dev" "$tmp_dir" || exit 1 + else + prompt=$(echo "Your system does not have /dev/shm, which means that it may" + echo "be difficult to entirely erase the temporary non-encrypted" +-- +1.7.12 + |