[Wifidog] Issues on Asynch servers
Alexandre Carmel-Veilleux
saruman at northernhacking.org
Fri Mar 26 23:26:23 EST 2004
Hello,
Now that we've started discussing the fact that we need to find
a way to allow the gateway process to treat token validation requests
asynchronously, a few points need to be highlighted.
1) Even if the validation is not performed in the same
process space as the http server, the server will be in lockstep
with the validation anyway because it will require that
information to answer the client's request. We could have the
entire request being processed in the child sub-process if
libhttpd allows us to "end" the request without killing the
connection.
2) Because the server is inherently iterative, we will be
heavily affected by network based delays, among them the 30
seconds timeout that is standard on TCP connections when the
remote host is not available and ICMP Host Unreachable messages
are not sent back. There are many other such problems, DNS being
one of the most glaring one.
My personal suggestion for this problem is to modify libhttpd
only enough to take out the select loop from the equation and to allow
us to do the socket handling on our own. The amount of work required
to do this is fairly minimal.
The modifications to libhttpd if accompanied by a simple example
of a select-based web server and adequate documentation change would
then become and even better open source projects. I think everyone
would win from this.
The only other issue would become the token validation requests
being binding. I'm still not sure what's the best way to handle them
but I am leaning toward forking a sub-process and polling it for the
response with the select loop. This would allow us not to modify that
library also.
Cheers,
Alex
-------------- next part --------------
_______________________________________________
Wifidog mailing list
Wifidog at isf.waglo.com
http://isf.waglo.com/mailman/listinfo/wifidog_isf.waglo.com
More information about the Wifidog
mailing list