From 07d62412cf2891883d1a7d79e6f50e282793dd49 Mon Sep 17 00:00:00 2001 From: Anas Nashif Date: Mon, 23 Sep 2013 03:49:26 -0400 Subject: [PATCH] tizen 2.1 patch Change-Id: I567ca343602cf4230d21cd126b507ebb4d6436d4 Signed-off-by: Anas Nashif --- include/xmlsec/keyinfo.h | 4 ++++ src/openssl/x509vfy.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/include/xmlsec/keyinfo.h b/include/xmlsec/keyinfo.h index 5d7cf0e..19dcbb9 100644 --- a/include/xmlsec/keyinfo.h +++ b/include/xmlsec/keyinfo.h @@ -154,6 +154,10 @@ typedef enum { */ #define XMLSEC_KEYINFO_FLAGS_X509DATA_SKIP_STRICT_CHECKS 0x00004000 + +#define XMLSEC_KEYINFO_FLAGS_ALLOW_BROKEN_CHAIN 0x00008000 +#define XMLSEC_KEYINFO_ERROR_FLAGS_BROKEN_CHAIN 0x00000001 + /** * xmlSecKeyInfoCtx: * @userData: the pointer to user data (xmlsec and xmlsec-crypto diff --git a/src/openssl/x509vfy.c b/src/openssl/x509vfy.c index fe51da4..b5273a4 100644 --- a/src/openssl/x509vfy.c +++ b/src/openssl/x509vfy.c @@ -332,6 +332,10 @@ xmlSecOpenSSLX509StoreVerify(xmlSecKeyDataStorePtr store, XMLSEC_STACK_OF_X509* depth = X509_STORE_CTX_get_error_depth(&xsc); X509_STORE_CTX_cleanup (&xsc); + if(ret != 1 && keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_ALLOW_BROKEN_CHAIN){ + ret = 1; + keyInfoCtx->flags2 |= XMLSEC_KEYINFO_ERROR_FLAGS_BROKEN_CHAIN; + } if(ret == 1) { res = cert; -- 2.7.4