Modified to work with gpg2 correctly.

This commit is contained in:
Markus Braun 2007-12-11 09:43:38 +00:00
parent bf868fb9a1
commit c069e0f21d

View File

@ -56,6 +56,7 @@
" Richard Bronosky for patch to enable ".pgp" suffix.
" Erik Remmelzwaal for patch to enable windows support and patient beta
" testing.
" Lars Becker for patch to make gpg2 working.
"
" Section: Plugin header {{{1
if (exists("g:loaded_gnupg") || &cp || exists("#BufReadPre#*.\(gpg\|asc\|pgp\)"))
@ -187,12 +188,12 @@ fun s:GPGDecrypt()
" find the recipients of the file
let &shellredir=s:shellredir
let &shell=s:shell
let output=system(s:GPGCommand . " --decrypt --dry-run --batch --no-use-agent --logger-fd 1 \"" . filename . "\"")
let output=system(s:GPGCommand . " --verbose --decrypt --dry-run --batch --no-use-agent --passphrase \"ThisIsHopefullyNotThePassphraseOfAnyone\" --logger-fd 1 \"" . filename . "\"")
let &shellredir=s:shellredirsave
let &shell=s:shellsave
" check if the file is symmetric/asymmetric encrypted
if (match(output, "gpg: [^ ]\\+ encrypted data") >= 0)
if (match(output, "gpg: encrypted with [[:digit:]]\\+ passphrase") >= 0)
" file is symmetric encrypted
let b:GPGEncrypted=1
@ -207,7 +208,7 @@ fun s:GPGDecrypt()
echo
echohl None
endi
elseif (match(output, "gpg: public key decryption") >= 0)
elseif (match(output, "gpg: public key is [[:xdigit:]]\\{8}") >= 0)
" file is asymmetric encrypted
let b:GPGEncrypted=1
@ -228,7 +229,7 @@ fun s:GPGDecrypt()
end
let start=match(output, "ID [[:xdigit:]]\\{8}", start)
endw
elseif (match(output, "gpg: no valid OpenPGP data found") >= 0)
else
" file is not encrypted
let b:GPGEncrypted=0
echohl GPGWarning