@@ -214,29 +214,22 @@ func (proxy *Proxy) exchangeWithUDPServer(serverInfo *ServerInfo, sharedKey *[32
214214}
215215
216216func (proxy * Proxy ) exchangeWithTCPServer (serverInfo * ServerInfo , sharedKey * [32 ]byte , encryptedQuery []byte , clientNonce []byte ) ([]byte , error ) {
217+ var err error
218+ var pc net.Conn
217219 proxyDialer := proxy .xTransport .proxyDialer
218- var pc * net.Conn
219220 if proxyDialer == nil {
220- pcx , err := net .DialTCP ("tcp" , nil , serverInfo .TCPAddr )
221- if err != nil {
222- return nil , err
223- }
224- pc = interface {}(pcx ).(* net.Conn )
221+ pc , err = net .Dial ("tcp" , serverInfo .TCPAddr .String ())
225222 } else {
226- pcx , err := (* proxyDialer ).Dial ("tcp" , serverInfo .TCPAddr .String ())
227- if err != nil {
228- return nil , err
229- }
230- pc = & pcx
223+ pc , err = (* proxyDialer ).Dial ("tcp" , serverInfo .TCPAddr .String ())
231224 }
232- ( * pc ) .SetDeadline (time .Now ().Add (serverInfo .Timeout ))
233- encryptedQuery , err : = PrefixWithSize (encryptedQuery )
225+ pc .SetDeadline (time .Now ().Add (serverInfo .Timeout ))
226+ encryptedQuery , err = PrefixWithSize (encryptedQuery )
234227 if err != nil {
235228 return nil , err
236229 }
237- ( * pc ) .Write (encryptedQuery )
238- encryptedResponse , err := ReadPrefixed (pc )
239- ( * pc ) .Close ()
230+ pc .Write (encryptedQuery )
231+ encryptedResponse , err := ReadPrefixed (& pc )
232+ pc .Close ()
240233 return proxy .Decrypt (serverInfo , sharedKey , encryptedResponse , clientNonce )
241234}
242235
0 commit comments