xmlsecurity/source/helper/xmlsignaturehelper.cxx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-)
New commits: commit 24c20f1e1689fcae39c1b9809f107e8f7425944e Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Mon Feb 15 10:51:12 2016 +0100 xmlsecurity OOXML export: fix missing rels content-type This wasn't a problem when we signed MSO-produced documents that have these all the time, but it was a problem for LO-produced documents. We don't add an explicit content type for _xmlsignatures/origin.sigs, so need a default for the .sigs extension. Change-Id: Ic5d0647991c42f9f1ef3519986a4bd1b56de396d diff --git a/xmlsecurity/source/helper/xmlsignaturehelper.cxx b/xmlsecurity/source/helper/xmlsignaturehelper.cxx index 056a187..59f2cac 100644 --- a/xmlsecurity/source/helper/xmlsignaturehelper.cxx +++ b/xmlsecurity/source/helper/xmlsignaturehelper.cxx @@ -525,18 +525,23 @@ void XMLSignatureHelper::ExportSignatureContentTypes(css::uno::Reference<css::em return; } - // Append sigs to defaults, if it's not there already. + // Append rels and sigs to defaults, if it's not there already. uno::Sequence<beans::StringPair>& rDefaults = aContentTypeInfo[0]; + auto aDefaults = comphelper::sequenceToContainer< std::vector<beans::StringPair> >(rDefaults); auto it = std::find_if(rDefaults.begin(), rDefaults.end(), [](const beans::StringPair& rPair) { - return rPair.First == "sigs"; + return rPair.First == "rels"; }); if (it == rDefaults.end()) + aDefaults.push_back(beans::StringPair("rels", "application/vnd.openxmlformats-package.relationships+xml")); + + it = std::find_if(rDefaults.begin(), rDefaults.end(), [](const beans::StringPair& rPair) { - auto aDefaults = comphelper::sequenceToContainer< std::vector<beans::StringPair> >(rDefaults); + return rPair.First == "sigs"; + }); + if (it == rDefaults.end()) aDefaults.push_back(beans::StringPair("sigs", "application/vnd.openxmlformats-package.digital-signature-origin")); - rDefaults = comphelper::containerToSequence(aDefaults); - } + rDefaults = comphelper::containerToSequence(aDefaults); // Remove existing signature overrides. uno::Sequence<beans::StringPair>& rOverrides = aContentTypeInfo[1]; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits