Status of innbind and Solaris
rra at stanford.edu
Wed May 19 20:00:05 UTC 2004
Russ Allbery <rra at stanford.edu> writes:
> Cool, thanks, I'll grab this and take a look. This may be a much better
> solution, since I think file descriptor passing is fairly portable
> (Apache uses it, for instance). I hadn't even thought of that.
So, here's an interesting question:
File descriptor passing is very simple on systems that use streams, since
it's just an ioctl that you can use over a pipe. It's somewhat more
painful on systems without streams, since you then have to create a Unix
domain socket and use sendmsg/recvmsg (although that's not too bad on
systems that support socketpair).
However, I *think* that the reason why the initial implementation of
innbind didn't work on Solaris (and IRIX, among others) is because those
are streams-based rather than socket-based systems.
So there's a possibility that the set of systems that support streams is
exactly the set of systems that innbind won't work on right now, and all I
have to do is just use streams file descriptor passing when binding fails
with permission denied. That will just fail on systems that are neither
stream-based nor support binding in a setuid child process.
I'm inclined to go that route and then see if INN doesn't work anywhere
after I do that. Does anyone think it's likely to cause problems?
Russ Allbery (rra at stanford.edu) <http://www.eyrie.org/~eagle/>
Please send questions to the list rather than mailing me directly.
<http://www.eyrie.org/~eagle/faqs/questions.html> explains why.
More information about the inn-workers