summaryrefslogtreecommitdiffhomepage
path: root/tunnel/tools/libwg-go
diff options
context:
space:
mode:
authorMikael Magnusson <mikma@users.sourceforge.net>2022-02-19 10:10:05 +0100
committerMikael Magnusson <mikma@users.sourceforge.net>2022-03-18 22:07:58 +0100
commit7a1d26354e521e329c8940265be00303b36810e4 (patch)
tree45458417976391c5cb78aeb4a2092c7d5d8db40a /tunnel/tools/libwg-go
parent00653537dbf45bb4ab8375459f0cd428314594c2 (diff)
WIP nat + conntrack logger
Diffstat (limited to 'tunnel/tools/libwg-go')
-rw-r--r--tunnel/tools/libwg-go/api-android.go4
-rw-r--r--tunnel/tools/libwg-go/conntrack.go5
-rw-r--r--tunnel/tools/libwg-go/nat-tun.go5
3 files changed, 10 insertions, 4 deletions
diff --git a/tunnel/tools/libwg-go/api-android.go b/tunnel/tools/libwg-go/api-android.go
index 2dc5f53b..9dca58ca 100644
--- a/tunnel/tools/libwg-go/api-android.go
+++ b/tunnel/tools/libwg-go/api-android.go
@@ -82,10 +82,10 @@ func wgTurnOn(interfaceName string, tunFd int32, settings string) int32 {
nativeTun, name, err := CreateUnmonitoredTUNFromFD(int(tunFd))
- ct := NewConntrack()
+ ct := NewConntrack(logger)
service.http_proxy.SetConntrack(ct)
- tun, err := NewNatTun(nativeTun, ct)
+ tun, err := NewNatTun(nativeTun, ct, logger)
if err != nil {
unix.Close(int(tunFd))
logger.Errorf("CreateUnmonitoredTUNFromFD: %v", err)
diff --git a/tunnel/tools/libwg-go/conntrack.go b/tunnel/tools/libwg-go/conntrack.go
index 788b1b80..17289a6f 100644
--- a/tunnel/tools/libwg-go/conntrack.go
+++ b/tunnel/tools/libwg-go/conntrack.go
@@ -4,6 +4,7 @@ import (
"sync"
"golang.zx2c4.com/go118/netip"
+ "golang.zx2c4.com/wireguard/device"
)
type connection struct {
@@ -21,12 +22,14 @@ func Connection(src, dst netip.AddrPort) connection {
type Conntrack struct {
connections map[connection]connection
connectionsMutex sync.RWMutex
+ l *device.Logger
}
-func NewConntrack() *Conntrack {
+func NewConntrack(logger *device.Logger) *Conntrack {
return &Conntrack{
connections: make(map[connection]connection),
connectionsMutex: sync.RWMutex{},
+ l: logger,
}
}
diff --git a/tunnel/tools/libwg-go/nat-tun.go b/tunnel/tools/libwg-go/nat-tun.go
index 529921d3..75181ba0 100644
--- a/tunnel/tools/libwg-go/nat-tun.go
+++ b/tunnel/tools/libwg-go/nat-tun.go
@@ -14,6 +14,7 @@ import (
"golang.zx2c4.com/go118/netip"
+ "golang.zx2c4.com/wireguard/device"
"golang.zx2c4.com/wireguard/tun"
)
@@ -32,13 +33,15 @@ type natTun struct {
conntrack *Conntrack
tun tun.Device
translations []natEntry
+ l *device.Logger
}
-func NewNatTun(t tun.Device, ct *Conntrack) (dev *natTun, err error) {
+func NewNatTun(t tun.Device, ct *Conntrack, logger *device.Logger) (dev *natTun, err error) {
dev = &natTun{
conntrack: ct,
tun: t,
translations: make([]natEntry, 4),
+ l: logger,
}
err = nil