Merge branch 'upstream' into tizen 57/81757/1
authorsangwan.kwon <sangwan.kwon@samsung.com>
Thu, 28 Jul 2016 06:17:14 +0000 (15:17 +0900)
committersangwan.kwon <sangwan.kwon@samsung.com>
Thu, 28 Jul 2016 06:17:14 +0000 (15:17 +0900)
Change-Id: Iacc73c9ed5e9cfd188df62c405426bfa89bf4e51

1  2 
include/xmlsec/keyinfo.h
include/xmlsec/xmldsig.h
src/errors.c
src/io.c
src/openssl/digests.c
src/openssl/x509vfy.c
src/xmldsig.c

Simple merge
Simple merge
diff --cc src/errors.c
Simple merge
diff --cc src/io.c
Simple merge
Simple merge
@@@ -329,13 -326,8 +326,12 @@@ xmlSecOpenSSLX509StoreVerify(xmlSecKeyD
              ret         = X509_verify_cert(&xsc);
              err_cert    = X509_STORE_CTX_get_current_cert(&xsc);
              err         = X509_STORE_CTX_get_error(&xsc);
-             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;
diff --cc src/xmldsig.c
   * xmlSecDSigCtx
   *
   *************************************************************************/
- static int    xmlSecDSigCtxProcessSignatureNode       (xmlSecDSigCtxPtr dsigCtx, 
-         xmlNodePtr node);
- static int    xmlSecDSigCtxProcessSignedInfoNode      (xmlSecDSigCtxPtr dsigCtx, 
-         xmlNodePtr node);
- static int    xmlSecDSigCtxProcessKeyInfoNode         (xmlSecDSigCtxPtr dsigCtx, 
-         xmlNodePtr node);
- static int    xmlSecDSigCtxProcessObjectNode          (xmlSecDSigCtxPtr dsigCtx, 
-         xmlNodePtr node);
- static int    xmlSecDSigCtxProcessManifestNode        (xmlSecDSigCtxPtr dsigCtx, 
-         xmlNodePtr node);
- static int    xmlSecDSigCtxProcessSignatureNodeEx     (xmlSecDSigCtxPtr dsigCtx,
-         xmlNodePtr node, int noHash, void* pList);
- static int    xmlSecDSigCtxProcessSignedInfoNodeEx    (xmlSecDSigCtxPtr dsigCtx,
-         xmlNodePtr node, int noHash, void* pList);
- static int    xmlSecDSigReferenceCtxProcessNodeEx (xmlSecDSigReferenceCtxPtr dsigRefCtx,
-         xmlNodePtr node, int noHash, void* pList);
+ static int      xmlSecDSigCtxProcessSignatureNode       (xmlSecDSigCtxPtr dsigCtx,
+                                                          xmlNodePtr node);
+ static int      xmlSecDSigCtxProcessSignedInfoNode      (xmlSecDSigCtxPtr dsigCtx,
+                                                          xmlNodePtr node,
+                                                          xmlNodePtr * firstReferenceNode);
+ static int      xmlSecDSigCtxProcessKeyInfoNode         (xmlSecDSigCtxPtr dsigCtx,
+                                                          xmlNodePtr node);
+ static int      xmlSecDSigCtxProcessObjectNode          (xmlSecDSigCtxPtr dsigCtx,
+                                                          xmlNodePtr node);
+ static int      xmlSecDSigCtxProcessManifestNode        (xmlSecDSigCtxPtr dsigCtx,
+                                                          xmlNodePtr node);
 -
+ static int      xmlSecDSigCtxProcessReferences          (xmlSecDSigCtxPtr dsigCtx,
+                                                          xmlNodePtr firstReferenceNode);
++/* Tizen : Support for various validation mode */
++static int      xmlSecDSigCtxProcessSignatureNodeEx     (xmlSecDSigCtxPtr dsigCtx,
++                                                         xmlNodePtr node, int noHash, void* pList);
++static int      xmlSecDSigCtxProcessSignedInfoNodeEx    (xmlSecDSigCtxPtr dsigCtx,
++                                                         xmlNodePtr node, int noHash, void* pList);
++static int      xmlSecDSigReferenceCtxProcessNodeEx     (xmlSecDSigReferenceCtxPtr dsigRefCtx,
++                                                         xmlNodePtr node, int noHash, void* pList);
 +
  /* The ID attribute in XMLDSig is 'Id' */
 -static const xmlChar*           xmlSecDSigIds[] = { xmlSecAttrId, NULL };
 +static const xmlChar*         xmlSecDSigIds[] = { xmlSecAttrId, NULL };
 +
 +
 +#define _start //xmlSecError(XMLSEC_ERRORS_HERE, NULL, NULL, XMLSEC_ERRORS_MAX_NUMBER," >> start ");
 +#define _end //xmlSecError(XMLSEC_ERRORS_HERE, NULL, NULL, XMLSEC_ERRORS_MAX_NUMBER," >> end ");
 +static char logMsg[1024];
  
  /**
   * xmlSecDSigCtxCreate: