Lines Matching +full:post +full:- +full:fs

8  *      http://www.apache.org/licenses/LICENSE-2.0
19 #include <android-base/file.h>
20 #include <android-base/logging.h>
21 #include <android-base/stringprintf.h>
22 #include <android-base/strings.h>
41 namespace fs = std::filesystem;
48 static constexpr const fs::perms kForbiddenFilePermissions =
49 fs::perms::owner_exec | fs::perms::group_exec | fs::perms::others_exec;
55 "priv-app/CtsShimPrivPrebuilt/CtsShimPrivPrebuilt.apk",
116 return Errorf("Shim apex is not allowed to have pre or post install hooks"); in ValidateShimApex()
124 auto iter = fs::recursive_directory_iterator(mount_point, ec); in ValidateShimApex()
125 // Unfortunately fs::recursive_directory_iterator::operator++ can throw an in ValidateShimApex()
126 // exception, which means that it's impossible to use range-based for loop in ValidateShimApex()
128 while (iter != fs::end(iter)) { in ValidateShimApex()
129 auto path = iter->path(); in ValidateShimApex()
131 auto resolved_mount_point = fs::path(mount_point).string(); in ValidateShimApex()
133 fs::file_status status = iter->status(ec); in ValidateShimApex()
135 if (fs::is_symlink(status)) { in ValidateShimApex()
139 } else if (fs::is_regular_file(status)) { in ValidateShimApex()
141 fs::perms::none) { in ValidateShimApex()
150 } else if (!fs::is_directory(status)) { in ValidateShimApex()
152 return Error() << "Unexpected file entry in shim apex: " << iter->path(); in ValidateShimApex()
176 auto it = std::find(allowed->begin(), allowed->end(), *actual); in ValidateUpdate()
177 if (it == allowed->end()) { in ValidateUpdate()