mirror of
https://git.zx2c4.com/wireguard-go
synced 2024-11-15 01:05:15 +01:00
global: apply gofumpt
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
parent
2dd424e2d8
commit
9c9e7e2724
@ -66,8 +66,10 @@ type LinuxSocketBind struct {
|
|||||||
func NewLinuxSocketBind() Bind { return &LinuxSocketBind{sock4: -1, sock6: -1} }
|
func NewLinuxSocketBind() Bind { return &LinuxSocketBind{sock4: -1, sock6: -1} }
|
||||||
func NewDefaultBind() Bind { return NewLinuxSocketBind() }
|
func NewDefaultBind() Bind { return NewLinuxSocketBind() }
|
||||||
|
|
||||||
var _ Endpoint = (*LinuxSocketEndpoint)(nil)
|
var (
|
||||||
var _ Bind = (*LinuxSocketBind)(nil)
|
_ Endpoint = (*LinuxSocketEndpoint)(nil)
|
||||||
|
_ Bind = (*LinuxSocketBind)(nil)
|
||||||
|
)
|
||||||
|
|
||||||
func (*LinuxSocketBind) ParseEndpoint(s string) (Endpoint, error) {
|
func (*LinuxSocketBind) ParseEndpoint(s string) (Endpoint, error) {
|
||||||
var end LinuxSocketEndpoint
|
var end LinuxSocketEndpoint
|
||||||
@ -171,7 +173,6 @@ func (bind *LinuxSocketBind) SetMark(value uint32) error {
|
|||||||
unix.SO_MARK,
|
unix.SO_MARK,
|
||||||
int(value),
|
int(value),
|
||||||
)
|
)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -184,7 +185,6 @@ func (bind *LinuxSocketBind) SetMark(value uint32) error {
|
|||||||
unix.SO_MARK,
|
unix.SO_MARK,
|
||||||
int(value),
|
int(value),
|
||||||
)
|
)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -327,7 +327,6 @@ func zoneToUint32(zone string) (uint32, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func create4(port uint16) (int, uint16, error) {
|
func create4(port uint16) (int, uint16, error) {
|
||||||
|
|
||||||
// create socket
|
// create socket
|
||||||
|
|
||||||
fd, err := unix.Socket(
|
fd, err := unix.Socket(
|
||||||
@ -335,7 +334,6 @@ func create4(port uint16) (int, uint16, error) {
|
|||||||
unix.SOCK_DGRAM,
|
unix.SOCK_DGRAM,
|
||||||
0,
|
0,
|
||||||
)
|
)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return -1, 0, err
|
return -1, 0, err
|
||||||
}
|
}
|
||||||
@ -371,7 +369,6 @@ func create4(port uint16) (int, uint16, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func create6(port uint16) (int, uint16, error) {
|
func create6(port uint16) (int, uint16, error) {
|
||||||
|
|
||||||
// create socket
|
// create socket
|
||||||
|
|
||||||
fd, err := unix.Socket(
|
fd, err := unix.Socket(
|
||||||
@ -379,7 +376,6 @@ func create6(port uint16) (int, uint16, error) {
|
|||||||
unix.SOCK_DGRAM,
|
unix.SOCK_DGRAM,
|
||||||
0,
|
0,
|
||||||
)
|
)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return -1, 0, err
|
return -1, 0, err
|
||||||
}
|
}
|
||||||
@ -410,7 +406,6 @@ func create6(port uint16) (int, uint16, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return unix.Bind(fd, &addr)
|
return unix.Bind(fd, &addr)
|
||||||
|
|
||||||
}(); err != nil {
|
}(); err != nil {
|
||||||
unix.Close(fd)
|
unix.Close(fd)
|
||||||
return -1, 0, err
|
return -1, 0, err
|
||||||
@ -425,7 +420,6 @@ func create6(port uint16) (int, uint16, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func send4(sock int, end *LinuxSocketEndpoint, buff []byte) error {
|
func send4(sock int, end *LinuxSocketEndpoint, buff []byte) error {
|
||||||
|
|
||||||
// construct message header
|
// construct message header
|
||||||
|
|
||||||
cmsg := struct {
|
cmsg := struct {
|
||||||
@ -465,7 +459,6 @@ func send4(sock int, end *LinuxSocketEndpoint, buff []byte) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func send6(sock int, end *LinuxSocketEndpoint, buff []byte) error {
|
func send6(sock int, end *LinuxSocketEndpoint, buff []byte) error {
|
||||||
|
|
||||||
// construct message header
|
// construct message header
|
||||||
|
|
||||||
cmsg := struct {
|
cmsg := struct {
|
||||||
@ -509,7 +502,6 @@ func send6(sock int, end *LinuxSocketEndpoint, buff []byte) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func receive4(sock int, buff []byte, end *LinuxSocketEndpoint) (int, error) {
|
func receive4(sock int, buff []byte, end *LinuxSocketEndpoint) (int, error) {
|
||||||
|
|
||||||
// construct message header
|
// construct message header
|
||||||
|
|
||||||
var cmsg struct {
|
var cmsg struct {
|
||||||
@ -518,7 +510,6 @@ func receive4(sock int, buff []byte, end *LinuxSocketEndpoint) (int, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
size, _, _, newDst, err := unix.Recvmsg(sock, buff, (*[unsafe.Sizeof(cmsg)]byte)(unsafe.Pointer(&cmsg))[:], 0)
|
size, _, _, newDst, err := unix.Recvmsg(sock, buff, (*[unsafe.Sizeof(cmsg)]byte)(unsafe.Pointer(&cmsg))[:], 0)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
@ -541,7 +532,6 @@ func receive4(sock int, buff []byte, end *LinuxSocketEndpoint) (int, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func receive6(sock int, buff []byte, end *LinuxSocketEndpoint) (int, error) {
|
func receive6(sock int, buff []byte, end *LinuxSocketEndpoint) (int, error) {
|
||||||
|
|
||||||
// construct message header
|
// construct message header
|
||||||
|
|
||||||
var cmsg struct {
|
var cmsg struct {
|
||||||
@ -550,7 +540,6 @@ func receive6(sock int, buff []byte, end *LinuxSocketEndpoint) (int, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
size, _, _, newDst, err := unix.Recvmsg(sock, buff, (*[unsafe.Sizeof(cmsg)]byte)(unsafe.Pointer(&cmsg))[:], 0)
|
size, _, _, newDst, err := unix.Recvmsg(sock, buff, (*[unsafe.Sizeof(cmsg)]byte)(unsafe.Pointer(&cmsg))[:], 0)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
|
@ -30,8 +30,10 @@ func NewStdNetBind() Bind { return &StdNetBind{} }
|
|||||||
|
|
||||||
type StdNetEndpoint net.UDPAddr
|
type StdNetEndpoint net.UDPAddr
|
||||||
|
|
||||||
var _ Bind = (*StdNetBind)(nil)
|
var (
|
||||||
var _ Endpoint = (*StdNetEndpoint)(nil)
|
_ Bind = (*StdNetBind)(nil)
|
||||||
|
_ Endpoint = (*StdNetEndpoint)(nil)
|
||||||
|
)
|
||||||
|
|
||||||
func (*StdNetBind) ParseEndpoint(s string) (Endpoint, error) {
|
func (*StdNetBind) ParseEndpoint(s string) (Endpoint, error) {
|
||||||
e, err := netip.ParseAddrPort(s)
|
e, err := netip.ParseAddrPort(s)
|
||||||
|
@ -91,8 +91,10 @@ type WinRingEndpoint struct {
|
|||||||
data [30]byte
|
data [30]byte
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ Bind = (*WinRingBind)(nil)
|
var (
|
||||||
var _ Endpoint = (*WinRingEndpoint)(nil)
|
_ Bind = (*WinRingBind)(nil)
|
||||||
|
_ Endpoint = (*WinRingEndpoint)(nil)
|
||||||
|
)
|
||||||
|
|
||||||
func (*WinRingBind) ParseEndpoint(s string) (Endpoint, error) {
|
func (*WinRingBind) ParseEndpoint(s string) (Endpoint, error) {
|
||||||
host, port, err := net.SplitHostPort(s)
|
host, port, err := net.SplitHostPort(s)
|
||||||
@ -382,7 +384,6 @@ retry:
|
|||||||
count = winrio.DequeueCompletion(bind.rx.cq, results[:])
|
count = winrio.DequeueCompletion(bind.rx.cq, results[:])
|
||||||
if count == 0 {
|
if count == 0 {
|
||||||
return 0, nil, io.ErrNoProgress
|
return 0, nil, io.ErrNoProgress
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
bind.rx.Return(1)
|
bind.rx.Return(1)
|
||||||
@ -533,6 +534,7 @@ func (bind *StdNetBind) BindSocketToInterface6(interfaceIndex uint32, blackhole
|
|||||||
bind.blackhole6 = blackhole
|
bind.blackhole6 = blackhole
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (bind *WinRingBind) BindSocketToInterface4(interfaceIndex uint32, blackhole bool) error {
|
func (bind *WinRingBind) BindSocketToInterface4(interfaceIndex uint32, blackhole bool) error {
|
||||||
bind.mu.RLock()
|
bind.mu.RLock()
|
||||||
defer bind.mu.RUnlock()
|
defer bind.mu.RUnlock()
|
||||||
|
@ -25,8 +25,10 @@ type ChannelBind struct {
|
|||||||
|
|
||||||
type ChannelEndpoint uint16
|
type ChannelEndpoint uint16
|
||||||
|
|
||||||
var _ conn.Bind = (*ChannelBind)(nil)
|
var (
|
||||||
var _ conn.Endpoint = (*ChannelEndpoint)(nil)
|
_ conn.Bind = (*ChannelBind)(nil)
|
||||||
|
_ conn.Endpoint = (*ChannelEndpoint)(nil)
|
||||||
|
)
|
||||||
|
|
||||||
func NewChannelBinds() [2]conn.Bind {
|
func NewChannelBinds() [2]conn.Bind {
|
||||||
arx4 := make(chan []byte, 8192)
|
arx4 := make(chan []byte, 8192)
|
||||||
|
@ -84,8 +84,10 @@ type iocpNotificationCompletion struct {
|
|||||||
overlapped *windows.Overlapped
|
overlapped *windows.Overlapped
|
||||||
}
|
}
|
||||||
|
|
||||||
var initialized sync.Once
|
var (
|
||||||
var available bool
|
initialized sync.Once
|
||||||
|
available bool
|
||||||
|
)
|
||||||
|
|
||||||
func Initialize() bool {
|
func Initialize() bool {
|
||||||
initialized.Do(func() {
|
initialized.Do(func() {
|
||||||
@ -108,7 +110,7 @@ func Initialize() bool {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer windows.CloseHandle(socket)
|
defer windows.CloseHandle(socket)
|
||||||
var WSAID_MULTIPLE_RIO = &windows.GUID{0x8509e081, 0x96dd, 0x4005, [8]byte{0xb1, 0x65, 0x9e, 0x2e, 0xe8, 0xc7, 0x9e, 0x3f}}
|
WSAID_MULTIPLE_RIO := &windows.GUID{0x8509e081, 0x96dd, 0x4005, [8]byte{0xb1, 0x65, 0x9e, 0x2e, 0xe8, 0xc7, 0x9e, 0x3f}}
|
||||||
const SIO_GET_MULTIPLE_EXTENSION_FUNCTION_POINTER = 0xc8000024
|
const SIO_GET_MULTIPLE_EXTENSION_FUNCTION_POINTER = 0xc8000024
|
||||||
ob := uint32(0)
|
ob := uint32(0)
|
||||||
err = windows.WSAIoctl(socket, SIO_GET_MULTIPLE_EXTENSION_FUNCTION_POINTER,
|
err = windows.WSAIoctl(socket, SIO_GET_MULTIPLE_EXTENSION_FUNCTION_POINTER,
|
||||||
|
@ -20,7 +20,6 @@ type testPairCommonBits struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestCommonBits(t *testing.T) {
|
func TestCommonBits(t *testing.T) {
|
||||||
|
|
||||||
tests := []testPairCommonBits{
|
tests := []testPairCommonBits{
|
||||||
{s1: []byte{1, 4, 53, 128}, s2: []byte{0, 0, 0, 0}, match: 7},
|
{s1: []byte{1, 4, 53, 128}, s2: []byte{0, 0, 0, 0}, match: 7},
|
||||||
{s1: []byte{0, 4, 53, 128}, s2: []byte{0, 0, 0, 0}, match: 13},
|
{s1: []byte{0, 4, 53, 128}, s2: []byte{0, 0, 0, 0}, match: 13},
|
||||||
@ -41,7 +40,7 @@ func TestCommonBits(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func benchmarkTrie(peerNumber int, addressNumber int, addressLength int, b *testing.B) {
|
func benchmarkTrie(peerNumber, addressNumber, addressLength int, b *testing.B) {
|
||||||
var trie *trieEntry
|
var trie *trieEntry
|
||||||
var peers []*Peer
|
var peers []*Peer
|
||||||
root := parentIndirection{&trie, 2}
|
root := parentIndirection{&trie, 2}
|
||||||
|
@ -83,7 +83,7 @@ func (st *CookieChecker) CheckMAC1(msg []byte) bool {
|
|||||||
return hmac.Equal(mac1[:], msg[smac1:smac2])
|
return hmac.Equal(mac1[:], msg[smac1:smac2])
|
||||||
}
|
}
|
||||||
|
|
||||||
func (st *CookieChecker) CheckMAC2(msg []byte, src []byte) bool {
|
func (st *CookieChecker) CheckMAC2(msg, src []byte) bool {
|
||||||
st.RLock()
|
st.RLock()
|
||||||
defer st.RUnlock()
|
defer st.RUnlock()
|
||||||
|
|
||||||
@ -119,7 +119,6 @@ func (st *CookieChecker) CreateReply(
|
|||||||
recv uint32,
|
recv uint32,
|
||||||
src []byte,
|
src []byte,
|
||||||
) (*MessageCookieReply, error) {
|
) (*MessageCookieReply, error) {
|
||||||
|
|
||||||
st.RLock()
|
st.RLock()
|
||||||
|
|
||||||
// refresh cookie secret
|
// refresh cookie secret
|
||||||
@ -204,7 +203,6 @@ func (st *CookieGenerator) ConsumeReply(msg *MessageCookieReply) bool {
|
|||||||
|
|
||||||
xchapoly, _ := chacha20poly1305.NewX(st.mac2.encryptionKey[:])
|
xchapoly, _ := chacha20poly1305.NewX(st.mac2.encryptionKey[:])
|
||||||
_, err := xchapoly.Open(cookie[:0], msg.Nonce[:], msg.Cookie[:], st.mac2.lastMAC1[:])
|
_, err := xchapoly.Open(cookie[:0], msg.Nonce[:], msg.Cookie[:], st.mac2.lastMAC1[:])
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
@ -215,7 +213,6 @@ func (st *CookieGenerator) ConsumeReply(msg *MessageCookieReply) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (st *CookieGenerator) AddMacs(msg []byte) {
|
func (st *CookieGenerator) AddMacs(msg []byte) {
|
||||||
|
|
||||||
size := len(msg)
|
size := len(msg)
|
||||||
|
|
||||||
smac2 := size - blake2s.Size128
|
smac2 := size - blake2s.Size128
|
||||||
|
@ -10,7 +10,6 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestCookieMAC1(t *testing.T) {
|
func TestCookieMAC1(t *testing.T) {
|
||||||
|
|
||||||
// setup generator / checker
|
// setup generator / checker
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -132,12 +131,12 @@ func TestCookieMAC1(t *testing.T) {
|
|||||||
|
|
||||||
msg[5] ^= 0x20
|
msg[5] ^= 0x20
|
||||||
|
|
||||||
srcBad1 := []byte{192, 168, 13, 37, 40, 01}
|
srcBad1 := []byte{192, 168, 13, 37, 40, 1}
|
||||||
if checker.CheckMAC2(msg, srcBad1) {
|
if checker.CheckMAC2(msg, srcBad1) {
|
||||||
t.Fatal("MAC2 generation/verification failed")
|
t.Fatal("MAC2 generation/verification failed")
|
||||||
}
|
}
|
||||||
|
|
||||||
srcBad2 := []byte{192, 168, 13, 38, 40, 01}
|
srcBad2 := []byte{192, 168, 13, 38, 40, 1}
|
||||||
if checker.CheckMAC2(msg, srcBad2) {
|
if checker.CheckMAC2(msg, srcBad2) {
|
||||||
t.Fatal("MAC2 generation/verification failed")
|
t.Fatal("MAC2 generation/verification failed")
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,7 @@ func uapiCfg(cfg ...string) string {
|
|||||||
|
|
||||||
// genConfigs generates a pair of configs that connect to each other.
|
// genConfigs generates a pair of configs that connect to each other.
|
||||||
// The configs use distinct, probably-usable ports.
|
// The configs use distinct, probably-usable ports.
|
||||||
func genConfigs(tb testing.TB) (cfgs [2]string, endpointCfgs [2]string) {
|
func genConfigs(tb testing.TB) (cfgs, endpointCfgs [2]string) {
|
||||||
var key1, key2 NoisePrivateKey
|
var key1, key2 NoisePrivateKey
|
||||||
_, err := rand.Read(key1[:])
|
_, err := rand.Read(key1[:])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -20,7 +20,7 @@ type KDFTest struct {
|
|||||||
t2 string
|
t2 string
|
||||||
}
|
}
|
||||||
|
|
||||||
func assertEquals(t *testing.T, a string, b string) {
|
func assertEquals(t *testing.T, a, b string) {
|
||||||
if a != b {
|
if a != b {
|
||||||
t.Fatal("expected", a, "=", b)
|
t.Fatal("expected", a, "=", b)
|
||||||
}
|
}
|
||||||
|
@ -138,11 +138,11 @@ var (
|
|||||||
ZeroNonce [chacha20poly1305.NonceSize]byte
|
ZeroNonce [chacha20poly1305.NonceSize]byte
|
||||||
)
|
)
|
||||||
|
|
||||||
func mixKey(dst *[blake2s.Size]byte, c *[blake2s.Size]byte, data []byte) {
|
func mixKey(dst, c *[blake2s.Size]byte, data []byte) {
|
||||||
KDF1(dst, c[:], data)
|
KDF1(dst, c[:], data)
|
||||||
}
|
}
|
||||||
|
|
||||||
func mixHash(dst *[blake2s.Size]byte, h *[blake2s.Size]byte, data []byte) {
|
func mixHash(dst, h *[blake2s.Size]byte, data []byte) {
|
||||||
hash, _ := blake2s.New256(nil)
|
hash, _ := blake2s.New256(nil)
|
||||||
hash.Write(h[:])
|
hash.Write(h[:])
|
||||||
hash.Write(data)
|
hash.Write(data)
|
||||||
@ -175,7 +175,7 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (device *Device) CreateMessageInitiation(peer *Peer) (*MessageInitiation, error) {
|
func (device *Device) CreateMessageInitiation(peer *Peer) (*MessageInitiation, error) {
|
||||||
var errZeroECDHResult = errors.New("ECDH returned all zeros")
|
errZeroECDHResult := errors.New("ECDH returned all zeros")
|
||||||
|
|
||||||
device.staticIdentity.RLock()
|
device.staticIdentity.RLock()
|
||||||
defer device.staticIdentity.RUnlock()
|
defer device.staticIdentity.RUnlock()
|
||||||
@ -436,7 +436,6 @@ func (device *Device) ConsumeMessageResponse(msg *MessageResponse) *Peer {
|
|||||||
)
|
)
|
||||||
|
|
||||||
ok := func() bool {
|
ok := func() bool {
|
||||||
|
|
||||||
// lock handshake state
|
// lock handshake state
|
||||||
|
|
||||||
handshake.mutex.RLock()
|
handshake.mutex.RLock()
|
||||||
|
@ -226,7 +226,6 @@ func (device *Device) RoutineReadFromTUN() {
|
|||||||
|
|
||||||
offset := MessageTransportHeaderSize
|
offset := MessageTransportHeaderSize
|
||||||
size, err := device.tun.device.Read(elem.buffer[:], offset)
|
size, err := device.tun.device.Read(elem.buffer[:], offset)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if !device.isClosed() {
|
if !device.isClosed() {
|
||||||
if !errors.Is(err, os.ErrClosed) {
|
if !errors.Is(err, os.ErrClosed) {
|
||||||
|
@ -130,7 +130,6 @@ func expiredNewHandshake(peer *Peer) {
|
|||||||
}
|
}
|
||||||
peer.Unlock()
|
peer.Unlock()
|
||||||
peer.SendHandshakeInitiation(false)
|
peer.SendHandshakeInitiation(false)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func expiredZeroKeyMaterial(peer *Peer) {
|
func expiredZeroKeyMaterial(peer *Peer) {
|
||||||
|
@ -73,7 +73,6 @@ func (device *Device) IpcGetOperation(w io.Writer) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func() {
|
func() {
|
||||||
|
|
||||||
// lock required resources
|
// lock required resources
|
||||||
|
|
||||||
device.net.RLock()
|
device.net.RLock()
|
||||||
|
@ -22,8 +22,10 @@ import (
|
|||||||
|
|
||||||
type timeoutChan chan struct{}
|
type timeoutChan chan struct{}
|
||||||
|
|
||||||
var ioInitOnce sync.Once
|
var (
|
||||||
var ioCompletionPort windows.Handle
|
ioInitOnce sync.Once
|
||||||
|
ioCompletionPort windows.Handle
|
||||||
|
)
|
||||||
|
|
||||||
// ioResult contains the result of an asynchronous IO operation
|
// ioResult contains the result of an asynchronous IO operation
|
||||||
type ioResult struct {
|
type ioResult struct {
|
||||||
|
@ -169,7 +169,7 @@ func TestDialAccessDeniedWithRestrictedSD(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func getConnection(cfg *namedpipe.ListenConfig) (client net.Conn, server net.Conn, err error) {
|
func getConnection(cfg *namedpipe.ListenConfig) (client, server net.Conn, err error) {
|
||||||
pipePath := randomPipePath()
|
pipePath := randomPipePath()
|
||||||
if cfg == nil {
|
if cfg == nil {
|
||||||
cfg = &namedpipe.ListenConfig{}
|
cfg = &namedpipe.ListenConfig{}
|
||||||
|
@ -54,7 +54,6 @@ func (l *UAPIListener) Addr() net.Addr {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func UAPIListen(name string, file *os.File) (net.Listener, error) {
|
func UAPIListen(name string, file *os.File) (net.Listener, error) {
|
||||||
|
|
||||||
// wrap file in listener
|
// wrap file in listener
|
||||||
|
|
||||||
listener, err := net.FileListener(file)
|
listener, err := net.FileListener(file)
|
||||||
|
@ -51,7 +51,6 @@ func (l *UAPIListener) Addr() net.Addr {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func UAPIListen(name string, file *os.File) (net.Listener, error) {
|
func UAPIListen(name string, file *os.File) (net.Listener, error) {
|
||||||
|
|
||||||
// wrap file in listener
|
// wrap file in listener
|
||||||
|
|
||||||
listener, err := net.FileListener(file)
|
listener, err := net.FileListener(file)
|
||||||
|
@ -33,7 +33,7 @@ func sockPath(iface string) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func UAPIOpen(name string) (*os.File, error) {
|
func UAPIOpen(name string) (*os.File, error) {
|
||||||
if err := os.MkdirAll(socketDirectory, 0755); err != nil {
|
if err := os.MkdirAll(socketDirectory, 0o755); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,7 +43,7 @@ func UAPIOpen(name string) (*os.File, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
oldUmask := unix.Umask(0077)
|
oldUmask := unix.Umask(0o077)
|
||||||
defer unix.Umask(oldUmask)
|
defer unix.Umask(oldUmask)
|
||||||
|
|
||||||
listener, err := net.ListenUnix("unix", addr)
|
listener, err := net.ListenUnix("unix", addr)
|
||||||
|
1
main.go
1
main.go
@ -169,7 +169,6 @@ func main() {
|
|||||||
|
|
||||||
return os.NewFile(uintptr(fd), ""), nil
|
return os.NewFile(uintptr(fd), ""), nil
|
||||||
}()
|
}()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("UAPI listen error: %v", err)
|
logger.Errorf("UAPI listen error: %v", err)
|
||||||
os.Exit(ExitSetupFailed)
|
os.Exit(ExitSetupFailed)
|
||||||
|
@ -34,7 +34,7 @@ func (f *Filter) Reset() {
|
|||||||
|
|
||||||
// ValidateCounter checks if the counter should be accepted.
|
// ValidateCounter checks if the counter should be accepted.
|
||||||
// Overlimit counters (>= limit) are always rejected.
|
// Overlimit counters (>= limit) are always rejected.
|
||||||
func (f *Filter) ValidateCounter(counter uint64, limit uint64) bool {
|
func (f *Filter) ValidateCounter(counter, limit uint64) bool {
|
||||||
if counter >= limit {
|
if counter >= limit {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
package rwcancel
|
package rwcancel
|
||||||
|
|
||||||
type RWCancel struct {
|
type RWCancel struct{}
|
||||||
}
|
|
||||||
|
|
||||||
func (*RWCancel) Cancel() {}
|
func (*RWCancel) Cancel() {}
|
||||||
|
@ -11,9 +11,11 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
const TimestampSize = 12
|
const (
|
||||||
const base = uint64(0x400000000000000a)
|
TimestampSize = 12
|
||||||
const whitenerMask = uint32(0x1000000 - 1)
|
base = uint64(0x400000000000000a)
|
||||||
|
whitenerMask = uint32(0x1000000 - 1)
|
||||||
|
)
|
||||||
|
|
||||||
type Timestamp [TimestampSize]byte
|
type Timestamp [TimestampSize]byte
|
||||||
|
|
||||||
|
@ -42,8 +42,11 @@ type netTun struct {
|
|||||||
dnsServers []netip.Addr
|
dnsServers []netip.Addr
|
||||||
hasV4, hasV6 bool
|
hasV4, hasV6 bool
|
||||||
}
|
}
|
||||||
type endpoint netTun
|
|
||||||
type Net netTun
|
type (
|
||||||
|
endpoint netTun
|
||||||
|
Net netTun
|
||||||
|
)
|
||||||
|
|
||||||
func (e *endpoint) Attach(dispatcher stack.NetworkDispatcher) {
|
func (e *endpoint) Attach(dispatcher stack.NetworkDispatcher) {
|
||||||
e.dispatcher = dispatcher
|
e.dispatcher = dispatcher
|
||||||
|
@ -141,7 +141,7 @@ func CreateTUN(name string, mtu int) (Device, error) {
|
|||||||
if err == nil && name == "utun" {
|
if err == nil && name == "utun" {
|
||||||
fname := os.Getenv("WG_TUN_NAME_FILE")
|
fname := os.Getenv("WG_TUN_NAME_FILE")
|
||||||
if fname != "" {
|
if fname != "" {
|
||||||
os.WriteFile(fname, []byte(tun.(*NativeTun).name+"\n"), 0400)
|
os.WriteFile(fname, []byte(tun.(*NativeTun).name+"\n"), 0o400)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -232,7 +232,6 @@ func (tun *NativeTun) Read(buff []byte, offset int) (int, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (tun *NativeTun) Write(buff []byte, offset int) (int, error) {
|
func (tun *NativeTun) Write(buff []byte, offset int) (int, error) {
|
||||||
|
|
||||||
// reserve space for header
|
// reserve space for header
|
||||||
|
|
||||||
buff = buff[offset-4:]
|
buff = buff[offset-4:]
|
||||||
@ -282,7 +281,6 @@ func (tun *NativeTun) setMTU(n int) error {
|
|||||||
unix.SOCK_DGRAM,
|
unix.SOCK_DGRAM,
|
||||||
0,
|
0,
|
||||||
)
|
)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -306,7 +304,6 @@ func (tun *NativeTun) MTU() (int, error) {
|
|||||||
unix.SOCK_DGRAM,
|
unix.SOCK_DGRAM,
|
||||||
0,
|
0,
|
||||||
)
|
)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
|
@ -232,7 +232,6 @@ func (tun *NativeTun) setMTU(n int) error {
|
|||||||
unix.SOCK_DGRAM,
|
unix.SOCK_DGRAM,
|
||||||
0,
|
0,
|
||||||
)
|
)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -269,7 +268,6 @@ func (tun *NativeTun) MTU() (int, error) {
|
|||||||
unix.SOCK_DGRAM,
|
unix.SOCK_DGRAM,
|
||||||
0,
|
0,
|
||||||
)
|
)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
|
@ -133,7 +133,7 @@ func CreateTUN(name string, mtu int) (Device, error) {
|
|||||||
if err == nil && name == "tun" {
|
if err == nil && name == "tun" {
|
||||||
fname := os.Getenv("WG_TUN_NAME_FILE")
|
fname := os.Getenv("WG_TUN_NAME_FILE")
|
||||||
if fname != "" {
|
if fname != "" {
|
||||||
os.WriteFile(fname, []byte(tun.(*NativeTun).name+"\n"), 0400)
|
os.WriteFile(fname, []byte(tun.(*NativeTun).name+"\n"), 0o400)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -219,7 +219,6 @@ func (tun *NativeTun) Read(buff []byte, offset int) (int, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (tun *NativeTun) Write(buff []byte, offset int) (int, error) {
|
func (tun *NativeTun) Write(buff []byte, offset int) (int, error) {
|
||||||
|
|
||||||
// reserve space for header
|
// reserve space for header
|
||||||
|
|
||||||
buff = buff[offset-4:]
|
buff = buff[offset-4:]
|
||||||
@ -274,7 +273,6 @@ func (tun *NativeTun) setMTU(n int) error {
|
|||||||
unix.SOCK_DGRAM,
|
unix.SOCK_DGRAM,
|
||||||
0,
|
0,
|
||||||
)
|
)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -309,7 +307,6 @@ func (tun *NativeTun) MTU() (int, error) {
|
|||||||
unix.SOCK_DGRAM,
|
unix.SOCK_DGRAM,
|
||||||
0,
|
0,
|
||||||
)
|
)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
|
@ -46,8 +46,10 @@ type NativeTun struct {
|
|||||||
forcedMTU int
|
forcedMTU int
|
||||||
}
|
}
|
||||||
|
|
||||||
var WintunTunnelType = "WireGuard"
|
var (
|
||||||
var WintunStaticRequestedGUID *windows.GUID
|
WintunTunnelType = "WireGuard"
|
||||||
|
WintunStaticRequestedGUID *windows.GUID
|
||||||
|
)
|
||||||
|
|
||||||
//go:linkname procyield runtime.procyield
|
//go:linkname procyield runtime.procyield
|
||||||
func procyield(cycles uint32)
|
func procyield(cycles uint32)
|
||||||
|
Loading…
Reference in New Issue
Block a user