Commit Graph

5548 Commits

Author SHA1 Message Date
openharmony_ci 46242fe95e !18246 merge agentUI into master
add agentuiextension Ability

Created-by: zexin_c
Commit-by: zexin_c
Merged-by: openharmony_ci
Description: **IssueNo**:

**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用例
- [x] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18246
2026-02-06 14:50:36 +08:00
zexin_c 842bff506d fix head & module path
Signed-off-by: zexin_c <chenzexin14@huawei.com>
2026-02-06 11:15:49 +08:00
zhang_hao_zheng ba27bd9ec7 update: 更新文件 extension_config_mgr.cpp
Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com>
2026-02-05 16:30:56 +08:00
openharmony_ci 22dc20149f !18197 merge callee_exit into master
Add callee terminate notify

Created-by: zivzhen
Commit-by: wangzhen
Merged-by: openharmony_ci
Description: **IssueNo**:https://gitcode.com/openharmony/ability_ability_runtime/issues/14358

**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |   ok     |
| 成员变量进行赋值或创建需要排查并发                               |      ok  |
| 谨慎在lambda表达式中使用引用捕获                                |      ok  |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |  ok      |
| map\vector\list\set等stl模板类使用时需要排查并发                |      ok  |
| 谨慎考虑加锁范围                                               |       ok |
| 在IPC通信中谨慎使用同步通信方式                                 |   ok     |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |    ok    |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |     ok   |
| 禁止多个独立创建的智能指针管理同一地址                           |     ok   |
| 禁止在析构函数中抛异步任务                                      |    ok    |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |    ok    |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |     ok   |
| 禁止接口返回局部变量引用                                        |     ok   |
| 禁止在信号函数中加锁                                            |    ok   |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |    ok    |
| 禁止将同一个cpp编译在不同的so中                                 |    ok    |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |      ok |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |    ok    |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |    ok    |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |     ok   |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |    ok    |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |     ok   |
| readParcelable获取的对象使用前需要判空                            |      ok  |
| 分配和释放内存的函数需要成对出现                                   |    ok    |
| 申请内存后异常退出前需要及时进行内存释放                            |    ok    |
| 内存申请前必须对内存大小进行合法性校验                              |    ok    |
| 内存分配后必须判断是否成功                                         |     ok   |
| 禁止使用realloc、alloca函数                                       |     ok   |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |    ok    |
| 禁止打印内存地址                                                  |     ok   |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |    ok    |
| 禁止对有符号整数进行位操作符运算                                    |    ok    |
| 禁止对指针进行逻辑或位运算                                         |     ok   |
| 循环次数如果收外部数据控制,需要检验其合法性                         |    ok    |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |     ok   |
| 谨慎使用不可重入函数                                               |      ok  |
| 必须检查安全函数的返回值,并进行正确处理                             |   ok     |
| 禁止仅通过TokenType类型判断绕过权限校验                             |      ok  |

**TDD Result**:
pass
**XTS Result**:
pass

### 是否已执行L0用例
- [x] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18197
2026-02-04 17:52:34 +08:00
wangzhen 8d6469b3bc Code review
Signed-off-by: wangzhen <wangzhen416@huawei.com>
2026-02-04 14:44:41 +08:00
yangxuguang-huawei 8f361c17f4 feat: Connect/Disconnect AgentExtension part3
Signed-off-by: yangxuguang-huawei <yangxuguang3@huawei.com>
2026-02-03 14:06:59 +08:00
openharmony_ci c0d066a3fc !18257 merge bugnewRom into master
bug打点

Created-by: wkljy
Commit-by: wkljy
Merged-by: openharmony_ci
Description: **IssueNo**:https://gitcode.com/openharmony/ability_ability_runtime/issues/14402

**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用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18257
2026-02-03 11:13:00 +08:00
zexin_c 36c694f59d fix gn path
Signed-off-by: zexin_c <chenzexin14@huawei.com>
2026-02-03 09:08:54 +08:00
wkljy 5fa68bab6c bug
Signed-off-by: wkljy <wangkailong6@huawei.com>
2026-02-03 01:18:58 +08:00
openharmony_ci 8c1c64a7e2 !18242 merge bugnewRom into master
bug

Created-by: wkljy
Commit-by: wkljy
Merged-by: openharmony_ci
Description: **IssueNo**:https://gitcode.com/openharmony/ability_ability_runtime/issues/14396

**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用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18242
2026-02-02 15:58:22 +08:00
wkljy fd407bbaaa bug
Signed-off-by: wkljy <wangkailong6@huawei.com>
2026-02-02 14:06:35 +08:00
yangxuguang-huawei 612e8ebb9e feat: Connect/Disconnect AgentExtension part2
Signed-off-by: yangxuguang-huawei <yangxuguang3@huawei.com>
2026-02-02 09:50:51 +08:00
yangxuguang-huawei 8f9a42f00c feat: Connect/Disconnect AgentExtension part1
Signed-off-by: yangxuguang-huawei <yangxuguang3@huawei.com>
2026-01-31 17:36:06 +08:00
openharmony_ci ef2c35bf4f !18212 merge fix_0129 into master
修复needFindPluginHsp_多线程问题

Created-by: ProfaneAria
Commit-by: 任国军
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用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18212
2026-01-30 18:51:53 +08:00
wangzhen e8834e96a7 code review
Signed-off-by: wangzhen <wangzhen416@huawei.com>
2026-01-30 17:43:08 +08:00
openharmony_ci 72b890b2c2 !18219 merge 130runtime into master
support system config register

Created-by: wlh2624_DS
Commit-by: wlh2624_DS
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/14376
**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用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18219
2026-01-30 16:37:05 +08:00
openharmony_ci d50f73d50c !18156 merge zhz_extensionBlockList into master
PR for issue 14328

Created-by: zhang_hao_zheng
Commit-by: zhang_hao_zheng
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/14328

**Description**:
Automated PR creation

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | √ |
| 成员变量进行赋值或创建需要排查并发 | 需要检查 |
| 谨慎在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用例
- [x] 已验证
- [ ] 不涉及。如不涉及,请写明理由

See merge request: openharmony/ability_ability_runtime!18156
2026-01-30 15:32:22 +08:00
wlh2624_DS 1279cab03a support system config register
Signed-off-by: wlh2624_DS <1968860844@qq.com>
2026-01-30 14:41:30 +08:00
zhang_hao_zheng fcdd89986b update: 更新文件 extension_config_mgr.cpp
Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com>
2026-01-30 14:19:07 +08:00
任国军 a3753edc0b fix test
Signed-off-by: 任国军 <renguojun1@h-partners.com>
2026-01-30 10:32:01 +08:00
任国军 8afbbe94f3 format
Signed-off-by: 任国军 <renguojun1@h-partners.com>
2026-01-29 22:31:10 +08:00
任国军 e1a80a4c62 change valueName
Signed-off-by: 任国军 <renguojun1@h-partners.com>
2026-01-29 21:58:27 +08:00
任国军 d75e6a42d4 fix hybrid
Signed-off-by: 任国军 <renguojun1@h-partners.com>
2026-01-29 21:54:52 +08:00
任国军 9b12bec7ef fix needFindPluginHsp_
Signed-off-by: 任国军 <renguojun1@h-partners.com>
2026-01-29 21:45:21 +08:00
openharmony_ci 65995c925b !18180 merge dev_0127_02 into master
修复插件动态安装

Created-by: ProfaneAria
Commit-by: 任国军
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用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18180
2026-01-29 19:16:28 +08:00
zhang_hao_zheng 613efc94bd refactor: 移除LoadExtensionBlockList的type边界检查
- 删除type < 0 || type >= EXTENSION_TYPE_UNKNOWN的边界检查
- 支持任意type值的配置(包括大于EXTENSION_TYPE_UNKNOWN的情况)
- 删除3个相关TDD测试用例(负数、UNKNOWN、超出范围)

修改原因:
实际情况存在type值大于EXTENSION_TYPE_UNKNOWN的场景,
原边界检查会导致合法的配置被拒绝加载。

Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com>
2026-01-29 17:50:46 +08:00
openharmony_ci 5abb123fb0 !18190 merge master into master
process exit optimization

Created-by: zhengdongdong12
Commit-by: 郑冬冬冬
Merged-by: openharmony_ci
Description: **IssueNo**: https://gitcode.com/openharmony/ability_ability_runtime/issues/14354

**Description**:  process exit optimization

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |     OK     |
| 成员变量进行赋值或创建需要排查并发                               |   OK       |
| 谨慎在lambda表达式中使用引用捕获                                |    OK      |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |   OK       |
| map\vector\list\set等stl模板类使用时需要排查并发                |   OK       |
| 谨慎考虑加锁范围                                               |   OK       |
| 在IPC通信中谨慎使用同步通信方式                                 |    OK      |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |   OK       |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |   OK       |
| 禁止多个独立创建的智能指针管理同一地址                           |    OK      |
| 禁止在析构函数中抛异步任务                                      |     OK     |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |   OK       |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |    OK      |
| 禁止接口返回局部变量引用                                        |    OK      |
| 禁止在信号函数中加锁                                            |     OK     |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |    OK      |
| 禁止将同一个cpp编译在不同的so中                                 |    OK      |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |    OK      |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |    OK      |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |     OK     |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |    OK      |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |    OK      |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |    OK      |
| readParcelable获取的对象使用前需要判空                            |    OK      |
| 分配和释放内存的函数需要成对出现                                   |    OK      |
| 申请内存后异常退出前需要及时进行内存释放                            |    OK      |
| 内存申请前必须对内存大小进行合法性校验                              |    OK      |
| 内存分配后必须判断是否成功                                         |    OK      |
| 禁止使用realloc、alloca函数                                       |    OK      |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |    OK      |
| 禁止打印内存地址                                                  |    OK      |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |    OK      |
| 禁止对有符号整数进行位操作符运算                                    |    OK      |
| 禁止对指针进行逻辑或位运算                                         |    OK      |
| 循环次数如果收外部数据控制,需要检验其合法性                         |    OK      |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |     OK     |
| 谨慎使用不可重入函数                                               |    OK      |
| 必须检查安全函数的返回值,并进行正确处理                             |    OK      |
| 禁止仅通过TokenType类型判断绕过权限校验                             |    OK      |

**TDD Result**: OK

**XTS Result**: OK

### 是否已执行L0用例
- [x] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18190
2026-01-29 16:55:13 +08:00
wangzhen 2a1b9e7e52 Add mutex for callers_
Signed-off-by: wangzhen <wangzhen416@huawei.com>
2026-01-29 15:14:10 +08:00
wangzhen 84d4afbbb9 Add callee terminate notify
Signed-off-by: wangzhen <wangzhen416@huawei.com>
2026-01-29 11:36:19 +08:00
zhang_hao_zheng fd5668e508 fix: 修复blackList变量命名歧义并添加线程安全保护
- 将变量名从blackList改为blocklist,消除命名歧义
- 在extensionBlocklist_.emplace处添加mutex锁保护
- 添加break语句避免不必要的循环

Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com>
2026-01-29 11:26:21 +08:00
zhang_hao_zheng e2bf77ecb5 update: 更新文件 extension_config_mgr.cpp
Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com>
2026-01-29 11:11:02 +08:00
zhang_hao_zheng 4f8cf24dfa update: 更新文件 extension_config_mgr.cpp
Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com>
2026-01-29 11:09:18 +08:00
zhang_hao_zheng a01cd5b76b fix: 修复blackList变量命名歧义
- 将变量名从blackList改为blocklist
- 保持currentBlockList变量名不变
- 恢复文件打开失败的日志级别从LOGW到LOGE

Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com>
2026-01-29 11:04:00 +08:00
openharmony_ci 5604b39554 !18189 merge rom2 into master
优化rom

Created-by: wkljy
Commit-by: wkljy
Merged-by: openharmony_ci
Description: **IssueNo**:https://gitcode.com/openharmony/ability_ability_runtime/issues/14316

**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用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18189
2026-01-28 21:41:06 +08:00
openharmony_ci 9979dc294c !18194 merge cherrypick_lodelibray into master
merge master lodelibray

Created-by: renjh5496
Commit-by: renjianhao
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/14356
**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用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18194
2026-01-28 21:06:52 +08:00
openharmony_ci a11a43b5e6 !18131 merge add_vaend into master
add va_end

Created-by: zhongshield1
Commit-by: zhangzezhong
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/14318
**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用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18131
2026-01-28 20:52:17 +08:00
郑冬冬冬 404473fc29 Message: process exit optimization
Signed-off-by: 郑冬冬冬 <zhengchengkai@huawei.com>
2026-01-28 19:27:43 +08:00
renjianhao dc268d2396 merge master lodelibray
Signed-off-by: renjianhao <renjianhao@h-partners.com>
2026-01-28 17:52:25 +08:00
任国军 352f22f8ac fix const
Signed-off-by: 任国军 <renguojun1@h-partners.com>
2026-01-28 17:19:47 +08:00
wkljy db5db36fc2 youhua
Signed-off-by: wkljy <wangkailong6@huawei.com>
2026-01-28 15:12:59 +08:00
任国军 53b9515d31 fix codecheck
Signed-off-by: 任国军 <renguojun1@h-partners.com>
2026-01-28 14:44:20 +08:00
任国军 8f29b7df0c format
Signed-off-by: 任国军 <renguojun1@h-partners.com>
2026-01-28 14:27:29 +08:00
任国军 b7ae04702a 修复插件动态安装
Signed-off-by: 任国军 <renguojun1@h-partners.com>
2026-01-28 11:56:16 +08:00
任国军 d277707774 修复插件动态安装
Signed-off-by: 任国军 <renguojun1@h-partners.com>
2026-01-27 22:18:06 +08:00
openharmony_ci 7ca98fb094 !18121 merge dev_0123 into master
fix needFindPluginHsp_

Created-by: ProfaneAria
Commit-by: 任国军
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用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18121
2026-01-27 14:51:20 +08:00
zhang_hao_zheng 8a65de731c 优化 LoadExtensionBlockList 方法:符合 50 行编码规范
优化策略:
- 删除所有注释(-5 行)
- 删除所有空行(-10 行)
- 精简冗余日志(8 处 → 3 处)
- 合并逻辑判断(文件读取、错误检查、循环逻辑)
- 使用现代 C++ 特性(结构化绑定、移动语义)

优化效果:
- 方法行数:92 行 → 50 行(⬇️ 46%)
- 无新增方法(无需增加 TDD)
- 保留所有功能,保持代码可读性

关联 Issue: https://gitcode.com/openharmony/ability_ability_runtime/issues/14328

Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com>
2026-01-26 21:33:47 +08:00
zhang_hao_zheng 529e059aa9 修正变量名拼写错误:extensionBlockList_ → extensionBlocklist_
修正了 ExtensionConfigMgr 中的变量名拼写不一致问题:
- 头文件定义:extensionBlocklist_(小写 l)
- cpp 文件使用:extensionBlockList_(大写 L)

将所有 cpp 文件中的 extensionBlockList_ 统一改为 extensionBlocklist_
以确保与头文件定义一致,保证编译正确。

**修改内容:**
- frameworks/native/ability/native/extension_config_mgr.cpp

**影响范围:**
- LoadExtensionBlockList() 函数中的所有引用
- UpdateRuntimeModuleChecker() 函数中的所有引用
- GenerateExtensionEtsBlocklists() 函数中的所有引用

**验证:**
-  grep 检查确认无残留错误拼写
-  变量名现在与头文件定义一致

Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com>
2026-01-26 16:24:57 +08:00
zhang_hao_zheng 166b94dbce 修复 ExtensionConfigMgr 的并发安全和边界条件问题
**Critical 问题修复:**

1. **并发安全问题(C1)**
   - 添加 std::mutex 保护 extensionBlocklist_
   - 在 LoadExtensionBlockList 中使用双重检查锁定模式
   - 在 UpdateRuntimeModuleChecker 中使用局部拷贝避免死锁
   - 在 GenerateExtensionEtsBlocklists 中添加锁保护

2. **边界条件检查(C2)**
   - 添加 type 参数有效性检查(type < 0 || type >= EXTENSION_TYPE_UNKNOWN)
   - 添加 extensionName 不存在时的警告日志
   - 改进错误处理逻辑

3. **日志级别优化**
   - 文件不存在:TAG_LOGE -> TAG_LOGW(警告,配置可选)
   - extensionName 不存在:添加 TAG_LOGW
   - JSON 错误:保持 TAG_LOGE

**改进说明:**
- 使用 RAII 风格的 std::lock_guard 自动管理锁
- 在文件 I/O 操作前释放锁,避免长时间持锁
- 添加详细的日志信息便于调试
- 添加成员变量文档注释

**测试影响:**
- 现有 TDD 测试用例需要更新以支持新的错误处理
- 建议运行并发测试验证线程安全性

关联 Issue: https://gitcode.com/openharmony/ability_ability_runtime/issues/14328

Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com>
2026-01-26 16:03:33 +08:00
zhang_hao_zheng f49e3820a2 优化 Extension BlockList 加载机制,按需加载特定 Extension 的黑名单配置
- 移除 Init() 中的全局加载逻辑,改为按需加载
- 新增 LoadExtensionBlockList() 方法,根据 extensionName 和 type 动态加载
- 删除 AddBlockListItem() 和 SetProcessExtensionType() 等冗余方法
- 在 HandleLaunchAbility 中调用 LoadExtensionBlockList() 实现懒加载
- 修复 extension_config_mgr.cpp 中的语法错误(iter != extensionBlockList_.end)

关联 issue: https://gitcode.com/openharmony/ability_ability_runtime/issues/14328

Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com>
2026-01-26 15:38:09 +08:00
openharmony_ci f8d583154a !18106 merge wrapper into master
fix meo

Created-by: xhz-sz
Commit-by: xhz-sz
Merged-by: openharmony_ci
Description: **IssueNo**: https://gitcode.com/openharmony/ability_ability_runtime/issues/14292

**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用例
- [x] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18106
2026-01-24 16:12:32 +08:00