| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
pc claw支持拉起分身应用 Signed-off-by: lidongrui <lidongrui3@huawei.com> Co-Authored-By: Agent | 3 个月前 | |
so_cpp Signed-off-by: Luobniz21 <luoyicong@h-partners.com> Change-Id: I4305ff366fb545d18651807a9b017fdeffb2ad37 | 7 个月前 | |
add trace Signed-off-by: unknown <sijunjie@huawei.com> | 9 个月前 | |
add note Signed-off-by: xuzheheng <xuzheheng2@huawei.com> | 1 年前 | |
Revert "JSON统一为cJSON" Signed-off-by: 13776621730 <zhawei12@huawei-partners.com> Change-Id: I69dc57782680ece5c5d2d1416464516405d070ad | 1 年前 | |
免安装场景/隐式启动场景/MoveMissionToFront/应用选择框和分身选择框场景 支持传递startOptions Signed-off-by: lidongrui <lidongrui3@huawei.com> Co-Authored-By: Agent 🤖 AI[4%] 🔧 Human Fixed[0%] 🧑 Human[96%] 👌 AI Adopted[100%] | 1 个月前 | |
so_cpp Signed-off-by: Luobniz21 <luoyicong@h-partners.com> Change-Id: I4305ff366fb545d18651807a9b017fdeffb2ad37 | 7 个月前 | |
feat: restrict reusePid to IN_PROCESS mode and add GetValidAppRunningRecordByPid - Only set reusePid when MODULAR_OBJECT IN_PROCESS mode (IsInProcess flag) - Add isInProcess flag to BaseExtensionRecord, set in SetupNewRecord - Add GetValidAppRunningRecordByPid for PID lookup with validity check - Revert CheckAppRunningRecordIsExist to original (no reusePid coupling) - Remove IsProcessMatchedByFieldOrPid, restore inline matching logic - Move reusePid check before plugin/normal flow in LoadAbility - Add TDD tests for SetExtensionLoadParam, GetValidAppRunningRecordByPid, and LoadAbility reusePid path Co-Authored-By: Agent 🤖 AI[98%] 👌 AI Adopted[98%] 🧑 Human[2%] Co-authored-by: claude (glm-5.1) <ai@local> Signed-off-by: yewei0794 <weiyejxnf@163.com> Change-Id: I00c745f043dbcbbf2879a4f10398825f589049bf | 4 个月前 | |
foregroundAppConnection添加双边校验 Signed-off-by: 朱菲墨 <zhufeimo1@huawei.com> | 10 个月前 | |
refactor(insight_intent): unify conditional delete into DbCache InsightIntentEventMgr::DeleteInsightIntent, the uninstall flow in DeleteInsightIntentEvent and InsightIntentSysEventReceiver::DeleteInsightIntent all carried their own delete logic with slight drift. Route them through the single guarded entry InsightIntentDbCache::DeleteInsightIntentTotalInfo, which now: - applies HasBundleCache (replaces CanSkipDelete, three-layer checks: user mismatch, failed cache load, then map lookup) - deletes in-memory entries and rdb rows only when the cache proves presence, returning whether the delete succeeded - drops the unused single-arg HasBundleCache overload Follow-up work (BackupRdb, function unregister) stays at the call sites. Co-Authored-By: Agent AI[100%] Human Fixed[0%] Human[0%] AI Adopted[100%] Co-authored-by: claude (glm-5.3) <ai@local> Change-Id: Iceea785c76cafe35f451a305c7da9a6c107b6d03 Signed-off-by: RuiChen_01 <chenrui193@huawei.com> | 1 个月前 | |
delete const Signed-off-by: x30044351 <xuzheheng2@h-partners.com> AI[67%] Human Fixed[0%] Human[33%] AI Adopted[100%] Change-Id: If8cb39746a57625774792964894ec563e8f065f9 | 1 个月前 | |
扫描问题修改 Signed-off-by: zhu-feimo <zhufeimo1@huawei.com> AI[53%] Human Fixed[0%] Human[47%] AI Adopted[100%] | 2 个月前 | |
add note Signed-off-by: xuzheheng <xuzheheng2@h-partners.com> Co-Authored-By: Agent | 6 个月前 | |
fix undeveloper Mode Debug App Signed-off-by: tantingting <tantingting5@huawei.com> | 2 年前 | |
Connect ModularObjectExtension Co-Authored-By:Agent Signed-off-by: zhangyuhang72 <zhangyuhang72@h-partners.com> Change-Id: I142c0ab148217c74d34403cb48fc67f9e87e1e9b | 5 个月前 | |
kv_point Signed-off-by: Luobniz21 <luoyicong@h-partners.com> Change-Id: I6244317d773f76bb7db4c23934681e86bd7dfb00 | 8 个月前 | |
feat: keep alive for 3rd-party apps Signed-off-by: yangxuguang-huawei <yangxuguang3@huawei.com> | 1 年前 | |
PCcLAw拉起cli分身,优化sessionInfo.want中携带非系统定义字段,使用requestID缓存机制存储 Signed-off-by: lidongrui <lidongrui3@huawei.com> Co-Authored-By: Agent 🤖 AI[99%] 🔧 Human Fixed[0%] 🧑 Human[1%] 👌 AI Adopted[100%] Co-authored-by: opencode (glm-5.2) <ai@local> | 1 个月前 | |
screenlock部件解耦 Signed-off-by: 朱菲墨 <zhufeimo1@huawei.com> | 1 年前 | |
fix(skill): match target death by pid to avoid child process false cleanup OnTargetProcessDied matched records by bundleName only. Same-bundle child processes share the bundleName with the main process, so any child death incorrectly cleaned up the main process's SkillExecuteRecord, causing ExecuteSkillDone to return ERR_CODE_INVALID_ID and lose the query result. Introduce targetPid in SkillExecuteRecord, backfilled in OnLaunchCompleted via IPCSkeleton::GetCallingPid() (the notify caller is the target process). OnTargetProcessDied now matches by pid. targetPid=0 (before OnLaunchCompleted) skips cleanup, relying on timeout / launch-failure fallback. Co-Authored-By: Agent Signed-off-by: RuiChen_01 <chenrui193@huawei.com> | 2 个月前 | |
block process termination Signed-off-by: xhz-sz <xiehuandong@huawei.com> Co-Authored-By: Agent | 4 个月前 | |
new cross user embeddedUI Co-Authored-By: Agent Signed-off-by: wlh2624_DS <1968860844@qq.com> | 4 个月前 | |
!20293 merge log into master add log Created-by: xuzheheng Commit-by: x30044351 Merged-by: openharmony_ci Description: **IssueNo**: https://gitcode.com/openharmony/ability_ability_runtime/issues/16050 **Description**: add log **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | √ | | 成员变量进行赋值或创建需要排查并发 | √ | | 谨慎在lambda表达式中使用引用捕获 | √ | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | √ | | map\vector\list\set等stl模板类使用时需要排查并发 | √ | | 谨慎考虑加锁范围 | √ | | 在IPC通信中谨慎使用同步通信方式 | √ | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | √ | | 禁止将外部传入的裸指针在内部直接构造智能指针 | √ | | 禁止多个独立创建的智能指针管理同一地址 | √ | | 禁止在析构函数中抛异步任务 | √ | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | √ | | 禁止在对外接口中未经判空直接使用外部传入的指针 | √ | | 禁止接口返回局部变量引用 | √ | | 禁止在信号函数中加锁 | √ | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | √ | | 禁止将同一个cpp编译在不同的so中 | √ | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | √ | | json对象在取值之前必须先判断类型,避免类型不匹配 | √ | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | √ | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | √ | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | √ | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | √ | | readParcelable获取的对象使用前需要判空 | √ | | 分配和释放内存的函数需要成对出现 | √ | | 申请内存后异常退出前需要及时进行内存释放 | √ | | 内存申请前必须对内存大小进行合法性校验 | √ | | 内存分配后必须判断是否成功 | √ | | 禁止使用realloc、alloca函数 | √ | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | √ | | 禁止打印内存地址 | √ | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | √ | | 禁止对有符号整数进行位操作符运算 | √ | | 禁止对指针进行逻辑或位运算 | √ | | 循环次数如果收外部数据控制,需要检验其合法性 | √ | | 禁止使用内存操作类危险函数,需要使用安全函数 | √ | | 谨慎使用不可重入函数 | √ | | 必须检查安全函数的返回值,并进行正确处理 | √ | | 禁止仅通过TokenType类型判断绕过权限校验 | √ | **TDD Result**:√ **XTS Result**:√ ### 是否已执行L0用例 - [ √] 已验证 - [ ] 不涉及。如不涉及,请写明理由 ### AI检视评分(使用本地代码检视skills扫描): See merge request: openharmony/ability_ability_runtime!20293 | 1 个月前 | |
应用自启动可配置隐藏启动 Co-Authored-By: Agent Signed-off-by: 朱菲墨 <zhufeimo1@huawei.com> | 6 个月前 | |
应用选择框启动优化 Signed-off-by: zhu-feimo <zhufeimo1@huawei.com> 🤖 AI[47%] 🔧 Human Fixed[0%] 🧑 Human[53%] 👌 AI Adopted[100%] | 2 个月前 | |
intent background Signed-off-by: zhuhan <zhuhan10@huawei.com> Change-Id: Ic7b444ca7c4729f80a3041386ce02e9d78d33207 | 2 年前 | |
fix event util Signed-off-by: unknown <sijunjie@huawei.com> | 10 个月前 | |
abilityrecord refactory Signed-off-by: y00620503 <yewei43@huawei.com> | 9 个月前 | |
ability record refactor Signed-off-by: wangzhen <wangzhen416@huawei.com> | 10 个月前 | |
元能力代码仓对Remote()调用做判空加固 Signed-off-by: Baisong Zhong <zhongbaisong@huawei.com> Change-Id: I110ecc5a18d3c47e1c3d9fd6277aab998016e168 | 2 年前 | |
feat: support app clone for ModularObjectExtension - Use uid comparison instead of bundleName in CheckInProcessLaunchMode to prevent clone app connecting main app's IN_PROCESS extension - Add MODULAR_OBJECT to IsSupportAppClone for app clone support - Make AppMgr MakeProcessName not append appCloneIndex for MODULAR_OBJECT (same as UIExtension) - Prepend appCloneIndex to processName in CROSS_PROCESS mode on AMS side; IN_PROCESS mode skips prepend since caller process already has correct name - Update and add test cases for all new branches Co-Authored-By: Agent Signed-off-by: yewei0794 <weiyejxnf@163.com> Change-Id: I98cbd3d253d92264333e0d7dd318ac4207cb3a5c | 4 个月前 | |
回退 'Pull Request !14812 : description:元能力IDL化整改-001' | 1 年前 | |
feat: add skill execute timeout mechanism and fix ServiceExtension context Reuse AMS EventHandler timeout framework to protect SkillExecuteManager from stale EXECUTING records. When the target app never calls completeArkTSScriptInApp, the record is automatically cleaned up after timeout and the caller receives ERR_TIMED_OUT via callback. Timeout = GetAppStartTimeoutTime() * SKILL_EXECUTE_TIMEOUT_MULTIPLE (10s in production, 150s under ASAN), aligned with InsightIntent. Also fix VerifyContext property name: ServiceExtension context uses "extensionAbilityInfo" not "extensionInfo", which caused completeArkTSScriptInApp to silently fail for ServiceExtension targets. Co-Authored-By: Agent Change-Id: I4e02afc0a75c069b1c5cb677fa81b469ef566f34 Signed-off-by: RuiChen_01 <chenrui193@huawei.com> | 4 个月前 | |
fauilure code Signed-off-by: zexin_c <chenzexin14@huawei.com> | 1 年前 | |
abilityms字节对齐 Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com> Change-Id: I2fa1fef9905947bcaed396419ff325f4ce606c6e | 1 年前 | |
东湖_退后台传入isFromScreenOffBackground_ Signed-off-by: lidongrui <lidongrui3@huawei.com> Co-Authored-By: Agent | 2 个月前 | |
【元能力】【Ability组件】支持设置U1下的AppServiceExtension开机自启-EMD端可跨用户设置自启 Signed-off-by: zhangzezhong <zhangzezhong8@huawei-partners.com> | 1 年前 | |
多用户OTA场景应用自启动优化 Signed-off-by: zhu-feimo <zhufeimo1@huawei.com> AI[100%] Human Fixed[0%] Human[0%] AI Adopted[100%] Co-authored-by: claude (glm-4.7) <ai@local> Co-authored-by: claude (glm-5.3) <ai@local> Co-authored-by: claude (glm-5.3) <ai@local> | 1 个月前 | |
E2E接续 Signed-off-by: MisterE<smart_e@126.com> Co-Authored-By: Agent | 1 个月前 | |
refactor: prelaunch no call request Signed-off-by: yangxuguang-huawei <yangxuguang3@h-partners.com> AI[100%] Human Fixed[0%] Human[0%] AI Adopted[100%] Co-authored-by: pi (glm-5.2) <ai@local> Change-Id: Ic48c93dcef13e366ed3da1cd4774289497c00f5a | 1 个月前 | |
在 IPC 入口统一清理 Want 携带的意图与 Skill 参数 在 AbilityManagerStub 的所有非合法 InsightIntent 通道的 Want 读取点 新增 SanitizeWantParams 调用,统一剥离 InsightIntent* 与 Skill* 参数。 仅 ExecuteIntentForDistributedInner 和 StartAbilityByInsightIntentInner 两个合法执行通道保留原始 Want,并以注释显式标记。 Co-Authored-By: Agent Signed-off-by: RuiChen_01 <chenrui193@huawei.com> 🤖 AI[0%] 🔧 Human Fixed[0%] 🧑 Human[100%] 👌 AI Adopted[0%] | 2 个月前 | |
!20247 merge dlpappspawn2 into master add dlp flag2 Created-by: hanchen45 Commit-by: hanchen45 Merged-by: openharmony_ci Description: **IssueNo**: **Description**: **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | | | 成员变量进行赋值或创建需要排查并发 | | | 谨慎在lambda表达式中使用引用捕获 | | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | | | map\vector\list\set等stl模板类使用时需要排查并发 | | | 谨慎考虑加锁范围 | | | 在IPC通信中谨慎使用同步通信方式 | | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | | | 禁止将外部传入的裸指针在内部直接构造智能指针 | | | 禁止多个独立创建的智能指针管理同一地址 | | | 禁止在析构函数中抛异步任务 | | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | | | 禁止在对外接口中未经判空直接使用外部传入的指针 | | | 禁止接口返回局部变量引用 | | | 禁止在信号函数中加锁 | | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | | | 禁止将同一个cpp编译在不同的so中 | | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | | | json对象在取值之前必须先判断类型,避免类型不匹配 | | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | | | readParcelable获取的对象使用前需要判空 | | | 分配和释放内存的函数需要成对出现 | | | 申请内存后异常退出前需要及时进行内存释放 | | | 内存申请前必须对内存大小进行合法性校验 | | | 内存分配后必须判断是否成功 | | | 禁止使用realloc、alloca函数 | | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | | | 禁止打印内存地址 | | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | | | 禁止对有符号整数进行位操作符运算 | | | 禁止对指针进行逻辑或位运算 | | | 循环次数如果收外部数据控制,需要检验其合法性 | | | 禁止使用内存操作类危险函数,需要使用安全函数 | | | 谨慎使用不可重入函数 | | | 必须检查安全函数的返回值,并进行正确处理 | | | 禁止仅通过TokenType类型判断绕过权限校验 | | **TDD Result**: **XTS Result**: ### 是否已执行L0用例 - [ ] 已验证 - [ ] 不涉及。如不涉及,请写明理由 ### AI检视评分(使用本地代码检视skills扫描): # 代码检视报告 — commit 50aa8bf "add dlp flag2" > 统一报告由 codecheck 工作台生成,**用于门禁管控**。 --- ## 报告元数据 <!-- codecheck-report-metadata:start --> yaml codecheck_report: schema_version: "1.0" scope: "commit-50aa8bf786134ab807c5ca471c03d90ba77a4b70" round: 2 commit_id: "50aa8bf786134ab807c5ca471c03d90ba77a4b70" change_id: "N/A" report_id: "commit-50aa8bf786134ab807c5ca471c03d90ba77a4b70-R2" date: "2026-08-21" gate_decision: "approve" risk_level: "low" score: 92 dimensions_required: ["security", "logic"] dimensions_executed: ["security", "logic", "input"] findings_total: 4 findings_by_severity: {P0: 0, P1: 0, P2: 0, P3: 4} gate_blockers: 0 must_fix: 0 followups: 4 <!-- codecheck-report-metadata:end --> --- ## 1. 门禁结论 | 项目 | 结论 | |---|---| | 决策 | **approve** | | 风险等级 | 🟢 low | | 评分 | **92/100** | | 阻塞项 | 无 | | 必须修复(P0/P1) | 0 项 | | 建议跟进(P2/P3) | 4 项 | **一句话结论**:Round 1 的 P1 发现(DLP 标志丢失回归)经产品约束确认后触发链全部不可达、已推翻;BuildStartFlags 的 customFlag 处理逻辑在现有约束下行为正确,剩余 4 项 P3 均为一致性/纵深防御建议,不阻塞合入。 --- ## 2. 扣分原因 > 本节仅 gate_decision=block 时呈现,本次为 approve,省略。 --- ## 3. 必须立即处理(P0/P1) **无。** (Round 1 的 F-1 已在 Round 2 推翻,详见 refute_log.md) --- ## 4. 建议本轮或下一补档处理(P2/P3) | ID | 优先级 | 问题 | 建议行动 | 排期 | |---|---|---|---|---| | F-6 | P3 | 无效 customFlag 的 fail-open(跳过 + 告警)依赖隐式产品约束(DLP 沙箱不支持指定进程)才无害;约束变更或新增消费路径时会引入 DLP 位丢失 | 无效值回退 securityFlag 分支(fail-safe),或至少在 appspawn_util.h 注释固化该约束 | 下一版本 | | F-2 | P3 | customFlag 与 securityFlag 语义重叠,冲突时以 customFlag 为准(可越过 securityFlag=true 选 FULL_CONTROL),优先级规则未文档化 | 在 app_spawn_client.h StartFlags 处补充两参数优先级说明;长期收敛为单一参数 | 下一版本 | | F-3 | P3 | 仅 ForegroundAbility 清理 customFlag,启动事务/BackgroundAbility/NewWant 等生命周期分发均未清理(securityFlag 亦从未清理),防泄漏不对称 | 明确清理意图后统一处理:要么全链路清理 DLP 保留参数,要么移除该单点清理 | 下一补档 | | F-4 | P3 | appmgr 侧仅对 securityFlag 做 appRecord 级归一化(4818 存 / 5316 写回),customFlag 无对称处理,进程内二次加载/进程恢复时来源规则不一致 | 仿照 securityFlag 为 customFlag 补齐 SetDlpCustomFlag/GetDlpCustomFlag 记录级存取 | 下一补档 | --- ## 5. 分维度速览 | 维度 | 结果 | 关键说明 | |---|---|---| | security | 2 P3 | F-6 fail-open 纵深防御;F-2 参数重叠(权限集合较旧逻辑无扩张,refute 降级) | | logic | 2 P3 | F-3 生命周期清理不对称;F-4 记录级归一化不对称 | | input | 无独立发现 | customFlag 类型安全(GetIntParam)+ 消费点白名单校验防越界移位,无注入面 | | api | N/A(未调度) | 本提交未修改 interfaces/kits/ 公共接口,无公共 API 变更,不在必检维度 | --- ## 6. 关键发现详情 ### [F-6] 无效 customFlag 的 fail-open 处理依赖隐式产品约束(P3, scanner=security) - **位置**:services/appmgr/include/utils/appspawn_util.h:49-55 - **触发路径**(当前约束下不可达,为约束变更时的潜在路径):需 want 携带"存在但无效"的 customFlag 且到达 BuildStartFlags。Round 2 已证实:主进程冷启动不写回(caller 为 dlpmanager,条件不成立)、主进程热启动不消费、指定进程被产品约束排除。 - **影响**:若未来 DLP 沙箱支持指定进程 ability,或有新代码路径将带无效 customFlag 的 want 送入 BuildStartFlags,则 DLP_INDEX != 0 时 READ_ONLY/FULL_CONTROL 均不设置(旧逻辑保证必设其一),appspawn 侧 DLP 挂载模式不受控。 - **证据**:appspawn_util.h:49-55 else 结构锁定不回退;ability_manager_service.cpp:8976-8981 写回条件分析见 refute_log.md Round 2。 - **建议**:无效值时回退 securityFlag 分支(fail-safe,改动约 5 行);或至少在 appspawn_util.h 与 app_spawn_client.h 注释标明"customFlag 有效值仅 37/38,无效时跳过依赖 DLP 沙箱不支持指定进程的约束",防止后续演进中踩雷。 ### [F-2] customFlag 与 securityFlag 语义重叠且优先级未文档化(P3, scanner=security) - **位置**:services/appmgr/include/utils/appspawn_util.h:49-61、services/appmgr/include/app_spawn_client.h:122-123 - **触发路径**:want 同时携带 securityFlag=true 与 customFlag=37 → 以 customFlag 为准设 FULL_CONTROL。 - **影响**:customFlag 白名单 {37,38} 与旧 securityFlag 二值语义完全等值,未扩大可表达权限集合 → 非新增攻击面,仅为参数重叠与隐式优先级问题。 - **建议**:在 StartFlags 枚举处注释两参数优先级;长期收敛为单一参数。 ### [F-3] 生命周期分发仅 ForegroundAbility 清理 customFlag(P3, scanner=logic) - **位置**:services/abilitymgr/src/ability_record.cpp:435 - **触发路径**:rg "RemoveParam\(DLP_PARAMS" 在 ability_record.cpp 全文仅命中此一处;首次启动事务 ScheduleAbilityTransaction、BackgroundAbility、NewWant 分发均携带 customFlag。 - **影响**:若意图是防止应用侧感知该保留参数,则清理不完整;若非此意图则该单点清理引入了新的不一致。无直接安全后果。 - **建议**:明确意图后统一处理;可在 want 出口清理点集中处理 DLP 保留参数。 ### [F-4] appmgr 侧 customFlag 未做记录级归一化(P3, scanner=logic) - **位置**:services/appmgr/src/app_mgr_service_inner.cpp:4818、:5316 - **触发路径**:securityFlag 在 appRecord 创建时存入(4818)、进程存活期间二次加载 ability 时写回 want 归一化(5316);customFlag 无对称链路。 - **影响**:当前冷启动消费点直读 want,无直接错误行为;但与 5316 的 securityFlag 覆盖逻辑组合时,两参数在进程恢复/二次加载场景下来源规则不一致,存在隐性行为漂移。 - **建议**:仿照 securityFlag 为 AppRunningRecord 补齐 customFlag 存取与写回;或与 F-2 的参数收敛方案一并处理。 See merge request: openharmony/ability_ability_runtime!20247 | 1 个月前 | |
support skill execute Co-Authored-By: Agent Change-Id: If269cf2bf97f5bc1f671b528d9d648a5b69fedb3 Signed-off-by: RuiChen_01 <chenrui193@huawei.com> new cmd Change-Id: Id9b3d5f48412705c544602e4124d39e9d06f1cb1 Signed-off-by: zexin_c <chenzexin14@huawei.com> | 4 个月前 | |
support skill execute Co-Authored-By: Agent Change-Id: If269cf2bf97f5bc1f671b528d9d648a5b69fedb3 Signed-off-by: RuiChen_01 <chenrui193@huawei.com> new cmd Change-Id: Id9b3d5f48412705c544602e4124d39e9d06f1cb1 Signed-off-by: zexin_c <chenzexin14@huawei.com> | 4 个月前 | |
modify marco definition for ability_runtime Signed-off-by: 黄师伟 <huangshiwei4@huawei.com> | 4 年前 | |
modify marco definition for ability_runtime Signed-off-by: 黄师伟 <huangshiwei4@huawei.com> | 4 年前 | |
modify marco definition for ability_runtime Signed-off-by: 黄师伟 <huangshiwei4@huawei.com> | 4 年前 | |
OpenLink支持聚合链接 Signed-off-by: 朱菲墨 <zhufeimo1@huawei.com> | 1 年前 | |
Revert "JSON统一为cJSON" Signed-off-by: 13776621730 <zhawei12@huawei-partners.com> Change-Id: I69dc57782680ece5c5d2d1416464516405d070ad | 1 年前 | |
Use ffrt::mutex in ffrt task Signed-off-by: wangzhen <wangzhen416@huawei.com> Change-Id: I323542b4cf34394d944263287ac61e3de5cc892c | 6 个月前 | |
AMS退出原因整改性能优化 Signed-off-by: 朱菲墨 <zhufeimo1@huawei.com> Co-Authored-By: Agent | 5 个月前 | |
!20107 merge exitReason_0807 into master supplement exitReason Created-by: renjh5496 Commit-by: renjh5496 Merged-by: openharmony_ci Description: **IssueNo**: https://gitcode.com/openharmony/ability_ability_runtime/issues/15892 **Description**: **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | pass | | 成员变量进行赋值或创建需要排查并发 | pass | | 谨慎在lambda表达式中使用引用捕获 | pass | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | pass | | map\vector\list\set等stl模板类使用时需要排查并发 | pass | | 谨慎考虑加锁范围 | pass | | 在IPC通信中谨慎使用同步通信方式 | pass | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | pass | | 禁止将外部传入的裸指针在内部直接构造智能指针 | pass | | 禁止多个独立创建的智能指针管理同一地址 | pass | | 禁止在析构函数中抛异步任务 | pass | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | pass | | 禁止在对外接口中未经判空直接使用外部传入的指针 | pass | | 禁止接口返回局部变量引用 | pass | | 禁止在信号函数中加锁 | pass | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | pass | | 禁止将同一个cpp编译在不同的so中 | pass | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | pass | | json对象在取值之前必须先判断类型,避免类型不匹配 | pass | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | pass | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | pass | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | pass | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | pass | | readParcelable获取的对象使用前需要判空 | pass | | 分配和释放内存的函数需要成对出现 | pass | | 申请内存后异常退出前需要及时进行内存释放 | pass | | 内存申请前必须对内存大小进行合法性校验 | pass | | 内存分配后必须判断是否成功 | pass | | 禁止使用realloc、alloca函数 | pass | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | pass | | 禁止打印内存地址 | pass | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | pass | | 禁止对有符号整数进行位操作符运算 | pass | | 禁止对指针进行逻辑或位运算 | pass | | 循环次数如果收外部数据控制,需要检验其合法性 | pass | | 禁止使用内存操作类危险函数,需要使用安全函数 | pass | | 谨慎使用不可重入函数 | pass | | 必须检查安全函数的返回值,并进行正确处理 | pass | | 禁止仅通过TokenType类型判断绕过权限校验 | pass | **TDD Result**: **XTS Result**: ### 是否已执行L0用例 - [ ] 已验证 - [ ] 不涉及。如不涉及,请写明理由 ### AI检视评分(使用本地代码检视skills扫描): codecheck_report: schema_version: "1.0" scope: "PR #20107 NotifyAppMgrRecordExitReasonCompability reason 参数扩展" round: 1 commit_id: "N/A(基于 PR diff 检视,未 clone 本地仓库)" change_id: "N/A(PR diff 未包含 Change-Id)" commit_subject: "feat: NotifyAppMgrRecordExitReasonCompability 新增 int32_t reason 参数,IPC 全链路透传 ExitReasonCompability.reason" date: "2026-08-07" dimensions_required: ["security-scanner", "logic-scanner", "input-scanner"] dimensions_executed: ["security-scanner", "logic-scanner", "input-scanner"] waived_dimensions: [] findings_total: 3 findings_by_severity: {P0: 0, P1: 0, P2: 1, P3: 2} score: 91 risk_level: "low" gate_decision: "approve" gate_blockers: [] must_fix: [] followups: ["SEC-02", "LOG-02"] See merge request: openharmony/ability_ability_runtime!20107 | 1 个月前 | |
add fix close assert fault dialog Signed-off-by: xinking129 <xinxin13@huawei.com> | 2 年前 | |
add recordId verification Signed-off-by: donglin <donglin9@huawei.com> Change-Id: Ie08908e2782a4bfa0ed1f64dd71be13b4a50c15d | 2 年前 | |
abilityms字节对齐 Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com> Change-Id: I2fa1fef9905947bcaed396419ff325f4ce606c6e | 1 年前 | |
refactor: rename bg abbreviation to background for clarity Rename all 'bg' abbreviations to full 'background' word across BgUserExtensionMonitor feature code, including: - File names: bg_user_extension_monitor -> background_user_extension_monitor - Class/struct names: BgUserExtensionMonitor -> BackgroundUserExtensionMonitor - Method names: OnBgUserExtensionStarted -> OnBackgroundUserExtensionStarted - Constants: BG_START_EVENT_VALUE -> BACKGROUND_START_EVENT_VALUE - All log messages and test names Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com> Co-Authored-By: Agent Change-Id: Idcf82f70e7381334ab48e2b0a8cb71733fd48e47 | 4 个月前 | |
code review Signed-off-by: wangzhen <wangzhen416@huawei.com> | 8 个月前 | |
so_cpp Signed-off-by: Luobniz21 <luoyicong@h-partners.com> Change-Id: I4305ff366fb545d18651807a9b017fdeffb2ad37 | 7 个月前 | |
fix connect Signed-off-by: xhz-sz <xiehuandong@huawei.com> fix connect Signed-off-by: xhz-sz <xiehuandong@huawei.com> fix connect Signed-off-by: xhz-sz <xiehuandong@huawei.com> fix connect Signed-off-by: xhz-sz <xiehuandong@huawei.com> | 8 个月前 | |
suspend & resume connection Signed-off-by: jicheng <jicheng@huawei.com> | 1 年前 | |
suspend & resume connection Signed-off-by: jicheng <jicheng@huawei.com> | 1 年前 | |
bugfix: agent connection/disconnection Co-Authored-By: Agent Signed-off-by: yangxuguang-huawei <yangxuguang3@huawei.com> | 3 个月前 | |
so_cpp Signed-off-by: Luobniz21 <luoyicong@h-partners.com> Change-Id: I4305ff366fb545d18651807a9b017fdeffb2ad37 | 7 个月前 | |
suspend & resume connection Signed-off-by: jicheng <jicheng@huawei.com> | 1 年前 | |
modify marco definition for ability_runtime Signed-off-by: 黄师伟 <huangshiwei4@huawei.com> | 4 年前 | |
Issue:#I8T032 Signed-off-by: zhoushicheng <zhoushicheng2@huawei.com> Change-Id: Ia8eff4b5f9d1b37b07c5c00180e3ccfa9af1281e | 2 年前 | |
kv_point Signed-off-by: Luobniz21 <luoyicong@h-partners.com> Change-Id: I6244317d773f76bb7db4c23934681e86bd7dfb00 | 8 个月前 | |
隐私弹窗拦截优化 Co-Authored-By: Agent Signed-off-by: 朱菲墨 <zhufeimo1@huawei.com> | 3 个月前 | |
caochunlei1@huawei.com Signed-off-by: caochunlei <caochunlei1@huawei.com> | 3 年前 | |
yizhixing Signed-off-by: zhengzhuolan <zhengzhuolan@huawei-partners.com> | 7 个月前 | |
增强 ScreenUnlockInterceptor 配置加载失败的鲁棒性 当 ams_extension_config.json 读取或解析失败时,configMap_ 为空, 导致所有 extension 在解锁前被拦截。增加 isConfigLoaded_ 标志位, 配置未加载成功时拦截器直接放行所有 extension。 变更内容: - ExtensionConfig 新增 std::atomic<bool> isConfigLoaded_ 标志 - LoadExtensionConfig 解析完成后设置标志为 true - ScreenUnlockInterceptor::CheckExtensionInterception 增加前置判断, 配置未加载时直接返回 ERR_OK 放行 - 补充 4 个测试用例覆盖新增分支,修改 NoConfig 测试用例适配新逻辑 Signed-off-by: yewei0794 <weiyejxnf@163.com> Co-Authored-By: Agent 🤖 AI[100%] 👌 AI Adopted[100%] 🧑 Human[0%] Co-authored-by: claude (glm-5.1) <ai@local> Change-Id: Iaed7559ddceb3914c69366aa38b58347b5478492 | 4 个月前 | |
隐式查询添加打点排查 Signed-off-by: zhangyuhang72 <zhangyuhang72@h-partners.com> AI[83%] Human Fixed[0%] Human[17%] AI Adopted[100%] Co-authored-by: opencode (glm-5.2) <ai@local> Change-Id: I08bedffa281a5809ba54e2693c60288515c293ef | 1 个月前 | |
后台组件问题修复 Signed-off-by: zhangyuhang72 <zhangyuhang72@h-partners.com> AI[82%] Human Fixed[0%] Human[18%] AI Adopted[100%] Co-authored-by: opencode (glm-5.2) <ai@local> Change-Id: If6b927dd1b69b88e339fca68718cf4be07260a62 | 2 个月前 | |
免安装场景/隐式启动场景/MoveMissionToFront/应用选择框和分身选择框场景 支持传递startOptions Signed-off-by: lidongrui <lidongrui3@huawei.com> Co-Authored-By: Agent 🤖 AI[4%] 🔧 Human Fixed[0%] 🧑 Human[96%] 👌 AI Adopted[100%] | 1 个月前 | |
add recordId verification Signed-off-by: donglin <donglin9@huawei.com> Change-Id: Ie08908e2782a4bfa0ed1f64dd71be13b4a50c15d | 2 年前 | |
隐藏启动uid改pid2 Signed-off-by: 朱菲墨 <zhufeimo1@huawei.com> | 1 年前 | |
code review fix Signed-off-by: wangzhen <wangzhen416@huawei.com> AI[100%] Human Fixed[0%] Human[0%] AI Adopted[100%] Co-authored-by: opencode (glm-5.2) <ai@local> Change-Id: I966cecf3b747ed2e7fcdedb70f06bb434914a03c | 1 个月前 | |
change json to cpp Co-Authored-By: Agent Signed-off-by: zhangzezhong <zhangzezhong8@huawei-partners.com> | 5 个月前 | |
!19996 merge kiosk into master add kiosk Created-by: xuzheheng Commit-by: x30044351 Merged-by: openharmony_ci Description: **IssueNo**: https://gitcode.com/openharmony/ability_ability_runtime/issues/15796 **Description**: add kiosk **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | √ | | 成员变量进行赋值或创建需要排查并发 | √ | | 谨慎在lambda表达式中使用引用捕获 | √ | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | √ | | map\vector\list\set等stl模板类使用时需要排查并发 | √ | | 谨慎考虑加锁范围 | √ | | 在IPC通信中谨慎使用同步通信方式 | √ | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | √ | | 禁止将外部传入的裸指针在内部直接构造智能指针 | √ | | 禁止多个独立创建的智能指针管理同一地址 | √ | | 禁止在析构函数中抛异步任务 | √ | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | √ | | 禁止在对外接口中未经判空直接使用外部传入的指针 | √ | | 禁止接口返回局部变量引用 | √ | | 禁止在信号函数中加锁 | √ | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | √ | | 禁止将同一个cpp编译在不同的so中 | √ | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | √ | | json对象在取值之前必须先判断类型,避免类型不匹配 | √ | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | √ | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | √ | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | √ | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | √ | | readParcelable获取的对象使用前需要判空 | √ | | 分配和释放内存的函数需要成对出现 | √ | | 申请内存后异常退出前需要及时进行内存释放 | √ | | 内存申请前必须对内存大小进行合法性校验 | √ | | 内存分配后必须判断是否成功 | √ | | 禁止使用realloc、alloca函数 | √ | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | √ | | 禁止打印内存地址 | √ | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | √ | | 禁止对有符号整数进行位操作符运算 | √ | | 禁止对指针进行逻辑或位运算 | √ | | 循环次数如果收外部数据控制,需要检验其合法性 | √ | | 禁止使用内存操作类危险函数,需要使用安全函数 | √ | | 谨慎使用不可重入函数 | √ | | 必须检查安全函数的返回值,并进行正确处理 | √ | | 禁止仅通过TokenType类型判断绕过权限校验 | √ | **TDD Result**:√ **XTS Result**:√ ### 是否已执行L0用例 - [ √] 已验证 - [ ] 不涉及。如不涉及,请写明理由 ### AI检视评分(使用本地代码检视skills扫描): See merge request: openharmony/ability_ability_runtime!19996 | 2 个月前 | |
add CompletionHandlerForAtomicService Signed-off-by: wangbing <wangbing175@huawei-partners.com> | 1 年前 | |
feat: support app clone for ModularObjectExtension - Use uid comparison instead of bundleName in CheckInProcessLaunchMode to prevent clone app connecting main app's IN_PROCESS extension - Add MODULAR_OBJECT to IsSupportAppClone for app clone support - Make AppMgr MakeProcessName not append appCloneIndex for MODULAR_OBJECT (same as UIExtension) - Prepend appCloneIndex to processName in CROSS_PROCESS mode on AMS side; IN_PROCESS mode skips prepend since caller process already has correct name - Update and add test cases for all new branches Co-Authored-By: Agent Signed-off-by: yewei0794 <weiyejxnf@163.com> Change-Id: I98cbd3d253d92264333e0d7dd318ac4207cb3a5c | 4 个月前 | |
modify marco definition for ability_runtime Signed-off-by: 黄师伟 <huangshiwei4@huawei.com> | 4 年前 | |
fix userId default value Signed-off-by: zhangzezhong <zhangzezhong8@huawei-partners.com> | 6 个月前 | |
refactor: add isRestored_ flag for WantAgent FromString recovery Add a boolean isRestored_ flag to PendingWantRecord to indicate recovery scenarios from WantAgent FromString. Only SEND_COMMON_EVENT uses uid_ as publisherUid when isRestored_ is true, other operations keep using callerUid_ unchanged. Extract ResolveWantSenderUid helper to keep GetWantSenderByUserId under 50 lines. Co-Authored-By: Agent Signed-off-by: RuiChen_01 <chenrui193@huawei.com> 🤖 AI[100%] 👌 AI Adopted[100%] 🧑 Human[0%] Co-authored-by: claude (glm-5.1) <ai@local> Change-Id: I8f313b5fde2b870e28c19127432c5ebb49de7d68 | 4 个月前 | |
refactor(want_agent): remove empty WantSenderStub shell PendingWantRecord now inherits IRemoteStub<IWantSender> directly. WantSenderStub exported no symbols of its own and carried no logic, so drop it along with its dedicated unittest, fuzzer and map entry. Co-Authored-By: Agent AI[100%] Human Fixed[0%] Human[0%] AI Adopted[100%] Co-authored-by: claude (glm-5.3) <ai@local> Change-Id: Ie3012a58d4bf51a52a03858974feefd0f4792e1e Signed-off-by: RuiChen_01 <chenrui193@huawei.com> | 1 个月前 | |
游戏预启动需求 Signed-off-by: lidongrui <lidongrui3@huawei.com> Co-Authored-By: Agent | 5 个月前 | |
add log Signed-off-by: x30044351 <xuzheheng2@h-partners.com> AI[99%] Human Fixed[0%] Human[1%] AI Adopted[100%] Co-authored-by: opencode (glm-5.2) <ai@local> Change-Id: I6bd0bf72d5a60d59cff4503d5cdb0e6837680e10 | 1 个月前 | |
add log Signed-off-by: x30044351 <xuzheheng2@h-partners.com> AI[99%] Human Fixed[0%] Human[1%] AI Adopted[100%] Co-authored-by: opencode (glm-5.2) <ai@local> Change-Id: I6bd0bf72d5a60d59cff4503d5cdb0e6837680e10 | 1 个月前 | |
so_cpp Signed-off-by: Luobniz21 <luoyicong@h-partners.com> Change-Id: I4305ff366fb545d18651807a9b017fdeffb2ad37 | 7 个月前 | |
support dms intent Co-Authored-By: ya Signed-off-by: renjh5496 <renjianhao@h-partners.com> | 5 个月前 | |
kv_point Signed-off-by: Luobniz21 <luoyicong@h-partners.com> Change-Id: I6244317d773f76bb7db4c23934681e86bd7dfb00 | 8 个月前 | |
so_cpp Signed-off-by: Luobniz21 <luoyicong@h-partners.com> Change-Id: I4305ff366fb545d18651807a9b017fdeffb2ad37 | 7 个月前 | |
modify review suggestion Change-Id: I276781a24e87bec69ac4f70728c16a0131d73102 Signed-off-by: z00797421 <zhanyongtao@huawei.com> | 2 个月前 | |
Decouple extensions Signed-off-by: xhz-sz <xiehuandong@huawei.com> | 9 个月前 | |
del jump interceptor Signed-off-by: x30044351 <xuzheheng2@h-partners.com> 🤖 AI[0%] 🔧 Human Fixed[0%] 🧑 Human[0%] 👌 AI Adopted[0%] Change-Id: I566c848f8cae882a69fceca85ad1a0e4c2e9d168 | 1 个月前 | |
abilityms字节对齐 Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com> Change-Id: I2fa1fef9905947bcaed396419ff325f4ce606c6e | 1 年前 | |
modify marco definition for ability_runtime Signed-off-by: 黄师伟 <huangshiwei4@huawei.com> | 4 年前 | |
0719 Signed-off-by: 帝俊 <yexinjie@huawei.com> | 2 年前 | |
fix(want_agent): close IWantSender::Send IPC bypass + hard-remove orphaned machinery Security fix (from initial round): - WantSenderStub::OnRemoteRequest now rejects the legacy WANT_SENDER_SEND IPC with ERR_NO_PERMISSION_CALLER. The direct IWantSender::Send path bypassed PendingWantManager::CheckCallerPermission and was reachable by any client holding an IWantSender handle. - BuildSendWant now honors CONSTANT_FLAG: when the key is created with CONSTANT_FLAG, sender's TriggerInfo.want params are no longer merged into the dispatched Want. Hard removal of orphaned IPC machinery (no live caller — production routes via IAbilityManager::SendWantSender → PendingWantManager::SenderInner): - IWantSender::Send virtual + WANT_SENDER_SEND enum - WantSenderProxy::Send + WriteInterfaceToken - WantSenderStub::OnRemoteRequest override + SendInner (cpp deleted, ctor/dtor switched to = default in header) - PendingWantRecord::Send override - want_sender_proxy_test/ directory - Residual Send(SenderInfo&) override fixtures in 4 test/fuzz files - Stale want_sender_stub.cpp entries from 4 BUILD.gn files Regression coverage: - Drop Send_0100 from pending_want_record_test (called deleted method) - Add BuildSendWant_ConstantFlag_RejectSenderWantParams_0100 to lock the param-isolation behaviour - Add WantSenderStubTest_OnRemoteRequest_Code0_Rejected_0100 and Code0_WithPayload_Rejected_0100 to prevent reintroduction of the IPC bypass without explicit security review - Fix want_receiver_stub_test to use IWantReceiver::WANT_RECEIVER_SEND instead of IWantSender::WANT_SENDER_SEND (copy-paste bug, same value 0) Co-Authored-By: Agent Signed-off-by: RuiChen_01 <chenrui193@huawei.com> 🤖 AI[0%] 🔧 Human Fixed[0%] 🧑 Human[100%] 👌 AI Adopted[0%] | 1 个月前 | |
Ffrt adaptation (mutex and tsk) Signed-off-by: wangzhen <wangzhen346@huawei.com> | 3 年前 | |
方案修改 Signed-off-by: l30059571 <luolu22@huawei.com> | 1 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 个月前 | ||
| 7 个月前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 个月前 | ||
| 7 个月前 | ||
| 4 个月前 | ||
| 10 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 6 个月前 | ||
| 2 年前 | ||
| 5 个月前 | ||
| 8 个月前 | ||
| 1 年前 | ||
| 1 个月前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 6 个月前 | ||
| 2 个月前 | ||
| 2 年前 | ||
| 10 个月前 | ||
| 9 个月前 | ||
| 10 个月前 | ||
| 2 年前 | ||
| 4 个月前 | ||
| 1 年前 | ||
| 4 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 6 个月前 | ||
| 5 个月前 | ||
| 1 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 4 个月前 | ||
| 8 个月前 | ||
| 7 个月前 | ||
| 8 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 3 个月前 | ||
| 7 个月前 | ||
| 1 年前 | ||
| 4 年前 | ||
| 2 年前 | ||
| 8 个月前 | ||
| 3 个月前 | ||
| 3 年前 | ||
| 7 个月前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 个月前 | ||
| 5 个月前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 4 个月前 | ||
| 4 年前 | ||
| 6 个月前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 5 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 7 个月前 | ||
| 5 个月前 | ||
| 8 个月前 | ||
| 7 个月前 | ||
| 2 个月前 | ||
| 9 个月前 | ||
| 1 个月前 | ||
| 1 年前 | ||
| 4 年前 | ||
| 2 年前 | ||
| 1 个月前 | ||
| 3 年前 | ||
| 1 年前 |