commit xmltooling for openSUSE:Factory
Hello community, here is the log from the commit of package xmltooling for openSUSE:Factory checked in at 2017-11-10 14:58:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xmltooling (Old) and /work/SRC/openSUSE:Factory/.xmltooling.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "xmltooling" Fri Nov 10 14:58:50 2017 rev:6 rq:540429 version:1.6.0 Changes: -------- --- /work/SRC/openSUSE:Factory/xmltooling/xmltooling.changes 2017-10-05 11:56:36.538971093 +0200 +++ /work/SRC/openSUSE:Factory/.xmltooling.new/xmltooling.changes 2017-11-10 14:59:17.843954621 +0100 @@ -1,0 +2,36 @@ +Thu Nov 9 16:43:11 UTC 2017 - vcizek@suse.com + +- add upstream patches to support building with openssl 1.1 (bsc#1067419) + * 0023-CPPXT-110-OpenSSL-1.1-removes-BIO_s_file_internal.patch + * 0011-CPPXT-110-Clean-up-some-collateral-damage-from-previ.patch + * 0005-CPPXT-110-OpenSSL-1.1-removes-BIO_s_file_internal.patch + * 0026-CPPXT-110-OpenSSL-1.1-library-names-have-changes.patch + * 0027-Commit-a-xmltoolingtest.vcxproj.user.patch + * 0010-CPPXT-110-Start-to-add-tests-to-exercise-XSEC-paths-.patch + * 0003-CPPXT-110-OpenSSL-1.1-makes-DSA-opaque.patch + * 0002-CPPXT-110-Add-new-OpenSSL-support-files-to-Unix-buil.patch + * 0012-CPPXT-110-Add-test-path-for-RSA-loadXXXBigNums.patch + * 0009-CPPXT-110-Start-to-add-tests-to-exercise-XSEC-paths-.patch + * 0020-CPPXT-110-Add-new-OpenSSL-support-files-to-Unix-buil.patch + * 0024-CPPXT-110-OpenSSL-1.1-internalizes-locking.patch + * 0006-CPPXT-110-OpenSSL-1.1-internalizes-locking.patch + * 0028-CPPXT-110-OpenSSL-1.1-OpenSSL1.1-changes-to-newly-in.patch + * 0025-CPPXT-110-OpenSSL-1.1-Fix-some-signatures-and-names.patch + * 0016-CPPXT-110-Round-trip-verify-test-for-OpenSSLCryptoKe.patch + * 0021-CPPXT-110-OpenSSL-1.1-makes-DSA-opaque.patch + * 0007-Unwind-previous.patch + * 0013-CPPXT-110-Used-Named-curves-for-EC-testing.patch + * 0030-CPPXT-110-OpenSSL-1.1-New-build-mechanisms.patch + * 0031-Missed-file-for-OpenSSL1.1-support.patch + * 0029-CPPXT-110-OpenSSL-1.1-Cleanup-tests.patch + * 0022-CPPXT-110-OpenSSL-1.1-makes-EVP_PKEY-opaque.patch + * 0017-CPPXT-110-Inverted-parameters-to-TSM_ASSERT-in-DSA-t.patch + * 0008-CPPXT-110-Checkin-prototypical-vcxproj.user-file-for.patch + * 0019-CPPXT-110-OpenSSL-1.1-makes-X509_STORE_CTX-and-X509_.patch + * 0001-CPPXT-110-OpenSSL-1.1-makes-X509_STORE_CTX-and-X509_.patch + * 0018-CPPXT-110-Test-for-OpenSSL-part-of-ExplicitKeyTrustE.patch + * 0004-CPPXT-110-OpenSSL-1.1-makes-EVP_PKEY-opaque.patch + * 0015-CPPXT-110-test-for-code-changes-to-OpenSSLCryptoKeyE.patch + * 0014-CPPXT-110-test-for-code-changes-to-OpenSSLCryptoKeyD.patch + +------------------------------------------------------------------- New: ---- 0001-CPPXT-110-OpenSSL-1.1-makes-X509_STORE_CTX-and-X509_.patch 0002-CPPXT-110-Add-new-OpenSSL-support-files-to-Unix-buil.patch 0003-CPPXT-110-OpenSSL-1.1-makes-DSA-opaque.patch 0004-CPPXT-110-OpenSSL-1.1-makes-EVP_PKEY-opaque.patch 0005-CPPXT-110-OpenSSL-1.1-removes-BIO_s_file_internal.patch 0006-CPPXT-110-OpenSSL-1.1-internalizes-locking.patch 0007-Unwind-previous.patch 0008-CPPXT-110-Checkin-prototypical-vcxproj.user-file-for.patch 0009-CPPXT-110-Start-to-add-tests-to-exercise-XSEC-paths-.patch 0010-CPPXT-110-Start-to-add-tests-to-exercise-XSEC-paths-.patch 0011-CPPXT-110-Clean-up-some-collateral-damage-from-previ.patch 0012-CPPXT-110-Add-test-path-for-RSA-loadXXXBigNums.patch 0013-CPPXT-110-Used-Named-curves-for-EC-testing.patch 0014-CPPXT-110-test-for-code-changes-to-OpenSSLCryptoKeyD.patch 0015-CPPXT-110-test-for-code-changes-to-OpenSSLCryptoKeyE.patch 0016-CPPXT-110-Round-trip-verify-test-for-OpenSSLCryptoKe.patch 0017-CPPXT-110-Inverted-parameters-to-TSM_ASSERT-in-DSA-t.patch 0018-CPPXT-110-Test-for-OpenSSL-part-of-ExplicitKeyTrustE.patch 0019-CPPXT-110-OpenSSL-1.1-makes-X509_STORE_CTX-and-X509_.patch 0020-CPPXT-110-Add-new-OpenSSL-support-files-to-Unix-buil.patch 0021-CPPXT-110-OpenSSL-1.1-makes-DSA-opaque.patch 0022-CPPXT-110-OpenSSL-1.1-makes-EVP_PKEY-opaque.patch 0023-CPPXT-110-OpenSSL-1.1-removes-BIO_s_file_internal.patch 0024-CPPXT-110-OpenSSL-1.1-internalizes-locking.patch 0025-CPPXT-110-OpenSSL-1.1-Fix-some-signatures-and-names.patch 0026-CPPXT-110-OpenSSL-1.1-library-names-have-changes.patch 0027-Commit-a-xmltoolingtest.vcxproj.user.patch 0028-CPPXT-110-OpenSSL-1.1-OpenSSL1.1-changes-to-newly-in.patch 0029-CPPXT-110-OpenSSL-1.1-Cleanup-tests.patch 0030-CPPXT-110-OpenSSL-1.1-New-build-mechanisms.patch 0031-Missed-file-for-OpenSSL1.1-support.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xmltooling.spec ++++++ --- /var/tmp/diff_new_pack.KcQnOB/_old 2017-11-10 14:59:20.359863614 +0100 +++ /var/tmp/diff_new_pack.KcQnOB/_new 2017-11-10 14:59:20.363863469 +0100 @@ -29,10 +29,44 @@ Source1: http://shibboleth.net/downloads/c++-opensaml/%{opensaml_version}/%{name}-%{version}.tar.bz2.asc Source2: %{name}.keyring Patch0: xmltooling-1.5.5-doxygen_timestamp.patch +Patch1: 0001-CPPXT-110-OpenSSL-1.1-makes-X509_STORE_CTX-and-X509_.patch +Patch2: 0002-CPPXT-110-Add-new-OpenSSL-support-files-to-Unix-buil.patch +Patch3: 0003-CPPXT-110-OpenSSL-1.1-makes-DSA-opaque.patch +Patch4: 0004-CPPXT-110-OpenSSL-1.1-makes-EVP_PKEY-opaque.patch +Patch5: 0005-CPPXT-110-OpenSSL-1.1-removes-BIO_s_file_internal.patch +Patch6: 0006-CPPXT-110-OpenSSL-1.1-internalizes-locking.patch +Patch7: 0007-Unwind-previous.patch +Patch8: 0008-CPPXT-110-Checkin-prototypical-vcxproj.user-file-for.patch +Patch9: 0009-CPPXT-110-Start-to-add-tests-to-exercise-XSEC-paths-.patch +Patch10: 0010-CPPXT-110-Start-to-add-tests-to-exercise-XSEC-paths-.patch +Patch11: 0011-CPPXT-110-Clean-up-some-collateral-damage-from-previ.patch +Patch12: 0012-CPPXT-110-Add-test-path-for-RSA-loadXXXBigNums.patch +Patch13: 0013-CPPXT-110-Used-Named-curves-for-EC-testing.patch +Patch14: 0014-CPPXT-110-test-for-code-changes-to-OpenSSLCryptoKeyD.patch +Patch15: 0015-CPPXT-110-test-for-code-changes-to-OpenSSLCryptoKeyE.patch +Patch16: 0016-CPPXT-110-Round-trip-verify-test-for-OpenSSLCryptoKe.patch +Patch17: 0017-CPPXT-110-Inverted-parameters-to-TSM_ASSERT-in-DSA-t.patch +Patch18: 0018-CPPXT-110-Test-for-OpenSSL-part-of-ExplicitKeyTrustE.patch +Patch19: 0019-CPPXT-110-OpenSSL-1.1-makes-X509_STORE_CTX-and-X509_.patch +Patch20: 0020-CPPXT-110-Add-new-OpenSSL-support-files-to-Unix-buil.patch +Patch21: 0021-CPPXT-110-OpenSSL-1.1-makes-DSA-opaque.patch +Patch22: 0022-CPPXT-110-OpenSSL-1.1-makes-EVP_PKEY-opaque.patch +Patch23: 0023-CPPXT-110-OpenSSL-1.1-removes-BIO_s_file_internal.patch +Patch24: 0024-CPPXT-110-OpenSSL-1.1-internalizes-locking.patch +Patch25: 0025-CPPXT-110-OpenSSL-1.1-Fix-some-signatures-and-names.patch +Patch26: 0026-CPPXT-110-OpenSSL-1.1-library-names-have-changes.patch +Patch27: 0027-Commit-a-xmltoolingtest.vcxproj.user.patch +Patch28: 0028-CPPXT-110-OpenSSL-1.1-OpenSSL1.1-changes-to-newly-in.patch +Patch29: 0029-CPPXT-110-OpenSSL-1.1-Cleanup-tests.patch +Patch30: 0030-CPPXT-110-OpenSSL-1.1-New-build-mechanisms.patch +Patch31: 0031-Missed-file-for-OpenSSL1.1-support.patch + +BuildRequires: automake BuildRequires: curl-devel >= 7.10.6 BuildRequires: doxygen BuildRequires: gcc-c++ BuildRequires: liblog4shib-devel >= 1.0.4 +BuildRequires: libtool BuildRequires: libxerces-c-devel >= 3.1 BuildRequires: libxml-security-c-devel >= 1.7.3 BuildRequires: openssl-devel @@ -106,9 +140,10 @@ %prep %setup -q -%patch0 -p1 +%autopatch -p1 %build +autoreconf -fiv %configure make %{?_smp_mflags} ++++++ 0001-CPPXT-110-OpenSSL-1.1-makes-X509_STORE_CTX-and-X509_.patch ++++++
From fcdcf871c32bf5eb8a37bf874d1ad27851984dc3 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Thu, 14 Jul 2016 14:10:50 +0100 Subject: [PATCH 01/31] CPPXT-110 OpenSSL 1.1 makes X509_STORE_CTX and X509_CRL opaque
https://issues.shibboleth.net/jira/browse/CPPXT-110
Where possible we use the setters and getters.
In some cases the setters and getters had their names changed and so
hide this inside the new header file security/impl/OpenSSLSupport.h
We are keeping the header file inside impl for now.
In PKIXPathValidator we used to have one on the stack. Instead
security/impl/OpenSSLSupport (.h and .cpp) invent a new RAII class to
abstract the allocation away. The class also has a couple of methods
which hide the changes to setter/getter names
(X509_STORE_CTX_set0_trusted_stack and X509_STORE_CTX_get0_chain)
Also in PKIXPathValidator a series of macros around X509_CRL have
become a function without a const parameter so we conditionalize
a local variables 'const' nesss.
---
Projects/vc10/xmltooling/xmltooling.vcxproj | 6 +-
.../vc10/xmltooling/xmltooling.vcxproj.filters | 13 ++++-
.../security/impl/ExplicitKeyTrustEngine.cpp | 1 +
xmltooling/security/impl/OpenSSLSupport.cpp | 67 ++++++++++++++++++++++
xmltooling/security/impl/OpenSSLSupport.h | 53 +++++++++++++++++
xmltooling/security/impl/PKIXPathValidator.cpp | 54 ++++++++++-------
xmltooling/soap/impl/CURLSOAPTransport.cpp | 11 ++--
7 files changed, 175 insertions(+), 30 deletions(-)
create mode 100644 xmltooling/security/impl/OpenSSLSupport.cpp
create mode 100644 xmltooling/security/impl/OpenSSLSupport.h
diff --git a/Projects/vc10/xmltooling/xmltooling.vcxproj b/Projects/vc10/xmltooling/xmltooling.vcxproj
index 2320132..48e2cf3 100644
--- a/Projects/vc10/xmltooling/xmltooling.vcxproj
+++ b/Projects/vc10/xmltooling/xmltooling.vcxproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
@@ -194,6 +194,7 @@
<ClCompile Include="..\..\..\XMLTooling\Lockable.cpp" />
<ClCompile Include="..\..\..\XMLTooling\Namespace.cpp" />
<ClCompile Include="..\..\..\XMLTooling\QName.cpp" />
+ <ClCompile Include="..\..\..\xmltooling\security\impl\OpenSSLSupport.cpp" />
<ClCompile Include="..\..\..\XMLTooling\security\impl\PKIXPathValidator.cpp" />
<ClCompile Include="..\..\..\XMLTooling\unicode.cpp" />
<ClCompile Include="..\..\..\XMLTooling\util\CloneInputStream.cpp" />
@@ -270,6 +271,7 @@
<ClInclude Include="..\..\..\XMLTooling\Namespace.h" />
<ClInclude Include="..\..\..\XMLTooling\PluginManager.h" />
<ClInclude Include="..\..\..\XMLTooling\QName.h" />
+ <ClInclude Include="..\..\..\xmltooling\security\impl\OpenSSLSupport.h" />
<ClInclude Include="..\..\..\XMLTooling\security\OpenSSLPathValidator.h" />
<ClInclude Include="..\..\..\XMLTooling\security\PathValidator.h" />
<ClInclude Include="..\..\..\XMLTooling\security\PKIXPathValidatorParams.h" />
@@ -346,4 +348,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
diff --git a/Projects/vc10/xmltooling/xmltooling.vcxproj.filters b/Projects/vc10/xmltooling/xmltooling.vcxproj.filters
index bee07e2..a3e2882 100644
--- a/Projects/vc10/xmltooling/xmltooling.vcxproj.filters
+++ b/Projects/vc10/xmltooling/xmltooling.vcxproj.filters
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
@@ -73,6 +73,9 @@
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
+ <Filter Include="Header Files\security\impl">
+ <UniqueIdentifier>{8ce132be-735f-49f0-899a-cc0e7cb8e775}</UniqueIdentifier>
+ </Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\XMLTooling\AbstractAttributeExtensibleXMLObject.cpp">
@@ -270,6 +273,9 @@
<ClCompile Include="..\..\..\XMLTooling\util\CloneInputStream.cpp">
<Filter>Source Files\util</Filter>
</ClCompile>
+ <ClCompile Include="..\..\..\xmltooling\security\impl\OpenSSLSupport.cpp">
+ <Filter>Source Files\security\impl</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\XMLTooling\AbstractAttributeExtensibleXMLObject.h">
@@ -521,6 +527,9 @@
<ClInclude Include="..\..\..\XMLTooling\util\CloneInputStream.h">
<Filter>Header Files\util</Filter>
</ClInclude>
+ <ClInclude Include="..\..\..\xmltooling\security\impl\OpenSSLSupport.h">
+ <Filter>Header Files\security\impl</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\XMLTooling\xmltooling.rc">
@@ -531,4 +540,4 @@
<None Include="..\..\..\XMLTooling\config_pub.h.in" />
<None Include="..\..\..\XMLTooling\Makefile.am" />
</ItemGroup>
-</Project>
+</Project>
\ No newline at end of file
diff --git a/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp b/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
index 6ad420f..5f70a70 100644
--- a/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
+++ b/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
@@ -45,6 +45,7 @@ using namespace xmltooling::logging;
using namespace xmltooling;
using namespace std;
+
using xercesc::DOMElement;
namespace xmltooling {
diff --git a/xmltooling/security/impl/OpenSSLSupport.cpp b/xmltooling/security/impl/OpenSSLSupport.cpp
new file mode 100644
index 0000000..581cc9f
--- /dev/null
+++ b/xmltooling/security/impl/OpenSSLSupport.cpp
@@ -0,0 +1,67 @@
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the
+ * License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the License for the specific
+ * language governing permissions and limitations under the License.
+ */
+
+/**
+ * @file xmltooling/impl/OpenSSLSupport.h
+ *
+ * Various functions and classes to abstract away some of the
+ * differences introduced by (at least) OpenSSL 1.1
+ */
+
+#include "internal.h"
+#include
From 7670a524ccd4bd28742c20c030baca97ee440998 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Thu, 14 Jul 2016 17:38:04 +0100 Subject: [PATCH 02/31] CPPXT-110 Add new OpenSSL support files to Unix build
https://issues.shibboleth.net/jira/browse/CPPXT-110 --- xmltooling/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xmltooling/Makefile.am b/xmltooling/Makefile.am index f265007..e2ced1a 100644 --- a/xmltooling/Makefile.am +++ b/xmltooling/Makefile.am @@ -57,6 +57,7 @@ encinclude_HEADERS = \ implinclude_HEADERS = \ impl/AnyElement.h \ + security/impl\OpenSSLSupport.h \ impl/UnknownElement.h ioinclude_HEADERS = \ @@ -147,6 +148,7 @@ xmlsec_sources = \ security/impl/InlineKeyResolver.cpp \ security/impl/KeyInfoResolver.cpp \ security/impl/OpenSSLCryptoX509CRL.cpp \ + security/impl/OpenSSLSupport.cpp \ security/impl/PKIXPathValidator.cpp \ security/impl/SecurityHelper.cpp \ security/impl/StaticPKIXTrustEngine.cpp \ -- 2.13.6 ++++++ 0003-CPPXT-110-OpenSSL-1.1-makes-DSA-opaque.patch ++++++
From c866e22f5c205e8e168145147fc066cac8c50fc3 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Fri, 15 Jul 2016 15:34:22 +0100 Subject: [PATCH 03/31] CPPXT-110 OpenSSL 1.1 makes DSA opaque
https://issues.shibboleth.net/jira/browse/CPPXT-110
Add new functions to get the public and private key.
Call the new DSA_get0_key function in 1.1 and reach into
the structure otherwise.
---
.../security/impl/ExplicitKeyTrustEngine.cpp | 4 +++-
xmltooling/security/impl/OpenSSLSupport.cpp | 27 +++++++++++++++++++++-
xmltooling/security/impl/OpenSSLSupport.h | 7 ++++++
xmltooling/security/impl/SecurityHelper.cpp | 5 ++--
4 files changed, 39 insertions(+), 4 deletions(-)
diff --git a/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp b/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
index 5f70a70..785d912 100644
--- a/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
+++ b/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
@@ -34,12 +34,14 @@
#include "signature/Signature.h"
#include "signature/SignatureValidator.h"
#include "util/NDC.h"
+#include "security/impl/OpenSSLSupport.h"
#include
From 2c621579b639fa15f24589b2fbd5eeff72bd052f Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Fri, 15 Jul 2016 17:18:25 +0100 Subject: [PATCH 04/31] CPPXT-110 OpenSSL 1.1 makes EVP_PKEY opaque
https://issues.shibboleth.net/jira/browse/CPPXT-110
The type field is available as EVP_PKEY_id() since 1.0
The RSA and DSA fields are availble as EVP_PKEY_get0_[RD]SA from 1.1
Add support macros to make that happen.
---
.../security/impl/ExplicitKeyTrustEngine.cpp | 6 ++--
xmltooling/security/impl/OpenSSLSupport.cpp | 33 ++++++++++++++++++++++
xmltooling/security/impl/OpenSSLSupport.h | 15 ++++++++--
xmltooling/security/impl/SecurityHelper.cpp | 8 +++---
4 files changed, 53 insertions(+), 9 deletions(-)
diff --git a/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp b/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
index 785d912..a4a5dd2 100644
--- a/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
+++ b/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
@@ -263,8 +263,8 @@ bool ExplicitKeyTrustEngine::validate(
{
RSA* rsa = static_cast
From eff6f0bfd030db8b6afd03e751c82b2a290b7359 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Sat, 16 Jul 2016 15:59:01 +0100 Subject: [PATCH 05/31] CPPXT-110 OpenSSL 1.1 removes BIO_s_file_internal
https://issues.shibboleth.net/jira/browse/CPPXT-110 This is real in 0.9.8 and a #define in 1.0.0 through 1.0.2. Add the #define back in for >= 1.1 --- xmltooling/security/impl/FilesystemCredentialResolver.cpp | 1 + xmltooling/security/impl/OpenSSLSupport.h | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/xmltooling/security/impl/FilesystemCredentialResolver.cpp b/xmltooling/security/impl/FilesystemCredentialResolver.cpp index dfeccf7..f9a337d 100644 --- a/xmltooling/security/impl/FilesystemCredentialResolver.cpp +++ b/xmltooling/security/impl/FilesystemCredentialResolver.cpp @@ -34,6 +34,7 @@ #include "security/OpenSSLCredential.h" #include "security/SecurityHelper.h" #include "security/XSECCryptoX509CRL.h" +#include "security/impl/OpenSSLSupport.h" #include "util/NDC.h" #include "util/PathResolver.h" #include "util/Threads.h" diff --git a/xmltooling/security/impl/OpenSSLSupport.h b/xmltooling/security/impl/OpenSSLSupport.h index 7519091..2d267be 100644 --- a/xmltooling/security/impl/OpenSSLSupport.h +++ b/xmltooling/security/impl/OpenSSLSupport.h @@ -40,6 +40,16 @@ # define EVP_PKEY_id(_evp_) ((_evp_)->type) #endif +// BIO_s_file and BIO_s_file_internal +// in 0.9.8 #define BIO_s_file BIO_s_file_internal, uses both +// in 1.0.0 #define BIO_s_file_internal BIO_s_file, uses both +// in 1.0.1 #define BIO_s_file_internal BIO_s_file, uses both +// in 1.0.1 #define BIO_s_file_internal BIO_s_file, uses both +// in 1.1 no BIO_s_file_internal +#if (OPENSSL_VERSION_NUMBER >= 0x10000000L) +# define BIO_s_file_internal BIO_s_file +#endif + namespace xmltooling { // RAII for the now opaque X509_STORE_CTX class X509StoreCtxRAII -- 2.13.6 ++++++ 0006-CPPXT-110-OpenSSL-1.1-internalizes-locking.patch ++++++
From 6de4876ff7909227350cb5c9eb40cfc25e63a666 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Tue, 19 Jul 2016 16:15:10 +0100 Subject: [PATCH 06/31] CPPXT-110 OpenSSL 1.1 internalizes locking.
https://issues.shibboleth.net/jira/browse/CPPXT-110 https://www.openssl.org/docs/manmaster/crypto/CRYPTO_THREAD_lock_free.html "The old locking functions have been removed completely without compatibility macros" For now we just make the callback compile. More work TBD. --- xmltooling/XMLToolingConfig.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/xmltooling/XMLToolingConfig.cpp b/xmltooling/XMLToolingConfig.cpp index 6925a23..a8b4bb5 100644 --- a/xmltooling/XMLToolingConfig.cpp +++ b/xmltooling/XMLToolingConfig.cpp @@ -111,6 +111,15 @@ using namespace xmlsignature; namespace { static XMLToolingInternalConfig g_config; #ifndef XMLTOOLING_NO_XMLSEC +// NOTE: +// "The old locking functions have been removed completely without compatibility macros" +// see: +// https://www.openssl.org/docs/manmaster/crypto/CRYPTO_THREAD_lock_free.html +// +// For now we just make the callback compile. More work TBD +#ifndef CRYPTO_LOCK +#define CRYPTO_LOCK 1 +#endif static ptr_vector<Mutex> g_openssl_locks; extern "C" void openssl_locking_callback(int mode,int n,const char *file,int line) -- 2.13.6 ++++++ 0007-Unwind-previous.patch ++++++
From bae0dd5307ac389c17901050bf6b0de6a66700f2 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Tue, 19 Jul 2016 16:51:30 +0100 Subject: [PATCH 07/31] Unwind previous.
Managed to get myself into a fankle and whilst I create
a branch and then make changes I pushed the changes and
then made the remote branch. Sigh.
This leaves mainline in a precarious position, so this backs
it all out.
I'll commit the inverse change to the new branch and from then on
changes should be as I wanted..
Maybe
---
Projects/vc10/xmltooling/xmltooling.vcxproj | 6 +--
.../vc10/xmltooling/xmltooling.vcxproj.filters | 13 +-----
xmltooling/Makefile.am | 2 -
xmltooling/XMLToolingConfig.cpp | 9 ----
.../security/impl/ExplicitKeyTrustEngine.cpp | 9 ++--
.../security/impl/FilesystemCredentialResolver.cpp | 1 -
xmltooling/security/impl/PKIXPathValidator.cpp | 54 +++++++++-------------
xmltooling/security/impl/SecurityHelper.cpp | 13 +++---
xmltooling/soap/impl/CURLSOAPTransport.cpp | 11 ++---
9 files changed, 39 insertions(+), 79 deletions(-)
diff --git a/Projects/vc10/xmltooling/xmltooling.vcxproj b/Projects/vc10/xmltooling/xmltooling.vcxproj
index 48e2cf3..2320132 100644
--- a/Projects/vc10/xmltooling/xmltooling.vcxproj
+++ b/Projects/vc10/xmltooling/xmltooling.vcxproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
@@ -194,7 +194,6 @@
<ClCompile Include="..\..\..\XMLTooling\Lockable.cpp" />
<ClCompile Include="..\..\..\XMLTooling\Namespace.cpp" />
<ClCompile Include="..\..\..\XMLTooling\QName.cpp" />
- <ClCompile Include="..\..\..\xmltooling\security\impl\OpenSSLSupport.cpp" />
<ClCompile Include="..\..\..\XMLTooling\security\impl\PKIXPathValidator.cpp" />
<ClCompile Include="..\..\..\XMLTooling\unicode.cpp" />
<ClCompile Include="..\..\..\XMLTooling\util\CloneInputStream.cpp" />
@@ -271,7 +270,6 @@
<ClInclude Include="..\..\..\XMLTooling\Namespace.h" />
<ClInclude Include="..\..\..\XMLTooling\PluginManager.h" />
<ClInclude Include="..\..\..\XMLTooling\QName.h" />
- <ClInclude Include="..\..\..\xmltooling\security\impl\OpenSSLSupport.h" />
<ClInclude Include="..\..\..\XMLTooling\security\OpenSSLPathValidator.h" />
<ClInclude Include="..\..\..\XMLTooling\security\PathValidator.h" />
<ClInclude Include="..\..\..\XMLTooling\security\PKIXPathValidatorParams.h" />
@@ -348,4 +346,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/Projects/vc10/xmltooling/xmltooling.vcxproj.filters b/Projects/vc10/xmltooling/xmltooling.vcxproj.filters
index a3e2882..bee07e2 100644
--- a/Projects/vc10/xmltooling/xmltooling.vcxproj.filters
+++ b/Projects/vc10/xmltooling/xmltooling.vcxproj.filters
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
@@ -73,9 +73,6 @@
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
- <Filter Include="Header Files\security\impl">
- <UniqueIdentifier>{8ce132be-735f-49f0-899a-cc0e7cb8e775}</UniqueIdentifier>
- </Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\XMLTooling\AbstractAttributeExtensibleXMLObject.cpp">
@@ -273,9 +270,6 @@
<ClCompile Include="..\..\..\XMLTooling\util\CloneInputStream.cpp">
<Filter>Source Files\util</Filter>
</ClCompile>
- <ClCompile Include="..\..\..\xmltooling\security\impl\OpenSSLSupport.cpp">
- <Filter>Source Files\security\impl</Filter>
- </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\XMLTooling\AbstractAttributeExtensibleXMLObject.h">
@@ -527,9 +521,6 @@
<ClInclude Include="..\..\..\XMLTooling\util\CloneInputStream.h">
<Filter>Header Files\util</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\xmltooling\security\impl\OpenSSLSupport.h">
- <Filter>Header Files\security\impl</Filter>
- </ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\XMLTooling\xmltooling.rc">
@@ -540,4 +531,4 @@
<None Include="..\..\..\XMLTooling\config_pub.h.in" />
<None Include="..\..\..\XMLTooling\Makefile.am" />
</ItemGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/xmltooling/Makefile.am b/xmltooling/Makefile.am
index e2ced1a..f265007 100644
--- a/xmltooling/Makefile.am
+++ b/xmltooling/Makefile.am
@@ -57,7 +57,6 @@ encinclude_HEADERS = \
implinclude_HEADERS = \
impl/AnyElement.h \
- security/impl\OpenSSLSupport.h \
impl/UnknownElement.h
ioinclude_HEADERS = \
@@ -148,7 +147,6 @@ xmlsec_sources = \
security/impl/InlineKeyResolver.cpp \
security/impl/KeyInfoResolver.cpp \
security/impl/OpenSSLCryptoX509CRL.cpp \
- security/impl/OpenSSLSupport.cpp \
security/impl/PKIXPathValidator.cpp \
security/impl/SecurityHelper.cpp \
security/impl/StaticPKIXTrustEngine.cpp \
diff --git a/xmltooling/XMLToolingConfig.cpp b/xmltooling/XMLToolingConfig.cpp
index a8b4bb5..6925a23 100644
--- a/xmltooling/XMLToolingConfig.cpp
+++ b/xmltooling/XMLToolingConfig.cpp
@@ -111,15 +111,6 @@ using namespace xmlsignature;
namespace {
static XMLToolingInternalConfig g_config;
#ifndef XMLTOOLING_NO_XMLSEC
-// NOTE:
-// "The old locking functions have been removed completely without compatibility macros"
-// see:
-// https://www.openssl.org/docs/manmaster/crypto/CRYPTO_THREAD_lock_free.html
-//
-// For now we just make the callback compile. More work TBD
-#ifndef CRYPTO_LOCK
-#define CRYPTO_LOCK 1
-#endif
static ptr_vector<Mutex> g_openssl_locks;
extern "C" void openssl_locking_callback(int mode,int n,const char *file,int line)
diff --git a/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp b/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
index a4a5dd2..6ad420f 100644
--- a/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
+++ b/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
@@ -34,20 +34,17 @@
#include "signature/Signature.h"
#include "signature/SignatureValidator.h"
#include "util/NDC.h"
-#include "security/impl/OpenSSLSupport.h"
#include
From d6eeff1d0c130010321744e1737343e02b829d3e Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Sun, 16 Oct 2016 16:17:14 +0100 Subject: [PATCH 08/31] CPPXT-110 Checkin prototypical vcxproj.user file for xmltoolingtest
https://issues.shibboleth.net/jira/browse/CPPXT-110 The user files are correctly in gitignore. However getting the setup for xmltoolingtest to run is delicate. This is my current version for x86/debug tests. This is in fact location independent (its uses properties from the build environment). --- .../vc10/xmltoolingtest/xmltoolingtest.vcxproj.user.master | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.user.master diff --git a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.user.master b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.user.master new file mode 100644 index 0000000..763eb1f --- /dev/null +++ b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.user.master @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <LocalDebuggerEnvironment>PATH=%PATH%;$(SolutionDir)..\..\..\$(xerces)\Build\Win32\$(MsVCVersion)\Debug;$(SolutionDir)..\..\..\$(xmlsec)\Build\Win32\$(MsVCVersion)\Debug No Xalan;$(SolutionDir)..\..\..\$(openssl)\out32dll.dbg;Xalan;$(SolutionDir)..\..\..\$(curl)\lib\debug-dll-ssl-dll-zlib-dll;$(SolutionDir)..\..\..\$(log4shib)\ms$(MsVCVersion)\Debug;$(SolutionDir)..\..\..\$(zlib)\Debug +XMLTOOLINGTEST_DATA=$(SolutionDir)..\..\xmltoolingtest/data/ +$(LocalDebuggerEnvironment)</LocalDebuggerEnvironment> + <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor> + <LocalDebuggerWorkingDirectory>$(SolutionDir)..</LocalDebuggerWorkingDirectory> + </PropertyGroup> +</Project> \ No newline at end of file -- 2.13.6 ++++++ 0009-CPPXT-110-Start-to-add-tests-to-exercise-XSEC-paths-.patch ++++++
From 6539b98be55ad0d753f07c274d6e0fb81d175025 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Fri, 28 Oct 2016 16:39:31 +0100 Subject: [PATCH 09/31] CPPXT-110 Start to add tests to exercise XSEC paths which will change
https://issues.shibboleth.net/jira/browse/CPPXT-110 Add five new tests - explicit test for XSECCryptoKeyRSA sign and verify round trip; also compare signature against known good signature - explicit tests for XSECCryptoKeyEC and XSECCryptoKeyDSA to sign and verify round trip; also verify against known good signature - explicit tests for EC and DSA round trip sign/verify of some XML This hits most methods in these classes, leaving just the (error prone) methods to load directly from Base64. Only tested on Windows. Unix build and testing follows --- xmltoolingtest/data/dsa-cert.pem | 16 ++++++++++++++++ xmltoolingtest/data/dsa-key.pem | 14 ++++++++++++++ xmltoolingtest/data/ec-cert.pem | 21 +++++++++++++++++++++ xmltoolingtest/data/ec-key.pem | 13 +++++++++++++ 4 files changed, 64 insertions(+) create mode 100644 xmltoolingtest/data/dsa-cert.pem create mode 100644 xmltoolingtest/data/dsa-key.pem create mode 100644 xmltoolingtest/data/ec-cert.pem create mode 100644 xmltoolingtest/data/ec-key.pem diff --git a/xmltoolingtest/data/dsa-cert.pem b/xmltoolingtest/data/dsa-cert.pem new file mode 100644 index 0000000..867053d --- /dev/null +++ b/xmltoolingtest/data/dsa-cert.pem @@ -0,0 +1,16 @@ +-----BEGIN CERTIFICATE----- +MIIClDCCAlGgAwIBAgIJALnyJ1BTkPBhMAsGCWCGSAFlAwQDAjAxMQswCQYDVQQG +EwJVSzETMBEGA1UECBMKU29tZS1TdGF0ZTENMAsGA1UEChMEdGVzdDAgFw0xNjEw +MjQxNTU5NDZaGA8zMDE2MDIyNTE1NTk0NlowMTELMAkGA1UEBhMCVUsxEzARBgNV +BAgTClNvbWUtU3RhdGUxDTALBgNVBAoTBHRlc3QwgfEwgagGByqGSM44BAEwgZwC +QQDVRgLTdTMa92ZMSnEKmWjMcNkG63uIxvBvihYXD2CUDY4aWB9jvg1VsdNr1eB/ +cqQpz2gDZLQorSrkEogwPZdVAhUAr9ql8awrmkDiKJrWP2oBHRN1rDUCQA5hEKKP +mAFTU1BqJHMtZItNVoDH0wbLz6mI0Q83Jhe6eKCfJ3lQp9AffdI7/VvL/IKb8a/s +OWaUJCcm54CRQI8DRAACQQDCTxcQgfSqenpHTPdB9t87+CTRIZJtalzYseOF3Zei +AAYBPPepKTcxkAwin+onnDu6F/nkyZdysE96DRPvBEMZo4G1MIGyMB0GA1UdDgQW +BBSy0QAHIB9quPNjOHpxHhHexNRTWzBhBgNVHSMEWjBYgBSy0QAHIB9quPNjOHpx +HhHexNRTW6E1pDMwMTELMAkGA1UEBhMCVUsxEzARBgNVBAgTClNvbWUtU3RhdGUx +DTALBgNVBAoTBHRlc3SCCQC58idQU5DwYTALBgNVHQ8EBAMCBeAwEwYDVR0lBAww +CgYIKwYBBQUHAwEwDAYDVR0TBAUwAwEB/zALBglghkgBZQMEAwIDMAAwLQIUfPKR +rqQ3+6LKO7rzK5EX3eps/NoCFQCUJnFAWt1brsfWj/w15nqBYWm7WA== +-----END CERTIFICATE----- diff --git a/xmltoolingtest/data/dsa-key.pem b/xmltoolingtest/data/dsa-key.pem new file mode 100644 index 0000000..7ca312d --- /dev/null +++ b/xmltoolingtest/data/dsa-key.pem @@ -0,0 +1,14 @@ +-----BEGIN DSA PARAMETERS----- +MIGcAkEA1UYC03UzGvdmTEpxCplozHDZBut7iMbwb4oWFw9glA2OGlgfY74NVbHT +a9Xgf3KkKc9oA2S0KK0q5BKIMD2XVQIVAK/apfGsK5pA4iia1j9qAR0Tdaw1AkAO +YRCij5gBU1NQaiRzLWSLTVaAx9MGy8+piNEPNyYXunignyd5UKfQH33SO/1by/yC +m/Gv7DlmlCQnJueAkUCP +-----END DSA PARAMETERS----- +-----BEGIN DSA PRIVATE KEY----- +MIH5AgEAAkEA1UYC03UzGvdmTEpxCplozHDZBut7iMbwb4oWFw9glA2OGlgfY74N +VbHTa9Xgf3KkKc9oA2S0KK0q5BKIMD2XVQIVAK/apfGsK5pA4iia1j9qAR0Tdaw1 +AkAOYRCij5gBU1NQaiRzLWSLTVaAx9MGy8+piNEPNyYXunignyd5UKfQH33SO/1b +y/yCm/Gv7DlmlCQnJueAkUCPAkEAwk8XEIH0qnp6R0z3QfbfO/gk0SGSbWpc2LHj +hd2XogAGATz3qSk3MZAMIp/qJ5w7uhf55MmXcrBPeg0T7wRDGQIVAKc5BH8b47Ru +/Bqe1HTKeyNDaaMt +-----END DSA PRIVATE KEY----- diff --git a/xmltoolingtest/data/ec-cert.pem b/xmltoolingtest/data/ec-cert.pem new file mode 100644 index 0000000..e600fe7 --- /dev/null +++ b/xmltoolingtest/data/ec-cert.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDdjCCAv2gAwIBAgIJAMubcFnHNapCMAoGCCqGSM49BAMCMCkxCzAJBgNVBAYT +AlVLMQswCQYDVQQIEwJFTDENMAsGA1UEChMEdGVzdDAgFw0xNjEwMjQxNTU4NTda +GA8zMDE2MDIyNTE1NTg1N1owKTELMAkGA1UEBhMCVUsxCzAJBgNVBAgTAkVMMQ0w +CwYDVQQKEwR0ZXN0MIIBtTCCAU0GByqGSM49AgEwggFAAgEBMDwGByqGSM49AQEC +MQCMuR6CozhtKA9db35Q5kHfFS9xCe1UVrQSsdoZf7cRI6zTpymQHRpxh0cAEzEH +7FMwZAQwjLkegqM4bSgPXW9+UOZB3xUvcQntVFa0ErHaGX+3ESOs06cpkB0acYdH +ABMxB+xQBDB/UZ6tp72oG9gm26ZHkQ+MS5NG7YzNxk5LGr0RdW3OHSB0qiY7iIBc +7XA1WjO0ce4EYQQY3piwLbmjBvKvzXI19yqBm4CrEuvWUxckdv7NRiqr/8T/GRuU +al9U2NCqL0GICMwlqwVpYtMGUaEUr9J1WtM2dH+TR1t6H8o7iPK2ogjM/kaUCFhN +wrKRJnW/W55YKSgCMQCMuR6CozhtKA9db35Q5kHfFS9xCe1UVrMfFm5srAQlp886 +tq9rf8MQO4gyAukEZWUCAQEDYgAEfnYQ/SqjY1Va4le/UarXj67yc3I11ds+5Zug +uM0X7ll9SqpusKTWhXwAW6wzz5/HJSoXKfAgXP9USpmJWk3UphuAdRmeHbXJsSKr +CweMxQllJA36wp+Ht9aaqvxi0uIio4GtMIGqMB0GA1UdDgQWBBS9eY9K/Uyraz1u +CJInFDqlQH7cODBZBgNVHSMEUjBQgBS9eY9K/Uyraz1uCJInFDqlQH7cOKEtpCsw +KTELMAkGA1UEBhMCVUsxCzAJBgNVBAgTAkVMMQ0wCwYDVQQKEwR0ZXN0ggkAy5tw +Wcc1qkIwCwYDVR0PBAQDAgXgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwQF +MAMBAf8wCgYIKoZIzj0EAwIDZwAwZAIwUUhIzpbDOgaYblrrpJv5Mt7B5WhRSF1/ +j4kADMD2GQAjDqTdkfExgSRIDV1Zki0SAjAXeEPtqLTPKvuBr+5NKOEhKEOlaVKL +gIq6zK3v1opw8TcphtWC+JoRkPu1WjV8EiA= +-----END CERTIFICATE----- diff --git a/xmltoolingtest/data/ec-key.pem b/xmltoolingtest/data/ec-key.pem new file mode 100644 index 0000000..bffb12d --- /dev/null +++ b/xmltoolingtest/data/ec-key.pem @@ -0,0 +1,13 @@ +-----BEGIN EC PRIVATE KEY----- +MIIB4wIBAQQwZYh/xBvlvHqKdUMHD8JvlIa8e6N9QvwWPxK/7oQJNGrJgE2X1/Ul +YAwRItaJb+WpoIIBRDCCAUACAQEwPAYHKoZIzj0BAQIxAIy5HoKjOG0oD11vflDm +Qd8VL3EJ7VRWtBKx2hl/txEjrNOnKZAdGnGHRwATMQfsUzBkBDCMuR6CozhtKA9d +b35Q5kHfFS9xCe1UVrQSsdoZf7cRI6zTpymQHRpxh0cAEzEH7FAEMH9Rnq2nvagb +2CbbpkeRD4xLk0btjM3GTksavRF1bc4dIHSqJjuIgFztcDVaM7Rx7gRhBBjemLAt +uaMG8q/NcjX3KoGbgKsS69ZTFyR2/s1GKqv/xP8ZG5RqX1TY0KovQYgIzCWrBWli +0wZRoRSv0nVa0zZ0f5NHW3ofyjuI8raiCMz+RpQIWE3CspEmdb9bnlgpKAIxAIy5 +HoKjOG0oD11vflDmQd8VL3EJ7VRWsx8WbmysBCWnzzq2r2t/wxA7iDIC6QRlZQIB +AaFkA2IABH52EP0qo2NVWuJXv1Gq14+u8nNyNdXbPuWboLjNF+5ZfUqqbrCk1oV8 +AFusM8+fxyUqFynwIFz/VEqZiVpN1KYbgHUZnh21ybEiqwsHjMUJZSQN+sKfh7fW +mqr8YtLiIg== +-----END EC PRIVATE KEY----- -- 2.13.6 ++++++ 0010-CPPXT-110-Start-to-add-tests-to-exercise-XSEC-paths-.patch ++++++
From 37e8a9dcf813721510775fa2a618b6bb6a151509 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Sun, 30 Oct 2016 18:46:06 +0000 Subject: [PATCH 10/31] CPPXT-110 Start to add tests to exercise XSEC paths which will change
https://issues.shibboleth.net/jira/browse/CPPXT-110
Somehow the actual code & config changes got omitted from the previous checkin.
---
xmltoolingtest/SignatureTest.h | 202 ++++++++++++++++++++-
.../data/FilesystemCredentialResolver.xml | 18 ++
2 files changed, 219 insertions(+), 1 deletion(-)
diff --git a/xmltoolingtest/SignatureTest.h b/xmltoolingtest/SignatureTest.h
index 49b528e..718caf8 100644
--- a/xmltoolingtest/SignatureTest.h
+++ b/xmltoolingtest/SignatureTest.h
@@ -31,6 +31,7 @@
#include
From c11212e5518454d9995e1c06f5defd2399df0596 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Tue, 1 Nov 2016 16:33:10 +0000 Subject: [PATCH 11/31] CPPXT-110 Clean up some collateral damage from previous checkin
https://issues.shibboleth.net/jira/browse/CPPXT-110
Remove debugging printf that had escaped into the wild in
SignatureTest.
Change FilesystemCredentialResolverTest to reflect that there
are three credentials in the test file.
---
xmltoolingtest/FilesystemCredentialResolverTest.h | 2 +-
xmltoolingtest/SignatureTest.h | 2 --
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/xmltoolingtest/FilesystemCredentialResolverTest.h b/xmltoolingtest/FilesystemCredentialResolverTest.h
index 365c741..534f293 100644
--- a/xmltoolingtest/FilesystemCredentialResolverTest.h
+++ b/xmltoolingtest/FilesystemCredentialResolverTest.h
@@ -48,7 +48,7 @@ public:
vector
From a673915585ca04c71f8330857472ad8233dbe3ea Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Tue, 1 Nov 2016 16:35:27 +0000 Subject: [PATCH 12/31] CPPXT-110 Add test path for RSA loadXXXBigNums
https://issues.shibboleth.net/jira/browse/CPPXT-110
This completes the code coervage tests for the OpenSSLCryptoKeyRSA
changes for OpenSSL 1.1
Add a test function to force the load of the RSA key from the
ds:RSAKeyValue, then cast it and the credential into the
base OpenSSL type.
Throw various OpenSSL incantations at these to extract the OpenSSL
struct and compare the two. This will need work when we move to
OpenSSL 1.1 (since the structures become opaque).
---
.../vc10/xmltoolingtest/xmltoolingtest.vcxproj | 6 +-
.../xmltoolingtest/xmltoolingtest.vcxproj.filters | 12 +++-
xmltoolingtest/InlineKeyResolverTest.h | 66 ++++++++++++++++++++++
3 files changed, 78 insertions(+), 6 deletions(-)
diff --git a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj
index 8399157..bedca98 100644
--- a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj
+++ b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
@@ -97,7 +97,7 @@
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
- <AdditionalDependencies>xerces-c_3D.lib;xsec_1D.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>xerces-c_3D.lib;xsec_1D.lib;libeay32D.lib;ssleay32D.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
@@ -452,4 +452,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
diff --git a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.filters b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.filters
index d099072..58cc379 100644
--- a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.filters
+++ b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.filters
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Generated Code">
@@ -62,6 +62,9 @@
<ClCompile Include="SOAPTest.cpp">
<Filter>Generated Code</Filter>
</ClCompile>
+ <ClCompile Include="CloneInputStreamTest.cpp">
+ <Filter>Generated Code</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\XMLToolingTest\XMLObjectBaseTestCase.h">
@@ -120,8 +123,11 @@
<CustomBuild Include="..\..\..\XMLToolingTest\xmltoolingtest.h">
<Filter>Unit Tests</Filter>
</CustomBuild>
- <CustomBuild Include="..\..\..\XMLToolingTest\eSOAPTest.h">
+ <CustomBuild Include="..\..\..\XMLToolingTest\CloneInputStreamTest.h">
+ <Filter>Unit Tests</Filter>
+ </CustomBuild>
+ <CustomBuild Include="..\..\..\XMLToolingTest\SOAPTest.h">
<Filter>Unit Tests</Filter>
</CustomBuild>
</ItemGroup>
-</Project>
+</Project>
\ No newline at end of file
diff --git a/xmltoolingtest/InlineKeyResolverTest.h b/xmltoolingtest/InlineKeyResolverTest.h
index a499d6a..6418ec2 100644
--- a/xmltoolingtest/InlineKeyResolverTest.h
+++ b/xmltoolingtest/InlineKeyResolverTest.h
@@ -21,11 +21,29 @@
#include "XMLObjectBaseTestCase.h"
#include <fstream>
+
#include
From 47f8f26b915c0ece5c090e9a7c95a7cf0fe5abce Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Mon, 7 Nov 2016 10:28:48 +0000 Subject: [PATCH 13/31] CPPXT-110 Used Named curves for EC testing
https://issues.shibboleth.net/jira/browse/CPPXT-110 This will make borrowing the same certificate for KeyInfo testing work. --- xmltoolingtest/SignatureTest.h | 5 ++--- xmltoolingtest/data/ec-cert.pem | 29 ++++++++++------------------- xmltoolingtest/data/ec-key.pem | 16 +++++----------- 3 files changed, 17 insertions(+), 33 deletions(-) diff --git a/xmltoolingtest/SignatureTest.h b/xmltoolingtest/SignatureTest.h index 323c5fe..bdb59a1 100644 --- a/xmltoolingtest/SignatureTest.h +++ b/xmltoolingtest/SignatureTest.h @@ -120,9 +120,8 @@ public: bool worked = ecCred->verifyBase64SignatureDSA(toSign, sizeof(toSign), &outSig[0], len); TSM_ASSERT("EC Round Trip Signature Failed", worked); - char knownGoodSig[] = "JGRaZN8SxNqcwkc4N/NSSTP/ugzp3tjuDVDr+EI+1yu7iNYTgiiPL8kwIPs9dUeH\n" - "XU1qCCu+iay+8MwmneIqnGZB2lhXSpYREJSVk24vUMU7mK5fA7lynssSSXs/K4Il\n"; - unsigned int knownGoodSigSize=0x82; + char knownGoodSig[] = "AkXRDL2H2I+fozXnuHKYa4+UE/k+AnhOLp2AY5d8lAqciZ5wdObHbifX\n"; + unsigned int knownGoodSigSize=0x38; worked = ecCred->verifyBase64SignatureDSA(toSign, sizeof(toSign), knownGoodSig, knownGoodSigSize); TSM_ASSERT("EC Canned Signature Failed", worked); diff --git a/xmltoolingtest/data/ec-cert.pem b/xmltoolingtest/data/ec-cert.pem index e600fe7..c80fedb 100644 --- a/xmltoolingtest/data/ec-cert.pem +++ b/xmltoolingtest/data/ec-cert.pem @@ -1,21 +1,12 @@ -----BEGIN CERTIFICATE----- -MIIDdjCCAv2gAwIBAgIJAMubcFnHNapCMAoGCCqGSM49BAMCMCkxCzAJBgNVBAYT -AlVLMQswCQYDVQQIEwJFTDENMAsGA1UEChMEdGVzdDAgFw0xNjEwMjQxNTU4NTda -GA8zMDE2MDIyNTE1NTg1N1owKTELMAkGA1UEBhMCVUsxCzAJBgNVBAgTAkVMMQ0w -CwYDVQQKEwR0ZXN0MIIBtTCCAU0GByqGSM49AgEwggFAAgEBMDwGByqGSM49AQEC -MQCMuR6CozhtKA9db35Q5kHfFS9xCe1UVrQSsdoZf7cRI6zTpymQHRpxh0cAEzEH -7FMwZAQwjLkegqM4bSgPXW9+UOZB3xUvcQntVFa0ErHaGX+3ESOs06cpkB0acYdH -ABMxB+xQBDB/UZ6tp72oG9gm26ZHkQ+MS5NG7YzNxk5LGr0RdW3OHSB0qiY7iIBc -7XA1WjO0ce4EYQQY3piwLbmjBvKvzXI19yqBm4CrEuvWUxckdv7NRiqr/8T/GRuU -al9U2NCqL0GICMwlqwVpYtMGUaEUr9J1WtM2dH+TR1t6H8o7iPK2ogjM/kaUCFhN -wrKRJnW/W55YKSgCMQCMuR6CozhtKA9db35Q5kHfFS9xCe1UVrMfFm5srAQlp886 -tq9rf8MQO4gyAukEZWUCAQEDYgAEfnYQ/SqjY1Va4le/UarXj67yc3I11ds+5Zug -uM0X7ll9SqpusKTWhXwAW6wzz5/HJSoXKfAgXP9USpmJWk3UphuAdRmeHbXJsSKr -CweMxQllJA36wp+Ht9aaqvxi0uIio4GtMIGqMB0GA1UdDgQWBBS9eY9K/Uyraz1u -CJInFDqlQH7cODBZBgNVHSMEUjBQgBS9eY9K/Uyraz1uCJInFDqlQH7cOKEtpCsw -KTELMAkGA1UEBhMCVUsxCzAJBgNVBAgTAkVMMQ0wCwYDVQQKEwR0ZXN0ggkAy5tw -Wcc1qkIwCwYDVR0PBAQDAgXgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwQF -MAMBAf8wCgYIKoZIzj0EAwIDZwAwZAIwUUhIzpbDOgaYblrrpJv5Mt7B5WhRSF1/ -j4kADMD2GQAjDqTdkfExgSRIDV1Zki0SAjAXeEPtqLTPKvuBr+5NKOEhKEOlaVKL -gIq6zK3v1opw8TcphtWC+JoRkPu1WjV8EiA= +MIIBxzCCAYWgAwIBAgIJAJeua2ybmpZRMAkGByqGSM49BAEwKTELMAkGA1UEBhMC +VUsxCzAJBgNVBAgTAkVDMQ0wCwYDVQQKEwRTaGliMCAXDTE2MTEwNzEwMjQ1MFoY +DzMwMTYwMzEwMTAyNDUwWjApMQswCQYDVQQGEwJVSzELMAkGA1UECBMCRUMxDTAL +BgNVBAoTBFNoaWIwQDAQBgcqhkjOPQIBBgVnKwEEBQMsAAQGCJ3Bp3sCYlMWXao7 +AYkacxhp100FkmRVMZFT5j69uRR9XJKl/tsYmLCjga0wgaowHQYDVR0OBBYEFI41 +G8AtzMY3SurajjyOCcO1p9hgMFkGA1UdIwRSMFCAFI41G8AtzMY3SurajjyOCcO1 +p9hgoS2kKzApMQswCQYDVQQGEwJVSzELMAkGA1UECBMCRUMxDTALBgNVBAoTBFNo +aWKCCQCXrmtsm5qWUTALBgNVHQ8EBAMCBeAwEwYDVR0lBAwwCgYIKwYBBQUHAwEw +DAYDVR0TBAUwAwEB/zAJBgcqhkjOPQQBAzEAMC4CFQJKefzU/Z8/h4pVsJqFtgR0 +4GZZmAIVAKv/Kx/+n0TFHeR4xUbTQo6yZ6aS -----END CERTIFICATE----- diff --git a/xmltoolingtest/data/ec-key.pem b/xmltoolingtest/data/ec-key.pem index bffb12d..b61d13e 100644 --- a/xmltoolingtest/data/ec-key.pem +++ b/xmltoolingtest/data/ec-key.pem @@ -1,13 +1,7 @@ +-----BEGIN EC PARAMETERS----- +BgVnKwEEBQ== +-----END EC PARAMETERS----- -----BEGIN EC PRIVATE KEY----- -MIIB4wIBAQQwZYh/xBvlvHqKdUMHD8JvlIa8e6N9QvwWPxK/7oQJNGrJgE2X1/Ul -YAwRItaJb+WpoIIBRDCCAUACAQEwPAYHKoZIzj0BAQIxAIy5HoKjOG0oD11vflDm -Qd8VL3EJ7VRWtBKx2hl/txEjrNOnKZAdGnGHRwATMQfsUzBkBDCMuR6CozhtKA9d -b35Q5kHfFS9xCe1UVrQSsdoZf7cRI6zTpymQHRpxh0cAEzEH7FAEMH9Rnq2nvagb -2CbbpkeRD4xLk0btjM3GTksavRF1bc4dIHSqJjuIgFztcDVaM7Rx7gRhBBjemLAt -uaMG8q/NcjX3KoGbgKsS69ZTFyR2/s1GKqv/xP8ZG5RqX1TY0KovQYgIzCWrBWli -0wZRoRSv0nVa0zZ0f5NHW3ofyjuI8raiCMz+RpQIWE3CspEmdb9bnlgpKAIxAIy5 -HoKjOG0oD11vflDmQd8VL3EJ7VRWsx8WbmysBCWnzzq2r2t/wxA7iDIC6QRlZQIB -AaFkA2IABH52EP0qo2NVWuJXv1Gq14+u8nNyNdXbPuWboLjNF+5ZfUqqbrCk1oV8 -AFusM8+fxyUqFynwIFz/VEqZiVpN1KYbgHUZnh21ybEiqwsHjMUJZSQN+sKfh7fW -mqr8YtLiIg== +MFMCAQEEFQJ7/qWsygOClxmrdyctnTVr4Q0eMqAHBgVnKwEEBaEuAywABAYIncGn +ewJiUxZdqjsBiRpzGGnXTQWSZFUxkVPmPr25FH1ckqX+2xiYsA== -----END EC PRIVATE KEY----- -- 2.13.6 ++++++ 0014-CPPXT-110-test-for-code-changes-to-OpenSSLCryptoKeyD.patch ++++++
From 6b3d60c686265b538a38637893f86853dcb22eba Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Thu, 10 Nov 2016 05:39:55 -0500 Subject: [PATCH 14/31] CPPXT-110 test for code changes to OpenSSLCryptoKeyDSA
https://issues.shibboleth.net/jira/browse/CPPXT-110
Load a hand crafted ds:keyInfo and prove that its the same as loaded by OpenSSL.
---
xmltoolingtest/InlineKeyResolverTest.h | 44 ++++++++++++++++++++++++++++++++++
xmltoolingtest/data/KeyInfoDSA.xml | 17 +++++++++++++
2 files changed, 61 insertions(+)
create mode 100644 xmltoolingtest/data/KeyInfoDSA.xml
diff --git a/xmltoolingtest/InlineKeyResolverTest.h b/xmltoolingtest/InlineKeyResolverTest.h
index 6418ec2..87c3f0f 100644
--- a/xmltoolingtest/InlineKeyResolverTest.h
+++ b/xmltoolingtest/InlineKeyResolverTest.h
@@ -24,8 +24,12 @@
#include
From b1dab00582efa014f37eba699b0868443e899c16 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Thu, 10 Nov 2016 07:27:04 -0500 Subject: [PATCH 15/31] CPPXT-110 test for code changes to OpenSSLCryptoKeyEC
https://issues.shibboleth.net/jira/browse/CPPXT-110
Load a hand crafted ds:keyInfo EC.
Load an EC cert/key via openssl
Sign with the latter and verify with the former.
(because there is no obvious easy visibility on the contents of
an OpenSSL EC and it makes my head hurt)
---
xmltoolingtest/InlineKeyResolverTest.h | 44 ++++++++++++++++++++++++++++++++--
xmltoolingtest/data/KeyInfoEC.xml | 9 +++++++
2 files changed, 51 insertions(+), 2 deletions(-)
create mode 100644 xmltoolingtest/data/KeyInfoEC.xml
diff --git a/xmltoolingtest/InlineKeyResolverTest.h b/xmltoolingtest/InlineKeyResolverTest.h
index 87c3f0f..e0ce64c 100644
--- a/xmltoolingtest/InlineKeyResolverTest.h
+++ b/xmltoolingtest/InlineKeyResolverTest.h
@@ -40,14 +40,13 @@ extern "C" {
// Force XMLSEC to assume OpenSSL
#define XSEC_HAVE_OPENSSL 1
+#define XSEC_OPENSSL_HAVE_EC (OPENSSL_VERSION_NUMBER >= 0x00907000L)
#include
From b67a854c5765c85e8c2456268d3a26c1304f5701 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Sun, 13 Nov 2016 08:51:54 -0500 Subject: [PATCH 16/31] CPPXT-110 Round trip verify test for OpenSSLCryptoKeyDSA
https://issues.shibboleth.net/jira/browse/CPPXT-110
---
.../vc10/xmltoolingtest/xmltoolingtest.vcxproj | 144 ++++++++++-----------
xmltoolingtest/InlineKeyResolverTest.h | 29 +++--
2 files changed, 87 insertions(+), 86 deletions(-)
diff --git a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj
index bedca98..81daf81 100644
--- a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj
+++ b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj
@@ -191,250 +191,250 @@
</ItemGroup>
<ItemGroup>
<CustomBuild Include="..\..\..\XMLToolingTest\CloneInputStreamTest.h">
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\ComplexXMLObjectTest.h">
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\DateTimeTest.h">
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\EncryptionTest.h">
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\ExceptionTest.h">
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\FilesystemCredentialResolverTest.h">
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\InlineKeyResolverTest.h">
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\KeyInfoTest.h">
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\MarshallingTest.h">
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\MemoryStorageServiceTest.h">
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\NonVisibleNamespaceTest.h">
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"</Command>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\PKIXEngineTest.h">
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"</Command>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\SecurityHelperTest.h">
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\SignatureTest.h">
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\SOAPTest.h">
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\TemplateEngineTest.h">
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\UnmarshallingTest.h">
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\xmltoolingtest.h">
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --error-printer --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --error-printer --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --error-printer --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --error-printer --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --error-printer --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --error-printer --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --error-printer --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --error-printer --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
diff --git a/xmltoolingtest/InlineKeyResolverTest.h b/xmltoolingtest/InlineKeyResolverTest.h
index e0ce64c..69c7ce9 100644
--- a/xmltoolingtest/InlineKeyResolverTest.h
+++ b/xmltoolingtest/InlineKeyResolverTest.h
@@ -98,7 +98,7 @@ public:
TS_ASSERT(kiObject.get()!=nullptr);
auto_ptr<X509Credential> credFromKeyInfo(dynamic_cast
From 167da50fd20d44803b3107aa116e60bc59cdabd3 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Sun, 20 Nov 2016 10:48:47 +0000 Subject: [PATCH 17/31] CPPXT-110 Inverted parameters to TSM_ASSERT in DSA test
https://issues.shibboleth.net/jira/browse/CPPXT-110 --- xmltoolingtest/InlineKeyResolverTest.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/xmltoolingtest/InlineKeyResolverTest.h b/xmltoolingtest/InlineKeyResolverTest.h index 69c7ce9..baaa5b3 100644 --- a/xmltoolingtest/InlineKeyResolverTest.h +++ b/xmltoolingtest/InlineKeyResolverTest.h @@ -120,10 +120,10 @@ public: unsigned int len = fileResolverDSA->signBase64Signature(toSign, 20, outSig, bufferSize); bool worked = fileResolverDSA->verifyBase64Signature(toSign, 20, outSig, len); - TSM_ASSERT(worked, "round trip file resolver DSA"); + TSM_ASSERT("Round trip file resolver DSA failed", worked); worked = keyInfoDSA->verifyBase64Signature(toSign, 20, outSig, len); - TSM_ASSERT(worked, "round trip KeyInfo DSA"); + TSM_ASSERT("Round trip KeyInfo DSA failed", worked); } @@ -161,8 +161,7 @@ public: const int bufferSize = 1024; char outSig[bufferSize] = {0}; unsigned int len = fileResolverCryptoKeyEC->signBase64SignatureDSA(toSign, sizeof(toSign), &outSig[0], bufferSize); - //bool worked = fileResolverCryptoKeyEC->verifyBase64SignatureDSA(toSign, sizeof(toSign), &outSig[0], len); - //TSM_ASSERT("EC Round Trip Signature Failed", worked); + bool worked = sslCredFromKeyInfo->verifyBase64SignatureDSA(toSign, sizeof(toSign), &outSig[0], len); TSM_ASSERT("EC Round Trip Signature via KeyInfo Failed", worked); } -- 2.13.6 ++++++ 0018-CPPXT-110-Test-for-OpenSSL-part-of-ExplicitKeyTrustE.patch ++++++
From 3140b4c865f443bf4db59bca70d965704913ba12 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Sun, 20 Nov 2016 13:20:21 +0000 Subject: [PATCH 18/31] CPPXT-110 Test for OpenSSL part of ExplicitKeyTrustEngine
https://issues.shibboleth.net/jira/browse/CPPXT-110
---
.../vc10/xmltoolingtest/xmltoolingtest.vcxproj | 19 ++++-
.../xmltoolingtest/xmltoolingtest.vcxproj.filters | 3 +
.../vc14/xmltoolingtest/xmltoolingtest.vcxproj | 21 ++++-
.../xmltoolingtest/xmltoolingtest.vcxproj.filters | 7 +-
xmltoolingtest/ExplicitKeyTrustEngineTest.h | 95 ++++++++++++++++++++++
xmltoolingtest/Makefile.am | 1 +
xmltoolingtest/data/ExplicitKeyTrustEngine.xml | 2 +
.../data/FilesystemCredentialResolverCertOnly.xml | 18 ++++
8 files changed, 160 insertions(+), 6 deletions(-)
create mode 100644 xmltoolingtest/ExplicitKeyTrustEngineTest.h
create mode 100644 xmltoolingtest/data/ExplicitKeyTrustEngine.xml
create mode 100644 xmltoolingtest/data/FilesystemCredentialResolverCertOnly.xml
diff --git a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj
index 81daf81..be3175c 100644
--- a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj
+++ b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
@@ -175,6 +175,7 @@
<ClCompile Include="DateTimeTest.cpp" />
<ClCompile Include="EncryptionTest.cpp" />
<ClCompile Include="ExceptionTest.cpp" />
+ <ClCompile Include="ExplicitKeyTrustEngineTest.cpp" />
<ClCompile Include="FilesystemCredentialResolverTest.cpp" />
<ClCompile Include="InlineKeyResolverTest.cpp" />
<ClCompile Include="KeyInfoTest.cpp" />
@@ -260,6 +261,20 @@
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
+ <CustomBuild Include="..\..\..\XMLToolingTest\ExplicitKeyTrustEngineTest.h">
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
+</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
+</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
+</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
+</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
+ </CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\FilesystemCredentialResolverTest.h">
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
</Command>
@@ -452,4 +467,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.filters b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.filters
index 58cc379..c4f862f 100644
--- a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.filters
+++ b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.filters
@@ -70,6 +70,9 @@
<ClInclude Include="..\..\..\XMLToolingTest\XMLObjectBaseTestCase.h">
<Filter>Unit Tests</Filter>
</ClInclude>
+ <ClInclude Include="ExplicitKeyTrustEngineTest.h">
+ <Filter>Unit Tests</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\XMLToolingTest\Makefile.am" />
diff --git a/Projects/vc14/xmltoolingtest/xmltoolingtest.vcxproj b/Projects/vc14/xmltoolingtest/xmltoolingtest.vcxproj
index 9f7dc3f..e66ecf5 100644
--- a/Projects/vc14/xmltoolingtest/xmltoolingtest.vcxproj
+++ b/Projects/vc14/xmltoolingtest/xmltoolingtest.vcxproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
@@ -183,6 +183,7 @@
<ClCompile Include="DateTimeTest.cpp" />
<ClCompile Include="EncryptionTest.cpp" />
<ClCompile Include="ExceptionTest.cpp" />
+ <ClCompile Include="ExplicitKeyTrustEngineTest.cpp" />
<ClCompile Include="FilesystemCredentialResolverTest.cpp" />
<ClCompile Include="InlineKeyResolverTest.cpp" />
<ClCompile Include="KeyInfoTest.cpp" />
@@ -254,6 +255,7 @@
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
+
<CustomBuild Include="..\..\..\XMLToolingTest\ExceptionTest.h">
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
</Command>
@@ -268,6 +270,21 @@
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
+
+ <CustomBuild Include="..\..\..\XMLToolingTest\ExplicitKeyTrustEngineTest.h">
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
+</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
+</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).cpp;%(Outputs)</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
+</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(Filename).cpp;%(Outputs)</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp ../../../xmltoolingtest/"%(FileName)".h"
+</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).cpp;%(Outputs)</Outputs>
+ </CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\FilesystemCredentialResolverTest.h">
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">perl.exe -w $(CxxTestRoot)\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "%(Filename)".cpp "%(FullPath)"
</Command>
@@ -460,4 +477,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/Projects/vc14/xmltoolingtest/xmltoolingtest.vcxproj.filters b/Projects/vc14/xmltoolingtest/xmltoolingtest.vcxproj.filters
index e9f6032..543a0f4 100644
--- a/Projects/vc14/xmltoolingtest/xmltoolingtest.vcxproj.filters
+++ b/Projects/vc14/xmltoolingtest/xmltoolingtest.vcxproj.filters
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Generated Code">
@@ -87,6 +87,9 @@
<CustomBuild Include="..\..\..\XMLToolingTest\ExceptionTest.h">
<Filter>Unit Tests</Filter>
</CustomBuild>
+ <CustomBuild Include="..\..\..\XMLToolingTest\ExplicitTrustEngineTest.h">
+ <Filter>Unit Tests</Filter>
+ </CustomBuild>
<CustomBuild Include="..\..\..\XMLToolingTest\FilesystemCredentialResolverTest.h">
<Filter>Unit Tests</Filter>
</CustomBuild>
@@ -130,4 +133,4 @@
<Filter>Unit Tests</Filter>
</CustomBuild>
</ItemGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/xmltoolingtest/ExplicitKeyTrustEngineTest.h b/xmltoolingtest/ExplicitKeyTrustEngineTest.h
new file mode 100644
index 0000000..8af3b72
--- /dev/null
+++ b/xmltoolingtest/ExplicitKeyTrustEngineTest.h
@@ -0,0 +1,95 @@
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the
+ * License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the License for the specific
+ * language governing permissions and limitations under the License.
+ */
+
+#include "XMLObjectBaseTestCase.h"
+#include
From fb43000e099683aae9188f0197978437e62163c7 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Thu, 14 Jul 2016 14:10:50 +0100 Subject: [PATCH 19/31] CPPXT-110 OpenSSL 1.1 makes X509_STORE_CTX and X509_CRL opaque
https://issues.shibboleth.net/jira/browse/CPPXT-110
Where possible we use the setters and getters.
In some cases the setters and getters have had their names changed
and so we hide this inside the new header file
security/impl/OpenSSLSupport.h
We are keeping the header file inside impl for now.
In PKIXPathValidator we used to have a class on the stack. Instead
security/impl/OpenSSLSupport (.h and .cpp) invent a new RAII class to
abstract the allocation away. The class also has a couple of methods
which hide the changes to setter/getter names
(X509_STORE_CTX_set0_trusted_stack and X509_STORE_CTX_get0_chain)
Also in PKIXPathValidator a series of macros around X509_CRL have
become a function without a const parameter so we conditionalize
a local variable's 'const' nesss.
(reapplied - previously backed out in bae0dd53)
---
Projects/vc10/xmltooling/xmltooling.vcxproj | 6 ++-
.../vc10/xmltooling/xmltooling.vcxproj.filters | 13 ++++-
.../security/impl/ExplicitKeyTrustEngine.cpp | 1 +
xmltooling/security/impl/OpenSSLSupport.cpp | 62 +---------------------
xmltooling/security/impl/OpenSSLSupport.h | 32 +----------
xmltooling/security/impl/PKIXPathValidator.cpp | 54 +++++++++++--------
xmltooling/soap/impl/CURLSOAPTransport.cpp | 11 ++--
7 files changed, 59 insertions(+), 120 deletions(-)
diff --git a/Projects/vc10/xmltooling/xmltooling.vcxproj b/Projects/vc10/xmltooling/xmltooling.vcxproj
index 2320132..48e2cf3 100644
--- a/Projects/vc10/xmltooling/xmltooling.vcxproj
+++ b/Projects/vc10/xmltooling/xmltooling.vcxproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
@@ -194,6 +194,7 @@
<ClCompile Include="..\..\..\XMLTooling\Lockable.cpp" />
<ClCompile Include="..\..\..\XMLTooling\Namespace.cpp" />
<ClCompile Include="..\..\..\XMLTooling\QName.cpp" />
+ <ClCompile Include="..\..\..\xmltooling\security\impl\OpenSSLSupport.cpp" />
<ClCompile Include="..\..\..\XMLTooling\security\impl\PKIXPathValidator.cpp" />
<ClCompile Include="..\..\..\XMLTooling\unicode.cpp" />
<ClCompile Include="..\..\..\XMLTooling\util\CloneInputStream.cpp" />
@@ -270,6 +271,7 @@
<ClInclude Include="..\..\..\XMLTooling\Namespace.h" />
<ClInclude Include="..\..\..\XMLTooling\PluginManager.h" />
<ClInclude Include="..\..\..\XMLTooling\QName.h" />
+ <ClInclude Include="..\..\..\xmltooling\security\impl\OpenSSLSupport.h" />
<ClInclude Include="..\..\..\XMLTooling\security\OpenSSLPathValidator.h" />
<ClInclude Include="..\..\..\XMLTooling\security\PathValidator.h" />
<ClInclude Include="..\..\..\XMLTooling\security\PKIXPathValidatorParams.h" />
@@ -346,4 +348,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
diff --git a/Projects/vc10/xmltooling/xmltooling.vcxproj.filters b/Projects/vc10/xmltooling/xmltooling.vcxproj.filters
index bee07e2..a3e2882 100644
--- a/Projects/vc10/xmltooling/xmltooling.vcxproj.filters
+++ b/Projects/vc10/xmltooling/xmltooling.vcxproj.filters
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
@@ -73,6 +73,9 @@
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
+ <Filter Include="Header Files\security\impl">
+ <UniqueIdentifier>{8ce132be-735f-49f0-899a-cc0e7cb8e775}</UniqueIdentifier>
+ </Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\XMLTooling\AbstractAttributeExtensibleXMLObject.cpp">
@@ -270,6 +273,9 @@
<ClCompile Include="..\..\..\XMLTooling\util\CloneInputStream.cpp">
<Filter>Source Files\util</Filter>
</ClCompile>
+ <ClCompile Include="..\..\..\xmltooling\security\impl\OpenSSLSupport.cpp">
+ <Filter>Source Files\security\impl</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\XMLTooling\AbstractAttributeExtensibleXMLObject.h">
@@ -521,6 +527,9 @@
<ClInclude Include="..\..\..\XMLTooling\util\CloneInputStream.h">
<Filter>Header Files\util</Filter>
</ClInclude>
+ <ClInclude Include="..\..\..\xmltooling\security\impl\OpenSSLSupport.h">
+ <Filter>Header Files\security\impl</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\XMLTooling\xmltooling.rc">
@@ -531,4 +540,4 @@
<None Include="..\..\..\XMLTooling\config_pub.h.in" />
<None Include="..\..\..\XMLTooling\Makefile.am" />
</ItemGroup>
-</Project>
+</Project>
\ No newline at end of file
diff --git a/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp b/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
index 6ad420f..5f70a70 100644
--- a/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
+++ b/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
@@ -45,6 +45,7 @@ using namespace xmltooling::logging;
using namespace xmltooling;
using namespace std;
+
using xercesc::DOMElement;
namespace xmltooling {
diff --git a/xmltooling/security/impl/OpenSSLSupport.cpp b/xmltooling/security/impl/OpenSSLSupport.cpp
index a936173..bedf872 100644
--- a/xmltooling/security/impl/OpenSSLSupport.cpp
+++ b/xmltooling/security/impl/OpenSSLSupport.cpp
@@ -27,9 +27,7 @@
#include "internal.h"
#include
From 8a0f5d4d717a8529c334cf977ba645a1d0c11de1 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Thu, 14 Jul 2016 17:38:04 +0100 Subject: [PATCH 20/31] CPPXT-110 Add new OpenSSL support files to Unix build
https://issues.shibboleth.net/jira/browse/CPPXT-110 (reapplied - previously backed out in bae0dd53) --- xmltooling/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xmltooling/Makefile.am b/xmltooling/Makefile.am index f265007..6737261 100644 --- a/xmltooling/Makefile.am +++ b/xmltooling/Makefile.am @@ -57,6 +57,7 @@ encinclude_HEADERS = \ implinclude_HEADERS = \ impl/AnyElement.h \ + security/impl/OpenSSLSupport.h \ impl/UnknownElement.h ioinclude_HEADERS = \ @@ -147,6 +148,7 @@ xmlsec_sources = \ security/impl/InlineKeyResolver.cpp \ security/impl/KeyInfoResolver.cpp \ security/impl/OpenSSLCryptoX509CRL.cpp \ + security/impl/OpenSSLSupport.cpp \ security/impl/PKIXPathValidator.cpp \ security/impl/SecurityHelper.cpp \ security/impl/StaticPKIXTrustEngine.cpp \ -- 2.13.6 ++++++ 0021-CPPXT-110-OpenSSL-1.1-makes-DSA-opaque.patch ++++++
From c3693a3bba7b3ec30fb4d6272ab8b2f8224d3175 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Fri, 15 Jul 2016 15:34:22 +0100 Subject: [PATCH 21/31] CPPXT-110 OpenSSL 1.1 makes DSA opaque
https://issues.shibboleth.net/jira/browse/CPPXT-110
Add new functions to get the public and private key.
Call the new DSA_get0_key function in 1.1 and reach into
the structure otherwise.
(reapplied - previously backed out in bae0dd53)
---
.../security/impl/ExplicitKeyTrustEngine.cpp | 4 +++-
xmltooling/security/impl/OpenSSLSupport.cpp | 27 +++++++++++++++++++++-
xmltooling/security/impl/OpenSSLSupport.h | 7 ++++++
xmltooling/security/impl/SecurityHelper.cpp | 5 ++--
4 files changed, 39 insertions(+), 4 deletions(-)
diff --git a/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp b/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
index 5f70a70..785d912 100644
--- a/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
+++ b/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
@@ -34,12 +34,14 @@
#include "signature/Signature.h"
#include "signature/SignatureValidator.h"
#include "util/NDC.h"
+#include "security/impl/OpenSSLSupport.h"
#include
From e4e09e450ace3072b3bf442ca9e6120672c751a7 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Fri, 15 Jul 2016 17:18:25 +0100 Subject: [PATCH 22/31] CPPXT-110 OpenSSL 1.1 makes EVP_PKEY opaque
https://issues.shibboleth.net/jira/browse/CPPXT-110
The type field is available as EVP_PKEY_id() since 1.0
The RSA and DSA fields are availble as EVP_PKEY_get0_[RD]SA from 1.1
Add support macros to make that happen.
(reapplied - previously backed out in bae0dd53)
---
.../security/impl/ExplicitKeyTrustEngine.cpp | 6 ++--
xmltooling/security/impl/OpenSSLSupport.cpp | 33 ++++++++++++++++++++++
xmltooling/security/impl/OpenSSLSupport.h | 15 ++++++++--
xmltooling/security/impl/SecurityHelper.cpp | 8 +++---
4 files changed, 53 insertions(+), 9 deletions(-)
diff --git a/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp b/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
index 785d912..a4a5dd2 100644
--- a/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
+++ b/xmltooling/security/impl/ExplicitKeyTrustEngine.cpp
@@ -263,8 +263,8 @@ bool ExplicitKeyTrustEngine::validate(
{
RSA* rsa = static_cast
From 492d908044018f25d30b81b99f2e77c4f5531857 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Sat, 16 Jul 2016 15:59:01 +0100 Subject: [PATCH 23/31] CPPXT-110 OpenSSL 1.1 removes BIO_s_file_internal
https://issues.shibboleth.net/jira/browse/CPPXT-110 This is real in 0.9.8 and a #define in 1.0.0 through 1.0.2. Add the #define back in for >= 1.1 (reapplied - previously backed out in bae0dd53) --- xmltooling/security/impl/FilesystemCredentialResolver.cpp | 1 + xmltooling/security/impl/OpenSSLSupport.h | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/xmltooling/security/impl/FilesystemCredentialResolver.cpp b/xmltooling/security/impl/FilesystemCredentialResolver.cpp index dfeccf7..f9a337d 100644 --- a/xmltooling/security/impl/FilesystemCredentialResolver.cpp +++ b/xmltooling/security/impl/FilesystemCredentialResolver.cpp @@ -34,6 +34,7 @@ #include "security/OpenSSLCredential.h" #include "security/SecurityHelper.h" #include "security/XSECCryptoX509CRL.h" +#include "security/impl/OpenSSLSupport.h" #include "util/NDC.h" #include "util/PathResolver.h" #include "util/Threads.h" diff --git a/xmltooling/security/impl/OpenSSLSupport.h b/xmltooling/security/impl/OpenSSLSupport.h index 7519091..2d267be 100644 --- a/xmltooling/security/impl/OpenSSLSupport.h +++ b/xmltooling/security/impl/OpenSSLSupport.h @@ -40,6 +40,16 @@ # define EVP_PKEY_id(_evp_) ((_evp_)->type) #endif +// BIO_s_file and BIO_s_file_internal +// in 0.9.8 #define BIO_s_file BIO_s_file_internal, uses both +// in 1.0.0 #define BIO_s_file_internal BIO_s_file, uses both +// in 1.0.1 #define BIO_s_file_internal BIO_s_file, uses both +// in 1.0.1 #define BIO_s_file_internal BIO_s_file, uses both +// in 1.1 no BIO_s_file_internal +#if (OPENSSL_VERSION_NUMBER >= 0x10000000L) +# define BIO_s_file_internal BIO_s_file +#endif + namespace xmltooling { // RAII for the now opaque X509_STORE_CTX class X509StoreCtxRAII -- 2.13.6 ++++++ 0024-CPPXT-110-OpenSSL-1.1-internalizes-locking.patch ++++++
From 76daf28d24f2cccb1889562b7ddf033e6d5da9a0 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Tue, 19 Jul 2016 16:15:10 +0100 Subject: [PATCH 24/31] CPPXT-110 OpenSSL 1.1 internalizes locking.
https://issues.shibboleth.net/jira/browse/CPPXT-110 https://www.openssl.org/docs/manmaster/crypto/CRYPTO_THREAD_lock_free.html "The old locking functions have been removed completely without compatibility macros" For now we just make the callback compile. More work TBD. (reapplied - previously backed out in bae0dd53) --- xmltooling/XMLToolingConfig.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/xmltooling/XMLToolingConfig.cpp b/xmltooling/XMLToolingConfig.cpp index 6925a23..a8b4bb5 100644 --- a/xmltooling/XMLToolingConfig.cpp +++ b/xmltooling/XMLToolingConfig.cpp @@ -111,6 +111,15 @@ using namespace xmlsignature; namespace { static XMLToolingInternalConfig g_config; #ifndef XMLTOOLING_NO_XMLSEC +// NOTE: +// "The old locking functions have been removed completely without compatibility macros" +// see: +// https://www.openssl.org/docs/manmaster/crypto/CRYPTO_THREAD_lock_free.html +// +// For now we just make the callback compile. More work TBD +#ifndef CRYPTO_LOCK +#define CRYPTO_LOCK 1 +#endif static ptr_vector<Mutex> g_openssl_locks; extern "C" void openssl_locking_callback(int mode,int n,const char *file,int line) -- 2.13.6 ++++++ 0025-CPPXT-110-OpenSSL-1.1-Fix-some-signatures-and-names.patch ++++++
From 1d41f3aa173bdce6ce00fc56839afab00e6e3dbe Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Fri, 29 Jul 2016 16:10:19 +0100 Subject: [PATCH 25/31] CPPXT-110 OpenSSL 1.1: Fix some signatures and names
https://issues.shibboleth.net/jira/browse/CPPXT-110 Some of the helper functions previously introduced had the wrong signature and namespace. (Cherry-picked from openssl1.1 branch) --- xmltooling/security/impl/OpenSSLSupport.cpp | 20 ++++++++++---------- xmltooling/security/impl/OpenSSLSupport.h | 10 +++++----- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/xmltooling/security/impl/OpenSSLSupport.cpp b/xmltooling/security/impl/OpenSSLSupport.cpp index 28dd378..ab9fe00 100644 --- a/xmltooling/security/impl/OpenSSLSupport.cpp +++ b/xmltooling/security/impl/OpenSSLSupport.cpp @@ -69,56 +69,56 @@ void X509StoreCtxRAII::set0TrustedStack(STACK_OF(X509) *sk) } } -BIGNUM *DSA_get0_pubkey(const DSA *dsa) +const BIGNUM *xmltooling::DSA_get0_pubkey(const DSA *dsa) { #if (OPENSSL_VERSION_NUMBER < 0x10100000L) return dsa->pub_key; #else - BIGNUM *result; + const BIGNUM *result; DSA_get0_key(dsa, &result, NULL); return result; #endif } -BIGNUM *DSA_get0_privkey(const DSA *dsa) +const BIGNUM *xmltooling::DSA_get0_privkey(const DSA *dsa) { #if (OPENSSL_VERSION_NUMBER < 0x10100000L) return dsa->priv_key; #else - BIGNUM *result; + const BIGNUM *result; DSA_get0_key(dsa, NULL, &result); return result; #endif } -BIGNUM *RSA_get0_n(const RSA *rsa) +const BIGNUM *xmltooling::RSA_get0_n(const RSA *rsa) { #if (OPENSSL_VERSION_NUMBER < 0x10100000L) return rsa->n; #else - BIGNUM *result; + const BIGNUM *result; RSA_get0_key(rsa, &result, NULL, NULL); return result; #endif } -BIGNUM *RSA_get0_e(const RSA *rsa) +const BIGNUM *xmltooling::RSA_get0_e(const RSA *rsa) { #if (OPENSSL_VERSION_NUMBER < 0x10100000L) return rsa->e; #else - BIGNUM *result; + const BIGNUM *result; RSA_get0_key(rsa, NULL, &result, NULL); return result; #endif } -BIGNUM *RSA_get0_d(const RSA *rsa) +const BIGNUM *xmltooling::RSA_get0_d(const RSA *rsa) { #if (OPENSSL_VERSION_NUMBER < 0x10100000L) return rsa->d; #else - BIGNUM *result; + const BIGNUM *result; RSA_get0_key(rsa, NULL, NULL, &result); return result; #endif diff --git a/xmltooling/security/impl/OpenSSLSupport.h b/xmltooling/security/impl/OpenSSLSupport.h index 2d267be..cf3e799 100644 --- a/xmltooling/security/impl/OpenSSLSupport.h +++ b/xmltooling/security/impl/OpenSSLSupport.h @@ -71,11 +71,11 @@ namespace xmltooling { }; - BIGNUM *DSA_get0_pubkey(const DSA *dsa); - BIGNUM *DSA_get0_privkey(const DSA *dsa); + const BIGNUM *DSA_get0_pubkey(const DSA *dsa); + const BIGNUM *DSA_get0_privkey(const DSA *dsa); - BIGNUM *RSA_get0_n(const RSA *rsa); - BIGNUM *RSA_get0_d(const RSA *rsa); - BIGNUM *RSA_get0_e(const RSA *rsa); + const BIGNUM *RSA_get0_n(const RSA *rsa); + const BIGNUM *RSA_get0_d(const RSA *rsa); + const BIGNUM *RSA_get0_e(const RSA *rsa); } -- 2.13.6 ++++++ 0026-CPPXT-110-OpenSSL-1.1-library-names-have-changes.patch ++++++
From a7f2456a9c5394c377e91b1f436ea25b858ac58e Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Fri, 29 Jul 2016 16:11:40 +0100 Subject: [PATCH 26/31] CPPXT-110 OpenSSL 1.1: library names have changes
https://issues.shibboleth.net/jira/browse/CPPXT-110 Use the Properties set up in the latest verion of Versions/Includes (Cherry-picked from openssl1.1 branch) --- Projects/vc10/xmltooling/xmltooling.vcxproj | 10 +++++----- Projects/vc14/xmltooling/xmltooling.vcxproj | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Projects/vc10/xmltooling/xmltooling.vcxproj b/Projects/vc10/xmltooling/xmltooling.vcxproj index 48e2cf3..bd06c1f 100644 --- a/Projects/vc10/xmltooling/xmltooling.vcxproj +++ b/Projects/vc10/xmltooling/xmltooling.vcxproj @@ -105,7 +105,7 @@ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> <Link> - <AdditionalDependencies>wsock32.lib;log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;libeay32D.lib;ssleay32D.lib;libcurl5d_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>wsock32.lib;log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;$(SSLLibD);libcurl5d_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Windows</SubSystem> <DataExecutionPrevention> @@ -133,7 +133,7 @@ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> <Link> - <AdditionalDependencies>wsock32.lib;log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;libeay32D.lib;ssleay32D.lib;libcurl5d_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>wsock32.lib;log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;$(SSLLibD);libcurl5d_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Windows</SubSystem> <DataExecutionPrevention> @@ -151,7 +151,7 @@ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <Link> - <AdditionalDependencies>wsock32.lib;log4shib1.lib;xerces-c_3.lib;xsec_1.lib;libeay32.lib;ssleay32.lib;libcurl5_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>wsock32.lib;log4shib1.lib;xerces-c_3.lib;xsec_1.lib;$(SSLLib);libcurl5_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Windows</SubSystem> <OptimizeReferences>true</OptimizeReferences> @@ -174,7 +174,7 @@ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <Link> - <AdditionalDependencies>wsock32.lib;log4shib1.lib;xerces-c_3.lib;xsec_1.lib;libeay32.lib;ssleay32.lib;libcurl5_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>wsock32.lib;log4shib1.lib;xerces-c_3.lib;xsec_1.lib;$(SSLLib);libcurl5_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Windows</SubSystem> <OptimizeReferences>true</OptimizeReferences> @@ -348,4 +348,4 @@ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> </ImportGroup> -</Project> \ No newline at end of file +</Project> diff --git a/Projects/vc14/xmltooling/xmltooling.vcxproj b/Projects/vc14/xmltooling/xmltooling.vcxproj index fed246a..9a246a7 100644 --- a/Projects/vc14/xmltooling/xmltooling.vcxproj +++ b/Projects/vc14/xmltooling/xmltooling.vcxproj @@ -110,7 +110,7 @@ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> <Link> - <AdditionalDependencies>wsock32.lib;log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;libeay32D.lib;ssleay32D.lib;libcurl5d_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>wsock32.lib;log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;$(SSLLibD);libcurl5d_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Windows</SubSystem> <DataExecutionPrevention> @@ -139,7 +139,7 @@ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> <Link> - <AdditionalDependencies>wsock32.lib;log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;libeay32D.lib;ssleay32D.lib;libcurl5d_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>wsock32.lib;log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;$(SSLLibD);libcurl5d_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Windows</SubSystem> <DataExecutionPrevention> @@ -158,7 +158,7 @@ <DisableSpecificWarnings>4275</DisableSpecificWarnings> </ClCompile> <Link> - <AdditionalDependencies>wsock32.lib;log4shib1.lib;xerces-c_3.lib;xsec_1.lib;libeay32.lib;ssleay32.lib;libcurl5_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>wsock32.lib;log4shib1.lib;xerces-c_3.lib;xsec_1.lib;$(SSLLib);libcurl5_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Windows</SubSystem> <OptimizeReferences>true</OptimizeReferences> @@ -182,7 +182,7 @@ <DisableSpecificWarnings>4275</DisableSpecificWarnings> </ClCompile> <Link> - <AdditionalDependencies>wsock32.lib;log4shib1.lib;xerces-c_3.lib;xsec_1.lib;libeay32.lib;ssleay32.lib;libcurl5_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>wsock32.lib;log4shib1.lib;xerces-c_3.lib;xsec_1.lib;$(SSLLibD);libcurl5_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Windows</SubSystem> <OptimizeReferences>true</OptimizeReferences> -- 2.13.6 ++++++ 0027-Commit-a-xmltoolingtest.vcxproj.user.patch ++++++
From df1845cca7a8a34c946f264e75536ee1d087fd32 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Wed, 17 Aug 2016 16:36:39 +0100 Subject: [PATCH 27/31] Commit a xmltoolingtest.vcxproj.user.
Although this is an ignore file it acts as a useful template for all the environmental variables that need to be set up. (Cherry-picked from openssl1.1 branch) --- Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.user | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.user diff --git a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.user b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.user new file mode 100644 index 0000000..5a57229 --- /dev/null +++ b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.user @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <LocalDebuggerEnvironment>PATH=$(BuildRoot)\x86-dbg\bin;$(BuildRoot)\$(xerces)\Build\Win32\VC10\debug;$(BuildRoot)\$(curl)\builds\libcurl-vc10-x86-debug-dll-ssl-dll-zlib-dll-ipv6-sspi\bin;$(BuildRoot)\$(xmlsec)\Build\Win32\VC10\Debug No Xalan;$(BuildRoot)\$(log4shib)\msvc10\Debug;;$(BuildRoot)\$(zlib)\debug;$(PATH) +XMLTOOLINGTEST_DATA=H:\Perforce\devel\cpp-xmltooling\xmltoolingtest\data +$(LocalDebuggerEnvironment)</LocalDebuggerEnvironment> + <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor> + <LocalDebuggerWorkingDirectory>$(ProjectDir)..\..\..\xmltoolingtest</LocalDebuggerWorkingDirectory> + <LocalDebuggerCommand>$(TargetPath)</LocalDebuggerCommand> + </PropertyGroup> +</Project> \ No newline at end of file -- 2.13.6 ++++++ 0028-CPPXT-110-OpenSSL-1.1-OpenSSL1.1-changes-to-newly-in.patch ++++++
From cbdd797b664e20b01c2b3d25b127bbde5712270f Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Mon, 28 Nov 2016 14:19:54 +0000 Subject: [PATCH 28/31] CPPXT-110 OpenSSL 1.1: OpenSSL1.1 changes to newly introduced tests
https://issues.shibboleth.net/jira/browse/CPPXT-110
Plus a couple of clean-ups in the build environment.
---
Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj | 2 +-
Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.user | 6 +++---
xmltoolingtest/InlineKeyResolverTest.h | 15 +++++++++++++--
3 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj
index be3175c..6fc9167 100644
--- a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj
+++ b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj
@@ -97,7 +97,7 @@
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
- <AdditionalDependencies>xerces-c_3D.lib;xsec_1D.lib;libeay32D.lib;ssleay32D.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>xerces-c_3D.lib;xsec_1D.lib;$(SSLLibD);%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
diff --git a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.user b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.user
index 5a57229..2efd78c 100644
--- a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.user
+++ b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.user
@@ -1,11 +1,11 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <LocalDebuggerEnvironment>PATH=$(BuildRoot)\x86-dbg\bin;$(BuildRoot)\$(xerces)\Build\Win32\VC10\debug;$(BuildRoot)\$(curl)\builds\libcurl-vc10-x86-debug-dll-ssl-dll-zlib-dll-ipv6-sspi\bin;$(BuildRoot)\$(xmlsec)\Build\Win32\VC10\Debug No Xalan;$(BuildRoot)\$(log4shib)\msvc10\Debug;;$(BuildRoot)\$(zlib)\debug;$(PATH)
+ <LocalDebuggerEnvironment>PATH=$(BuildRoot)\x86-dbg\bin;$(BuildRoot)\$(xerces)\Build\Win32\VC10\debug;$(BuildRoot)\$(curl)\builds\libcurl-vc10-x86-debug-dll-ssl-dll-zlib-dll-ipv6-sspi\bin;$(BuildRoot)\$(xmlsec)\Build\Win32\VC10\Debug No Xalan;$(BuildRoot)\$(log4shib)\msvc10\Debug;$(BuildRoot)\$(zlib)\debug;$(BuildRoot)\$(openssl)\out32dll.dbg\;$(PATH)
XMLTOOLINGTEST_DATA=H:\Perforce\devel\cpp-xmltooling\xmltoolingtest\data
$(LocalDebuggerEnvironment)</LocalDebuggerEnvironment>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\..\..\xmltoolingtest</LocalDebuggerWorkingDirectory>
<LocalDebuggerCommand>$(TargetPath)</LocalDebuggerCommand>
</PropertyGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/xmltoolingtest/InlineKeyResolverTest.h b/xmltoolingtest/InlineKeyResolverTest.h
index baaa5b3..9a8bcd0 100644
--- a/xmltoolingtest/InlineKeyResolverTest.h
+++ b/xmltoolingtest/InlineKeyResolverTest.h
@@ -29,13 +29,15 @@
#include
From 821fdfda991e74465210702c94c943836bd7cda0 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Tue, 6 Dec 2016 17:21:32 +0000 Subject: [PATCH 29/31] CPPXT-110 OpenSSL 1.1: Cleanup tests
Tests need to link against OpenSSL (after I have added the test that does the work) --- Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj | 6 +++--- Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.filters | 9 ++++++--- Projects/vc14/xmltoolingtest/xmltoolingtest.vcxproj | 8 ++++---- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj index 6fc9167..117e133 100644 --- a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj +++ b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj @@ -121,7 +121,7 @@ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <Link> - <AdditionalDependencies>xerces-c_3D.lib;xsec_1D.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>xerces-c_3D.lib;xsec_1D.lib;$(SSLLibD);%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Console</SubSystem> <DataExecutionPrevention> @@ -137,7 +137,7 @@ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <Link> - <AdditionalDependencies>xerces-c_3.lib;xsec_1.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>xerces-c_3.lib;xsec_1.lib;$(SSLLib);%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Console</SubSystem> <OptimizeReferences>true</OptimizeReferences> @@ -160,7 +160,7 @@ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <Link> - <AdditionalDependencies>xerces-c_3.lib;xsec_1.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>xerces-c_3.lib;xsec_1.lib;$(SSLLib);%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Console</SubSystem> <OptimizeReferences>true</OptimizeReferences> diff --git a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.filters b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.filters index c4f862f..dc7ca50 100644 --- a/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.filters +++ b/Projects/vc10/xmltoolingtest/xmltoolingtest.vcxproj.filters @@ -65,14 +65,14 @@ <ClCompile Include="CloneInputStreamTest.cpp"> <Filter>Generated Code</Filter> </ClCompile> + <ClCompile Include="ExplicitKeyTrustEngineTest.cpp"> + <Filter>Generated Code</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\..\..\XMLToolingTest\XMLObjectBaseTestCase.h"> <Filter>Unit Tests</Filter> </ClInclude> - <ClInclude Include="ExplicitKeyTrustEngineTest.h"> - <Filter>Unit Tests</Filter> - </ClInclude> </ItemGroup> <ItemGroup> <None Include="..\..\..\XMLToolingTest\Makefile.am" /> @@ -132,5 +132,8 @@ <CustomBuild Include="..\..\..\XMLToolingTest\SOAPTest.h"> <Filter>Unit Tests</Filter> </CustomBuild> + <CustomBuild Include="..\..\..\XMLToolingTest\ExplicitKeyTrustEngineTest.h"> + <Filter>Unit Tests</Filter> + </CustomBuild> </ItemGroup> </Project> \ No newline at end of file diff --git a/Projects/vc14/xmltoolingtest/xmltoolingtest.vcxproj b/Projects/vc14/xmltoolingtest/xmltoolingtest.vcxproj index e66ecf5..388139c 100644 --- a/Projects/vc14/xmltoolingtest/xmltoolingtest.vcxproj +++ b/Projects/vc14/xmltoolingtest/xmltoolingtest.vcxproj @@ -102,7 +102,7 @@ <DisableSpecificWarnings>4275</DisableSpecificWarnings> </ClCompile> <Link> - <AdditionalDependencies>xerces-c_3D.lib;xsec_1D.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>xerces-c_3D.lib;xsec_1D.lib;$(SSLLib);%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Console</SubSystem> <RandomizedBaseAddress>false</RandomizedBaseAddress> @@ -127,7 +127,7 @@ <DisableSpecificWarnings>4275</DisableSpecificWarnings> </ClCompile> <Link> - <AdditionalDependencies>xerces-c_3D.lib;xsec_1D.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>xerces-c_3D.lib;xsec_1D.lib;$(SSLLibD);%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Console</SubSystem> <DataExecutionPrevention> @@ -144,7 +144,7 @@ <DisableSpecificWarnings>4275</DisableSpecificWarnings> </ClCompile> <Link> - <AdditionalDependencies>xerces-c_3.lib;xsec_1.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>xerces-c_3.lib;xsec_1.lib;$(SSLLib);%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Console</SubSystem> <OptimizeReferences>true</OptimizeReferences> @@ -168,7 +168,7 @@ <DisableSpecificWarnings>4275</DisableSpecificWarnings> </ClCompile> <Link> - <AdditionalDependencies>xerces-c_3.lib;xsec_1.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>xerces-c_3.lib;xsec_1.lib;$(SSLLib);%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Console</SubSystem> <OptimizeReferences>true</OptimizeReferences> -- 2.13.6 ++++++ 0030-CPPXT-110-OpenSSL-1.1-New-build-mechanisms.patch ++++++
From b37459071c9164d07e60d750cac60a1000a83791 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Wed, 7 Dec 2016 10:16:00 +0000 Subject: [PATCH 30/31] CPPXT-110 OpenSSL 1.1: New build mechanisms
https://issues.shibboleth.net/jira/browse/CPPXT-110 Use new property for the LibCurl library name. Allows for an element of build-style independence. --- Projects/vc10/xmltooling/xmltooling.vcxproj | 10 +++++----- Projects/vc14/xmltooling/xmltooling.vcxproj | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Projects/vc10/xmltooling/xmltooling.vcxproj b/Projects/vc10/xmltooling/xmltooling.vcxproj index bd06c1f..3aa749f 100644 --- a/Projects/vc10/xmltooling/xmltooling.vcxproj +++ b/Projects/vc10/xmltooling/xmltooling.vcxproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|Win32"> @@ -105,7 +105,7 @@ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> <Link> - <AdditionalDependencies>wsock32.lib;log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;$(SSLLibD);libcurl5d_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>wsock32.lib;log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;$(SSLLibD);$(LibCurlLibD);%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Windows</SubSystem> <DataExecutionPrevention> @@ -133,7 +133,7 @@ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> <Link> - <AdditionalDependencies>wsock32.lib;log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;$(SSLLibD);libcurl5d_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>wsock32.lib;log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;$(SSLLibD);$(LibCurlLibD);%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Windows</SubSystem> <DataExecutionPrevention> @@ -151,7 +151,7 @@ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <Link> - <AdditionalDependencies>wsock32.lib;log4shib1.lib;xerces-c_3.lib;xsec_1.lib;$(SSLLib);libcurl5_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>wsock32.lib;log4shib1.lib;xerces-c_3.lib;xsec_1.lib;$(SSLLib);$(LibCurlLib);%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Windows</SubSystem> <OptimizeReferences>true</OptimizeReferences> @@ -174,7 +174,7 @@ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <Link> - <AdditionalDependencies>wsock32.lib;log4shib1.lib;xerces-c_3.lib;xsec_1.lib;$(SSLLib);libcurl5_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>wsock32.lib;log4shib1.lib;xerces-c_3.lib;xsec_1.lib;$(SSLLib);$(LibCurlLib);%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Windows</SubSystem> <OptimizeReferences>true</OptimizeReferences> diff --git a/Projects/vc14/xmltooling/xmltooling.vcxproj b/Projects/vc14/xmltooling/xmltooling.vcxproj index 9a246a7..42656e4 100644 --- a/Projects/vc14/xmltooling/xmltooling.vcxproj +++ b/Projects/vc14/xmltooling/xmltooling.vcxproj @@ -110,7 +110,7 @@ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> <Link> - <AdditionalDependencies>wsock32.lib;log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;$(SSLLibD);libcurl5d_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>wsock32.lib;log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;$(SSLLibD);$(LibCurlLibD);%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Windows</SubSystem> <DataExecutionPrevention> @@ -139,7 +139,7 @@ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> <Link> - <AdditionalDependencies>wsock32.lib;log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;$(SSLLibD);libcurl5d_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>wsock32.lib;log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;$(SSLLibD);$(LibCurlLibD);%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Windows</SubSystem> <DataExecutionPrevention> @@ -158,7 +158,7 @@ <DisableSpecificWarnings>4275</DisableSpecificWarnings> </ClCompile> <Link> - <AdditionalDependencies>wsock32.lib;log4shib1.lib;xerces-c_3.lib;xsec_1.lib;$(SSLLib);libcurl5_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>wsock32.lib;log4shib1.lib;xerces-c_3.lib;xsec_1.lib;$(SSLLib);$(LibCurlLib);%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Windows</SubSystem> <OptimizeReferences>true</OptimizeReferences> @@ -182,7 +182,7 @@ <DisableSpecificWarnings>4275</DisableSpecificWarnings> </ClCompile> <Link> - <AdditionalDependencies>wsock32.lib;log4shib1.lib;xerces-c_3.lib;xsec_1.lib;$(SSLLibD);libcurl5_imp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>wsock32.lib;log4shib1.lib;xerces-c_3.lib;xsec_1.lib;$(SSLLib);$(LibCurlLib);%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Windows</SubSystem> <OptimizeReferences>true</OptimizeReferences> -- 2.13.6 ++++++ 0031-Missed-file-for-OpenSSL1.1-support.patch ++++++
From 49411708b10779c6ee989bc64cb18c547821d924 Mon Sep 17 00:00:00 2001 From: Rod Widdowson
Date: Wed, 7 Dec 2016 15:49:12 +0000 Subject: [PATCH 31/31] Missed file for OpenSSL1.1 support
--- Projects/vc14/xmltooling/xmltooling.vcxproj | 1 + 1 file changed, 1 insertion(+) diff --git a/Projects/vc14/xmltooling/xmltooling.vcxproj b/Projects/vc14/xmltooling/xmltooling.vcxproj index 42656e4..6d3035c 100644 --- a/Projects/vc14/xmltooling/xmltooling.vcxproj +++ b/Projects/vc14/xmltooling/xmltooling.vcxproj @@ -254,6 +254,7 @@ <ClCompile Include="..\..\..\XMLTooling\security\impl\FilesystemCredentialResolver.cpp" /> <ClCompile Include="..\..\..\XMLTooling\security\impl\InlineKeyResolver.cpp" /> <ClCompile Include="..\..\..\XMLTooling\security\impl\KeyInfoResolver.cpp" /> + <ClCompile Include="..\..\..\xmltooling\security\impl\OpenSSLSupport.cpp" /> <ClCompile Include="..\..\..\XMLTooling\security\impl\OpenSSLCryptoX509CRL.cpp" /> <ClCompile Include="..\..\..\XMLTooling\security\impl\SecurityHelper.cpp" /> <ClCompile Include="..\..\..\XMLTooling\security\impl\StaticPKIXTrustEngine.cpp"> -- 2.13.6
participants (1)
-
root@hilbert.suse.de