> > I'm not saying that the implementation is broken; just that 
> its possible to
> > cause descriptor starvation in a Kannel HTTP server 
> relatively easily using
> > a Kannel HTTP client.
> 
> Paul, can you provide us a szenario how we can reproduce that
> behaviour? Maybe a shell script or something similiar?
> 

The scenario was a stress test of the PPG using the test_ppg PI tool.
I ran it with -t 5 -c 10000 (5 threads, 10000 requests). The PPG was
on a high end Solaris box, the test_ppg on a low end Linux. The PPG
starts to fail with

2002-06-19 21:44:34 [6] ERROR: HTTP: Error accepting a client.
2002-06-19 21:44:34 [6] ERROR: System error 24: Too many open files

type errors. I concluded that this was from descriptor exhaustion and
started to look at how the HTTP server code handles the descriptors
(see previous emails on this topic).

The two use cases here are clients with Kannel and non-Kannel HTTP
client libraries. Regardless, it should'nt really be possible for any
client to induce resource shortage in a server either accidently or as
a deliberate denial-of-service attack. 

Maybe a watcher function inside the HTTP server code to monitor the number of
active HTTPClient instances against a configured limit is the answer. 


Reply via email to