Commit Graph

56 Commits

Author SHA1 Message Date
zhonglufu 3a1c02eca4 fix: remove deleted interfaces from IStorageManager.idl in mock files
Sync mock files with IStorageManager.idl changes from storage_service PR#2985.
Remove Volume/Disk/Partition/Encrypt related interfaces that were deleted:
- NotifyMtpMounted/Unmounted, NotifyVolumeCreated/Mounted/Damaged/StateChanged
- Mount/Unmount/TryToFix/GetAllVolumes, GetAllDisks/GetDiskById
- NotifyDiskCreated/Destroyed, Partition, GetVolumeByUuid/ById
- SetVolumeDescription, Format, QueryUsbIsInUse, IsUsbFuseByType
- Encrypt/Decrypt/Unlock, GetCryptProgressById/UuidById
- BindRecoverKeyToPasswd/UpdateCryptPasswd/ResetCryptPasswd/VerifyCryptPasswd
- NotifyEncryptVolumeStateChanged
- GetPartitionTable/CreatePartition/DeletePartition/FormatPartition

Relates: https://gitcode.com/openharmony/customization_enterprise_device_management/issues/1531

Signed-off-by: zhonglufu <zhonglufu@h-partners.com>
2026-06-27 15:42:18 +08:00
openharmony_ci 3d9780f251 !19429 merge master0523 into master
support mutil user grantUriPermission

Created-by: dsz2025
Commit-by: duansizhao
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!19429
2026-05-29 11:49:19 +08:00
duansizhao a256b4a026 support mutil user grantUriPermission
Co-Authored-By: Agent
Signed-off-by: duansizhao <duansizhao@huawei.com>
Change-Id: I0583be0b87af73e4e6bf8d07941fb362ab389288
2026-05-29 09:56:15 +08:00
DESKTOP-UGVMD4B\DawnComing 26fae10053 desensitivetype修改默认值,补充
Signed-off-by: lidongrui <lidongrui3@huawei.com>
Co-Authored-By: lidongrui
2026-05-21 21:37:12 +08:00
zhangyuhang72 7f80efecc6 修复ExtStartupTsk概率不执行的bug
Signed-off-by: zhangyuhang72 <zhangyuhang72@h-partners.com>
Change-Id: I3684074116219b3bc0794d61503e5a833fe438e2
2026-04-12 17:16:47 +08:00
xialiangwei 50d830d524 hyper
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-03-31 20:57:38 +08:00
openharmony_ci 20a104f317 !18736 merge master0321 into master
feat: add URI permission verification mechanism for content URIs

Created-by: dsz2025
Commit-by: duansizhao
Merged-by: openharmony_ci
Description: **IssueNo**: #14797

**Description**:

Add URI permission verification mechanism for content URIs to enhance security and proper authorization checks.

- Add VerifyUriPermission interface in IAbilityManagerCollaborator
- Add VerifyContentUriPermission in UriPermissionManagerStubImpl
- Mark content URIs as authorized for broker calls
- Add ContentUriPermission verification in CheckProxyUriPermission
- Update mock classes for unit testing

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

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

**TDD Result**:
待确认

**XTS Result**:
待确认

### 是否已执行L0用例
- [ ] 待确认


See merge request: openharmony/ability_ability_runtime!18736
2026-03-27 15:00:36 +08:00
duansizhao 917417dbd9 support anco uri
Co-Authored-By: Agent
Signed-off-by: duansizhao <duansizhao@huawei.com>
Change-Id: Ia4b95c81132fad2e64d54c7dd31ee082007a39da
2026-03-26 17:16:07 +08:00
DESKTOP-UGVMD4B\DawnComing ad38da9f69 rollback_ClearPermissionTokenByMap改为同步调用
Signed-off-by: lidongrui <lidongrui3@huawei.com>
Co-Authored-By: Agent
2026-03-25 14:56:51 +08:00
openharmony_ci e035351938 !18486 merge asynCall into master
ClearPermissionTokenByMap改为异步调用

Created-by: lidongrui
Commit-by: DESKTOP-UGVMD4B\DawnComing
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!18486
2026-03-12 23:27:45 +08:00
DESKTOP-UGVMD4B\DawnComing 4278248cd8 revokeAllUriPermission/ClearUriPermission改为异步调用
Signed-off-by: lidongrui <lidongrui3@huawei.com>
2026-03-07 16:23:52 +08:00
openharmony_ci 288e2508ca !18513 merge 应用自启动支持配置隐藏启动 into master
应用自启动支持配置隐藏启动

Created-by: zhu-feimo
Commit-by: 朱菲墨
Merged-by: openharmony_ci
Description: **IssueNo**:
[#14614](https://gitcode.com/openharmony/ability_ability_runtime/issues/14614) 
**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用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18513
2026-03-07 12:24:42 +08:00
朱菲墨 ff552ec5b3 应用自启动可配置隐藏启动
Co-Authored-By: Agent
Signed-off-by: 朱菲墨 <zhufeimo1@huawei.com>
2026-03-06 12:07:42 +08:00
hanchen45 f0950d1ec7 归一user callback
Signed-off-by: hanchen45 <wanghanchen1@huawei.com>
2026-03-02 16:54:00 +08:00
openharmony_ci 8d0102d429 !18239 merge master into master
删除DeleteUser接口

Created-by: yang-li86
Commit-by: yang-li86
Merged-by: openharmony_ci
Description: **IssueNo**:https://gitcode.com/openharmony/filemanagement_storage_service/issues/1987

**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!18239
2026-02-12 10:42:33 +08:00
duansizhao 330e8e2e4b add oh_mock_utils
Signed-off-by: duansizhao <duansizhao@huawei.com>
Change-Id: I7b82ddd7e48e3d0f4b03ec8c4a274b8964f20c89
2026-02-10 21:48:27 +08:00
renjianhao fdd14f08d4 add tdd
Signed-off-by: renjianhao <renjianhao@h-partners.com>
2026-02-04 11:07:48 +08:00
yang-li86 5b94960afb 删除DeleteUser接口
Signed-off-by: yang-li86 <yangli228@h-partners.com>
2026-02-02 17:35:44 +08:00
Duansizhao 2f9444faf3 规范tdd用例输出路径
Signed-off-by: Duansizhao <duansizhao@huawei.com>
2026-01-27 15:06:01 +08:00
dsz2025 2423bb3354 upms优化
Signed-off-by: dsz2025 <duansizhao@huawei.com>
2026-01-05 13:14:26 +08:00
dsz2025 1c3281d9d3 verifyUriPermission限制dfs调用
Signed-off-by: dsz2025 <duansizhao@huawei.com>
2025-12-08 21:18:56 +08:00
duansizhao dbc7bf5cb1 代码优化
Signed-off-by: duansizhao <duansizhao@huawei.com>
2025-11-03 21:49:48 +08:00
openharmony_ci 780edd7103 !17036 merge master1013 into master
add permission type for setPolicy

Created-by: dsz2025
Commit-by: duansizhao
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**:
![image.png](https://raw.gitcode.com/user-images/assets/4421702/4b06069a-2828-4ff8-83c4-fc5198db7e4e/image.png 'image.png')
**XTS Result**:
![image.png](https://raw.gitcode.com/user-images/assets/4421702/6de6f18d-d915-4710-8287-840e651c2b25/image.png 'image.png')
### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!17036
2025-10-16 22:01:11 +08:00
duansizhao 4d04a922e7 add permission type for setPolicy
Signed-off-by: duansizhao <duansizhao@huawei.com>
Change-Id: I488cd42965eaa7988c30ace38eba4bd9109bb185
2025-10-15 18:35:26 +08:00
AsukaSoryu 1ef0be8df9 Merge branch 'master' of git@gitcode.com:AsukaSoryu/ability_ability_runtime.git into 'master'
# Conflicts:
#   conflict services/appmgr/src/app_running_manager.cpp
S
Signed-off-by: AsukaSoryu <gongyuechen@huawei.com>
2025-10-15 17:18:37 +08:00
AsukaSoryu 8adfdaf6e7 fix some bug when terminate application
Signed-off-by: gongyuechen <gongyuechen@huawei.com>
2025-10-15 17:13:57 +08:00
duansizhao a2350f8619 notify collaborator grantUriPermission
Signed-off-by: duansizhao <duansizhao@huawei.com>
2025-10-09 17:07:12 +08:00
jusiyao d2ccbb570d add prelaunch
Co-authored-by: jusiyao<jusiyao1@huawei.com>
2025-09-28 19:57:48 +08:00
yuechunyang 5c283f84e4 前台多用户补充tdd
Signed-off-by: yuechunyang <yuechunyang1@h-partners.com>
2025-09-20 13:49:15 +08:00
openharmony_ci b0f3bd6464 merge agent into master
wantAgent不做后台拦截

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

**Description**:wantAgent不做后台拦截

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |   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**:
![image.png](https://raw.gitcode.com/user-images/assets/4421702/361c837d-8548-4f12-a6d2-ae84ad32b9c5/image.png 'image.png')
![image.png](https://raw.gitcode.com/user-images/assets/4421702/53dbc186-8be9-48be-a292-21fbb0f25109/image.png 'image.png')
**XTS Result**:不涉及

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


See merge request: openharmony/ability_ability_runtime!16662
2025-09-19 12:20:36 +08:00
wendel 102e711fad bugfix
Signed-off-by: wendel <yuwenze1@huawei.com>
2025-09-18 21:58:01 +08:00
duansizhao 1114e78771 add new fud tdd test 1
Signed-off-by: duansizhao <duansizhao@huawei.com>
2025-09-16 18:22:11 +08:00
wendel b186c7679d add ut
Signed-off-by: wendel <yuwenze1@huawei.com>
Change-Id: Ibeb0e75031d70b114ddb2d874a13100637b2fe86
2025-09-03 15:51:47 +08:00
wendel 0b3bef2726 multi foreground user
Signed-off-by: wendel <yuwenze1@huawei.com>
Change-Id: I2b1f8a58e66f4eff7c42a30f9ef862215b0768ac
2025-08-29 15:30:50 +08:00
yangzk 3ad2720d02 Description: 启动框架任务moduleName和type修复
IssueNo:
Sig: SIG_ApplicationFramework
Feature or Bugfix: Bugfix
Binary Source: No

Signed-off-by: yangzk <yangzhongkai@huawei.com>
Change-Id: If04170df990002d5b91f855eb37c580b30fea3a3
2025-08-19 19:10:14 +08:00
段嗣钊 958c9121d6 Error code refinement
Signed-off-by: 段嗣钊 <duansizhao@huawei.com>
Change-Id: Ie81b07f4be2f4af4dacf69d8ddff537810daeb7f
2025-07-30 20:31:10 +08:00
y00620503 18b5dcc53e process start failed subreason modify
Signed-off-by: y00620503 <yewei43@huawei.com>
Change-Id: Ia763d94753126c4cf140c44e062a254016e37866
2025-07-22 15:42:25 +08:00
openharmony_ci 0202fc7769 !15597 补充维测日志和unittest
Merge pull request !15597 from wangzhen/lifecyclelog
2025-07-18 10:53:26 +00:00
openharmony_ci 95df650b75 !15629 Description: realpath 检查
Merge pull request !15629 from yangzk/nativeStartup
2025-07-17 09:10:58 +00:00
openharmony_ci d0c987fb80 !15427 IssueNo:NA
Merge pull request !15427 from JayLeeHW/2025530
2025-07-17 02:48:48 +00:00
yangzk 08f340f30e Description: realpath 检查
IssueNo:#ICGTGD
Sig: SIG_ApplicationFramework
Feature or Bugfix: Feature
Binary Source: No

Signed-off-by: yangzk <yangzhongkai@huawei.com>
Change-Id: I53da70065d808440331e9edbf324bb87a68afc97
2025-07-16 18:20:20 +08:00
liqiang 2c5e26d4a3 IssueNo:NA
Description:add user_controller ut
Sig: SIG_ApplicationFramework
Feature or Bugfix:
Binary Source:No

Signed-off-by: liqiang <liqiang121@huawei.com>
Change-Id: I2a34d9da6416976ce72b2073e90d50199fa11785
2025-07-16 16:59:47 +08:00
duansizhao e76107007a 修复应用退出uri权限未回收问题
Signed-off-by: duansizhao <duansizhao@huawei.com>
2025-07-16 14:35:43 +08:00
wangzhen 452aa8903a Add log and test for eventHandler
Signed-off-by: wangzhen <wangzhen416@huawei.com>
Change-Id: Ib9c14da7d2a18f7995217b418c3af6b0e2fe66e7
2025-07-15 21:50:08 +08:00
yangzk 9ef4a017a2 Description: add TDD
IssueNo:#ICGTGD
Sig: SIG_ApplicationFramework
Feature or Bugfix: Feature
Binary Source: No

Signed-off-by: yangzk <yangzhongkai@huawei.com>
Change-Id: Ib8f64fe9c371929aeccbbb1e7b7bc996f7fc8c10
2025-07-10 20:25:04 +08:00
yangzk bfd7351aae Description: add load ext startup task
IssueNo:#ICGTGD
Sig: SIG_ApplicationFramework
Feature or Bugfix: Feature
Binary Source: No

Signed-off-by: yangzk <yangzhongkai@huawei.com>
Change-Id: Ib8f64fe9c371929aeccbbb1e7b7bc996f7fc8c10
2025-07-09 22:10:24 +08:00
yangzk c52e44c0a9 Description: add native startup mgr
IssueNo:
Sig: SIG_ApplicationFramework
Feature or Bugfix: Feature
Binary Source: No

Signed-off-by: yangzk <yangzhongkai@huawei.com>
Change-Id: I114ed4f373985ab827c296bcddf3e8388360a10f
2025-07-06 14:29:23 +08:00
13776621730 a0ef9463b4 Revert "JSON统一为cJSON"
Signed-off-by: 13776621730 <zhawei12@huawei-partners.com>
Change-Id: I69dc57782680ece5c5d2d1416464516405d070ad
2025-07-03 16:59:24 +08:00
openharmony_ci fab5b642d7 !15319 【元能力】【Ability组件】支持设置U1下的AppServiceExtension开机自启-EMD端可跨用户设置自启
Merge pull request !15319 from zhangzezhong/autoStart_edm_0628
2025-07-03 06:37:45 +00:00
zhangzezhong f62a7a708c 【元能力】【Ability组件】支持设置U1下的AppServiceExtension开机自启-EMD端可跨用户设置自启
Signed-off-by: zhangzezhong <zhangzezhong8@huawei-partners.com>
2025-07-03 09:13:47 +08:00