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]
This commit is contained in:
Anthony Romano 2016-05-13 01:04:26 -07:00
parent 4612e2d59a
commit 2e93c65c96

View File

@ -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