mirror of
https://github.com/daeuniverse/dae.git
synced 2025-07-16 10:50:01 +07:00
fix: use unix.Utsname instead of syscall.Utsname
This commit is contained in:
@ -1,18 +0,0 @@
|
|||||||
//go:build !(arm || arm64 || arm64be || armbe || riscv64)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
* Copyright (c) 2023, v2rayA Organization <team@v2raya.org>
|
|
||||||
*/
|
|
||||||
|
|
||||||
package internal
|
|
||||||
|
|
||||||
// utsnameToString converts the utsname to a string and returns it.
|
|
||||||
func utsnameToString(unameArray [65]int8) string {
|
|
||||||
var byteString [65]byte
|
|
||||||
var indexLength int
|
|
||||||
for ; unameArray[indexLength] != 0; indexLength++ {
|
|
||||||
byteString[indexLength] = uint8(unameArray[indexLength])
|
|
||||||
}
|
|
||||||
return string(byteString[:indexLength])
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
//go:build arm || arm64 || arm64be || armbe || riscv64
|
|
||||||
|
|
||||||
/*
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
* Copyright (c) 2023, v2rayA Organization <team@v2raya.org>
|
|
||||||
*/
|
|
||||||
|
|
||||||
package internal
|
|
||||||
|
|
||||||
// utsnameToString converts the utsname to a string and returns it.
|
|
||||||
func utsnameToString(unameArray [65]uint8) string {
|
|
||||||
var byteString [65]byte
|
|
||||||
var indexLength int
|
|
||||||
for ; unameArray[indexLength] != 0; indexLength++ {
|
|
||||||
byteString[indexLength] = unameArray[indexLength]
|
|
||||||
}
|
|
||||||
return string(byteString[:indexLength])
|
|
||||||
}
|
|
@ -4,10 +4,8 @@ package internal
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"sync"
|
|
||||||
"syscall"
|
|
||||||
|
|
||||||
"github.com/v2rayA/dae/pkg/ebpf_internal/internal/unix"
|
"github.com/v2rayA/dae/pkg/ebpf_internal/internal/unix"
|
||||||
|
"sync"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -90,14 +88,24 @@ func (v Version) Kernel() uint32 {
|
|||||||
return uint32(uint8(v[0]))<<16 | uint32(uint8(v[1]))<<8 | uint32(uint8(s))
|
return uint32(uint8(v[0]))<<16 | uint32(uint8(v[1]))<<8 | uint32(uint8(s))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// utsnameToString converts the utsname to a string and returns it.
|
||||||
|
func utsnameToString(unameArray [65]byte) string {
|
||||||
|
var byteString [65]byte
|
||||||
|
var indexLength int
|
||||||
|
for ; unameArray[indexLength] != 0; indexLength++ {
|
||||||
|
byteString[indexLength] = unameArray[indexLength]
|
||||||
|
}
|
||||||
|
return string(byteString[:indexLength])
|
||||||
|
}
|
||||||
|
|
||||||
// KernelVersion returns the version of the currently running kernel.
|
// KernelVersion returns the version of the currently running kernel.
|
||||||
func KernelVersion() (Version, error) {
|
func KernelVersion() (Version, error) {
|
||||||
kernelVersion.once.Do(func() {
|
kernelVersion.once.Do(func() {
|
||||||
kernelVersion.version, kernelVersion.err = detectKernelVersion()
|
kernelVersion.version, kernelVersion.err = detectKernelVersion()
|
||||||
if kernelVersion.err != nil {
|
if kernelVersion.err != nil {
|
||||||
// Try syscall.
|
// Try syscall.
|
||||||
var utsname syscall.Utsname
|
var utsname unix.Utsname
|
||||||
if err := syscall.Uname(&utsname); err != nil {
|
if err := unix.Uname(&utsname); err != nil {
|
||||||
kernelVersion.err = fmt.Errorf("%w; %v", kernelVersion.err, err)
|
kernelVersion.err = fmt.Errorf("%w; %v", kernelVersion.err, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user