2014-05-16 - Silvio Rhatto <rhatto@riseup.net>
+ Workaround for open/edit action returning instantaneously (#49)
+
Use 'nobackup' and 'nowritebackup' if VIM is set as $EDITOR (#50)
Find: rollback: use find+grep instead of 'find -iname' (#53)
# Prompt
echo "Press any key to open the decrypted data with $APP, Ctrl-C to abort"
-echo "WARNING: please make sure that $APP doesn't leak data to external applications os files"
+echo "WARNING: please make sure that $APP doesn't leak data to external applications or files"
read key
$APP "$TMPWORK"
+
+# Wait for background process to finish
wait
+# Workaround for some applications running in client/server mode, handling open file requests
+# to a daemon and exiting immediatelly, making keyringer guess the editing is over and the file
+# must be encrypted again (See #49).
+#
+# Thus, we cannot just wipe the file and exit keyringer, as the user might have a buffered copy
+# of the unencrypted file in the application, which can lead to information leakage if the user
+# saves the file and leaves the editor.
+echo "Press any key when done using the file and you're sure that $APP is closed."
+read -n 1
+
# Encrypt again
export KEYRINGER_ADD_EXTENSION=false
keyringer_exec encrypt "$BASEDIR" "$FILE" "$TMPWORK"