summaryrefslogtreecommitdiff
path: root/basic
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2016-03-08 15:04:58 +0100
committerStephan Bergmann <sbergman@redhat.com>2016-03-08 15:06:39 +0100
commit29cb1f192312d395067b5024e40aea3388f7674d (patch)
tree503a411c69cf0bc5c33a7978d19784ac1d6cd4ea /basic
parent6326d76101857e94f241dc671c3e3a2a7bf9b031 (diff)
Remove ancient StarPortal leftovers
No UNO bridge has a "user" token in its description anyway, so needsSecurityRestrictions always returned false. Change-Id: Ibc3aa25212a2e8b245c13578fa29582be42791e6
Diffstat (limited to 'basic')
-rw-r--r--basic/source/inc/runtime.hxx7
-rw-r--r--basic/source/runtime/iosys.cxx97
-rw-r--r--basic/source/runtime/methods.cxx49
-rw-r--r--basic/source/runtime/runtime.cxx7
4 files changed, 0 insertions, 160 deletions
diff --git a/basic/source/inc/runtime.hxx b/basic/source/inc/runtime.hxx
index aef620b16b7e..94e2aeb72943 100644
--- a/basic/source/inc/runtime.hxx
+++ b/basic/source/inc/runtime.hxx
@@ -435,13 +435,6 @@ inline void checkArithmeticOverflow( SbxVariable* pVar )
StarBASIC* GetCurrentBasic( StarBASIC* pRTBasic );
-// Get information if security restrictions should be
-// used (File IO based on UCB, no RTL function SHELL
-// no DDE functionality, no DLLCALL) in basic because
-// of portal "virtual" users (portal user != UNIX user)
-// (Implemented in iosys.cxx)
-bool needSecurityRestrictions();
-
// Returns true if UNO is available, otherwise the old
// file system implementation has to be used
// (Implemented in iosys.cxx)
diff --git a/basic/source/runtime/iosys.cxx b/basic/source/runtime/iosys.cxx
index 46c90bed8386..8e72688392fc 100644
--- a/basic/source/runtime/iosys.cxx
+++ b/basic/source/runtime/iosys.cxx
@@ -23,7 +23,6 @@
#include <vcl/button.hxx>
#include <vcl/msgbox.hxx>
#include <vcl/svapp.hxx>
-#include <osl/security.h>
#include <osl/file.hxx>
#include <tools/urlobj.hxx>
#include <osl/mutex.hxx>
@@ -175,102 +174,6 @@ void SbiStream::MapError()
}
}
-// TODO: Code is copied from daemons2/source/uno/asciiEncoder.cxx
-
-OUString findUserInDescription( const OUString& aDescription )
-{
- OUString user;
-
- sal_Int32 index;
- sal_Int32 lastIndex = 0;
-
- do
- {
- index = aDescription.indexOf((sal_Unicode) ',', lastIndex);
- OUString token = (index == -1) ? aDescription.copy(lastIndex) : aDescription.copy(lastIndex, index - lastIndex);
-
- lastIndex = index + 1;
-
- sal_Int32 eindex = token.indexOf((sal_Unicode)'=');
- OUString left = token.copy(0, eindex).toAsciiLowerCase().trim();
- OUString right = INetURLObject::decode( token.copy(eindex + 1).trim(),
- INetURLObject::DECODE_WITH_CHARSET );
-
- if( left == "user" )
- {
- user = right;
- break;
- }
- }
- while(index != -1);
-
- return user;
-}
-
-bool needSecurityRestrictions()
-{
- static bool bNeedInit = true;
- static bool bRetVal = true;
-
- if( bNeedInit )
- {
- bNeedInit = false;
-
- // Get system user to compare to portal user
- oslSecurity aSecurity = osl_getCurrentSecurity();
- OUString aSystemUser;
- bool bRet = osl_getUserName( aSecurity, &aSystemUser.pData );
- osl_freeSecurityHandle(aSecurity);
- if( !bRet )
- {
- // No valid security! -> Secure mode!
- return true;
- }
-
- Reference< XComponentContext > xContext = comphelper::getProcessComponentContext();
- Reference< XBridgeFactory2 > xBridgeFac( BridgeFactory::create(xContext) );
-
- Sequence< Reference< XBridge > > aBridgeSeq = xBridgeFac->getExistingBridges();
- sal_Int32 nBridgeCount = aBridgeSeq.getLength();
-
- if( nBridgeCount == 0 )
- {
- // No bridges -> local
- bRetVal = false;
- return bRetVal;
- }
-
- // Iterate through all bridges to find (portal) user property
- const Reference< XBridge >* pBridges = aBridgeSeq.getConstArray();
- bRetVal = false; // Now only sal_True if user different from portal user is found
- sal_Int32 i;
- for( i = 0 ; i < nBridgeCount ; i++ )
- {
- const Reference< XBridge >& rxBridge = pBridges[ i ];
- OUString aDescription = rxBridge->getDescription();
- OUString aPortalUser = findUserInDescription( aDescription );
- if( !aPortalUser.isEmpty() )
- {
- // User Found, compare to system user
- if( aPortalUser == aSystemUser )
- {
- // Same user -> system security is ok, bRetVal stays FALSE
- break;
- }
- else
- {
- // Different user -> Secure mode!
- bRetVal = true;
- break;
- }
- }
- }
- // No user found or PortalUser != SystemUser -> Secure mode! (Keep default value)
- }
-
- return bRetVal;
-}
-
// Returns sal_True if UNO is available, otherwise the old file
// system implementation has to be used
// #89378 New semantic: Don't just ask for UNO but for UCB
diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx
index 97e1eca19049..6e83e1cbbabc 100644
--- a/basic/source/runtime/methods.cxx
+++ b/basic/source/runtime/methods.cxx
@@ -3602,13 +3602,6 @@ RTLFUNC(Shell)
(void)pBasic;
(void)bWrite;
- // No shell command for "virtual" portal users
- if( needSecurityRestrictions() )
- {
- StarBASIC::Error(ERRCODE_BASIC_NOT_IMPLEMENTED);
- return;
- }
-
sal_Size nArgCount = rPar.Count();
if ( nArgCount < 2 || nArgCount > 5 )
{
@@ -3964,13 +3957,6 @@ RTLFUNC(DDEInitiate)
(void)pBasic;
(void)bWrite;
- // No DDE for "virtual" portal users
- if( needSecurityRestrictions() )
- {
- StarBASIC::Error(ERRCODE_BASIC_NOT_IMPLEMENTED);
- return;
- }
-
int nArgs = (int)rPar.Count();
if ( nArgs != 3 )
{
@@ -3998,13 +3984,6 @@ RTLFUNC(DDETerminate)
(void)pBasic;
(void)bWrite;
- // No DDE for "virtual" portal users
- if( needSecurityRestrictions() )
- {
- StarBASIC::Error(ERRCODE_BASIC_NOT_IMPLEMENTED);
- return;
- }
-
rPar.Get(0)->PutEmpty();
int nArgs = (int)rPar.Count();
if ( nArgs != 2 )
@@ -4026,13 +4005,6 @@ RTLFUNC(DDETerminateAll)
(void)pBasic;
(void)bWrite;
- // No DDE for "virtual" portal users
- if( needSecurityRestrictions() )
- {
- StarBASIC::Error(ERRCODE_BASIC_NOT_IMPLEMENTED);
- return;
- }
-
rPar.Get(0)->PutEmpty();
int nArgs = (int)rPar.Count();
if ( nArgs != 1 )
@@ -4054,13 +4026,6 @@ RTLFUNC(DDERequest)
(void)pBasic;
(void)bWrite;
- // No DDE for "virtual" portal users
- if( needSecurityRestrictions() )
- {
- StarBASIC::Error(ERRCODE_BASIC_NOT_IMPLEMENTED);
- return;
- }
-
int nArgs = (int)rPar.Count();
if ( nArgs != 3 )
{
@@ -4087,13 +4052,6 @@ RTLFUNC(DDEExecute)
(void)pBasic;
(void)bWrite;
- // No DDE for "virtual" portal users
- if( needSecurityRestrictions() )
- {
- StarBASIC::Error(ERRCODE_BASIC_NOT_IMPLEMENTED);
- return;
- }
-
rPar.Get(0)->PutEmpty();
int nArgs = (int)rPar.Count();
if ( nArgs != 3 )
@@ -4116,13 +4074,6 @@ RTLFUNC(DDEPoke)
(void)pBasic;
(void)bWrite;
- // No DDE for "virtual" portal users
- if( needSecurityRestrictions() )
- {
- StarBASIC::Error(ERRCODE_BASIC_NOT_IMPLEMENTED);
- return;
- }
-
rPar.Get(0)->PutEmpty();
int nArgs = (int)rPar.Count();
if ( nArgs != 4 )
diff --git a/basic/source/runtime/runtime.cxx b/basic/source/runtime/runtime.cxx
index e6dfa205bb03..239d707e1b60 100644
--- a/basic/source/runtime/runtime.cxx
+++ b/basic/source/runtime/runtime.cxx
@@ -1285,13 +1285,6 @@ void SbiRuntime::DllCall
SbxDataType eResType, // return value
bool bCDecl ) // true: according to C-conventions
{
- // No DllCall for "virtual" portal users
- if( needSecurityRestrictions() )
- {
- StarBASIC::Error(ERRCODE_BASIC_NOT_IMPLEMENTED);
- return;
- }
-
// NOT YET IMPLEMENTED
SbxVariable* pRes = new SbxVariable( eResType );