mirror of https://github.com/tailscale/tailscale/
This reverts commit dc78be12c5
.
pull/2373/head
parent
dc78be12c5
commit
254fc7885b
@ -1,80 +0,0 @@
|
|||||||
// Copyright (c) 2021 Tailscale Inc & AUTHORS All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build ignore
|
|
||||||
|
|
||||||
// Command udp_tester exists because all of these distros being tested don't
|
|
||||||
// have a consistent tool for doing UDP traffic. This is a very hacked up tool
|
|
||||||
// that does that UDP traffic so these tests can be done.
|
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"flag"
|
|
||||||
"fmt"
|
|
||||||
"io"
|
|
||||||
"log"
|
|
||||||
"net"
|
|
||||||
"os"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
client = flag.String("client", "", "host:port to connect to for sending UDP")
|
|
||||||
server = flag.String("server", "", "host:port to bind to for receiving UDP")
|
|
||||||
)
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
flag.Parse()
|
|
||||||
|
|
||||||
if *client == "" && *server == "" {
|
|
||||||
log.Fatal("specify -client or -server")
|
|
||||||
}
|
|
||||||
|
|
||||||
if *client != "" {
|
|
||||||
conn, err := net.Dial("udp", *client)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("can't dial %s: %v", *client, err)
|
|
||||||
}
|
|
||||||
log.Printf("dialed to %s", conn.RemoteAddr())
|
|
||||||
defer conn.Close()
|
|
||||||
|
|
||||||
buf := make([]byte, 1024)
|
|
||||||
n, err := os.Stdin.Read(buf)
|
|
||||||
if err != nil && err != io.EOF {
|
|
||||||
log.Fatalf("can't read from stdin: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
nn, err := conn.Write(buf[:n])
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("can't write to %s: %v", conn.RemoteAddr(), err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if n != nn {
|
|
||||||
log.Fatalf("wanted to write %d bytes, wrote %d bytes", n, nn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if *server != "" {
|
|
||||||
addr, err := net.ResolveUDPAddr("udp", *server)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("can't resolve %s: %v", *server, err)
|
|
||||||
}
|
|
||||||
ln, err := net.ListenUDP("udp", addr)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("can't listen %s: %v", *server, err)
|
|
||||||
}
|
|
||||||
defer ln.Close()
|
|
||||||
|
|
||||||
buf := make([]byte, 1024)
|
|
||||||
|
|
||||||
n, _, err := ln.ReadFromUDP(buf)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
if n == 0 {
|
|
||||||
log.Fatal("got nothing")
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Print(string(buf[:n]))
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue