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
Authorization.hpp
Clipboard.hpp
Common.hpp
Crypto.cpp
Crypto.hpp
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
JsonUtil.hpp
Log.cpp
Log.hpp
LOOLWebSocket.hpp
Message.hpp
MessageQueue.cpp
MessageQueue.hpp
MobileApp.cpp
MobileApp.hpp
Png.hpp
Protocol.cpp
Protocol.hpp
Rectangle.hpp
RenderTiles.hpp
Seccomp.cpp
Seccomp.hpp
security.h
Session.cpp
Session.hpp
SigUtil.cpp
SigUtil.hpp
SpookyV2.cpp
SpookyV2.h
StringVector.cpp
StringVector.hpp
Unit.cpp
Unit.hpp
UnitHTTP.hpp
Util.cpp
Util.hpp