Skip to content

Commit

Permalink
Don't set the initial deadline if the upper wants to set it
Browse files Browse the repository at this point in the history
  • Loading branch information
NI committed Aug 19, 2019
1 parent 00c0e66 commit 3307662
Showing 1 changed file with 20 additions and 2 deletions.
22 changes: 20 additions & 2 deletions application/network/dial_socks5.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,30 @@ type socks5Conn struct {
initialReadDeadline time.Time
}

func (s *socks5Conn) SetDeadline(t time.Time) error {
s.initialReadDeadline = emptyTime

return s.Conn.SetDeadline(t)
}

func (s *socks5Conn) SetReadDeadline(t time.Time) error {
s.initialReadDeadline = emptyTime

return s.Conn.SetReadDeadline(t)
}

func (s *socks5Conn) SetWriteDeadline(t time.Time) error {
s.initialReadDeadline = emptyTime

return s.Conn.SetWriteDeadline(t)
}

func (s *socks5Conn) Read(b []byte) (int, error) {
if s.initialReadDeadline != emptyTime {
s.SetReadDeadline(s.initialReadDeadline)
s.Conn.SetReadDeadline(s.initialReadDeadline)
s.initialReadDeadline = emptyTime

defer s.SetReadDeadline(emptyTime)
defer s.Conn.SetReadDeadline(emptyTime)
}

rLen, rErr := s.Conn.Read(b)
Expand Down

0 comments on commit 3307662

Please sign in to comment.