[Gpg4win-commits] r1564 - in trunk: . packages patches/gnupg2-2.0.16
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Thu Sep 16 16:49:32 CEST 2010
Author: werner
Date: 2010-09-16 16:49:31 +0200 (Thu, 16 Sep 2010)
New Revision: 1564
Added:
trunk/patches/gnupg2-2.0.16/05-err-codes.patch
Modified:
trunk/ChangeLog
trunk/Makefile.am
trunk/packages/packages.current
Log:
Add better error code for missing certificates.
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2010-09-14 10:16:14 UTC (rev 1563)
+++ trunk/ChangeLog 2010-09-16 14:49:31 UTC (rev 1564)
@@ -1,3 +1,7 @@
+2010-09-16 Werner Koch <wk at g10code.com>
+
+ * patches/gnupg2-2.0.16/05-err-codes.patch: New.
+
2010-09-14 Emanuel Schuetze <emanuel at intevation.de>
* src/inst-gpg4win.nsi: Install README.en.txt for ar, es, fr, ru, pt
Modified: trunk/Makefile.am
===================================================================
--- trunk/Makefile.am 2010-09-14 10:16:14 UTC (rev 1563)
+++ trunk/Makefile.am 2010-09-16 14:49:31 UTC (rev 1564)
@@ -63,6 +63,7 @@
patches/gnupg2-2.0.16/02-gpgtar.patch \
patches/gnupg2-2.0.16/03-kbx-realloc.patch \
patches/gnupg2-2.0.16/04-gpgtar-2.patch \
+ patches/gnupg2-2.0.16/05-err-codes.patch \
patches/dirmngr-1.0.3/01-ldaphttp.patch \
patches/gpgol-0.9.91/01-gpgme.patch \
patches/gpa-0.9.0/01-title-prop.patch \
Modified: trunk/packages/packages.current
===================================================================
--- trunk/packages/packages.current 2010-09-14 10:16:14 UTC (rev 1563)
+++ trunk/packages/packages.current 2010-09-16 14:49:31 UTC (rev 1564)
@@ -322,8 +322,8 @@
#
server ftp://ftp.gnupg.org/gcrypt
-file libgpg-error/libgpg-error-1.9.tar.bz2
-chk 6836579e42320b057a2372bbcd0325130fe2561e
+#file libgpg-error/libgpg-error-1.9.tar.bz2
+#chk 6836579e42320b057a2372bbcd0325130fe2561e
file libksba/libksba-1.0.8.tar.bz2
chk 268e424e94e62abb51eeca9c66d886dbee8455ab
@@ -353,6 +353,8 @@
file gpgme-1.3.1-svn1460.tar.bz2
chk a309ae1880c84bf7d76fea7186b3247ee70b1693
+file libgpg-error-1.10-svn249.tar.bz2
+chk 71c16e8475dc3a75ac58f2b80eae6ec2a2a7e4a1
#
# GnuPG utilities
Added: trunk/patches/gnupg2-2.0.16/05-err-codes.patch
===================================================================
--- trunk/patches/gnupg2-2.0.16/05-err-codes.patch 2010-09-14 10:16:14 UTC (rev 1563)
+++ trunk/patches/gnupg2-2.0.16/05-err-codes.patch 2010-09-16 14:49:31 UTC (rev 1564)
@@ -0,0 +1,130 @@
+#! /bin/sh
+patch -p0 -f $* < $0
+exit $?
+
+
+[sm/]
+2010-09-16 Werner Koch <wk at g10code.com>
+
+ * certchain.c (gpgsm_walk_cert_chain): Use GPG_ERR_MISSING_ISSUER_CERT.
+ (do_validate_chain): Ditto.
+ (gpgsm_basic_cert_check): Ditto.
+ * call-agent.c (learn_cb): Take care of new
+ GPG_ERR_MISSING_ISSUER_CERT.
+ * import.c (check_and_store): Ditto.
+ (check_and_store): Ditto.
+
+[common/]
+2010-09-16 Werner Koch <wk at g10code.com>
+
+ * util.h: Add GPG_ERR_MISSING_ISSUER_CERT.
+ * status.c (get_inv_recpsgnr_code): Ditto.
+
+
+
+Index: sm/certchain.c
+===================================================================
+--- sm/certchain.c (revision 5418)
++++ sm/certchain.c (working copy)
+@@ -789,7 +789,7 @@
+ print an error here. */
+ if (rc != -1 && opt.verbose > 1)
+ log_error ("failed to find issuer's certificate: rc=%d\n", rc);
+- rc = gpg_error (GPG_ERR_MISSING_CERT);
++ rc = gpg_error (GPG_ERR_MISSING_ISSUER_CERT);
+ goto leave;
+ }
+
+@@ -1496,7 +1496,7 @@
+ }
+ else
+ log_error ("failed to find issuer's certificate: rc=%d\n", rc);
+- rc = gpg_error (GPG_ERR_MISSING_CERT);
++ rc = gpg_error (GPG_ERR_MISSING_ISSUER_CERT);
+ goto leave;
+ }
+
+@@ -1897,7 +1897,7 @@
+ }
+ else
+ log_error ("failed to find issuer's certificate: rc=%d\n", rc);
+- rc = gpg_error (GPG_ERR_MISSING_CERT);
++ rc = gpg_error (GPG_ERR_MISSING_ISSUER_CERT);
+ goto leave;
+ }
+
+Index: sm/call-agent.c
+===================================================================
+--- sm/call-agent.c (revision 5418)
++++ sm/call-agent.c (working copy)
+@@ -887,7 +887,8 @@
+ because we can assume that the --learn-card command has been used
+ on purpose. */
+ rc = gpgsm_basic_cert_check (parm->ctrl, cert);
+- if (rc && gpg_err_code (rc) != GPG_ERR_MISSING_CERT)
++ if (rc && gpg_err_code (rc) != GPG_ERR_MISSING_CERT
++ && gpg_err_code (rc) != GPG_ERR_MISSING_ISSUER_CERT)
+ log_error ("invalid certificate: %s\n", gpg_strerror (rc));
+ else
+ {
+Index: sm/import.c
+===================================================================
+--- sm/import.c (revision 5418)
++++ sm/import.c (working copy)
+@@ -194,7 +194,8 @@
+ if (!rc && ctrl->with_validation)
+ rc = gpgsm_validate_chain (ctrl, cert, "", NULL, 0, NULL, 0, NULL);
+ if (!rc || (!ctrl->with_validation
+- && gpg_err_code (rc) == GPG_ERR_MISSING_CERT) )
++ && (gpg_err_code (rc) == GPG_ERR_MISSING_CERT
++ || gpg_err_code (rc) == GPG_ERR_MISSING_ISSUER_CERT)))
+ {
+ int existed;
+
+@@ -253,9 +254,14 @@
+ log_error (_("basic certificate checks failed - not imported\n"));
+ if (stats)
+ stats->not_imported++;
+- print_import_problem (ctrl, cert,
+- gpg_err_code (rc) == GPG_ERR_MISSING_CERT? 2 :
+- gpg_err_code (rc) == GPG_ERR_BAD_CERT? 1 : 0);
++ /* We keep the test for GPG_ERR_MISSING_CERT only in case
++ GPG_ERR_MISSING_CERT has been used instead of the newer
++ GPG_ERR_MISSING_ISSUER_CERT. */
++ print_import_problem
++ (ctrl, cert,
++ gpg_err_code (rc) == GPG_ERR_MISSING_ISSUER_CERT? 2 :
++ gpg_err_code (rc) == GPG_ERR_MISSING_CERT? 2 :
++ gpg_err_code (rc) == GPG_ERR_BAD_CERT? 1 : 0);
+ }
+ }
+
+
+Index: common/util.h
+===================================================================
+--- common/util.h (revision 5418)
++++ common/util.h (working copy)
+@@ -33,6 +33,9 @@
+ #ifndef GPG_ERR_NOT_INITIALIZED
+ #define GPG_ERR_NOT_INITIALIZED 184
+ #endif
++#ifndef GPG_ERR_MISSING_ISSUER_CERT
++#define GPG_ERR_MISSING_ISSUER_CERT 185
++#endif
+
+
+ /* Hash function used with libksba. */
+
+ * homedir.c (gnupg_bindir) [W32CE]: Change to bin/.
+Index: common/status.c
+===================================================================
+--- common/status.c (revision 5418)
++++ common/status.c (working copy)
+@@ -58,6 +58,7 @@
+
+ case GPG_ERR_NOT_TRUSTED: errstr = "10"; break;
+ case GPG_ERR_MISSING_CERT: errstr = "11"; break;
++ case GPG_ERR_MISSING_ISSUER_CERT: errstr = "12"; break;
+ default: errstr = "0"; break;
+ }
+
Property changes on: trunk/patches/gnupg2-2.0.16/05-err-codes.patch
___________________________________________________________________
Name: svn:executable
+ *
More information about the Gpg4win-commits
mailing list