diff options
| -rw-r--r-- | src/tools/connection_patcher/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | src/tools/connection_patcher/Program.cpp | 10 |
2 files changed, 11 insertions, 3 deletions
diff --git a/src/tools/connection_patcher/CMakeLists.txt b/src/tools/connection_patcher/CMakeLists.txt index b4fffdcb776..fca159ff978 100644 --- a/src/tools/connection_patcher/CMakeLists.txt +++ b/src/tools/connection_patcher/CMakeLists.txt @@ -37,6 +37,10 @@ set(SRC_FILES add_executable(connection_patcher ${HEADER_FILES} ${SRC_FILES}) +if (MSVC) + set_target_properties(connection_patcher PROPERTIES LINK_FLAGS "/level='requireAdministrator' /uiAccess='false'") +endif () + target_link_libraries(connection_patcher shared ${OPENSSL_LIBRARIES} diff --git a/src/tools/connection_patcher/Program.cpp b/src/tools/connection_patcher/Program.cpp index 9513e2da486..a613485f839 100644 --- a/src/tools/connection_patcher/Program.cpp +++ b/src/tools/connection_patcher/Program.cpp @@ -43,6 +43,8 @@ namespace Connection_Patcher template<typename PATCH, typename PATTERN> void PatchModule(boost::filesystem::path file, boost::filesystem::path path) { + namespace fs = boost::filesystem; + std::cout << "Patching module...\n"; Patcher patcher(file); @@ -50,13 +52,15 @@ namespace Connection_Patcher patcher.Patch(PATCH::Password(), PATTERN::Password()); std::string const moduleName(Helper::GetFileChecksum(patcher.binary) + ".auth"); - boost::filesystem::path const modulePath + fs::path const modulePath (path / std::string(&moduleName[0], 2) / std::string(&moduleName[2], 2)); - if (!boost::filesystem::exists(modulePath)) - boost::filesystem::create_directories(modulePath); + if (!fs::exists(modulePath)) + fs::create_directories(modulePath); + fs::permissions(modulePath / moduleName, fs::add_perms | fs::others_write | fs::group_write | fs::owner_write); patcher.Finish(modulePath / moduleName); + fs::permissions(modulePath / moduleName, fs::remove_perms | fs::others_write | fs::group_write | fs::owner_write); std::cout << "Patching module finished.\n"; } |
