dbaccess/source/core/dataaccess/databasedocument.cxx |   91 -------------------
 1 file changed, 1 insertion(+), 90 deletions(-)

New commits:
commit 49b7bbf2147714a1ff433f3da02dd1c772710943
Author:     Samuel Mehrbrodt <[email protected]>
AuthorDate: Mon Apr 20 16:43:48 2020 +0200
Commit:     Thorsten Behrens <[email protected]>
CommitDate: Mon Apr 20 22:17:08 2020 +0200

    Revert "Related tdf#97694 Preserve macro signatures in Base"
    
    This reverts commit 8a7d8eeeb0ea75881913b7c672cb4bc5d8893114.
    
    Change-Id: Iaa15a4babd321f71aaed14fbb30f59947b5d23a8
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92579
    Tested-by: Thorsten Behrens <[email protected]>
    Reviewed-by: Thorsten Behrens <[email protected]>

diff --git a/dbaccess/source/core/dataaccess/databasedocument.cxx 
b/dbaccess/source/core/dataaccess/databasedocument.cxx
index cc571a0a6457..eb20c56ed849 100644
--- a/dbaccess/source/core/dataaccess/databasedocument.cxx
+++ b/dbaccess/source/core/dataaccess/databasedocument.cxx
@@ -46,8 +46,6 @@
 #include <com/sun/star/io/XTruncate.hpp>
 #include <com/sun/star/lang/WrappedTargetRuntimeException.hpp>
 #include <com/sun/star/script/provider/theMasterScriptProviderFactory.hpp>
-#include <com/sun/star/security/DocumentDigitalSignatures.hpp>
-#include <com/sun/star/security/XDocumentDigitalSignatures.hpp>
 #include <com/sun/star/sdb/DatabaseContext.hpp>
 #include <com/sun/star/sdb/application/XDatabaseDocumentUI.hpp>
 #include <com/sun/star/task/XStatusIndicator.hpp>
@@ -72,7 +70,7 @@
 #include <comphelper/numberedcollection.hxx>
 #include <comphelper/property.hxx>
 #include <comphelper/storagehelper.hxx>
-#include <comphelper/processfactory.hxx>
+
 #include <connectivity/dbtools.hxx>
 
 #include <cppuhelper/exc_hlp.hxx>
@@ -80,9 +78,7 @@
 #include <framework/titlehelper.hxx>
 #include <unotools/saveopt.hxx>
 #include <tools/debug.hxx>
-#include <unotools/tempfile.hxx>
 #include <tools/diagnose_ex.h>
-#include <osl/file.hxx>
 #include <osl/diagnose.h>
 #include <vcl/errcode.hxx>
 
@@ -1029,22 +1025,6 @@ void ODatabaseDocument::impl_storeAs_throw( const 
OUString& _rURL, const ::comph
         _rGuard.reset();
     }
 
-    bool bTryToPreserveScriptSignature = false;
-    utl::TempFile aTempFile;
-    aTempFile.EnableKillingFile();
-    OUString aTmpFileURL = aTempFile.GetURL();
-    if (m_pImpl->getScriptingSignatureState() == SignatureState::OK
-        || m_pImpl->getScriptingSignatureState() == 
SignatureState::NOTVALIDATED
-        || m_pImpl->getScriptingSignatureState() == SignatureState::INVALID)
-    {
-        bTryToPreserveScriptSignature = true;
-        // We need to first save the file (which removes the macro signature), 
then add the macro signature again.
-        // For that, we need a temporary copy of the original file.
-        osl::File::RC rc = osl::File::copy(m_pImpl->getDocFileLocation(), 
aTmpFileURL);
-        if (rc != osl::FileBase::E_None)
-            throw uno::RuntimeException("Could not create temp file");
-    }
-
     Reference< XStorage > xNewRootStorage;
         // will be non-NULL if our storage changed
 
@@ -1097,75 +1077,6 @@ void ODatabaseDocument::impl_storeAs_throw( const 
OUString& _rURL, const ::comph
         Sequence< PropertyValue > aMediaDescriptor( 
lcl_appendFileNameToDescriptor( _rArguments, _rURL ) );
         impl_storeToStorage_throw( xCurrentStorage, aMediaDescriptor, _rGuard 
);
 
-        // Preserve script signature if the script has not changed
-        if (bTryToPreserveScriptSignature)
-        {
-            uno::Reference<security::XDocumentDigitalSignatures> xDDSigns;
-            try
-            {
-                OUString aODFVersion(
-                    
comphelper::OStorageHelper::GetODFVersionFromStorage(xCurrentStorage));
-                xDDSigns = 
security::DocumentDigitalSignatures::createWithVersion(
-                    comphelper::getProcessComponentContext(), aODFVersion);
-
-                const OUString aScriptSignName
-                    = 
xDDSigns->getScriptingContentSignatureDefaultStreamName();
-
-                if (!aScriptSignName.isEmpty())
-                {
-                    Reference<XStorage> xReadOrig
-                        = 
comphelper::OStorageHelper::GetStorageOfFormatFromURL(
-                            ZIP_STORAGE_FORMAT_STRING, aTmpFileURL, 
ElementModes::READ);
-                    if (!xReadOrig.is())
-                        throw uno::RuntimeException("Could not read " + 
aTmpFileURL);
-                    uno::Reference<embed::XStorage> xMetaInf
-                        = xReadOrig->openStorageElement("META-INF", 
embed::ElementModes::READ);
-
-                    Reference<XStorage> xTarget
-                        = 
comphelper::OStorageHelper::GetStorageOfFormatFromURL(
-                            ZIP_STORAGE_FORMAT_STRING, _rURL, 
ElementModes::READWRITE);
-                    if (!xTarget.is())
-                        throw uno::RuntimeException("Could not read " + _rURL);
-                    uno::Reference<embed::XStorage> xTargetMetaInf
-                        = xTarget->openStorageElement("META-INF", 
embed::ElementModes::READWRITE);
-
-                    if (xMetaInf.is() && xTargetMetaInf.is())
-                    {
-                        xMetaInf->copyElementTo(aScriptSignName, 
xTargetMetaInf, aScriptSignName);
-
-                        uno::Reference<embed::XTransactedObject> 
xTransact(xTargetMetaInf,
-                                                                           
uno::UNO_QUERY);
-                        if (xTransact.is())
-                            xTransact->commit();
-
-                        xTargetMetaInf->dispose();
-
-                        // now check the copied signature
-                        uno::Sequence<security::DocumentSignatureInformation> 
aInfos
-                            = xDDSigns->verifyScriptingContentSignatures(
-                                xTarget, uno::Reference<io::XInputStream>());
-                        SignatureState nState = 
DocumentSignatures::getSignatureState(aInfos);
-                        if (nState == SignatureState::OK || nState == 
SignatureState::NOTVALIDATED
-                            || nState == SignatureState::PARTIAL_OK)
-                        {
-                            // commit the ZipStorage from target medium
-                            xTransact.set(xTarget, uno::UNO_QUERY);
-                            if (xTransact.is())
-                                xTransact->commit();
-                        }
-                        else
-                        {
-                            SAL_WARN("dbaccess", "An invalid signature was 
copied!");
-                        }
-                    }
-                }
-            }
-            catch (uno::Exception&)
-            {
-                SAL_WARN("dbaccess", "Preserving macro signature failed!");
-            }
-        }
-
         // success - tell our impl
         m_pImpl->setDocFileLocation( _rURL );
         m_pImpl->setResource( _rURL, aMediaDescriptor );
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to