From 0c1eee339aba8b06b715122e8c29e1bfbfb61421 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Kou=C5=99il?= Date: Fri, 9 Dec 2011 14:41:10 +0000 Subject: [PATCH] Definition of error codes automatically generated --- emi.canl.canl-c/Makefile | 10 +++- emi.canl.canl-c/src/canl.h | 4 +- emi.canl.canl-c/src/canl_err.c | 2 +- emi.canl.canl-c/src/canl_err.h | 110 ----------------------------------- emi.canl.canl-c/src/canl_error_codes | 103 ++++++++++++++++++++++++++++++++ emi.canl.canl-c/src/canl_locl.h | 10 +++- emi.canl.canl-c/src/gen_err_codes.pl | 20 +++++++ 7 files changed, 143 insertions(+), 116 deletions(-) delete mode 100644 emi.canl.canl-c/src/canl_err.h create mode 100644 emi.canl.canl-c/src/canl_error_codes create mode 100755 emi.canl.canl-c/src/gen_err_codes.pl diff --git a/emi.canl.canl-c/Makefile b/emi.canl.canl-c/Makefile index df25e83..8b5b9c4 100644 --- a/emi.canl.canl-c/Makefile +++ b/emi.canl.canl-c/Makefile @@ -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 diff --git a/emi.canl.canl-c/src/canl.h b/emi.canl.canl-c/src/canl.h index 1e9ca21..d0c6440 100644 --- a/emi.canl.canl-c/src/canl.h +++ b/emi.canl.canl-c/src/canl.h @@ -1,7 +1,9 @@ #ifndef _CANL_H #define _CANL_H #include -#include "sys/socket.h" +#include + +#include "canl_err.h" typedef void *canl_io_handler; typedef void *canl_ctx; diff --git a/emi.canl.canl-c/src/canl_err.c b/emi.canl.canl-c/src/canl_err.c index ba35c17..b671a3d 100644 --- a/emi.canl.canl-c/src/canl_err.c +++ b/emi.canl.canl-c/src/canl_err.c @@ -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 index 30c59bd..0000000 --- a/emi.canl.canl-c/src/canl_err.h +++ /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 index 0000000..3d6ac8d --- /dev/null +++ b/emi.canl.canl-c/src/canl_error_codes @@ -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 diff --git a/emi.canl.canl-c/src/canl_locl.h b/emi.canl.canl-c/src/canl_locl.h index e52557a..28522ee 100644 --- a/emi.canl.canl-c/src/canl_locl.h +++ b/emi.canl.canl-c/src/canl_locl.h @@ -13,9 +13,17 @@ #include #include #include -#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 index 0000000..5f31679 --- /dev/null +++ b/emi.canl.canl-c/src/gen_err_codes.pl @@ -0,0 +1,20 @@ +#!/usr/bin/perl + +$err_name = ""; + +print STDOUT qq ( +/* Automatically generated file. Don't edit. */ + +typedef enum _CANL_ERROR {); + +while () { + chomp; + + next if /^\s*#/; + + printf ("\n EMI_Err_%s,", $_); +} + +print STDOUT qq ( +} CANL_ERROR; +); -- 1.8.2.3