From: Silvio Rhatto Date: Fri, 16 May 2014 18:37:55 +0000 (-0300) Subject: Workaround for open/edit action returning instantaneously (#49) X-Git-Tag: 0.3.4~1^2~3 X-Git-Url: https://gitweb.fluxo.info/?a=commitdiff_plain;h=845e593c84661f05576f96da9e384a671ca56e53;p=keyringer.git Workaround for open/edit action returning instantaneously (#49) --- diff --git a/ChangeLog b/ChangeLog index 029a546..e4e7ede 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2014-05-16 - Silvio Rhatto + 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) diff --git a/lib/keyringer/actions/edit b/lib/keyringer/actions/edit index 576bb67..63017d5 100755 --- a/lib/keyringer/actions/edit +++ b/lib/keyringer/actions/edit @@ -38,11 +38,23 @@ fi # 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"