Переглянути джерело

vendor: Update pfilter and go-stun (fixes #4561)

GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4575
Audrius Butkevicius 7 роки тому
батько
коміт
b9ed6c4c2c

+ 0 - 0
vendor/github.com/ccding/go-stun/stun/LICENSE → vendor/github.com/ccding/go-stun/LICENSE


+ 56 - 0
vendor/github.com/ccding/go-stun/main.go

@@ -0,0 +1,56 @@
+// Copyright 2013, Cong Ding. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// author: Cong Ding <[email protected]>
+
+package main
+
+import (
+	"flag"
+	"fmt"
+
+	"github.com/ccding/go-stun/stun"
+)
+
+func main() {
+	var serverAddr = flag.String("s", stun.DefaultServerAddr, "STUN server address")
+	var v = flag.Bool("v", false, "verbose mode")
+	var vv = flag.Bool("vv", false, "double verbose mode (includes -v)")
+	var vvv = flag.Bool("vvv", false, "triple verbose mode (includes -v and -vv)")
+	flag.Parse()
+
+	// Creates a STUN client. NewClientWithConnection can also be used if
+	// you want to handle the UDP listener by yourself.
+	client := stun.NewClient()
+	// The default addr (stun.DefaultServerAddr) will be used unless we
+	// call SetServerAddr.
+	client.SetServerAddr(*serverAddr)
+	// Non verbose mode will be used by default unless we call
+	// SetVerbose(true) or SetVVerbose(true).
+	client.SetVerbose(*v || *vv || *vvv)
+	client.SetVVerbose(*vv || *vvv)
+	// Discover the NAT and return the result.
+	nat, host, err := client.Discover()
+	if err != nil {
+		fmt.Println(err)
+		return
+	}
+
+	fmt.Println("NAT Type:", nat)
+	if host != nil {
+		fmt.Println("External IP Family:", host.Family())
+		fmt.Println("External IP:", host.IP())
+		fmt.Println("External Port:", host.Port())
+	}
+}

+ 11 - 7
vendor/github.com/ccding/go-stun/stun/const.go

@@ -41,20 +41,24 @@ const (
 	NATRestricted
 	NATPortRestricted
 	NATSymmetricUDPFirewall
+
+	// Deprecated spellings of these constants
+	NATSymetric            = NATSymmetric
+	NATSymetricUDPFirewall = NATSymmetricUDPFirewall
 )
 
 var natStr map[NATType]string
 
 func init() {
 	natStr = map[NATType]string{
-		NATError:               "Test failed",
-		NATUnknown:             "Unexpected response from the STUN server",
-		NATBlocked:             "UDP is blocked",
-		NATFull:                "Full cone NAT",
+		NATError:                "Test failed",
+		NATUnknown:              "Unexpected response from the STUN server",
+		NATBlocked:              "UDP is blocked",
+		NATFull:                 "Full cone NAT",
 		NATSymmetric:            "Symmetric NAT",
-		NATRestricted:          "Restricted NAT",
-		NATPortRestricted:      "Port restricted NAT",
-		NATNone:                "Not behind a NAT",
+		NATRestricted:           "Restricted NAT",
+		NATPortRestricted:       "Port restricted NAT",
+		NATNone:                 "Not behind a NAT",
 		NATSymmetricUDPFirewall: "Symmetric UDP firewall",
 	}
 }

+ 1 - 1
vendor/github.com/ccding/go-stun/stun/net.go

@@ -78,7 +78,7 @@ func (c *Client) send(pkt *packet, conn net.PacketConn, addr net.Addr) (*respons
 			// Read from the port.
 			length, raddr, err := conn.ReadFrom(packetBytes)
 			if err != nil {
-				if err.(net.Error).Timeout() {
+				if nerr, ok := err.(net.Error); ok && nerr.Timeout() {
 					break
 				}
 				return nil, err

+ 3 - 4
vendor/manifest

@@ -58,12 +58,11 @@
 			"notests": true
 		},
 		{
-			"importpath": "github.com/ccding/go-stun/stun",
-			"repository": "https://github.com/calmh/go-stun",
+			"importpath": "github.com/ccding/go-stun",
+			"repository": "https://github.com/ccding/go-stun",
 			"vcs": "git",
-			"revision": "9d33469f1f20a1674659be94ac9ca94ab5f06f58",
+			"revision": "d9bbe8f8fa7bf7ed03e6cfc6a2796bb36139e1f4",
 			"branch": "master",
-			"path": "/stun",
 			"notests": true
 		},
 		{