// +build linux
/*
-govpn -- Simple 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-2020 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
}