Most elegant way to disable all BASIC functionality?
Noel Power
nopower at suse.com
Mon Feb 27 08:46:37 PST 2012
On 27/02/12 16:02, Andras Timar wrote:
> Hi,
>
> 2012/2/27 Eike Rathke<erack at redhat.com>:
>> If this is only about no BASIC should be executed, there's the
>> configuration setting behind Tools->Options->Security, Macro Security.
>> If Security Level is set to Very High and no paths are added to Trusted
>> Sources, then no BASIC is executed at all (which btw I strongly
>> recommend as a developer loading bug documents from external sources).
>> So maybe hard-wiring that setting for the App-Store and not offer the
>> dialog would be enough?
> When I set Macro Security Very High, I can still run the Euro
> Converter Wizard (written in Basic).
I haven't been good at reading mail today and just saw this last message
( I promise to read back the thread later ) but regarding the Euro
converter wizard isn't that written in Java ? Anyway regardless I
suppose if it is running BASIC libraries then it is bypassing that Macro
security stuff by calling basic directly, iirc the macro security stuff
operates at the level of user interaction and the event handling
framework so its still possible for core code to call BASIC directly.
Anyway it just goes to prove that to be absolutely sure we should just
clobber BASIC directly. I think that should be simple enough from a
runtime pov, there are just a couple of entry points to do with
compiling/running the BASIC code [*], making all/some of them ( at
compile-time ) no-ops might be the simplest way to disable things. iirc
there are quite some interdependencies between at least ( basctl,
framework, xmlscript, scripting & ( others ?) that would make the more
agreeable option of not building or delivering the basic module a little
harder to achieve without some deeper changes ( but we could look into
what is involved with that )
Noel
[*]
SbModule::Compile ( I would guess if we force that to fail/do-nothing
will ensure no basic runs )
SbMethod::Call
StarBASIC::Call
SbModule::Run
StarBASIC::Call
More information about the LibreOffice
mailing list