mirror of
https://github.com/status-im/consul.git
synced 2025-01-10 22:06:20 +00:00
Patch dns vendor code for picking up a TCP DOS attack bugfix (#3861)
This commit is contained in:
parent
3bc98a39e7
commit
b1c487f286
23
vendor/github.com/miekg/dns/server.go
generated
vendored
23
vendor/github.com/miekg/dns/server.go
generated
vendored
@ -477,13 +477,6 @@ func (srv *Server) serveTCP(l net.Listener) error {
|
||||
// deadline is not used here
|
||||
for {
|
||||
rw, err := l.Accept()
|
||||
if err != nil {
|
||||
if neterr, ok := err.(net.Error); ok && neterr.Temporary() {
|
||||
continue
|
||||
}
|
||||
return err
|
||||
}
|
||||
m, err := reader.ReadTCP(rw, rtimeout)
|
||||
srv.lock.RLock()
|
||||
if !srv.started {
|
||||
srv.lock.RUnlock()
|
||||
@ -491,10 +484,20 @@ func (srv *Server) serveTCP(l net.Listener) error {
|
||||
}
|
||||
srv.lock.RUnlock()
|
||||
if err != nil {
|
||||
continue
|
||||
if neterr, ok := err.(net.Error); ok && neterr.Temporary() {
|
||||
continue
|
||||
}
|
||||
return err
|
||||
}
|
||||
srv.inFlight.Add(1)
|
||||
go srv.serve(rw.RemoteAddr(), handler, m, nil, nil, rw)
|
||||
go func() {
|
||||
m, err := reader.ReadTCP(rw, rtimeout)
|
||||
if err != nil {
|
||||
rw.Close()
|
||||
return
|
||||
}
|
||||
srv.serve(rw.RemoteAddr(), handler, m, nil, nil, rw)
|
||||
}()
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user