[svn] GnuPG - r4710 - in trunk: . agent common jnlib po sm tests/openpgp

svn author wk cvs at cvs.gnupg.org
Thu Mar 20 16:32:03 CET 2008


Author: wk
Date: 2008-03-20 16:31:43 +0100 (Thu, 20 Mar 2008)
New Revision: 4710

Added:
   trunk/tests/openpgp/bug894-test.asc
   trunk/tests/openpgp/import.test
Modified:
   trunk/NEWS
   trunk/THANKS
   trunk/agent/ChangeLog
   trunk/agent/agent.h
   trunk/agent/call-pinentry.c
   trunk/agent/command.c
   trunk/common/ChangeLog
   trunk/common/iobuf.c
   trunk/common/simple-pwquery.c
   trunk/jnlib/ChangeLog
   trunk/jnlib/dotlock.c
   trunk/jnlib/logging.c
   trunk/po/be.po
   trunk/po/ca.po
   trunk/po/cs.po
   trunk/po/da.po
   trunk/po/de.po
   trunk/po/el.po
   trunk/po/eo.po
   trunk/po/es.po
   trunk/po/et.po
   trunk/po/fi.po
   trunk/po/fr.po
   trunk/po/gl.po
   trunk/po/hu.po
   trunk/po/id.po
   trunk/po/it.po
   trunk/po/ja.po
   trunk/po/nb.po
   trunk/po/pl.po
   trunk/po/pt.po
   trunk/po/pt_BR.po
   trunk/po/ro.po
   trunk/po/ru.po
   trunk/po/sk.po
   trunk/po/sv.po
   trunk/po/tr.po
   trunk/po/zh_CN.po
   trunk/po/zh_TW.po
   trunk/sm/ChangeLog
   trunk/sm/certdump.c
   trunk/sm/certlist.c
   trunk/tests/openpgp/ChangeLog
   trunk/tests/openpgp/Makefile.am
Log:
Fix a bug in the ambigious name detection.
Minor cleanups.


[The diff below has been truncated]

Modified: trunk/agent/ChangeLog
===================================================================
--- trunk/agent/ChangeLog	2008-03-18 17:09:45 UTC (rev 4709)
+++ trunk/agent/ChangeLog	2008-03-20 15:31:43 UTC (rev 4710)
@@ -1,3 +1,9 @@
+2008-03-17  Werner Koch  <wk at g10code.com>
+
+	* agent.h (agent_inq_pinentry_launched): New prototype.
+
+	* call-pinentry.c: Include sys/types.h and signal.h.
+
 2008-02-14  Werner Koch  <wk at g10code.com>
 
 	* command.c (agent_inq_pinentry_launched): New.

Modified: trunk/common/ChangeLog
===================================================================
--- trunk/common/ChangeLog	2008-03-18 17:09:45 UTC (rev 4709)
+++ trunk/common/ChangeLog	2008-03-20 15:31:43 UTC (rev 4710)
@@ -1,3 +1,9 @@
+2008-03-17  Werner Koch  <wk at g10code.com>
+
+	* iobuf.c (IOBUF_BUFFER_SIZE): Actually use this macro.
+
+	* simple-pwquery.c (agent_send_all_options): Fix last change.
+
 2008-03-06  Werner Koch  <wk at g10code.com>
 
 	* simple-pwquery.c (agent_send_all_options): Add support for

Modified: trunk/jnlib/ChangeLog
===================================================================
--- trunk/jnlib/ChangeLog	2008-03-18 17:09:45 UTC (rev 4709)
+++ trunk/jnlib/ChangeLog	2008-03-20 15:31:43 UTC (rev 4710)
@@ -1,3 +1,10 @@
+2008-03-17  Werner Koch  <wk at g10code.com>
+
+	* logging.c (my_funopen_hook_size_t): New.
+	(fun_writer): Use it to cope with fopencookie/funopen differences.
+	* dotlock.c (read_lockfile): Initialize PID.  Reported by Stéphane
+	Corthésy.
+
 2008-02-22  Werner Koch  <wk at g10code.com>
 
 	* argparse.c (strusage): Set copyright year to 2008.

Modified: trunk/sm/ChangeLog
===================================================================
--- trunk/sm/ChangeLog	2008-03-18 17:09:45 UTC (rev 4709)
+++ trunk/sm/ChangeLog	2008-03-20 15:31:43 UTC (rev 4710)
@@ -1,3 +1,15 @@
+2008-03-20  Werner Koch  <wk at g10code.com>
+
+	* certlist.c (gpgsm_add_to_certlist): Always save the first
+	subject and issuer.  Initialize issuer with issuer and not with
+	subject.
+	(same_subject_issuer): Set issuer2 to issuer and not to subject.
+
+2008-03-17  Werner Koch  <wk at g10code.com>
+
+	* certdump.c (my_funopen_hook_size_t): New.
+	(format_name_writer): Use it.
+
 2008-03-13  Werner Koch  <wk at g10code.com>
 
 	* certdump.c (gpgsm_fpr_and_name_for_status): Fix signed/unsigned

Modified: trunk/tests/openpgp/ChangeLog
===================================================================
--- trunk/tests/openpgp/ChangeLog	2008-03-18 17:09:45 UTC (rev 4709)
+++ trunk/tests/openpgp/ChangeLog	2008-03-20 15:31:43 UTC (rev 4710)
@@ -1,3 +1,7 @@
+2008-03-19  Werner Koch  <wk at g10code.com>
+
+	* import.test, bug894-test.asc: New.
+
 2007-12-14  Werner Koch  <wk at g10code.com>
 
 	* Makefile.am (./gpg_dearmor): Reverted last change because the

Modified: trunk/NEWS
===================================================================
--- trunk/NEWS	2008-03-18 17:09:45 UTC (rev 4709)
+++ trunk/NEWS	2008-03-20 15:31:43 UTC (rev 4710)
@@ -10,6 +10,8 @@
 
  * Extended the PKITS framework.
 
+ * Fixed a bug in the ambigious name detection.
+
  * Minor bug fixes.
 
 

Modified: trunk/THANKS
===================================================================
--- trunk/THANKS	2008-03-18 17:09:45 UTC (rev 4709)
+++ trunk/THANKS	2008-03-20 15:31:43 UTC (rev 4710)
@@ -180,6 +180,7 @@
 Pascal Scheffers           Pascal at scheffers.net
 Paul D. Smith		   psmith at baynetworks.com
 Per Cederqvist             ceder at lysator.liu.se
+Petr Cerny                 pcerny at suse.cz
 Phil Blundell              pb at debian.org
 Philippe Laliberte	   arsphl at oeil.qc.ca
 Peter Fales                psfales at lucent.com

Modified: trunk/agent/agent.h
===================================================================
--- trunk/agent/agent.h	2008-03-18 17:09:45 UTC (rev 4709)
+++ trunk/agent/agent.h	2008-03-20 15:31:43 UTC (rev 4710)
@@ -211,6 +211,7 @@
 void agent_sighup_action (void);
 
 /*-- command.c --*/
+gpg_error_t agent_inq_pinentry_launched (ctrl_t ctrl, unsigned long pid);
 gpg_error_t agent_write_status (ctrl_t ctrl, const char *keyword, ...);
 void bump_key_eventcounter (void);
 void bump_card_eventcounter (void);

Modified: trunk/agent/call-pinentry.c
===================================================================
--- trunk/agent/call-pinentry.c	2008-03-18 17:09:45 UTC (rev 4709)
+++ trunk/agent/call-pinentry.c	2008-03-20 15:31:43 UTC (rev 4710)
@@ -27,7 +27,9 @@
 #include <unistd.h>
 #include <sys/stat.h>
 #ifndef HAVE_W32_SYSTEM
-#include <sys/wait.h>
+# include <sys/wait.h>
+# include <sys/types.h>
+# include <signal.h>
 #endif
 #include <pth.h>
 #include <assuan.h>

Modified: trunk/agent/command.c
===================================================================
--- trunk/agent/command.c	2008-03-18 17:09:45 UTC (rev 4709)
+++ trunk/agent/command.c	2008-03-20 15:31:43 UTC (rev 4710)
@@ -320,9 +320,9 @@
 }
 
 
-/* Helper to notify the client about a lauchned Pinentry.  Because
-   that might disturb some older clients, this is only done when
-   enabled via an option.  Returns an gpg error code. */
+/* Helper to notify the client about a launched Pinentry.  Because
+   that might disturb some older clients, this is only done if enabled
+   via an option.  Returns an gpg error code. */
 gpg_error_t
 agent_inq_pinentry_launched (ctrl_t ctrl, unsigned long pid)
 {

Modified: trunk/common/iobuf.c
===================================================================
--- trunk/common/iobuf.c	2008-03-18 17:09:45 UTC (rev 4709)
+++ trunk/common/iobuf.c	2008-03-20 15:31:43 UTC (rev 4710)
@@ -1139,7 +1139,7 @@
 {
   iobuf_t a;
 
-  a = iobuf_alloc (3, 8192);
+  a = iobuf_alloc (3, IOBUF_BUFFER_SIZE);
 
   return a;
 }
@@ -1220,7 +1220,7 @@
     return iobuf_fdopen (translate_file_handle (fd, 0), "rb");
   else if ((fp = my_fopen_ro (fname, "rb")) == INVALID_FP)
     return NULL;
-  a = iobuf_alloc (1, 8192);
+  a = iobuf_alloc (1, IOBUF_BUFFER_SIZE);
   fcx = xmalloc (sizeof *fcx + strlen (fname));
   fcx->fp = fp;
   fcx->print_only_name = print_only;
@@ -1256,7 +1256,7 @@
 #else
   fp = (fp_or_fd_t) fd;
 #endif
-  a = iobuf_alloc (strchr (mode, 'w') ? 2 : 1, 8192);
+  a = iobuf_alloc (strchr (mode, 'w') ? 2 : 1, IOBUF_BUFFER_SIZE);
   fcx = xmalloc (sizeof *fcx + 20);
   fcx->fp = fp;
   fcx->print_only_name = 1;
@@ -1280,7 +1280,7 @@
   sock_filter_ctx_t *scx;
   size_t len;
 
-  a = iobuf_alloc (strchr (mode, 'w') ? 2 : 1, 8192);
+  a = iobuf_alloc (strchr (mode, 'w') ? 2 : 1, IOBUF_BUFFER_SIZE);
   scx = xmalloc (sizeof *scx + 25);
   scx->sock = fd;
   scx->print_only_name = 1;
@@ -1324,7 +1324,7 @@
     return iobuf_fdopen (translate_file_handle (fd, 1), "wb");
   else if ((fp = my_fopen (fname, "wb")) == INVALID_FP)
     return NULL;
-  a = iobuf_alloc (2, 8192);
+  a = iobuf_alloc (2, IOBUF_BUFFER_SIZE);
   fcx = xmalloc (sizeof *fcx + strlen (fname));
   fcx->fp = fp;
   fcx->print_only_name = print_only;
@@ -1359,7 +1359,7 @@
     return NULL;
   else if (!(fp = my_fopen (fname, "ab")))
     return NULL;
-  a = iobuf_alloc (2, 8192);
+  a = iobuf_alloc (2, IOBUF_BUFFER_SIZE);
   fcx = m_alloc (sizeof *fcx + strlen (fname));
   fcx->fp = fp;
   strcpy (fcx->fname, fname);
@@ -1387,7 +1387,7 @@
     return NULL;
   else if ((fp = my_fopen (fname, "r+b")) == INVALID_FP)
     return NULL;
-  a = iobuf_alloc (2, 8192);
+  a = iobuf_alloc (2, IOBUF_BUFFER_SIZE);
   fcx = xmalloc (sizeof *fcx + strlen (fname));
   fcx->fp = fp;
   strcpy (fcx->fname, fname);
@@ -1777,7 +1777,7 @@
   if (a->use == 3)
     {				/* increase the temp buffer */
       unsigned char *newbuf;
-      size_t newsize = a->d.size + 8192;
+      size_t newsize = a->d.size + IOBUF_BUFFER_SIZE;
 
       if (DBG_IOBUF)
 	log_debug ("increasing temp iobuf from %lu to %lu\n",

Modified: trunk/common/simple-pwquery.c
===================================================================
--- trunk/common/simple-pwquery.c	2008-03-18 17:09:45 UTC (rev 4709)
+++ trunk/common/simple-pwquery.c	2008-03-20 15:31:43 UTC (rev 4710)
@@ -293,7 +293,7 @@
     {
       /* We ignore errors here because older gpg-agents don't support
          this option.  */
-      send_one_option (ctx, errsource, "xauthority", dft_xauthority);
+      agent_send_option (fd, "xauthority", dft_xauthority);
     }
 
   /* Send the PINENTRY_USER_DATA variable.  */
@@ -302,8 +302,7 @@
     {
       /* We ignore errors here because older gpg-agents don't support
          this option.  */
-      send_one_option (ctx, errsource, "pinentry-user-data", 
-                       opt_pinentry_user_data);
+      agent_send_option (fd, "pinentry-user-data", dft_pinentry_user_data);
     }
 
   return 0;

Modified: trunk/jnlib/dotlock.c
===================================================================
--- trunk/jnlib/dotlock.c	2008-03-18 17:09:45 UTC (rev 4709)
+++ trunk/jnlib/dotlock.c	2008-03-20 15:31:43 UTC (rev 4710)
@@ -454,7 +454,8 @@
 #else
   char buffer_space[10+1+70+1]; /* 70 is just an estimated value; node
                                    name are usually shorter. */
-  int fd, pid;
+  int fd;
+  int pid = -1;
   char *buffer, *p;
   size_t expected_len;
   int res, nread;

Modified: trunk/jnlib/logging.c
===================================================================
--- trunk/jnlib/logging.c	2008-03-18 17:09:45 UTC (rev 4709)
+++ trunk/jnlib/logging.c	2008-03-20 15:31:43 UTC (rev 4710)
@@ -48,8 +48,10 @@
 
 #ifdef HAVE_FOPENCOOKIE
 typedef ssize_t my_funopen_hook_ret_t;
+typedef size_t  my_funopen_hook_size_t;
 #else
 typedef int     my_funopen_hook_ret_t;
+typedef int     my_funopen_hook_size_t;
 #endif
 
 
@@ -117,7 +119,7 @@
 
 
 static my_funopen_hook_ret_t 
-fun_writer (void *cookie_arg, const char *buffer, size_t size)
+fun_writer (void *cookie_arg, const char *buffer, my_funopen_hook_size_t size)
 {
   struct fun_cookie_s *cookie = cookie_arg;
 
@@ -188,7 +190,7 @@
 
   log_socket = cookie->fd;
   if (cookie->fd != -1 && !writen (cookie->fd, buffer, size))
-    return size; /* Okay. */ 
+    return (my_funopen_hook_ret_t)size; /* Okay. */ 
 
   if (!running_detached && cookie->fd != -1
       && isatty (fileno (stderr)))
@@ -207,7 +209,7 @@
       log_socket = -1;
     }
 
-  return size;
+  return (my_funopen_hook_ret_t)size;
 }
 
 static int

Modified: trunk/po/be.po  [not shown]
Modified: trunk/po/ca.po  [not shown]
Modified: trunk/po/cs.po  [not shown]
Modified: trunk/po/da.po  [not shown]
Modified: trunk/po/de.po  [not shown]
Modified: trunk/po/el.po  [not shown]
Modified: trunk/po/eo.po  [not shown]
Modified: trunk/po/es.po  [not shown]
Modified: trunk/po/et.po  [not shown]
Modified: trunk/po/fi.po  [not shown]
Modified: trunk/po/fr.po  [not shown]
Modified: trunk/po/gl.po  [not shown]
Modified: trunk/po/hu.po  [not shown]
Modified: trunk/po/id.po  [not shown]
Modified: trunk/po/it.po  [not shown]
Modified: trunk/po/ja.po  [not shown]
Modified: trunk/po/nb.po  [not shown]
Modified: trunk/po/pl.po  [not shown]
Modified: trunk/po/pt.po  [not shown]
Modified: trunk/po/pt_BR.po  [not shown]
Modified: trunk/po/ro.po  [not shown]
Modified: trunk/po/ru.po  [not shown]
Modified: trunk/po/sk.po  [not shown]
Modified: trunk/po/sv.po  [not shown]
Modified: trunk/po/tr.po  [not shown]
Modified: trunk/po/zh_CN.po  [not shown]
Modified: trunk/po/zh_TW.po  [not shown]
Modified: trunk/sm/certdump.c
===================================================================
--- trunk/sm/certdump.c	2008-03-18 17:09:45 UTC (rev 4709)
+++ trunk/sm/certdump.c	2008-03-20 15:31:43 UTC (rev 4710)
@@ -41,8 +41,10 @@
 
 #ifdef HAVE_FOPENCOOKIE
 typedef ssize_t my_funopen_hook_ret_t;
+typedef size_t  my_funopen_hook_size_t;
 #else
 typedef int     my_funopen_hook_ret_t;
+typedef int     my_funopen_hook_size_t;
 #endif
 
 
@@ -778,7 +780,8 @@
 
 /* The writer function for the memory stream. */
 static my_funopen_hook_ret_t
-format_name_writer (void *cookie, const char *buffer, size_t size)
+format_name_writer (void *cookie, const char *buffer,
+                    my_funopen_hook_size_t size)
 {
   struct format_name_cookie *c = cookie;
   char *p;
@@ -792,14 +795,14 @@
       c->error = errno;
       xfree (c->buffer);
       errno = c->error;
-      return -1;
+      return (my_funopen_hook_ret_t)(-1);
     }
   c->buffer = p;
   memcpy (p + c->len, buffer, size);
   c->len += size;
   p[c->len] = 0; /* Terminate string. */ 
 
-  return size;
+  return (my_funopen_hook_ret_t)size;
 }
 #endif /*HAVE_FOPENCOOKIE || HAVE_FUNOPEN*/
 

Modified: trunk/sm/certlist.c
===================================================================
--- trunk/sm/certlist.c	2008-03-18 17:09:45 UTC (rev 4709)
+++ trunk/sm/certlist.c	2008-03-20 15:31:43 UTC (rev 4710)
@@ -1,5 +1,6 @@
 /* certlist.c - build list of certificates
- * Copyright (C) 2001, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+ * Copyright (C) 2001, 2003, 2004, 2005, 2007,
+ *               2008 Free Software Foundation, Inc.
  *
  * This file is part of GnuPG.
  *
@@ -213,7 +214,7 @@
 same_subject_issuer (const char *subject, const char *issuer, ksba_cert_t cert)
 {
   char *subject2 = ksba_cert_get_subject (cert, 0);
-  char *issuer2 = ksba_cert_get_subject (cert, 0);
+  char *issuer2 = ksba_cert_get_issuer (cert, 0);
   int tmp;
   
   tmp = (subject && subject2
@@ -307,8 +308,8 @@
       else
         {
           int wrong_usage = 0;
-          char *subject = NULL;
-          char *issuer = NULL;
+          char *first_subject = NULL;
+          char *first_issuer = NULL;
 
         get_next:
           rc = keydb_search (kh, &desc, 1);
@@ -316,6 +317,13 @@
             rc = keydb_get_cert (kh, &cert);
           if (!rc)
             {
+              if (!first_subject)
+                {
+                  /* Save the the subject and the issuer for key usage
+                     and ambiguous name tests. */
+                  first_subject = ksba_cert_get_subject (cert, 0);
+                  first_issuer = ksba_cert_get_issuer (cert, 0);
+                }
               rc = secret? gpgsm_cert_use_sign_p (cert)
                          : gpgsm_cert_use_encrypt_p (cert);
               if (gpg_err_code (rc) == GPG_ERR_WRONG_KEY_USAGE)
@@ -325,13 +333,12 @@
                   if (!wrong_usage)
                     { /* save the first match */
                       wrong_usage = rc;
-                      subject = ksba_cert_get_subject (cert, 0);
-                      issuer = ksba_cert_get_subject (cert, 0);
                       ksba_cert_release (cert);
                       cert = NULL;
                       goto get_next;
                     }
-                  else if (same_subject_issuer (subject, issuer, cert))
+                  else if (same_subject_issuer (first_subject, first_issuer,
+                                                cert))
                     {
                       wrong_usage = rc;
                       ksba_cert_release (cert);
@@ -375,7 +382,9 @@
                      keybox).  */
                   if (!keydb_get_cert (kh, &cert2))
                     {
-                      int tmp = (same_subject_issuer (subject, issuer, cert2)
+                      int tmp = (same_subject_issuer (first_subject, 
+                                                      first_issuer, 
+                                                      cert2)
                                  && ((gpg_err_code (
                                       secret? gpgsm_cert_use_sign_p (cert2)
                                       : gpgsm_cert_use_encrypt_p (cert2)
@@ -398,8 +407,10 @@
                 }
               gpgsm_release_certlist (dup_certs);
             }
-          xfree (subject);
-          xfree (issuer);
+          xfree (first_subject);
+          xfree (first_issuer);
+          first_subject = NULL;
+          first_issuer = NULL;
 
           if (!rc && !is_cert_in_certlist (cert, *listaddr))
             {
@@ -441,6 +452,7 @@
   return rc == -1? gpg_error (GPG_ERR_NO_PUBKEY): rc;
 }
 
+
 void
 gpgsm_release_certlist (certlist_t list)
 {

Modified: trunk/tests/openpgp/Makefile.am
===================================================================
--- trunk/tests/openpgp/Makefile.am	2008-03-18 17:09:45 UTC (rev 4709)
+++ trunk/tests/openpgp/Makefile.am	2008-03-20 15:31:43 UTC (rev 4710)
@@ -29,13 +29,14 @@
 	armsignencrypt.test armdetach.test \
 	armdetachm.test detachm.test genkey1024.test \
 	conventional.test conventional-mdc.test \
-	multisig.test verify.test armor.test 
+	multisig.test verify.test armor.test \
+	import.test
 
 
 TEST_FILES = pubring.asc secring.asc plain-1o.asc plain-2o.asc plain-3o.asc \
 	     plain-1.asc plain-2.asc plain-3.asc plain-1-pgp.asc \
 	     pubring.pkr.asc secring.skr.asc secdemo.asc pubdemo.asc \
-             gpg.conf.tmpl bug537-test.data.asc
+             gpg.conf.tmpl bug537-test.data.asc bug894-test.asc
 
 DATA_FILES = data-500 data-9000 data-32000 data-80000 plain-large
 

Added: trunk/tests/openpgp/bug894-test.asc
===================================================================
--- trunk/tests/openpgp/bug894-test.asc	2008-03-18 17:09:45 UTC (rev 4709)
+++ trunk/tests/openpgp/bug894-test.asc	2008-03-20 15:31:43 UTC (rev 4710)
@@ -0,0 +1,565 @@
+Test key for bug 894.  segv when importing certain keys with duplicated
+user id.
+
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: PGP Key Server 0.9.6
+
+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




More information about the Gnupg-commits mailing list