This is a combined cherry-pick of the 10 commits 34f1a750a128e02aa3191e36a2c0b28371e96287 "sal: initial osl::File sand-boxing commit for Unix.", 55243a397add76fcff8c67284ba57205a1512ca5 "lok: import allowed paths from the SAL_ALLOWED_PATHS.", 148915ef6d4bfc38deb6d98fb14429d7e6e27129 "sal: osl::File allow to create files in sandbox", 479e2f5cb69ceef2ef6832630a342d7673d6782a "unconditionally include vector", f04d38d5a88f422b80d2a37d1a1252ce59c4f892 "Fix SDK build", 52e0838a8f35837a92e7b0277544995e477fe8b6 "sal: fix various clang loplugin warnings", 3ed325340d14cb28602fb03eb6a46b37cdb8bb99 "[loplugin:unreffun]", 242ccc31d5a2c8be900828523de145e173900514 "Avoid extending the sal UNO API", 3c633a88c5212d8dd665d7bcb9678fa1eac1464f "Stick to sal_uInt32 for osl_File_OpenFlags", and f4d48ac9cdb822e2c2d3fc1f239fe0958f608cc2 "Fix linking new CppunitTest_sal_osl_file_details on macOS/Windows". Co-authored-by: Andras Timar <andras.timar@collabora.com> Co-authored-by: Caolán McNamara <caolan.mcnamara@collabora.com> Co-authored-by: Michael Meeks <michael.meeks@collabora.com> Co-authored-by: Mike Kaganski <mike.kaganski@collabora.com> Co-authored-by: Miklos Vajna <vmiklos@collabora.com> Co-authored-by: Szymon Kłos <szymon.klos@collabora.com> Change-Id: I5220bef367350d8fac8c25d7f40988664b9a8bd5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187411 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
40 lines
1.2 KiB
C++
40 lines
1.2 KiB
C++
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
|
|
/*
|
|
* 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/.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <sal/config.h>
|
|
|
|
#include <string_view>
|
|
|
|
#if defined UNX
|
|
/** Resets the list of paths and associated permissions for osl
|
|
|
|
@param[in] aPaths
|
|
Contains a ':' delimited list of control strings and paths.
|
|
Control segments are a short path that refers to the following
|
|
segments and contain either:
|
|
|
|
r: read-only paths follow (the default)
|
|
w: read & write paths follow
|
|
x: executable paths follow
|
|
|
|
Any real paths (ie. having resolved all symlinks)
|
|
accessed outside of these paths will cause an
|
|
osl_File_E_ACCESS error in the relevant method calls.
|
|
|
|
This method is Unix specific.
|
|
|
|
@see isForbidden in sal/osl/unx/file_impl.hxx
|
|
*/
|
|
void setAllowedPaths(std::u16string_view aPaths);
|
|
#endif
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
|