Browse Source

populate default PlatformSpecificParams when it's empty (#43)

Song Gao 7 years ago
parent
commit
bf1a5d0277
3 changed files with 5 additions and 1 deletions
  1. 1 0
      .gitignore
  2. 3 0
      if.go
  3. 1 1
      syscalls_darwin.go

+ 1 - 0
.gitignore

@@ -0,0 +1 @@
+water.test

+ 3 - 0
if.go

@@ -53,6 +53,9 @@ func New(config Config) (ifce *Interface, err error) {
 	if zeroConfig == config {
 		config = defaultConfig()
 	}
+	if config.PlatformSpecificParams == zeroConfig.PlatformSpecificParams {
+		config.PlatformSpecificParams = defaultPlatformSpecificParams()
+	}
 	switch config.DeviceType {
 	case TUN:
 		return newTUN(config)

+ 1 - 1
syscalls_darwin.go

@@ -175,7 +175,7 @@ func (t *tunReadCloser) Write(from []byte) (int, error) {
 	} else if ipVer == 6 {
 		t.wBuf[3] = syscall.AF_INET6
 	} else {
-		return 0, errors.New("Unable to determine IP version from packet.")
+		return 0, errors.New("Unable to determine IP version from packet")
 	}
 
 	copy(t.wBuf[4:], from)