Loading cmds/idmap2/CPPLINT.cfg +1 −1 Original line number Diff line number Diff line Loading @@ -15,4 +15,4 @@ set noparent linelength=100 root=.. filter=+build/include_alpha,-runtime/references,-build/c++ filter=+build/include_alpha,-runtime/references,-build/c++,-build/include_alpha cmds/idmap2/idmap2/CommandUtils.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <string> #include <vector> #include "idmap2/CommandUtils.h" #include "idmap2/Idmap.h" #include "idmap2/Result.h" #include "idmap2/SysTrace.h" Loading cmds/idmap2/idmap2/CommandUtils.h +5 −3 Original line number Diff line number Diff line Loading @@ -14,8 +14,10 @@ * limitations under the License. */ #ifndef IDMAP2_IDMAP2_COMMAND_UTILS_H_ #define IDMAP2_IDMAP2_COMMAND_UTILS_H_ #ifndef IDMAP2_IDMAP2_COMMANDUTILS_H_ #define IDMAP2_IDMAP2_COMMANDUTILS_H_ #include <string> #include "idmap2/PolicyUtils.h" #include "idmap2/Result.h" Loading @@ -24,4 +26,4 @@ android::idmap2::Result<android::idmap2::Unit> Verify( const std::string& idmap_path, const std::string& target_path, const std::string& overlay_path, const std::string& overlay_name, PolicyBitmask fulfilled_policies, bool enforce_overlayable); #endif // IDMAP2_IDMAP2_COMMAND_UTILS_H_ #endif // IDMAP2_IDMAP2_COMMANDUTILS_H_ cmds/idmap2/idmap2/Create.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include <fstream> #include <memory> #include <ostream> #include <string> #include <vector> #include "androidfw/ResourceTypes.h" Loading cmds/idmap2/idmap2d/Idmap2Service.cpp +29 −5 Original line number Diff line number Diff line Loading @@ -26,6 +26,8 @@ #include <memory> #include <ostream> #include <string> #include <utility> #include <vector> #include "android-base/macros.h" #include "android-base/stringprintf.h" Loading @@ -33,6 +35,7 @@ #include "idmap2/BinaryStreamVisitor.h" #include "idmap2/FileUtils.h" #include "idmap2/Idmap.h" #include "idmap2/PrettyPrintVisitor.h" #include "idmap2/Result.h" #include "idmap2/SysTrace.h" Loading @@ -45,6 +48,7 @@ using android::idmap2::FabricatedOverlayContainer; using android::idmap2::Idmap; using android::idmap2::IdmapHeader; using android::idmap2::OverlayResourceContainer; using android::idmap2::PrettyPrintVisitor; using android::idmap2::TargetResourceContainer; using android::idmap2::utils::kIdmapCacheDir; using android::idmap2::utils::kIdmapFilePermissionMask; Loading Loading @@ -262,17 +266,17 @@ Status Idmap2Service::createFabricatedOverlay( path.c_str(), uid)); } const auto frro = builder.Build(); if (!frro) { return error(StringPrintf("failed to serialize '%s:%s': %s", overlay.packageName.c_str(), overlay.overlayName.c_str(), frro.GetErrorMessage().c_str())); } // Persist the fabricated overlay. umask(kIdmapFilePermissionMask); std::ofstream fout(path); if (fout.fail()) { return error("failed to open frro path " + path); } const auto frro = builder.Build(); if (!frro) { return error(StringPrintf("failed to serialize '%s:%s': %s", overlay.packageName.c_str(), overlay.overlayName.c_str(), frro.GetErrorMessage().c_str())); } auto result = frro->ToBinaryStream(fout); if (!result) { unlink(path.c_str()); Loading Loading @@ -352,4 +356,24 @@ binder::Status Idmap2Service::deleteFabricatedOverlay(const std::string& overlay return ok(); } binder::Status Idmap2Service::dumpIdmap(const std::string& overlay_path, std::string* _aidl_return) { assert(_aidl_return); const auto idmap_path = Idmap::CanonicalIdmapPathFor(kIdmapCacheDir, overlay_path); std::ifstream fin(idmap_path); const auto idmap = Idmap::FromBinaryStream(fin); fin.close(); if (!idmap) { return error(idmap.GetErrorMessage()); } std::stringstream stream; PrettyPrintVisitor visitor(stream); (*idmap)->accept(&visitor); *_aidl_return = stream.str(); return ok(); } } // namespace android::os Loading
cmds/idmap2/CPPLINT.cfg +1 −1 Original line number Diff line number Diff line Loading @@ -15,4 +15,4 @@ set noparent linelength=100 root=.. filter=+build/include_alpha,-runtime/references,-build/c++ filter=+build/include_alpha,-runtime/references,-build/c++,-build/include_alpha
cmds/idmap2/idmap2/CommandUtils.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <string> #include <vector> #include "idmap2/CommandUtils.h" #include "idmap2/Idmap.h" #include "idmap2/Result.h" #include "idmap2/SysTrace.h" Loading
cmds/idmap2/idmap2/CommandUtils.h +5 −3 Original line number Diff line number Diff line Loading @@ -14,8 +14,10 @@ * limitations under the License. */ #ifndef IDMAP2_IDMAP2_COMMAND_UTILS_H_ #define IDMAP2_IDMAP2_COMMAND_UTILS_H_ #ifndef IDMAP2_IDMAP2_COMMANDUTILS_H_ #define IDMAP2_IDMAP2_COMMANDUTILS_H_ #include <string> #include "idmap2/PolicyUtils.h" #include "idmap2/Result.h" Loading @@ -24,4 +26,4 @@ android::idmap2::Result<android::idmap2::Unit> Verify( const std::string& idmap_path, const std::string& target_path, const std::string& overlay_path, const std::string& overlay_name, PolicyBitmask fulfilled_policies, bool enforce_overlayable); #endif // IDMAP2_IDMAP2_COMMAND_UTILS_H_ #endif // IDMAP2_IDMAP2_COMMANDUTILS_H_
cmds/idmap2/idmap2/Create.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include <fstream> #include <memory> #include <ostream> #include <string> #include <vector> #include "androidfw/ResourceTypes.h" Loading
cmds/idmap2/idmap2d/Idmap2Service.cpp +29 −5 Original line number Diff line number Diff line Loading @@ -26,6 +26,8 @@ #include <memory> #include <ostream> #include <string> #include <utility> #include <vector> #include "android-base/macros.h" #include "android-base/stringprintf.h" Loading @@ -33,6 +35,7 @@ #include "idmap2/BinaryStreamVisitor.h" #include "idmap2/FileUtils.h" #include "idmap2/Idmap.h" #include "idmap2/PrettyPrintVisitor.h" #include "idmap2/Result.h" #include "idmap2/SysTrace.h" Loading @@ -45,6 +48,7 @@ using android::idmap2::FabricatedOverlayContainer; using android::idmap2::Idmap; using android::idmap2::IdmapHeader; using android::idmap2::OverlayResourceContainer; using android::idmap2::PrettyPrintVisitor; using android::idmap2::TargetResourceContainer; using android::idmap2::utils::kIdmapCacheDir; using android::idmap2::utils::kIdmapFilePermissionMask; Loading Loading @@ -262,17 +266,17 @@ Status Idmap2Service::createFabricatedOverlay( path.c_str(), uid)); } const auto frro = builder.Build(); if (!frro) { return error(StringPrintf("failed to serialize '%s:%s': %s", overlay.packageName.c_str(), overlay.overlayName.c_str(), frro.GetErrorMessage().c_str())); } // Persist the fabricated overlay. umask(kIdmapFilePermissionMask); std::ofstream fout(path); if (fout.fail()) { return error("failed to open frro path " + path); } const auto frro = builder.Build(); if (!frro) { return error(StringPrintf("failed to serialize '%s:%s': %s", overlay.packageName.c_str(), overlay.overlayName.c_str(), frro.GetErrorMessage().c_str())); } auto result = frro->ToBinaryStream(fout); if (!result) { unlink(path.c_str()); Loading Loading @@ -352,4 +356,24 @@ binder::Status Idmap2Service::deleteFabricatedOverlay(const std::string& overlay return ok(); } binder::Status Idmap2Service::dumpIdmap(const std::string& overlay_path, std::string* _aidl_return) { assert(_aidl_return); const auto idmap_path = Idmap::CanonicalIdmapPathFor(kIdmapCacheDir, overlay_path); std::ifstream fin(idmap_path); const auto idmap = Idmap::FromBinaryStream(fin); fin.close(); if (!idmap) { return error(idmap.GetErrorMessage()); } std::stringstream stream; PrettyPrintVisitor visitor(stream); (*idmap)->accept(&visitor); *_aidl_return = stream.str(); return ok(); } } // namespace android::os