Vendor Go modules
This commit is contained in:
parent
e4799ff8c4
commit
c4504fd3ff
64 changed files with 18532 additions and 36 deletions
84
go/vendor/github.com/hectane/go-acl/api/secinfo.go
generated
vendored
Normal file
84
go/vendor/github.com/hectane/go-acl/api/secinfo.go
generated
vendored
Normal file
|
@ -0,0 +1,84 @@
|
|||
//+build windows
|
||||
|
||||
package api
|
||||
|
||||
import (
|
||||
"golang.org/x/sys/windows"
|
||||
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
// https://msdn.microsoft.com/en-us/library/windows/desktop/aa379593.aspx
|
||||
const (
|
||||
SE_UNKNOWN_OBJECT_TYPE = iota
|
||||
SE_FILE_OBJECT
|
||||
SE_SERVICE
|
||||
SE_PRINTER
|
||||
SE_REGISTRY_KEY
|
||||
SE_LMSHARE
|
||||
SE_KERNEL_OBJECT
|
||||
SE_WINDOW_OBJECT
|
||||
SE_DS_OBJECT
|
||||
SE_DS_OBJECT_ALL
|
||||
SE_PROVIDER_DEFINED_OBJECT
|
||||
SE_WMIGUID_OBJECT
|
||||
SE_REGISTRY_WOW64_32KEY
|
||||
)
|
||||
|
||||
// https://msdn.microsoft.com/en-us/library/windows/desktop/aa379573.aspx
|
||||
const (
|
||||
OWNER_SECURITY_INFORMATION = 0x00001
|
||||
GROUP_SECURITY_INFORMATION = 0x00002
|
||||
DACL_SECURITY_INFORMATION = 0x00004
|
||||
SACL_SECURITY_INFORMATION = 0x00008
|
||||
LABEL_SECURITY_INFORMATION = 0x00010
|
||||
ATTRIBUTE_SECURITY_INFORMATION = 0x00020
|
||||
SCOPE_SECURITY_INFORMATION = 0x00040
|
||||
PROCESS_TRUST_LABEL_SECURITY_INFORMATION = 0x00080
|
||||
BACKUP_SECURITY_INFORMATION = 0x10000
|
||||
|
||||
PROTECTED_DACL_SECURITY_INFORMATION = 0x80000000
|
||||
PROTECTED_SACL_SECURITY_INFORMATION = 0x40000000
|
||||
UNPROTECTED_DACL_SECURITY_INFORMATION = 0x20000000
|
||||
UNPROTECTED_SACL_SECURITY_INFORMATION = 0x10000000
|
||||
)
|
||||
|
||||
var (
|
||||
procGetNamedSecurityInfoW = advapi32.MustFindProc("GetNamedSecurityInfoW")
|
||||
procSetNamedSecurityInfoW = advapi32.MustFindProc("SetNamedSecurityInfoW")
|
||||
)
|
||||
|
||||
// https://msdn.microsoft.com/en-us/library/windows/desktop/aa446645.aspx
|
||||
func GetNamedSecurityInfo(objectName string, objectType int32, secInfo uint32, owner, group **windows.SID, dacl, sacl, secDesc *windows.Handle) error {
|
||||
ret, _, err := procGetNamedSecurityInfoW.Call(
|
||||
uintptr(unsafe.Pointer(windows.StringToUTF16Ptr(objectName))),
|
||||
uintptr(objectType),
|
||||
uintptr(secInfo),
|
||||
uintptr(unsafe.Pointer(owner)),
|
||||
uintptr(unsafe.Pointer(group)),
|
||||
uintptr(unsafe.Pointer(dacl)),
|
||||
uintptr(unsafe.Pointer(sacl)),
|
||||
uintptr(unsafe.Pointer(secDesc)),
|
||||
)
|
||||
if ret != 0 {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// https://msdn.microsoft.com/en-us/library/windows/desktop/aa379579.aspx
|
||||
func SetNamedSecurityInfo(objectName string, objectType int32, secInfo uint32, owner, group *windows.SID, dacl, sacl windows.Handle) error {
|
||||
ret, _, err := procSetNamedSecurityInfoW.Call(
|
||||
uintptr(unsafe.Pointer(windows.StringToUTF16Ptr(objectName))),
|
||||
uintptr(objectType),
|
||||
uintptr(secInfo),
|
||||
uintptr(unsafe.Pointer(owner)),
|
||||
uintptr(unsafe.Pointer(group)),
|
||||
uintptr(dacl),
|
||||
uintptr(sacl),
|
||||
)
|
||||
if ret != 0 {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue