浏览代码

bridge: fix command line flag handling

flag package expects flags in Argv[1:] and stops on non-flag arguments
but bridge was expecting the forwarding address in os.Argv[1]
Anthony Romano 9 年之前
父节点
当前提交
2e93c65c96
共有 1 个文件被更改,包括 4 次插入5 次删除
  1. 4 5
      tools/local-tester/bridge/bridge.go

+ 4 - 5
tools/local-tester/bridge/bridge.go

@@ -22,13 +22,12 @@ import (
 	"log"
 	"log"
 	"math/rand"
 	"math/rand"
 	"net"
 	"net"
-	"os"
 	"sync"
 	"sync"
 	"time"
 	"time"
 )
 )
 
 
 func bridge(conn net.Conn, remoteAddr string) {
 func bridge(conn net.Conn, remoteAddr string) {
-	outconn, err := net.Dial("tcp", os.Args[2])
+	outconn, err := net.Dial("tcp", flag.Args()[1])
 	if err != nil {
 	if err != nil {
 		log.Println("oops:", err)
 		log.Println("oops:", err)
 		return
 		return
@@ -45,7 +44,7 @@ func blackhole(conn net.Conn) {
 }
 }
 
 
 func readRemoteOnly(conn net.Conn, remoteAddr string) {
 func readRemoteOnly(conn net.Conn, remoteAddr string) {
-	outconn, err := net.Dial("tcp", os.Args[2])
+	outconn, err := net.Dial("tcp", flag.Args()[1])
 	if err != nil {
 	if err != nil {
 		log.Println("oops:", err)
 		log.Println("oops:", err)
 		return
 		return
@@ -55,7 +54,7 @@ func readRemoteOnly(conn net.Conn, remoteAddr string) {
 }
 }
 
 
 func writeRemoteOnly(conn net.Conn, remoteAddr string) {
 func writeRemoteOnly(conn net.Conn, remoteAddr string) {
-	outconn, err := net.Dial("tcp", os.Args[2])
+	outconn, err := net.Dial("tcp", flag.Args()[1])
 	if err != nil {
 	if err != nil {
 		log.Println("oops:", err)
 		log.Println("oops:", err)
 		return
 		return
@@ -79,7 +78,7 @@ func randCopy(conn net.Conn, outconn net.Conn) {
 }
 }
 
 
 func randomBlackhole(conn net.Conn, remoteAddr string) {
 func randomBlackhole(conn net.Conn, remoteAddr string) {
-	outconn, err := net.Dial("tcp", os.Args[2])
+	outconn, err := net.Dial("tcp", flag.Args()[1])
 	if err != nil {
 	if err != nil {
 		log.Println("oops:", err)
 		log.Println("oops:", err)
 		return
 		return