Denial of service made easy



A slow death for the default configuration.

In a thought experiment that might not be historically accurate, but is close enough, you want to build a web server, so you program a socket-based server. A client connects, requests a file, you send the file, the client disconnects, and everyone is happy. The total transaction time is around 300 milliseconds. But you get a bug report that some guy’s web server keeps getting slower and slower until it eventually dies. What to do?