gpg: Make the use of "--verify FILE" for detached sigs harder.
authorWerner Koch <wk@gnupg.org>
Fri, 14 Nov 2014 08:36:19 +0000 (09:36 +0100)
committerWerner Koch <wk@gnupg.org>
Fri, 14 Nov 2014 18:41:24 +0000 (19:41 +0100)
commitfbb50867f81d790c4bf819dcadcd14be6c3f957b
tree0f9235d691c4e30d6554d7fee9ca184f110922b3
parent42d2474a02aa46e6fecf0e35c067aa0b6481ffbe
gpg: Make the use of "--verify FILE" for detached sigs harder.

* g10/openfile.c (open_sigfile): Factor some code out to ...
(get_matching_datafile): new function.
* g10/plaintext.c (hash_datafiles): Do not try to find matching file
in batch mode.
* g10/mainproc.c (check_sig_and_print): Print a warning if a possibly
matching data file is not used by a standard signatures.
--

Allowing to use the abbreviated form for detached signatures is a long
standing bug which has only been noticed by the public with the
release of 2.1.0.  :-(

What we do is to remove the ability to check detached signature in
--batch using the one file abbreviated mode.  This should exhibit
problems in scripts which use this insecure practice.  We also print a
warning if a matching data file exists but was not considered because
the detached signature was actually a standard signature:

  gpgv: Good signature from "Werner Koch (dist sig)"
  gpgv: WARNING: not a detached signature; \
  file 'gnupg-2.1.0.tar.bz2' was NOT verified!

We can only print a warning because it is possible that a standard
signature is indeed to be verified but by coincidence a file with a
matching name is stored alongside the standard signature.

Reported-by: Simon Nicolussi (to gnupg-users on Nov 7)
Signed-off-by: Werner Koch <wk@gnupg.org>
(backported from commit 69384568f66a48eff3968bb1714aa13925580e9f)

Updated doc/gpg.texi.
doc/gpg.texi
g10/main.h
g10/mainproc.c
g10/openfile.c
g10/plaintext.c