[git] GnuPG - branch, master, updated. gnupg-2.1.11-123-g76ca869

by Justus Winter cvs at cvs.gnupg.org
Wed Apr 6 11:34:53 CEST 2016


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The GNU Privacy Guard".

The branch, master has been updated
       via  76ca869197e304daa5a8dd96ea43113ec7b28354 (commit)
      from  9354293b8c9f234939bc04182f15e2fe512e914e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 76ca869197e304daa5a8dd96ea43113ec7b28354
Author: Justus Winter <justus at g10code.com>
Date:   Wed Apr 6 11:34:11 2016 +0200

    Revert "g10: Support armored keyrings in gpgv."
    
    This reverts commit abb352de51bc964c06007fce43ed6f6caea87c15.

diff --git a/doc/gpgv.texi b/doc/gpgv.texi
index 214fb99..1d9a81e 100644
--- a/doc/gpgv.texi
+++ b/doc/gpgv.texi
@@ -92,9 +92,6 @@ are replaced by the HOME directory. If the filename
 does not contain a slash, it is assumed to be in the
 home-directory ("~/.gnupg" if --homedir is not used).
 
-If @var{file} ends in @code{.asc} then it is assumed to be an armored
-keyring produced e.g. by @code{gpg --export}.
-
 @item --status-fd @var{n}
 @opindex status-fd
 Write special status strings to the file descriptor @var{n}.  See the
diff --git a/g10/Makefile.am b/g10/Makefile.am
index c901198..cd1d157 100644
--- a/g10/Makefile.am
+++ b/g10/Makefile.am
@@ -156,8 +156,7 @@ gpg_SOURCES  = gpg.c \
 gpgcompose_SOURCES  = gpgcompose.c  $(gpg_sources)
 gpgv_SOURCES = gpgv.c           \
 	      $(common_source)  \
-	      verify.c \
-	      dearmor.c
+	      verify.c
 
 #gpgd_SOURCES = gpgd.c \
 #	       ks-proto.h \
diff --git a/g10/dearmor.c b/g10/dearmor.c
index 3f1976f..3fdd57d 100644
--- a/g10/dearmor.c
+++ b/g10/dearmor.c
@@ -35,11 +35,10 @@
 #include "i18n.h"
 
 /****************
- * Take an armor file and write it out without armor.  If outfd is not
- * -1, the output will be written to the given file descriptor.
+ * Take an armor file and write it out without armor
  */
 int
-dearmor_file( const char *fname, int outfd )
+dearmor_file( const char *fname )
 {
     armor_filter_context_t *afx;
     IOBUF inp = NULL, out = NULL;
@@ -65,7 +64,7 @@ dearmor_file( const char *fname, int outfd )
 
     push_armor_filter ( afx, inp );
 
-    if( (rc = open_outfile (outfd, fname, 0, 0, &out)) )
+    if( (rc = open_outfile (-1, fname, 0, 0, &out)) )
 	goto leave;
 
     while( (c = iobuf_get(inp)) != -1 )
diff --git a/g10/gpg.c b/g10/gpg.c
index bb5e847..b9d69a7 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -4285,7 +4285,7 @@ main (int argc, char **argv)
       case aDeArmor:
 	if( argc > 1 )
 	    wrong_args("--dearmor [file]");
-	rc = dearmor_file( argc? *argv: NULL, -1 );
+	rc = dearmor_file( argc? *argv: NULL );
 	if( rc )
           {
             write_status_failure ("dearmor", rc);
diff --git a/g10/gpgv.c b/g10/gpgv.c
index de6529b..19a2ff6 100644
--- a/g10/gpgv.c
+++ b/g10/gpgv.c
@@ -25,7 +25,9 @@
 #include <string.h>
 #include <ctype.h>
 #include <unistd.h>
-#include <fcntl.h>
+#ifdef HAVE_DOSISH_SYSTEM
+#include <fcntl.h> /* for setmode() */
+#endif
 #ifdef HAVE_LIBREADLINE
 #define GNUPG_LIBREADLINE_H_INCLUDED
 #include <readline/readline.h>
@@ -133,66 +135,6 @@ my_strusage( int level )
 }
 
 
-static char *
-make_temp_dir (void)
-{
-  char *result;
-  char *tmp;
-#if defined (_WIN32)
-  int err;
-
-  tmp = xmalloc (MAX_PATH+2);
-  err = GetTempPath (MAX_PATH + 1, tmp);
-  if (err == 0 || err > MAX_PATH + 1)
-    strcpy (tmp, "c:\\windows\\temp");
-  else
-    {
-      int len = strlen (tmp);
-
-      /* GetTempPath may return with \ on the end */
-      while (len > 0 && tmp[len-1] == '\\')
-        {
-          tmp[len-1] = '\0';
-          len--;
-        }
-    }
-#else /* More unixish systems */
-  tmp = getenv ("TMPDIR");
-  if (tmp == NULL)
-    {
-      tmp = getenv ("TMP");
-      if (tmp == NULL)
-        {
-#ifdef __riscos__
-          tmp = "<Wimp$ScrapDir>.GnuPG";
-          mkdir (tmp, 0700); /* Error checks occur later on */
-#else
-          tmp = "/tmp";
-#endif
-        }
-    }
-#endif
-
-  result = xasprintf ("%s" DIRSEP_S "gpg-XXXXXX", tmp);
-
-#if defined (_WIN32)
-  xfree(tmp);
-#endif
-
-  if (result == NULL)
-    return NULL;
-
-  if (! gnupg_mkdtemp (result))
-    {
-      log_error (_("can't create directory '%s': %s\n"),
-                 result, strerror (errno));
-      xfree (result);
-      return NULL;
-    }
-
-  return result;
-}
-
 
 int
 main( int argc, char **argv )
@@ -201,7 +143,6 @@ main( int argc, char **argv )
   int rc=0;
   strlist_t sl;
   strlist_t nrings = NULL;
-  strlist_t tmprings = NULL;
   unsigned configlineno;
   ctrl_t ctrl;
 
@@ -275,63 +216,8 @@ main( int argc, char **argv )
                         (KEYDB_RESOURCE_FLAG_READONLY
                          |KEYDB_RESOURCE_FLAG_GPGVDEF));
   for (sl = nrings; sl; sl = sl->next)
-    {
-      char *name = sl->d;
-      if (strlen (name) >= 4
-          && strcmp (&name[strlen (name) - 4], ".asc") == 0)
-        {
-          /* The file is an armored keyring.  Dearmor it.  */
-          char *tmpdir = NULL, *tmpname = NULL;
-          int fd = -1, success;
+    keydb_add_resource (sl->d, KEYDB_RESOURCE_FLAG_READONLY);
 
-          tmpdir = make_temp_dir ();
-          if (tmpdir == NULL)
-            goto cleanup;
-
-          tmpname = xasprintf ("%s" DIRSEP_S "key", tmpdir);
-          if (tmpname == NULL)
-            goto cleanup;
-
-          if (! add_to_strlist_try (&tmprings, tmpname))
-            goto cleanup;
-
-#ifndef O_BINARY
-#define O_BINARY	0
-#endif
-          fd = open (tmpname, O_WRONLY|O_CREAT|O_BINARY, S_IRUSR);
-          if (fd == -1)
-            goto cleanup;
-
-          rc = dearmor_file (name, fd);
-          close (fd);
-          fd = -2;
-          if (rc)
-            goto cleanup;
-
-          keydb_add_resource (tmpname, KEYDB_RESOURCE_FLAG_READONLY);
-
-        cleanup:
-          success = tmpdir && tmpname && fd != -1;
-          if (fd >= 0)
-            close (fd);
-          if (tmpname)
-            {
-              if (! success)
-                unlink (tmpname);
-              xfree (tmpname);
-            }
-          if (tmpdir)
-            {
-              if (! success)
-                rmdir (tmpdir);
-              xfree (tmpdir);
-            }
-          if (! success)
-            g10_exit (1);
-        }
-      else
-        keydb_add_resource (name, KEYDB_RESOURCE_FLAG_READONLY);
-    }
   FREE_STRLIST (nrings);
 
   ctrl = xcalloc (1, sizeof *ctrl);
@@ -341,14 +227,6 @@ main( int argc, char **argv )
 
   xfree (ctrl);
 
-  for (sl = tmprings; sl; sl = sl->next)
-    {
-      unlink (sl->d);
-      sl->d[strlen (sl->d) - 4] = 0;
-      rmdir (sl->d);
-    }
-  FREE_STRLIST (tmprings);
-
   /* cleanup */
   g10_exit (0);
   return 8; /*NOTREACHED*/
diff --git a/g10/main.h b/g10/main.h
index 766c53f..5b5947e 100644
--- a/g10/main.h
+++ b/g10/main.h
@@ -389,7 +389,7 @@ gpg_error_t receive_seckey_from_agent (ctrl_t ctrl, gcry_cipher_hd_t cipherhd,
 gpg_error_t export_ssh_key (ctrl_t ctrl, const char *userid);
 
 /*-- dearmor.c --*/
-int dearmor_file( const char *fname, int outfd );
+int dearmor_file( const char *fname );
 int enarmor_file( const char *fname );
 
 /*-- revoke.c --*/

-----------------------------------------------------------------------

Summary of changes:
 doc/gpgv.texi   |   3 --
 g10/Makefile.am |   3 +-
 g10/dearmor.c   |   7 ++-
 g10/gpg.c       |   2 +-
 g10/gpgv.c      | 130 ++------------------------------------------------------
 g10/main.h      |   2 +-
 6 files changed, 10 insertions(+), 137 deletions(-)


hooks/post-receive
-- 
The GNU Privacy Guard
http://git.gnupg.org




More information about the Gnupg-commits mailing list