1
0
Fork 0

Merge pull request #8 from getlantern/master

Made dialer configurable
logger
Armon Dadgar 2016-02-05 17:12:22 -08:00
commit 8a8737ba34
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 := (&net.TCPAddr{IP: req.realDestAddr.IP, Port: req.realDestAddr.Port}).String()
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