summaryrefslogtreecommitdiff
path: root/xmlsecurity
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2021-07-21 09:34:10 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2021-07-22 10:16:20 +0200
commitbebb1a3f2dc3e131f95a078f8a9c40d0491af7cd (patch)
treec8a31e7719e8e1609f4b1d94372b358c2cc6c16d /xmlsecurity
parent88c85c8aa377ccc017582d8a08e5f73391b5a446 (diff)
pass SvXMLNamespaceMap around by value
in SvXMLImport. Remove an assert in XSecParser because std::move on std::optional does not make the optional empty, unlike it's effect on std::unique_ptr. Change-Id: Ie94d01423bf694a37e4bd7f2c0235c5f79a44efe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119302 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'xmlsecurity')
-rw-r--r--xmlsecurity/source/helper/ooxmlsecparser.cxx117
-rw-r--r--xmlsecurity/source/helper/ooxmlsecparser.hxx3
-rw-r--r--xmlsecurity/source/helper/xsecparser.cxx141
-rw-r--r--xmlsecurity/source/helper/xsecparser.hxx3
4 files changed, 132 insertions, 132 deletions
diff --git a/xmlsecurity/source/helper/ooxmlsecparser.cxx b/xmlsecurity/source/helper/ooxmlsecparser.cxx
index c88c4efbbe69..a25c7ecffa01 100644
--- a/xmlsecurity/source/helper/ooxmlsecparser.cxx
+++ b/xmlsecurity/source/helper/ooxmlsecparser.cxx
@@ -28,11 +28,11 @@ class OOXMLSecParser::Context
friend class OOXMLSecParser;
OOXMLSecParser & m_rParser;
private:
- std::unique_ptr<SvXMLNamespaceMap> m_pOldNamespaceMap;
+ std::optional<SvXMLNamespaceMap> m_pOldNamespaceMap;
public:
Context(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: m_rParser(rParser)
, m_pOldNamespaceMap(std::move(pOldNamespaceMap))
{
@@ -50,7 +50,7 @@ class OOXMLSecParser::Context
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const /*nNamespace*/, OUString const& /*rName*/);
virtual void Characters(OUString const& /*rChars*/)
@@ -67,7 +67,7 @@ class OOXMLSecParser::UnknownContext
{
public:
UnknownContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -80,7 +80,7 @@ class OOXMLSecParser::UnknownContext
};
auto OOXMLSecParser::Context::CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const /*nNamespace*/, OUString const& /*rName*/)
-> std::unique_ptr<Context>
{
@@ -106,7 +106,7 @@ class OOXMLSecParser::ReferencedContextImpl
public:
ReferencedContextImpl(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_isReferenced(isReferenced)
@@ -132,7 +132,7 @@ class OOXMLSecParser::DsX509CertificateContext
public:
DsX509CertificateContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
OUString & rValue)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rValue(rValue)
@@ -153,7 +153,7 @@ class OOXMLSecParser::DsX509SerialNumberContext
public:
DsX509SerialNumberContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
OUString & rValue)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rValue(rValue)
@@ -174,7 +174,7 @@ class OOXMLSecParser::DsX509IssuerNameContext
public:
DsX509IssuerNameContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
OUString & rValue)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rValue(rValue)
@@ -196,7 +196,7 @@ class OOXMLSecParser::DsX509IssuerSerialContext
public:
DsX509IssuerSerialContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
OUString & rIssuerName, OUString & rSerialNumber)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rX509IssuerName(rIssuerName)
@@ -205,7 +205,7 @@ class OOXMLSecParser::DsX509IssuerSerialContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "X509IssuerName")
@@ -233,7 +233,7 @@ class OOXMLSecParser::DsX509DataContext
public:
DsX509DataContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -244,7 +244,7 @@ class OOXMLSecParser::DsX509DataContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "X509IssuerSerial")
@@ -267,7 +267,7 @@ class OOXMLSecParser::DsKeyInfoContext
{
public:
DsKeyInfoContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -279,7 +279,7 @@ class OOXMLSecParser::DsKeyInfoContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "X509Data")
@@ -303,7 +303,7 @@ class OOXMLSecParser::DsSignatureValueContext
public:
DsSignatureValueContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -333,7 +333,7 @@ class OOXMLSecParser::DsDigestValueContext
public:
DsDigestValueContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
OUString & rValue)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rValue(rValue)
@@ -360,7 +360,7 @@ class OOXMLSecParser::DsDigestMethodContext
public:
DsDigestMethodContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_Int32 & rReferenceDigestID)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rReferenceDigestID(rReferenceDigestID)
@@ -399,7 +399,7 @@ class OOXMLSecParser::DsTransformContext
public:
DsTransformContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool & rIsC14N)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rIsC14N(rIsC14N)
@@ -426,7 +426,7 @@ class OOXMLSecParser::DsTransformsContext
public:
DsTransformsContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool & rIsC14N)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rIsC14N(rIsC14N)
@@ -434,7 +434,7 @@ class OOXMLSecParser::DsTransformsContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "Transform")
@@ -459,7 +459,7 @@ class OOXMLSecParser::DsReferenceContext
public:
DsReferenceContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -503,7 +503,7 @@ class OOXMLSecParser::DsReferenceContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "Transforms")
@@ -527,7 +527,7 @@ class OOXMLSecParser::DsSignatureMethodContext
{
public:
DsSignatureMethodContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -549,7 +549,7 @@ class OOXMLSecParser::DsSignedInfoContext
{
public:
DsSignedInfoContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -566,7 +566,7 @@ class OOXMLSecParser::DsSignedInfoContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "SignatureMethod")
@@ -591,7 +591,7 @@ class OOXMLSecParser::XadesCertDigestContext
public:
XadesCertDigestContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
OUString & rDigestValue, sal_Int32 & rReferenceDigestID)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rDigestValue(rDigestValue)
@@ -600,7 +600,7 @@ class OOXMLSecParser::XadesCertDigestContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "DigestMethod")
@@ -626,7 +626,7 @@ class OOXMLSecParser::XadesCertContext
public:
XadesCertContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
@@ -645,7 +645,7 @@ class OOXMLSecParser::XadesCertContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_XADES132 && rName == "CertDigest")
@@ -665,14 +665,14 @@ class OOXMLSecParser::XadesSigningCertificateContext
{
public:
XadesSigningCertificateContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_XADES132 && rName == "Cert")
@@ -691,7 +691,7 @@ class OOXMLSecParser::XadesSigningTimeContext
public:
XadesSigningTimeContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
@@ -720,7 +720,7 @@ class OOXMLSecParser::XadesSignedSignaturePropertiesContext
{
public:
XadesSignedSignaturePropertiesContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
@@ -733,7 +733,7 @@ class OOXMLSecParser::XadesSignedSignaturePropertiesContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_XADES132 && rName == "SigningTime")
@@ -754,7 +754,7 @@ class OOXMLSecParser::XadesSignedPropertiesContext
{
public:
XadesSignedPropertiesContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
@@ -767,7 +767,7 @@ class OOXMLSecParser::XadesSignedPropertiesContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_XADES132 && rName == "SignedSignatureProperties")
@@ -784,7 +784,7 @@ class OOXMLSecParser::XadesQualifyingPropertiesContext
{
public:
XadesQualifyingPropertiesContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
@@ -797,7 +797,7 @@ class OOXMLSecParser::XadesQualifyingPropertiesContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_XADES132 && rName == "SignedProperties")
@@ -817,7 +817,7 @@ class OOXMLSecParser::MsodigsigSetupIDContext
public:
MsodigsigSetupIDContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
OUString & rValue)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rValue(rValue)
@@ -838,7 +838,7 @@ class OOXMLSecParser::MsodigsigSignatureCommentsContext
public:
MsodigsigSignatureCommentsContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
OUString & rValue)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rValue(rValue)
@@ -860,7 +860,7 @@ class OOXMLSecParser::MsodigsigSignatureInfoV1Context
public:
MsodigsigSignatureInfoV1Context(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
@@ -873,7 +873,7 @@ class OOXMLSecParser::MsodigsigSignatureInfoV1Context
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_MSODIGSIG && rName == "SetupID")
@@ -916,7 +916,7 @@ class OOXMLSecParser::MdssiValueContext
public:
MdssiValueContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
OUString & rValue)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rValue(rValue)
@@ -937,7 +937,7 @@ class OOXMLSecParser::MdssiSignatureTimeContext
public:
MdssiSignatureTimeContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
OUString & rValue)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rValue(rValue)
@@ -945,7 +945,7 @@ class OOXMLSecParser::MdssiSignatureTimeContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_MDSSI && rName == "Value")
@@ -968,7 +968,7 @@ class OOXMLSecParser::DsSignaturePropertyContext
public:
DsSignaturePropertyContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
@@ -1003,7 +1003,7 @@ class OOXMLSecParser::DsSignaturePropertyContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_MDSSI && rName == "SignatureTime")
@@ -1024,7 +1024,7 @@ class OOXMLSecParser::DsSignaturePropertiesContext
{
public:
DsSignaturePropertiesContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
@@ -1037,7 +1037,7 @@ class OOXMLSecParser::DsSignaturePropertiesContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "SignatureProperty")
@@ -1053,7 +1053,7 @@ class OOXMLSecParser::DsManifestContext
{
public:
DsManifestContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
@@ -1074,7 +1074,7 @@ class OOXMLSecParser::DsManifestContext
#endif
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "Reference")
@@ -1095,7 +1095,7 @@ class OOXMLSecParser::DsObjectContext
public:
DsObjectContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
// init with "false" here - the Signature element can't be referenced by its child
: OOXMLSecParser::ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), false)
{
@@ -1150,7 +1150,7 @@ class OOXMLSecParser::DsObjectContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "SignatureProperties")
@@ -1174,7 +1174,7 @@ class OOXMLSecParser::DsSignatureContext
{
public:
DsSignatureContext(OOXMLSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: OOXMLSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -1192,7 +1192,7 @@ class OOXMLSecParser::DsSignatureContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "SignedInfo")
@@ -1217,7 +1217,7 @@ class OOXMLSecParser::DsSignatureContext
OOXMLSecParser::OOXMLSecParser(XMLSignatureHelper& rXMLSignatureHelper, XSecController* pXSecController)
- : m_pNamespaceMap(new SvXMLNamespaceMap)
+ : m_pNamespaceMap(SvXMLNamespaceMap())
, m_pXSecController(pXSecController)
,m_rXMLSignatureHelper(rXMLSignatureHelper)
{
@@ -1262,7 +1262,7 @@ void SAL_CALL OOXMLSecParser::endDocument()
void SAL_CALL OOXMLSecParser::startElement(const OUString& rName, const uno::Reference<xml::sax::XAttributeList>& xAttribs)
{
assert(m_pNamespaceMap);
- std::unique_ptr<SvXMLNamespaceMap> pRewindMap(
+ std::optional<SvXMLNamespaceMap> pRewindMap(
SvXMLImport::processNSAttributes(m_pNamespaceMap, nullptr, xAttribs));
OUString localName;
@@ -1291,7 +1291,6 @@ void SAL_CALL OOXMLSecParser::startElement(const OUString& rName, const uno::Ref
}
m_ContextStack.push(std::move(pContext));
- assert(!pRewindMap);
m_ContextStack.top()->StartElement(xAttribs);
diff --git a/xmlsecurity/source/helper/ooxmlsecparser.hxx b/xmlsecurity/source/helper/ooxmlsecparser.hxx
index 4f11302ff765..9d0c7efe470d 100644
--- a/xmlsecurity/source/helper/ooxmlsecparser.hxx
+++ b/xmlsecurity/source/helper/ooxmlsecparser.hxx
@@ -16,6 +16,7 @@
#include <xmloff/namespacemap.hxx>
+#include <optional>
#include <stack>
class XSecController;
@@ -71,7 +72,7 @@ private:
class DsigSignaturesContext;
std::stack<std::unique_ptr<Context>> m_ContextStack;
- std::unique_ptr<SvXMLNamespaceMap> m_pNamespaceMap;
+ std::optional<SvXMLNamespaceMap> m_pNamespaceMap;
XSecController* m_pXSecController;
css::uno::Reference<css::xml::sax::XDocumentHandler> m_xNextHandler;
diff --git a/xmlsecurity/source/helper/xsecparser.cxx b/xmlsecurity/source/helper/xsecparser.cxx
index d191c540ce8f..f12e7031e349 100644
--- a/xmlsecurity/source/helper/xsecparser.cxx
+++ b/xmlsecurity/source/helper/xsecparser.cxx
@@ -36,11 +36,11 @@ class XSecParser::Context
friend class XSecParser;
XSecParser & m_rParser;
private:
- std::unique_ptr<SvXMLNamespaceMap> m_pOldNamespaceMap;
+ std::optional<SvXMLNamespaceMap> m_pOldNamespaceMap;
public:
Context(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: m_rParser(rParser)
, m_pOldNamespaceMap(std::move(pOldNamespaceMap))
{
@@ -58,7 +58,7 @@ class XSecParser::Context
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const /*nNamespace*/, OUString const& /*rName*/);
virtual void Characters(OUString const& /*rChars*/)
@@ -75,7 +75,7 @@ class XSecParser::UnknownContext
{
public:
UnknownContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -88,7 +88,7 @@ class XSecParser::UnknownContext
};
auto XSecParser::Context::CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const /*nNamespace*/, OUString const& /*rName*/)
-> std::unique_ptr<Context>
{
@@ -114,7 +114,7 @@ class XSecParser::ReferencedContextImpl
public:
ReferencedContextImpl(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_isReferenced(isReferenced)
@@ -140,7 +140,7 @@ class XSecParser::LoPGPOwnerContext
public:
LoPGPOwnerContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -164,7 +164,7 @@ class XSecParser::DsPGPKeyPacketContext
public:
DsPGPKeyPacketContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -188,7 +188,7 @@ class XSecParser::DsPGPKeyIDContext
public:
DsPGPKeyIDContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -209,7 +209,7 @@ class XSecParser::DsPGPDataContext
{
public:
DsPGPDataContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -221,7 +221,7 @@ class XSecParser::DsPGPDataContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "PGPKeyID")
@@ -248,7 +248,7 @@ class XSecParser::DsX509CertificateContext
public:
DsX509CertificateContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
OUString & rValue)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rValue(rValue)
@@ -269,7 +269,7 @@ class XSecParser::DsX509SerialNumberContext
public:
DsX509SerialNumberContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
OUString & rValue)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rValue(rValue)
@@ -290,7 +290,7 @@ class XSecParser::DsX509IssuerNameContext
public:
DsX509IssuerNameContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
OUString & rValue)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rValue(rValue)
@@ -312,7 +312,7 @@ class XSecParser::DsX509IssuerSerialContext
public:
DsX509IssuerSerialContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
OUString & rIssuerName, OUString & rSerialNumber)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rX509IssuerName(rIssuerName)
@@ -321,7 +321,7 @@ class XSecParser::DsX509IssuerSerialContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "X509IssuerName")
@@ -349,7 +349,7 @@ class XSecParser::DsX509DataContext
public:
DsX509DataContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -360,7 +360,7 @@ class XSecParser::DsX509DataContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "X509IssuerSerial")
@@ -383,7 +383,7 @@ class XSecParser::DsKeyInfoContext
{
public:
DsKeyInfoContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -395,7 +395,7 @@ class XSecParser::DsKeyInfoContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "X509Data")
@@ -422,7 +422,7 @@ class XSecParser::DsSignatureValueContext
public:
DsSignatureValueContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -452,7 +452,7 @@ class XSecParser::DsDigestValueContext
public:
DsDigestValueContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
OUString & rValue)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rValue(rValue)
@@ -479,7 +479,7 @@ class XSecParser::DsDigestMethodContext
public:
DsDigestMethodContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_Int32 & rReferenceDigestID)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rReferenceDigestID(rReferenceDigestID)
@@ -518,7 +518,7 @@ class XSecParser::DsTransformContext
public:
DsTransformContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool & rIsC14N)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rIsC14N(rIsC14N)
@@ -548,7 +548,7 @@ class XSecParser::DsTransformsContext
public:
DsTransformsContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool & rIsC14N)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rIsC14N(rIsC14N)
@@ -556,7 +556,7 @@ class XSecParser::DsTransformsContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "Transform")
@@ -581,7 +581,7 @@ class XSecParser::DsReferenceContext
public:
DsReferenceContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -625,7 +625,7 @@ class XSecParser::DsReferenceContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "Transforms")
@@ -649,7 +649,7 @@ class XSecParser::DsSignatureMethodContext
{
public:
DsSignatureMethodContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -671,7 +671,7 @@ class XSecParser::DsSignedInfoContext
{
public:
DsSignedInfoContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -688,7 +688,7 @@ class XSecParser::DsSignedInfoContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "SignatureMethod")
@@ -712,7 +712,7 @@ class XSecParser::XadesEncapsulatedX509CertificateContext
public:
XadesEncapsulatedX509CertificateContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -739,7 +739,7 @@ class XSecParser::XadesCertificateValuesContext
{
public:
XadesCertificateValuesContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -751,7 +751,7 @@ class XSecParser::XadesCertificateValuesContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_XADES132 && rName == "EncapsulatedX509Certificate")
@@ -768,7 +768,7 @@ class XSecParser::XadesUnsignedSignaturePropertiesContext
{
public:
XadesUnsignedSignaturePropertiesContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -780,7 +780,7 @@ class XSecParser::XadesUnsignedSignaturePropertiesContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_XADES132 && rName == "CertificateValues")
@@ -811,7 +811,7 @@ class XSecParser::XadesUnsignedPropertiesContext
{
public:
XadesUnsignedPropertiesContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -823,7 +823,7 @@ class XSecParser::XadesUnsignedPropertiesContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_XADES132 && rName == "UnsignedSignatureProperties")
@@ -843,7 +843,7 @@ class XSecParser::LoSignatureLineIdContext
public:
LoSignatureLineIdContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
@@ -875,7 +875,7 @@ class XSecParser::LoSignatureLineValidImageContext
public:
LoSignatureLineValidImageContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
@@ -907,7 +907,7 @@ class XSecParser::LoSignatureLineInvalidImageContext
public:
LoSignatureLineInvalidImageContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
@@ -936,14 +936,14 @@ class XSecParser::LoSignatureLineContext
{
public:
LoSignatureLineContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_LO_EXT && rName == "SignatureLineId")
@@ -971,7 +971,7 @@ class XSecParser::XadesCertDigestContext
public:
XadesCertDigestContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
OUString & rDigestValue, sal_Int32 & rReferenceDigestID)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rDigestValue(rDigestValue)
@@ -980,7 +980,7 @@ class XSecParser::XadesCertDigestContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "DigestMethod")
@@ -1006,7 +1006,7 @@ class XSecParser::XadesCertContext
public:
XadesCertContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
@@ -1025,7 +1025,7 @@ class XSecParser::XadesCertContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_XADES132 && rName == "CertDigest")
@@ -1045,14 +1045,14 @@ class XSecParser::XadesSigningCertificateContext
{
public:
XadesSigningCertificateContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_XADES132 && rName == "Cert")
@@ -1071,7 +1071,7 @@ class XSecParser::XadesSigningTimeContext
public:
XadesSigningTimeContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
@@ -1100,7 +1100,7 @@ class XSecParser::XadesSignedSignaturePropertiesContext
{
public:
XadesSignedSignaturePropertiesContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
@@ -1113,7 +1113,7 @@ class XSecParser::XadesSignedSignaturePropertiesContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_XADES132 && rName == "SigningTime")
@@ -1138,7 +1138,7 @@ class XSecParser::XadesSignedPropertiesContext
{
public:
XadesSignedPropertiesContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
@@ -1151,7 +1151,7 @@ class XSecParser::XadesSignedPropertiesContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_XADES132 && rName == "SignedSignatureProperties")
@@ -1168,7 +1168,7 @@ class XSecParser::XadesQualifyingPropertiesContext
{
public:
XadesQualifyingPropertiesContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
@@ -1181,7 +1181,7 @@ class XSecParser::XadesQualifyingPropertiesContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_XADES132 && rName == "SignedProperties")
@@ -1204,7 +1204,7 @@ class XSecParser::DcDateContext
public:
DcDateContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
OUString & rValue)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rValue(rValue)
@@ -1225,7 +1225,7 @@ class XSecParser::DcDescriptionContext
public:
DcDescriptionContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
OUString & rValue)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
, m_rValue(rValue)
@@ -1249,7 +1249,7 @@ class XSecParser::DsSignaturePropertyContext
public:
DsSignaturePropertyContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
@@ -1285,7 +1285,7 @@ class XSecParser::DsSignaturePropertyContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DC && rName == "date")
@@ -1307,7 +1307,7 @@ class XSecParser::DsSignaturePropertiesContext
{
public:
DsSignaturePropertiesContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
bool const isReferenced)
: ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), isReferenced)
{
@@ -1320,7 +1320,7 @@ class XSecParser::DsSignaturePropertiesContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "SignatureProperty")
@@ -1336,7 +1336,7 @@ class XSecParser::DsObjectContext
{
public:
DsObjectContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
// init with "false" here - the Signature element can't be referenced by its child
: XSecParser::ReferencedContextImpl(rParser, std::move(pOldNamespaceMap), false)
{
@@ -1349,7 +1349,7 @@ class XSecParser::DsObjectContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "SignatureProperties")
@@ -1370,7 +1370,7 @@ class XSecParser::DsSignatureContext
{
public:
DsSignatureContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
@@ -1388,7 +1388,7 @@ class XSecParser::DsSignatureContext
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "SignedInfo")
@@ -1416,13 +1416,13 @@ class XSecParser::DsigSignaturesContext
{
public:
DsigSignaturesContext(XSecParser & rParser,
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap)
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
{
}
virtual std::unique_ptr<Context> CreateChildContext(
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
+ std::optional<SvXMLNamespaceMap> pOldNamespaceMap,
sal_uInt16 const nNamespace, OUString const& rName) override
{
if (nNamespace == XML_NAMESPACE_DS && rName == "Signature")
@@ -1436,7 +1436,7 @@ class XSecParser::DsigSignaturesContext
XSecParser::XSecParser(XMLSignatureHelper& rXMLSignatureHelper,
XSecController* pXSecController)
- : m_pNamespaceMap(new SvXMLNamespaceMap)
+ : m_pNamespaceMap(SvXMLNamespaceMap())
, m_pXSecController(pXSecController)
, m_rXMLSignatureHelper(rXMLSignatureHelper)
{
@@ -1498,7 +1498,7 @@ void SAL_CALL XSecParser::startElement(
const css::uno::Reference< css::xml::sax::XAttributeList >& xAttribs )
{
assert(m_pNamespaceMap);
- std::unique_ptr<SvXMLNamespaceMap> pRewindMap(
+ std::optional<SvXMLNamespaceMap> pRewindMap(
SvXMLImport::processNSAttributes(m_pNamespaceMap, nullptr, xAttribs));
OUString localName;
@@ -1527,7 +1527,6 @@ void SAL_CALL XSecParser::startElement(
}
m_ContextStack.push(std::move(pContext));
- assert(!pRewindMap);
try
{
diff --git a/xmlsecurity/source/helper/xsecparser.hxx b/xmlsecurity/source/helper/xsecparser.hxx
index 86f6154ddc93..fa2d4a8bc4ab 100644
--- a/xmlsecurity/source/helper/xsecparser.hxx
+++ b/xmlsecurity/source/helper/xsecparser.hxx
@@ -26,6 +26,7 @@
#include <xmloff/namespacemap.hxx>
+#include <optional>
#include <stack>
class XMLSignatureHelper;
@@ -98,7 +99,7 @@ private:
class DsigSignaturesContext;
std::stack<std::unique_ptr<Context>> m_ContextStack;
- std::unique_ptr<SvXMLNamespaceMap> m_pNamespaceMap;
+ std::optional<SvXMLNamespaceMap> m_pNamespaceMap;
/*
* the XSecController collaborating with XSecParser