//
-// Open Service Platform
// Copyright (c) 2012 Samsung Electronics Co., Ltd.
//
// Licensed under the Apache License, Version 2.0 (the License);
String
_FileImpl::GetFileName(const String& filePath)
{
- String fileName;
- SysTryReturn(NID_IO, VerifyFilePathCompatibility(filePath, _AppInfo::IsOspCompat()) == true, fileName, E_INVALID_ARG,
- "[E_INVALID_ARG] The length of the specified filePath (%ls) is zero or exceeds system limitations.",
- filePath.GetPointer());
-
return _FileUtil::GetFileName(filePath);
}
String
_FileImpl::GetFileExtension(const String& filePath)
{
- String extName;
- SysTryReturn(NID_IO, VerifyFilePathCompatibility(filePath, _AppInfo::IsOspCompat()) == true, extName, E_INVALID_ARG,
- "[E_INVALID_ARG] The length of the specified filePath (%ls) is zero or exceeds system limitations.",
- filePath.GetPointer());
-
return _FileUtil::GetFileExtension(filePath);
}
bool internalInstalled = true;
result r = E_SUCCESS;
- SysLog(NID_IO, "[data_caging] PrepareDataCaging() was called by installer backend, appRootPath: %ls, packageId: %ls",
+ SysSecureLog(NID_IO, "[data_caging] PrepareDataCaging() was called by installer backend, appRootPath: %ls, packageId: %ls",
appRootPath.GetPointer(), pkgId.GetPointer());
if (CleanDirectories(appRootPath, pkgId) == false)
SysTryCatch(NID_IO, chdir(pAppRootPath.get()) == 0, r = E_SYSTEM, E_SYSTEM,
"[E_SYSTEM] chdir() was failed (%s), path: %s", strerror(errno), pAppRootPath.get());
- SysTryCatch(NID_IO, CreateOspInternalDirectories(pkgId) == true, r = E_SYSTEM, E_SYSTEM,
+ SysTryCatch(NID_IO, CreateOspInternalDirectories(appRootPath, pkgId) == true, r = E_SYSTEM, E_SYSTEM,
"[E_SYSTEM] fail to create OSP Internal directories");
}
else
//{ "./packaging" },
{ "./proc" },
{ "./sbin" },
+ { "./smack" },
{ "./srv" },
{ "./sys/kernel/debug" },
{ "./sys" },
}
bool
-_FileImpl::CreateOspInternalDirectories(const String& pkgId) // for 2.0 app
+_FileImpl::CreateOspInternalDirectories(const String& appRootPath, const String& pkgId) // for 2.0 app
{
unsigned int i = 0;
int ret = 0;
SysTryReturn(NID_IO, system(chownCmd) != -1, false, E_SYSTEM, "[E_SYSTEM] chown() failed");
}
#endif
- ret = remove("./shared/data");
- SysTryReturn(NID_IO, ret == 0 || errno == ENOENT, false, E_SYSTEM,
- "[E_SYSTEM] remove() failed, errno: %d (%s), path: ./shared/data", errno, strerror(errno));
- ret = remove("./shared/trusted");
- SysTryReturn(NID_IO, ret == 0 || errno == ENOENT, false, E_SYSTEM,
- "[E_SYSTEM] remove() failed, errno: %d (%s), path: ./shared/trusted", errno, strerror(errno));
+ String appSharedDataPath(appRootPath);
+ appSharedDataPath.Append(L"/shared/data");
+
+ String appSharedTrustedPath(appRootPath);
+ appSharedTrustedPath.Append(L"/shared/trusted");
+
+ SysTryReturn(NID_IO, Directory::Remove(appSharedDataPath, true) == E_SUCCESS, false, E_SYSTEM,
+ "[E_SYSTEM] Failed to remove path (%ls)", appSharedDataPath.GetPointer());
+ SysTryReturn(NID_IO, Directory::Remove(appSharedTrustedPath, true) == E_SUCCESS, false, E_SYSTEM,
+ "[E_SYSTEM] Failed to remove path (%ls)", appSharedTrustedPath.GetPointer());
ret = symlink(pOspShareAppIdPath.get(), "./shared/data");
SysTryReturn(NID_IO, ret == 0, false, E_SYSTEM,
//{ "./packaging", 0000, false },
{ "./proc", 0000, false },
{ "./sbin", 0000, false },
+ { "./smack", 0000, false },
{ "./srv", 0000, false },
{ "./sys", 0000, false },
{ "./tmp", 0000, false },