From c6d5e98b29915216402a79b1ee9cb5b37f574e88 Mon Sep 17 00:00:00 2001 From: chensihan Date: Tue, 15 Apr 2025 15:42:49 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E7=AE=80=E6=8A=A5=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=A0=81=E4=B8=8D=E4=B8=8A=E4=BC=A0=20Signed-off-by:=20chensih?= =?UTF-8?q?an=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frameworks/native/backup_ext/src/ext_extension.cpp | 3 +-- .../backup_kit_inner/src/b_incremental_restore_session.cpp | 3 ++- .../src/b_incremental_session_restore_async.cpp | 3 ++- frameworks/native/backup_kit_inner/src/b_session_restore.cpp | 3 ++- .../native/backup_kit_inner/src/b_session_restore_async.cpp | 3 ++- services/backup_sa/src/module_ipc/service_incremental.cpp | 2 ++ 6 files changed, 11 insertions(+), 6 deletions(-) diff --git a/frameworks/native/backup_ext/src/ext_extension.cpp b/frameworks/native/backup_ext/src/ext_extension.cpp index cead8c887..f8e64ee00 100644 --- a/frameworks/native/backup_ext/src/ext_extension.cpp +++ b/frameworks/native/backup_ext/src/ext_extension.cpp @@ -317,8 +317,7 @@ static tuple GetIncreFileHandleForSpecialVersion(co string reportName = GetReportFileName(fileName); UniqueFd reportFd(open(reportName.data(), O_RDWR | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR)); if (reportFd < 0) { - HILOGE("Failed to open report file = %{private}s, err = %{public}d", reportName.c_str(), errno); - errCode = errno; + HILOGE("Failed to open report file = %{public}s, err = %{public}d", GetAnonyPath(reportName).c_str(), errno); } return {errCode, move(fd), move(reportFd)}; } diff --git a/frameworks/native/backup_kit_inner/src/b_incremental_restore_session.cpp b/frameworks/native/backup_kit_inner/src/b_incremental_restore_session.cpp index b0f8179ce..3d3b21450 100644 --- a/frameworks/native/backup_kit_inner/src/b_incremental_restore_session.cpp +++ b/frameworks/native/backup_kit_inner/src/b_incremental_restore_session.cpp @@ -15,6 +15,7 @@ #include "b_incremental_restore_session.h" +#include "b_anony/b_anony.h" #include "b_error/b_error.h" #include "b_radar/b_radar.h" #include "filemgmt_libhilog.h" @@ -133,7 +134,7 @@ ErrCode BIncrementalRestoreSession::GetFileHandle(const string &bundleName, cons if (proxy == nullptr) { return BError(BError::Codes::SDK_BROKEN_IPC, "Failed to get backup service").GetCode(); } - + HILOGI("GetFileHandle, bundle:%{public}s, file:%{public}s", bundleName.c_str(), GetAnonyPath(fileName).c_str()); return proxy->GetIncrementalFileHandle(bundleName, fileName); } diff --git a/frameworks/native/backup_kit_inner/src/b_incremental_session_restore_async.cpp b/frameworks/native/backup_kit_inner/src/b_incremental_session_restore_async.cpp index d5925422f..873c2d767 100644 --- a/frameworks/native/backup_kit_inner/src/b_incremental_session_restore_async.cpp +++ b/frameworks/native/backup_kit_inner/src/b_incremental_session_restore_async.cpp @@ -15,6 +15,7 @@ #include "b_incremental_session_restore_async.h" +#include "b_anony/b_anony.h" #include "b_error/b_error.h" #include "b_radar/b_radar.h" #include "b_resources/b_constants.h" @@ -81,7 +82,7 @@ ErrCode BIncrementalSessionRestoreAsync::GetFileHandle(const string &bundleName, if (proxy == nullptr) { return BError(BError::Codes::SDK_BROKEN_IPC, "Failed to get backup service").GetCode(); } - + HILOGI("GetFileHandle, bundle:%{public}s, file:%{public}s", bundleName.c_str(), GetAnonyPath(fileName).c_str()); return proxy->GetIncrementalFileHandle(bundleName, fileName); } diff --git a/frameworks/native/backup_kit_inner/src/b_session_restore.cpp b/frameworks/native/backup_kit_inner/src/b_session_restore.cpp index 501b054ba..536a16966 100644 --- a/frameworks/native/backup_kit_inner/src/b_session_restore.cpp +++ b/frameworks/native/backup_kit_inner/src/b_session_restore.cpp @@ -15,6 +15,7 @@ #include "b_session_restore.h" +#include "b_anony/b_anony.h" #include "b_error/b_error.h" #include "b_radar/b_radar.h" #include "filemgmt_libhilog.h" @@ -101,7 +102,7 @@ ErrCode BSessionRestore::GetFileHandle(const string &bundleName, const string &f if (proxy == nullptr) { return BError(BError::Codes::SDK_BROKEN_IPC, "Failed to get backup service").GetCode(); } - + HILOGI("GetFileHandle, bundle:%{public}s, file:%{public}s", bundleName.c_str(), GetAnonyPath(fileName).c_str()); return proxy->GetFileHandle(bundleName, fileName); } diff --git a/frameworks/native/backup_kit_inner/src/b_session_restore_async.cpp b/frameworks/native/backup_kit_inner/src/b_session_restore_async.cpp index 8cc600b95..161384fcc 100644 --- a/frameworks/native/backup_kit_inner/src/b_session_restore_async.cpp +++ b/frameworks/native/backup_kit_inner/src/b_session_restore_async.cpp @@ -15,6 +15,7 @@ #include "b_session_restore_async.h" +#include "b_anony/b_anony.h" #include "b_error/b_error.h" #include "b_radar/b_radar.h" #include "b_resources/b_constants.h" @@ -83,7 +84,7 @@ ErrCode BSessionRestoreAsync::GetFileHandle(const string &bundleName, const stri if (proxy == nullptr) { return BError(BError::Codes::SDK_BROKEN_IPC, "Failed to get backup service").GetCode(); } - + HILOGI("GetFileHandle, bundle:%{public}s, file:%{public}s", bundleName.c_str(), GetAnonyPath(fileName).c_str()); return proxy->GetFileHandle(bundleName, fileName); } diff --git a/services/backup_sa/src/module_ipc/service_incremental.cpp b/services/backup_sa/src/module_ipc/service_incremental.cpp index fd596c6f8..4627296e1 100644 --- a/services/backup_sa/src/module_ipc/service_incremental.cpp +++ b/services/backup_sa/src/module_ipc/service_incremental.cpp @@ -694,6 +694,8 @@ ErrCode Service::AppIncrementalDone(ErrCode errCode) ErrCode Service::GetIncrementalFileHandle(const std::string &bundleName, const std::string &fileName) { HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); + HILOGI("GetIncrementalFileHandle begin, bundle:%{public}s, file:%{public}s", + bundleName.c_str(), GetAnonyPath(fileName).c_str()); try { if (session_ == nullptr) { HILOGE("GetIncrementalFileHandle error, session is empty"); -- Gitee From 91217969bfd389c23ebdfdd0712d30d594feebb5 Mon Sep 17 00:00:00 2001 From: chensihan Date: Wed, 16 Apr 2025 16:30:25 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E7=AE=80=E6=8A=A5=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=A0=81=E4=B8=8D=E4=B8=8A=E4=BC=A0=20Signed-off-by:=20chensih?= =?UTF-8?q?an=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../native/backup_ext/src/ext_extension_stub.cpp | 2 +- .../service_incremental_reverse_proxy.cpp | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/frameworks/native/backup_ext/src/ext_extension_stub.cpp b/frameworks/native/backup_ext/src/ext_extension_stub.cpp index 38f4ce2f3..385e19fce 100644 --- a/frameworks/native/backup_ext/src/ext_extension_stub.cpp +++ b/frameworks/native/backup_ext/src/ext_extension_stub.cpp @@ -163,7 +163,7 @@ ErrCode ExtExtensionStub::CmdGetIncrementalFileHandle(MessageParcel &data, Messa return BError(BError::Codes::EXT_BROKEN_IPC, "Failed to send out the file").GetCode(); } if (!reply.WriteFileDescriptor(reportFd)) { - return BError(BError::Codes::EXT_BROKEN_IPC, "Failed to send out the file").GetCode(); + HILOGE("Failed to send out the report file"); } return BError(BError::Codes::OK); } diff --git a/services/backup_sa/src/module_ipc/service_incremental_reverse_proxy.cpp b/services/backup_sa/src/module_ipc/service_incremental_reverse_proxy.cpp index 8aecf1ee6..e45df508f 100644 --- a/services/backup_sa/src/module_ipc/service_incremental_reverse_proxy.cpp +++ b/services/backup_sa/src/module_ipc/service_incremental_reverse_proxy.cpp @@ -242,11 +242,18 @@ void ServiceReverseProxy::IncrementalRestoreOnFileReady(string bundleName, strin { BExcepUltils::BAssert(Remote(), BError::Codes::SDK_INVAL_ARG, "Remote is nullptr"); MessageParcel data; - bool fdFlag = (fd < 0 || manifestFd < 0) ? false : true; + bool fdFlag = (fd < 0) ? false : true; if (!data.WriteInterfaceToken(GetDescriptor()) || !data.WriteString(bundleName) || !data.WriteString(fileName) || !data.WriteBool(fdFlag) || - (fdFlag == true && (!data.WriteFileDescriptor(fd) || !data.WriteFileDescriptor(manifestFd))) || - !data.WriteInt32(errCode)) { + (fdFlag == true && !data.WriteFileDescriptor(fd))) { + throw BError(BError::Codes::SA_BROKEN_IPC); + } + + if (!data.WriteFileDescriptor(manifestFd)) { + HILOGE("Failed to send out the report file"); + } + + if (!data.WriteInt32(errCode)) { throw BError(BError::Codes::SA_BROKEN_IPC); } -- Gitee From 1dd18952c21975e285d1f07438e34d189ff66d4b Mon Sep 17 00:00:00 2001 From: chensihan Date: Wed, 16 Apr 2025 17:14:08 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E7=AE=80=E6=8A=A5=E4=B8=8D=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=20Signed-off-by:=20chensihan=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module_ipc/service_reverse_proxy_test.cpp | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/tests/unittests/backup_sa/module_ipc/service_reverse_proxy_test.cpp b/tests/unittests/backup_sa/module_ipc/service_reverse_proxy_test.cpp index f554d5263..f5a857e1b 100644 --- a/tests/unittests/backup_sa/module_ipc/service_reverse_proxy_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_reverse_proxy_test.cpp @@ -1838,17 +1838,6 @@ HWTEST_F(ServiceReverseProxyTest, } catch (BError &err) { EXPECT_EQ(err.GetRawCode(), BError::Codes::SA_BROKEN_IPC); } - - try { - EXPECT_CALL(*messageParcelMock_, WriteInterfaceToken(_)).WillOnce(Return(true)); - EXPECT_CALL(*messageParcelMock_, WriteString(_)).WillOnce(Return(true)).WillOnce(Return(true)); - EXPECT_CALL(*messageParcelMock_, WriteBool(_)).WillOnce(Return(true)); - EXPECT_CALL(*messageParcelMock_, WriteFileDescriptor(_)).WillOnce(Return(true)).WillOnce(Return(false)); - proxy_->IncrementalRestoreOnFileReady(BUNDLE_NAME, FILE_NAME, 0, 0, 0); - EXPECT_TRUE(false); - } catch (BError &err) { - EXPECT_EQ(err.GetRawCode(), BError::Codes::SA_BROKEN_IPC); - } } catch (...) { EXPECT_TRUE(false); GTEST_LOG_(INFO) << "ServiceReverseProxyTest-an exception occurred by IncrementalRestoreOnFileReady."; -- Gitee From 4abaa00b6ac073da1d7449961c61f2902dc8435f Mon Sep 17 00:00:00 2001 From: chensihan Date: Wed, 16 Apr 2025 17:44:48 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E7=AE=80=E6=8A=A5=E4=B8=8D=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chensihan --- .../backup_sa/module_ipc/service_reverse_proxy_test.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/unittests/backup_sa/module_ipc/service_reverse_proxy_test.cpp b/tests/unittests/backup_sa/module_ipc/service_reverse_proxy_test.cpp index f5a857e1b..dff00d19e 100644 --- a/tests/unittests/backup_sa/module_ipc/service_reverse_proxy_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_reverse_proxy_test.cpp @@ -1721,7 +1721,8 @@ HWTEST_F(ServiceReverseProxyTest, EXPECT_CALL(*messageParcelMock_, WriteInterfaceToken(_)).WillOnce(Return(true)); EXPECT_CALL(*messageParcelMock_, WriteString(_)).WillOnce(Return(true)).WillOnce(Return(true)); EXPECT_CALL(*messageParcelMock_, WriteBool(_)).WillOnce(Return(true)); - EXPECT_CALL(*messageParcelMock_, WriteFileDescriptor(_)).WillOnce(Return(true)).WillOnce(Return(true)); + EXPECT_CALL(*messageParcelMock_, WriteFileDescriptor(_)).WillOnce(Return(true)) + .WillOnce(Return(true)).WillOnce(Return(true)); EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true)); EXPECT_CALL(*mock_, SendRequest(_, _, _, _)) .Times(1) -- Gitee