You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by hd...@apache.org on 2014/07/09 17:51:49 UTC
svn commit: r1609208 - /openoffice/trunk/main/sfx2/source/appl/impldde.cxx
Author: hdu
Date: Wed Jul 9 15:51:49 2014
New Revision: 1609208
URL: http://svn.apache.org/r1609208
Log:
#i125226# some macro preferences are directly applicable to DDE servers
Modified:
openoffice/trunk/main/sfx2/source/appl/impldde.cxx
Modified: openoffice/trunk/main/sfx2/source/appl/impldde.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sfx2/source/appl/impldde.cxx?rev=1609208&r1=1609207&r2=1609208&view=diff
==============================================================================
--- openoffice/trunk/main/sfx2/source/appl/impldde.cxx (original)
+++ openoffice/trunk/main/sfx2/source/appl/impldde.cxx Wed Jul 9 15:51:49 2014
@@ -49,6 +49,8 @@
#include <svl/svdde.hxx>
#include <sot/formats.hxx>
+#include <unotools/securityoptions.hxx>
+
#define DDELINK_COLD 0
#define DDELINK_HOT 1
@@ -255,13 +257,15 @@ sal_Bool SvDDEObject::Connect( SvBaseLin
}
#if defined(WNT)
- bool bForbidden = bInWinExec;
- // TODO: also check the security level
- static const char* aBadServers[] = { "cmd" };
+ // check the suitability of starting the DDE server
+ const SvtSecurityOptions aSecOpts;
+ bool bForbidden = (aSecOpts.GetMacroSecurityLevel() != eNEVER_EXECUTE);
+ bForbidden |= (bInWinExec != sal_False);
+ static const char* aBadServers[] = { "cmd", "rundll32" };
for( int i = 0; i < sizeof(aBadServers)/sizeof(*aBadServers); ++i)
- bForbidden |= (sServer.CompareIgnoreCaseToAscii( aBadServers[i]) == COMPARE_EQUAL);
+ bForbidden |= (sServer.CompareIgnoreCaseToAscii( aBadServers[i]) == COMPARE_EQUAL );
- // try to start the DDE server if it is not there
+ // try to start the DDE server if it is not there already
if( !bForbidden )
{
ByteString aCmdLine( sServer, RTL_TEXTENCODING_ASCII_US );