Definition of error codes automatically generated
authorDaniel Kouřil <kouril@ics.muni.cz>
Fri, 9 Dec 2011 14:41:10 +0000 (14:41 +0000)
committerDaniel Kouřil <kouril@ics.muni.cz>
Fri, 9 Dec 2011 14:41:10 +0000 (14:41 +0000)
emi.canl.canl-c/Makefile
emi.canl.canl-c/src/canl.h
emi.canl.canl-c/src/canl_err.c
emi.canl.canl-c/src/canl_err.h [deleted file]
emi.canl.canl-c/src/canl_error_codes [new file with mode: 0644]
emi.canl.canl-c/src/canl_locl.h
emi.canl.canl-c/src/gen_err_codes.pl [new file with mode: 0755]

index df25e83..8b5b9c4 100644 (file)
@@ -16,13 +16,13 @@ COMPILE=libtool --mode=compile ${CC} ${CFLAGS}
 LINK=libtool --mode=link ${CC} ${LDFLAGS}
 INSTALL=libtool --mode=install install
 
-CFLAGS_LIB=-Wall -pedantic -fPIC -c -g -I${top_srcdir}/src ${LIBCARES_CFLAGS} ${LIBSSL_CFLAGS} -DDEBUG
+CFLAGS_LIB=-Wall -fPIC -c -g -I${top_srcdir}/src ${LIBCARES_CFLAGS} ${LIBSSL_CFLAGS} -I.
 LFLAGS_LIB=-shared ${LIBCARES_LIBS} ${LIBSSL_LIBS}
 
-CFLAGS_CLI=-Wall -g -I${top_srcdir}/src
+CFLAGS_CLI=-Wall -g -I${top_srcdir}/src -I.
 LFLAGS_CLI=-L. -lcanl
 
-CFLAGS_SER=-Wall -g -I${top_srcdir}/src
+CFLAGS_SER=-Wall -g -I${top_srcdir}/src -I.
 LFLAGS_SER=-L. -lcanl
 
 HEAD_CANL=canl.h canl_locl.h canl_err.h
@@ -81,6 +81,10 @@ server: ${OBJ_SER}
 ${OBJ_SER}: ${SRC_SER} ${HEAD_SER} libcanl.la
        ${COMPILE} -c ${top_srcdir}/src/${SRC_SER} ${CFLAGS_SER} -o $@
 
+canl_err.h: canl_error_codes
+       ${top_srcdir}/src/gen_err_codes.pl < $^ > $@
+
+
 check:
 
 install: all
index 1e9ca21..d0c6440 100644 (file)
@@ -1,7 +1,9 @@
 #ifndef _CANL_H
 #define _CANL_H
 #include <sys/time.h>
-#include "sys/socket.h"
+#include <sys/socket.h>
+
+#include "canl_err.h"
 
 typedef void *canl_io_handler;
 typedef void *canl_ctx;
index ba35c17..b671a3d 100644 (file)
@@ -86,7 +86,7 @@ void reset_error (glb_ctx *cc, unsigned long err_code)
     if (cc->err_msg)
         free(cc->err_msg);
     cc->err_msg = NULL;
-    cc->err_code = no_error;
+    cc->err_code = EMI_Err_OK;
     cc->err_orig = unknown_error;
 }
 
diff --git a/emi.canl.canl-c/src/canl_err.h b/emi.canl.canl-c/src/canl_err.h
deleted file mode 100644 (file)
index 30c59bd..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-#ifndef CANL_ERR_H
-#define CANL_ERR_H
-
-typedef enum _CANL_ERROR
-{
-    no_error = 0,
-    emptyCertPath = 1000,
-    ncSubjectNameError,
-    notPermittedDN,
-    excludedDN,
-    subjAltNameExtError,
-    notPermittedEmail,
-    notPermittedEmailnew,
-    excludedEmail,
-/*    notPermittedDN,
-    excludedDN,
-*/    notPermittedIP,
-    excludedIP,
-    ncExtError,
-    pathLenghtExtended,
-    processLengthConstError,
-    totalPathLength,
-    certPathValidDate,
-    conflictingTrustAnchors,
-    noTrustAnchorFound,
-    trustButInvalidCert,
-    unknown,
-    trustDNInvalid,
-    trustPubKeyError,
-//    signatureNotVerified,
-    rootKeyIsValidButNotATrustAnchor,
-    signatureNotVerified,
-    NoIssuerPublicKey,
-    certificateNotYetValid,
-    certificateExpired,
-    crlDistPtExtError,
-    crlAuthInfoAccError,
-    crlDistPoint,
-    ocspLocation,
-    certWrongIssuer,
-    noCACert,
-    noBasicConstraints,
-    errorProcesingBC,
-    noCertSign,
-    pubKeyError,
-    policyExtError,
-//    policyQualifierError,
-    policyQualifierError,
-    noValidPolicyTree,
-    policyMapExtError,
-    invalidPolicyMapping,
-//    invalidPolicyMapping,
-//    policyExtError,
-//    policyQualifierError,
-    policyConstExtError,
-    policyInhibitExtError,
-//    policyConstExtError,
-    explicitPolicy,
-//    explicitPolicy,
-    invalidPolicy,
-    certPathCheckerError,
-    criticalExtensionError,
-    unknownCriticalExt,
-    QcEuCompliance,
-    QcSSCD,
-    QcLimitValueAlpha,
-    QcLimitValueNum,
-    QcUnknownStatement,
-    QcStatementExtError,
-    crlIssuerException,
-    noCrlInCertstore,
-    crlExtractionError,
-    localValidCRL,
-    localInvalidCRL,
-    onlineCRLWrongCA,
-    onlineValidCRL,
-    onlineInvalidCRL,
-    noCrlSigningPermited,
-    crlVerifyFailed,
-    crlNoIssuerPublicKey,
-    crlReasonExtError,
-    certRevoked,
-    revokedAfterValidation,
-    notRevoked,
-    crlUpdateAvailable,
-    distrPtExtError,
-    deltaCrlExtError,
-//    crlIssuerException,
-    crlNbrExtError,
-//    crlExtractionError,
-//    distrPtExtError,
-    noBaseCRL,
-    crlBCExtError,
-    crlOnlyUserCert,
-    crlOnlyCaCert,
-    crlOnlyAttrCert,
-    noValidCrlFound,
-    loadCrlDistPointError,
-    trustAnchorIssuerError
-} CANL_ERROR;
-
-typedef enum _CANL_ERROR_ORIGIN
-{
-    unknown_error = 0,
-    posix_error = 1,
-    ssl_error,
-    colin_error
-} CANL_ERROR_ORIGIN;
-
-#endif
diff --git a/emi.canl.canl-c/src/canl_error_codes b/emi.canl.canl-c/src/canl_error_codes
new file mode 100644 (file)
index 0000000..3d6ac8d
--- /dev/null
@@ -0,0 +1,103 @@
+#
+# Additional codes MUST be added to the end only!
+#
+OK
+unknown
+unknownMsg
+inputError
+nsUndefinedAndRequired
+nsDeny
+nsNotAccepted
+proxyEECInChain
+proxyLength
+proxyNoIssuer
+proxyCASet
+proxyIssuerAltNameSet
+proxySubjectAltNameSet
+proxyIssuedByCa
+proxyNoIssuerSubject
+proxySubjectInconsistent
+proxyIssuerNoDsig
+proxySubjectOneRDN
+proxySubjectMultiLastRDN
+proxySubjectLastRDNNotCN
+proxySubjectBaseWrong
+noIssuerPublicKey
+noBasicConstraints
+pathLenghtExtended
+conflictingTrustAnchors
+noTrustAnchorFound
+trustButInvalidCert
+signatureNotVerified
+certificateNotYetValid
+certificateExpired
+noCACert
+noCertSign
+unknownCriticalExt
+certRevoked
+noBaseCRL
+noValidCrlFound
+certPathCheckerError
+certPathValidDate
+certWrongIssuer
+criticalExtensionError
+crlAuthInfoAccError
+crlBCExtError
+crlDistPoint
+crlDistPtExtError
+crlExtractionError
+crlIssuerException
+crlNbrExtError
+crlNoIssuerPublicKey
+crlOnlyAttrCert
+crlOnlyCaCert
+crlOnlyUserCert
+crlReasonExtError
+crlUpdateAvailable
+crlVerifyFailed
+deltaCrlExtError
+distrPtExtError
+emptyCertPath
+errorProcesingBC
+excludedDN
+excludedEmail
+excludedIP
+explicitPolicy
+invalidPolicy
+invalidPolicyMapping
+loadCrlDistPointError
+localInvalidCRL
+localValidCRL
+ncExtError
+ncSubjectNameError
+noCrlInCertstore
+noCrlSigningPermited
+notPermittedDN
+notPermittedEmail
+notPermittedIP
+notRevoked
+noValidPolicyTree
+ocspLocation
+onlineCRLWrongCA
+onlineInvalidCRL
+onlineValidCRL
+policyConstExtError
+policyExtError
+policyInhibitExtError
+policyMapExtError
+policyQualifierError
+processLengthConstError
+pubKeyError
+QcEuCompliance
+QcLimitValueAlpha
+QcLimitValueNum
+QcSSCD
+QcStatementExtError
+QcUnknownStatement
+revokedAfterValidation
+rootKeyIsValidButNotATrustAnchor
+subjAltNameExtError
+totalPathLength
+trustAnchorIssuerError
+trustDNInvalid
+trustPubKeyError
index e52557a..28522ee 100644 (file)
 #include <openssl/safestack.h>
 #include <unistd.h>
 #include <fcntl.h>
-#include "canl_err.h"
+
 #include "canl.h"
 
+typedef enum _CANL_ERROR_ORIGIN
+{
+    unknown_error = 0,
+    posix_error = 1,
+    ssl_error,
+    colin_error
+} CANL_ERROR_ORIGIN;
+
 typedef struct _cert_key_store {
     X509 *cert;
     EVP_PKEY *key;
diff --git a/emi.canl.canl-c/src/gen_err_codes.pl b/emi.canl.canl-c/src/gen_err_codes.pl
new file mode 100755 (executable)
index 0000000..5f31679
--- /dev/null
@@ -0,0 +1,20 @@
+#!/usr/bin/perl
+
+$err_name = "";
+
+print STDOUT qq (
+/* Automatically generated file. Don't edit. */
+
+typedef enum _CANL_ERROR {);
+
+while (<STDIN>) {
+    chomp;
+
+    next if /^\s*#/;
+
+    printf ("\n    EMI_Err_%s,", $_);
+}
+
+print STDOUT qq (
+} CANL_ERROR;
+);