loolwsd/LOOLWSD.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-)
New commits: commit 8612aab7c4566d6eaefa6be14f1785ebed3538ab Author: Tor Lillqvist <[email protected]> Date: Fri May 22 10:57:17 2015 +0100 Make this build on OS X Note that I said build, not work. diff --git a/loolwsd/LOOLWSD.cpp b/loolwsd/LOOLWSD.cpp index f2e7252..fe17cda 100644 --- a/loolwsd/LOOLWSD.cpp +++ b/loolwsd/LOOLWSD.cpp @@ -41,10 +41,10 @@ DEALINGS IN THE SOFTWARE. // number of child processes, each which handles a viewing (editing) session for one document. #include <errno.h> +#include <pwd.h> #include <unistd.h> #ifdef __linux -#include <pwd.h> #include <sys/capability.h> #include <sys/types.h> #include <sys/wait.h> @@ -529,7 +529,11 @@ void LOOLWSD::displayHelp() namespace { - void dropCapability(cap_value_t capability) + void dropCapability( +#ifdef __linux + cap_value_t capability +#endif + ) { #ifdef __linux cap_t caps; @@ -596,8 +600,9 @@ int LOOLWSD::childMain() { std::cout << Util::logPrefix() << "Child here! id=" << _childId << std::endl; +#ifdef __linux dropCapability(CAP_FOWNER); - +#endif // We use the same option set for both parent and child loolwsd, // so must check options required in the child (but not in the // parent) separately now. And also for options that are @@ -618,7 +623,11 @@ int LOOLWSD::childMain() exit(1); } +#ifdef __linux dropCapability(CAP_SYS_CHROOT); +#else + dropCapability(); +#endif if (chdir("/") == -1) { @@ -690,7 +699,11 @@ int LOOLWSD::main(const std::vector<std::string>& args) if (childMode()) return childMain(); +#ifdef __linux dropCapability(CAP_SYS_CHROOT); +#else + dropCapability(); +#endif if (access(LOOLWSD_CACHEDIR, R_OK | W_OK | X_OK) != 0) { _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
