Signed-off-by: 任国军 <renguojun1@h-partners.com>
This commit is contained in:
任国军
2025-10-30 15:22:11 +08:00
parent d2993fc641
commit 7e5f40ef8a
2 changed files with 7 additions and 8 deletions
+3 -3
View File
@@ -1673,9 +1673,9 @@ void MainThread::HandleLaunchApplication(const AppLaunchData &appLaunchData, con
if (IsPluginNamespaceInherited()) {
AbilityRuntime::JsRuntime::InheritPluginNamespace(pluginModuleNames);
}
auto lddictionarys = ParsePluginDefaultNamespaceLdDictionary();
if (lddictionarys.size() > 0) {
AbilityRuntime::JsRuntime::CreatePluginDefaultNamespace(lddictionarys);
auto lddictionaries = ParsePluginDefaultNamespaceLdDictionary();
if (lddictionaries.size() > 0) {
AbilityRuntime::JsRuntime::CreatePluginDefaultNamespace(lddictionaries);
}
}
#ifdef CJ_FRONTEND
+4 -5
View File
@@ -949,12 +949,11 @@ void JsRuntime::InheritPluginNamespace(const std::vector<std::string> &moduleNam
}
}
void JsRuntime::CreatePluginDefaultNamespace(const std::vector<std::string> &lddictorys)
void JsRuntime::CreatePluginDefaultNamespace(const std::vector<std::string> &lddictionaries)
{
Security::AccessToken::AccessTokenID callerToken = IPCSkeleton::GetCallingTokenID();
int result = Security::AccessToken::AccessTokenKit::VerifyAccessToken(callerToken, PERMISSION_LOAD_INDEPENDENT_LIBRARY);
Security::AccessToken::AccessTokenID selfToken = IPCSkeleton::GetSelfTokenID();
int result = Security::AccessToken::AccessTokenKit::VerifyAccessToken(selfToken, PERMISSION_LOAD_INDEPENDENT_LIBRARY);
if (result != Security::AccessToken::PermissionState::PERMISSION_GRANTED) {
TAG_LOGE(AAFwkTag::JSRUNTIME, "permission denied: PERMISSION_LOAD_INDEPENDENT_LIBRARY");
return;
}
auto moduleManager = NativeModuleManager::GetInstance();
@@ -971,7 +970,7 @@ void JsRuntime::CreatePluginDefaultNamespace(const std::vector<std::string> &ldd
moduleManager->SetAppLibPath(DEFAULT_PLUGIN, appLibPaths, false);
std::string pluginDefaultNamespace;
moduleManager->GetLdNamespaceName(DEFAULT_PLUGIN, pluginDefaultNamespace);
moduleManager->SetLdPermittedPathsForNamespace(pluginDefaultNamespace, lddictorys);
moduleManager->SetLdPermittedPathsForNamespace(pluginDefaultNamespace, lddictionaries);
moduleManager->InheritNamespaceEachOther(currentNamespace, pluginDefaultNamespace);
}