[Wifidog] Issues on Asynch servers

Alexandre Carmel-Veilleux saruman at northernhacking.org
Fri Mar 26 23:26:23 EST 2004


	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

	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.



-------------- next part --------------
Wifidog mailing list
Wifidog at isf.waglo.com

More information about the Wifidog mailing list