summaryrefslogtreecommitdiff
path: root/sc/source/filter/oox
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2014-04-08 13:49:42 +0200
committerEike Rathke <erack@redhat.com>2014-04-08 14:44:26 +0200
commit3974d6a2d96ec3facf529a4e54a2db63783961dd (patch)
treef2da545c50f0d53578b078749861da29588b5f14 /sc/source/filter/oox
parent1c772b16829364ce6a98f3b9584fe68f8f93f7d7 (diff)
read the defined password attributes
Change-Id: I67be85bdcfb5c03349daeff69fbb09291ce4a8e3
Diffstat (limited to 'sc/source/filter/oox')
-rw-r--r--sc/source/filter/oox/worksheetsettings.cxx10
1 files changed, 8 insertions, 2 deletions
diff --git a/sc/source/filter/oox/worksheetsettings.cxx b/sc/source/filter/oox/worksheetsettings.cxx
index 01804dc52fe5..18f3da5b39cc 100644
--- a/sc/source/filter/oox/worksheetsettings.cxx
+++ b/sc/source/filter/oox/worksheetsettings.cxx
@@ -143,9 +143,15 @@ void WorksheetSettings::importProtectedRange( const AttributeList& rAttribs )
aProt.maSecurityDescriptorXML = rAttribs.getString( XML_securityDescriptor, OUString());
/* XXX ECMA-376/OOXML or ISO/IEC 29500 do not even mention a 'password'
* attribute here (or anywhere else), but this is what Excel2013 writes,
- * similar to BIFF. OOXML XMLschema and ISO/IEC 29500 instead define
- * 'algorithmName', 'hashValue', 'saltValue' and 'spinCount'. */
+ * similar to BIFF, if the original file was a BIFF file. OOXML XMLschema
+ * and ISO/IEC 29500 instead define 'algorithmName', 'hashValue',
+ * 'saltValue' and 'spinCount' that are written if the protection was newly
+ * created. */
aProt.mnPasswordVerifier = rAttribs.getIntegerHex( XML_password, 0);
+ aProt.maAlgorithmName = rAttribs.getString( XML_algorithmName, OUString());
+ aProt.maHashValue = rAttribs.getString( XML_hashValue, OUString());
+ aProt.maSaltValue = rAttribs.getString( XML_saltValue, OUString());
+ aProt.mnSpinCount = rAttribs.getUnsigned( XML_spinCount, 0);
OUString aRefs( rAttribs.getString( XML_sqref, OUString()));
if (!aRefs.isEmpty())
{