mirror of
https://github.com/op0xA5/wgstun.git
synced 2025-09-26 19:41:16 +08:00
29 lines
511 B
Go
29 lines
511 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
|
|
"os"
|
|
"unsafe"
|
|
)
|
|
func printf(format string, a ...interface{}) {
|
|
fmt.Fprintf(os.Stderr, format, a...)
|
|
}
|
|
|
|
const wordSize = int(unsafe.Sizeof(uintptr(0)))
|
|
const wordCount = wgtypes.KeyLen / wordSize
|
|
|
|
func keyEquals(a, b wgtypes.Key) bool {
|
|
aw := *(*[wordCount]uintptr)(unsafe.Pointer(&a))
|
|
bw := *(*[wordCount]uintptr)(unsafe.Pointer(&b))
|
|
|
|
for i := 0; i < wordCount; i++ {
|
|
if aw[i] != bw[i] {
|
|
return false
|
|
}
|
|
}
|
|
|
|
return true
|
|
}
|
|
|