From be75c8e182e4addfe84509e76ad0e7f82ffcb062 Mon Sep 17 00:00:00 2001 From: "rui.zheng" Date: Wed, 25 Mar 2015 17:16:18 +0800 Subject: [PATCH] update --- gost.go | 11 ++++++----- socks5.go | 4 +++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/gost.go b/gost.go index fcf1124..bf5ffd5 100644 --- a/gost.go +++ b/gost.go @@ -341,7 +341,7 @@ func (g *Gost) srv(conn net.Conn) { func tunnelUdp(conn net.Conn, uconn *net.UDPConn, rawUdp bool) (err error) { rChan := make(chan error, 1) wChan := make(chan error, 1) - var raddr net.Addr + var raddr *net.UDPAddr go func() { for { @@ -357,7 +357,7 @@ func tunnelUdp(conn net.Conn, uconn *net.UDPConn, rawUdp bool) (err error) { continue } if rawUdp { - if _, err = uconn.WriteTo(up.Data, addr); err != nil { + if _, err = uconn.WriteToUDP(up.Data, addr); err != nil { log.Println(err) } log.Println("r", up) @@ -365,7 +365,8 @@ func tunnelUdp(conn net.Conn, uconn *net.UDPConn, rawUdp bool) (err error) { up.Rsv = 0 buf := &bytes.Buffer{} up.Write(buf) - if _, err := uconn.WriteTo(buf.Bytes(), raddr); err != nil { + log.Println(raddr, buf.Bytes()) + if _, err := uconn.WriteToUDP(buf.Bytes(), raddr); err != nil { log.Println(err) } log.Println("r", up) @@ -376,10 +377,10 @@ func tunnelUdp(conn net.Conn, uconn *net.UDPConn, rawUdp bool) (err error) { go func() { for { b := make([]byte, 65797) - n, addr, err := uconn.ReadFrom(b) + n, addr, err := uconn.ReadFromUDP(b) if err != nil { log.Println(err) - continue + return } raddr = addr diff --git a/socks5.go b/socks5.go index 050f19e..51f49db 100644 --- a/socks5.go +++ b/socks5.go @@ -1,12 +1,12 @@ package main import ( + "bytes" "encoding/binary" "errors" "fmt" "io" //"log" - "bytes" "net" ) @@ -94,7 +94,9 @@ func NewCmd(cmd uint8, atype uint8, addr string, port uint16) *Cmd { func ReadCmd(r io.Reader) (*Cmd, error) { b := make([]byte, 256) n, err := r.Read(b) + //log.Println(b[:n]) if err != nil { + //log.Println(err) return nil, err } if n < 10 {