History log of /trunk/main/oox/source/core/encryption.cxx (Results 1 - 4 of 4)
Revision Date Author Comments
# 244f2bcc 17-Mar-2024 Damjan Jovanovic

Don't allow calls to OpenSSLCipher::blockSize() before the cipher
is initialized.

Patch by: me


# 42c0a318 17-Mar-2024 Damjan Jovanovic

getFlag() isn't happy on Visual Studio 2008, hack it to work.

Patch by: me


# f65b4e32 17-Mar-2024 Damjan Jovanovic

Use &v[0] instead of v.data() for "::std::vector v", because Visual Studio 2008
doesn't have the ::std::vector::data() method in its broken/incomplete STL.

Patch by: me


# 506fa58b 02-Mar-2024 Damjan Jovanovic

Implement the (MS Office 2010+) OOXML "Agile encryption" support, so that we
can open such password-protected OOXML files.

Adds all the Agile encryption XML tokens and namespaces, and pa

Implement the (MS Office 2010+) OOXML "Agile encryption" support, so that we
can open such password-protected OOXML files.

Adds all the Agile encryption XML tokens and namespaces, and parses the XML
from EncryptionInfo stream, gets OpenOffice to recognize the file is encrypted
and ask for a password, and successfully decrypts the file if password is
correct.

Also a number of other fixes and improvements:
- Sorted main/oox/source/token/tokens.txt so it's in alphabetical order
(wrong order might have broken certain tokens?).
- Refactored how OOXML encryption is generally handled. It's now in its
own file.
- Added logging to the FilterDetect class. It logs to the office-wide default
logger.
- Added a flush() method to the BinaryXOutputStream class.
- Changed FilterDetect to use XMultiComponentFactory and XComponentContext
instead of the deprecated XMultiServiceFactory.
- Error handling was generally improved.
- Exception safety and some memory safety (::std::vector instead of new[])
in all the new code. Memory leaks should not be possible.

Much of the code involved in the decryption was ported from the excellent
Apache POI project, so it's been credited in our NOTICE file.

Patch by: me

show more ...