From dac772d3957dc9e57d4a5012097dd1db6efdb0ac Mon Sep 17 00:00:00 2001 From: z30054037 Date: Fri, 15 Dec 2023 09:52:38 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E8=BA=AB=E5=AE=9E=E7=8E=B0=E7=9A=84ta?= =?UTF-8?q?r=E5=8C=85=E4=B8=8D=E8=AF=86=E5=88=AB=E6=88=90=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=9A=84=E5=A4=A7=E6=96=87=E4=BB=B6=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: z30054037 Change-Id: I358c87b3192081f4484caf3316effa447a036fe9 --- utils/src/b_json/b_json_entity_ext_manage.cpp | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/utils/src/b_json/b_json_entity_ext_manage.cpp b/utils/src/b_json/b_json_entity_ext_manage.cpp index c136a9358..28a19d3ac 100644 --- a/utils/src/b_json/b_json_entity_ext_manage.cpp +++ b/utils/src/b_json/b_json_entity_ext_manage.cpp @@ -46,6 +46,35 @@ static bool CheckBigFile(const string &tarFile) return false; } +/** + * @brief 判断是否属于自身打包的文件 + * + * @param fileName + */ +static bool CheckOwnPackTar(const string &fileName) +{ + HILOGI("CheckOwnPackTar fileName:%{public}s", fileName.data()); + if (access(fileName.c_str(), F_OK) != 0) { + HILOGI("file does not exists"); + return false; + } + // 如果不是在默认路径下的文件包,不属于自身打包的tar文件 + string::size_type pathPos = fileName.find("/data/storage/el2/backup/backup/"); + if (pathPos == string::npos || pathPos != 0) { + return false; + } + // 获取tar包名称 + string tarFile = ExtractFileName(fileName); + string::size_type pos = tarFile.find("."); + if (pos == string::npos) { + return false; + } + + string firstName = string(tarFile).substr(0, pos); + + return (firstName == "part") && (ExtractFileExt(tarFile) == "tar"); +} + static bool CheckUserTar(const string &fileName) { if (access(fileName.c_str(), F_OK) != 0) { @@ -142,7 +171,7 @@ void BJsonEntityExtManage::SetExtManage(const map lks = FindLinks(item, index); for (const auto &lk : lks) { value["hardlinks"].append(lk); -- Gitee