go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers/os/resources/macos_alf.go (about) 1 // Copyright (c) Mondoo, Inc. 2 // SPDX-License-Identifier: BUSL-1.1 3 4 package resources 5 6 import ( 7 "go.mondoo.com/cnquery/llx" 8 "go.mondoo.com/cnquery/providers-sdk/v1/plugin" 9 "go.mondoo.com/cnquery/providers/os/connection/shared" 10 "go.mondoo.com/cnquery/types" 11 ) 12 13 func initMacosAlf(runtime *plugin.Runtime, args map[string]*llx.RawData) (map[string]*llx.RawData, plugin.Resource, error) { 14 conn := runtime.Connection.(shared.Connection) 15 16 if args == nil { 17 args = map[string]*llx.RawData{} 18 } 19 20 f, err := conn.FileSystem().Open("/Library/Preferences/com.apple.alf.plist") 21 if err != nil { 22 return nil, nil, err 23 } 24 defer f.Close() 25 26 alfConfig, err := Decode(f) 27 if err != nil { 28 return nil, nil, err 29 } 30 31 explicitAuthsRaw := alfConfig["explicitauths"].([]interface{}) 32 explicitAuths := []interface{}{} 33 for i := range explicitAuthsRaw { 34 entry := explicitAuthsRaw[i].(map[string]interface{}) 35 explicitAuths = append(explicitAuths, entry["id"]) 36 } 37 38 args["allowDownloadSignedEnabled"] = llx.IntData(int64(alfConfig["allowdownloadsignedenabled"].(float64))) 39 args["allowSignedEnabled"] = llx.IntData(int64(alfConfig["allowsignedenabled"].(float64))) 40 args["firewallUnload"] = llx.IntData(int64(alfConfig["firewallunload"].(float64))) 41 args["globalState"] = llx.IntData(int64(alfConfig["globalstate"].(float64))) 42 args["loggingEnabled"] = llx.IntData(int64(alfConfig["loggingenabled"].(float64))) 43 args["loggingOption"] = llx.IntData(int64(alfConfig["loggingoption"].(float64))) 44 args["stealthEnabled"] = llx.IntData(int64(alfConfig["stealthenabled"].(float64))) 45 args["version"] = llx.StringData(alfConfig["version"].(string)) 46 args["exceptions"] = llx.ArrayData(alfConfig["exceptions"].([]interface{}), types.Dict) 47 args["explicitAuths"] = llx.ArrayData(explicitAuths, types.String) 48 args["applications"] = llx.ArrayData(alfConfig["applications"].([]interface{}), types.Dict) 49 50 return args, nil, nil 51 }