Hi,
I'm using your gnupg Vim script [1] and found a minor problem involving
GPG_TTY not being set, which is no problem on my system because I use
pinentry-gtk to get passphrases with.
Secondly it is possible to use whatever tty is current by using the
output from the `tty' command.
Thus I have made a patch that addresses this problem. See attached.
[1] http://www.vim.org/scripts/script.php?script_id=661
--
Giel
Here his message:
Hallo,
uns sind hier zwei Fehler an dem gnupg.vim-script aufgefallen die wir hier
erstmal vorsorglich umgangen haben. (Patch hängt an)
1. Wenn wenn Einträge in der in der Empfängerliste waren die einen Trustlevel
< 4 hatten frage Gnupg nochmal nach ob denn nun dieser Schlüssel übernommen
werden sollte wenn man dies verneinte wurde die Datei dennoch gespeichert,
aber unverschlüsselt - was sicher die schlechteste lösung ist.
Kleiner auszug aus der Schell darüber:
=========================================
pub 1024g/6E4DF128 2006-12-06 Sascha L. Teichmann
<s-l-teichmann@users.sourceforge.net>
Haupt-Fingerabdruck = 4F52 9526 6786 0497 4390 676F B2BB CE94 57FC 1337
Unter-Fingerabdruck = AD32 F49A C4AD 7113 CF0D 0303 548A 53F3 6E4D F128
It is NOT certain that the key belongs to the person named
in the user ID. If you *really* know what you are doing,
you may answer the next question with yes.
Use this key anyway? (y/N)
--> Vorgabe (also nein) führt zu
"Zugang/Zugang.gpg" 0L, 0C geschrieben
=========================================
Mittels "--trust-model always" erzwingen wir die zustimung und die Daten
bleiben verschlüsselt.
2. Wenn man die Empfänger einer Datei bearbeitet hat und man verlässt den
Puffer zur eingabe und nun wird ein eingetragener Schlüssel gelöscht
speichert man wieder eine kaputte gpg Datei.
Ich habe eine zusätzliche prüfung auf unbekannte Empfänger hinzugefügt und
lösche diese Unbekannten Keys vor er verschlüsselung.
In beiden fällen war es mir nicht möglich bei einem aufgetretenen Fehler
wieder zurück in den Editormodus zu wechseln, was sicher an meinen schlechten
Vimscript Kenntnissen liegt. Dies wäre aus meiner Sicht natürlich die beste
Lösung.
Hoffe ich konnte helfen.
Mit freundlichen Grüßen
Karl-Heinz Ruskowski
--
Karl-Heinz Ruskowski OpenPGP key: FB8DA3BF
Intevation GmbH, Osnabrück
Amtsgericht Osnabrück, HR B 18998 http://www.intevation.de/
Geschäftsführer: Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner
This script implements transparent editing of gpg encrypted files. The
filename must have a ".gpg" suffix. When opening such a file the content
is decrypted, when opening a new file the script will ask for the
recipients of the encrypted file. The file content will be encrypted to
all recipients before it is written. The script turns off viminfo and
swapfile to increase security.
This is another step to prevent writing out sensitive information to disk.
Typically, when running an external command, Vim writes the command input (the
buffer in this case) to a file in a private temp directory. When
'noshelltemp' is set and the system supports it, Vim uses pipes to the child
process to handle this instead.
Signed-off-by: James Vega <vega.james@gmail.com>
The two argument form of shellescape() is now being used, and that was
introduced in the pre-releases of 7.2.
Signed-off-by: James Vega <vega.james@gmail.com>
With this change, we're able to properly handle errors from shell commands.
This means no more overwriting the original file when an incorrect password is
entered or some other similar scenario.
Also, move the handling of entering recipients to gpg itself instead of
mimicking that in Vim itself.
Signed-off-by: James Vega <vega.james@gmail.com>