[git] GPG-ERROR - branch, master, updated. libgpg-error-1.18-7-gdc95f1e

by Werner Koch cvs at cvs.gnupg.org
Thu Mar 19 09:11:04 CET 2015


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 "Error codes used by GnuPG et al.".

The branch, master has been updated
       via  dc95f1ea1ab902b9f49de651084f514535e4a3fc (commit)
      from  b5cb32f979a80904ea58fc7531e43e2be2270573 (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 dc95f1ea1ab902b9f49de651084f514535e4a3fc
Author: Werner Koch <wk at gnupg.org>
Date:   Thu Mar 19 09:08:45 2015 +0100

    Add GPG_ERR_LDAP_* error codes.
    
    * src/err-codes.h.in: Add error codes.
    * doc/ldap2gpgerr.c: New.
    
    Signed-off-by: Werner Koch <wk at gnupg.org>

diff --git a/NEWS b/NEWS
index eb50b02..c834a16 100644
--- a/NEWS
+++ b/NEWS
@@ -1,8 +1,11 @@
 Noteworthy changes in version 1.19 (unreleased) [C/A/R]
 -----------------------------------------------
 
+ * New set of error codes for use with LDAP.
+
  * Interface changes relative to the 1.18 release:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ GPG_ERR_LDAP_*                   NEW.
 
 
 Noteworthy changes in version 1.18 (2015-01-26) [C14/A14/R0]
diff --git a/doc/errorref.txt b/doc/errorref.txt
index 7e6da8d..0393f16 100644
--- a/doc/errorref.txt
+++ b/doc/errorref.txt
@@ -755,3 +755,33 @@ GPG_ERR_INV_LOCK_OBJ		Invalid lock object
     GPGRT: - The provided lock object is not valid.  This indicates an
              internal problem in libgpg-error or more likely a
              programming error.
+
+
+
+
+GPG_ERR_LDAP_GENERAL		LDAP General error
+
+   Catch all error for LDAP.  Use if if can't map an erro rocde to an
+   gpg-error code.
+
+GPG_ERR_LDAP_ATTR_GENERAL	LDAP General attribute error
+GPG_ERR_LDAP_NAME_GENERAL	LDAP General name error
+GPG_ERR_LDAP_SECURITY_GENERAL	LDAP General security error
+GPG_ERR_LDAP_SERVICE_GENERAL	LDAP General service error
+GPG_ERR_LDAP_UPDATE_GENERAL	LDAP General update error
+GPG_ERR_LDAP_E_GENERAL		LDAP Experimental error code
+GPG_ERR_LDAP_X_GENERAL	        LDAP Private error code
+GPG_ERR_LDAP_OTHER_GENERAL	LDAP Other general error
+
+  All above may be used to map ranges of LDAP errors to one specific
+  code. OpenLDAP uses LDAP_xxx_RANGE(n) macros for tha mapping.
+  "Other general error" may be used similar to "General error" for
+  mapping of ranges.  Here are macros from OpenLDAP for reference
+
+  #define LDAP_ATTR_ERROR(n)	 LDAP_RANGE((n),0x10,0x15) /* 16-21 */
+  #define LDAP_NAME_ERROR(n)	 LDAP_RANGE((n),0x20,0x24) /* 32-34,36 */
+  #define LDAP_SECURITY_ERROR(n) LDAP_RANGE((n),0x2F,0x32) /* 47-50 */
+  #define LDAP_SERVICE_ERROR(n)	 LDAP_RANGE((n),0x33,0x36) /* 51-54 */
+  #define LDAP_UPDATE_ERROR(n)	 LDAP_RANGE((n),0x40,0x47) /* 64-69,71 */
+  #define LDAP_E_ERROR(n)	 LDAP_RANGE((n),0x1000,0x3FFF)
+  #define LDAP_X_ERROR(n)	 LDAP_RANGE((n),0x4000,0xFFFF)
diff --git a/doc/ldap2gpgerr.c b/doc/ldap2gpgerr.c
new file mode 100644
index 0000000..515bf40
--- /dev/null
+++ b/doc/ldap2gpgerr.c
@@ -0,0 +1,184 @@
+/* ldap2gpgerr.c - Mapping of LDAP error codes to gpg-error codes.
+ * Written in 2015 by Werner Koch <wk at gnupg.org>
+ *
+ * To the extent possible under law, the author(s) have dedicated all
+ * copyright and related and neighboring rights to this software to
+ * the public domain worldwide.  This software is distributed without
+ * any warranty.
+ *
+ * You should have received a copy of the CC0 Public Domain Dedication
+ * along with this software.  If not, see
+ *                 <http://creativecommons.org/publicdomain/zero/1.0/>.
+ */
+
+/*
+ * These functions are not part of libgpg-error so not to introduce a
+ * dependency on a specific LDAP implementation.  Feel free to copy
+ * and distribute them with your code.
+ */
+
+#ifdef _WIN32
+# include <winsock2.h>
+# include <winldap.h>
+#else
+# include <ldap.h>
+#endif
+#include <gpg-error.h>
+
+
+/* Windows uses a few other names. Re-map them.  */
+#ifdef _WIN32
+# define LDAP_ADMINLIMIT_EXCEEDED            LDAP_ADMIN_LIMIT_EXCEEDED
+# define LDAP_UNAVAILABLE_CRITICAL_EXTENSION LDAP_UNAVAILABLE_CRIT_EXTENSION
+# define LDAP_TYPE_OR_VALUE_EXISTS           LDAP_ATTRIBUTE_OR_VALUE_EXISTS
+# define LDAP_INSUFFICIENT_ACCESS            LDAP_INSUFFICIENT_RIGHTS
+# define LDAP_VLV_ERROR                      LDAP_VIRTUAL_LIST_VIEW_ERROR
+#endif
+
+
+/* Map LDAP error CODE to an gpg_err_code_t.  */
+gpg_err_code_t
+map_ldap_to_gpg_error (int code)
+{
+  gpg_err_code_t ec;
+
+  switch (code)
+    {
+#ifdef LDAP_X_CONNECTING
+    case LDAP_X_CONNECTING: ec = GPG_ERR_LDAP_X_CONNECTING; break;
+#endif
+
+    case LDAP_REFERRAL_LIMIT_EXCEEDED: ec = GPG_ERR_LDAP_REFERRAL_LIMIT; break;
+    case LDAP_CLIENT_LOOP: ec = GPG_ERR_LDAP_CLIENT_LOOP; break;
+    case LDAP_NO_RESULTS_RETURNED: ec = GPG_ERR_LDAP_NO_RESULTS; break;
+    case LDAP_CONTROL_NOT_FOUND: ec = GPG_ERR_LDAP_CONTROL_NOT_FOUND; break;
+    case LDAP_NOT_SUPPORTED: ec = GPG_ERR_LDAP_NOT_SUPPORTED; break;
+    case LDAP_CONNECT_ERROR: ec = GPG_ERR_LDAP_CONNECT; break;
+    case LDAP_NO_MEMORY: ec = GPG_ERR_LDAP_NO_MEMORY; break;
+    case LDAP_PARAM_ERROR: ec = GPG_ERR_LDAP_PARAM; break;
+    case LDAP_USER_CANCELLED: ec = GPG_ERR_LDAP_USER_CANCELLED; break;
+    case LDAP_FILTER_ERROR: ec = GPG_ERR_LDAP_FILTER; break;
+    case LDAP_AUTH_UNKNOWN: ec = GPG_ERR_LDAP_AUTH_UNKNOWN; break;
+    case LDAP_TIMEOUT: ec = GPG_ERR_LDAP_TIMEOUT; break;
+    case LDAP_DECODING_ERROR: ec = GPG_ERR_LDAP_DECODING; break;
+    case LDAP_ENCODING_ERROR: ec = GPG_ERR_LDAP_ENCODING; break;
+    case LDAP_LOCAL_ERROR: ec = GPG_ERR_LDAP_LOCAL; break;
+    case LDAP_SERVER_DOWN: ec = GPG_ERR_LDAP_SERVER_DOWN; break;
+
+    case LDAP_SUCCESS: ec = GPG_ERR_LDAP_SUCCESS; break;
+
+    case LDAP_OPERATIONS_ERROR: ec = GPG_ERR_LDAP_OPERATIONS; break;
+    case LDAP_PROTOCOL_ERROR: ec = GPG_ERR_LDAP_PROTOCOL; break;
+    case LDAP_TIMELIMIT_EXCEEDED: ec = GPG_ERR_LDAP_TIMELIMIT; break;
+    case LDAP_SIZELIMIT_EXCEEDED: ec = GPG_ERR_LDAP_SIZELIMIT; break;
+    case LDAP_COMPARE_FALSE: ec = GPG_ERR_LDAP_COMPARE_FALSE; break;
+    case LDAP_COMPARE_TRUE: ec = GPG_ERR_LDAP_COMPARE_TRUE; break;
+    case LDAP_AUTH_METHOD_NOT_SUPPORTED: ec=GPG_ERR_LDAP_UNSUPPORTED_AUTH;break;
+    case LDAP_STRONG_AUTH_REQUIRED: ec = GPG_ERR_LDAP_STRONG_AUTH_RQRD; break;
+    case LDAP_PARTIAL_RESULTS: ec = GPG_ERR_LDAP_PARTIAL_RESULTS; break;
+    case LDAP_REFERRAL: ec = GPG_ERR_LDAP_REFERRAL; break;
+
+#ifdef LDAP_ADMINLIMIT_EXCEEDED
+    case LDAP_ADMINLIMIT_EXCEEDED: ec = GPG_ERR_LDAP_ADMINLIMIT; break;
+#endif
+
+#ifdef LDAP_UNAVAILABLE_CRITICAL_EXTENSION
+    case LDAP_UNAVAILABLE_CRITICAL_EXTENSION:
+                               ec = GPG_ERR_LDAP_UNAVAIL_CRIT_EXTN; break;
+#endif
+
+    case LDAP_CONFIDENTIALITY_REQUIRED: ec = GPG_ERR_LDAP_CONFIDENT_RQRD; break;
+    case LDAP_SASL_BIND_IN_PROGRESS: ec = GPG_ERR_LDAP_SASL_BIND_INPROG; break;
+    case LDAP_NO_SUCH_ATTRIBUTE: ec = GPG_ERR_LDAP_NO_SUCH_ATTRIBUTE; break;
+    case LDAP_UNDEFINED_TYPE: ec = GPG_ERR_LDAP_UNDEFINED_TYPE; break;
+    case LDAP_INAPPROPRIATE_MATCHING: ec = GPG_ERR_LDAP_BAD_MATCHING; break;
+    case LDAP_CONSTRAINT_VIOLATION: ec = GPG_ERR_LDAP_CONST_VIOLATION; break;
+
+#ifdef LDAP_TYPE_OR_VALUE_EXISTS
+    case LDAP_TYPE_OR_VALUE_EXISTS: ec = GPG_ERR_LDAP_TYPE_VALUE_EXISTS; break;
+#endif
+
+    case LDAP_INVALID_SYNTAX: ec = GPG_ERR_LDAP_INV_SYNTAX; break;
+    case LDAP_NO_SUCH_OBJECT: ec = GPG_ERR_LDAP_NO_SUCH_OBJ; break;
+    case LDAP_ALIAS_PROBLEM: ec = GPG_ERR_LDAP_ALIAS_PROBLEM; break;
+    case LDAP_INVALID_DN_SYNTAX: ec = GPG_ERR_LDAP_INV_DN_SYNTAX; break;
+    case LDAP_IS_LEAF: ec = GPG_ERR_LDAP_IS_LEAF; break;
+    case LDAP_ALIAS_DEREF_PROBLEM: ec = GPG_ERR_LDAP_ALIAS_DEREF; break;
+
+#ifdef LDAP_X_PROXY_AUTHZ_FAILURE
+    case LDAP_X_PROXY_AUTHZ_FAILURE: ec = GPG_ERR_LDAP_X_PROXY_AUTH_FAIL; break;
+#endif
+
+    case LDAP_INAPPROPRIATE_AUTH: ec = GPG_ERR_LDAP_BAD_AUTH; break;
+    case LDAP_INVALID_CREDENTIALS: ec = GPG_ERR_LDAP_INV_CREDENTIALS; break;
+
+#ifdef LDAP_INSUFFICIENT_ACCESS
+    case LDAP_INSUFFICIENT_ACCESS: ec = GPG_ERR_LDAP_INSUFFICIENT_ACC; break;
+#endif
+
+    case LDAP_BUSY: ec = GPG_ERR_LDAP_BUSY; break;
+    case LDAP_UNAVAILABLE: ec = GPG_ERR_LDAP_UNAVAILABLE; break;
+    case LDAP_UNWILLING_TO_PERFORM: ec = GPG_ERR_LDAP_UNWILL_TO_PERFORM; break;
+    case LDAP_LOOP_DETECT: ec = GPG_ERR_LDAP_LOOP_DETECT; break;
+    case LDAP_NAMING_VIOLATION: ec = GPG_ERR_LDAP_NAMING_VIOLATION; break;
+    case LDAP_OBJECT_CLASS_VIOLATION: ec = GPG_ERR_LDAP_OBJ_CLS_VIOLATION; break;
+    case LDAP_NOT_ALLOWED_ON_NONLEAF: ec=GPG_ERR_LDAP_NOT_ALLOW_NONLEAF;break;
+    case LDAP_NOT_ALLOWED_ON_RDN: ec = GPG_ERR_LDAP_NOT_ALLOW_ON_RDN; break;
+    case LDAP_ALREADY_EXISTS: ec = GPG_ERR_LDAP_ALREADY_EXISTS; break;
+    case LDAP_NO_OBJECT_CLASS_MODS: ec = GPG_ERR_LDAP_NO_OBJ_CLASS_MODS; break;
+    case LDAP_RESULTS_TOO_LARGE: ec = GPG_ERR_LDAP_RESULTS_TOO_LARGE; break;
+    case LDAP_AFFECTS_MULTIPLE_DSAS: ec = GPG_ERR_LDAP_AFFECTS_MULT_DSAS; break;
+
+#ifdef LDAP_VLV_ERROR
+    case LDAP_VLV_ERROR: ec = GPG_ERR_LDAP_VLV; break;
+#endif
+
+    case LDAP_OTHER: ec = GPG_ERR_LDAP_OTHER; break;
+
+#ifdef LDAP_CUP_RESOURCES_EXHAUSTED
+    case LDAP_CUP_RESOURCES_EXHAUSTED: ec=GPG_ERR_LDAP_CUP_RESOURCE_LIMIT;break;
+    case LDAP_CUP_SECURITY_VIOLATION: ec=GPG_ERR_LDAP_CUP_SEC_VIOLATION; break;
+    case LDAP_CUP_INVALID_DATA: ec = GPG_ERR_LDAP_CUP_INV_DATA; break;
+    case LDAP_CUP_UNSUPPORTED_SCHEME: ec = GPG_ERR_LDAP_CUP_UNSUP_SCHEME; break;
+    case LDAP_CUP_RELOAD_REQUIRED: ec = GPG_ERR_LDAP_CUP_RELOAD; break;
+#endif
+
+#ifdef LDAP_CANCELLED
+    case LDAP_CANCELLED: ec = GPG_ERR_LDAP_CANCELLED; break;
+#endif
+
+#ifdef LDAP_NO_SUCH_OPERATION
+    case LDAP_NO_SUCH_OPERATION: ec = GPG_ERR_LDAP_NO_SUCH_OPERATION; break;
+#endif
+
+#ifdef LDAP_TOO_LATE
+    case LDAP_TOO_LATE: ec = GPG_ERR_LDAP_TOO_LATE; break;
+#endif
+
+#ifdef LDAP_CANNOT_CANCEL
+    case LDAP_CANNOT_CANCEL: ec = GPG_ERR_LDAP_CANNOT_CANCEL; break;
+#endif
+
+#ifdef LDAP_ASSERTION_FAILED
+    case LDAP_ASSERTION_FAILED: ec = GPG_ERR_LDAP_ASSERTION_FAILED; break;
+#endif
+
+#ifdef LDAP_PROXIED_AUTHORIZATION_DENIED
+    case LDAP_PROXIED_AUTHORIZATION_DENIED:
+                                      ec = GPG_ERR_LDAP_PROX_AUTH_DENIED; break;
+#endif
+
+    default:
+#if defined(LDAP_E_ERROR) && defined(LDAP_X_ERROR)
+      if (LDAP_E_ERROR (code))
+        ec = GPG_ERR_LDAP_E_GENERAL;
+      else if (LDAP_X_ERROR (code))
+        ec = GPG_ERR_LDAP_X_GENERAL;
+      else
+#endif
+        ec = GPG_ERR_LDAP_GENERAL;
+      break;
+    }
+
+  return ec;
+}
diff --git a/src/err-codes.h.in b/src/err-codes.h.in
index 9e1924d..6a2fe6c 100644
--- a/src/err-codes.h.in
+++ b/src/err-codes.h.in
@@ -314,9 +314,110 @@
 
 # 282 to 299 are reserved for future assuan codes.
 
-# 300 to 1023 are free to be used.
+# 300 to 720 are free to be used.
 
-# For free use by non-GnuPG components.
+#
+# Mapping of LDAP error codes
+#
+# The numbers reflect the OpenLDAP code with an offset of 768.
+# Some error names are shortened
+#
+721	GPG_ERR_LDAP_GENERAL		LDAP General error
+722	GPG_ERR_LDAP_ATTR_GENERAL	LDAP General attribute error
+723	GPG_ERR_LDAP_NAME_GENERAL	LDAP General name error
+724	GPG_ERR_LDAP_SECURITY_GENERAL	LDAP General security error
+725	GPG_ERR_LDAP_SERVICE_GENERAL	LDAP General service error
+726	GPG_ERR_LDAP_UPDATE_GENERAL	LDAP General update error
+727	GPG_ERR_LDAP_E_GENERAL		LDAP Experimental error code
+728	GPG_ERR_LDAP_X_GENERAL		LDAP Private error code
+729	GPG_ERR_LDAP_OTHER_GENERAL	LDAP Other general error
+# 730 to 749 not used
+750	GPG_ERR_LDAP_X_CONNECTING	Connecting failed (X)
+751	GPG_ERR_LDAP_REFERRAL_LIMIT	Referral limit exceeded
+752	GPG_ERR_LDAP_CLIENT_LOOP	Client loop
+# 753 is an obsolete error code
+754	GPG_ERR_LDAP_NO_RESULTS		No results returned
+755	GPG_ERR_LDAP_CONTROL_NOT_FOUND	Control not found
+756	GPG_ERR_LDAP_NOT_SUPPORTED	Not supported
+757	GPG_ERR_LDAP_CONNECT		Connect error
+758	GPG_ERR_LDAP_NO_MEMORY		Out of memory
+759	GPG_ERR_LDAP_PARAM		Bad parameter to an LDAP routine
+760	GPG_ERR_LDAP_USER_CANCELLED	User cancelled operation
+761	GPG_ERR_LDAP_FILTER		Bad search filter
+762	GPG_ERR_LDAP_AUTH_UNKNOWN	Unknown authentication method
+763	GPG_ERR_LDAP_TIMEOUT		Timeout
+764	GPG_ERR_LDAP_DECODING		Decoding error
+765	GPG_ERR_LDAP_ENCODING		Encoding error
+766	GPG_ERR_LDAP_LOCAL		LDAP Local error
+767	GPG_ERR_LDAP_SERVER_DOWN	Cannot contact LDAP server
+768	GPG_ERR_LDAP_SUCCESS		Success
+769	GPG_ERR_LDAP_OPERATIONS		Operations error
+770	GPG_ERR_LDAP_PROTOCOL		Protocol error
+771	GPG_ERR_LDAP_TIMELIMIT		Time limit exceeded
+772	GPG_ERR_LDAP_SIZELIMIT		Size limit exceeded
+773	GPG_ERR_LDAP_COMPARE_FALSE	Compare false
+774	GPG_ERR_LDAP_COMPARE_TRUE	Compare true
+775	GPG_ERR_LDAP_UNSUPPORTED_AUTH	Authentication method not supported
+776	GPG_ERR_LDAP_STRONG_AUTH_RQRD	Strong(er) authentication required
+777	GPG_ERR_LDAP_PARTIAL_RESULTS	Partial results and referral received
+778	GPG_ERR_LDAP_REFERRAL		Referral
+779	GPG_ERR_LDAP_ADMINLIMIT		Administrative limit exceeded
+780	GPG_ERR_LDAP_UNAVAIL_CRIT_EXTN	Critical extension is unavailable
+781	GPG_ERR_LDAP_CONFIDENT_RQRD	Confidentiality required
+782	GPG_ERR_LDAP_SASL_BIND_INPROG	SASL bind in progress
+# 783 not used
+784	GPG_ERR_LDAP_NO_SUCH_ATTRIBUTE	No such attribute
+785	GPG_ERR_LDAP_UNDEFINED_TYPE	Undefined attribute type
+786	GPG_ERR_LDAP_BAD_MATCHING	Inappropriate matching
+787	GPG_ERR_LDAP_CONST_VIOLATION	Constraint violation
+788	GPG_ERR_LDAP_TYPE_VALUE_EXISTS	Type or value exists
+789	GPG_ERR_LDAP_INV_SYNTAX		Invalid syntax
+# 790 to 799 not used
+800	GPG_ERR_LDAP_NO_SUCH_OBJ	No such object
+801	GPG_ERR_LDAP_ALIAS_PROBLEM	Alias problem
+802	GPG_ERR_LDAP_INV_DN_SYNTAX	Invalid DN syntax
+803	GPG_ERR_LDAP_IS_LEAF		Entry is a leaf
+804	GPG_ERR_LDAP_ALIAS_DEREF	Alias dereferencing problem
+# 805 to 814 not used
+815	GPG_ERR_LDAP_X_PROXY_AUTH_FAIL	Proxy authorization failure (X)
+816	GPG_ERR_LDAP_BAD_AUTH		Inappropriate authentication
+817	GPG_ERR_LDAP_INV_CREDENTIALS	Invalid credentials
+818	GPG_ERR_LDAP_INSUFFICIENT_ACC	Insufficient access
+819	GPG_ERR_LDAP_BUSY		Server is busy
+820	GPG_ERR_LDAP_UNAVAILABLE	Server is unavailable
+821	GPG_ERR_LDAP_UNWILL_TO_PERFORM	Server is unwilling to perform
+822	GPG_ERR_LDAP_LOOP_DETECT	Loop detected
+# 823 to 831 not used
+832	GPG_ERR_LDAP_NAMING_VIOLATION	Naming violation
+833	GPG_ERR_LDAP_OBJ_CLS_VIOLATION	Object class violation
+834	GPG_ERR_LDAP_NOT_ALLOW_NONLEAF	Operation not allowed on non-leaf
+835	GPG_ERR_LDAP_NOT_ALLOW_ON_RDN	Operation not allowed on RDN
+836	GPG_ERR_LDAP_ALREADY_EXISTS	Already exists
+837	GPG_ERR_LDAP_NO_OBJ_CLASS_MODS	Cannot modify object class
+838	GPG_ERR_LDAP_RESULTS_TOO_LARGE	Results too large
+839	GPG_ERR_LDAP_AFFECTS_MULT_DSAS	Operation affects multiple DSAs
+# 840 to 843 not used
+844	GPG_ERR_LDAP_VLV		Virtual list view error
+# 845 to 847 not used
+848	GPG_ERR_LDAP_OTHER		Other LDAP error
+# 849 to 880 not used
+881	GPG_ERR_LDAP_CUP_RESOURCE_LIMIT	LCUP Resources exhausted
+882	GPG_ERR_LDAP_CUP_SEC_VIOLATION	LCUP Security violation
+883	GPG_ERR_LDAP_CUP_INV_DATA	LCUP Invalid data
+884	GPG_ERR_LDAP_CUP_UNSUP_SCHEME	LCUP Unsupported scheme
+885	GPG_ERR_LDAP_CUP_RELOAD		LCUP Reload required
+886	GPG_ERR_LDAP_CANCELLED		LDAP Cancelled
+887	GPG_ERR_LDAP_NO_SUCH_OPERATION	No operation to cancel
+888	GPG_ERR_LDAP_TOO_LATE		Too late to cancel
+889	GPG_ERR_LDAP_CANNOT_CANCEL	Cannot cancel
+890	GPG_ERR_LDAP_ASSERTION_FAILED	Assertion failed
+891	GPG_ERR_LDAP_PROX_AUTH_DENIED	Proxied authorization denied
+
+# 892 to 950 are reserved for future LDAP codes.
+
+# 951 to 1023 are free to be used.
+
+# For free use by non-GnuPG components:
 1024	GPG_ERR_USER_1			User defined error code 1
 1025	GPG_ERR_USER_2			User defined error code 2
 1026	GPG_ERR_USER_3			User defined error code 3

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

Summary of changes:
 NEWS               |   3 +
 doc/errorref.txt   |  30 +++++++++
 doc/ldap2gpgerr.c  | 184 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/err-codes.h.in | 105 +++++++++++++++++++++++++++++-
 4 files changed, 320 insertions(+), 2 deletions(-)
 create mode 100644 doc/ldap2gpgerr.c


hooks/post-receive
-- 
Error codes used by GnuPG et al.
http://git.gnupg.org




More information about the Gnupg-commits mailing list