You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What steps will reproduce the problem?
http.ListenAndServer seems to be quite easy to DOS.
The following example:
package main
import (
"http"
"log"
"runtime"
)
func main() {
http.Handle("/", http.FileServer(".",""))
err := http.ListenAndServe(":12345", nil)
if err != nil {
log.Fatalln("ListenAndServe: ", err.String())
}
}
will eventually bail out and exit the http server with:
2011/05/27 00:29:51 ListenAndServe: accept tcp [::]:12345: too many open files
Can be produced by running this bash piece
for i in {0...20000} ; do nc localhost 12345 & done
http.Serve() likely needs to be more lenient on what errors it considers fatal on
accept(). (Note that on linux, fast detected client errors can also be returned from
accept() , such as ENETDOWN, EPROTO, ENOPROTOOPT, EHOSTDOWN, ENONET, EHOSTUNREACH,
EOPNOTSUPP, and ENETUNREACH)
Which compiler are you using (5g, 6g, 8g, gccgo)?
8g
Which operating system are you using?
Linux(Fedora 14)
Which revision are you using? (hg identify)
f1519be2d0e9 tip
The text was updated successfully, but these errors were encountered:
by binary@fiane.dyndns.org:
The text was updated successfully, but these errors were encountered: