wip: add install extensions to policy.

This commit is contained in:
Miroslav Šedivý
2023-04-14 23:21:32 +02:00
parent 4cf0e0c0c8
commit d992ab993c
4 changed files with 33 additions and 2 deletions
+8 -1
View File
@@ -46,7 +46,14 @@ func Generate(policies types.BrowserPolicyContent) (string, error) {
policiesTmpl["ExtensionInstallForcelist"] = ExtensionInstallForcelist policiesTmpl["ExtensionInstallForcelist"] = ExtensionInstallForcelist
policiesTmpl["ExtensionInstallAllowlist"] = ExtensionInstallAllowlist policiesTmpl["ExtensionInstallAllowlist"] = ExtensionInstallAllowlist
policiesTmpl["ExtensionInstallBlocklist"] = []interface{}{"*"}
if policies.InstallExtensions {
// Allow installation of extensions
policiesTmpl["ExtensionInstallBlocklist"] = []interface{}{}
} else {
// Disallow installation of extensions
policiesTmpl["ExtensionInstallBlocklist"] = []interface{}{"*"}
}
// //
// Developer Tools // Developer Tools
+8
View File
@@ -35,6 +35,14 @@ func Parse(policiesJson string) (*types.BrowserPolicyContent, error) {
} }
} }
//
// Install Extensions
//
if val, ok := policiesTmpl["ExtensionInstallBlocklist"]; ok {
policies.InstallExtensions = len(val.([]interface{})) == 0
}
// //
// Developer Tools // Developer Tools
// //
+10 -1
View File
@@ -20,13 +20,22 @@ func Generate(policies types.BrowserPolicyContent) (string, error) {
return "", err return "", err
} }
//
// Install Extensions
//
installationMode := "blocked"
if policies.InstallExtensions {
installationMode = "allowed"
}
// //
// Extensions // Extensions
// //
ExtensionSettings := map[string]interface{}{} ExtensionSettings := map[string]interface{}{}
ExtensionSettings["*"] = map[string]interface{}{ ExtensionSettings["*"] = map[string]interface{}{
"installation_mode": "blocked", "installation_mode": installationMode,
} }
for _, e := range policies.Extensions { for _, e := range policies.Extensions {
+7
View File
@@ -32,6 +32,13 @@ func Parse(policiesJson string) (*types.BrowserPolicyContent, error) {
policies.Extensions = []types.BrowserPolicyExtension{} policies.Extensions = []types.BrowserPolicyExtension{}
for id, val := range extensions.(map[string]interface{}) { for id, val := range extensions.(map[string]interface{}) {
if id == "*" { if id == "*" {
//
// Install Extensions
//
if val, ok := val.(map[string]interface{})["installation_mode"]; ok {
policies.InstallExtensions = val.(string) == "allowed"
}
continue continue
} }