diff options
author | Michael Stahl <michael.stahl@allotropia.de> | 2024-01-10 20:37:50 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2024-01-20 19:25:18 +0100 |
commit | d3b4ea25f065d3c722c16735beb3556016aac0f2 (patch) | |
tree | 2110f24071a0555b57d98fd44dab247e737bdb5d /schema/libreoffice | |
parent | ef57f4d7d61e4da115f16388c57732ff8a9bd355 (diff) |
tdf#105844 add test for ODF wholesome encryption with macro signature
... plus manifest schema extension.
Change-Id: I73721db8620e97bd58556f9a71afcb0a33f6c7e8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161898
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 4d6e9d5e155da1dde05233eb87691e2a454162f6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161866
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Diffstat (limited to 'schema/libreoffice')
-rw-r--r-- | schema/libreoffice/OpenDocument-v1.3+libreoffice-manifest-schema.rng | 70 |
1 files changed, 49 insertions, 21 deletions
diff --git a/schema/libreoffice/OpenDocument-v1.3+libreoffice-manifest-schema.rng b/schema/libreoffice/OpenDocument-v1.3+libreoffice-manifest-schema.rng index a2631facc7f5..77b87101b04a 100644 --- a/schema/libreoffice/OpenDocument-v1.3+libreoffice-manifest-schema.rng +++ b/schema/libreoffice/OpenDocument-v1.3+libreoffice-manifest-schema.rng @@ -14,7 +14,9 @@ --> <!-- https://issues.oasis-open.org/browse/OFFICE-2153 --> -<rng:grammar xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0" xmlns:rng="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> +<rng:grammar xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0" +xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" +xmlns:rng="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <rng:start> <rng:choice> <rng:ref name="manifest"/> @@ -103,17 +105,19 @@ </rng:element> </rng:define> <rng:define name="encryption-data-attlist"> - <rng:interleave> - <rng:attribute name="manifest:checksum-type"> - <rng:choice> - <rng:value>SHA1/1K</rng:value> - <rng:ref name="anyURI"/> - </rng:choice> - </rng:attribute> - <rng:attribute name="manifest:checksum"> - <rng:ref name="base64Binary"/> - </rng:attribute> - </rng:interleave> + <rng:optional> + <rng:interleave> + <rng:attribute name="manifest:checksum-type"> + <rng:choice> + <rng:value>SHA1/1K</rng:value> + <rng:ref name="anyURI"/> + </rng:choice> + </rng:attribute> + <rng:attribute name="manifest:checksum"> + <rng:ref name="base64Binary"/> + </rng:attribute> + </rng:interleave> + </rng:optional> </rng:define> <rng:define name="file-entry"> <rng:element name="manifest:file-entry"> @@ -165,18 +169,39 @@ <rng:value>PGP</rng:value> </rng:attribute> <rng:interleave> - <rng:attribute name="manifest:key-derivation-name"> - <rng:choice> - <rng:value>PBKDF2</rng:value> - <rng:ref name="anyURI"/> - </rng:choice> - </rng:attribute> + <rng:choice> + <rng:interleave> + <rng:attribute name="manifest:key-derivation-name"> + <rng:choice> + <rng:value>PBKDF2</rng:value> + <rng:ref name="anyURI"/> + </rng:choice> + </rng:attribute> + <rng:attribute name="manifest:iteration-count"> + <rng:ref name="nonNegativeInteger"/> + </rng:attribute> + </rng:interleave> + <rng:interleave> + <rng:attribute name="manifest:key-derivation-name"> + <!-- + <rng:value>urn:oasis:names:tc:opendocument:xmlns:manifest:1.5#argon2id</rng:value> + --> + <rng:value>urn:org:documentfoundation:names:experimental:office:manifest:argon2id</rng:value> + </rng:attribute> + <rng:attribute name="loext:argon2-iterations"> + <rng:ref name="positiveInteger"/> + </rng:attribute> + <rng:attribute name="loext:argon2-memory"> + <rng:ref name="positiveInteger"/> + </rng:attribute> + <rng:attribute name="loext:argon2-lanes"> + <rng:ref name="positiveInteger"/> + </rng:attribute> + </rng:interleave> + </rng:choice> <rng:attribute name="manifest:salt"> <rng:ref name="base64Binary"/> </rng:attribute> - <rng:attribute name="manifest:iteration-count"> - <rng:ref name="nonNegativeInteger"/> - </rng:attribute> <rng:optional> <rng:attribute name="manifest:key-size"> <rng:ref name="nonNegativeInteger"/> @@ -214,6 +239,9 @@ <rng:define name="nonNegativeInteger"> <rng:data type="nonNegativeInteger"/> </rng:define> + <rng:define name="positiveInteger"> + <rng:data type="positiveInteger"/> + </rng:define> <rng:define name="start-key-generation"> <rng:element name="manifest:start-key-generation"> <rng:ref name="start-key-generation-attlist"/> |