>On Fri, Aug 28, 2009 at 11:12:37PM +0100, Andrew Gabriel wrote: >> This is quite different from any of the existing inetd configuration >> parameters - inetd doesn't currently allow manipulation of socket >> configuration parameters. > >But maybe it should. There's a large variety of potentially useful >socket options to use, including IP_SEC_OPT (on listening sockets).
I concur. I wrote a prototype for the following setsockoptions: - SOL_SOCKET, SO_KEEPALIVE, Boolean - SOL_SOCKET, SO_RCVBUF, Integer - SOL_SOCKET, SO_SNDBUF, Integer - SOL_SOCKET, SO_ALLZONES, Boolean - SOL_SOCKET, SO_RECVUCRED, Boolean - SOL_SOCKET, SO_TIMESTAMP, Boolean - SOL_SOCKET, SO_REUSEADDR, Boolean (already implemented: fixed as true) - IPPROTO_IP, IP_RECVDSTADDR, Boolean - IPPROTO_IP, IP_RECVOPTS, Boolean - IPPROTO_IP, IP_RECVIF, Boolean - IPPROTO_IP, IP_RECVSLLA, Boolean - IPPROTO_IP, IP_RECVTTL, Boolean - IPPROTO_IPV6, IPV6_RECVPKTINFO, Boolean - IPPROTO_IPV6, IPV6_RECVTCLASS, Boolean - IPPROTO_IPV6, IPV6_RECVPATHMTU, Boolean - IPPROTO_IPV6, IPV6_RECVHOPLIMIT, Boolean - IPPROTO_IPV6, IPV6_RECVHOPOPTS, Boolean - IPPROTO_IPV6, IPV6_RECVDSTOPTS, Boolean - IPPROTO_IPV6, IPV6_RECVRTHDR, Boolean - IPPROTO_IPV6, IPV6_RECVRTHDRDSTOPTS, Boolean - IPPROTO_IPV6, IPV6_V6ONLY, Boolean (already implemented) >As with all keepalives this is to... keep idle connections alive. And to detect broken connections. If the client goes away, the server wants to tear down the sessions. Casper