From 4b94cfd3910de26dbca64cf746a899cbc635158b Mon Sep 17 00:00:00 2001 From: Ethan Yonker Date: Thu, 11 Dec 2014 10:00:45 -0600 Subject: Attempt to set the proper uid/gid/contexts on new files and dirs Files and folders that we create during backups, copy log, or MTP operations often do not have the proper uid/gid/contexts assigned. We will attempt to read the proper contexts from the settings storage path and assign those same contexts to any files or dirs that we create. Change-Id: I769f9479854122b49b499de2175e6e2d026f8afd --- mtp/MtpServer.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'mtp/MtpServer.cpp') diff --git a/mtp/MtpServer.cpp b/mtp/MtpServer.cpp index 66a641404..f4af2b948 100755 --- a/mtp/MtpServer.cpp +++ b/mtp/MtpServer.cpp @@ -26,6 +26,7 @@ #include #include #include "../twcommon.h" +#include "../set_metadata.h" #include #include "MtpTypes.h" @@ -1002,6 +1003,7 @@ MtpResponseCode MtpServer::doSendObjectInfo() { return MTP_RESPONSE_GENERAL_ERROR; } chown((const char *)path, getuid(), mFileGroup); + tw_set_default_metadata((const char *)path); // SendObject does not get sent for directories, so call endSendObject here instead mDatabase->lockMutex(); @@ -1073,6 +1075,7 @@ MtpResponseCode MtpServer::doSendObject() { ret = ioctl(mFD, MTP_RECEIVE_FILE, (unsigned long)&mfr); } close(mfr.fd); + tw_set_default_metadata((const char *)mSendObjectFilePath); if (ret < 0) { unlink(mSendObjectFilePath); -- cgit v1.2.3