From c31bbd546a9be36f335345a9dad33676de2dbcb6 Mon Sep 17 00:00:00 2001
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
Date: Tue, 18 Mar 2014 23:32:46 -0600
Subject: Shred shm files.

---
 src/password-store.sh   | 3 ++-
 src/platform/darwin.sh  | 1 +
 src/platform/freebsd.sh | 1 +
 3 files changed, 4 insertions(+), 1 deletion(-)

(limited to 'src')

diff --git a/src/password-store.sh b/src/password-store.sh
index d0a8ab8..b2e2d0c 100755
--- a/src/password-store.sh
+++ b/src/password-store.sh
@@ -120,6 +120,7 @@ tmpdir() {
 
 }
 GETOPT="getopt"
+SHRED="shred -f -z"
 
 # source /path/to/platform-defined-functions
 #
@@ -288,7 +289,7 @@ case "$command" in
 		passfile="$PREFIX/$path.gpg"
 		template="$program.XXXXXXXXXXXXX"
 
-		trap 'rm -rf "$tmp_dir" "$tmp_file"' INT TERM EXIT
+		trap '$SHRED "$tmp_file"; rm -rf "$tmp_dir" "$tmp_file"' INT TERM EXIT
 
 		tmpdir #Defines $tmp_dir
 		tmp_file="$(TMPDIR="$tmp_dir" mktemp -t "$template")"
diff --git a/src/platform/darwin.sh b/src/platform/darwin.sh
index 4e94941..fac47b1 100644
--- a/src/platform/darwin.sh
+++ b/src/platform/darwin.sh
@@ -32,3 +32,4 @@ tmpdir() {
 }
 
 GETOPT="$(brew --prefix gnu-getopt 2>/dev/null || echo /usr/local)/bin/getopt"
+SHRED="srm -f -z"
diff --git a/src/platform/freebsd.sh b/src/platform/freebsd.sh
index a8611e8..b3a4136 100644
--- a/src/platform/freebsd.sh
+++ b/src/platform/freebsd.sh
@@ -16,3 +16,4 @@ tmpdir() {
 }
 
 GETOPT="/usr/local/bin/getopt"
+SHRED="rm -P -f"
-- 
cgit v1.2.3