summaryrefslogtreecommitdiff
path: root/svl
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2013-05-14 19:07:34 +0200
committerStephan Bergmann <sbergman@redhat.com>2013-05-14 19:14:34 +0200
commit03535b91605ae0cfdf3be5eb2dfdf5de5374bdb2 (patch)
tree20d1abc873bd805b28d94004f6d20874b5fc4721 /svl
parent09c20b2f623e2271a3ab9eb82c2419a8951320c1 (diff)
Remove obsolete RestrictedPath env var support
Change-Id: Ia4ea7d60d7b69c863c1e891887060265e73e1cb6
Diffstat (limited to 'svl')
-rw-r--r--svl/Library_svl.mk2
-rw-r--r--svl/source/misc/folderrestriction.cxx98
-rw-r--r--svl/source/misc/restrictedpaths.cxx204
3 files changed, 0 insertions, 304 deletions
diff --git a/svl/Library_svl.mk b/svl/Library_svl.mk
index b97387d73d84..922893eba8b2 100644
--- a/svl/Library_svl.mk
+++ b/svl/Library_svl.mk
@@ -112,7 +112,6 @@ $(eval $(call gb_Library_add_exception_objects,svl,\
$(if $(filter DESKTOP,$(BUILD_TYPE)),\
svl/source/misc/documentlockfile) \
svl/source/misc/filenotation \
- svl/source/misc/folderrestriction \
svl/source/misc/fstathelper \
svl/source/misc/getstringresource \
svl/source/misc/inethist \
@@ -120,7 +119,6 @@ $(eval $(call gb_Library_add_exception_objects,svl,\
svl/source/misc/lngmisc \
svl/source/misc/lockfilecommon \
svl/source/misc/ownlist \
- svl/source/misc/restrictedpaths \
svl/source/misc/sharecontrolfile \
svl/source/misc/strmadpt \
svl/source/misc/urihelper \
diff --git a/svl/source/misc/folderrestriction.cxx b/svl/source/misc/folderrestriction.cxx
deleted file mode 100644
index 17562510cc44..000000000000
--- a/svl/source/misc/folderrestriction.cxx
+++ /dev/null
@@ -1,98 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-
-#include <svl/folderrestriction.hxx>
-#include "osl/process.h"
-#include "tools/urlobj.hxx"
-#include "unotools/localfilehelper.hxx"
-
-//-----------------------------------------------------------------------------
-
-static void convertStringListToUrls (
- const OUString& _rColonSeparatedList, ::std::vector< String >& _rTokens, bool _bFinalSlash )
-{
- const sal_Unicode cSeparator =
-#if defined(WNT)
- ';'
-#else
- ':'
-#endif
- ;
-
- sal_Int32 nIndex = 0;
- do
- {
- // the current token in the list
- OUString sCurrentToken = _rColonSeparatedList.getToken( 0, cSeparator, nIndex );
- if (!sCurrentToken.isEmpty())
- {
- INetURLObject aCurrentURL;
-
- OUString sURL;
- if ( ::utl::LocalFileHelper::ConvertPhysicalNameToURL( sCurrentToken, sURL ) )
- aCurrentURL = INetURLObject( sURL );
- else
- {
- // smart URL parsing, assuming FILE protocol
- aCurrentURL = INetURLObject( sCurrentToken, INET_PROT_FILE );
- }
-
- if ( _bFinalSlash )
- aCurrentURL.setFinalSlash( );
- else
- aCurrentURL.removeFinalSlash( );
- _rTokens.push_back( aCurrentURL.GetMainURL( INetURLObject::NO_DECODE ) );
- }
- }
- while ( nIndex >= 0 );
-}
-
-/** retrieves the value of an environment variable
- @return <TRUE/> if and only if the retrieved string value is not empty
-*/
-static bool getEnvironmentValue( const sal_Char* _pAsciiEnvName, OUString& _rValue )
-{
- _rValue = OUString();
- OUString sEnvName = OUString::createFromAscii( _pAsciiEnvName );
- osl_getEnvironment( sEnvName.pData, &_rValue.pData );
- return !_rValue.isEmpty();
-}
-
-//-----------------------------------------------------------------------------
-
-namespace svt
-{
-
- void getUnrestrictedFolders( ::std::vector< String >& _rFolders )
- {
- _rFolders.resize( 0 );
- OUString sRestrictedPathList;
- if ( getEnvironmentValue( "RestrictedPath", sRestrictedPathList ) )
- {
- // append a final slash. This ensures that when we later on check
- // for unrestricted paths, we don't allow paths like "/home/user35" just because
- // "/home/user3" is allowed - with the final slash, we make it "/home/user3/".
- convertStringListToUrls( sRestrictedPathList, _rFolders, true );
- }
- }
-
-} // namespace svt
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svl/source/misc/restrictedpaths.cxx b/svl/source/misc/restrictedpaths.cxx
deleted file mode 100644
index c1b7f863913f..000000000000
--- a/svl/source/misc/restrictedpaths.cxx
+++ /dev/null
@@ -1,204 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <svl/restrictedpaths.hxx>
-
-#include <algorithm>
-#include <osl/process.h>
-#include <tools/urlobj.hxx>
-#include <unotools/localfilehelper.hxx>
-#include <unotools/syslocale.hxx>
-
-namespace svt
-{
- namespace
- {
- // ----------------------------------------------------------------
- /** retrieves the value of an environment variable
- @return <TRUE/> if and only if the retrieved string value is not empty
- */
- bool lcl_getEnvironmentValue( const sal_Char* _pAsciiEnvName, OUString& _rValue )
- {
- _rValue = OUString();
- OUString sEnvName = OUString::createFromAscii( _pAsciiEnvName );
- osl_getEnvironment( sEnvName.pData, &_rValue.pData );
- return !_rValue.isEmpty();
- }
-
- //-----------------------------------------------------------------
- void lcl_convertStringListToUrls( const OUString& _rColonSeparatedList, ::std::vector< OUString >& _rTokens )
- {
- const sal_Unicode cSeparator =
- #if defined(WNT)
- ';'
- #else
- ':'
- #endif
- ;
- sal_Int32 nIndex = 0;
- do
- {
- // the current token in the list
- OUString sCurrentToken = _rColonSeparatedList.getToken( 0, cSeparator, nIndex );
- if ( !sCurrentToken.isEmpty() )
- {
- INetURLObject aCurrentURL;
-
- OUString sURL;
- if ( ::utl::LocalFileHelper::ConvertPhysicalNameToURL( sCurrentToken, sURL ) )
- aCurrentURL = INetURLObject( sURL );
- else
- {
- // smart URL parsing, assuming FILE protocol
- aCurrentURL = INetURLObject( sCurrentToken, INET_PROT_FILE );
- }
-
- aCurrentURL.setFinalSlash( );
- _rTokens.push_back( aCurrentURL.GetMainURL( INetURLObject::NO_DECODE ) );
- }
- }
- while ( nIndex >= 0 );
- }
-
- }
-
- //=====================================================================
- //= CheckURLAllowed
- //=====================================================================
- struct CheckURLAllowed
- {
- protected:
- #ifdef WNT
- SvtSysLocale m_aSysLocale;
- #endif
- OUString m_sCheckURL; // the URL to check
- bool m_bAllowParent;
- public:
- inline CheckURLAllowed( const OUString& _rCheckURL, bool bAllowParent = true )
- : m_sCheckURL( _rCheckURL )
- , m_bAllowParent( bAllowParent )
- {
- #ifdef WNT
- // on windows, assume that the relevant file systems are case insensitive,
- // thus normalize the URL
- m_sCheckURL = m_aSysLocale.GetCharClass().lowercase( m_sCheckURL, 0, m_sCheckURL.getLength() );
- #endif
- }
-
- bool operator()( const OUString& _rApprovedURL )
- {
- #ifdef WNT
- // on windows, assume that the relevant file systems are case insensitive,
- // thus normalize the URL
- OUString sApprovedURL( m_aSysLocale.GetCharClass().lowercase( _rApprovedURL, 0, _rApprovedURL.getLength() ) );
- #else
- OUString sApprovedURL( _rApprovedURL );
- #endif
-
- sal_Int32 nLenApproved = sApprovedURL.getLength();
- sal_Int32 nLenChecked = m_sCheckURL.getLength();
-
- if ( nLenApproved > nLenChecked )
- {
- if ( m_bAllowParent )
- {
- if ( sApprovedURL.indexOf( m_sCheckURL ) == 0 )
- {
- if ( ( m_sCheckURL[ nLenChecked - 1 ] == '/' )
- || ( sApprovedURL[ nLenChecked ] == '/' ) )
- return true;
- }
- }
- else
- {
- // just a difference in final slash?
- if ( ( nLenApproved == ( nLenChecked + 1 ) ) &&
- ( sApprovedURL[ nLenApproved - 1 ] == '/' ) )
- return true;
- }
- return false;
- }
- else if ( nLenApproved < nLenChecked )
- {
- if ( m_sCheckURL.indexOf( sApprovedURL ) == 0 )
- {
- if ( ( sApprovedURL[ nLenApproved - 1 ] == '/' )
- || ( m_sCheckURL[ nLenApproved ] == '/' ) )
- return true;
- }
- return false;
- }
- else
- {
- // strings have equal length
- return ( sApprovedURL == m_sCheckURL );
- }
- }
- };
-
- //=====================================================================
- //= RestrictedPaths
- //=====================================================================
- //---------------------------------------------------------------------
- RestrictedPaths::RestrictedPaths()
- :m_bFilterIsEnabled( true )
- {
- OUString sRestrictedPathList;
- if ( lcl_getEnvironmentValue( "RestrictedPath", sRestrictedPathList ) )
- // append a final slash. This ensures that when we later on check
- // for unrestricted paths, we don't allow paths like "/home/user35" just because
- // "/home/user3" is allowed - with the final slash, we make it "/home/user3/".
- lcl_convertStringListToUrls( sRestrictedPathList, m_aUnrestrictedURLs );
- }
-
- RestrictedPaths::~RestrictedPaths() {}
-
- // --------------------------------------------------------------------
- bool RestrictedPaths::isUrlAllowed( const OUString& _rURL ) const
- {
- if ( m_aUnrestrictedURLs.empty() || !m_bFilterIsEnabled )
- return true;
-
- ::std::vector< OUString >::const_iterator aApprovedURL = ::std::find_if(
- m_aUnrestrictedURLs.begin(),
- m_aUnrestrictedURLs.end(),
- CheckURLAllowed( _rURL, true )
- );
-
- return ( aApprovedURL != m_aUnrestrictedURLs.end() );
- }
-
- // --------------------------------------------------------------------
- bool RestrictedPaths::isUrlAllowed( const OUString& _rURL, bool allowParents ) const
- {
- if ( m_aUnrestrictedURLs.empty() || !m_bFilterIsEnabled )
- return true;
-
- ::std::vector< OUString >::const_iterator aApprovedURL = ::std::find_if(
- m_aUnrestrictedURLs.begin(),
- m_aUnrestrictedURLs.end(),
- CheckURLAllowed( _rURL, allowParents )
- );
-
- return ( aApprovedURL != m_aUnrestrictedURLs.end() );
- }
-
-} // namespace svt
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */