[Libreoffice-commits] core.git: officecfg/registry scripting/Library_protocolhandler.mk scripting/source

Samuel Mehrbrodt (via logerrit) logerrit at kemper.freedesktop.org
Tue Nov 5 14:07:32 UTC 2019


 officecfg/registry/schema/org/openoffice/Office/Common.xcs |    1 +
 scripting/Library_protocolhandler.mk                       |    4 ++++
 scripting/source/protocolhandler/scripthandler.cxx         |    3 ++-
 3 files changed, 7 insertions(+), 1 deletion(-)

New commits:
commit 730e588b5ef31c72eccef23f359747f8248e5cf4
Author:     Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
AuthorDate: Tue Nov 5 09:17:41 2019 +0100
Commit:     Serge Krot (CIB) <Serge.Krot at cib.de>
CommitDate: Tue Nov 5 15:06:25 2019 +0100

    Fix option to disable macros
    
    so that it indeeds disables any macro execution.
    Before, you could still add macros to the toolbar and execute them from there (and probably many more places).
    Now, if this option is set, any macro will no longer be executed.
    This includes Javascript, Beanshell and Python scripts
    
    Change-Id: Icfa845e836782c8e1b670a67694f79a60ad74fad
    Reviewed-on: https://gerrit.libreoffice.org/82052
    Reviewed-by: Serge Krot (CIB) <Serge.Krot at cib.de>
    Tested-by: Serge Krot (CIB) <Serge.Krot at cib.de>

diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index 8f33efdb29cb..185cfe69f26e 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -2713,6 +2713,7 @@
         <prop oor:name="DisableMacrosExecution" oor:type="xs:boolean" oor:nillable="false">
           <info>
             <desc>Specifies whether the macro execution is disabled in general.
+            This will disable Basic, Beanshell, Javascript and Python scripts.
             If it is set to true, the "MacroSecurityLevel" is ignored. If it is
             set to false, the mentioned entry specified the level of macro
             security.</desc>
diff --git a/scripting/Library_protocolhandler.mk b/scripting/Library_protocolhandler.mk
index 3d243f7f849b..b14add0fe7a6 100644
--- a/scripting/Library_protocolhandler.mk
+++ b/scripting/Library_protocolhandler.mk
@@ -20,6 +20,10 @@ $(eval $(call gb_Library_use_external,protocolhandler,boost_headers))
 
 $(eval $(call gb_Library_use_sdk_api,protocolhandler))
 
+$(eval $(call gb_Library_use_custom_headers,protocolhandler,\
+    officecfg/registry \
+))
+
 $(eval $(call gb_Library_use_libraries,protocolhandler,\
 	comphelper \
 	cppu \
diff --git a/scripting/source/protocolhandler/scripthandler.cxx b/scripting/source/protocolhandler/scripthandler.cxx
index 1fbf0c8bbc46..ed960848d072 100644
--- a/scripting/source/protocolhandler/scripthandler.cxx
+++ b/scripting/source/protocolhandler/scripthandler.cxx
@@ -46,6 +46,7 @@
 #include <cppuhelper/exc_hlp.hxx>
 #include <cppuhelper/supportsservice.hxx>
 #include <framework/documentundoguard.hxx>
+#include <officecfg/Office/Common.hxx>
 
 #include <com/sun/star/uno/XComponentContext.hpp>
 #include <com/sun/star/uri/XUriReference.hpp>
@@ -70,7 +71,7 @@ namespace scripting_protocolhandler
 void SAL_CALL ScriptProtocolHandler::initialize(
     const css::uno::Sequence < css::uno::Any >& aArguments )
 {
-    if ( m_bInitialised )
+    if ( m_bInitialised || officecfg::Office::Common::Security::Scripting::DisableMacrosExecution::get() )
     {
         return ;
     }


More information about the Libreoffice-commits mailing list