From: Carlos Rica Date: Mon, 23 Jul 2007 21:21:03 GMT Subject: Re: [PATCH] Make verify-tag a builtin. Message-ID: <1b46aba20707231421k54ad2796i5c2f21cf11b4bea5@mail.gmail.com> In-Reply-To: 2007/7/23, Johannes Schindelin : > On Mon, 23 Jul 2007, Carlos Rica wrote: > > +static int run_gpg_verify(const char *buf, unsigned long size, int verbose) > > +{ > > + struct child_process gpg; > > + const char *args_gpg[] = {"gpg", "--verify", "FILE", "-", NULL}; > > + char *path, *eol; > > + size_t len; > > + int fd, ret; > > + > > + path = xstrdup(git_path("VTAG_TMP")); > > + fd = open(path, O_CREAT | O_TRUNC | O_WRONLY, 0600); > > + if (fd < 0) > > + return error("could not create temporary file '%s': %s", > > + path, strerror(errno)); > > + if (write_in_full(fd, buf, size) < 0) > > + return error("failed writing temporary file '%s': %s", > > + path, strerror(errno)); > > + close(fd); > > I just tested something like "gpg --verify - - < " and it > worked... I couldn't verify tags using "gpg --verify - - I even tested to insert the header myself after creating a signed file as git does: cp file otherfile gpg -bsa otherfile ... cat otherfile.asc >>otherfile ( echo -e "-----BEGIN PGP SIGNED MESSAGE-----\nHash: SHA1\n" ; cat otherfile ) \ | gpg --verify Note that sending them to "diff file.asc -" also shows different signatures, but anyway it also says "gpg: BAD signature from ...", the same message as in: gpg --verify - -