]> Cypherpunks.ru repositories - govpn.git/blobdiff - tap_linux.go
Preparing move to modules
[govpn.git] / tap_linux.go
index 03a842f50dd72c748a064d2177afde0e587c256a..daa6bd50664d29e8705b32ae0c670b044626d4ca 100644 (file)
@@ -1,20 +1,23 @@
 // +build linux
 
 /*
-govpn -- high-performance secure virtual private network daemon
-Copyright (C) 2014 Sergey Matveev <stargrave@stargrave.org>
+GoVPN -- simple secure free software virtual private network daemon
+Copyright (C) 2014-2019 Sergey Matveev <stargrave@stargrave.org>
 */
 
-package main
+package govpn
 
 import (
-       "github.com/chon219/water"
+       "io"
+       "strings"
+
+       "github.com/bigeagle/water"
 )
 
-func NewTAP(string ifaceName) TAP {
-       iface, err := water.NewTAP(ifaceName)
-       if err != nil {
-               panic(err)
+func newTAPer(ifaceName string) (io.ReadWriter, error) {
+       if strings.HasPrefix(ifaceName, "tap") {
+               return water.NewTAP(ifaceName)
+       } else {
+               return water.NewTUN(ifaceName)
        }
-       return iface
 }