diff options
Diffstat (limited to 'vendor/golang.org/x/sys/windows')
| -rw-r--r-- | vendor/golang.org/x/sys/windows/env_windows.go | 6 | ||||
| -rw-r--r-- | vendor/golang.org/x/sys/windows/exec_windows.go | 7 | ||||
| -rw-r--r-- | vendor/golang.org/x/sys/windows/service.go | 7 | ||||
| -rw-r--r-- | vendor/golang.org/x/sys/windows/types_windows.go | 6 | ||||
| -rw-r--r-- | vendor/golang.org/x/sys/windows/zsyscall_windows.go | 9 | 
5 files changed, 30 insertions, 5 deletions
diff --git a/vendor/golang.org/x/sys/windows/env_windows.go b/vendor/golang.org/x/sys/windows/env_windows.go index 92ac05ff4..b8ad19250 100644 --- a/vendor/golang.org/x/sys/windows/env_windows.go +++ b/vendor/golang.org/x/sys/windows/env_windows.go @@ -37,14 +37,14 @@ func (token Token) Environ(inheritExisting bool) (env []string, err error) {  		return nil, err  	}  	defer DestroyEnvironmentBlock(block) -	blockp := uintptr(unsafe.Pointer(block)) +	blockp := unsafe.Pointer(block)  	for { -		entry := UTF16PtrToString((*uint16)(unsafe.Pointer(blockp))) +		entry := UTF16PtrToString((*uint16)(blockp))  		if len(entry) == 0 {  			break  		}  		env = append(env, entry) -		blockp += 2 * (uintptr(len(entry)) + 1) +		blockp = unsafe.Add(blockp, 2*(len(entry)+1))  	}  	return env, nil  } diff --git a/vendor/golang.org/x/sys/windows/exec_windows.go b/vendor/golang.org/x/sys/windows/exec_windows.go index 75980fd44..a52e0331d 100644 --- a/vendor/golang.org/x/sys/windows/exec_windows.go +++ b/vendor/golang.org/x/sys/windows/exec_windows.go @@ -95,12 +95,17 @@ func ComposeCommandLine(args []string) string {  // DecomposeCommandLine breaks apart its argument command line into unescaped parts using CommandLineToArgv,  // as gathered from GetCommandLine, QUERY_SERVICE_CONFIG's BinaryPathName argument, or elsewhere that  // command lines are passed around. +// DecomposeCommandLine returns error if commandLine contains NUL.  func DecomposeCommandLine(commandLine string) ([]string, error) {  	if len(commandLine) == 0 {  		return []string{}, nil  	} +	utf16CommandLine, err := UTF16FromString(commandLine) +	if err != nil { +		return nil, errorspkg.New("string with NUL passed to DecomposeCommandLine") +	}  	var argc int32 -	argv, err := CommandLineToArgv(StringToUTF16Ptr(commandLine), &argc) +	argv, err := CommandLineToArgv(&utf16CommandLine[0], &argc)  	if err != nil {  		return nil, err  	} diff --git a/vendor/golang.org/x/sys/windows/service.go b/vendor/golang.org/x/sys/windows/service.go index f8deca839..c964b6848 100644 --- a/vendor/golang.org/x/sys/windows/service.go +++ b/vendor/golang.org/x/sys/windows/service.go @@ -141,6 +141,12 @@ const (  	SERVICE_DYNAMIC_INFORMATION_LEVEL_START_REASON = 1  ) +type ENUM_SERVICE_STATUS struct { +	ServiceName   *uint16 +	DisplayName   *uint16 +	ServiceStatus SERVICE_STATUS +} +  type SERVICE_STATUS struct {  	ServiceType             uint32  	CurrentState            uint32 @@ -245,3 +251,4 @@ type QUERY_SERVICE_LOCK_STATUS struct {  //sys	UnsubscribeServiceChangeNotifications(subscription uintptr) = sechost.UnsubscribeServiceChangeNotifications?  //sys	RegisterServiceCtrlHandlerEx(serviceName *uint16, handlerProc uintptr, context uintptr) (handle Handle, err error) = advapi32.RegisterServiceCtrlHandlerExW  //sys	QueryServiceDynamicInformation(service Handle, infoLevel uint32, dynamicInfo unsafe.Pointer) (err error) = advapi32.QueryServiceDynamicInformation? +//sys	EnumDependentServices(service Handle, activityState uint32, services *ENUM_SERVICE_STATUS, buffSize uint32, bytesNeeded *uint32, servicesReturned *uint32) (err error) = advapi32.EnumDependentServicesW diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go index 0dbb20841..88e62a638 100644 --- a/vendor/golang.org/x/sys/windows/types_windows.go +++ b/vendor/golang.org/x/sys/windows/types_windows.go @@ -2220,15 +2220,19 @@ type JOBOBJECT_BASIC_UI_RESTRICTIONS struct {  }  const ( -	// JobObjectInformationClass +	// JobObjectInformationClass for QueryInformationJobObject and SetInformationJobObject  	JobObjectAssociateCompletionPortInformation = 7 +	JobObjectBasicAccountingInformation         = 1 +	JobObjectBasicAndIoAccountingInformation    = 8  	JobObjectBasicLimitInformation              = 2 +	JobObjectBasicProcessIdList                 = 3  	JobObjectBasicUIRestrictions                = 4  	JobObjectCpuRateControlInformation          = 15  	JobObjectEndOfJobTimeInformation            = 6  	JobObjectExtendedLimitInformation           = 9  	JobObjectGroupInformation                   = 11  	JobObjectGroupInformationEx                 = 14 +	JobObjectLimitViolationInformation          = 13  	JobObjectLimitViolationInformation2         = 34  	JobObjectNetRateControlInformation          = 32  	JobObjectNotificationLimitInformation       = 12 diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go index 6d2a26853..a81ea2c70 100644 --- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go +++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -86,6 +86,7 @@ var (  	procDeleteService                                        = modadvapi32.NewProc("DeleteService")  	procDeregisterEventSource                                = modadvapi32.NewProc("DeregisterEventSource")  	procDuplicateTokenEx                                     = modadvapi32.NewProc("DuplicateTokenEx") +	procEnumDependentServicesW                               = modadvapi32.NewProc("EnumDependentServicesW")  	procEnumServicesStatusExW                                = modadvapi32.NewProc("EnumServicesStatusExW")  	procEqualSid                                             = modadvapi32.NewProc("EqualSid")  	procFreeSid                                              = modadvapi32.NewProc("FreeSid") @@ -734,6 +735,14 @@ func DuplicateTokenEx(existingToken Token, desiredAccess uint32, tokenAttributes  	return  } +func EnumDependentServices(service Handle, activityState uint32, services *ENUM_SERVICE_STATUS, buffSize uint32, bytesNeeded *uint32, servicesReturned *uint32) (err error) { +	r1, _, e1 := syscall.Syscall6(procEnumDependentServicesW.Addr(), 6, uintptr(service), uintptr(activityState), uintptr(unsafe.Pointer(services)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)), uintptr(unsafe.Pointer(servicesReturned))) +	if r1 == 0 { +		err = errnoErr(e1) +	} +	return +} +  func EnumServicesStatusEx(mgr Handle, infoLevel uint32, serviceType uint32, serviceState uint32, services *byte, bufSize uint32, bytesNeeded *uint32, servicesReturned *uint32, resumeHandle *uint32, groupName *uint16) (err error) {  	r1, _, e1 := syscall.Syscall12(procEnumServicesStatusExW.Addr(), 10, uintptr(mgr), uintptr(infoLevel), uintptr(serviceType), uintptr(serviceState), uintptr(unsafe.Pointer(services)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), uintptr(unsafe.Pointer(servicesReturned)), uintptr(unsafe.Pointer(resumeHandle)), uintptr(unsafe.Pointer(groupName)), 0, 0)  	if r1 == 0 {  | 
