]> git.ipfire.org Git - thirdparty/wireguard-go.git/commitdiff
We can determine the interface name ourselves
authorJason A. Donenfeld <Jason@zx2c4.com>
Thu, 19 Apr 2018 13:54:33 +0000 (15:54 +0200)
committerJason A. Donenfeld <Jason@zx2c4.com>
Thu, 19 Apr 2018 14:00:20 +0000 (16:00 +0200)
main.go
tun_linux.go

diff --git a/main.go b/main.go
index b12bb09ba7e3150487871056268cb6dd4e450e38..7742eef04bd9421cbb5c3a4011de0709f754c4f3 100644 (file)
--- a/main.go
+++ b/main.go
@@ -90,7 +90,7 @@ func main() {
                }
 
                file := os.NewFile(uintptr(fd), "")
-               return CreateTUNFromFile(interfaceName, file)
+               return CreateTUNFromFile(file)
        }()
 
        if err != nil {
index 06b5af4f05c3f2f38ea952e9fe4149afe72d6d6f..ac9824f930c76326100e03e4cbd880c3a45db392 100644 (file)
@@ -308,18 +308,22 @@ func (tun *NativeTun) Close() error {
        return tun.fd.Close()
 }
 
-func CreateTUNFromFile(name string, fd *os.File) (TUNDevice, error) {
+func CreateTUNFromFile(fd *os.File) (TUNDevice, error) {
        device := &NativeTun{
                fd:     fd,
-               name:   name,
                events: make(chan TUNEvent, 5),
                errors: make(chan error, 5),
                nopi:   false,
        }
+       var err error
+
+       _, err = device.Name()
+       if err != nil {
+               return nil, err
+       }
 
        // start event listener
 
-       var err error
        device.index, err = getIFIndex(device.name)
        if err != nil {
                return nil, err