Allows for running wireguard-go as non-root user
---
 tun/tun_openbsd.go | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/tun/tun_openbsd.go b/tun/tun_openbsd.go
index 1e6191f..bdca231 100644
--- a/tun/tun_openbsd.go
+++ b/tun/tun_openbsd.go
@@ -173,12 +173,21 @@ func CreateTUNFromFile(file *os.File, mtu int) (Device, 
error) {
 
        go tun.routineRouteListener(tunIfindex)
 
-       err = tun.setMTU(mtu)
+       var cur_mtu int
+       cur_mtu, err = tun.MTU()
        if err != nil {
                tun.Close()
                return nil, err
        }
 
+       if cur_mtu != mtu {
+               err = tun.setMTU(mtu)
+               if err != nil {
+                       tun.Close()
+                       return nil, err
+               }
+       }
+
        return tun, nil
 }
 
-- 
2.21.0

_______________________________________________
WireGuard mailing list
[email protected]
https://lists.zx2c4.com/mailman/listinfo/wireguard

Reply via email to