libreoffice-online/common
Michael Meeks 317dffb817 Optimize copy of jails to hard-linking with new capability.
In some cases we cannot do a fast bind-mount of the files we want
in our jail since we don't have cap_sys_admin for loolmount inside
eg. docker.

Thus we need to fallback to hard-linking, however various security
systems namespace parts of our tree, such that link() fails with
EXDEV even across the (apparently) same file-system.

As such we need to assemble a copy of what we want to hard-link
close to our jails. However, this needs to be owned by root / the
system to avoid having writable files shared between jails. Hence
we need cap_chown in addition to cap_fowner, to get ownership right
and then hard-link.

Change-Id: Iba0ef46ddbc1c03f3dc7177bc1ec1755624135db
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2021-01-04 15:05:36 +00:00
..
Authorization.cpp wsd: avoid the using keyword and use C++ size_t 2020-11-15 15:41:41 -05:00
Authorization.hpp fix license headers 2020-10-01 11:56:43 +02:00
Clipboard.hpp wsd: avoid the using keyword and use C++ size_t 2020-11-15 15:41:41 -05:00
Common.hpp fix license headers 2020-10-01 11:56:43 +02:00
Crypto.cpp wsd: avoid the using keyword and use C++ size_t 2020-11-15 15:41:41 -05:00
Crypto.hpp fix license headers 2020-10-01 11:56:43 +02:00
FileUtil.cpp Optimize copy of jails to hard-linking with new capability. 2021-01-04 15:05:36 +00:00
FileUtil.hpp Optimize copy of jails to hard-linking with new capability. 2021-01-04 15:05:36 +00:00
JailUtil.cpp Optimize copy of jails to hard-linking with new capability. 2021-01-04 15:05:36 +00:00
JailUtil.hpp wsd: cleanup temp incoming directories after use 2020-11-23 21:29:34 -05:00
JsonUtil.hpp wsd: avoid single-character strings 2020-12-09 17:19:58 +01:00
Log.cpp wsd: specialize thread ID serialization 2020-11-21 19:49:46 -05:00
Log.hpp wsd: save errno before invoking any other functions 2020-12-29 11:40:17 +00:00
LOOLWebSocket.hpp wsd: test: httpcrashtest drain using the getErrorCode helper 2020-12-28 12:04:53 -04:00
Message.hpp fix license headers 2020-10-01 11:56:43 +02:00
MessageQueue.cpp fix license headers 2020-10-01 11:56:43 +02:00
MessageQueue.hpp Remove obsolete locking and conditions around MessageQueue 2020-11-24 12:32:45 +01:00
MobileApp.cpp fix license headers 2020-10-01 11:56:43 +02:00
MobileApp.hpp fix license headers 2020-10-01 11:56:43 +02:00
Png.hpp wsd: log: overload chrono duration to simplify logging 2020-12-08 09:26:41 +00:00
Protocol.cpp fix license headers 2020-10-01 11:56:43 +02:00
Protocol.hpp fix license headers 2020-10-01 11:56:43 +02:00
Rectangle.hpp fix license headers 2020-10-01 11:56:43 +02:00
RenderTiles.hpp wsd: log: overload chrono duration to simplify logging 2020-12-08 09:26:41 +00:00
Seccomp.cpp Replace all __linux in CPP conditions with __linux__. 2020-11-17 09:21:45 +00:00
Seccomp.hpp fix license headers 2020-10-01 11:56:43 +02:00
security.h Root actually has all the capabilities. 2020-12-18 23:15:57 +01:00
Session.cpp wsd: misc cleanup 2020-11-22 22:26:36 -05:00
Session.hpp wsd: test: add Buffer test and minor cosmetics 2020-11-29 19:27:23 -05:00
SigUtil.cpp wsd: save errno before invoking any other functions 2020-12-29 11:40:17 +00:00
SigUtil.hpp fix license headers 2020-10-01 11:56:43 +02:00
SpookyV2.cpp
SpookyV2.h
StringVector.cpp fix license headers 2020-10-01 11:56:43 +02:00
StringVector.hpp Fix typos 2020-10-07 12:51:08 +02:00
Unit.cpp wsd: test: log timeout better 2020-12-28 12:04:53 -04:00
Unit.hpp wsd: test: catch and fail WSD tests when exceptions are thrown 2020-12-28 12:04:53 -04:00
UnitHTTP.hpp fix license headers 2020-10-01 11:56:43 +02:00
Util.cpp wsd: save errno before invoking any other functions 2020-12-29 11:40:17 +00:00
Util.hpp fuzzer-clientsession 2020-11-30 10:17:43 +01:00