1
0
Fork 0

Made dialer configurable

logger
Ox Cart 2016-02-04 13:25:27 -06:00
parent b7e3cc6811
commit 0126026885
2 changed files with 9 additions and 2 deletions

View File

@ -153,8 +153,12 @@ func (s *Server) handleConnect(conn conn, req *Request) error {
}
// Attempt to connect
addr := net.TCPAddr{IP: req.realDestAddr.IP, Port: req.realDestAddr.Port}
target, err := net.DialTCP("tcp", nil, &addr)
addr := fmt.Sprintf("%v:%d", req.realDestAddr.IP, req.realDestAddr.Port)
dial := s.config.Dial
if dial == nil {
dial = net.Dial
}
target, err := dial("tcp", addr)
if err != nil {
msg := err.Error()
resp := hostUnreachable

View File

@ -43,6 +43,9 @@ type Config struct {
// Logger can be used to provide a custom log target.
// Defaults to stdout.
Logger *log.Logger
// Optional function for dialing out
Dial func(network, addr string) (net.Conn, error)
}
// Server is reponsible for accepting connections and handling